Files
wordle-solver-rs/nix/wordle-solver-wasm-pkg.nix
T

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;
};
};
}