acr-cli: init at 0.14 (#359508)
[NixPkgs.git] / pkgs / by-name / op / opcua-commander / package.nix
blobbe6a5569a99423cd0940d4c88179ace3a4396c29
1 { lib
2 , buildNpmPackage
3 , fetchFromGitHub
4 , typescript
5 , esbuild
6 , makeWrapper
7 , nodejs
8 }:
9 buildNpmPackage rec {
10   pname = "opcua-commander";
11   version = "0.39.0";
13   src = fetchFromGitHub {
14     owner = "node-opcua";
15     repo = "opcua-commander";
16     rev = version;
17     hash = "sha256-7KYwIdrhlvGR9RHZBfMFOcBa+opwx7Q/crCdvwZD6Y8=";
18   };
20   npmDepsHash = "sha256-g4WFLh+UnziQR2NZ4eL84Vrk+Mz99kFQiBkdGmBEMHE=";
21   nativeBuildInputs = [ esbuild typescript makeWrapper ];
23   postPatch = ''
24     substituteInPlace package.json \
25       --replace-warn "npx -y esbuild" "esbuild"
26   '';
28   # We need to add `nodejs` to PATH for `opcua-commander` to properly work
29   # when connected to an OPC-UA server.
30   # Test it with:
31   # ./opcua-commander -e opc.tcp://opcuademo.sterfive.com:26543
32   postFixup = ''
33     wrapProgram $out/bin/opcua-commander \
34       --prefix PATH : "${lib.makeBinPath [nodejs]}"
35   '';
37   meta = with lib; {
38     description = "Opcua client with blessed (ncurses)";
39     homepage = "https://github.com/node-opcua/opcua-commander";
40     license = licenses.mit;
41     maintainers = with maintainers; [ jonboh ];
42     mainProgram = "opcua-commander";
43   };