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,340 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var test = require('tape');
|
|
3
|
+
var resolve = require('../');
|
|
4
|
+
|
|
5
|
+
test('foo', function (t) {
|
|
6
|
+
var dir = path.join(__dirname, 'resolver');
|
|
7
|
+
|
|
8
|
+
t.equal(
|
|
9
|
+
resolve.sync('./foo', { basedir: dir }),
|
|
10
|
+
path.join(dir, 'foo.js')
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
t.equal(
|
|
14
|
+
resolve.sync('./foo.js', { basedir: dir }),
|
|
15
|
+
path.join(dir, 'foo.js')
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
t.equal(
|
|
19
|
+
resolve.sync('./foo.js', { basedir: dir, filename: path.join(dir, 'bar.js') }),
|
|
20
|
+
path.join(dir, 'foo.js')
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
t.throws(function () {
|
|
24
|
+
resolve.sync('foo', { basedir: dir });
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// Test that filename is reported as the "from" value when passed.
|
|
28
|
+
t.throws(
|
|
29
|
+
function () {
|
|
30
|
+
resolve.sync('foo', { basedir: dir, filename: path.join(dir, 'bar.js') });
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'Error',
|
|
34
|
+
message: "Cannot find module 'foo' from '" + path.join(dir, 'bar.js') + "'"
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
t.end();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
test('bar', function (t) {
|
|
42
|
+
var dir = path.join(__dirname, 'resolver');
|
|
43
|
+
|
|
44
|
+
t.equal(
|
|
45
|
+
resolve.sync('foo', { basedir: path.join(dir, 'bar') }),
|
|
46
|
+
path.join(dir, 'bar/node_modules/foo/index.js')
|
|
47
|
+
);
|
|
48
|
+
t.end();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
test('baz', function (t) {
|
|
52
|
+
var dir = path.join(__dirname, 'resolver');
|
|
53
|
+
|
|
54
|
+
t.equal(
|
|
55
|
+
resolve.sync('./baz', { basedir: dir }),
|
|
56
|
+
path.join(dir, 'baz/quux.js')
|
|
57
|
+
);
|
|
58
|
+
t.end();
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
test('biz', function (t) {
|
|
62
|
+
var dir = path.join(__dirname, 'resolver/biz/node_modules');
|
|
63
|
+
t.equal(
|
|
64
|
+
resolve.sync('./grux', { basedir: dir }),
|
|
65
|
+
path.join(dir, 'grux/index.js')
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
t.equal(
|
|
69
|
+
resolve.sync('tiv', { basedir: path.join(dir, 'grux') }),
|
|
70
|
+
path.join(dir, 'tiv/index.js')
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
t.equal(
|
|
74
|
+
resolve.sync('grux', { basedir: path.join(dir, 'tiv') }),
|
|
75
|
+
path.join(dir, 'grux/index.js')
|
|
76
|
+
);
|
|
77
|
+
t.end();
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test('normalize', function (t) {
|
|
81
|
+
var dir = path.join(__dirname, 'resolver/biz/node_modules/grux');
|
|
82
|
+
t.equal(
|
|
83
|
+
resolve.sync('../grux', { basedir: dir }),
|
|
84
|
+
path.join(dir, 'index.js')
|
|
85
|
+
);
|
|
86
|
+
t.end();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
test('cup', function (t) {
|
|
90
|
+
var dir = path.join(__dirname, 'resolver');
|
|
91
|
+
t.equal(
|
|
92
|
+
resolve.sync('./cup', {
|
|
93
|
+
basedir: dir,
|
|
94
|
+
extensions: ['.js', '.coffee']
|
|
95
|
+
}),
|
|
96
|
+
path.join(dir, 'cup.coffee')
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
t.equal(
|
|
100
|
+
resolve.sync('./cup.coffee', { basedir: dir }),
|
|
101
|
+
path.join(dir, 'cup.coffee')
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
t.throws(function () {
|
|
105
|
+
resolve.sync('./cup', {
|
|
106
|
+
basedir: dir,
|
|
107
|
+
extensions: ['.js']
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
t.end();
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
test('mug', function (t) {
|
|
115
|
+
var dir = path.join(__dirname, 'resolver');
|
|
116
|
+
t.equal(
|
|
117
|
+
resolve.sync('./mug', { basedir: dir }),
|
|
118
|
+
path.join(dir, 'mug.js')
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
t.equal(
|
|
122
|
+
resolve.sync('./mug', {
|
|
123
|
+
basedir: dir,
|
|
124
|
+
extensions: ['.coffee', '.js']
|
|
125
|
+
}),
|
|
126
|
+
path.join(dir, 'mug.coffee')
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
t.equal(
|
|
130
|
+
resolve.sync('./mug', {
|
|
131
|
+
basedir: dir,
|
|
132
|
+
extensions: ['.js', '.coffee']
|
|
133
|
+
}),
|
|
134
|
+
path.join(dir, 'mug.js')
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
t.end();
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
test('other path', function (t) {
|
|
141
|
+
var resolverDir = path.join(__dirname, 'resolver');
|
|
142
|
+
var dir = path.join(resolverDir, 'bar');
|
|
143
|
+
var otherDir = path.join(resolverDir, 'other_path');
|
|
144
|
+
|
|
145
|
+
t.equal(
|
|
146
|
+
resolve.sync('root', {
|
|
147
|
+
basedir: dir,
|
|
148
|
+
paths: [otherDir]
|
|
149
|
+
}),
|
|
150
|
+
path.join(resolverDir, 'other_path/root.js')
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
t.equal(
|
|
154
|
+
resolve.sync('lib/other-lib', {
|
|
155
|
+
basedir: dir,
|
|
156
|
+
paths: [otherDir]
|
|
157
|
+
}),
|
|
158
|
+
path.join(resolverDir, 'other_path/lib/other-lib.js')
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
t.throws(function () {
|
|
162
|
+
resolve.sync('root', { basedir: dir });
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
t.throws(function () {
|
|
166
|
+
resolve.sync('zzz', {
|
|
167
|
+
basedir: dir,
|
|
168
|
+
paths: [otherDir]
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
t.end();
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
test('incorrect main', function (t) {
|
|
176
|
+
var resolverDir = path.join(__dirname, 'resolver');
|
|
177
|
+
var dir = path.join(resolverDir, 'incorrect_main');
|
|
178
|
+
|
|
179
|
+
t.equal(
|
|
180
|
+
resolve.sync('./incorrect_main', { basedir: resolverDir }),
|
|
181
|
+
path.join(dir, 'index.js')
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
t.end();
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
test('#25: node modules with the same name as node stdlib modules', function (t) {
|
|
188
|
+
var resolverDir = path.join(__dirname, 'resolver/punycode');
|
|
189
|
+
|
|
190
|
+
t.equal(
|
|
191
|
+
resolve.sync('punycode', { basedir: resolverDir }),
|
|
192
|
+
path.join(resolverDir, 'node_modules/punycode/index.js')
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
t.end();
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
var stubStatSync = function stubStatSync(fn) {
|
|
199
|
+
var fs = require('fs');
|
|
200
|
+
var statSync = fs.statSync;
|
|
201
|
+
try {
|
|
202
|
+
fs.statSync = function () {
|
|
203
|
+
throw new EvalError('Unknown Error');
|
|
204
|
+
};
|
|
205
|
+
return fn();
|
|
206
|
+
} finally {
|
|
207
|
+
fs.statSync = statSync;
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
test('#79 - re-throw non ENOENT errors from stat', function (t) {
|
|
212
|
+
var dir = path.join(__dirname, 'resolver');
|
|
213
|
+
|
|
214
|
+
stubStatSync(function () {
|
|
215
|
+
t.throws(function () {
|
|
216
|
+
resolve.sync('foo', { basedir: dir });
|
|
217
|
+
}, /Unknown Error/);
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
t.end();
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) {
|
|
224
|
+
var dir = path.join(__dirname, 'resolver');
|
|
225
|
+
|
|
226
|
+
t.equal(
|
|
227
|
+
resolve.sync('./foo', { basedir: path.join(dir, 'same_names') }),
|
|
228
|
+
path.join(dir, 'same_names/foo.js')
|
|
229
|
+
);
|
|
230
|
+
t.equal(
|
|
231
|
+
resolve.sync('./foo/', { basedir: path.join(dir, 'same_names') }),
|
|
232
|
+
path.join(dir, 'same_names/foo/index.js')
|
|
233
|
+
);
|
|
234
|
+
t.end();
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
test('sync: #121 - treating an existing file as a dir when no basedir', function (t) {
|
|
238
|
+
var testFile = path.basename(__filename);
|
|
239
|
+
|
|
240
|
+
t.test('sanity check', function (st) {
|
|
241
|
+
st.equal(
|
|
242
|
+
resolve.sync('./' + testFile),
|
|
243
|
+
__filename,
|
|
244
|
+
'sanity check'
|
|
245
|
+
);
|
|
246
|
+
st.end();
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
t.test('with a fake directory', function (st) {
|
|
250
|
+
function run() { return resolve.sync('./' + testFile + '/blah'); }
|
|
251
|
+
|
|
252
|
+
st.throws(run, 'throws an error');
|
|
253
|
+
|
|
254
|
+
try {
|
|
255
|
+
run();
|
|
256
|
+
} catch (e) {
|
|
257
|
+
st.equal(e.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve');
|
|
258
|
+
st.equal(
|
|
259
|
+
e.message,
|
|
260
|
+
'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'',
|
|
261
|
+
'can not find nonexistent module'
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
st.end();
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
t.end();
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
test('sync dot main', function (t) {
|
|
272
|
+
var start = new Date();
|
|
273
|
+
t.equal(resolve.sync('./resolver/dot_main'), path.join(__dirname, 'resolver/dot_main/index.js'));
|
|
274
|
+
t.ok(new Date() - start < 50, 'resolve.sync timedout');
|
|
275
|
+
t.end();
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
test('sync dot slash main', function (t) {
|
|
279
|
+
var start = new Date();
|
|
280
|
+
t.equal(resolve.sync('./resolver/dot_slash_main'), path.join(__dirname, 'resolver/dot_slash_main/index.js'));
|
|
281
|
+
t.ok(new Date() - start < 50, 'resolve.sync timedout');
|
|
282
|
+
t.end();
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
test('not a directory', function (t) {
|
|
286
|
+
var path = './foo';
|
|
287
|
+
try {
|
|
288
|
+
resolve.sync(path, { basedir: __filename });
|
|
289
|
+
t.fail();
|
|
290
|
+
} catch (err) {
|
|
291
|
+
t.ok(err, 'a non-directory errors');
|
|
292
|
+
t.equal(err && err.message, 'Cannot find module \'' + path + "' from '" + __filename + "'");
|
|
293
|
+
t.equal(err && err.code, 'MODULE_NOT_FOUND');
|
|
294
|
+
}
|
|
295
|
+
t.end();
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
test('non-string "main" field in package.json', function (t) {
|
|
299
|
+
var dir = path.join(__dirname, 'resolver');
|
|
300
|
+
try {
|
|
301
|
+
var result = resolve.sync('./invalid_main', { basedir: dir });
|
|
302
|
+
t.equal(result, undefined, 'result should not exist');
|
|
303
|
+
t.fail('should not get here');
|
|
304
|
+
} catch (err) {
|
|
305
|
+
t.ok(err, 'errors on non-string main');
|
|
306
|
+
t.equal(err.message, 'package “invalid main” `main` must be a string');
|
|
307
|
+
t.equal(err.code, 'INVALID_PACKAGE_MAIN');
|
|
308
|
+
}
|
|
309
|
+
t.end();
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
test('non-string "main" field in package.json', function (t) {
|
|
313
|
+
var dir = path.join(__dirname, 'resolver');
|
|
314
|
+
try {
|
|
315
|
+
var result = resolve.sync('./invalid_main', { basedir: dir });
|
|
316
|
+
t.equal(result, undefined, 'result should not exist');
|
|
317
|
+
t.fail('should not get here');
|
|
318
|
+
} catch (err) {
|
|
319
|
+
t.ok(err, 'errors on non-string main');
|
|
320
|
+
t.equal(err.message, 'package “invalid main” `main` must be a string');
|
|
321
|
+
t.equal(err.code, 'INVALID_PACKAGE_MAIN');
|
|
322
|
+
}
|
|
323
|
+
t.end();
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
test('browser field in package.json', function (t) {
|
|
327
|
+
var dir = path.join(__dirname, 'resolver');
|
|
328
|
+
var res = resolve.sync('./browser_field', {
|
|
329
|
+
basedir: dir,
|
|
330
|
+
packageFilter: function packageFilter(pkg) {
|
|
331
|
+
if (pkg.browser) {
|
|
332
|
+
pkg.main = pkg.browser;
|
|
333
|
+
delete pkg.browser;
|
|
334
|
+
}
|
|
335
|
+
return pkg;
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
t.equal(res, path.join(dir, 'browser_field', 'b.js'));
|
|
339
|
+
t.end();
|
|
340
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var test = require('tape');
|
|
2
|
+
var resolve = require('../');
|
|
3
|
+
var path = require('path');
|
|
4
|
+
|
|
5
|
+
test('subdirs', function (t) {
|
|
6
|
+
t.plan(2);
|
|
7
|
+
|
|
8
|
+
var dir = path.join(__dirname, '/subdirs');
|
|
9
|
+
resolve('a/b/c/x.json', { basedir: dir }, function (err, res) {
|
|
10
|
+
t.ifError(err);
|
|
11
|
+
t.equal(res, path.join(dir, 'node_modules/a/b/c/x.json'));
|
|
12
|
+
});
|
|
13
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var fs = require('fs');
|
|
3
|
+
var test = require('tape');
|
|
4
|
+
var resolve = require('../');
|
|
5
|
+
|
|
6
|
+
var symlinkDir = path.join(__dirname, 'resolver', 'symlinked', 'symlink');
|
|
7
|
+
try {
|
|
8
|
+
fs.unlinkSync(symlinkDir);
|
|
9
|
+
} catch (err) {}
|
|
10
|
+
try {
|
|
11
|
+
fs.symlinkSync('./_/symlink_target', symlinkDir, 'dir');
|
|
12
|
+
} catch (err) {
|
|
13
|
+
// if fails then it is probably on Windows and lets try to create a junction
|
|
14
|
+
fs.symlinkSync(path.join(__dirname, 'resolver', 'symlinked', '_', 'symlink_target') + '\\', symlinkDir, 'junction');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
test('symlink', function (t) {
|
|
18
|
+
t.plan(2);
|
|
19
|
+
|
|
20
|
+
resolve('foo', { basedir: symlinkDir, preserveSymlinks: false }, function (err, res, pkg) {
|
|
21
|
+
t.error(err);
|
|
22
|
+
t.equal(res, path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js'));
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('sync symlink when preserveSymlinks = true', function (t) {
|
|
27
|
+
t.plan(4);
|
|
28
|
+
|
|
29
|
+
resolve('foo', { basedir: symlinkDir }, function (err, res, pkg) {
|
|
30
|
+
t.ok(err, 'there is an error');
|
|
31
|
+
t.notOk(res, 'no result');
|
|
32
|
+
|
|
33
|
+
t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve');
|
|
34
|
+
t.equal(
|
|
35
|
+
err && err.message,
|
|
36
|
+
'Cannot find module \'foo\' from \'' + symlinkDir + '\'',
|
|
37
|
+
'can not find nonexistent module'
|
|
38
|
+
);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('sync symlink', function (t) {
|
|
43
|
+
var start = new Date();
|
|
44
|
+
t.doesNotThrow(function () {
|
|
45
|
+
t.equal(resolve.sync('foo', { basedir: symlinkDir, preserveSymlinks: false }), path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js'));
|
|
46
|
+
});
|
|
47
|
+
t.ok(new Date() - start < 50, 'resolve.sync timedout');
|
|
48
|
+
t.end();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
test('sync symlink when preserveSymlinks = true', function (t) {
|
|
52
|
+
t.throws(function () {
|
|
53
|
+
resolve.sync('foo', { basedir: symlinkDir });
|
|
54
|
+
}, /Cannot find module 'foo'/);
|
|
55
|
+
t.end();
|
|
56
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nyc",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.3.0",
|
|
4
4
|
"description": "the Istanbul command line interface",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"glob": "^7.1.3",
|
|
84
84
|
"istanbul-lib-coverage": "^2.0.3",
|
|
85
85
|
"istanbul-lib-hook": "^2.0.3",
|
|
86
|
-
"istanbul-lib-instrument": "^3.0
|
|
86
|
+
"istanbul-lib-instrument": "^3.1.0",
|
|
87
87
|
"istanbul-lib-report": "^2.0.4",
|
|
88
88
|
"istanbul-lib-source-maps": "^3.0.2",
|
|
89
|
-
"istanbul-reports": "^2.1.
|
|
89
|
+
"istanbul-reports": "^2.1.1",
|
|
90
90
|
"make-dir": "^1.3.0",
|
|
91
91
|
"merge-source-map": "^1.1.0",
|
|
92
92
|
"resolve-from": "^4.0.0",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
"assert",
|
|
3
|
-
"buffer",
|
|
4
|
-
"child_process",
|
|
5
|
-
"cluster",
|
|
6
|
-
"console",
|
|
7
|
-
"constants",
|
|
8
|
-
"crypto",
|
|
9
|
-
"dgram",
|
|
10
|
-
"dns",
|
|
11
|
-
"domain",
|
|
12
|
-
"events",
|
|
13
|
-
"fs",
|
|
14
|
-
"http",
|
|
15
|
-
"https",
|
|
16
|
-
"module",
|
|
17
|
-
"net",
|
|
18
|
-
"os",
|
|
19
|
-
"path",
|
|
20
|
-
"process",
|
|
21
|
-
"punycode",
|
|
22
|
-
"querystring",
|
|
23
|
-
"readline",
|
|
24
|
-
"repl",
|
|
25
|
-
"stream",
|
|
26
|
-
"string_decoder",
|
|
27
|
-
"timers",
|
|
28
|
-
"tls",
|
|
29
|
-
"tty",
|
|
30
|
-
"url",
|
|
31
|
-
"util",
|
|
32
|
-
"v8",
|
|
33
|
-
"vm",
|
|
34
|
-
"zlib"
|
|
35
|
-
]
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_args": [
|
|
3
|
-
[
|
|
4
|
-
"builtin-modules@1.1.1",
|
|
5
|
-
"/usr/src/npm/nyc"
|
|
6
|
-
]
|
|
7
|
-
],
|
|
8
|
-
"_from": "builtin-modules@1.1.1",
|
|
9
|
-
"_id": "builtin-modules@1.1.1",
|
|
10
|
-
"_inBundle": false,
|
|
11
|
-
"_integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
|
12
|
-
"_location": "/builtin-modules",
|
|
13
|
-
"_phantomChildren": {},
|
|
14
|
-
"_requested": {
|
|
15
|
-
"type": "version",
|
|
16
|
-
"registry": true,
|
|
17
|
-
"raw": "builtin-modules@1.1.1",
|
|
18
|
-
"name": "builtin-modules",
|
|
19
|
-
"escapedName": "builtin-modules",
|
|
20
|
-
"rawSpec": "1.1.1",
|
|
21
|
-
"saveSpec": null,
|
|
22
|
-
"fetchSpec": "1.1.1"
|
|
23
|
-
},
|
|
24
|
-
"_requiredBy": [
|
|
25
|
-
"/is-builtin-module"
|
|
26
|
-
],
|
|
27
|
-
"_resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
|
|
28
|
-
"_spec": "1.1.1",
|
|
29
|
-
"_where": "/usr/src/npm/nyc",
|
|
30
|
-
"author": {
|
|
31
|
-
"name": "Sindre Sorhus",
|
|
32
|
-
"email": "sindresorhus@gmail.com",
|
|
33
|
-
"url": "sindresorhus.com"
|
|
34
|
-
},
|
|
35
|
-
"bugs": {
|
|
36
|
-
"url": "https://github.com/sindresorhus/builtin-modules/issues"
|
|
37
|
-
},
|
|
38
|
-
"description": "List of the Node.js builtin modules",
|
|
39
|
-
"devDependencies": {
|
|
40
|
-
"ava": "*",
|
|
41
|
-
"xo": "*"
|
|
42
|
-
},
|
|
43
|
-
"engines": {
|
|
44
|
-
"node": ">=0.10.0"
|
|
45
|
-
},
|
|
46
|
-
"files": [
|
|
47
|
-
"index.js",
|
|
48
|
-
"static.js",
|
|
49
|
-
"builtin-modules.json"
|
|
50
|
-
],
|
|
51
|
-
"homepage": "https://github.com/sindresorhus/builtin-modules#readme",
|
|
52
|
-
"keywords": [
|
|
53
|
-
"builtin",
|
|
54
|
-
"built-in",
|
|
55
|
-
"builtins",
|
|
56
|
-
"node",
|
|
57
|
-
"modules",
|
|
58
|
-
"core",
|
|
59
|
-
"bundled",
|
|
60
|
-
"list",
|
|
61
|
-
"array",
|
|
62
|
-
"names"
|
|
63
|
-
],
|
|
64
|
-
"license": "MIT",
|
|
65
|
-
"name": "builtin-modules",
|
|
66
|
-
"repository": {
|
|
67
|
-
"type": "git",
|
|
68
|
-
"url": "git+https://github.com/sindresorhus/builtin-modules.git"
|
|
69
|
-
},
|
|
70
|
-
"scripts": {
|
|
71
|
-
"make": "node make.js",
|
|
72
|
-
"test": "xo && ava"
|
|
73
|
-
},
|
|
74
|
-
"version": "1.1.1"
|
|
75
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# builtin-modules [](https://travis-ci.org/sindresorhus/builtin-modules)
|
|
2
|
-
|
|
3
|
-
> List of the Node.js builtin modules
|
|
4
|
-
|
|
5
|
-
The list is just a [JSON file](builtin-modules.json) and can be used wherever.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## Install
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
$ npm install --save builtin-modules
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
```js
|
|
18
|
-
var builtinModules = require('builtin-modules');
|
|
19
|
-
|
|
20
|
-
console.log(builinModules);
|
|
21
|
-
//=> ['assert', 'buffer', ...]
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
## API
|
|
26
|
-
|
|
27
|
-
Returns an array of builtin modules fetched from the running Node.js version.
|
|
28
|
-
|
|
29
|
-
### Static list
|
|
30
|
-
|
|
31
|
-
This module also comes bundled with a static array of builtin modules generated from the latest Node.js version. You can get it with `require('builtin-modules/static');`
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Related
|
|
35
|
-
|
|
36
|
-
- [is-builtin-module](https://github.com/sindresorhus/is-builtin-module) - Check if a string matches the name of a Node.js builtin module
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
## License
|
|
40
|
-
|
|
41
|
-
MIT © [Sindre Sorhus](http://sindresorhus.com)
|