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 @@
|
|
|
1
|
+
module.exports = function (n) { return n * 111; };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var test = require('tape');
|
|
3
|
+
var resolve = require('../');
|
|
4
|
+
|
|
5
|
+
test('moduleDirectory strings', function (t) {
|
|
6
|
+
t.plan(4);
|
|
7
|
+
var dir = path.join(__dirname, 'module_dir');
|
|
8
|
+
var xopts = {
|
|
9
|
+
basedir: dir,
|
|
10
|
+
moduleDirectory: 'xmodules'
|
|
11
|
+
};
|
|
12
|
+
resolve('aaa', xopts, function (err, res, pkg) {
|
|
13
|
+
t.ifError(err);
|
|
14
|
+
t.equal(res, path.join(dir, '/xmodules/aaa/index.js'));
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
var yopts = {
|
|
18
|
+
basedir: dir,
|
|
19
|
+
moduleDirectory: 'ymodules'
|
|
20
|
+
};
|
|
21
|
+
resolve('aaa', yopts, function (err, res, pkg) {
|
|
22
|
+
t.ifError(err);
|
|
23
|
+
t.equal(res, path.join(dir, '/ymodules/aaa/index.js'));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('moduleDirectory array', function (t) {
|
|
28
|
+
t.plan(6);
|
|
29
|
+
var dir = path.join(__dirname, 'module_dir');
|
|
30
|
+
var aopts = {
|
|
31
|
+
basedir: dir,
|
|
32
|
+
moduleDirectory: ['xmodules', 'ymodules', 'zmodules']
|
|
33
|
+
};
|
|
34
|
+
resolve('aaa', aopts, function (err, res, pkg) {
|
|
35
|
+
t.ifError(err);
|
|
36
|
+
t.equal(res, path.join(dir, '/xmodules/aaa/index.js'));
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
var bopts = {
|
|
40
|
+
basedir: dir,
|
|
41
|
+
moduleDirectory: ['zmodules', 'ymodules', 'xmodules']
|
|
42
|
+
};
|
|
43
|
+
resolve('aaa', bopts, function (err, res, pkg) {
|
|
44
|
+
t.ifError(err);
|
|
45
|
+
t.equal(res, path.join(dir, '/ymodules/aaa/index.js'));
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
var copts = {
|
|
49
|
+
basedir: dir,
|
|
50
|
+
moduleDirectory: ['xmodules', 'ymodules', 'zmodules']
|
|
51
|
+
};
|
|
52
|
+
resolve('bbb', copts, function (err, res, pkg) {
|
|
53
|
+
t.ifError(err);
|
|
54
|
+
t.equal(res, path.join(dir, '/zmodules/bbb/main.js'));
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
var test = require('tape');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var parse = path.parse || require('path-parse');
|
|
4
|
+
var keys = require('object-keys');
|
|
5
|
+
|
|
6
|
+
var nodeModulesPaths = require('../lib/node-modules-paths');
|
|
7
|
+
|
|
8
|
+
var verifyDirs = function verifyDirs(t, start, dirs, moduleDirectories, paths) {
|
|
9
|
+
var moduleDirs = [].concat(moduleDirectories || 'node_modules');
|
|
10
|
+
if (paths) {
|
|
11
|
+
for (var k = 0; k < paths.length; ++k) {
|
|
12
|
+
moduleDirs.push(path.basename(paths[k]));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var foundModuleDirs = {};
|
|
17
|
+
var uniqueDirs = {};
|
|
18
|
+
var parsedDirs = {};
|
|
19
|
+
for (var i = 0; i < dirs.length; ++i) {
|
|
20
|
+
var parsed = parse(dirs[i]);
|
|
21
|
+
if (!foundModuleDirs[parsed.base]) { foundModuleDirs[parsed.base] = 0; }
|
|
22
|
+
foundModuleDirs[parsed.base] += 1;
|
|
23
|
+
parsedDirs[parsed.dir] = true;
|
|
24
|
+
uniqueDirs[dirs[i]] = true;
|
|
25
|
+
}
|
|
26
|
+
t.equal(keys(parsedDirs).length >= start.split(path.sep).length, true, 'there are >= dirs than "start" has');
|
|
27
|
+
var foundModuleDirNames = keys(foundModuleDirs);
|
|
28
|
+
t.deepEqual(foundModuleDirNames, moduleDirs, 'all desired module dirs were found');
|
|
29
|
+
t.equal(keys(uniqueDirs).length, dirs.length, 'all dirs provided were unique');
|
|
30
|
+
|
|
31
|
+
var counts = {};
|
|
32
|
+
for (var j = 0; j < foundModuleDirNames.length; ++j) {
|
|
33
|
+
counts[foundModuleDirs[j]] = true;
|
|
34
|
+
}
|
|
35
|
+
t.equal(keys(counts).length, 1, 'all found module directories had the same count');
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
test('node-modules-paths', function (t) {
|
|
39
|
+
t.test('no options', function (t) {
|
|
40
|
+
var start = path.join(__dirname, 'resolver');
|
|
41
|
+
var dirs = nodeModulesPaths(start);
|
|
42
|
+
|
|
43
|
+
verifyDirs(t, start, dirs);
|
|
44
|
+
|
|
45
|
+
t.end();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
t.test('empty options', function (t) {
|
|
49
|
+
var start = path.join(__dirname, 'resolver');
|
|
50
|
+
var dirs = nodeModulesPaths(start, {});
|
|
51
|
+
|
|
52
|
+
verifyDirs(t, start, dirs);
|
|
53
|
+
|
|
54
|
+
t.end();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
t.test('with paths=array option', function (t) {
|
|
58
|
+
var start = path.join(__dirname, 'resolver');
|
|
59
|
+
var paths = ['a', 'b'];
|
|
60
|
+
var dirs = nodeModulesPaths(start, { paths: paths });
|
|
61
|
+
|
|
62
|
+
verifyDirs(t, start, dirs, null, paths);
|
|
63
|
+
|
|
64
|
+
t.end();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
t.test('with paths=function option', function (t) {
|
|
68
|
+
var paths = function paths(request, absoluteStart, getNodeModulesDirs, opts) {
|
|
69
|
+
return getNodeModulesDirs().concat(path.join(absoluteStart, 'not node modules', request));
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var start = path.join(__dirname, 'resolver');
|
|
73
|
+
var dirs = nodeModulesPaths(start, { paths: paths }, 'pkg');
|
|
74
|
+
|
|
75
|
+
verifyDirs(t, start, dirs, null, [path.join(start, 'not node modules', 'pkg')]);
|
|
76
|
+
|
|
77
|
+
t.end();
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
t.test('with paths=function skipping node modules resolution', function (t) {
|
|
81
|
+
var paths = function paths(request, absoluteStart, getNodeModulesDirs, opts) {
|
|
82
|
+
return [];
|
|
83
|
+
};
|
|
84
|
+
var start = path.join(__dirname, 'resolver');
|
|
85
|
+
var dirs = nodeModulesPaths(start, { paths: paths });
|
|
86
|
+
t.deepEqual(dirs, [], 'no node_modules was computed');
|
|
87
|
+
t.end();
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
t.test('with moduleDirectory option', function (t) {
|
|
91
|
+
var start = path.join(__dirname, 'resolver');
|
|
92
|
+
var moduleDirectory = 'not node modules';
|
|
93
|
+
var dirs = nodeModulesPaths(start, { moduleDirectory: moduleDirectory });
|
|
94
|
+
|
|
95
|
+
verifyDirs(t, start, dirs, moduleDirectory);
|
|
96
|
+
|
|
97
|
+
t.end();
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
t.test('with 1 moduleDirectory and paths options', function (t) {
|
|
101
|
+
var start = path.join(__dirname, 'resolver');
|
|
102
|
+
var paths = ['a', 'b'];
|
|
103
|
+
var moduleDirectory = 'not node modules';
|
|
104
|
+
var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectory });
|
|
105
|
+
|
|
106
|
+
verifyDirs(t, start, dirs, moduleDirectory, paths);
|
|
107
|
+
|
|
108
|
+
t.end();
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
t.test('with 1+ moduleDirectory and paths options', function (t) {
|
|
112
|
+
var start = path.join(__dirname, 'resolver');
|
|
113
|
+
var paths = ['a', 'b'];
|
|
114
|
+
var moduleDirectories = ['not node modules', 'other modules'];
|
|
115
|
+
var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories });
|
|
116
|
+
|
|
117
|
+
verifyDirs(t, start, dirs, moduleDirectories, paths);
|
|
118
|
+
|
|
119
|
+
t.end();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 'A';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 'C';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 'B';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 'CY';
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var fs = require('fs');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var test = require('tape');
|
|
4
|
+
var resolve = require('../');
|
|
5
|
+
|
|
6
|
+
test('$NODE_PATH', function (t) {
|
|
7
|
+
t.plan(8);
|
|
8
|
+
|
|
9
|
+
var isDir = function (dir, cb) {
|
|
10
|
+
if (dir === '/node_path' || dir === 'node_path/x') {
|
|
11
|
+
return cb(null, true);
|
|
12
|
+
}
|
|
13
|
+
fs.stat(dir, function (err, stat) {
|
|
14
|
+
if (!err) {
|
|
15
|
+
return cb(null, stat.isDirectory());
|
|
16
|
+
}
|
|
17
|
+
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
|
|
18
|
+
return cb(err);
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
resolve('aaa', {
|
|
23
|
+
paths: [
|
|
24
|
+
path.join(__dirname, '/node_path/x'),
|
|
25
|
+
path.join(__dirname, '/node_path/y')
|
|
26
|
+
],
|
|
27
|
+
basedir: __dirname,
|
|
28
|
+
isDirectory: isDir
|
|
29
|
+
}, function (err, res) {
|
|
30
|
+
t.error(err);
|
|
31
|
+
t.equal(res, path.join(__dirname, '/node_path/x/aaa/index.js'), 'aaa resolves');
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
resolve('bbb', {
|
|
35
|
+
paths: [
|
|
36
|
+
path.join(__dirname, '/node_path/x'),
|
|
37
|
+
path.join(__dirname, '/node_path/y')
|
|
38
|
+
],
|
|
39
|
+
basedir: __dirname,
|
|
40
|
+
isDirectory: isDir
|
|
41
|
+
}, function (err, res) {
|
|
42
|
+
t.error(err);
|
|
43
|
+
t.equal(res, path.join(__dirname, '/node_path/y/bbb/index.js'), 'bbb resolves');
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
resolve('ccc', {
|
|
47
|
+
paths: [
|
|
48
|
+
path.join(__dirname, '/node_path/x'),
|
|
49
|
+
path.join(__dirname, '/node_path/y')
|
|
50
|
+
],
|
|
51
|
+
basedir: __dirname,
|
|
52
|
+
isDirectory: isDir
|
|
53
|
+
}, function (err, res) {
|
|
54
|
+
t.error(err);
|
|
55
|
+
t.equal(res, path.join(__dirname, '/node_path/x/ccc/index.js'), 'ccc resolves');
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// ensure that relative paths still resolve against the regular `node_modules` correctly
|
|
59
|
+
resolve('tap', {
|
|
60
|
+
paths: [
|
|
61
|
+
'node_path'
|
|
62
|
+
],
|
|
63
|
+
basedir: path.join(__dirname, 'node_path/x'),
|
|
64
|
+
isDirectory: isDir
|
|
65
|
+
}, function (err, res) {
|
|
66
|
+
var root = require('tap/package.json').main;
|
|
67
|
+
t.error(err);
|
|
68
|
+
t.equal(res, path.resolve(__dirname, '..', 'node_modules/tap', root), 'tap resolves');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
File without changes
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var test = require('tape');
|
|
3
|
+
var resolve = require('../');
|
|
4
|
+
|
|
5
|
+
var resolverDir = path.join(__dirname, '/pathfilter/deep_ref');
|
|
6
|
+
|
|
7
|
+
var pathFilterFactory = function (t) {
|
|
8
|
+
return function (pkg, x, remainder) {
|
|
9
|
+
t.equal(pkg.version, '1.2.3');
|
|
10
|
+
t.equal(x, path.join(resolverDir, 'node_modules/deep/ref'));
|
|
11
|
+
t.equal(remainder, 'ref');
|
|
12
|
+
return 'alt';
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
test('#62: deep module references and the pathFilter', function (t) {
|
|
17
|
+
t.test('deep/ref.js', function (st) {
|
|
18
|
+
st.plan(3);
|
|
19
|
+
|
|
20
|
+
resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) {
|
|
21
|
+
if (err) st.fail(err);
|
|
22
|
+
|
|
23
|
+
st.equal(pkg.version, '1.2.3');
|
|
24
|
+
st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js'));
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var res = resolve.sync('deep/ref', { basedir: resolverDir });
|
|
28
|
+
st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js'));
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
t.test('deep/deeper/ref', function (st) {
|
|
32
|
+
st.plan(4);
|
|
33
|
+
|
|
34
|
+
resolve(
|
|
35
|
+
'deep/deeper/ref',
|
|
36
|
+
{ basedir: resolverDir },
|
|
37
|
+
function (err, res, pkg) {
|
|
38
|
+
if (err) t.fail(err);
|
|
39
|
+
st.notEqual(pkg, undefined);
|
|
40
|
+
st.equal(pkg.version, '1.2.3');
|
|
41
|
+
st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js'));
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
var res = resolve.sync(
|
|
46
|
+
'deep/deeper/ref',
|
|
47
|
+
{ basedir: resolverDir }
|
|
48
|
+
);
|
|
49
|
+
st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js'));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
t.test('deep/ref alt', function (st) {
|
|
53
|
+
st.plan(8);
|
|
54
|
+
|
|
55
|
+
var pathFilter = pathFilterFactory(st);
|
|
56
|
+
|
|
57
|
+
var res = resolve.sync(
|
|
58
|
+
'deep/ref',
|
|
59
|
+
{ basedir: resolverDir, pathFilter: pathFilter }
|
|
60
|
+
);
|
|
61
|
+
st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js'));
|
|
62
|
+
|
|
63
|
+
resolve(
|
|
64
|
+
'deep/ref',
|
|
65
|
+
{ basedir: resolverDir, pathFilter: pathFilter },
|
|
66
|
+
function (err, res, pkg) {
|
|
67
|
+
if (err) st.fail(err);
|
|
68
|
+
st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js'));
|
|
69
|
+
st.end();
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
t.end();
|
|
75
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 'okok';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
console.log(require('./'));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 'wtf';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
console.log(require('./')); // should throw
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = '>_<';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var test = require('tape');
|
|
3
|
+
var resolve = require('../');
|
|
4
|
+
|
|
5
|
+
test('precedence', function (t) {
|
|
6
|
+
t.plan(3);
|
|
7
|
+
var dir = path.join(__dirname, 'precedence/aaa');
|
|
8
|
+
|
|
9
|
+
resolve('./', { basedir: dir }, function (err, res, pkg) {
|
|
10
|
+
t.ifError(err);
|
|
11
|
+
t.equal(res, path.join(dir, 'index.js'));
|
|
12
|
+
t.equal(pkg.name, 'resolve');
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('./ should not load ${dir}.js', function (t) { // eslint-disable-line no-template-curly-in-string
|
|
17
|
+
t.plan(1);
|
|
18
|
+
var dir = path.join(__dirname, 'precedence/bbb');
|
|
19
|
+
|
|
20
|
+
resolve('./', { basedir: dir }, function (err, res, pkg) {
|
|
21
|
+
t.ok(err);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 1;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 1;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "monorepo-symlink-test",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"postinstall": "lerna bootstrap",
|
|
9
|
+
"test": "node packages/package-a"
|
|
10
|
+
},
|
|
11
|
+
"author": "",
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"jquery": "^3.3.1",
|
|
15
|
+
"resolve": "../../../"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"lerna": "^3.4.3"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var assert = require('assert');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var resolve = require('resolve');
|
|
6
|
+
|
|
7
|
+
var basedir = __dirname + '/node_modules/@my-scope/package-b';
|
|
8
|
+
|
|
9
|
+
var expected = path.join(__dirname, '../../node_modules/jquery/dist/jquery.js');
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
* preserveSymlinks === false
|
|
13
|
+
* will search NPM package from
|
|
14
|
+
* - packages/package-b/node_modules
|
|
15
|
+
* - packages/node_modules
|
|
16
|
+
* - node_modules
|
|
17
|
+
*/
|
|
18
|
+
assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: false }), expected);
|
|
19
|
+
assert.equal(resolve.sync('../../node_modules/jquery', { basedir: basedir, preserveSymlinks: false }), expected);
|
|
20
|
+
|
|
21
|
+
/*
|
|
22
|
+
* preserveSymlinks === true
|
|
23
|
+
* will search NPM package from
|
|
24
|
+
* - packages/package-a/node_modules/@my-scope/packages/package-b/node_modules
|
|
25
|
+
* - packages/package-a/node_modules/@my-scope/packages/node_modules
|
|
26
|
+
* - packages/package-a/node_modules/@my-scope/node_modules
|
|
27
|
+
* - packages/package-a/node_modules/node_modules
|
|
28
|
+
* - packages/package-a/node_modules
|
|
29
|
+
* - packages/node_modules
|
|
30
|
+
* - node_modules
|
|
31
|
+
*/
|
|
32
|
+
assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: true }), expected);
|
|
33
|
+
assert.equal(resolve.sync('../../../../../node_modules/jquery', { basedir: basedir, preserveSymlinks: true }), expected);
|
|
34
|
+
|
|
35
|
+
console.log(' * all monorepo paths successfully resolved through symlinks');
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@my-scope/package-a",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "index.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@my-scope/package-b": "^0.0.0"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@my-scope/package-b",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"description": "",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "index.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@my-scope/package-a": "^0.0.0"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = 42;
|
|
File without changes
|
|
File without changes
|