{
lib,
stdenvNoCC,
bun,
nodejs,
makeWrapper,
}:
stdenvNoCC.mkDerivation {
pname = "svfe-pages";
version = "0-unstable";
src = lib.fileset.toSource {
root = ./.;
fileset = lib.fileset.fileFilter (file: file.hasExt "mjs") ./.;
};
nativeBuildInputs = [makeWrapper];
nativeCheckInputs = [nodejs];
doCheck = true;
checkPhase = ''
runHook preCheck
node --test
runHook postCheck
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/svfe-pages
cp *.mjs $out/lib/svfe-pages/
rm $out/lib/svfe-pages/*.test.mjs
makeWrapper ${lib.getExe bun} $out/bin/svfe-pages --add-flags $out/lib/svfe-pages/pages.mjs
runHook postInstall
'';
meta = {
description = "renders svfe's repo pages for a knot-static generation";
mainProgram = "svfe-pages";
};
}