nyc 13.2.0 → 13.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/commands/report.js +40 -0
  3. package/lib/instrumenters/istanbul.js +6 -12
  4. package/lib/instrumenters/noop.js +5 -5
  5. package/node_modules/arrify/package.json +1 -2
  6. package/node_modules/async/CHANGELOG.md +3 -0
  7. package/node_modules/async/package.json +11 -11
  8. package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
  9. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +4 -1
  10. package/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js +3 -5
  11. package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
  12. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +4 -1
  13. package/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +3 -5
  14. package/node_modules/handlebars/dist/handlebars.amd.js +10 -9
  15. package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
  16. package/node_modules/handlebars/dist/handlebars.js +7 -6
  17. package/node_modules/handlebars/dist/handlebars.min.js +4 -4
  18. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +3 -3
  19. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
  20. package/node_modules/handlebars/dist/handlebars.runtime.js +2 -2
  21. package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
  22. package/node_modules/handlebars/lib/handlebars/base.js +1 -1
  23. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +3 -0
  24. package/node_modules/handlebars/lib/handlebars/compiler/parser.js +9 -9
  25. package/node_modules/handlebars/lib/handlebars.d.ts +356 -0
  26. package/node_modules/handlebars/package.json +12 -11
  27. package/node_modules/handlebars/release-notes.md +38 -1
  28. package/node_modules/istanbul-reports/CHANGELOG.md +11 -0
  29. package/node_modules/istanbul-reports/package.json +12 -12
  30. package/node_modules/mem/index.js +5 -1
  31. package/node_modules/mem/package.json +14 -14
  32. package/node_modules/normalize-package-data/README.md +1 -1
  33. package/node_modules/normalize-package-data/lib/fixer.js +3 -2
  34. package/node_modules/normalize-package-data/package.json +13 -13
  35. package/node_modules/p-is-promise/index.d.ts +13 -0
  36. package/node_modules/p-is-promise/index.js +10 -6
  37. package/node_modules/p-is-promise/license +4 -16
  38. package/node_modules/p-is-promise/package.json +17 -18
  39. package/node_modules/p-is-promise/readme.md +1 -1
  40. package/node_modules/path-parse/.travis.yml +9 -0
  41. package/node_modules/{is-builtin-module/license → path-parse/LICENSE} +5 -5
  42. package/node_modules/path-parse/README.md +42 -0
  43. package/node_modules/path-parse/index.js +93 -0
  44. package/node_modules/path-parse/package.json +64 -0
  45. package/node_modules/path-parse/test.js +77 -0
  46. package/node_modules/resolve/.editorconfig +20 -0
  47. package/node_modules/resolve/.eslintignore +1 -0
  48. package/node_modules/resolve/.eslintrc +31 -0
  49. package/node_modules/resolve/.travis.yml +269 -0
  50. package/node_modules/resolve/CHANGELOG.md +629 -0
  51. package/node_modules/resolve/LICENSE +18 -0
  52. package/node_modules/resolve/appveyor.yml +47 -0
  53. package/node_modules/resolve/changelog.hbs +36 -0
  54. package/node_modules/resolve/example/async.js +5 -0
  55. package/node_modules/resolve/example/sync.js +3 -0
  56. package/node_modules/resolve/index.js +8 -0
  57. package/node_modules/resolve/lib/async.js +229 -0
  58. package/node_modules/resolve/lib/caller.js +8 -0
  59. package/node_modules/resolve/lib/core.js +53 -0
  60. package/node_modules/resolve/lib/core.json +73 -0
  61. package/node_modules/resolve/lib/node-modules-paths.js +42 -0
  62. package/node_modules/resolve/lib/normalize-options.js +10 -0
  63. package/node_modules/resolve/lib/sync.js +154 -0
  64. package/node_modules/resolve/package.json +77 -0
  65. package/node_modules/resolve/readme.markdown +179 -0
  66. package/node_modules/resolve/test/.eslintrc +5 -0
  67. package/node_modules/resolve/test/core.js +82 -0
  68. package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  69. package/node_modules/resolve/test/dotdot/index.js +1 -0
  70. package/node_modules/resolve/test/dotdot.js +29 -0
  71. package/node_modules/resolve/test/faulty_basedir.js +29 -0
  72. package/node_modules/resolve/test/filter.js +34 -0
  73. package/node_modules/resolve/test/filter_sync.js +26 -0
  74. package/node_modules/resolve/test/mock.js +143 -0
  75. package/node_modules/resolve/test/mock_sync.js +67 -0
  76. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  77. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  78. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  79. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  80. package/node_modules/resolve/test/module_dir.js +56 -0
  81. package/node_modules/resolve/test/node-modules-paths.js +121 -0
  82. package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  83. package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  84. package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  85. package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  86. package/node_modules/resolve/test/node_path.js +70 -0
  87. package/node_modules/resolve/test/nonstring.js +9 -0
  88. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  89. package/node_modules/resolve/test/pathfilter.js +75 -0
  90. package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  91. package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  92. package/node_modules/resolve/test/precedence/aaa.js +1 -0
  93. package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  94. package/node_modules/resolve/test/precedence/bbb.js +1 -0
  95. package/node_modules/resolve/test/precedence.js +23 -0
  96. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  97. package/node_modules/resolve/test/resolver/baz/package.json +3 -0
  98. package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  99. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  100. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  101. package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  102. package/node_modules/resolve/test/resolver/cup.coffee +1 -0
  103. package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  104. package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  105. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  106. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  107. package/node_modules/resolve/test/resolver/foo.js +1 -0
  108. package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  109. package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  110. package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  111. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  112. package/node_modules/resolve/test/resolver/mug.js +0 -0
  113. package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  114. package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  115. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  116. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  117. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  118. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  119. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  120. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  121. package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  122. package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  123. package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  124. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  125. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  126. package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  127. package/node_modules/resolve/test/resolver.js +429 -0
  128. package/node_modules/resolve/test/resolver_sync.js +340 -0
  129. package/node_modules/resolve/test/subdirs.js +13 -0
  130. package/node_modules/resolve/test/symlinks.js +56 -0
  131. package/package.json +3 -3
  132. package/node_modules/builtin-modules/builtin-modules.json +0 -35
  133. package/node_modules/builtin-modules/index.js +0 -10
  134. package/node_modules/builtin-modules/license +0 -21
  135. package/node_modules/builtin-modules/package.json +0 -75
  136. package/node_modules/builtin-modules/readme.md +0 -41
  137. package/node_modules/builtin-modules/static.js +0 -2
  138. package/node_modules/is-builtin-module/index.js +0 -10
  139. package/node_modules/is-builtin-module/package.json +0 -78
  140. package/node_modules/is-builtin-module/readme.md +0 -33
