base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / pr / protoc-gen-es / package.nix
blob1ed13325e6657ceefb344740bdf1c188151e642f
2   lib,
3   buildNpmPackage,
4   fetchFromGitHub,
5   npm-lockfile-fix,
6 }:
8 buildNpmPackage rec {
9   pname = "protoc-gen-es";
10   version = "2.2.2";
12   src = fetchFromGitHub {
13     owner = "bufbuild";
14     repo = "protobuf-es";
15     rev = "refs/tags/v${version}";
16     hash = "sha256-yeGPtSfxq9bNhWgLEbt6lT7B1CNEgJS0E9hxwHa/Lfw=";
18     postFetch = ''
19       ${lib.getExe npm-lockfile-fix} $out/package-lock.json
20     '';
21   };
23   npmDepsHash = "sha256-2PcpDF5ohPu92TkMjg2NyXAvPt+yZuAtLHYkGuE7TRo=";
25   npmWorkspace = "packages/protoc-gen-es";
27   preBuild = ''
28     npm run --workspace=packages/protobuf build
29     npm run --workspace=packages/protoplugin build
30   '';
32   # copy npm workspace modules while properly resolving symlinks
33   # TODO: workaround can be removed once this is merged: https://github.com/NixOS/nixpkgs/pull/333759
34   postInstall = ''
35     rm -rf $out/lib/node_modules/protobuf-es/node_modules/@bufbuild
36     cp -rL node_modules/@bufbuild $out/lib/node_modules/protobuf-es/node_modules/
37   '';
39   passthru.updateScript = ./update.sh;
41   meta = with lib; {
42     description = "Protobuf plugin for generating ECMAScript code";
43     homepage = "https://github.com/bufbuild/protobuf-es";
44     changelog = "https://github.com/bufbuild/protobuf-es/releases/tag/v${version}";
45     license = licenses.asl20;
46     maintainers = with maintainers; [
47       felschr
48       jtszalay
49     ];
50   };