@eggjs/tegg-config 4.0.0-beta.34 → 4.0.0-beta.36
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/agent.d.ts +2 -2
- package/dist/agent.js +7 -3
- package/dist/app.d.ts +10 -6
- package/dist/app.js +40 -36
- package/dist/config/config.default.d.ts +5 -2
- package/dist/config/config.default.js +9 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -2
- package/dist/lib/ModuleScanner.d.ts +14 -10
- package/dist/lib/ModuleScanner.js +38 -43
- package/dist/types.d.ts +18 -17
- package/dist/types.js +1 -2
- package/package.json +33 -37
package/dist/agent.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default
|
|
1
|
+
import App from "./app.js";
|
|
2
|
+
export { App as default };
|
package/dist/agent.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
//#
|
|
1
|
+
import App from "./app.js";
|
|
2
|
+
|
|
3
|
+
//#region src/agent.ts
|
|
4
|
+
var agent_default = App;
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { agent_default as default };
|
package/dist/app.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Application, ILifecycleBoot } from "egg";
|
|
2
|
+
|
|
3
|
+
//#region src/app.d.ts
|
|
4
|
+
declare class App implements ILifecycleBoot {
|
|
5
|
+
private readonly app;
|
|
6
|
+
constructor(app: Application);
|
|
7
|
+
configWillLoad(): void;
|
|
8
|
+
beforeClose(): Promise<void>;
|
|
7
9
|
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { App as default };
|
package/dist/app.js
CHANGED
|
@@ -1,37 +1,41 @@
|
|
|
1
|
-
import { debuglog } from 'node:util';
|
|
2
|
-
import { ModuleConfigUtil } from '@eggjs/tegg-common-util';
|
|
3
1
|
import { ModuleScanner } from "./lib/ModuleScanner.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
2
|
+
import { debuglog } from "node:util";
|
|
3
|
+
import { ModuleConfigUtil } from "@eggjs/tegg-common-util";
|
|
4
|
+
|
|
5
|
+
//#region src/app.ts
|
|
6
|
+
const debug = debuglog("egg/tegg/plugin/config/app");
|
|
7
|
+
var App = class {
|
|
8
|
+
app;
|
|
9
|
+
constructor(app) {
|
|
10
|
+
this.app = app;
|
|
11
|
+
const configNames = this.app.loader.getTypeFiles("module");
|
|
12
|
+
ModuleConfigUtil.setConfigNames(configNames);
|
|
13
|
+
}
|
|
14
|
+
configWillLoad() {
|
|
15
|
+
const { readModuleOptions } = this.app.config.tegg;
|
|
16
|
+
const moduleScanner = new ModuleScanner(this.app.baseDir, readModuleOptions);
|
|
17
|
+
this.app.moduleReferences = moduleScanner.loadModuleReferences();
|
|
18
|
+
debug("load moduleReferences: %o", this.app.moduleReferences);
|
|
19
|
+
this.app.moduleConfigs = {};
|
|
20
|
+
for (const reference of this.app.moduleReferences) {
|
|
21
|
+
const absoluteRef = {
|
|
22
|
+
path: ModuleConfigUtil.resolveModuleDir(reference.path, this.app.baseDir),
|
|
23
|
+
name: reference.name,
|
|
24
|
+
optional: reference.optional
|
|
25
|
+
};
|
|
26
|
+
const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
|
|
27
|
+
this.app.moduleConfigs[moduleName] = {
|
|
28
|
+
name: moduleName,
|
|
29
|
+
reference: absoluteRef,
|
|
30
|
+
config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
debug("load moduleConfigs: %o", this.app.moduleConfigs);
|
|
34
|
+
}
|
|
35
|
+
async beforeClose() {
|
|
36
|
+
ModuleConfigUtil.setConfigNames(void 0);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { App as default };
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { EggAppInfo, PartialEggConfig } from "egg";
|
|
2
|
+
|
|
3
|
+
//#region src/config/config.default.d.ts
|
|
2
4
|
declare function configFactory(appInfo: EggAppInfo): PartialEggConfig;
|
|
3
|
-
|
|
5
|
+
//#endregion
|
|
6
|
+
export { configFactory as default };
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
+
//#region src/config/config.default.ts
|
|
1
2
|
function configFactory(appInfo) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
deep: 10,
|
|
7
|
-
cwd: appInfo.baseDir,
|
|
8
|
-
},
|
|
9
|
-
},
|
|
10
|
-
};
|
|
3
|
+
return { tegg: { readModuleOptions: {
|
|
4
|
+
deep: 10,
|
|
5
|
+
cwd: appInfo.baseDir
|
|
6
|
+
} } };
|
|
11
7
|
}
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
var config_default_default = configFactory;
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { config_default_default as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==
|
|
1
|
+
export { };
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { ModuleReference, ReadModuleReferenceOptions } from "@eggjs/tegg-common-util";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/ModuleScanner.d.ts
|
|
4
|
+
declare class ModuleScanner {
|
|
5
|
+
private readonly baseDir;
|
|
6
|
+
private readonly readModuleOptions;
|
|
7
|
+
constructor(baseDir: string, readModuleOptions: ReadModuleReferenceOptions);
|
|
8
|
+
/**
|
|
9
|
+
* - load module references from config or scan from baseDir
|
|
10
|
+
* - load framework module as optional module reference
|
|
11
|
+
*/
|
|
12
|
+
loadModuleReferences(): readonly ModuleReference[];
|
|
11
13
|
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ModuleScanner };
|
|
@@ -1,43 +1,38 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import { importResolve } from
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvTW9kdWxlU2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBeUQsTUFBTSx5QkFBeUIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sT0FBTyxhQUFhO0lBQ1AsT0FBTyxDQUFTO0lBQ2hCLGlCQUFpQixDQUE2QjtJQUUvRCxZQUFZLE9BQWUsRUFBRSxpQkFBNkM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0I7UUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRyxNQUFNLE1BQU0sR0FBcUMsSUFBSSxDQUFDLEtBQUssQ0FDekQsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDL0QsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxHQUFHLFNBQVMsZUFBZSxFQUFFO1lBQzlELEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxLQUFLLENBQUMseURBQXlELEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFGLE1BQU0sd0JBQXdCLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsSCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztRQUNyQyxLQUFLLE1BQU0sdUJBQXVCLElBQUksd0JBQXdCLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLEdBQUcsdUJBQXVCO29CQUMxQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiJ9
|
|
1
|
+
import { debuglog } from "node:util";
|
|
2
|
+
import { ModuleConfigUtil } from "@eggjs/tegg-common-util";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { importResolve } from "@eggjs/utils";
|
|
6
|
+
|
|
7
|
+
//#region src/lib/ModuleScanner.ts
|
|
8
|
+
const debug = debuglog("egg/tegg/plugin/config/ModuleScanner");
|
|
9
|
+
var ModuleScanner = class {
|
|
10
|
+
baseDir;
|
|
11
|
+
readModuleOptions;
|
|
12
|
+
constructor(baseDir, readModuleOptions) {
|
|
13
|
+
this.baseDir = baseDir;
|
|
14
|
+
this.readModuleOptions = readModuleOptions;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* - load module references from config or scan from baseDir
|
|
18
|
+
* - load framework module as optional module reference
|
|
19
|
+
*/
|
|
20
|
+
loadModuleReferences() {
|
|
21
|
+
const moduleReferences = ModuleConfigUtil.readModuleReference(this.baseDir, this.readModuleOptions || {});
|
|
22
|
+
const framework = JSON.parse(readFileSync(path.join(this.baseDir, "package.json"), "utf-8")).egg?.framework;
|
|
23
|
+
if (!framework) return moduleReferences;
|
|
24
|
+
const frameworkPkg = importResolve(`${framework}/package.json`, { paths: [this.baseDir] });
|
|
25
|
+
const frameworkDir = path.dirname(frameworkPkg);
|
|
26
|
+
debug("loadModuleReferences from framework:%o, frameworkDir:%o", framework, frameworkDir);
|
|
27
|
+
const optionalModuleReferences = ModuleConfigUtil.readModuleReference(frameworkDir, this.readModuleOptions || {});
|
|
28
|
+
const result = [...moduleReferences];
|
|
29
|
+
for (const optionalModuleReference of optionalModuleReferences) if (!result.some((t) => t.path === optionalModuleReference.path)) result.push({
|
|
30
|
+
...optionalModuleReference,
|
|
31
|
+
optional: true
|
|
32
|
+
});
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { ModuleScanner };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
1
|
+
import { ModuleConfigHolder, ModuleReference, ReadModuleReferenceOptions } from "@eggjs/tegg-common-util";
|
|
2
|
+
|
|
3
|
+
//#region src/types.d.ts
|
|
4
|
+
declare module "egg" {
|
|
5
|
+
interface EggAppConfig {
|
|
6
|
+
/**
|
|
7
|
+
* tegg config
|
|
8
|
+
*/
|
|
9
|
+
tegg: {
|
|
10
|
+
readModuleOptions: ReadModuleReferenceOptions;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
interface ModuleConfig {}
|
|
14
|
+
interface EggApplicationCore {
|
|
15
|
+
moduleReferences: readonly ModuleReference[];
|
|
16
|
+
moduleConfigs: Record<string, ModuleConfigHolder>;
|
|
17
|
+
}
|
|
18
|
+
}
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
1
|
+
export { };
|
package/package.json
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-config",
|
|
3
|
-
"
|
|
4
|
-
"name": "teggConfig"
|
|
5
|
-
},
|
|
6
|
-
"version": "4.0.0-beta.34",
|
|
3
|
+
"version": "4.0.0-beta.36",
|
|
7
4
|
"description": "module config plugin for egg",
|
|
8
5
|
"keywords": [
|
|
6
|
+
"config",
|
|
9
7
|
"egg",
|
|
10
|
-
"plugin",
|
|
11
|
-
"typescript",
|
|
12
8
|
"module",
|
|
13
|
-
"
|
|
14
|
-
"tegg"
|
|
9
|
+
"plugin",
|
|
10
|
+
"tegg",
|
|
11
|
+
"typescript"
|
|
15
12
|
],
|
|
13
|
+
"homepage": "https://github.com/eggjs/egg/tree/next/tegg/plugin/config",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/eggjs/egg/issues"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/eggjs/egg.git",
|
|
20
|
+
"directory": "tegg/plugin/config"
|
|
21
|
+
},
|
|
16
22
|
"files": [
|
|
17
23
|
"dist"
|
|
18
24
|
],
|
|
19
25
|
"type": "module",
|
|
26
|
+
"main": "./dist/index.js",
|
|
27
|
+
"module": "./dist/index.js",
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
20
29
|
"exports": {
|
|
21
30
|
".": "./dist/index.js",
|
|
22
31
|
"./agent": "./dist/agent.js",
|
|
@@ -26,42 +35,29 @@
|
|
|
26
35
|
"./types": "./dist/types.js",
|
|
27
36
|
"./package.json": "./package.json"
|
|
28
37
|
},
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
"url": "https://github.com/eggjs/egg/issues"
|
|
32
|
-
},
|
|
33
|
-
"repository": {
|
|
34
|
-
"type": "git",
|
|
35
|
-
"url": "git@github.com:eggjs/egg.git",
|
|
36
|
-
"directory": "tegg/plugin/config"
|
|
37
|
-
},
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=22.18.0"
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@eggjs/tegg-common-util": "4.0.0-beta.
|
|
43
|
-
"@eggjs/utils": "5.0.0-beta.
|
|
44
|
-
},
|
|
45
|
-
"peerDependencies": {
|
|
46
|
-
"egg": "4.1.0-beta.34"
|
|
42
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.36",
|
|
43
|
+
"@eggjs/utils": "5.0.0-beta.36"
|
|
47
44
|
},
|
|
48
45
|
"devDependencies": {
|
|
49
|
-
"@types/node": "^24.
|
|
46
|
+
"@types/node": "^24.10.2",
|
|
50
47
|
"typescript": "^5.9.3",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"@eggjs/mock": "7.0.0-beta.34",
|
|
54
|
-
"egg": "4.1.0-beta.34"
|
|
48
|
+
"egg": "4.1.0-beta.36",
|
|
49
|
+
"@eggjs/mock": "7.0.0-beta.36"
|
|
55
50
|
},
|
|
56
|
-
"
|
|
57
|
-
"
|
|
51
|
+
"peerDependencies": {
|
|
52
|
+
"egg": "4.1.0-beta.36"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=22.18.0"
|
|
56
|
+
},
|
|
57
|
+
"eggPlugin": {
|
|
58
|
+
"name": "teggConfig"
|
|
58
59
|
},
|
|
59
|
-
"main": "./dist/index.js",
|
|
60
|
-
"module": "./dist/index.js",
|
|
61
|
-
"types": "./dist/index.d.ts",
|
|
62
60
|
"scripts": {
|
|
63
|
-
"
|
|
64
|
-
"build": "tsdown && npm run clean && tsc -p tsconfig.build.json",
|
|
65
|
-
"typecheck": "tsc --noEmit"
|
|
61
|
+
"typecheck": "tsgo --noEmit"
|
|
66
62
|
}
|
|
67
63
|
}
|