50 lines
1020 B
Nix
50 lines
1020 B
Nix
{
|
|
perSystem = {
|
|
pkgs,
|
|
self',
|
|
...
|
|
}: let
|
|
drv = {
|
|
stdenv,
|
|
fetchYarnDeps,
|
|
yarnConfigHook,
|
|
yarnBuildHook,
|
|
nodejs,
|
|
wordle-solver-wasm-pkg,
|
|
}:
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "wordle-solver-web";
|
|
version = "0.1.0";
|
|
|
|
src = ../web;
|
|
|
|
yarnOfflineCache = fetchYarnDeps {
|
|
yarnLock = finalAttrs.src + "/yarn.lock";
|
|
hash = "sha256-MTyHX2+/U7jRB1SJWbK9Td43zq+nclQwx7oDZbX0DqA=";
|
|
};
|
|
|
|
yarnBuildScript = "build-no-wasm";
|
|
|
|
postPatch = ''
|
|
ln -s ${wordle-solver-wasm-pkg} pkg
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir $out
|
|
mv dist/* $out/
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
yarnConfigHook
|
|
yarnBuildHook
|
|
# Needed for executing package.json scripts
|
|
nodejs
|
|
];
|
|
});
|
|
in {
|
|
packages.wordle-solver-web = pkgs.callPackage drv {
|
|
inherit (self'.packages) wordle-solver-wasm-pkg;
|
|
};
|
|
};
|
|
}
|