51 lines
1.2 KiB
Nix
51 lines
1.2 KiB
Nix
{
|
|
perSystem = {
|
|
pkgs,
|
|
self',
|
|
...
|
|
}: let
|
|
drv = {
|
|
stdenvNoCC,
|
|
wasm-bindgen,
|
|
wordle-solver-wasm,
|
|
...
|
|
}: let
|
|
snake_name = "wordle_solver";
|
|
package-meta = {
|
|
name = "wordle-solver";
|
|
type = "module";
|
|
description = "module";
|
|
version = "0.1.0";
|
|
files = [
|
|
"${snake_name}_bg.wasm"
|
|
"${snake_name}.js"
|
|
"${snake_name}_bg.js"
|
|
"${snake_name}.d.ts"
|
|
];
|
|
main = "${snake_name}.js";
|
|
types = "${snake_name}.d.ts";
|
|
sideEffects = [
|
|
"./${snake_name}.js"
|
|
"./snippets/*"
|
|
];
|
|
};
|
|
package-json = builtins.toJSON package-meta;
|
|
in
|
|
stdenvNoCC.mkDerivation {
|
|
name = "wordle-solver-wasm-pkg";
|
|
nativeBuildInputs = [wasm-bindgen];
|
|
unpackPhase = "true";
|
|
buildPhase = ''
|
|
wasm-bindgen --target bundler --out-dir $out ${wordle-solver-wasm}/lib/wordle_solver.wasm
|
|
cat <<EOF > $out/package.json
|
|
${package-json}
|
|
EOF
|
|
'';
|
|
};
|
|
in {
|
|
packages.wordle-solver-wasm-pkg = pkgs.callPackage drv {
|
|
inherit (self'.packages) wordle-solver-wasm wasm-bindgen;
|
|
};
|
|
};
|
|
}
|