1{
2 lib,
3 buildNpmPackage,
4 fetchFromGitHub,
5}:
6
7buildNpmPackage rec {
8 pname = "copilot-node-server";
9 version = "1.41.0";
10
11 src = fetchFromGitHub {
12 owner = "jfcherng";
13 repo = "copilot-node-server";
14 rev = "v${version}";
15 hash = "sha256-yOqA2Xo4c7u0g6RQYt9joQk8mI9KE0xTAnLjln9atmg=";
16 };
17
18 npmDepsHash = "sha256-tbcNRQBbJjN1N5ENxCvPQbfteyxTbPpi35dYmeUc4A4=";
19
20 postPatch = ''
21 # Upstream doesn't provide any lock file so we provide our own:
22 cp ${./package-lock.json} package-lock.json
23 '';
24
25 preInstall = ''
26 # `npmInstallHook` requires a `node_modules/` folder but `npm
27 # install` doesn't generate one because the project has no
28 # dependencies:
29 mkdir node_modules/
30 '';
31
32 forceEmptyCache = true;
33 dontNpmBuild = true;
34
35 meta = {
36 description = "Copilot Node.js server";
37 homepage = src.meta.homepage;
38 license = lib.licenses.unfree; # I don't know: https://github.com/jfcherng/copilot-node-server/blob/main/LICENSE.md
39 maintainers = with lib.maintainers; [ DamienCassou ];
40 mainProgram = "copilot-node-server";
41 };
42}