@eggjs/utils 4.0.2 → 4.1.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/README.md +5 -11
- package/dist/commonjs/deprecated.js +2 -3
- package/dist/commonjs/framework.js +2 -3
- package/dist/commonjs/import.js +49 -7
- package/dist/commonjs/plugin.js +5 -6
- package/dist/commonjs/utils.d.ts +1 -0
- package/dist/commonjs/utils.js +16 -3
- package/dist/esm/import.js +44 -4
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/utils.d.ts +1 -0
- package/dist/esm/utils.js +11 -1
- package/dist/package.json +4 -0
- package/package.json +8 -11
- package/src/import.ts +45 -3
- package/src/plugin.ts +1 -1
- package/src/utils.ts +11 -0
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @eggjs/utils
|
|
2
2
|
|
|
3
3
|
[![NPM version][npm-image]][npm-url]
|
|
4
|
-
[](https://github.com/eggjs/utils/actions/workflows/nodejs.yml)
|
|
5
5
|
[![Test coverage][codecov-image]][codecov-url]
|
|
6
6
|
[![npm download][download-image]][download-url]
|
|
7
7
|
|
|
8
8
|
[npm-image]: https://img.shields.io/npm/v/@eggjs/utils.svg?style=flat-square
|
|
9
9
|
[npm-url]: https://npmjs.org/package/@eggjs/utils
|
|
10
|
-
[codecov-image]: https://codecov.io/github/eggjs/
|
|
11
|
-
[codecov-url]: https://codecov.io/github/eggjs/
|
|
10
|
+
[codecov-image]: https://codecov.io/github/eggjs/utils/coverage.svg?branch=master
|
|
11
|
+
[codecov-url]: https://codecov.io/github/eggjs/utils?branch=master
|
|
12
12
|
[download-image]: https://img.shields.io/npm/dm/@eggjs/utils.svg?style=flat-square
|
|
13
13
|
[download-url]: https://npmjs.org/package/@eggjs/utils
|
|
14
14
|
|
|
@@ -49,14 +49,8 @@ npm i @eggjs/utils
|
|
|
49
49
|
|
|
50
50
|
[MIT](LICENSE)
|
|
51
51
|
|
|
52
|
-
<!-- GITCONTRIBUTOR_START -->
|
|
53
|
-
|
|
54
52
|
## Contributors
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
| :---: | :---: | :---: | :---: | :---: | :---: |
|
|
58
|
-
[<img src="https://avatars.githubusercontent.com/u/7284558?v=4" width="100px;"/><br/><sub><b>duncup</b></sub>](https://github.com/duncup)<br/>
|
|
59
|
-
|
|
60
|
-
This project follows the git-contributor [spec](https://github.com/xudafeng/git-contributor), auto updated at `Mon May 29 2023 14:07:36 GMT+0800`.
|
|
54
|
+
[](https://github.com/eggjs/utils/graphs/contributors)
|
|
61
55
|
|
|
62
|
-
|
|
56
|
+
Made with [contributors-img](https://contrib.rocks).
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFrameworkOrEggPath =
|
|
6
|
+
exports.getFrameworkOrEggPath = getFrameworkOrEggPath;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const node_fs_1 = require("node:fs");
|
|
9
9
|
const utils_js_1 = require("./utils.js");
|
|
@@ -56,5 +56,4 @@ function getFrameworkOrEggPath(cwd, eggNames) {
|
|
|
56
56
|
}
|
|
57
57
|
return '';
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXByZWNhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixxQ0FBa0Q7QUFDbEQseUNBQTBDO0FBRTFDOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsR0FBVyxFQUFFLFFBQW1CO0lBQ3BFLFFBQVEsR0FBRyxRQUFRLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUNqQyxNQUFNLFNBQVMsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakQsSUFBSSxDQUFDLElBQUEsb0JBQVUsRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHVCQUF1QjtJQUV2Qix3REFBd0Q7SUFDeEQsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLElBQUksSUFBQSxvQkFBVSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBQSx1QkFBWSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBQSxxQkFBVyxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBQSxvQkFBVSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekIsU0FBUztRQUNYLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHVCQUFZLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckIsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLElBQUEsb0JBQVUsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBNUNELHNEQTRDQyJ9
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXByZWNhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsc0RBNENDO0FBekRELDBEQUE2QjtBQUM3QixxQ0FBa0Q7QUFDbEQseUNBQTBDO0FBRTFDOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsR0FBVyxFQUFFLFFBQW1CO0lBQ3BFLFFBQVEsR0FBRyxRQUFRLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUNqQyxNQUFNLFNBQVMsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakQsSUFBSSxDQUFDLElBQUEsb0JBQVUsRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHVCQUF1QjtJQUV2Qix3REFBd0Q7SUFDeEQsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLElBQUksSUFBQSxvQkFBVSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBQSx1QkFBWSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBQSxxQkFBVyxFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBQSxvQkFBVSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekIsU0FBUztRQUNYLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHVCQUFZLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckIsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLElBQUEsb0JBQVUsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIn0=
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFrameworkPath =
|
|
6
|
+
exports.getFrameworkPath = getFrameworkPath;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
9
9
|
const node_fs_1 = require("node:fs");
|
|
@@ -45,7 +45,6 @@ function getFrameworkPath(options) {
|
|
|
45
45
|
// 2.2 use egg by default
|
|
46
46
|
return assertAndReturn('egg', moduleDir);
|
|
47
47
|
}
|
|
48
|
-
exports.getFrameworkPath = getFrameworkPath;
|
|
49
48
|
function assertAndReturn(frameworkName, moduleDir) {
|
|
50
49
|
const moduleDirs = new Set([
|
|
51
50
|
moduleDir,
|
|
@@ -78,4 +77,4 @@ function assertAndReturn(frameworkName, moduleDir) {
|
|
|
78
77
|
}
|
|
79
78
|
throw new Error(`${frameworkName} is not found in ${Array.from(moduleDirs)}`);
|
|
80
79
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZyYW1ld29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXNCQSw0Q0E0QkM7QUFsREQsMERBQTZCO0FBQzdCLDhEQUFpQztBQUNqQyxxQ0FBcUM7QUFDckMseUNBQTBDO0FBRTFDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQU85Qjs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUFnQjtJQUMvQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN2QyxNQUFNLE9BQU8sR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkQsSUFBQSxxQkFBTSxFQUFDLElBQUEsb0JBQVUsRUFBQyxPQUFPLENBQUMsRUFBRSxHQUFHLE9BQU8sZUFBZSxDQUFDLENBQUM7SUFDdkQsTUFBTSxTQUFTLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXJELGlDQUFpQztJQUNqQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2Qsb0NBQW9DO1FBQ3BDLGlFQUFpRTtRQUNqRSxJQUFJLG1CQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBQSxxQkFBTSxFQUFDLElBQUEsb0JBQVUsRUFBQyxTQUFTLENBQUMsRUFBRSxHQUFHLFNBQVMsZUFBZSxDQUFDLENBQUM7WUFDM0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELDhEQUE4RDtRQUM5RCw2QkFBNkI7UUFDN0IsT0FBTyxlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHVCQUFZLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsZ0NBQWdDO0lBQ2hDLGdEQUFnRDtJQUNoRCxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdkIsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixPQUFPLGVBQWUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLGFBQXFCLEVBQUUsU0FBaUI7SUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDekIsU0FBUztRQUNULHdEQUF3RDtRQUN4RCwyQ0FBMkM7UUFDM0Msa0RBQWtEO1FBQ2xELG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUM7UUFDeEMsbUNBQW1DO1FBQ25DLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUM7S0FDbkMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDO1FBQ0gsc0RBQXNEO1FBQ3RELElBQUksZUFBZSxDQUFDO1FBQ3BCLG9EQUFvRDtRQUNwRCxJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pFLGVBQWUsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FDekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGFBQWEsZUFBZSxDQUFDLEVBQ2hELFVBQVUsQ0FDWCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxhQUFhLGVBQWUsQ0FBQyxFQUNoRCxPQUFPLENBQ1IsQ0FBQztRQUNKLENBQUM7UUFDRCxVQUFVLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsU0FBUztJQUNYLENBQUM7SUFDRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ25DLE1BQU0sYUFBYSxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMxRCxJQUFJLElBQUEsb0JBQVUsRUFBQyxhQUFhLENBQUM7WUFBRSxPQUFPLGFBQWEsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLGFBQWEsb0JBQW9CLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hGLENBQUMifQ==
|
package/dist/commonjs/import.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
6
|
+
exports.importResolve = importResolve;
|
|
7
|
+
exports.importModule = importModule;
|
|
4
8
|
const node_util_1 = require("node:util");
|
|
5
9
|
const node_module_1 = require("node:module");
|
|
6
10
|
const node_url_1 = require("node:url");
|
|
7
|
-
const
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
13
|
+
const debug = (0, node_util_1.debuglog)('@eggjs/utils/import');
|
|
8
14
|
let _customRequire;
|
|
9
|
-
function
|
|
15
|
+
function getRequire() {
|
|
10
16
|
if (!_customRequire) {
|
|
11
17
|
if (typeof require !== 'undefined') {
|
|
12
18
|
_customRequire = require;
|
|
@@ -15,11 +21,48 @@ function importResolve(filepath, options) {
|
|
|
15
21
|
_customRequire = (0, node_module_1.createRequire)(process.cwd());
|
|
16
22
|
}
|
|
17
23
|
}
|
|
18
|
-
|
|
24
|
+
return _customRequire;
|
|
25
|
+
}
|
|
26
|
+
let supportTypeScript;
|
|
27
|
+
function isSupportTypeScript() {
|
|
28
|
+
if (supportTypeScript === undefined) {
|
|
29
|
+
const extensions = getRequire().extensions;
|
|
30
|
+
supportTypeScript = extensions['.ts'] !== undefined;
|
|
31
|
+
debug('[isSupportTypeScript] %o, extensions: %j', supportTypeScript, Object.keys(extensions));
|
|
32
|
+
}
|
|
33
|
+
return supportTypeScript;
|
|
34
|
+
}
|
|
35
|
+
function importResolve(filepath, options) {
|
|
36
|
+
// support typescript import on absolute path
|
|
37
|
+
if (node_path_1.default.isAbsolute(filepath) && isSupportTypeScript()) {
|
|
38
|
+
// "tshy": {
|
|
39
|
+
// "exports": {
|
|
40
|
+
// "./package.json": "./package.json",
|
|
41
|
+
// ".": "./src/index.ts"
|
|
42
|
+
// }
|
|
43
|
+
// }
|
|
44
|
+
const pkgFile = node_path_1.default.join(filepath, 'package.json');
|
|
45
|
+
if (node_fs_1.default.existsSync(pkgFile)) {
|
|
46
|
+
const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgFile, 'utf-8'));
|
|
47
|
+
const mainIndexFile = pkg.tshy?.exports?.['.'];
|
|
48
|
+
if (mainIndexFile) {
|
|
49
|
+
const mainIndexFilePath = node_path_1.default.join(filepath, mainIndexFile);
|
|
50
|
+
if (node_fs_1.default.existsSync(mainIndexFilePath)) {
|
|
51
|
+
debug('[importResolve] %o, options: %o => %o, use typescript', filepath, options, mainIndexFilePath);
|
|
52
|
+
return mainIndexFilePath;
|
|
53
|
+
}
|
|
54
|
+
debug('[importResolve] typescript file %o not exists', mainIndexFilePath);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const cwd = process.cwd();
|
|
59
|
+
const paths = options?.paths ?? [cwd];
|
|
60
|
+
const moduleFilePath = getRequire().resolve(filepath, {
|
|
61
|
+
paths,
|
|
62
|
+
});
|
|
19
63
|
debug('[importResolve] %o, options: %o => %o', filepath, options, moduleFilePath);
|
|
20
64
|
return moduleFilePath;
|
|
21
65
|
}
|
|
22
|
-
exports.importResolve = importResolve;
|
|
23
66
|
async function importModule(filepath, options) {
|
|
24
67
|
const moduleFilePath = importResolve(filepath, options);
|
|
25
68
|
let obj;
|
|
@@ -85,5 +128,4 @@ async function importModule(filepath, options) {
|
|
|
85
128
|
debug('[importModule] return %o => %o', filepath, obj);
|
|
86
129
|
return obj;
|
|
87
130
|
}
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBcUM7QUFDckMsNkNBQTRDO0FBQzVDLHVDQUF5QztBQUV6QyxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMscUJBQXFCLENBQUMsQ0FBQztBQUU5QyxJQUFJLGNBQTJCLENBQUM7QUFXaEMsU0FBZ0IsYUFBYSxDQUFDLFFBQWdCLEVBQUUsT0FBOEI7SUFDNUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkMsY0FBYyxHQUFHLE9BQU8sQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLGNBQWMsR0FBRyxJQUFBLDJCQUFhLEVBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxLQUFLLENBQUMsdUNBQXVDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNsRixPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBWEQsc0NBV0M7QUFFTSxLQUFLLFVBQVUsWUFBWSxDQUFDLFFBQWdCLEVBQUUsT0FBNkI7SUFDaEYsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxJQUFJLEdBQVEsQ0FBQztJQUNiLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDbEMsV0FBVztRQUNYLEdBQUcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4RCxJQUFJLEdBQUcsRUFBRSxVQUFVLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNqRCxzQkFBc0I7WUFDdEIsSUFBSTtZQUNKLHNCQUFzQjtZQUN0Qix3REFBd0Q7WUFDeEQsSUFBSTtZQUNKLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU07UUFDTixLQUFLLENBQUMsdUNBQXVDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsSUFBQSx3QkFBYSxFQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixLQUFLLENBQUMsMkNBQTJDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUk7UUFDSixxQ0FBcUM7UUFDckMsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWiwyQ0FBMkM7UUFDM0MsSUFBSTtRQUNKLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxVQUFVLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkUsc0JBQXNCO1lBQ3RCLElBQUk7WUFDSixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsMERBQTBEO1lBQzFELG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsUUFBUTtZQUNSLE9BQU87WUFDUCwyQ0FBMkM7WUFDM0MsSUFBSTtZQUNKLGVBQWU7WUFDZixJQUFJO1lBQ0osZUFBZTtZQUNmLDBCQUEwQjtZQUMxQixnREFBZ0Q7WUFDaEQscUJBQXFCO1lBQ3JCLDZCQUE2QjtZQUM3QixzREFBc0Q7WUFDdEQsUUFBUTtZQUNSLE9BQU87WUFDUCwyQ0FBMkM7WUFDM0MsSUFBSTtZQUNKLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBQy9CLElBQUksU0FBUyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQS9ERCxvQ0ErREMifQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXdDQSxzQ0E4QkM7QUFFRCxvQ0ErREM7QUF2SUQseUNBQXFDO0FBQ3JDLDZDQUE0QztBQUM1Qyx1Q0FBeUM7QUFDekMsMERBQTZCO0FBQzdCLHNEQUF5QjtBQUV6QixNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMscUJBQXFCLENBQUMsQ0FBQztBQUU5QyxJQUFJLGNBQTJCLENBQUM7QUFXaEMsU0FBUyxVQUFVO0lBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ25DLGNBQWMsR0FBRyxPQUFPLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjLEdBQUcsSUFBQSwyQkFBYSxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUVELElBQUksaUJBQXNDLENBQUM7QUFDM0MsU0FBUyxtQkFBbUI7SUFDMUIsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDM0MsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsQ0FBQztRQUNwRCxLQUFLLENBQUMsMENBQTBDLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDO0FBQzNCLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBZ0IsRUFBRSxPQUE4QjtJQUM1RSw2Q0FBNkM7SUFDN0MsSUFBSSxtQkFBSSxDQUFDLFVB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
|
package/dist/commonjs/plugin.js
CHANGED
|
@@ -3,14 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.getPlugins = getPlugins;
|
|
7
|
+
exports.getLoadUnits = getLoadUnits;
|
|
8
|
+
exports.getConfig = getConfig;
|
|
7
9
|
const node_util_1 = require("node:util");
|
|
8
10
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
11
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
10
12
|
const node_os_1 = __importDefault(require("node:os"));
|
|
11
13
|
const promises_1 = require("node:fs/promises");
|
|
12
14
|
const import_js_1 = require("./import.js");
|
|
13
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/utils
|
|
15
|
+
const debug = (0, node_util_1.debuglog)('@eggjs/utils/plugin');
|
|
14
16
|
const tmpDir = node_os_1.default.tmpdir();
|
|
15
17
|
function noop() { }
|
|
16
18
|
const logger = {
|
|
@@ -27,7 +29,6 @@ async function getPlugins(options) {
|
|
|
27
29
|
await loader.loadPlugin();
|
|
28
30
|
return loader.allPlugins;
|
|
29
31
|
}
|
|
30
|
-
exports.getPlugins = getPlugins;
|
|
31
32
|
/**
|
|
32
33
|
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/egg_loader.js#L348
|
|
33
34
|
*/
|
|
@@ -36,14 +37,12 @@ async function getLoadUnits(options) {
|
|
|
36
37
|
await loader.loadPlugin();
|
|
37
38
|
return loader.getLoadUnits();
|
|
38
39
|
}
|
|
39
|
-
exports.getLoadUnits = getLoadUnits;
|
|
40
40
|
async function getConfig(options) {
|
|
41
41
|
const loader = await getLoader(options);
|
|
42
42
|
await loader.loadPlugin();
|
|
43
43
|
await loader.loadConfig();
|
|
44
44
|
return loader.config;
|
|
45
45
|
}
|
|
46
|
-
exports.getConfig = getConfig;
|
|
47
46
|
async function exists(filepath) {
|
|
48
47
|
try {
|
|
49
48
|
await (0, promises_1.stat)(filepath);
|
|
@@ -119,4 +118,4 @@ async function findEggCore(options) {
|
|
|
119
118
|
(0, node_assert_1.default)(await exists(eggCorePath), `Can't find ${name} from ${options.baseDir} and ${options.framework}`);
|
|
120
119
|
return await (0, import_js_1.importModule)(eggCorePath);
|
|
121
120
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXlDQSxnQ0FJQztBQVVELG9DQUlDO0FBRUQsOEJBS0M7QUFsRUQseUNBQXFDO0FBQ3JDLDBEQUE2QjtBQUM3Qiw4REFBaUM7QUFDakMsc0RBQXlCO0FBQ3pCLCtDQUFvRTtBQUNwRSwyQ0FBMkM7QUFFM0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFOUMsTUFBTSxNQUFNLEdBQUcsaUJBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUUzQixTQUFTLElBQUksS0FBSSxDQUFDO0FBRWxCLE1BQU0sTUFBTSxHQUFHO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBb0JGOztHQUVHO0FBQ0ksS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFzQjtJQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDM0IsQ0FBQztBQU9EOztHQUVHO0FBQ0ksS0FBSyxVQUFVLFlBQVksQ0FBQyxPQUFzQjtJQUN2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxPQUFzQjtJQUNwRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFN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
|
package/dist/commonjs/utils.d.ts
CHANGED
package/dist/commonjs/utils.js
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readJSONSync =
|
|
6
|
+
exports.readJSONSync = readJSONSync;
|
|
7
|
+
exports.getDirname = getDirname;
|
|
4
8
|
const node_fs_1 = require("node:fs");
|
|
9
|
+
const node_url_1 = require("node:url");
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
5
11
|
function readJSONSync(file) {
|
|
6
12
|
if (!(0, node_fs_1.existsSync)(file)) {
|
|
7
13
|
throw new Error(`${file} is not found`);
|
|
8
14
|
}
|
|
9
15
|
return JSON.parse((0, node_fs_1.readFileSync)(file, 'utf-8'));
|
|
10
16
|
}
|
|
11
|
-
|
|
12
|
-
|
|
17
|
+
function getDirname() {
|
|
18
|
+
if (typeof __dirname !== 'undefined') {
|
|
19
|
+
return __dirname;
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
return node_path_1.default.dirname((0, node_url_1.fileURLToPath)('import_meta_url_placeholder_by_tshy_after'));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxvQ0FLQztBQUVELGdDQU9DO0FBbEJELHFDQUFtRDtBQUNuRCx1Q0FBeUM7QUFDekMsMERBQTZCO0FBRTdCLFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLElBQUksQ0FBQyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsc0JBQVksRUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsU0FBZ0IsVUFBVTtJQUN4QixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCw2REFBNkQ7SUFDN0QsYUFBYTtJQUNiLE9BQU8sbUJBQUksQ0FBQyxPQUFPLENBQUMsSUFBQSx3QkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDIn0=
|
package/dist/esm/import.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { debuglog } from 'node:util';
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { pathToFileURL } from 'node:url';
|
|
4
|
-
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import fs from 'node:fs';
|
|
6
|
+
const debug = debuglog('@eggjs/utils/import');
|
|
5
7
|
let _customRequire;
|
|
6
|
-
|
|
8
|
+
function getRequire() {
|
|
7
9
|
if (!_customRequire) {
|
|
8
10
|
if (typeof require !== 'undefined') {
|
|
9
11
|
_customRequire = require;
|
|
@@ -12,7 +14,45 @@ export function importResolve(filepath, options) {
|
|
|
12
14
|
_customRequire = createRequire(process.cwd());
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
|
-
|
|
17
|
+
return _customRequire;
|
|
18
|
+
}
|
|
19
|
+
let supportTypeScript;
|
|
20
|
+
function isSupportTypeScript() {
|
|
21
|
+
if (supportTypeScript === undefined) {
|
|
22
|
+
const extensions = getRequire().extensions;
|
|
23
|
+
supportTypeScript = extensions['.ts'] !== undefined;
|
|
24
|
+
debug('[isSupportTypeScript] %o, extensions: %j', supportTypeScript, Object.keys(extensions));
|
|
25
|
+
}
|
|
26
|
+
return supportTypeScript;
|
|
27
|
+
}
|
|
28
|
+
export function importResolve(filepath, options) {
|
|
29
|
+
// support typescript import on absolute path
|
|
30
|
+
if (path.isAbsolute(filepath) && isSupportTypeScript()) {
|
|
31
|
+
// "tshy": {
|
|
32
|
+
// "exports": {
|
|
33
|
+
// "./package.json": "./package.json",
|
|
34
|
+
// ".": "./src/index.ts"
|
|
35
|
+
// }
|
|
36
|
+
// }
|
|
37
|
+
const pkgFile = path.join(filepath, 'package.json');
|
|
38
|
+
if (fs.existsSync(pkgFile)) {
|
|
39
|
+
const pkg = JSON.parse(fs.readFileSync(pkgFile, 'utf-8'));
|
|
40
|
+
const mainIndexFile = pkg.tshy?.exports?.['.'];
|
|
41
|
+
if (mainIndexFile) {
|
|
42
|
+
const mainIndexFilePath = path.join(filepath, mainIndexFile);
|
|
43
|
+
if (fs.existsSync(mainIndexFilePath)) {
|
|
44
|
+
debug('[importResolve] %o, options: %o => %o, use typescript', filepath, options, mainIndexFilePath);
|
|
45
|
+
return mainIndexFilePath;
|
|
46
|
+
}
|
|
47
|
+
debug('[importResolve] typescript file %o not exists', mainIndexFilePath);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const cwd = process.cwd();
|
|
52
|
+
const paths = options?.paths ?? [cwd];
|
|
53
|
+
const moduleFilePath = getRequire().resolve(filepath, {
|
|
54
|
+
paths,
|
|
55
|
+
});
|
|
16
56
|
debug('[importResolve] %o, options: %o => %o', filepath, options, moduleFilePath);
|
|
17
57
|
return moduleFilePath;
|
|
18
58
|
}
|
|
@@ -81,4 +121,4 @@ export async function importModule(filepath, options) {
|
|
|
81
121
|
debug('[importModule] return %o => %o', filepath, obj);
|
|
82
122
|
return obj;
|
|
83
123
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXpCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRTlDLElBQUksY0FBMkIsQ0FBQztBQVdoQyxTQUFTLFVBQVU7SUFDakIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkMsY0FBYyxHQUFHLE9BQU8sQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRUQsSUFBSSxpQkFBc0MsQ0FBQztBQUMzQyxTQUFTLG1CQUFtQjtJQUMxQixJQUFJLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssU0FBUyxDQUFDO1FBQ3BELEtBQUssQ0FBQywwQ0FBMEMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBZ0IsRUFBRSxPQUE4QjtJQUM1RSw2Q0FBNkM7SUFDN0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztRQUN2RCxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLDBDQUEwQztRQUMxQyw0QkFBNEI7UUFDNUIsTUFBTTtRQUNOLElBQUk7UUFDSixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO29CQUNyQyxLQUFLLENBQUMsdURBQXVELEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO29CQUNyRyxPQUFPLGlCQUFpQixDQUFDO2dCQUMzQixDQUFDO2dCQUNELEtBQUssQ0FBQywrQ0FBK0MsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUUsR0FBRyxDQUFFLENBQUM7SUFDeEMsTUFBTSxjQUFjLEdBQUcsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNwRCxLQUFLO0tBQ04sQ0FBQyxDQUFDO0lBQ0gsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbEYsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLFFBQWdCLEVBQUUsT0FBNkI7SUFDaEYsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxJQUFJLEdBQVEsQ0FBQztJQUNiLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDbEMsV0FBVztRQUNYLEdBQUcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4RCxJQUFJLEdBQUcsRUFBRSxVQUFVLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNqRCxzQkFBc0I7WUFDdEIsSUFBSTtZQUNKLHNCQUFzQjtZQUN0Qix3REFBd0Q7WUFDeEQsSUFBSTtZQUNKLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU07UUFDTixLQUFLLENBQUMsdUNBQXVDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixLQUFLLENBQUMsMkNBQTJDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUk7UUFDSixxQ0FBcUM7UUFDckMsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWiwyQ0FBMkM7UUFDM0MsSUFBSTtRQUNKLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxVQUFVLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkUsc0JBQXNCO1lBQ3RCLElBQUk7WUFDSixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsMERBQTBEO1lBQzFELG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsUUFBUTtZQUNSLE9BQU87WUFDUCwyQ0FBMkM7WUFDM0MsSUFBSTtZQUNKLGVBQWU7WUFDZixJQUFJO1lBQ0osZUFBZTtZQUNmLDBCQUEwQjtZQUMxQixnREFBZ0Q7WUFDaEQscUJBQXFCO1lBQ3JCLDZCQUE2QjtZQUM3QixzREFBc0Q7WUFDdEQsUUFBUTtZQUNSLE9BQU87WUFDUCwyQ0FBMkM7WUFDM0MsSUFBSTtZQUNKLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBQy9CLElBQUksU0FBUyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
|
package/dist/esm/plugin.js
CHANGED
|
@@ -4,7 +4,7 @@ import assert from 'node:assert';
|
|
|
4
4
|
import os from 'node:os';
|
|
5
5
|
import { stat, mkdir, writeFile, realpath } from 'node:fs/promises';
|
|
6
6
|
import { importModule } from './import.js';
|
|
7
|
-
const debug = debuglog('@eggjs/utils
|
|
7
|
+
const debug = debuglog('@eggjs/utils/plugin');
|
|
8
8
|
const tmpDir = os.tmpdir();
|
|
9
9
|
function noop() { }
|
|
10
10
|
const logger = {
|
package/dist/esm/utils.d.ts
CHANGED
package/dist/esm/utils.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import path from 'node:path';
|
|
2
4
|
export function readJSONSync(file) {
|
|
3
5
|
if (!existsSync(file)) {
|
|
4
6
|
throw new Error(`${file} is not found`);
|
|
5
7
|
}
|
|
6
8
|
return JSON.parse(readFileSync(file, 'utf-8'));
|
|
7
9
|
}
|
|
8
|
-
|
|
10
|
+
export function getDirname() {
|
|
11
|
+
if (typeof __dirname !== 'undefined') {
|
|
12
|
+
return __dirname;
|
|
13
|
+
}
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
return path.dirname(fileURLToPath(import.meta.url));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVU7SUFDeEIsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsNkRBQTZEO0lBQzdELGFBQWE7SUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/utils",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"engine": {
|
|
5
5
|
"node": ">=18.19.0"
|
|
6
6
|
},
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
"test-local": "egg-bin test",
|
|
16
16
|
"preci": "npm run prepublishOnly",
|
|
17
17
|
"ci": "npm run lint && egg-bin cov && npm run prepublishOnly",
|
|
18
|
-
"contributor": "git-contributor",
|
|
19
18
|
"prepublishOnly": "tshy && tshy-after"
|
|
20
19
|
},
|
|
21
20
|
"keywords": [
|
|
@@ -25,23 +24,22 @@
|
|
|
25
24
|
"author": "fengmk2 <fengmk2@gmail.com> (https://github.com/fengmk2)",
|
|
26
25
|
"repository": {
|
|
27
26
|
"type": "git",
|
|
28
|
-
"url": "git://github.com/eggjs/
|
|
27
|
+
"url": "git://github.com/eggjs/utils.git"
|
|
29
28
|
},
|
|
30
29
|
"license": "MIT",
|
|
31
30
|
"dependencies": {},
|
|
32
31
|
"devDependencies": {
|
|
33
32
|
"@eggjs/tsconfig": "1",
|
|
34
33
|
"@types/mocha": "10",
|
|
35
|
-
"@types/node": "
|
|
34
|
+
"@types/node": "22",
|
|
36
35
|
"coffee": "5",
|
|
37
36
|
"egg-bin": "6",
|
|
38
37
|
"eslint": "8",
|
|
39
|
-
"eslint-config-egg": "
|
|
40
|
-
"git-contributor": "2",
|
|
38
|
+
"eslint-config-egg": "14",
|
|
41
39
|
"mm": "3",
|
|
42
40
|
"npminstall": "7",
|
|
43
|
-
"runscript": "
|
|
44
|
-
"tshy": "
|
|
41
|
+
"runscript": "2",
|
|
42
|
+
"tshy": "3",
|
|
45
43
|
"tshy-after": "1",
|
|
46
44
|
"typescript": "5"
|
|
47
45
|
},
|
|
@@ -60,17 +58,16 @@
|
|
|
60
58
|
"./package.json": "./package.json",
|
|
61
59
|
".": {
|
|
62
60
|
"import": {
|
|
63
|
-
"source": "./src/index.ts",
|
|
64
61
|
"types": "./dist/esm/index.d.ts",
|
|
65
62
|
"default": "./dist/esm/index.js"
|
|
66
63
|
},
|
|
67
64
|
"require": {
|
|
68
|
-
"source": "./src/index.ts",
|
|
69
65
|
"types": "./dist/commonjs/index.d.ts",
|
|
70
66
|
"default": "./dist/commonjs/index.js"
|
|
71
67
|
}
|
|
72
68
|
}
|
|
73
69
|
},
|
|
74
70
|
"main": "./dist/commonjs/index.js",
|
|
75
|
-
"types": "./dist/commonjs/index.d.ts"
|
|
71
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
72
|
+
"module": "./dist/esm/index.js"
|
|
76
73
|
}
|
package/src/import.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { debuglog } from 'node:util';
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import fs from 'node:fs';
|
|
4
6
|
|
|
5
|
-
const debug = debuglog('@eggjs/utils
|
|
7
|
+
const debug = debuglog('@eggjs/utils/import');
|
|
6
8
|
|
|
7
9
|
let _customRequire: NodeRequire;
|
|
8
10
|
|
|
@@ -15,7 +17,7 @@ export interface ImportModuleOptions extends ImportResolveOptions {
|
|
|
15
17
|
importDefaultOnly?: boolean;
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
function getRequire() {
|
|
19
21
|
if (!_customRequire) {
|
|
20
22
|
if (typeof require !== 'undefined') {
|
|
21
23
|
_customRequire = require;
|
|
@@ -23,7 +25,47 @@ export function importResolve(filepath: string, options?: ImportResolveOptions)
|
|
|
23
25
|
_customRequire = createRequire(process.cwd());
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
return _customRequire;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
let supportTypeScript: boolean | undefined;
|
|
32
|
+
function isSupportTypeScript() {
|
|
33
|
+
if (supportTypeScript === undefined) {
|
|
34
|
+
const extensions = getRequire().extensions;
|
|
35
|
+
supportTypeScript = extensions['.ts'] !== undefined;
|
|
36
|
+
debug('[isSupportTypeScript] %o, extensions: %j', supportTypeScript, Object.keys(extensions));
|
|
37
|
+
}
|
|
38
|
+
return supportTypeScript;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function importResolve(filepath: string, options?: ImportResolveOptions) {
|
|
42
|
+
// support typescript import on absolute path
|
|
43
|
+
if (path.isAbsolute(filepath) && isSupportTypeScript()) {
|
|
44
|
+
// "tshy": {
|
|
45
|
+
// "exports": {
|
|
46
|
+
// "./package.json": "./package.json",
|
|
47
|
+
// ".": "./src/index.ts"
|
|
48
|
+
// }
|
|
49
|
+
// }
|
|
50
|
+
const pkgFile = path.join(filepath, 'package.json');
|
|
51
|
+
if (fs.existsSync(pkgFile)) {
|
|
52
|
+
const pkg = JSON.parse(fs.readFileSync(pkgFile, 'utf-8'));
|
|
53
|
+
const mainIndexFile = pkg.tshy?.exports?.['.'];
|
|
54
|
+
if (mainIndexFile) {
|
|
55
|
+
const mainIndexFilePath = path.join(filepath, mainIndexFile);
|
|
56
|
+
if (fs.existsSync(mainIndexFilePath)) {
|
|
57
|
+
debug('[importResolve] %o, options: %o => %o, use typescript', filepath, options, mainIndexFilePath);
|
|
58
|
+
return mainIndexFilePath;
|
|
59
|
+
}
|
|
60
|
+
debug('[importResolve] typescript file %o not exists', mainIndexFilePath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const cwd = process.cwd();
|
|
65
|
+
const paths = options?.paths ?? [ cwd ];
|
|
66
|
+
const moduleFilePath = getRequire().resolve(filepath, {
|
|
67
|
+
paths,
|
|
68
|
+
});
|
|
27
69
|
debug('[importResolve] %o, options: %o => %o', filepath, options, moduleFilePath);
|
|
28
70
|
return moduleFilePath;
|
|
29
71
|
}
|
package/src/plugin.ts
CHANGED
|
@@ -5,7 +5,7 @@ import os from 'node:os';
|
|
|
5
5
|
import { stat, mkdir, writeFile, realpath } from 'node:fs/promises';
|
|
6
6
|
import { importModule } from './import.js';
|
|
7
7
|
|
|
8
|
-
const debug = debuglog('@eggjs/utils
|
|
8
|
+
const debug = debuglog('@eggjs/utils/plugin');
|
|
9
9
|
|
|
10
10
|
const tmpDir = os.tmpdir();
|
|
11
11
|
|
package/src/utils.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import path from 'node:path';
|
|
2
4
|
|
|
3
5
|
export function readJSONSync(file: string) {
|
|
4
6
|
if (!existsSync(file)) {
|
|
@@ -6,3 +8,12 @@ export function readJSONSync(file: string) {
|
|
|
6
8
|
}
|
|
7
9
|
return JSON.parse(readFileSync(file, 'utf-8'));
|
|
8
10
|
}
|
|
11
|
+
|
|
12
|
+
export function getDirname() {
|
|
13
|
+
if (typeof __dirname !== 'undefined') {
|
|
14
|
+
return __dirname;
|
|
15
|
+
}
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
return path.dirname(fileURLToPath(import.meta.url));
|
|
19
|
+
}
|