pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / by-name / bl / blade-formatter / package.nix
blob7aa9b1345fe6a20ddcb382e5f064a9a967ba64ed
2   stdenvNoCC,
3   lib,
4   fetchFromGitHub,
5   fetchYarnDeps,
6   yarnConfigHook,
7   yarnBuildHook,
8   yarnInstallHook,
9   nodejs,
10   nix-update-script,
11   testers,
12   writeText,
13   runCommand,
14   blade-formatter,
17 stdenvNoCC.mkDerivation (finalAttrs: {
18   pname = "blade-formatter";
19   version = "1.41.1";
21   src = fetchFromGitHub {
22     owner = "shufo";
23     repo = "blade-formatter";
24     rev = "v${finalAttrs.version}";
25     hash = "sha256-iaWpIa+H+ocAXGc042PfmCu9UcJZeso9ripWB2/1oTs=";
26   };
28   yarnOfflineCache = fetchYarnDeps {
29     yarnLock = finalAttrs.src + "/yarn.lock";
30     hash = "sha256-zn0PgLIWk23EhYeOKF2RkpvLOusVrqoBazKcJpIAzm8=";
31   };
33   nativeBuildInputs = [
34     yarnConfigHook
35     yarnBuildHook
36     yarnInstallHook
37     nodejs
38   ];
40   passthru = {
41     updateScript = nix-update-script { };
42     tests = {
43       version = testers.testVersion {
44         package = blade-formatter;
45         command = "blade-formatter --version";
46       };
48       simple = testers.testEqualContents {
49         assertion = "blade-formatter formats a basic blade file";
50         expected = writeText "expected" ''
51           @if (true)
52               Hello world!
53           @endif
54         '';
55         actual =
56           runCommand "actual"
57             {
58               nativeBuildInputs = [ blade-formatter ];
59               base = writeText "base" ''
60                 @if(   true )  Hello world!   @endif
61               '';
62             }
63             ''
64               blade-formatter $base > $out
65             '';
66       };
67     };
68   };
70   meta = {
71     description = "Laravel Blade template formatter";
72     homepage = "https://github.com/shufo/blade-formatter";
73     license = lib.licenses.mit;
74     maintainers = with lib.maintainers; [ lelgenio ];
75     mainProgram = "blade-formatter";
76     inherit (nodejs.meta) platforms;
77   };