aboutsummaryrefslogtreecommitdiff
path: root/npmPackages/bootstrap.nix
blob: ea9ad5ac5a80a3f43c22eda333f7c1c9f3d60296 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{ pkgs }:

self: super:
  let
    _mkDummy = name: version: pkgs.runCommand "${name}-${version}-dummy" {} ''
      mkdir -p $out
      cat <<PKG > $out/package.json
        {
          "name": "${name}",
          "version": "${version}-dummy",
          "description": "A dummy package to ease bootstrapping",
          "main": "index.js",
          "license": "PUBLIC DOMAIN",
          "files": ["index.js"]
        }
      PKG

      cat <<SRC > $out/index.js
      SRC
    '';

    inherit (import ./lib.nix) dontCheck;
    inherit (super) callPackage;

    # XXX dummy package are to help bootstrapping.
    # XXX Usually these are devDependencies needed to run tests.

    _dummy_ava = _mkDummy "ava" "2.4.0";
    _dummy_chalk = _mkDummy "chalk" "2.4.2";
    _dummy_covert = _mkDummy "covert" "1.1.1";
    _dummy_mock-fs = _mkDummy "mock-fs" "4.10.1";
    _dummy_svg-term-cli = _mkDummy "svg-term-cli" "2.1.1";
    _dummy_tap = _mkDummy "tap" "14.6.5";
    _dummy_tape = _mkDummy "tape" "4.11.0";
    _dummy_xo = _mkDummy "xo" "0.25.3";

in rec {


  # XXX packages with underscore are "incomplete".
  # XXX Should only be used to resolve circular dependencies.

  _ansi-styles = dontCheck (callPackage ./ansi-styles {
    ava = _dummy_ava;
    color-convert = _color-convert;
    svg-term-cli = _dummy_svg-term-cli;
    xo = _dummy_xo;
  });

  _color-convert = dontCheck (callPackage ./color-convert {
    chalk = _dummy_chalk;
    xo = _dummy_xo;
  });

  _fs-realpath = dontCheck(callPackage ./fs.realpath {
    tap = _dummy_tap;
  });

  _minimist = dontCheck (callPackage ./minimist {
    covert = _dummy_covert;
    tap = _dummy_tap;
    tape = _dummy_tape;
  });

  _mkdirp = dontCheck (callPackage ./mkdirp {
    minimist = _minimist;
    mock-fs = _dummy_mock-fs;
    tap = _dummy_tap;
  });

  _semver = dontCheck (callPackage ./semver {
    tap = _dummy_tap;
  });

  _wrappy = dontCheck (callPackage ./wrappy {
    tap = _dummy_tap;
  });
}