run PDS on Node 22

This commit is contained in:
Anish Lakhwara
2026-08-18 19:36:13 -07:00
parent 4faea62689
commit e7793a6cef
+25 -1
View File
@@ -1 +1,25 @@
final: prev: { } final: prev: {
# PDS 0.4.5009 aborts in better-sqlite3 under Node 24. Node 22 satisfies
# PDS's Node 22+ requirement and keeps its native SQLite binding stable.
bluesky-pds = prev.bluesky-pds.overrideAttrs (old: {
nativeBuildInputs =
(builtins.filter (pkg: (pkg.pname or "") != "nodejs") old.nativeBuildInputs)
++ [ prev.nodejs_22 ];
buildPhase = ''
runHook preBuild
pushd ./node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3
npm run build-release --offline --nodedir="${prev.srcOnly prev.nodejs_22}"
find build -type f -exec remove-references-to -t "${prev.srcOnly prev.nodejs_22}" {} \;
popd
makeWrapper "${prev.nodejs_22}/bin/node" "$out/bin/pds" \
--add-flags --enable-source-maps \
--add-flags "$out/lib/pds/index.ts" \
--set-default NODE_ENV production
runHook postBuild
'';
});
}