remark42: switch to pnpm_9

pnpm_10 and later do not support the old lockfile format used by remark42.

A future version will be compatible with pnpm 10 at least: f5ccfaa0e1

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu
2026-07-07 12:15:00 +02:00
parent fe7a4f476d
commit 5f7a35a9b3

View File

@@ -3,14 +3,15 @@
stdenv,
fetchFromGitHub,
buildGoModule,
nodejs_22,
pnpm_8,
nodejs-slim_22,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
testers,
}:
let
pnpm = pnpm_9.override { nodejs-slim = nodejs-slim_22; };
version = "1.15.0";
src = fetchFromGitHub {
@@ -26,34 +27,49 @@ let
strictDeps = true;
pnpmRoot = "frontend";
sourceRoot = "${src.name}/frontend";
nativeBuildInputs = [
nodejs_22
pnpm_8
nodejs-slim_22
pnpm
pnpmConfigHook
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
sourceRoot = "${finalAttrs.src.name}/frontend";
pnpm = pnpm_8;
fetcherVersion = 3;
hash = "sha256-E2tUZXhcufuztXS+Z//uZk9omvaPrevNbGqVd41Lwhw=";
inherit (finalAttrs)
pname
version
src
sourceRoot
postPatch
;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-wFrMoSeD87H1yfMD0jBcw60DKDeh4yjka5aWyHuQssA=";
};
postPatch = ''
substituteInPlace "package.json" "apps/remark42/package.json" \
--replace-fail "pnpm@8.15.9" "pnpm@${pnpm.version}"
substituteInPlace "apps/remark42/package.json" \
--replace-fail '"pnpm": "8.*"' '"pnpm": "9.*"'
'';
buildPhase = ''
runHook preBuild
pushd "$pnpmRoot"
pnpm --filter ./apps/remark42 --fail-if-no-match run build
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/web
cp -r "$pnpmRoot/apps/remark42/public/." $out/web/
cp -r "apps/remark42/public/." $out/web/
runHook postInstall
'';
});