{ 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 < $out/package.json ${package-json} EOF ''; }; in { packages.wordle-solver-wasm-pkg = pkgs.callPackage drv { inherit (self'.packages) wordle-solver-wasm wasm-bindgen; }; }; }