require-it 2.1.1 → 2.2.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/index.d.ts +4 -4
- package/index.js +27 -22
- package/index.js.map +1 -1
- package/package.json +10 -10
- package/utils.js +12 -11
- package/utils.js.map +1 -1
package/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export type ResolveFunction = (name: string) => string;
|
|
2
|
+
export type ResolveFromFunction = (name: string, root?: string) => string;
|
|
3
|
+
export type RequireFunction = (name: string) => object;
|
|
4
|
+
export type RequireFromFunction = (name: string, root?: string) => object;
|
|
5
5
|
export interface RequireObject extends RequireFunction {
|
|
6
6
|
resolve: ResolveFunction;
|
|
7
7
|
directory: ResolveFunction;
|
package/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.requireFrom = exports.requireGlobal = exports.requireIt = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
7
|
let globalRoot;
|
|
8
8
|
const getGlobalRoot = () => {
|
|
9
9
|
if (!globalRoot) {
|
|
10
|
-
globalRoot = (0,
|
|
10
|
+
globalRoot = (0, node_child_process_1.execSync)("npm root -g", { encoding: "utf8" })
|
|
11
|
+
.trim()
|
|
12
|
+
.replace(/node_modules$/, "");
|
|
11
13
|
}
|
|
12
14
|
return globalRoot;
|
|
13
15
|
};
|
|
@@ -19,17 +21,17 @@ const checkScopedNodeModulesOfFolder = (folder, name) => {
|
|
|
19
21
|
if (!found) {
|
|
20
22
|
throw Error(`Cannot find module: "${name}"`);
|
|
21
23
|
}
|
|
22
|
-
return (0,
|
|
24
|
+
return (0, node_path_1.join)(folder, found);
|
|
23
25
|
};
|
|
24
26
|
const checkNodeModulesOfFolder = (folder, name) => {
|
|
25
|
-
const root = (0,
|
|
27
|
+
const root = (0, node_path_1.join)(folder, "node_modules");
|
|
26
28
|
const nodeModules = (0, utils_1.getNodeModulesOfFolder)(root);
|
|
27
29
|
for (const nodeModule of nodeModules) {
|
|
28
30
|
if ((0, utils_1.getFolder)(nodeModule) === name) {
|
|
29
|
-
return (0,
|
|
31
|
+
return (0, node_path_1.join)(root, nodeModule);
|
|
30
32
|
}
|
|
31
|
-
(0, utils_1.getNodeModulesOfFolder)((0,
|
|
32
|
-
nodeModules.push((0,
|
|
33
|
+
(0, utils_1.getNodeModulesOfFolder)((0, node_path_1.join)(root, nodeModule, "node_modules")).forEach((subModule) => {
|
|
34
|
+
nodeModules.push((0, node_path_1.join)(nodeModule, "node_modules", subModule));
|
|
33
35
|
});
|
|
34
36
|
}
|
|
35
37
|
};
|
|
@@ -43,35 +45,38 @@ const resolveMainFile = (name, root) => {
|
|
|
43
45
|
else {
|
|
44
46
|
pathToFolder = checkNodeModulesOfFolder(root, name);
|
|
45
47
|
}
|
|
46
|
-
if (pathToFolder)
|
|
47
|
-
return
|
|
48
|
-
|
|
48
|
+
if (!pathToFolder)
|
|
49
|
+
return;
|
|
50
|
+
const packageJSON = (0, utils_1.readPackageJSON)(pathToFolder);
|
|
51
|
+
if (!packageJSON.main)
|
|
52
|
+
return;
|
|
53
|
+
return (0, node_path_1.join)(pathToFolder, packageJSON.main);
|
|
49
54
|
};
|
|
50
55
|
const resolve = (name, root) => {
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
if (root) {
|
|
57
|
+
return resolveMainFile(name, root);
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
return require.resolve(name);
|
|
61
|
+
}
|
|
62
|
+
catch (_a) {
|
|
63
|
+
return resolveMainFile(name, process.cwd());
|
|
58
64
|
}
|
|
59
|
-
return resolveMainFile(name, root);
|
|
60
65
|
};
|
|
61
66
|
const directory = (name, root) => {
|
|
62
67
|
const pathToModule = resolve(name, root);
|
|
63
68
|
if (!pathToModule) {
|
|
64
69
|
throw Error(`Cannot find module: "${name}"`);
|
|
65
70
|
}
|
|
66
|
-
name = name.replace("/",
|
|
71
|
+
name = name.replace("/", node_path_1.sep);
|
|
67
72
|
const pathPieces = pathToModule
|
|
68
|
-
.split(name +
|
|
73
|
+
.split(name + node_path_1.sep)
|
|
69
74
|
.filter((p) => !/^[/\\]$/.test(p))
|
|
70
75
|
.filter((p) => !/\.[^\.\\/]+$/.test(p));
|
|
71
76
|
if (pathPieces.length > 1) {
|
|
72
77
|
return pathPieces.join(name);
|
|
73
78
|
}
|
|
74
|
-
return (0,
|
|
79
|
+
return (0, node_path_1.join)(pathPieces[0], name);
|
|
75
80
|
};
|
|
76
81
|
exports.requireIt = ((name) => {
|
|
77
82
|
return require(exports.requireIt.resolve(name));
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAC9C,yCAAsC;AACtC,mCAA6E;AAe7E,IAAI,UAAkB,CAAC;AACvB,MAAM,aAAa,GAAG,GAAW,EAAE;IACjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAA,6BAAQ,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;aACvD,IAAI,EAAE;aACN,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACrC,MAAc,EACd,IAAY,EACJ,EAAE;IACV,MAAM,aAAa,GAAa,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAW,aAAa,CAAC,IAAI,CAAC,CAAC,SAAiB,EAAW,EAAE;QACtE,OAAO,IAAA,iBAAS,EAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAA,gBAAI,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,IAAY,EAAU,EAAE;IACxE,MAAM,IAAI,GAAW,IAAA,gBAAI,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,WAAW,GAAa,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,IAAA,gBAAI,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAA,8BAAsB,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CACpE,CAAC,SAAiB,EAAQ,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC7C,IAAI,YAAoB,CAAC;IACzB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,YAAY,GAAG,8BAA8B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,CAAC,IAAI;QAAE,OAAO;IAC9B,OAAO,IAAA,gBAAI,EAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,OAAO,GAAwB,CAAC,IAAY,EAAE,IAAa,EAAU,EAAE;IAC3E,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAwB,CACrC,IAAY,EACZ,IAAa,EACL,EAAE;IACV,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAG,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,YAAY;SAC5B,KAAK,CAAC,IAAI,GAAG,eAAG,CAAC;SACjB,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAA,gBAAI,EAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEW,QAAA,SAAS,GAAkB,CAAC,CAAC,IAAY,EAAU,EAAE;IAChE,OAAO,OAAO,CAAC,iBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAkB,CAAC;AACpB,iBAAS,CAAC,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,iBAAS,CAAC,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAEnD,QAAA,aAAa,GAAkB,CAAC,CAAC,IAAY,EAAU,EAAE;IACpE,OAAO,OAAO,CAAC,qBAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAkB,CAAC;AACpB,qBAAa,CAAC,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAC/C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AACjC,qBAAa,CAAC,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CACjD,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAEtB,QAAA,WAAW,GAAsB,CAAC,CAC7C,MAAc,EACd,IAAa,EACL,EAAE;IACV,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC,CAAkB,CAAC;AACpB,mBAAW,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,mBAAW,CAAC,SAAS,GAAG,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "require-it",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "This module extends the default Node.js require with capabilities to require nested modules, independent on where they are nested.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/szikszail/require-it#readme",
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/jest": "^
|
|
44
|
-
"@types/node": "^
|
|
43
|
+
"@types/jest": "^30.0.0",
|
|
44
|
+
"@types/node": "^25.2.1",
|
|
45
45
|
"copyfiles": "^2.4.1",
|
|
46
|
-
"cross-env": "^
|
|
47
|
-
"jest": "^
|
|
48
|
-
"jest-junit": "^
|
|
49
|
-
"rimraf": "^
|
|
50
|
-
"ts-jest": "^
|
|
46
|
+
"cross-env": "^10.1.0",
|
|
47
|
+
"jest": "^30.0.0",
|
|
48
|
+
"jest-junit": "^16.0.0",
|
|
49
|
+
"rimraf": "^6.1.1",
|
|
50
|
+
"ts-jest": "^29.1.1",
|
|
51
51
|
"tslint": "^6.1.3",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
52
|
+
"typescript": "^5.9.3",
|
|
53
|
+
"typedoc": "^0.28.16"
|
|
54
54
|
},
|
|
55
55
|
"jest": {
|
|
56
56
|
"transform": {
|
package/utils.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.readPackageJSON = exports.getFolder = exports.getNodeModulesOfFolder = exports.isNodeModule = exports.isScopedModule = exports.isFolder = exports.isFile = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
6
|
const isFile = (file) => {
|
|
7
7
|
try {
|
|
8
|
-
return (0,
|
|
8
|
+
return (0, node_fs_1.statSync)(file).isFile();
|
|
9
9
|
}
|
|
10
|
-
catch (
|
|
10
|
+
catch (_a) {
|
|
11
11
|
return false;
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
exports.isFile = isFile;
|
|
15
15
|
const isFolder = (folder) => {
|
|
16
16
|
try {
|
|
17
|
-
return (0,
|
|
17
|
+
return (0, node_fs_1.statSync)(folder).isDirectory();
|
|
18
18
|
}
|
|
19
|
-
catch (
|
|
19
|
+
catch (_a) {
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
22
|
};
|
|
@@ -26,23 +26,24 @@ const isScopedModule = (name) => {
|
|
|
26
26
|
};
|
|
27
27
|
exports.isScopedModule = isScopedModule;
|
|
28
28
|
const isNodeModule = (name) => {
|
|
29
|
-
return (0, exports.isFolder)(name) &&
|
|
29
|
+
return ((0, exports.isFolder)(name) &&
|
|
30
|
+
((0, exports.isFolder)((0, node_path_1.join)(name, "node_modules")) || (0, exports.isFile)((0, node_path_1.join)(name, "package.json"))));
|
|
30
31
|
};
|
|
31
32
|
exports.isNodeModule = isNodeModule;
|
|
32
33
|
const getNodeModulesOfFolder = (folder) => {
|
|
33
34
|
try {
|
|
34
|
-
return (0,
|
|
35
|
-
const path = (0,
|
|
35
|
+
return (0, node_fs_1.readdirSync)(folder).filter((subfolder) => {
|
|
36
|
+
const path = (0, node_path_1.join)(folder, subfolder);
|
|
36
37
|
return (0, exports.isNodeModule)(path) || (0, exports.isScopedModule)(path);
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
|
-
catch (
|
|
40
|
+
catch (_a) {
|
|
40
41
|
return [];
|
|
41
42
|
}
|
|
42
43
|
};
|
|
43
44
|
exports.getNodeModulesOfFolder = getNodeModulesOfFolder;
|
|
44
45
|
const getFolder = (path) => path.split(/[\/\\]/).pop();
|
|
45
46
|
exports.getFolder = getFolder;
|
|
46
|
-
const readPackageJSON = (folder) => require((0,
|
|
47
|
+
const readPackageJSON = (folder) => require((0, node_path_1.join)(folder, "package.json"));
|
|
47
48
|
exports.readPackageJSON = readPackageJSON;
|
|
48
49
|
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,yCAAiC;AAE1B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9C,IAAI,CAAC;QACH,OAAO,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AANW,QAAA,MAAM,UAMjB;AAEK,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAW,EAAE;IAClD,IAAI,CAAC;QACH,OAAO,IAAA,kBAAQ,EAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEK,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE;IACtD,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IACpD,OAAO,CACL,IAAA,gBAAQ,EAAC,IAAI,CAAC;QACd,CAAC,IAAA,gBAAQ,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,IAAA,cAAM,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB;AAEK,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAY,EAAE;IACjE,IAAI,CAAC;QACH,OAAO,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAiB,EAAW,EAAE;YAC/D,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACrC,OAAO,IAAA,oBAAY,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAMK,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;AAAjE,QAAA,SAAS,aAAwD;AACvE,MAAM,eAAe,GAAG,CAAC,MAAc,EAAe,EAAE,CAC7D,OAAO,CAAC,IAAA,gBAAI,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAD3B,QAAA,eAAe,mBACY"}
|