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.
- package/CHANGELOG.md +15 -0
- package/lib/commands/report.js +40 -0
- package/lib/instrumenters/istanbul.js +6 -12
- package/lib/instrumenters/noop.js +5 -5
- package/node_modules/arrify/package.json +1 -2
- package/node_modules/async/CHANGELOG.md +3 -0
- package/node_modules/async/package.json +11 -11
- package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
- package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +4 -1
- package/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js +3 -5
- package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +4 -1
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +3 -5
- package/node_modules/handlebars/dist/handlebars.amd.js +10 -9
- package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
- package/node_modules/handlebars/dist/handlebars.js +7 -6
- package/node_modules/handlebars/dist/handlebars.min.js +4 -4
- package/node_modules/handlebars/dist/handlebars.runtime.amd.js +3 -3
- package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
- package/node_modules/handlebars/dist/handlebars.runtime.js +2 -2
- package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
- package/node_modules/handlebars/lib/handlebars/base.js +1 -1
- package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +3 -0
- package/node_modules/handlebars/lib/handlebars/compiler/parser.js +9 -9
- package/node_modules/handlebars/lib/handlebars.d.ts +356 -0
- package/node_modules/handlebars/package.json +12 -11
- package/node_modules/handlebars/release-notes.md +38 -1
- package/node_modules/istanbul-reports/CHANGELOG.md +11 -0
- package/node_modules/istanbul-reports/package.json +12 -12
- package/node_modules/mem/index.js +5 -1
- package/node_modules/mem/package.json +14 -14
- package/node_modules/normalize-package-data/README.md +1 -1
- package/node_modules/normalize-package-data/lib/fixer.js +3 -2
- package/node_modules/normalize-package-data/package.json +13 -13
- package/node_modules/p-is-promise/index.d.ts +13 -0
- package/node_modules/p-is-promise/index.js +10 -6
- package/node_modules/p-is-promise/license +4 -16
- package/node_modules/p-is-promise/package.json +17 -18
- package/node_modules/p-is-promise/readme.md +1 -1
- package/node_modules/path-parse/.travis.yml +9 -0
- package/node_modules/{is-builtin-module/license → path-parse/LICENSE} +5 -5
- package/node_modules/path-parse/README.md +42 -0
- package/node_modules/path-parse/index.js +93 -0
- package/node_modules/path-parse/package.json +64 -0
- package/node_modules/path-parse/test.js +77 -0
- package/node_modules/resolve/.editorconfig +20 -0
- package/node_modules/resolve/.eslintignore +1 -0
- package/node_modules/resolve/.eslintrc +31 -0
- package/node_modules/resolve/.travis.yml +269 -0
- package/node_modules/resolve/CHANGELOG.md +629 -0
- package/node_modules/resolve/LICENSE +18 -0
- package/node_modules/resolve/appveyor.yml +47 -0
- package/node_modules/resolve/changelog.hbs +36 -0
- package/node_modules/resolve/example/async.js +5 -0
- package/node_modules/resolve/example/sync.js +3 -0
- package/node_modules/resolve/index.js +8 -0
- package/node_modules/resolve/lib/async.js +229 -0
- package/node_modules/resolve/lib/caller.js +8 -0
- package/node_modules/resolve/lib/core.js +53 -0
- package/node_modules/resolve/lib/core.json +73 -0
- package/node_modules/resolve/lib/node-modules-paths.js +42 -0
- package/node_modules/resolve/lib/normalize-options.js +10 -0
- package/node_modules/resolve/lib/sync.js +154 -0
- package/node_modules/resolve/package.json +77 -0
- package/node_modules/resolve/readme.markdown +179 -0
- package/node_modules/resolve/test/.eslintrc +5 -0
- package/node_modules/resolve/test/core.js +82 -0
- package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
- package/node_modules/resolve/test/dotdot/index.js +1 -0
- package/node_modules/resolve/test/dotdot.js +29 -0
- package/node_modules/resolve/test/faulty_basedir.js +29 -0
- package/node_modules/resolve/test/filter.js +34 -0
- package/node_modules/resolve/test/filter_sync.js +26 -0
- package/node_modules/resolve/test/mock.js +143 -0
- package/node_modules/resolve/test/mock_sync.js +67 -0
- package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
- package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
- package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
- package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
- package/node_modules/resolve/test/module_dir.js +56 -0
- package/node_modules/resolve/test/node-modules-paths.js +121 -0
- package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
- package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
- package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
- package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
- package/node_modules/resolve/test/node_path.js +70 -0
- package/node_modules/resolve/test/nonstring.js +9 -0
- package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
- package/node_modules/resolve/test/pathfilter.js +75 -0
- package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
- package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
- package/node_modules/resolve/test/precedence/aaa.js +1 -0
- package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
- package/node_modules/resolve/test/precedence/bbb.js +1 -0
- package/node_modules/resolve/test/precedence.js +23 -0
- package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- package/node_modules/resolve/test/resolver/baz/package.json +3 -0
- package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
- package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
- package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
- package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
- package/node_modules/resolve/test/resolver/cup.coffee +1 -0
- package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
- package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
- package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/foo.js +1 -0
- package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
- package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
- package/node_modules/resolve/test/resolver/mug.coffee +0 -0
- package/node_modules/resolve/test/resolver/mug.js +0 -0
- package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
- package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
- package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
- package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
- package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
- package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
- package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
- package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
- package/node_modules/resolve/test/resolver.js +429 -0
- package/node_modules/resolve/test/resolver_sync.js +340 -0
- package/node_modules/resolve/test/subdirs.js +13 -0
- package/node_modules/resolve/test/symlinks.js +56 -0
- package/package.json +3 -3
- package/node_modules/builtin-modules/builtin-modules.json +0 -35
- package/node_modules/builtin-modules/index.js +0 -10
- package/node_modules/builtin-modules/license +0 -21
- package/node_modules/builtin-modules/package.json +0 -75
- package/node_modules/builtin-modules/readme.md +0 -41
- package/node_modules/builtin-modules/static.js +0 -2
- package/node_modules/is-builtin-module/index.js +0 -10
- package/node_modules/is-builtin-module/package.json +0 -78
- 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,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
|
+
};
|