40 lines
907 B
Nix
40 lines
907 B
Nix
{
|
|
stdenvNoCC,
|
|
wasm-bindgen,
|
|
wordle-solver-wasm,
|
|
root-crate,
|
|
...
|
|
}: let
|
|
snake_name = "wordle_solver";
|
|
package-meta = {
|
|
name = "wordle-solver";
|
|
type = "module";
|
|
description = "module";
|
|
version = root-crate.build.crateVersion;
|
|
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
|
|
'';
|
|
}
|