@@ -0,0 +1,47 @@
1
+ version: 1.0.{build}
2
+ skip_branch_with_pr: true
3
+ build: off
4
+
5
+ environment:
6
+ matrix:
7
+ - nodejs_version: "9"
8
+ - nodejs_version: "8"
9
+ - nodejs_version: "7"
10
+ - nodejs_version: "6"
11
+ - nodejs_version: "5"
12
+ - nodejs_version: "4"
13
+ - nodejs_version: "3"
14
+ - nodejs_version: "2"
15
+ - nodejs_version: "1"
16
+ - nodejs_version: "0.12"
17
+ - nodejs_version: "0.10"
18
+ - nodejs_version: "0.8"
19
+ - nodejs_version: "0.6"
20
+ matrix:
21
+ # fast_finish: true
22
+ allow_failures:
23
+ - nodejs_version: "0.8"
24
+ - nodejs_version: "0.6"
25
+
26
+ platform:
27
+ - x86
28
+ - x64
29
+
30
+ # Install scripts. (runs after repo cloning)
31
+ install:
32
+ # Get the latest stable version of Node.js or io.js
33
+ - ps: Install-Product node $env:nodejs_version $env:platform
34
+ - IF %nodejs_version% EQU 0.6 npm config set strict-ssl false && npm -g install npm@1.3
35
+ - IF %nodejs_version% EQU 0.8 npm config set strict-ssl false && npm -g install npm@1.4.28 && npm install -g npm@4.5
36
+ - set PATH=%APPDATA%\npm;%PATH%
37
+ #- IF %nodejs_version% NEQ 0.6 AND %nodejs_version% NEQ 0.8 npm -g install npm
38
+ # install modules
39
+ - npm install
40
+
41
+ # Post-install test scripts.
42
+ test_script:
43
+ # Output useful info for debugging.
44
+ - node --version
45
+ - npm --version
46
+ # run tests
47
+ - npm run tests-only
@@ -0,0 +1,36 @@
1
+ ### Changelog
2
+
3
+ All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
+ {{#each releases}}
5
+
6
+ {{#if href}}
7
+ ###{{#unless major}}#{{/unless}} [{{title}}]({{href}}){{#if tag}} - {{niceDate}}{{/if}}
8
+ {{else}}
9
+ #### {{title}}
10
+ {{/if}}
11
+
12
+ {{#if summary}}
13
+ Summary:
14
+ {{summary}}
15
+ {{/if}}
16
+
17
+ {{#each fixes}}
18
+ - {{{commit.subject}}} ({{#each fixes}}{{#if href}}[`#{{id}}`][]{{/if}}{{/each}})
19
+ {{/each}}
20
+ {{#each merges}}
21
+ - {{{message}}}{{#if href}} ([`#{{id}}`][]){{/if}}
22
+ {{/each}}
23
+ {{#each commits}}
24
+ - {{#if breaking}}**Breaking change:** {{/if}}{{{subject}}}{{#if href}} (([`{{shorthash}}`][]){{/if}}
25
+ {{/each}}
26
+
27
+ {{#each fixes}}
28
+ {{#if href}}[`#{{id}}`]: {{href}}{{/if}}
29
+ {{/each}}
30
+ {{#each merges}}
31
+ {{#if href}}[`#{{id}}`]: {{href}}{{/if}}
32
+ {{/each}}
33
+ {{#each commits}}
34
+ {{#if href}}[`{{shorthash}}`]: {{href}}{{/if}}
35
+ {{/each}}
36
+ {{/each}}
@@ -0,0 +1,5 @@
1
+ var resolve = require('../');
2
+ resolve('tap', { basedir: __dirname }, function (err, res) {
3
+ if (err) console.error(err);
4
+ else console.log(res);
5
+ });
@@ -0,0 +1,3 @@
1
+ var resolve = require('../');
2
+ var res = resolve.sync('tap', { basedir: __dirname });
3
+ console.log(res);
@@ -0,0 +1,8 @@
1
+ var core = require('./lib/core');
2
+ var async = require('./lib/async');
3
+ async.core = core;
4
+ async.isCore = function isCore(x) { return core[x]; };
5
+ async.sync = require('./lib/sync');
6
+
7
+ exports = async;
8
+ module.exports = async;
@@ -0,0 +1,229 @@
1
+ var core = require('./core');
2
+ var fs = require('fs');
3
+ var path = require('path');
4
+ var caller = require('./caller.js');
5
+ var nodeModulesPaths = require('./node-modules-paths.js');
6
+ var normalizeOptions = require('./normalize-options.js');
7
+
8
+ var defaultIsFile = function isFile(file, cb) {
9
+ fs.stat(file, function (err, stat) {
10
+ if (!err) {
11
+ return cb(null, stat.isFile() || stat.isFIFO());
12
+ }
13
+ if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
14
+ return cb(err);
15
+ });
16
+ };
17
+
18
+ module.exports = function resolve(x, options, callback) {
19
+ var cb = callback;
20
+ var opts = options;
21
+ if (typeof options === 'function') {
22
+ cb = opts;
23
+ opts = {};
24
+ }
25
+ if (typeof x !== 'string') {
26
+ var err = new TypeError('Path must be a string.');
27
+ return process.nextTick(function () {
28
+ cb(err);
29
+ });
30
+ }
31
+
32
+ opts = normalizeOptions(x, opts);
33
+
34
+ var isFile = opts.isFile || defaultIsFile;
35
+ var readFile = opts.readFile || fs.readFile;
36
+
37
+ var extensions = opts.extensions || ['.js'];
38
+ var basedir = opts.basedir || path.dirname(caller());
39
+ var parent = opts.filename || basedir;
40
+
41
+ opts.paths = opts.paths || [];
42
+
43
+ // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory
44
+ var absoluteStart = path.resolve(basedir);
45
+
46
+ if (opts.preserveSymlinks === false) {
47
+ fs.realpath(absoluteStart, function (realPathErr, realStart) {
48
+ if (realPathErr && realPathErr.code !== 'ENOENT') cb(err);
49
+ else init(realPathErr ? absoluteStart : realStart);
50
+ });
51
+ } else {
52
+ init(absoluteStart);
53
+ }
54
+
55
+ var res;
56
+ function init(basedir) {
57
+ if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) {
58
+ res = path.resolve(basedir, x);
59
+ if (x === '..' || x.slice(-1) === '/') res += '/';
60
+ if ((/\/$/).test(x) && res === basedir) {
61
+ loadAsDirectory(res, opts.package, onfile);
62
+ } else loadAsFile(res, opts.package, onfile);
63
+ } else loadNodeModules(x, basedir, function (err, n, pkg) {
64
+ if (err) cb(err);
65
+ else if (n) cb(null, n, pkg);
66
+ else if (core[x]) return cb(null, x);
67
+ else {
68
+ var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'");
69
+ moduleError.code = 'MODULE_NOT_FOUND';
70
+ cb(moduleError);
71
+ }
72
+ });
73
+ }
74
+
75
+ function onfile(err, m, pkg) {
76
+ if (err) cb(err);
77
+ else if (m) cb(null, m, pkg);
78
+ else loadAsDirectory(res, function (err, d, pkg) {
79
+ if (err) cb(err);
80
+ else if (d) cb(null, d, pkg);
81
+ else {
82
+ var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'");
83
+ moduleError.code = 'MODULE_NOT_FOUND';
84
+ cb(moduleError);
85
+ }
86
+ });
87
+ }
88
+
89
+ function loadAsFile(x, thePackage, callback) {
90
+ var loadAsFilePackage = thePackage;
91
+ var cb = callback;
92
+ if (typeof loadAsFilePackage === 'function') {
93
+ cb = loadAsFilePackage;
94
+ loadAsFilePackage = undefined;
95
+ }
96
+
97
+ var exts = [''].concat(extensions);
98
+ load(exts, x, loadAsFilePackage);
99
+
100
+ function load(exts, x, loadPackage) {
101
+ if (exts.length === 0) return cb(null, undefined, loadPackage);
102
+ var file = x + exts[0];
103
+
104
+ var pkg = loadPackage;
105
+ if (pkg) onpkg(null, pkg);
106
+ else loadpkg(path.dirname(file), onpkg);
107
+
108
+ function onpkg(err, pkg_, dir) {
109
+ pkg = pkg_;
110
+ if (err) return cb(err);
111
+ if (dir && pkg && opts.pathFilter) {
112
+ var rfile = path.relative(dir, file);
113
+ var rel = rfile.slice(0, rfile.length - exts[0].length);
114
+ var r = opts.pathFilter(pkg, x, rel);
115
+ if (r) return load(
116
+ [''].concat(extensions.slice()),
117
+ path.resolve(dir, r),
118
+ pkg
119
+ );
120
+ }
121
+ isFile(file, onex);
122
+ }
123
+ function onex(err, ex) {
124
+ if (err) return cb(err);
125
+ if (ex) return cb(null, file, pkg);
126
+ load(exts.slice(1), x, pkg);
127
+ }
128
+ }
129
+ }
130
+
131
+ function loadpkg(dir, cb) {
132
+ if (dir === '' || dir === '/') return cb(null);
133
+ if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
134
+ return cb(null);
135
+ }
136
+ if ((/[/\\]node_modules[/\\]*$/).test(dir)) return cb(null);
137
+
138
+ var pkgfile = path.join(dir, 'package.json');
139
+ isFile(pkgfile, function (err, ex) {
140
+ // on err, ex is false
141
+ if (!ex) return loadpkg(path.dirname(dir), cb);
142
+
143
+ readFile(pkgfile, function (err, body) {
144
+ if (err) cb(err);
145
+ try { var pkg = JSON.parse(body); } catch (jsonErr) {}
146
+
147
+ if (pkg && opts.packageFilter) {
148
+ pkg = opts.packageFilter(pkg, pkgfile);
149
+ }
150
+ cb(null, pkg, dir);
151
+ });
152
+ });
153
+ }
154
+
155
+ function loadAsDirectory(x, loadAsDirectoryPackage, callback) {
156
+ var cb = callback;
157
+ var fpkg = loadAsDirectoryPackage;
158
+ if (typeof fpkg === 'function') {
159
+ cb = fpkg;
160
+ fpkg = opts.package;
161
+ }
162
+
163
+ var pkgfile = path.join(x, 'package.json');
164
+ isFile(pkgfile, function (err, ex) {
165
+ if (err) return cb(err);
166
+ if (!ex) return loadAsFile(path.join(x, 'index'), fpkg, cb);
167
+
168
+ readFile(pkgfile, function (err, body) {
169
+ if (err) return cb(err);
170
+ try {
171
+ var pkg = JSON.parse(body);
172
+ } catch (jsonErr) {}
173
+
174
+ if (opts.packageFilter) {
175
+ pkg = opts.packageFilter(pkg, pkgfile);
176
+ }
177
+
178
+ if (pkg.main) {
179
+ if (typeof pkg.main !== 'string') {
180
+ var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');
181
+ mainError.code = 'INVALID_PACKAGE_MAIN';
182
+ return cb(mainError);
183
+ }
184
+ if (pkg.main === '.' || pkg.main === './') {
185
+ pkg.main = 'index';
186
+ }
187
+ loadAsFile(path.resolve(x, pkg.main), pkg, function (err, m, pkg) {
188
+ if (err) return cb(err);
189
+ if (m) return cb(null, m, pkg);
190
+ if (!pkg) return loadAsFile(path.join(x, 'index'), pkg, cb);
191
+
192
+ var dir = path.resolve(x, pkg.main);
193
+ loadAsDirectory(dir, pkg, function (err, n, pkg) {
194
+ if (err) return cb(err);
195
+ if (n) return cb(null, n, pkg);
196
+ loadAsFile(path.join(x, 'index'), pkg, cb);
197
+ });
198
+ });
199
+ return;
200
+ }
201
+
202
+ loadAsFile(path.join(x, '/index'), pkg, cb);
203
+ });
204
+ });
205
+ }
206
+
207
+ function processDirs(cb, dirs) {
208
+ if (dirs.length === 0) return cb(null, undefined);
209
+ var dir = dirs[0];
210
+
211
+ var file = path.join(dir, x);
212
+ loadAsFile(file, opts.package, onfile);
213
+
214
+ function onfile(err, m, pkg) {
215
+ if (err) return cb(err);
216
+ if (m) return cb(null, m, pkg);
217
+ loadAsDirectory(path.join(dir, x), opts.package, ondir);
218
+ }
219
+
220
+ function ondir(err, n, pkg) {
221
+ if (err) return cb(err);
222
+ if (n) return cb(null, n, pkg);
223
+ processDirs(cb, dirs.slice(1));
224
+ }
225
+ }
226
+ function loadNodeModules(x, start, cb) {
227
+ processDirs(cb, nodeModulesPaths(start, opts, x));
228
+ }
229
+ };
@@ -0,0 +1,8 @@
1
+ module.exports = function () {
2
+ // see https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
3
+ var origPrepareStackTrace = Error.prepareStackTrace;
4
+ Error.prepareStackTrace = function (_, stack) { return stack; };
5
+ var stack = (new Error()).stack;
6
+ Error.prepareStackTrace = origPrepareStackTrace;
7
+ return stack[2].getFileName();
8
+ };
@@ -0,0 +1,53 @@
1
+ var current = (process.versions && process.versions.node && process.versions.node.split('.')) || [];
2
+
3
+ function specifierIncluded(specifier) {
4
+ var parts = specifier.split(' ');
5
+ var op = parts.length > 1 ? parts[0] : '=';
6
+ var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');
7
+
8
+ for (var i = 0; i < 3; ++i) {
9
+ var cur = Number(current[i] || 0);
10
+ var ver = Number(versionParts[i] || 0);
11
+ if (cur === ver) {
12
+ continue; // eslint-disable-line no-restricted-syntax, no-continue
13
+ }
14
+ if (op === '<') {
15
+ return cur < ver;
16
+ } else if (op === '>=') {
17
+ return cur >= ver;
18
+ } else {
19
+ return false;
20
+ }
21
+ }
22
+ return op === '>=';
23
+ }
24
+
25
+ function matchesRange(range) {
26
+ var specifiers = range.split(/ ?&& ?/);
27
+ if (specifiers.length === 0) { return false; }
28
+ for (var i = 0; i < specifiers.length; ++i) {
29
+ if (!specifierIncluded(specifiers[i])) { return false; }
30
+ }
31
+ return true;
32
+ }
33
+
34
+ function versionIncluded(specifierValue) {
35
+ if (typeof specifierValue === 'boolean') { return specifierValue; }
36
+ if (specifierValue && typeof specifierValue === 'object') {
37
+ for (var i = 0; i < specifierValue.length; ++i) {
38
+ if (matchesRange(specifierValue[i])) { return true; }
39
+ }
40
+ return false;
41
+ }
42
+ return matchesRange(specifierValue);
43
+ }
44
+
45
+ var data = require('./core.json');
46
+
47
+ var core = {};
48
+ for (var mod in data) { // eslint-disable-line no-restricted-syntax
49
+ if (Object.prototype.hasOwnProperty.call(data, mod)) {
50
+ core[mod] = versionIncluded(data[mod]);
51
+ }
52
+ }
53
+ module.exports = core;
@@ -0,0 +1,73 @@
1
+ {
2
+ "assert": true,
3
+ "async_hooks": ">= 8",
4
+ "buffer_ieee754": "< 0.9.7",
5
+ "buffer": true,
6
+ "child_process": true,
7
+ "cluster": true,
8
+ "console": true,
9
+ "constants": true,
10
+ "crypto": true,
11
+ "_debugger": "< 8",
12
+ "dgram": true,
13
+ "dns": true,
14
+ "domain": true,
15
+ "events": true,
16
+ "freelist": "< 6",
17
+ "fs": true,
18
+ "fs/promises": ">= 10 && < 10.1",
19
+ "_http_agent": ">= 0.11.1",
20
+ "_http_client": ">= 0.11.1",
21
+ "_http_common": ">= 0.11.1",
22
+ "_http_incoming": ">= 0.11.1",
23
+ "_http_outgoing": ">= 0.11.1",
24
+ "_http_server": ">= 0.11.1",
25
+ "http": true,
26
+ "http2": ">= 8.8",
27
+ "https": true,
28
+ "inspector": ">= 8.0.0",
29
+ "_linklist": "< 8",
30
+ "module": true,
31
+ "net": true,
32
+ "node-inspect/lib/_inspect": ">= 7.6.0",
33
+ "node-inspect/lib/internal/inspect_client": ">= 7.6.0",
34
+ "node-inspect/lib/internal/inspect_repl": ">= 7.6.0",
35
+ "os": true,
36
+ "path": true,
37
+ "perf_hooks": ">= 8.5",
38
+ "process": ">= 1",
39
+ "punycode": true,
40
+ "querystring": true,
41
+ "readline": true,
42
+ "repl": true,
43
+ "smalloc": ">= 0.11.5 && < 3",
44
+ "_stream_duplex": ">= 0.9.4",
45
+ "_stream_transform": ">= 0.9.4",
46
+ "_stream_wrap": ">= 1.4.1",
47
+ "_stream_passthrough": ">= 0.9.4",
48
+ "_stream_readable": ">= 0.9.4",
49
+ "_stream_writable": ">= 0.9.4",
50
+ "stream": true,
51
+ "string_decoder": true,
52
+ "sys": true,
53
+ "timers": true,
54
+ "_tls_common": ">= 0.11.13",
55
+ "_tls_legacy": ">= 0.11.3 && < 10",
56
+ "_tls_wrap": ">= 0.11.3",
57
+ "tls": true,
58
+ "trace_events": ">= 10",
59
+ "tty": true,
60
+ "url": true,
61
+ "util": true,
62
+ "v8/tools/arguments": ">= 10",
63
+ "v8/tools/codemap": [">= 4.4.0 && < 5", ">= 5.2.0"],
64
+ "v8/tools/consarray": [">= 4.4.0 && < 5", ">= 5.2.0"],
65
+ "v8/tools/csvparser": [">= 4.4.0 && < 5", ">= 5.2.0"],
66
+ "v8/tools/logreader": [">= 4.4.0 && < 5", ">= 5.2.0"],
67
+ "v8/tools/profile_view": [">= 4.4.0 && < 5", ">= 5.2.0"],
68
+ "v8/tools/splaytree": [">= 4.4.0 && < 5", ">= 5.2.0"],
69
+ "v8": ">= 1",
70
+ "vm": true,
71
+ "worker_threads": ">= 11.7",
72
+ "zlib": true
73
+ }
@@ -0,0 +1,42 @@
1
+ var path = require('path');
2
+ var parse = path.parse || require('path-parse');
3
+
4
+ var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) {
5
+ var prefix = '/';
6
+ if ((/^([A-Za-z]:)/).test(absoluteStart)) {
7
+ prefix = '';
8
+ } else if ((/^\\\\/).test(absoluteStart)) {
9
+ prefix = '\\\\';
10
+ }
11
+
12
+ var paths = [absoluteStart];
13
+ var parsed = parse(absoluteStart);
14
+ while (parsed.dir !== paths[paths.length - 1]) {
15
+ paths.push(parsed.dir);
16
+ parsed = parse(parsed.dir);
17
+ }
18
+
19
+ return paths.reduce(function (dirs, aPath) {
20
+ return dirs.concat(modules.map(function (moduleDir) {
21
+ return path.join(prefix, aPath, moduleDir);
22
+ }));
23
+ }, []);
24
+ };
25
+
26
+ module.exports = function nodeModulesPaths(start, opts, request) {
27
+ var modules = opts && opts.moduleDirectory
28
+ ? [].concat(opts.moduleDirectory)
29
+ : ['node_modules'];
30
+
31
+ if (opts && typeof opts.paths === 'function') {
32
+ return opts.paths(
33
+ request,
34
+ start,
35
+ function () { return getNodeModulesDirs(start, modules); },
36
+ opts
37
+ );
38
+ }
39
+
40
+ var dirs = getNodeModulesDirs(start, modules);
41
+ return opts && opts.paths ? dirs.concat(opts.paths) : dirs;
42
+ };
@@ -0,0 +1,10 @@
1
+ module.exports = function (x, opts) {
2
+ /**
3
+ * This file is purposefully a passthrough. It's expected that third-party
4
+ * environments will override it at runtime in order to inject special logic
5
+ * into `resolve` (by manipulating the options). One such example is the PnP
6
+ * code path in Yarn.
7
+ */
8
+
9
+ return opts || {};
10
+ };
@@ -0,0 +1,154 @@
1
+ var core = require('./core');
2
+ var fs = require('fs');
3
+ var path = require('path');
4
+ var caller = require('./caller.js');
5
+ var nodeModulesPaths = require('./node-modules-paths.js');
6
+ var normalizeOptions = require('./normalize-options.js');
7
+
8
+ var defaultIsFile = function isFile(file) {
9
+ try {
10
+ var stat = fs.statSync(file);
11
+ } catch (e) {
12
+ if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
13
+ throw e;
14
+ }
15
+ return stat.isFile() || stat.isFIFO();
16
+ };
17
+
18
+ module.exports = function (x, options) {
19
+ if (typeof x !== 'string') {
20
+ throw new TypeError('Path must be a string.');
21
+ }
22
+ var opts = normalizeOptions(x, options);
23
+
24
+ var isFile = opts.isFile || defaultIsFile;
25
+ var readFileSync = opts.readFileSync || fs.readFileSync;
26
+
27
+ var extensions = opts.extensions || ['.js'];
28
+ var basedir = opts.basedir || path.dirname(caller());
29
+ var parent = opts.filename || basedir;
30
+
31
+ opts.paths = opts.paths || [];
32
+
33
+ // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory
34
+ var absoluteStart = path.resolve(basedir);
35
+
36
+ if (opts.preserveSymlinks === false) {
37
+ try {
38
+ absoluteStart = fs.realpathSync(absoluteStart);
39
+ } catch (realPathErr) {
40
+ if (realPathErr.code !== 'ENOENT') {
41
+ throw realPathErr;
42
+ }
43
+ }
44
+ }
45
+
46
+ if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) {
47
+ var res = path.resolve(absoluteStart, x);
48
+ if (x === '..' || x.slice(-1) === '/') res += '/';
49
+ var m = loadAsFileSync(res) || loadAsDirectorySync(res);
50
+ if (m) return m;
51
+ } else {
52
+ var n = loadNodeModulesSync(x, absoluteStart);
53
+ if (n) return n;
54
+ }
55
+
56
+ if (core[x]) return x;
57
+
58
+ var err = new Error("Cannot find module '" + x + "' from '" + parent + "'");
59
+ err.code = 'MODULE_NOT_FOUND';
60
+ throw err;
61
+
62
+ function loadAsFileSync(x) {
63
+ var pkg = loadpkg(path.dirname(x));
64
+
65
+ if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) {
66
+ var rfile = path.relative(pkg.dir, x);
67
+ var r = opts.pathFilter(pkg.pkg, x, rfile);
68
+ if (r) {
69
+ x = path.resolve(pkg.dir, r); // eslint-disable-line no-param-reassign
70
+ }
71
+ }
72
+
73
+ if (isFile(x)) {
74
+ return x;
75
+ }
76
+
77
+ for (var i = 0; i < extensions.length; i++) {
78
+ var file = x + extensions[i];
79
+ if (isFile(file)) {
80
+ return file;
81
+ }
82
+ }
83
+ }
84
+
85
+ function loadpkg(dir) {
86
+ if (dir === '' || dir === '/') return;
87
+ if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
88
+ return;
89
+ }
90
+ if ((/[/\\]node_modules[/\\]*$/).test(dir)) return;
91
+
92
+ var pkgfile = path.join(dir, 'package.json');
93
+
94
+ if (!isFile(pkgfile)) {
95
+ return loadpkg(path.dirname(dir));
96
+ }
97
+
98
+ var body = readFileSync(pkgfile);
99
+
100
+ try {
101
+ var pkg = JSON.parse(body);
102
+ } catch (jsonErr) {}
103
+
104
+ if (pkg && opts.packageFilter) {
105
+ pkg = opts.packageFilter(pkg, dir);
106
+ }
107
+
108
+ return { pkg: pkg, dir: dir };
109
+ }
110
+
111
+ function loadAsDirectorySync(x) {
112
+ var pkgfile = path.join(x, '/package.json');
113
+ if (isFile(pkgfile)) {
114
+ try {
115
+ var body = readFileSync(pkgfile, 'UTF8');
116
+ var pkg = JSON.parse(body);
117
+ } catch (e) {}
118
+
119
+ if (opts.packageFilter) {
120
+ pkg = opts.packageFilter(pkg, x);
121
+ }
122
+
123
+ if (pkg.main) {
124
+ if (typeof pkg.main !== 'string') {
125
+ var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');
126
+ mainError.code = 'INVALID_PACKAGE_MAIN';
127
+ throw mainError;
128
+ }
129
+ if (pkg.main === '.' || pkg.main === './') {
130
+ pkg.main = 'index';
131
+ }
132
+ try {
133
+ var m = loadAsFileSync(path.resolve(x, pkg.main));
134
+ if (m) return m;
135
+ var n = loadAsDirectorySync(path.resolve(x, pkg.main));
136
+ if (n) return n;
137
+ } catch (e) {}
138
+ }
139
+ }
140
+
141
+ return loadAsFileSync(path.join(x, '/index'));
142
+ }
143
+
144
+ function loadNodeModulesSync(x, start) {
145
+ var dirs = nodeModulesPaths(start, opts, x);
146
+ for (var i = 0; i < dirs.length; i++) {
147
+ var dir = dirs[i];
148
+ var m = loadAsFileSync(path.join(dir, '/', x));
149
+ if (m) return m;
150
+ var n = loadAsDirectorySync(path.join(dir, '/', x));
151
+ if (n) return n;
152
+ }
153
+ }
154
+ };