@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/index.d.ts CHANGED
@@ -1,28 +1,27 @@
1
- import { getFrameworkPath } from "./framework.js";
2
- import { findEggCore, getConfig, getLoadUnits, getLoader, getPlugins } from "./plugin.js";
3
- import { getFrameworkOrEggPath } from "./deprecated.js";
4
- import { ImportModuleOptions, ImportResolveOptions, getExtensions, getRequire, importModule, importResolve, isESM, isSupportTypeScript } from "./import.js";
5
- import { ImportResolveError } from "./error/ImportResolveError.js";
6
-
7
- //#region src/index.d.ts
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
- getFrameworkPath: typeof getFrameworkPath;
11
- getPlugins: typeof getPlugins;
12
- getConfig: typeof getConfig;
13
- getLoadUnits: typeof getLoadUnits;
14
- getFrameworkOrEggPath: typeof getFrameworkOrEggPath;
10
+ getFrameworkPath: typeof getFrameworkPath;
11
+ getPlugins: typeof getPlugins;
12
+ getConfig: typeof getConfig;
13
+ getLoadUnits: typeof getLoadUnits;
14
+ getFrameworkOrEggPath: typeof getFrameworkOrEggPath;
15
15
  };
16
- declare const EggType: {
17
- readonly framework: "framework";
18
- readonly plugin: "plugin";
19
- readonly application: "application";
20
- readonly unknown: "unknown";
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 { ImportResolveError } from "./error/ImportResolveError.js";
2
- import { getExtensions, getRequire, importModule, importResolve, isESM, isSupportTypeScript } from "./import.js";
1
+ import path from 'node:path';
2
+ import fs from 'node:fs/promises';
3
3
  import { getFrameworkPath } from "./framework.js";
4
- import { findEggCore, getConfig, getLoadUnits, getLoader, getPlugins } from "./plugin.js";
4
+ import { getPlugins, getConfig, getLoadUnits } from "./plugin.js";
5
5
  import { getFrameworkOrEggPath } from "./deprecated.js";
6
- import path from "node:path";
7
- import fs from "node:fs/promises";
8
-
9
- //#region src/index.ts
10
- var src_default = {
11
- getFrameworkPath,
12
- getPlugins,
13
- getConfig,
14
- getLoadUnits,
15
- getFrameworkOrEggPath
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
- framework: "framework",
19
- plugin: "plugin",
20
- application: "application",
21
- unknown: "unknown"
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
- const pkgFile = path.join(baseDir, "package.json");
28
- let pkg;
29
- try {
30
- await fs.access(pkgFile);
31
- } catch {
32
- return EggType.unknown;
33
- }
34
- try {
35
- pkg = JSON.parse(await fs.readFile(pkgFile, "utf-8"));
36
- } catch {
37
- return EggType.unknown;
38
- }
39
- if (pkg.egg?.framework) return EggType.framework;
40
- if (pkg.eggPlugin?.name) return EggType.plugin;
41
- return EggType.application;
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
- //#region src/plugin.d.ts
2
- interface LoaderOptions {
3
- framework: string;
4
- baseDir: string;
5
- env?: string;
1
+ export interface LoaderOptions {
2
+ framework: string;
3
+ baseDir: string;
4
+ env?: string;
6
5
  }
7
- interface Plugin {
8
- name: string;
9
- version?: string;
10
- enable: boolean;
11
- implicitEnable: boolean;
12
- path: string;
13
- dependencies: string[];
14
- optionalDependencies: string[];
15
- env: string[];
16
- from: string;
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
- type: 'plugin' | 'framework' | 'app';
24
- path: string;
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
- loadPlugin(): Promise<void>;
33
- loadConfig(): Promise<void>;
34
- config: Record<string, any>;
35
- getLoadUnits(): Unit[];
36
- allPlugins: Record<string, Plugin>;
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
- baseDir: string;
40
- app: unknown;
41
- logger: object;
42
- EggCoreClass?: unknown;
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
- EggCore?: object;
48
- EggLoader: EggLoaderImplClass;
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
- //#endregion
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
- import path from "node:path";
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
- debug: noop,
14
- info: noop,
15
- warn: noop,
16
- error: noop
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
- const loader = await getLoader(options);
23
- await loader.loadPlugin();
24
- return loader.allPlugins;
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
- const loader = await getLoader(options);
31
- await loader.loadPlugin();
32
- return loader.getLoadUnits();
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
- const loader = await getLoader(options);
36
- await loader.loadPlugin();
37
- await loader.loadConfig();
38
- return loader.config;
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
- try {
42
- await stat(filepath);
43
- return true;
44
- } catch {
45
- return false;
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
- assert(options.framework, "framework is required");
50
- assert(await exists(options.framework), `${options.framework} should exist`);
51
- if (!(options.baseDir && await exists(options.baseDir))) {
52
- options.baseDir = path.join(tmpDir, "egg_utils", `${Date.now()}`, "tmp_app");
53
- await mkdir(options.baseDir, { recursive: true });
54
- await writeFile(path.join(options.baseDir, "package.json"), JSON.stringify({
55
- name: "tmp_app",
56
- type: "module"
57
- }));
58
- debug("[getLoader] create baseDir: %o", options.baseDir);
59
- }
60
- const { EggCore, EggLoader } = await findEggCore(options);
61
- const mod = await importModule(options.framework);
62
- const Application = mod.Application ?? mod.default?.Application;
63
- assert(Application, `Application not export on ${options.framework}`);
64
- if (options.env) process.env.EGG_SERVER_ENV = options.env;
65
- return new EggLoader({
66
- baseDir: options.baseDir,
67
- logger,
68
- app: Object.create(Application.prototype),
69
- EggCoreClass: EggCore
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
- const baseDirRealpath = await realpath(options.baseDir);
74
- const paths = [await realpath(options.framework), baseDirRealpath];
75
- try {
76
- const { EggCore, EggLoader } = await importModule("egg", { paths });
77
- if (EggLoader) return {
78
- EggCore,
79
- EggLoader
80
- };
81
- } catch (err) {
82
- debug("[findEggCore] import \"egg\" from paths:%o error: %o", paths, err);
83
- }
84
- const names = ["@eggjs/core", "egg-core"];
85
- for (const name of names) {
86
- try {
87
- const { EggCore, EggLoader } = await importModule(name, { paths });
88
- if (EggLoader) return {
89
- EggCore,
90
- EggLoader
91
- };
92
- } catch (err) {
93
- debug("[findEggCore] import \"%s\" from paths:%o error: %o", name, paths, err);
94
- }
95
- try {
96
- const { EggCore, EggLoader } = await importModule(name);
97
- if (EggLoader) return {
98
- EggCore,
99
- EggLoader
100
- };
101
- } catch (err) {
102
- debug("[findEggCore] import \"%s\" error: %o", name, err);
103
- }
104
- let eggCorePath = path.join(options.baseDir, `node_modules/${name}`);
105
- if (!await exists(eggCorePath)) eggCorePath = path.join(options.framework, `node_modules/${name}`);
106
- if (await exists(eggCorePath)) return await importModule(eggCorePath);
107
- }
108
- assert(false, `Can't find ${names.join(" or ")} from ${options.baseDir} and ${options.framework}`);
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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
@@ -0,0 +1,2 @@
1
+ export declare function readJSONSync(file: string): any;
2
+ export declare function getDirname(): string;
package/dist/utils.js CHANGED
@@ -1,12 +1,18 @@
1
- import path from "node:path";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import { fileURLToPath } from "node:url";
4
-
5
- //#region src/utils.ts
6
- function readJSONSync(file) {
7
- if (!existsSync(file)) throw new Error(`${file} is not found`);
8
- return JSON.parse(readFileSync(file, "utf-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
- //#endregion
12
- export { readJSONSync };
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.19",
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"
@@ -1,7 +0,0 @@
1
- import { createRequire } from "node:module";
2
-
3
- //#region rolldown:runtime
4
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
5
-
6
- //#endregion
7
- export { __require };