linuxPackages_latest.broadcom_sta: add patch to compile on Kernel 6.12 (#359484)
[NixPkgs.git] / pkgs / by-name / ug / uglify-js / package.nix
blobb664a63046ba95ecef8c21fb2f604d5123f1312f
2   lib,
3   buildNpmPackage,
4   fetchFromGitHub,
5   testers,
6   runCommand,
7   writeText,
8   uglify-js,
9 }:
11 buildNpmPackage rec {
12   pname = "uglify-js";
13   version = "3.19.3";
15   src = fetchFromGitHub {
16     owner = "mishoo";
17     repo = "UglifyJS";
18     rev = "v${version}";
19     hash = "sha256-sMLQSB1+ux/ya/J22KGojlAxWhtPQdk22KdHy43zdyg=";
20   };
22   npmDepsHash = "sha256-/Xb8DT7vSzZPEd+Z+z1BlFnrOeOwGP+nGv2K9iz6lKI=";
24   postPatch = ''
25     cp ${./package-lock.json} package-lock.json
26   '';
28   dontNpmBuild = true;
30   passthru = {
31     updateScript = ./update.sh;
32     tests = {
33       version = testers.testVersion { package = uglify-js; };
35       simple = testers.testEqualContents {
36         assertion = "uglify-js minifies a basic js file";
37         expected = writeText "expected" ''
38           console.log(1);
39         '';
40         actual =
41           runCommand "actual"
42             {
43               nativeBuildInputs = [ uglify-js ];
44               base = writeText "base" ''
45                 console . log  ( ( 1 ) ) ;
46               '';
47             }
48             ''
49               uglifyjs $base > $out
50             '';
51       };
52     };
53   };
55   meta = {
56     homepage = "https://github.com/mishoo/UglifyJS";
57     changelog = "https://github.com/mishoo/UglifyJS/releases/tag/v" + version;
58     description = "JavaScript parser / mangler / compressor / beautifier toolkit";
59     mainProgram = "uglifyjs";
60     license = lib.licenses.bsd2;
61     maintainers = with lib.maintainers; [ lelgenio ];
62   };