@eggjs/utils 5.0.0-beta.19 → 5.0.0-beta.21
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/dist/deprecated.d.ts +1 -4
- package/dist/deprecated.js +50 -38
- package/dist/error/ImportResolveError.d.ts +4 -7
- package/dist/error/ImportResolveError.js +13 -16
- package/dist/error/index.d.ts +1 -0
- package/dist/error/index.js +2 -0
- package/dist/framework.d.ts +4 -6
- package/dist/framework.js +74 -53
- package/dist/import.d.ts +10 -13
- package/dist/import.js +366 -212
- package/dist/index.d.ts +21 -22
- package/dist/index.js +46 -39
- package/dist/plugin.d.ts +33 -35
- package/dist/plugin.js +105 -99
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +17 -11
- package/package.json +2 -2
- package/dist/_virtual/rolldown_runtime.js +0 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import { getFrameworkPath } from
|
|
2
|
-
import {
|
|
3
|
-
import { getFrameworkOrEggPath } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { getFrameworkPath } from './framework.ts';
|
|
2
|
+
import { getPlugins, getConfig, getLoadUnits } from './plugin.ts';
|
|
3
|
+
import { getFrameworkOrEggPath } from './deprecated.ts';
|
|
4
|
+
export { getFrameworkPath } from './framework.ts';
|
|
5
|
+
export { getPlugins, getConfig, getLoadUnits, getLoader, findEggCore } from './plugin.ts';
|
|
6
|
+
export { getFrameworkOrEggPath } from './deprecated.ts';
|
|
7
|
+
export * from './import.ts';
|
|
8
|
+
export * from './error/index.ts';
|
|
9
9
|
declare const _default: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
getFrameworkPath: typeof getFrameworkPath;
|
|
11
|
+
getPlugins: typeof getPlugins;
|
|
12
|
+
getConfig: typeof getConfig;
|
|
13
|
+
getLoadUnits: typeof getLoadUnits;
|
|
14
|
+
getFrameworkOrEggPath: typeof getFrameworkOrEggPath;
|
|
15
15
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
export default _default;
|
|
17
|
+
export declare const EggType: {
|
|
18
|
+
readonly framework: "framework";
|
|
19
|
+
readonly plugin: "plugin";
|
|
20
|
+
readonly application: "application";
|
|
21
|
+
readonly unknown: "unknown";
|
|
21
22
|
};
|
|
22
|
-
type EggType = (typeof EggType)[keyof typeof EggType];
|
|
23
|
+
export type EggType = (typeof EggType)[keyof typeof EggType];
|
|
23
24
|
/**
|
|
24
25
|
* Detect the type of egg project
|
|
25
26
|
*/
|
|
26
|
-
declare function detectType(baseDir: string): Promise<keyof typeof EggType>;
|
|
27
|
-
//#endregion
|
|
28
|
-
export { EggType, ImportModuleOptions, ImportResolveError, ImportResolveOptions, _default as default, detectType, findEggCore, getConfig, getExtensions, getFrameworkOrEggPath, getFrameworkPath, getLoadUnits, getLoader, getPlugins, getRequire, importModule, importResolve, isESM, isSupportTypeScript };
|
|
27
|
+
export declare function detectType(baseDir: string): Promise<keyof typeof EggType>;
|
package/dist/index.js
CHANGED
|
@@ -1,45 +1,52 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
3
3
|
import { getFrameworkPath } from "./framework.js";
|
|
4
|
-
import {
|
|
4
|
+
import { getPlugins, getConfig, getLoadUnits } from "./plugin.js";
|
|
5
5
|
import { getFrameworkOrEggPath } from "./deprecated.js";
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
// support import { getFrameworkPath } from '@eggjs/utils'
|
|
7
|
+
export { getFrameworkPath } from "./framework.js";
|
|
8
|
+
export { getPlugins, getConfig, getLoadUnits, getLoader, findEggCore } from "./plugin.js";
|
|
9
|
+
export { getFrameworkOrEggPath } from "./deprecated.js";
|
|
10
|
+
export * from "./import.js";
|
|
11
|
+
export * from "./error/index.js";
|
|
12
|
+
// support import utils from '@eggjs/utils'
|
|
13
|
+
export default {
|
|
14
|
+
getFrameworkPath,
|
|
15
|
+
getPlugins,
|
|
16
|
+
getConfig,
|
|
17
|
+
getLoadUnits,
|
|
18
|
+
getFrameworkOrEggPath,
|
|
16
19
|
};
|
|
17
|
-
const EggType = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
export const EggType = {
|
|
21
|
+
framework: 'framework',
|
|
22
|
+
plugin: 'plugin',
|
|
23
|
+
application: 'application',
|
|
24
|
+
unknown: 'unknown',
|
|
22
25
|
};
|
|
23
26
|
/**
|
|
24
|
-
* Detect the type of egg project
|
|
25
|
-
*/
|
|
26
|
-
async function detectType(baseDir) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
* Detect the type of egg project
|
|
28
|
+
*/
|
|
29
|
+
export async function detectType(baseDir) {
|
|
30
|
+
const pkgFile = path.join(baseDir, 'package.json');
|
|
31
|
+
let pkg;
|
|
32
|
+
try {
|
|
33
|
+
await fs.access(pkgFile);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return EggType.unknown;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
pkg = JSON.parse(await fs.readFile(pkgFile, 'utf-8'));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return EggType.unknown;
|
|
43
|
+
}
|
|
44
|
+
if (pkg.egg?.framework) {
|
|
45
|
+
return EggType.framework;
|
|
46
|
+
}
|
|
47
|
+
if (pkg.eggPlugin?.name) {
|
|
48
|
+
return EggType.plugin;
|
|
49
|
+
}
|
|
50
|
+
return EggType.application;
|
|
42
51
|
}
|
|
43
|
-
|
|
44
|
-
//#endregion
|
|
45
|
-
export { EggType, ImportResolveError, src_default as default, detectType, findEggCore, getConfig, getExtensions, getFrameworkOrEggPath, getFrameworkPath, getLoadUnits, getLoader, getPlugins, getRequire, importModule, importResolve, isESM, isSupportTypeScript };
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCwwREFBMEQ7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQywyQ0FBMkM7QUFDM0MsZUFBZTtJQUNiLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsU0FBUztJQUNULFlBQVk7SUFDWixxQkFBcUI7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUNyQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLEVBQUUsUUFBUTtJQUNoQixXQUFXLEVBQUUsYUFBYTtJQUMxQixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUM7QUFHWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVSxDQUFDLE9BQWU7SUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkQsSUFBSSxHQU9ILENBQUM7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUM3QixDQUFDIn0=
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,51 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
env?: string;
|
|
1
|
+
export interface LoaderOptions {
|
|
2
|
+
framework: string;
|
|
3
|
+
baseDir: string;
|
|
4
|
+
env?: string;
|
|
6
5
|
}
|
|
7
|
-
interface Plugin {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/mixin/plugin.js#L203
|
|
20
19
|
*/
|
|
21
|
-
declare function getPlugins(options: LoaderOptions): Promise<Record<string, Plugin>>;
|
|
20
|
+
export declare function getPlugins(options: LoaderOptions): Promise<Record<string, Plugin>>;
|
|
22
21
|
interface Unit {
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
type: 'plugin' | 'framework' | 'app';
|
|
23
|
+
path: string;
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/egg_loader.js#L348
|
|
28
27
|
*/
|
|
29
|
-
declare function getLoadUnits(options: LoaderOptions): Promise<Unit[]>;
|
|
30
|
-
declare function getConfig(options: LoaderOptions): Promise<Record<string, any>>;
|
|
28
|
+
export declare function getLoadUnits(options: LoaderOptions): Promise<Unit[]>;
|
|
29
|
+
export declare function getConfig(options: LoaderOptions): Promise<Record<string, any>>;
|
|
31
30
|
interface IEggLoader {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
loadPlugin(): Promise<void>;
|
|
32
|
+
loadConfig(): Promise<void>;
|
|
33
|
+
config: Record<string, any>;
|
|
34
|
+
getLoadUnits(): Unit[];
|
|
35
|
+
allPlugins: Record<string, Plugin>;
|
|
37
36
|
}
|
|
38
37
|
interface IEggLoaderOptions {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
baseDir: string;
|
|
39
|
+
app: unknown;
|
|
40
|
+
logger: object;
|
|
41
|
+
EggCoreClass?: unknown;
|
|
43
42
|
}
|
|
44
43
|
type EggLoaderImplClass<T = IEggLoader> = new (options: IEggLoaderOptions) => T;
|
|
45
|
-
declare function getLoader(options: LoaderOptions): Promise<IEggLoader>;
|
|
46
|
-
declare function findEggCore(options: LoaderOptions): Promise<{
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
export declare function getLoader(options: LoaderOptions): Promise<IEggLoader>;
|
|
45
|
+
export declare function findEggCore(options: LoaderOptions): Promise<{
|
|
46
|
+
EggCore?: object;
|
|
47
|
+
EggLoader: EggLoaderImplClass;
|
|
49
48
|
}>;
|
|
50
|
-
|
|
51
|
-
export { findEggCore, getConfig, getLoadUnits, getLoader, getPlugins };
|
|
49
|
+
export {};
|
package/dist/plugin.js
CHANGED
|
@@ -1,112 +1,118 @@
|
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import assert from 'node:assert';
|
|
4
|
+
import os from 'node:os';
|
|
5
|
+
import { stat, mkdir, writeFile, realpath } from 'node:fs/promises';
|
|
1
6
|
import { importModule } from "./import.js";
|
|
2
|
-
|
|
3
|
-
import { mkdir, realpath, stat, writeFile } from "node:fs/promises";
|
|
4
|
-
import { debuglog } from "node:util";
|
|
5
|
-
import assert from "node:assert";
|
|
6
|
-
import os from "node:os";
|
|
7
|
-
|
|
8
|
-
//#region src/plugin.ts
|
|
9
|
-
const debug = debuglog("egg/utils/plugin");
|
|
7
|
+
const debug = debuglog('egg/utils/plugin');
|
|
10
8
|
const tmpDir = os.tmpdir();
|
|
11
|
-
function noop() {}
|
|
9
|
+
function noop() { }
|
|
12
10
|
const logger = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
debug: noop,
|
|
12
|
+
info: noop,
|
|
13
|
+
warn: noop,
|
|
14
|
+
error: noop,
|
|
17
15
|
};
|
|
18
16
|
/**
|
|
19
|
-
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/mixin/plugin.js#L203
|
|
20
|
-
*/
|
|
21
|
-
async function getPlugins(options) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/mixin/plugin.js#L203
|
|
18
|
+
*/
|
|
19
|
+
export async function getPlugins(options) {
|
|
20
|
+
const loader = await getLoader(options);
|
|
21
|
+
await loader.loadPlugin();
|
|
22
|
+
return loader.allPlugins;
|
|
25
23
|
}
|
|
26
24
|
/**
|
|
27
|
-
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/egg_loader.js#L348
|
|
28
|
-
*/
|
|
29
|
-
async function getLoadUnits(options) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
* @see https://github.com/eggjs/egg-core/blob/2920f6eade07959d25f5c4f96b154d3fbae877db/lib/loader/egg_loader.js#L348
|
|
26
|
+
*/
|
|
27
|
+
export async function getLoadUnits(options) {
|
|
28
|
+
const loader = await getLoader(options);
|
|
29
|
+
await loader.loadPlugin();
|
|
30
|
+
return loader.getLoadUnits();
|
|
33
31
|
}
|
|
34
|
-
async function getConfig(options) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
export async function getConfig(options) {
|
|
33
|
+
const loader = await getLoader(options);
|
|
34
|
+
await loader.loadPlugin();
|
|
35
|
+
await loader.loadConfig();
|
|
36
|
+
return loader.config;
|
|
39
37
|
}
|
|
40
38
|
async function exists(filepath) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
try {
|
|
40
|
+
await stat(filepath);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
47
46
|
}
|
|
48
|
-
async function getLoader(options) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
47
|
+
export async function getLoader(options) {
|
|
48
|
+
assert(options.framework, 'framework is required');
|
|
49
|
+
assert(await exists(options.framework), `${options.framework} should exist`);
|
|
50
|
+
if (!(options.baseDir && (await exists(options.baseDir)))) {
|
|
51
|
+
options.baseDir = path.join(tmpDir, 'egg_utils', `${Date.now()}`, 'tmp_app');
|
|
52
|
+
await mkdir(options.baseDir, { recursive: true });
|
|
53
|
+
await writeFile(path.join(options.baseDir, 'package.json'), JSON.stringify({
|
|
54
|
+
name: 'tmp_app',
|
|
55
|
+
type: 'module',
|
|
56
|
+
}));
|
|
57
|
+
debug('[getLoader] create baseDir: %o', options.baseDir);
|
|
58
|
+
}
|
|
59
|
+
const { EggCore, EggLoader } = await findEggCore(options);
|
|
60
|
+
const mod = await importModule(options.framework);
|
|
61
|
+
const Application = mod.Application ?? mod.default?.Application;
|
|
62
|
+
assert(Application, `Application not export on ${options.framework}`);
|
|
63
|
+
if (options.env) {
|
|
64
|
+
process.env.EGG_SERVER_ENV = options.env;
|
|
65
|
+
}
|
|
66
|
+
return new EggLoader({
|
|
67
|
+
baseDir: options.baseDir,
|
|
68
|
+
logger,
|
|
69
|
+
app: Object.create(Application.prototype),
|
|
70
|
+
EggCoreClass: EggCore,
|
|
71
|
+
});
|
|
71
72
|
}
|
|
72
|
-
async function findEggCore(options) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
73
|
+
export async function findEggCore(options) {
|
|
74
|
+
const baseDirRealpath = await realpath(options.baseDir);
|
|
75
|
+
const frameworkRealpath = await realpath(options.framework);
|
|
76
|
+
const paths = [frameworkRealpath, baseDirRealpath];
|
|
77
|
+
// custom framework => egg => @eggjs/core
|
|
78
|
+
try {
|
|
79
|
+
const { EggCore, EggLoader } = await importModule('egg', { paths });
|
|
80
|
+
if (EggLoader) {
|
|
81
|
+
return { EggCore, EggLoader };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
debug('[findEggCore] import "egg" from paths:%o error: %o', paths, err);
|
|
86
|
+
}
|
|
87
|
+
// egg-core 在 6.2.3 版本中更名为 @eggjs/core,为兼容老版本,支持同时查找两个包,优先使用新名字
|
|
88
|
+
const names = ['@eggjs/core', 'egg-core'];
|
|
89
|
+
for (const name of names) {
|
|
90
|
+
try {
|
|
91
|
+
const { EggCore, EggLoader } = await importModule(name, { paths });
|
|
92
|
+
if (EggLoader) {
|
|
93
|
+
return { EggCore, EggLoader };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
debug('[findEggCore] import "%s" from paths:%o error: %o', name, paths, err);
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
const { EggCore, EggLoader } = await importModule(name);
|
|
101
|
+
if (EggLoader) {
|
|
102
|
+
return { EggCore, EggLoader };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
debug('[findEggCore] import "%s" error: %o', name, err);
|
|
107
|
+
}
|
|
108
|
+
let eggCorePath = path.join(options.baseDir, `node_modules/${name}`);
|
|
109
|
+
if (!(await exists(eggCorePath))) {
|
|
110
|
+
eggCorePath = path.join(options.framework, `node_modules/${name}`);
|
|
111
|
+
}
|
|
112
|
+
if (await exists(eggCorePath)) {
|
|
113
|
+
return await importModule(eggCorePath);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
assert(false, `Can't find ${names.join(' or ')} from ${options.baseDir} and ${options.framework}`);
|
|
109
117
|
}
|
|
110
|
-
|
|
111
|
-
//#endregion
|
|
112
|
-
export { findEggCore, getConfig, getLoadUnits, getLoader, getPlugins };
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUUzQixTQUFTLElBQUksS0FBSSxDQUFDO0FBRWxCLE1BQU0sTUFBTSxHQUFHO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBb0JGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxVQUFVLENBQUMsT0FBc0I7SUFDckQsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDMUIsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDO0FBQzNCLENBQUM7QUFPRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLE9BQXNCO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFD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
|
package/dist/utils.d.ts
ADDED
package/dist/utils.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
export function readJSONSync(file) {
|
|
5
|
+
if (!existsSync(file)) {
|
|
6
|
+
throw new Error(`${file} is not found`);
|
|
7
|
+
}
|
|
8
|
+
return JSON.parse(readFileSync(file, 'utf-8'));
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVU7SUFDeEIsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsNkRBQTZEO0lBQzdELGFBQWE7SUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/utils",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.21",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=22.18.0"
|
|
6
6
|
},
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"typescript": "^5.9.3"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
|
-
"build": "tsdown",
|
|
43
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
44
44
|
"lint": "oxlint --type-aware",
|
|
45
45
|
"typecheck": "tsc --noEmit",
|
|
46
46
|
"test": "vitest run"
|