@eggjs/utils 4.4.0 → 4.5.0-beta.10
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 +1 -6
- package/dist/_virtual/rolldown_runtime.js +7 -0
- package/dist/{commonjs/deprecated.d.ts → deprecated.d.ts} +4 -1
- package/dist/deprecated.js +41 -0
- package/dist/error/ImportResolveError.d.ts +8 -0
- package/dist/error/ImportResolveError.js +16 -0
- package/dist/{commonjs/framework.d.ts → framework.d.ts} +6 -4
- package/dist/framework.js +60 -0
- package/dist/import.d.ts +15 -0
- package/dist/import.js +231 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +45 -0
- package/dist/plugin.d.ts +51 -0
- package/dist/plugin.js +112 -0
- package/dist/utils.js +12 -0
- package/package.json +29 -58
- package/dist/commonjs/deprecated.js +0 -59
- package/dist/commonjs/error/ImportResolveError.d.ts +0 -5
- package/dist/commonjs/error/ImportResolveError.js +0 -17
- package/dist/commonjs/error/index.d.ts +0 -1
- package/dist/commonjs/error/index.js +0 -18
- package/dist/commonjs/framework.js +0 -84
- package/dist/commonjs/import.d.ts +0 -11
- package/dist/commonjs/import.js +0 -326
- package/dist/commonjs/index.d.ts +0 -26
- package/dist/commonjs/index.js +0 -77
- package/dist/commonjs/package.json +0 -3
- package/dist/commonjs/plugin.d.ts +0 -30
- package/dist/commonjs/plugin.js +0 -125
- package/dist/commonjs/utils.d.ts +0 -2
- package/dist/commonjs/utils.js +0 -25
- package/dist/esm/deprecated.d.ts +0 -10
- package/dist/esm/deprecated.js +0 -53
- package/dist/esm/error/ImportResolveError.d.ts +0 -5
- package/dist/esm/error/ImportResolveError.js +0 -13
- package/dist/esm/error/index.d.ts +0 -1
- package/dist/esm/error/index.js +0 -2
- package/dist/esm/framework.d.ts +0 -16
- package/dist/esm/framework.js +0 -78
- package/dist/esm/import.d.ts +0 -11
- package/dist/esm/import.js +0 -316
- package/dist/esm/index.d.ts +0 -26
- package/dist/esm/index.js +0 -51
- package/dist/esm/package.json +0 -3
- package/dist/esm/plugin.d.ts +0 -30
- package/dist/esm/plugin.js +0 -117
- package/dist/esm/utils.d.ts +0 -2
- package/dist/esm/utils.js +0 -18
- package/dist/package.json +0 -4
- package/src/deprecated.ts +0 -58
- package/src/error/ImportResolveError.ts +0 -13
- package/src/error/index.ts +0 -1
- package/src/framework.ts +0 -92
- package/src/import.ts +0 -344
- package/src/index.ts +0 -58
- package/src/plugin.ts +0 -167
- package/src/utils.ts +0 -19
package/dist/commonjs/import.js
DELETED
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isESM = void 0;
|
|
7
|
-
exports.getExtensions = getExtensions;
|
|
8
|
-
exports.isSupportTypeScript = isSupportTypeScript;
|
|
9
|
-
exports.importResolve = importResolve;
|
|
10
|
-
exports.importModule = importModule;
|
|
11
|
-
const node_util_1 = require("node:util");
|
|
12
|
-
const node_module_1 = require("node:module");
|
|
13
|
-
const node_url_1 = require("node:url");
|
|
14
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
16
|
-
const index_js_1 = require("./error/index.js");
|
|
17
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/utils/import');
|
|
18
|
-
exports.isESM = typeof require === 'undefined';
|
|
19
|
-
const nodeMajorVersion = parseInt(process.versions.node.split('.', 1)[0], 10);
|
|
20
|
-
const supportImportMetaResolve = nodeMajorVersion >= 18;
|
|
21
|
-
let _customRequire;
|
|
22
|
-
function getRequire() {
|
|
23
|
-
if (!_customRequire) {
|
|
24
|
-
if (typeof require !== 'undefined') {
|
|
25
|
-
_customRequire = require;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
_customRequire = (0, node_module_1.createRequire)(process.cwd());
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return _customRequire;
|
|
32
|
-
}
|
|
33
|
-
function getExtensions() {
|
|
34
|
-
return getRequire().extensions;
|
|
35
|
-
}
|
|
36
|
-
let _supportTypeScript;
|
|
37
|
-
function isSupportTypeScript() {
|
|
38
|
-
if (_supportTypeScript === undefined) {
|
|
39
|
-
const extensions = getExtensions();
|
|
40
|
-
// enable ts by process.env.EGG_TS_ENABLE or process.env.VITEST
|
|
41
|
-
_supportTypeScript = extensions['.ts'] !== undefined || process.env.VITEST === 'true' || process.env.EGG_TS_ENABLE === 'true';
|
|
42
|
-
debug('[isSupportTypeScript] %o, extensions: %j, process.env.VITEST: %j, process.env.EGG_TS_ENABLE: %j', _supportTypeScript, Object.keys(extensions), process.env.VITEST, process.env.EGG_TS_ENABLE);
|
|
43
|
-
}
|
|
44
|
-
return _supportTypeScript;
|
|
45
|
-
}
|
|
46
|
-
function tryToResolveFromFile(filepath) {
|
|
47
|
-
// "type": "module", try index.mjs then index.js
|
|
48
|
-
const type = exports.isESM ? 'module' : 'commonjs';
|
|
49
|
-
let mainIndexFile = '';
|
|
50
|
-
if (type === 'module') {
|
|
51
|
-
mainIndexFile = filepath + '.mjs';
|
|
52
|
-
if (node_fs_1.default.existsSync(mainIndexFile)) {
|
|
53
|
-
debug('[tryToResolveFromFile] %o, use index.mjs, type: %o', mainIndexFile, type);
|
|
54
|
-
return mainIndexFile;
|
|
55
|
-
}
|
|
56
|
-
mainIndexFile = filepath + '.js';
|
|
57
|
-
if (node_fs_1.default.existsSync(mainIndexFile)) {
|
|
58
|
-
debug('[tryToResolveFromFile] %o, use index.js, type: %o', mainIndexFile, type);
|
|
59
|
-
return mainIndexFile;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
// "type": "commonjs", try index.js then index.cjs
|
|
64
|
-
mainIndexFile = filepath + '.cjs';
|
|
65
|
-
if (node_fs_1.default.existsSync(mainIndexFile)) {
|
|
66
|
-
debug('[tryToResolveFromFile] %o, use index.cjs, type: %o', mainIndexFile, type);
|
|
67
|
-
return mainIndexFile;
|
|
68
|
-
}
|
|
69
|
-
mainIndexFile = filepath + '.js';
|
|
70
|
-
if (node_fs_1.default.existsSync(mainIndexFile)) {
|
|
71
|
-
debug('[tryToResolveFromFile] %o, use index.js, type: %o', mainIndexFile, type);
|
|
72
|
-
return mainIndexFile;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (!isSupportTypeScript()) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
// for the module under development
|
|
79
|
-
mainIndexFile = filepath + '.ts';
|
|
80
|
-
if (node_fs_1.default.existsSync(mainIndexFile)) {
|
|
81
|
-
debug('[tryToResolveFromFile] %o, use index.ts, type: %o', mainIndexFile, type);
|
|
82
|
-
return mainIndexFile;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
function tryToResolveByDirnameFromPackage(dirname, pkg) {
|
|
86
|
-
// try to read pkg.main or pkg.module first
|
|
87
|
-
// "main": "./dist/commonjs/index.js",
|
|
88
|
-
// "module": "./dist/esm/index.js"
|
|
89
|
-
const defaultMainFile = exports.isESM ? pkg.module ?? pkg.main : pkg.main;
|
|
90
|
-
if (defaultMainFile) {
|
|
91
|
-
const mainIndexFilePath = node_path_1.default.join(dirname, defaultMainFile);
|
|
92
|
-
if (node_fs_1.default.existsSync(mainIndexFilePath)) {
|
|
93
|
-
debug('[tryToResolveByDirnameFromPackage] %o, use pkg.main or pkg.module: %o, isESM: %s', mainIndexFilePath, defaultMainFile, exports.isESM);
|
|
94
|
-
return mainIndexFilePath;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// "type": "module", try index.mjs then index.js
|
|
98
|
-
const type = pkg?.type ?? (exports.isESM ? 'module' : 'commonjs');
|
|
99
|
-
if (type === 'module') {
|
|
100
|
-
const mainIndexFilePath = node_path_1.default.join(dirname, 'index.mjs');
|
|
101
|
-
if (node_fs_1.default.existsSync(mainIndexFilePath)) {
|
|
102
|
-
debug('[tryToResolveByDirnameFromPackage] %o, use index.mjs, pkg.type: %o', mainIndexFilePath, type);
|
|
103
|
-
return mainIndexFilePath;
|
|
104
|
-
}
|
|
105
|
-
const mainIndexMjsFilePath = node_path_1.default.join(dirname, 'index.js');
|
|
106
|
-
if (node_fs_1.default.existsSync(mainIndexMjsFilePath)) {
|
|
107
|
-
debug('[tryToResolveByDirnameFromPackage] %o, use index.js, pkg.type: %o', mainIndexMjsFilePath, type);
|
|
108
|
-
return mainIndexMjsFilePath;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
// "type": "commonjs", try index.cjs then index.js
|
|
113
|
-
const mainIndexFilePath = node_path_1.default.join(dirname, 'index.cjs');
|
|
114
|
-
if (node_fs_1.default.existsSync(mainIndexFilePath)) {
|
|
115
|
-
debug('[tryToResolveByDirnameFromPackage] %o, use index.cjs, pkg.type: %o', mainIndexFilePath, type);
|
|
116
|
-
return mainIndexFilePath;
|
|
117
|
-
}
|
|
118
|
-
const mainIndexCjsFilePath = node_path_1.default.join(dirname, 'index.js');
|
|
119
|
-
if (node_fs_1.default.existsSync(mainIndexCjsFilePath)) {
|
|
120
|
-
debug('[tryToResolveByDirnameFromPackage] %o, use index.js, pkg.type: %o', mainIndexCjsFilePath, type);
|
|
121
|
-
return mainIndexCjsFilePath;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if (!isSupportTypeScript()) {
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
// for the module under development
|
|
128
|
-
// "tshy": {
|
|
129
|
-
// "exports": {
|
|
130
|
-
// "./package.json": "./package.json",
|
|
131
|
-
// ".": "./src/index.ts"
|
|
132
|
-
// }
|
|
133
|
-
// }
|
|
134
|
-
const mainIndexFile = pkg.tshy?.exports?.['.'] ?? 'index.ts';
|
|
135
|
-
const mainIndexFilePath = node_path_1.default.join(dirname, mainIndexFile);
|
|
136
|
-
if (node_fs_1.default.existsSync(mainIndexFilePath)) {
|
|
137
|
-
return mainIndexFilePath;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
function tryToResolveByDirname(dirname) {
|
|
141
|
-
let pkg = {};
|
|
142
|
-
const pkgFile = node_path_1.default.join(dirname, 'package.json');
|
|
143
|
-
if (node_fs_1.default.existsSync(pkgFile)) {
|
|
144
|
-
pkg = JSON.parse(node_fs_1.default.readFileSync(pkgFile, 'utf-8'));
|
|
145
|
-
}
|
|
146
|
-
return tryToResolveByDirnameFromPackage(dirname, pkg);
|
|
147
|
-
}
|
|
148
|
-
function isRelativePath(filepath) {
|
|
149
|
-
return filepath.startsWith('./')
|
|
150
|
-
|| filepath.startsWith('../')
|
|
151
|
-
|| filepath.startsWith('.\\')
|
|
152
|
-
|| filepath.startsWith('..\\');
|
|
153
|
-
}
|
|
154
|
-
function tryToResolveFromAbsoluteFile(filepath) {
|
|
155
|
-
let moduleFilePath;
|
|
156
|
-
const stat = node_fs_1.default.statSync(filepath, { throwIfNoEntry: false });
|
|
157
|
-
// try to resolve from directory
|
|
158
|
-
if (stat?.isDirectory()) {
|
|
159
|
-
moduleFilePath = tryToResolveByDirname(filepath);
|
|
160
|
-
if (moduleFilePath) {
|
|
161
|
-
return moduleFilePath;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
else if (stat?.isFile()) {
|
|
165
|
-
return filepath;
|
|
166
|
-
}
|
|
167
|
-
// try to resolve from file
|
|
168
|
-
moduleFilePath = tryToResolveFromFile(filepath);
|
|
169
|
-
if (moduleFilePath) {
|
|
170
|
-
return moduleFilePath;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
function importResolve(filepath, options) {
|
|
174
|
-
// find *.json or CommonJS module by require.resolve
|
|
175
|
-
// e.g.: importResolve('egg/package.json', { paths })
|
|
176
|
-
const cwd = process.cwd();
|
|
177
|
-
const paths = options?.paths ?? [cwd];
|
|
178
|
-
let moduleFilePath;
|
|
179
|
-
const isAbsolute = node_path_1.default.isAbsolute(filepath);
|
|
180
|
-
if (isAbsolute) {
|
|
181
|
-
moduleFilePath = tryToResolveFromAbsoluteFile(filepath);
|
|
182
|
-
if (moduleFilePath) {
|
|
183
|
-
debug('[importResolve:isAbsolute] %o => %o', filepath, moduleFilePath);
|
|
184
|
-
return moduleFilePath;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
else if (isRelativePath(filepath)) {
|
|
188
|
-
for (const p of paths) {
|
|
189
|
-
const resolvedPath = node_path_1.default.resolve(p, filepath);
|
|
190
|
-
moduleFilePath = tryToResolveFromAbsoluteFile(resolvedPath);
|
|
191
|
-
if (moduleFilePath) {
|
|
192
|
-
debug('[importResolve:isRelativePath] %o => %o => %o', filepath, resolvedPath, moduleFilePath);
|
|
193
|
-
return moduleFilePath;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
// find from node_modules
|
|
198
|
-
for (const p of paths) {
|
|
199
|
-
let resolvedPath = node_path_1.default.join(p, 'node_modules', filepath);
|
|
200
|
-
moduleFilePath = tryToResolveFromAbsoluteFile(resolvedPath);
|
|
201
|
-
if (moduleFilePath) {
|
|
202
|
-
debug('[importResolve:node_modules] %o => %o => %o', filepath, resolvedPath, moduleFilePath);
|
|
203
|
-
return moduleFilePath;
|
|
204
|
-
}
|
|
205
|
-
// find from parent node_modules
|
|
206
|
-
// non-scoped package, e.g: node_modules/egg
|
|
207
|
-
let parentPath = node_path_1.default.dirname(p);
|
|
208
|
-
if (node_path_1.default.basename(parentPath) === 'node_modules') {
|
|
209
|
-
resolvedPath = node_path_1.default.join(parentPath, filepath);
|
|
210
|
-
moduleFilePath = tryToResolveFromAbsoluteFile(resolvedPath);
|
|
211
|
-
if (moduleFilePath) {
|
|
212
|
-
debug('[importResolve:node_modules] %o => %o => %o', filepath, resolvedPath, moduleFilePath);
|
|
213
|
-
return moduleFilePath;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
// scoped package, e.g: node_modules/@eggjs/tegg
|
|
217
|
-
parentPath = node_path_1.default.dirname(parentPath);
|
|
218
|
-
if (node_path_1.default.basename(parentPath) === 'node_modules') {
|
|
219
|
-
resolvedPath = node_path_1.default.join(parentPath, filepath);
|
|
220
|
-
moduleFilePath = tryToResolveFromAbsoluteFile(resolvedPath);
|
|
221
|
-
if (moduleFilePath) {
|
|
222
|
-
debug('[importResolve:node_modules] %o => %o => %o', filepath, resolvedPath, moduleFilePath);
|
|
223
|
-
return moduleFilePath;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
const extname = node_path_1.default.extname(filepath);
|
|
228
|
-
if ((!isAbsolute && extname === '.json') || !exports.isESM) {
|
|
229
|
-
moduleFilePath = getRequire().resolve(filepath, {
|
|
230
|
-
paths,
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
if (supportImportMetaResolve) {
|
|
235
|
-
try {
|
|
236
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
237
|
-
// @ts-ignore
|
|
238
|
-
moduleFilePath = require.resolve(filepath);
|
|
239
|
-
}
|
|
240
|
-
catch (err) {
|
|
241
|
-
throw new index_js_1.ImportResolveError(filepath, paths, err);
|
|
242
|
-
}
|
|
243
|
-
if (moduleFilePath.startsWith('file://')) {
|
|
244
|
-
// resolve will return file:// URL on Linux and MacOS expect on Windows
|
|
245
|
-
moduleFilePath = (0, node_url_1.fileURLToPath)(moduleFilePath);
|
|
246
|
-
}
|
|
247
|
-
debug('[importResolve] import.meta.resolve %o => %o', filepath, moduleFilePath);
|
|
248
|
-
const stat = node_fs_1.default.statSync(moduleFilePath, { throwIfNoEntry: false });
|
|
249
|
-
if (!stat?.isFile()) {
|
|
250
|
-
throw new TypeError(`Cannot find module ${filepath}, because ${moduleFilePath} does not exists`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
moduleFilePath = getRequire().resolve(filepath);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
debug('[importResolve] %o, options: %o => %o, isESM: %s', filepath, options, moduleFilePath, exports.isESM);
|
|
258
|
-
return moduleFilePath;
|
|
259
|
-
}
|
|
260
|
-
async function importModule(filepath, options) {
|
|
261
|
-
const moduleFilePath = importResolve(filepath, options);
|
|
262
|
-
let obj;
|
|
263
|
-
if (exports.isESM) {
|
|
264
|
-
// esm
|
|
265
|
-
const fileUrl = (0, node_url_1.pathToFileURL)(moduleFilePath).toString();
|
|
266
|
-
obj = await import(fileUrl);
|
|
267
|
-
debug('[importModule] await import %o', fileUrl);
|
|
268
|
-
// {
|
|
269
|
-
// default: { foo: 'bar', one: 1 },
|
|
270
|
-
// foo: 'bar',
|
|
271
|
-
// one: 1,
|
|
272
|
-
// [Symbol(Symbol.toStringTag)]: 'Module'
|
|
273
|
-
// }
|
|
274
|
-
if (obj?.default?.__esModule === true && 'default' in obj?.default) {
|
|
275
|
-
// 兼容 cjs 模拟 esm 的导出格式
|
|
276
|
-
// {
|
|
277
|
-
// __esModule: true,
|
|
278
|
-
// default: {
|
|
279
|
-
// __esModule: true,
|
|
280
|
-
// default: {
|
|
281
|
-
// fn: [Function: fn] { [length]: 0, [name]: 'fn' },
|
|
282
|
-
// foo: 'bar',
|
|
283
|
-
// one: 1
|
|
284
|
-
// }
|
|
285
|
-
// },
|
|
286
|
-
// [Symbol(Symbol.toStringTag)]: 'Module'
|
|
287
|
-
// }
|
|
288
|
-
// 兼容 ts module
|
|
289
|
-
// {
|
|
290
|
-
// default: {
|
|
291
|
-
// [__esModule]: true,
|
|
292
|
-
// default: <ref *1> [Function: default_1] {
|
|
293
|
-
// [length]: 0,
|
|
294
|
-
// [name]: 'default_1',
|
|
295
|
-
// [prototype]: { [constructor]: [Circular *1] }
|
|
296
|
-
// }
|
|
297
|
-
// },
|
|
298
|
-
// [Symbol(Symbol.toStringTag)]: 'Module'
|
|
299
|
-
// }
|
|
300
|
-
obj = obj.default;
|
|
301
|
-
}
|
|
302
|
-
if (options?.importDefaultOnly) {
|
|
303
|
-
if ('default' in obj) {
|
|
304
|
-
obj = obj.default;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
// commonjs
|
|
310
|
-
obj = require(moduleFilePath);
|
|
311
|
-
debug('[importModule] require %o', moduleFilePath);
|
|
312
|
-
if (obj?.__esModule === true && 'default' in obj) {
|
|
313
|
-
// 兼容 cjs 模拟 esm 的导出格式
|
|
314
|
-
// {
|
|
315
|
-
// __esModule: true,
|
|
316
|
-
// default: { fn: [Function: fn], foo: 'bar', one: 1 }
|
|
317
|
-
// }
|
|
318
|
-
obj = obj.default;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
if (debug.enabled) {
|
|
322
|
-
debug('[importModule] return %o => keys: %j', filepath, obj ? Object.keys(obj) : obj);
|
|
323
|
-
}
|
|
324
|
-
return obj;
|
|
325
|
-
}
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFrQ0Esc0NBRUM7QUFHRCxrREFTQztBQXlJRCxzQ0E0RkM7QUFFRCxvQ0FnRUM7QUF2VkQseUNBQXFDO0FBQ3JDLDZDQUE0QztBQUM1Qyx1Q0FBd0Q7QUFDeEQsMERBQTZCO0FBQzdCLHNEQUF5QjtBQUN6QiwrQ0FBc0Q7QUFFdEQsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLHFCQUFxQixDQUFDLENBQUM7QUFXakMsUUFBQSxLQUFLLEdBQUcsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDO0FBQ3BELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDOUUsTUFBTSx3QkFBd0IsR0FBRyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7QUFFeEQsSUFBSSxjQUEyQixDQUFDO0FBQ2hDLFNBQVMsVUFBVTtJQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLE9BQU8sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxHQUFHLElBQUEsMkJBQWEsRUFBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFnQixhQUFhO0lBQzNCLE9BQU8sVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxJQUFJLGtCQUF1QyxDQUFDO0FBQzVDLFNBQWdCLG1CQUFtQjtJQUNqQyxJQUFJLGtCQUFr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
|
package/dist/commonjs/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { getFrameworkPath } from './framework.js';
|
|
2
|
-
import { getPlugins, getConfig, getLoadUnits } from './plugin.js';
|
|
3
|
-
import { getFrameworkOrEggPath } from './deprecated.js';
|
|
4
|
-
export { getFrameworkPath } from './framework.js';
|
|
5
|
-
export { getPlugins, getConfig, getLoadUnits } from './plugin.js';
|
|
6
|
-
export { getFrameworkOrEggPath } from './deprecated.js';
|
|
7
|
-
export * from './import.js';
|
|
8
|
-
export * from './error/index.js';
|
|
9
|
-
declare const _default: {
|
|
10
|
-
getFrameworkPath: typeof getFrameworkPath;
|
|
11
|
-
getPlugins: typeof getPlugins;
|
|
12
|
-
getConfig: typeof getConfig;
|
|
13
|
-
getLoadUnits: typeof getLoadUnits;
|
|
14
|
-
getFrameworkOrEggPath: typeof getFrameworkOrEggPath;
|
|
15
|
-
};
|
|
16
|
-
export default _default;
|
|
17
|
-
export declare enum EggType {
|
|
18
|
-
framework = "framework",
|
|
19
|
-
plugin = "plugin",
|
|
20
|
-
application = "application",
|
|
21
|
-
unknown = "unknown"
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Detect the type of egg project
|
|
25
|
-
*/
|
|
26
|
-
export declare function detectType(baseDir: string): Promise<EggType>;
|
package/dist/commonjs/index.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.EggType = exports.getFrameworkOrEggPath = exports.getLoadUnits = exports.getConfig = exports.getPlugins = exports.getFrameworkPath = void 0;
|
|
21
|
-
exports.detectType = detectType;
|
|
22
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
23
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
24
|
-
const framework_js_1 = require("./framework.js");
|
|
25
|
-
const plugin_js_1 = require("./plugin.js");
|
|
26
|
-
const deprecated_js_1 = require("./deprecated.js");
|
|
27
|
-
// support import { getFrameworkPath } from '@eggjs/utils'
|
|
28
|
-
var framework_js_2 = require("./framework.js");
|
|
29
|
-
Object.defineProperty(exports, "getFrameworkPath", { enumerable: true, get: function () { return framework_js_2.getFrameworkPath; } });
|
|
30
|
-
var plugin_js_2 = require("./plugin.js");
|
|
31
|
-
Object.defineProperty(exports, "getPlugins", { enumerable: true, get: function () { return plugin_js_2.getPlugins; } });
|
|
32
|
-
Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return plugin_js_2.getConfig; } });
|
|
33
|
-
Object.defineProperty(exports, "getLoadUnits", { enumerable: true, get: function () { return plugin_js_2.getLoadUnits; } });
|
|
34
|
-
var deprecated_js_2 = require("./deprecated.js");
|
|
35
|
-
Object.defineProperty(exports, "getFrameworkOrEggPath", { enumerable: true, get: function () { return deprecated_js_2.getFrameworkOrEggPath; } });
|
|
36
|
-
__exportStar(require("./import.js"), exports);
|
|
37
|
-
__exportStar(require("./error/index.js"), exports);
|
|
38
|
-
// support import utils from '@eggjs/utils'
|
|
39
|
-
exports.default = {
|
|
40
|
-
getFrameworkPath: framework_js_1.getFrameworkPath,
|
|
41
|
-
getPlugins: plugin_js_1.getPlugins, getConfig: plugin_js_1.getConfig, getLoadUnits: plugin_js_1.getLoadUnits,
|
|
42
|
-
getFrameworkOrEggPath: deprecated_js_1.getFrameworkOrEggPath,
|
|
43
|
-
};
|
|
44
|
-
var EggType;
|
|
45
|
-
(function (EggType) {
|
|
46
|
-
EggType["framework"] = "framework";
|
|
47
|
-
EggType["plugin"] = "plugin";
|
|
48
|
-
EggType["application"] = "application";
|
|
49
|
-
EggType["unknown"] = "unknown";
|
|
50
|
-
})(EggType || (exports.EggType = EggType = {}));
|
|
51
|
-
/**
|
|
52
|
-
* Detect the type of egg project
|
|
53
|
-
*/
|
|
54
|
-
async function detectType(baseDir) {
|
|
55
|
-
const pkgFile = node_path_1.default.join(baseDir, 'package.json');
|
|
56
|
-
let pkg;
|
|
57
|
-
try {
|
|
58
|
-
await promises_1.default.access(pkgFile);
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return EggType.unknown;
|
|
62
|
-
}
|
|
63
|
-
try {
|
|
64
|
-
pkg = JSON.parse(await promises_1.default.readFile(pkgFile, 'utf-8'));
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
return EggType.unknown;
|
|
68
|
-
}
|
|
69
|
-
if (pkg.egg?.framework) {
|
|
70
|
-
return EggType.framework;
|
|
71
|
-
}
|
|
72
|
-
if (pkg.eggPlugin?.name) {
|
|
73
|
-
return EggType.plugin;
|
|
74
|
-
}
|
|
75
|
-
return EggType.application;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsZ0NBMkJDO0FBekRELDBEQUE2QjtBQUM3QixnRUFBa0M7QUFDbEMsaURBQWtEO0FBQ2xELDJDQUFrRTtBQUNsRSxtREFBd0Q7QUFFeEQsMERBQTBEO0FBQzFELCtDQUFrRDtBQUF6QyxnSEFBQSxnQkFBZ0IsT0FBQTtBQUN6Qix5Q0FBa0U7QUFBekQsdUdBQUEsVUFBVSxPQUFBO0FBQUUsc0dBQUEsU0FBUyxPQUFBO0FBQUUseUdBQUEsWUFBWSxPQUFBO0FBQzVDLGlEQUF3RDtBQUEvQyxzSEFBQSxxQkFBcUIsT0FBQTtBQUM5Qiw4Q0FBNEI7QUFDNUIsbURBQWlDO0FBRWpDLDJDQUEyQztBQUMzQyxrQkFBZTtJQUNiLGdCQUFnQixFQUFoQiwrQkFBZ0I7SUFDaEIsVUFBVSxFQUFWLHNCQUFVLEVBQUUsU0FBUyxFQUFULHFCQUFTLEVBQUUsWUFBWSxFQUFaLHdCQUFZO0lBQ25DLHFCQUFxQixFQUFyQixxQ0FBcUI7Q0FDdEIsQ0FBQztBQUVGLElBQVksT0FLWDtBQUxELFdBQVksT0FBTztJQUNqQixrQ0FBdUIsQ0FBQTtJQUN2Qiw0QkFBaUIsQ0FBQTtJQUNqQixzQ0FBMkIsQ0FBQTtJQUMzQiw4QkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsT0FBTyx1QkFBUCxPQUFPLFFBS2xCO0FBRUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsVUFBVSxDQUFDLE9BQWU7SUFDOUMsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELElBQUksR0FPSCxDQUFDO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLGtCQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUM3QixDQUFDIn0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export interface LoaderOptions {
|
|
2
|
-
framework: string;
|
|
3
|
-
baseDir: string;
|
|
4
|
-
env?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface Plugin {
|
|
7
|
-
name: string;
|
|
8
|
-
version?: string;
|
|
9
|
-
enable: boolean;
|
|
10
|
-
implicitEnable: boolean;
|
|
11
|
-
path: string;
|
|
12
|
-
dependencies: string[];
|
|
13
|
-
optionalDependencies: string[];
|
|
14
|
-
env: string[];
|
|
15
|
-
from: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/mixin/plugin.js#L203
|
|
19
|
-
*/
|
|
20
|
-
export declare function getPlugins(options: LoaderOptions): Promise<Record<string, Plugin>>;
|
|
21
|
-
interface Unit {
|
|
22
|
-
type: 'plugin' | 'framework' | 'app';
|
|
23
|
-
path: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/egg_loader.js#L348
|
|
27
|
-
*/
|
|
28
|
-
export declare function getLoadUnits(options: LoaderOptions): Promise<Unit[]>;
|
|
29
|
-
export declare function getConfig(options: LoaderOptions): Promise<Record<string, any>>;
|
|
30
|
-
export {};
|
package/dist/commonjs/plugin.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPlugins = getPlugins;
|
|
7
|
-
exports.getLoadUnits = getLoadUnits;
|
|
8
|
-
exports.getConfig = getConfig;
|
|
9
|
-
const node_util_1 = require("node:util");
|
|
10
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
12
|
-
const node_os_1 = __importDefault(require("node:os"));
|
|
13
|
-
const promises_1 = require("node:fs/promises");
|
|
14
|
-
const import_js_1 = require("./import.js");
|
|
15
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/utils/plugin');
|
|
16
|
-
const tmpDir = node_os_1.default.tmpdir();
|
|
17
|
-
function noop() { }
|
|
18
|
-
const logger = {
|
|
19
|
-
debug: noop,
|
|
20
|
-
info: noop,
|
|
21
|
-
warn: noop,
|
|
22
|
-
error: noop,
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/mixin/plugin.js#L203
|
|
26
|
-
*/
|
|
27
|
-
async function getPlugins(options) {
|
|
28
|
-
const loader = await getLoader(options);
|
|
29
|
-
await loader.loadPlugin();
|
|
30
|
-
return loader.allPlugins;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/egg_loader.js#L348
|
|
34
|
-
*/
|
|
35
|
-
async function getLoadUnits(options) {
|
|
36
|
-
const loader = await getLoader(options);
|
|
37
|
-
await loader.loadPlugin();
|
|
38
|
-
return loader.getLoadUnits();
|
|
39
|
-
}
|
|
40
|
-
async function getConfig(options) {
|
|
41
|
-
const loader = await getLoader(options);
|
|
42
|
-
await loader.loadPlugin();
|
|
43
|
-
await loader.loadConfig();
|
|
44
|
-
return loader.config;
|
|
45
|
-
}
|
|
46
|
-
async function exists(filepath) {
|
|
47
|
-
try {
|
|
48
|
-
await (0, promises_1.stat)(filepath);
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async function getLoader(options) {
|
|
56
|
-
(0, node_assert_1.default)(options.framework, 'framework is required');
|
|
57
|
-
(0, node_assert_1.default)(await exists(options.framework), `${options.framework} should exist`);
|
|
58
|
-
if (!(options.baseDir && await exists(options.baseDir))) {
|
|
59
|
-
options.baseDir = node_path_1.default.join(tmpDir, 'egg_utils', `${Date.now()}`, 'tmp_app');
|
|
60
|
-
await (0, promises_1.mkdir)(options.baseDir, { recursive: true });
|
|
61
|
-
await (0, promises_1.writeFile)(node_path_1.default.join(options.baseDir, 'package.json'), JSON.stringify({
|
|
62
|
-
name: 'tmp_app',
|
|
63
|
-
}));
|
|
64
|
-
debug('[getLoader] create baseDir: %o', options.baseDir);
|
|
65
|
-
}
|
|
66
|
-
const { EggCore, EggLoader } = await findEggCore(options);
|
|
67
|
-
const mod = await (0, import_js_1.importModule)(options.framework);
|
|
68
|
-
const Application = mod.Application ?? mod.default?.Application;
|
|
69
|
-
(0, node_assert_1.default)(Application, `Application not export on ${options.framework}`);
|
|
70
|
-
if (options.env) {
|
|
71
|
-
process.env.EGG_SERVER_ENV = options.env;
|
|
72
|
-
}
|
|
73
|
-
return new EggLoader({
|
|
74
|
-
baseDir: options.baseDir,
|
|
75
|
-
logger,
|
|
76
|
-
app: Object.create(Application.prototype),
|
|
77
|
-
EggCoreClass: EggCore,
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
async function findEggCore(options) {
|
|
81
|
-
const baseDirRealpath = await (0, promises_1.realpath)(options.baseDir);
|
|
82
|
-
const frameworkRealpath = await (0, promises_1.realpath)(options.framework);
|
|
83
|
-
const paths = [frameworkRealpath, baseDirRealpath];
|
|
84
|
-
// custom framework => egg => @eggjs/core
|
|
85
|
-
try {
|
|
86
|
-
const { EggCore, EggLoader } = await (0, import_js_1.importModule)('egg', { paths });
|
|
87
|
-
if (EggLoader) {
|
|
88
|
-
return { EggCore, EggLoader };
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
debug('[findEggCore] import "egg" from paths:%o error: %o', paths, err);
|
|
93
|
-
}
|
|
94
|
-
// egg-core 在 6.2.3 版本中更名为 @eggjs/core,为兼容老版本,支持同时查找两个包,优先使用新名字
|
|
95
|
-
const names = ['@eggjs/core', 'egg-core'];
|
|
96
|
-
for (const name of names) {
|
|
97
|
-
try {
|
|
98
|
-
const { EggCore, EggLoader } = await (0, import_js_1.importModule)(name, { paths });
|
|
99
|
-
if (EggLoader) {
|
|
100
|
-
return { EggCore, EggLoader };
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (err) {
|
|
104
|
-
debug('[findEggCore] import "%s" from paths:%o error: %o', name, paths, err);
|
|
105
|
-
}
|
|
106
|
-
try {
|
|
107
|
-
const { EggCore, EggLoader } = await (0, import_js_1.importModule)(name);
|
|
108
|
-
if (EggLoader) {
|
|
109
|
-
return { EggCore, EggLoader };
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
catch (err) {
|
|
113
|
-
debug('[findEggCore] import "%s" error: %o', name, err);
|
|
114
|
-
}
|
|
115
|
-
let eggCorePath = node_path_1.default.join(options.baseDir, `node_modules/${name}`);
|
|
116
|
-
if (!(await exists(eggCorePath))) {
|
|
117
|
-
eggCorePath = node_path_1.default.join(options.framework, `node_modules/${name}`);
|
|
118
|
-
}
|
|
119
|
-
if (await exists(eggCorePath)) {
|
|
120
|
-
return await (0, import_js_1.importModule)(eggCorePath);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
(0, node_assert_1.default)(false, `Can't find ${names.join(' or ')} from ${options.baseDir} and ${options.framework}`);
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXlDQSxnQ0FJQztBQVVELG9DQUlDO0FBRUQsOEJBS0M7QUFsRUQseUNBQXFDO0FBQ3JDLDBEQUE2QjtBQUM3Qiw4REFBaUM7QUFDakMsc0RBQXlCO0FBQ3pCLCtDQUFvRTtBQUNwRSwyQ0FBMkM7QUFFM0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFOUMsTUFBTSxNQUFNLEdBQUcsaUJBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUUzQixTQUFTLElBQUksS0FBSSxDQUFDO0FBRWxCLE1BQU0sTUFBTSxHQUFHO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBb0JGOztHQUVHO0FBQ0ksS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFzQjtJQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDM0IsQ0FBQztBQU9EOztHQUVHO0FBQ0ksS0FBSyxVQUFVLFlBQVksQ0FBQyxPQUFzQjtJQUN2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxPQUFzQjtJQUNwRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDdkIsQ0FBQztBQUVELEtBQUssVUFBVSxNQUFNLENBQUMsUUFBZ0I7SUFDcEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFBLGVBQUksRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBbUJELEtBQUssVUFBVSxTQUFTLENBQUMsT0FBc0I7SUFDN0MsSUFBQSxxQkFBTSxFQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNuRCxJQUFBLHFCQUFNLEVBQUMsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsZUFBZSxDQUFDLENBQUM7SUFDN0UsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sSUFBQSxnQkFBSyxFQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRCxNQUFNLElBQUEsb0JBQVMsRUFBQyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDekUsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDLENBQUM7UUFDSixLQUFLLENBQUMsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ2hFLElBQUEscUJBQU0sRUFBQyxXQUFXLEVBQUUsNkJBQTZCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDM0MsQ0FBQztJQUNELE9BQU8sSUFBSSxTQUFTLENBQUM7UUFDbkIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLE1BQU07UUFDTixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1FBQ3pDLFlBQVksRUFBRSxPQUFPO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQXNCO0lBQy9DLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RCxNQUFNLEtBQUssR0FBRyxDQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBRSxDQUFDO0lBQ3JELHlDQUF5QztJQUN6QyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxvREFBb0QsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxNQUFNLEtBQUssR0FBRyxDQUFFLGFBQWEsRUFBRSxVQUFVLENBQUUsQ0FBQztJQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxJQUFBLHdCQUFZLEVBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuRSxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxtREFBbUQsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsSUFBSSxXQUFXLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakMsV0FBVyxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLE1BQU0sSUFBQSx3QkFBWSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBQSxxQkFBTSxFQUFDLEtBQUssRUFBRSxjQUFjLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sUUFBUSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUNyRyxDQUFDIn0=
|
package/dist/commonjs/utils.d.ts
DELETED
package/dist/commonjs/utils.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.readJSONSync = readJSONSync;
|
|
7
|
-
exports.getDirname = getDirname;
|
|
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"));
|
|
11
|
-
function readJSONSync(file) {
|
|
12
|
-
if (!(0, node_fs_1.existsSync)(file)) {
|
|
13
|
-
throw new Error(`${file} is not found`);
|
|
14
|
-
}
|
|
15
|
-
return JSON.parse((0, node_fs_1.readFileSync)(file, 'utf-8'));
|
|
16
|
-
}
|
|
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=
|