@_tc/template-core 0.0.1-bate.29 → 0.0.1-bate.30
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/cjs/_virtual/_rolldown/runtime.js +37 -0
- package/cjs/app/controller/base.js +28 -20
- package/cjs/app/controller/project.js +59 -49
- package/cjs/app/controller/view.js +14 -13
- package/cjs/app/data/signKey.js +23 -4
- package/cjs/app/extend/db.js +6 -10
- package/cjs/app/extend/generateErrorMessage.js +15 -13
- package/cjs/app/extend/logger.js +34 -71
- package/cjs/app/extend/parsingParamsOnUrl.js +21 -21
- package/cjs/app/extend/render-view.js +23 -22
- package/cjs/app/middleware/api-params-verify.js +61 -61
- package/cjs/app/middleware/api-sign-verify.js +22 -27
- package/cjs/app/middleware/error-handle.js +31 -32
- package/cjs/app/middleware/project-handler.js +20 -20
- package/cjs/app/middleware.js +30 -56
- package/cjs/app/router/project.js +9 -7
- package/cjs/app/router/view.js +6 -4
- package/cjs/app/router-schema/project.js +15 -32
- package/cjs/app/service/bese.js +16 -16
- package/cjs/app/service/project.js +32 -41
- package/cjs/app/type.js +1 -2
- package/cjs/app/typings.js +1 -2
- package/cjs/bundler/dev.js +16 -16
- package/cjs/bundler/index.js +16 -16
- package/cjs/bundler/prod.js +18 -17
- package/cjs/bundler/utils.js +144 -212
- package/cjs/index.js +25 -18
- package/cjs/packages/core/env.js +26 -24
- package/cjs/packages/core/index.js +101 -113
- package/cjs/packages/core/loader/config.js +39 -43
- package/cjs/packages/core/loader/controller.js +25 -32
- package/cjs/packages/core/loader/extend.js +29 -39
- package/cjs/packages/core/loader/middleware.js +28 -36
- package/cjs/packages/core/loader/model.js +98 -123
- package/cjs/packages/core/loader/router-schema.js +32 -33
- package/cjs/packages/core/loader/router.js +46 -61
- package/cjs/packages/core/loader/service.js +21 -22
- package/cjs/packages/core/paths.js +8 -6
- package/cjs/packages/core/types.js +1 -2
- package/cjs/packages/utils/getAllFilesInFolder.js +12 -43
- package/cjs/packages/utils/getAllFnReturnValue.js +1 -6
- package/cjs/packages/utils/index.js +11 -20
- package/cjs/packages/utils/loadFile.js +52 -62
- package/cjs/packages/utils/path.js +25 -58
- package/cjs/packages/utils/runFileFn.js +5 -4
- package/esm/_virtual/_rolldown/runtime.js +32 -0
- package/esm/app/controller/base.js +27 -20
- package/esm/app/controller/project.js +58 -41
- package/esm/app/controller/view.js +13 -11
- package/esm/app/data/signKey.js +10 -1
- package/esm/app/extend/db.js +6 -8
- package/esm/app/extend/generateErrorMessage.js +14 -11
- package/esm/app/extend/logger.js +33 -36
- package/esm/app/extend/parsingParamsOnUrl.js +20 -19
- package/esm/app/extend/render-view.js +18 -15
- package/esm/app/middleware/api-params-verify.js +58 -55
- package/esm/app/middleware/api-sign-verify.js +20 -21
- package/esm/app/middleware/error-handle.js +30 -30
- package/esm/app/middleware/project-handler.js +19 -18
- package/esm/app/middleware.js +22 -47
- package/esm/app/router/project.js +8 -5
- package/esm/app/router/view.js +5 -2
- package/esm/app/router-schema/project.js +14 -30
- package/esm/app/service/bese.js +13 -10
- package/esm/app/service/project.js +31 -33
- package/esm/app/type.js +0 -1
- package/esm/app/typings.js +0 -1
- package/esm/bundler/dev.js +15 -14
- package/esm/bundler/index.js +13 -11
- package/esm/bundler/prod.js +17 -15
- package/esm/bundler/utils.js +136 -169
- package/esm/index.js +16 -11
- package/esm/packages/core/env.js +25 -22
- package/esm/packages/core/index.js +98 -106
- package/esm/packages/core/loader/config.js +39 -41
- package/esm/packages/core/loader/controller.js +25 -30
- package/esm/packages/core/loader/extend.js +28 -36
- package/esm/packages/core/loader/middleware.js +28 -34
- package/esm/packages/core/loader/model.js +97 -118
- package/esm/packages/core/loader/router-schema.js +32 -31
- package/esm/packages/core/loader/router.js +44 -55
- package/esm/packages/core/loader/service.js +21 -20
- package/esm/packages/core/paths.js +7 -4
- package/esm/packages/core/types.js +0 -1
- package/esm/packages/utils/getAllFilesInFolder.js +8 -5
- package/esm/packages/utils/getAllFnReturnValue.js +0 -6
- package/esm/packages/utils/index.js +5 -4
- package/esm/packages/utils/loadFile.js +44 -58
- package/esm/packages/utils/path.js +23 -22
- package/esm/packages/utils/runFileFn.js +4 -1
- package/package.json +10 -8
- package/cjs/app/controller/base.d.ts +0 -12
- package/cjs/app/controller/project.d.ts +0 -10
- package/cjs/app/controller/view.d.ts +0 -7
- package/cjs/app/data/signKey.d.ts +0 -1
- package/cjs/app/extend/db.d.ts +0 -2
- package/cjs/app/extend/generateErrorMessage.d.ts +0 -7
- package/cjs/app/extend/logger.d.ts +0 -11
- package/cjs/app/extend/parsingParamsOnUrl.d.ts +0 -2
- package/cjs/app/extend/render-view.d.ts +0 -3
- package/cjs/app/middleware/api-params-verify.d.ts +0 -4
- package/cjs/app/middleware/api-sign-verify.d.ts +0 -4
- package/cjs/app/middleware/error-handle.d.ts +0 -4
- package/cjs/app/middleware/project-handler.d.ts +0 -4
- package/cjs/app/middleware.d.ts +0 -3
- package/cjs/app/router/project.d.ts +0 -4
- package/cjs/app/router/view.d.ts +0 -4
- package/cjs/app/router-schema/project.d.ts +0 -3
- package/cjs/app/service/bese.d.ts +0 -10
- package/cjs/app/service/project.d.ts +0 -27
- package/cjs/app/type.d.ts +0 -2
- package/cjs/app/typings.d.ts +0 -50
- package/cjs/bundler/dev.d.ts +0 -1
- package/cjs/bundler/index.d.ts +0 -1
- package/cjs/bundler/prod.d.ts +0 -1
- package/cjs/bundler/utils.d.ts +0 -9
- package/cjs/index.d.ts +0 -28
- package/cjs/packages/core/env.d.ts +0 -15
- package/cjs/packages/core/index.d.ts +0 -6
- package/cjs/packages/core/loader/config.d.ts +0 -9
- package/cjs/packages/core/loader/controller.d.ts +0 -17
- package/cjs/packages/core/loader/extend.d.ts +0 -8
- package/cjs/packages/core/loader/middleware.d.ts +0 -11
- package/cjs/packages/core/loader/model.d.ts +0 -36
- package/cjs/packages/core/loader/router-schema.d.ts +0 -18
- package/cjs/packages/core/loader/router.d.ts +0 -8
- package/cjs/packages/core/loader/service.d.ts +0 -17
- package/cjs/packages/core/paths.d.ts +0 -11
- package/cjs/packages/core/types.d.ts +0 -74
- package/cjs/packages/utils/getAllFilesInFolder.d.ts +0 -9
- package/cjs/packages/utils/getAllFnReturnValue.d.ts +0 -0
- package/cjs/packages/utils/index.d.ts +0 -4
- package/cjs/packages/utils/loadFile.d.ts +0 -20
- package/cjs/packages/utils/path.d.ts +0 -24
- package/cjs/packages/utils/runFileFn.d.ts +0 -5
- package/cjs/typings/type.d.ts +0 -4
- package/cjs/typings/type.js +0 -2
- package/esm/app/controller/base.d.ts +0 -13
- package/esm/app/controller/project.d.ts +0 -11
- package/esm/app/controller/view.d.ts +0 -8
- package/esm/app/data/signKey.d.ts +0 -2
- package/esm/app/extend/db.d.ts +0 -3
- package/esm/app/extend/generateErrorMessage.d.ts +0 -8
- package/esm/app/extend/logger.d.ts +0 -12
- package/esm/app/extend/parsingParamsOnUrl.d.ts +0 -3
- package/esm/app/extend/render-view.d.ts +0 -4
- package/esm/app/middleware/api-params-verify.d.ts +0 -5
- package/esm/app/middleware/api-sign-verify.d.ts +0 -5
- package/esm/app/middleware/error-handle.d.ts +0 -5
- package/esm/app/middleware/project-handler.d.ts +0 -5
- package/esm/app/middleware.d.ts +0 -4
- package/esm/app/router/project.d.ts +0 -5
- package/esm/app/router/view.d.ts +0 -5
- package/esm/app/router-schema/project.d.ts +0 -4
- package/esm/app/service/bese.d.ts +0 -11
- package/esm/app/service/project.d.ts +0 -28
- package/esm/app/type.d.ts +0 -3
- package/esm/app/typings.d.ts +0 -51
- package/esm/bundler/dev.d.ts +0 -2
- package/esm/bundler/index.d.ts +0 -2
- package/esm/bundler/prod.d.ts +0 -2
- package/esm/bundler/utils.d.ts +0 -10
- package/esm/index.d.ts +0 -29
- package/esm/packages/core/env.d.ts +0 -16
- package/esm/packages/core/index.d.ts +0 -7
- package/esm/packages/core/loader/config.d.ts +0 -10
- package/esm/packages/core/loader/controller.d.ts +0 -18
- package/esm/packages/core/loader/extend.d.ts +0 -9
- package/esm/packages/core/loader/middleware.d.ts +0 -12
- package/esm/packages/core/loader/model.d.ts +0 -37
- package/esm/packages/core/loader/router-schema.d.ts +0 -19
- package/esm/packages/core/loader/router.d.ts +0 -9
- package/esm/packages/core/loader/service.d.ts +0 -18
- package/esm/packages/core/paths.d.ts +0 -12
- package/esm/packages/core/types.d.ts +0 -75
- package/esm/packages/utils/getAllFilesInFolder.d.ts +0 -10
- package/esm/packages/utils/getAllFnReturnValue.d.ts +0 -1
- package/esm/packages/utils/index.d.ts +0 -5
- package/esm/packages/utils/loadFile.d.ts +0 -21
- package/esm/packages/utils/path.d.ts +0 -25
- package/esm/packages/utils/runFileFn.d.ts +0 -6
- package/esm/typings/type.d.ts +0 -5
- package/esm/typings/type.js +0 -1
|
@@ -1,116 +1,104 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
3
|
+
const require_packages_core_env = require("./env.js");
|
|
4
|
+
const require_packages_core_loader_middleware = require("./loader/middleware.js");
|
|
5
|
+
const require_packages_core_loader_router_schema = require("./loader/router-schema.js");
|
|
6
|
+
const require_packages_core_loader_router = require("./loader/router.js");
|
|
7
|
+
const require_packages_core_loader_controller = require("./loader/controller.js");
|
|
8
|
+
const require_packages_core_loader_service = require("./loader/service.js");
|
|
9
|
+
const require_packages_core_loader_config = require("./loader/config.js");
|
|
10
|
+
const require_packages_core_loader_extend = require("./loader/extend.js");
|
|
11
|
+
const require_packages_core_loader_model = require("./loader/model.js");
|
|
12
|
+
let _tc_utils = require("@tc/utils");
|
|
13
|
+
let koa = require("koa");
|
|
14
|
+
koa = require_runtime.__toESM(koa, 1);
|
|
15
|
+
let _tc_utils_path = require("@tc/utils/path");
|
|
16
|
+
//#region packages/core/index.ts
|
|
17
|
+
var loaderModel = require_packages_core_loader_model;
|
|
18
|
+
var start = (options = {}) => {
|
|
19
|
+
const app = new koa.default();
|
|
20
|
+
const { frameBaseDir: _frameBaseDir, ..._options } = options;
|
|
21
|
+
app.options = _options;
|
|
22
|
+
const baseDir = app.baseDir = process.cwd();
|
|
23
|
+
const frameBaseDir = app.frameBaseDir = _frameBaseDir ?? (0, _tc_utils_path.resolve)(__dirname, "..");
|
|
24
|
+
app.businessPath = (0, _tc_utils_path.resolve)(baseDir, "app");
|
|
25
|
+
app.framePath = (0, _tc_utils_path.resolve)(frameBaseDir, "app");
|
|
26
|
+
app.paths = [{
|
|
27
|
+
type: "frame",
|
|
28
|
+
path: app.framePath
|
|
29
|
+
}, {
|
|
30
|
+
type: "business",
|
|
31
|
+
path: app.businessPath
|
|
32
|
+
}];
|
|
33
|
+
app.envs = require_packages_core_env();
|
|
34
|
+
console.log(`-- [start] env: ${app.envs.get()} --`);
|
|
35
|
+
/**
|
|
36
|
+
* 第一个挂载
|
|
37
|
+
* 方便后续 所有带有app的方法中可以通过 app.config 获取配置
|
|
38
|
+
*/
|
|
39
|
+
require_packages_core_loader_config(app);
|
|
40
|
+
console.log(`-- [start] loader config done --`);
|
|
41
|
+
/**
|
|
42
|
+
* 第二个挂载 扩展的方法
|
|
43
|
+
* 因不确定会在何处调用 app.[extendFN]
|
|
44
|
+
* 所以需要调高挂载顺序
|
|
45
|
+
*/
|
|
46
|
+
require_packages_core_loader_extend(app);
|
|
47
|
+
console.log(`-- [start] loader extend done --`);
|
|
48
|
+
/**
|
|
49
|
+
* 参数校验规则,在中间件之前即可
|
|
50
|
+
*/
|
|
51
|
+
require_packages_core_loader_router_schema(app);
|
|
52
|
+
console.log(`-- [start] loader routerSchema done --`);
|
|
53
|
+
/**
|
|
54
|
+
* service 在 controller 之前即可
|
|
55
|
+
* 以下俩loader在router前即可
|
|
56
|
+
*/
|
|
57
|
+
require_packages_core_loader_service(app);
|
|
58
|
+
console.log(`-- [start] loader service done --`);
|
|
59
|
+
require_packages_core_loader_controller(app);
|
|
60
|
+
console.log(`-- [start] loader controller done --`);
|
|
61
|
+
/**
|
|
62
|
+
* 挂载中间件文件
|
|
63
|
+
*/
|
|
64
|
+
require_packages_core_loader_middleware(app);
|
|
65
|
+
console.log(`-- [start] loader middleware done --`);
|
|
66
|
+
mountMiddleware(app);
|
|
67
|
+
require_packages_core_loader_router(app);
|
|
68
|
+
console.log(`-- [start] loader router done --`);
|
|
69
|
+
try {
|
|
70
|
+
const _p = app.config.port || process.env.PORT || "8080";
|
|
71
|
+
const port = parseInt(_p + "", 10);
|
|
72
|
+
const host = process.env.IP || "0.0.0.0";
|
|
73
|
+
app.listen(port, host);
|
|
74
|
+
console.log(`Server port:${port}`);
|
|
75
|
+
} catch (error) {
|
|
76
|
+
console.error(error);
|
|
77
|
+
}
|
|
78
|
+
return app;
|
|
4
79
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const baseDir = (app.baseDir = process.cwd());
|
|
27
|
-
const frameBaseDir = (app.frameBaseDir =
|
|
28
|
-
_frameBaseDir ?? (0, path_1.resolve)(__dirname, ".."));
|
|
29
|
-
app.businessPath = (0, path_1.resolve)(baseDir, "app");
|
|
30
|
-
app.framePath = (0, path_1.resolve)(frameBaseDir, "app");
|
|
31
|
-
app.paths = [
|
|
32
|
-
{ type: "frame", path: app.framePath },
|
|
33
|
-
{ type: "business", path: app.businessPath },
|
|
34
|
-
];
|
|
35
|
-
app.envs = (0, env_1.default)();
|
|
36
|
-
console.log(`-- [start] env: ${app.envs.get()} --`);
|
|
37
|
-
/**
|
|
38
|
-
* 第一个挂载
|
|
39
|
-
* 方便后续 所有带有app的方法中可以通过 app.config 获取配置
|
|
40
|
-
*/
|
|
41
|
-
(0, config_1.default)(app);
|
|
42
|
-
console.log(`-- [start] loader config done --`);
|
|
43
|
-
/**
|
|
44
|
-
* 第二个挂载 扩展的方法
|
|
45
|
-
* 因不确定会在何处调用 app.[extendFN]
|
|
46
|
-
* 所以需要调高挂载顺序
|
|
47
|
-
*/
|
|
48
|
-
(0, extend_1.default)(app);
|
|
49
|
-
console.log(`-- [start] loader extend done --`);
|
|
50
|
-
/**
|
|
51
|
-
* 参数校验规则,在中间件之前即可
|
|
52
|
-
*/
|
|
53
|
-
(0, router_schema_1.default)(app);
|
|
54
|
-
console.log(`-- [start] loader routerSchema done --`);
|
|
55
|
-
/**
|
|
56
|
-
* service 在 controller 之前即可
|
|
57
|
-
* 以下俩loader在router前即可
|
|
58
|
-
*/
|
|
59
|
-
(0, service_1.default)(app);
|
|
60
|
-
console.log(`-- [start] loader service done --`);
|
|
61
|
-
(0, controller_1.default)(app);
|
|
62
|
-
console.log(`-- [start] loader controller done --`);
|
|
63
|
-
/**
|
|
64
|
-
* 挂载中间件文件
|
|
65
|
-
*/
|
|
66
|
-
(0, middleware_1.default)(app);
|
|
67
|
-
console.log(`-- [start] loader middleware done --`);
|
|
68
|
-
// 加载全局中间件
|
|
69
|
-
mountMiddleware(app);
|
|
70
|
-
// 最后加载路由
|
|
71
|
-
(0, router_1.default)(app);
|
|
72
|
-
console.log(`-- [start] loader router done --`);
|
|
73
|
-
// modelLoader(app);
|
|
74
|
-
// console.log(`-- [start] loader model done --`);
|
|
75
|
-
// 启动服务
|
|
76
|
-
try {
|
|
77
|
-
const _p = app.config.port || process.env.PORT || "8080";
|
|
78
|
-
const port = parseInt(_p + "", 10);
|
|
79
|
-
const host = process.env.IP || "0.0.0.0";
|
|
80
|
-
app.listen(port, host);
|
|
81
|
-
console.log(`Server port:${port}`);
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
console.error(error);
|
|
85
|
-
}
|
|
86
|
-
return app;
|
|
80
|
+
var mountMiddleware = (app) => {
|
|
81
|
+
app.paths.forEach((pathInfo) => {
|
|
82
|
+
let loaded = false;
|
|
83
|
+
let lastError = void 0;
|
|
84
|
+
for (const fileSymbol of ["ts", "js"]) {
|
|
85
|
+
const fileName = `middleware.${fileSymbol}`;
|
|
86
|
+
try {
|
|
87
|
+
(0, _tc_utils.runFileFn)(require((0, _tc_utils_path.resolve)(pathInfo.path, fileName)))?.(app);
|
|
88
|
+
console.log(`-- [start] loader ${pathInfo.type} appMiddlerare ${fileName} done -- (${pathInfo.path})`);
|
|
89
|
+
loaded = true;
|
|
90
|
+
break;
|
|
91
|
+
} catch (error) {
|
|
92
|
+
const err = error;
|
|
93
|
+
if (!(err?.code === "MODULE_NOT_FOUND" && typeof err?.message === "string" && err.message.includes(fileName))) lastError = error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (!loaded && lastError) {
|
|
97
|
+
console.log(`-- [error] loader ${pathInfo.type} appMiddlerare middleware.(ts|js) error -- (${pathInfo.path})`);
|
|
98
|
+
console.log(lastError);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
87
101
|
};
|
|
102
|
+
//#endregion
|
|
103
|
+
exports.loaderModel = loaderModel;
|
|
88
104
|
exports.start = start;
|
|
89
|
-
const mountMiddleware = (app) => {
|
|
90
|
-
app.paths.forEach((pathInfo) => {
|
|
91
|
-
let loaded = false;
|
|
92
|
-
let lastError = undefined;
|
|
93
|
-
for (const fileSymbol of ["ts", "js"]) {
|
|
94
|
-
const fileName = `middleware.${fileSymbol}`;
|
|
95
|
-
try {
|
|
96
|
-
const fn = (0, utils_1.runFileFn)(require((0, path_1.resolve)(pathInfo.path, fileName)));
|
|
97
|
-
fn?.(app);
|
|
98
|
-
console.log(`-- [start] loader ${pathInfo.type} appMiddlerare ${fileName} done -- (${pathInfo.path})`);
|
|
99
|
-
loaded = true;
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
const err = error;
|
|
104
|
-
const moduleNotFound = err?.code === "MODULE_NOT_FOUND" &&
|
|
105
|
-
typeof err?.message === "string" &&
|
|
106
|
-
err.message.includes(fileName);
|
|
107
|
-
if (!moduleNotFound)
|
|
108
|
-
lastError = error;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (!loaded && lastError) {
|
|
112
|
-
console.log(`-- [error] loader ${pathInfo.type} appMiddlerare middleware.(ts|js) error -- (${pathInfo.path})`);
|
|
113
|
-
console.log(lastError);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
};
|
|
@@ -1,45 +1,41 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
let _tc_utils_path = require("@tc/utils/path");
|
|
3
|
+
let _tc_utils_getAllFilesInFolder = require("@tc/utils/getAllFilesInFolder");
|
|
4
|
+
//#region packages/core/loader/config.ts
|
|
5
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
|
-
|
|
38
|
-
|
|
39
|
-
if (!configMap.default || !configMap[envKey]) {
|
|
40
|
-
console.error(!configMap.default
|
|
41
|
-
? "[excption] Missing default configuration"
|
|
42
|
-
: "[excption] Missing [env] configuration");
|
|
43
|
-
}
|
|
44
|
-
app.config = envConfig;
|
|
6
|
+
* config loader 只处理一级
|
|
7
|
+
*
|
|
8
|
+
* @param app 加载 xx/config/ 下的文件
|
|
9
|
+
* config/config.default.js
|
|
10
|
+
*/
|
|
11
|
+
var config_default = (app) => {
|
|
12
|
+
const files = (0, _tc_utils_getAllFilesInFolder.getAllFilesInFolder)(app.baseDir, "config");
|
|
13
|
+
const frameFile = (0, _tc_utils_getAllFilesInFolder.getAllFilesInFolder)(app.frameBaseDir, "config");
|
|
14
|
+
const envKey = app.envs.get();
|
|
15
|
+
const configMap = {
|
|
16
|
+
default: false,
|
|
17
|
+
/**
|
|
18
|
+
* @type {typeof envKey}
|
|
19
|
+
*/
|
|
20
|
+
[envKey]: false
|
|
21
|
+
};
|
|
22
|
+
let envConfig = {};
|
|
23
|
+
Object.keys(configMap).forEach((k) => {
|
|
24
|
+
const configPath = [...frameFile, ...files].filter((f) => f.includes(k));
|
|
25
|
+
if (configPath.length) {
|
|
26
|
+
configMap[k] = true;
|
|
27
|
+
const configFile = configPath.reduce((preData, currentPath) => ({
|
|
28
|
+
...preData,
|
|
29
|
+
...require((0, _tc_utils_path.resolve)(currentPath))
|
|
30
|
+
}), {});
|
|
31
|
+
envConfig = [envConfig, configFile][k === "default" ? "reduceRight" : "reduce"]((o, c) => ({
|
|
32
|
+
...o,
|
|
33
|
+
...c
|
|
34
|
+
}), {});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
if (!configMap.default || !configMap[envKey]) console.error(!configMap.default ? "[excption] Missing default configuration" : "[excption] Missing [env] configuration");
|
|
38
|
+
app.config = envConfig;
|
|
45
39
|
};
|
|
40
|
+
//#endregion
|
|
41
|
+
module.exports = config_default;
|
|
@@ -1,40 +1,33 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_packages_core_paths = require("../paths.js");
|
|
3
|
+
let _tc_utils = require("@tc/utils");
|
|
4
|
+
let _tc_utils_loadFile = require("@tc/utils/loadFile");
|
|
5
|
+
let _tc_utils_path = require("@tc/utils/path");
|
|
6
|
+
//#region packages/core/loader/controller.ts
|
|
7
7
|
/**
|
|
8
8
|
* 加载 xx/app/controller 文件夹下所有文件,可通过'app.controller.${目录}.'},访问
|
|
9
9
|
*
|
|
10
10
|
例子:
|
|
11
|
-
|
|
11
|
+
app/controller
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
|-- cuStom-moduLe
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
|-- custom-midd Leware.js
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
app.controller = (0, paths_1.getAppPaths)(app).reduce((preData, currentPath) => ({
|
|
32
|
-
...preData,
|
|
33
|
-
...(0, loadFile_1.loadFileFn)(currentPath, 'controller', {
|
|
34
|
-
loadFileCallback: (file) => {
|
|
35
|
-
const Controller = (0, utils_1.runFileFn)(require((0, path_1.resolve)(file)))(app);
|
|
36
|
-
return new Controller();
|
|
37
|
-
},
|
|
38
|
-
}),
|
|
39
|
-
}), {});
|
|
17
|
+
=> app.controller.customModule. customMiddleware
|
|
18
|
+
*
|
|
19
|
+
* @param app
|
|
20
|
+
*/
|
|
21
|
+
var controller_default = (app) => {
|
|
22
|
+
/**
|
|
23
|
+
* 接收的是 (app) => class xxx{}
|
|
24
|
+
*/
|
|
25
|
+
app.controller = require_packages_core_paths.getAppPaths(app).reduce((preData, currentPath) => ({
|
|
26
|
+
...preData,
|
|
27
|
+
...(0, _tc_utils_loadFile.loadFileFn)(currentPath, "controller", { loadFileCallback: (file) => {
|
|
28
|
+
return new ((0, _tc_utils.runFileFn)(require((0, _tc_utils_path.resolve)(file)))(app))();
|
|
29
|
+
} })
|
|
30
|
+
}), {});
|
|
40
31
|
};
|
|
32
|
+
//#endregion
|
|
33
|
+
module.exports = controller_default;
|
|
@@ -1,41 +1,31 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_packages_core_paths = require("../paths.js");
|
|
3
|
+
let _tc_utils = require("@tc/utils");
|
|
4
|
+
let _tc_utils_loadFile = require("@tc/utils/loadFile");
|
|
5
|
+
let _tc_utils_path = require("@tc/utils/path");
|
|
6
|
+
//#region packages/core/loader/extend.ts
|
|
7
7
|
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
(async () => {
|
|
30
|
-
app.extends[fileName] = await exs;
|
|
31
|
-
})();
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
app.extends[fileName] = exs;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return undefined;
|
|
38
|
-
}),
|
|
39
|
-
});
|
|
40
|
-
});
|
|
8
|
+
* extend loader 扩展 koa app属性 只加载一级
|
|
9
|
+
*
|
|
10
|
+
* 加载 xx/app/extend 文件,可通过 'app.extends.${文件}' 访问
|
|
11
|
+
*/
|
|
12
|
+
var extend_default = (app) => {
|
|
13
|
+
app.extends = { ...app.extends };
|
|
14
|
+
require_packages_core_paths.getAppPaths(app).forEach((currentPath) => {
|
|
15
|
+
(0, _tc_utils_loadFile.loadFileFn)(currentPath, "extend", { processingFileCallback: ((fileName, filePath, isDir) => {
|
|
16
|
+
if (!isDir) {
|
|
17
|
+
for (const key in app) if (key === fileName) {
|
|
18
|
+
console.log("\x1B[31m%s\x1B[0m", `[extend loader error] name:${fileName} is already in app`);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const exs = (0, _tc_utils.runFileFn)(require((0, _tc_utils_path.resolve)(filePath)))(app);
|
|
22
|
+
if (exs instanceof Promise) (async () => {
|
|
23
|
+
app.extends[fileName] = await exs;
|
|
24
|
+
})();
|
|
25
|
+
else app.extends[fileName] = exs;
|
|
26
|
+
}
|
|
27
|
+
}) });
|
|
28
|
+
});
|
|
41
29
|
};
|
|
30
|
+
//#endregion
|
|
31
|
+
module.exports = extend_default;
|
|
@@ -1,38 +1,30 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_packages_core_paths = require("../paths.js");
|
|
3
|
+
let _tc_utils = require("@tc/utils");
|
|
4
|
+
let _tc_utils_loadFile = require("@tc/utils/loadFile");
|
|
5
|
+
//#region packages/core/loader/middleware.ts
|
|
6
6
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// });
|
|
29
|
-
// app.middlewares = { ...frameMiddlewares, ...businessMiddlewares };
|
|
30
|
-
app.middlewares = (0, paths_1.getAppPaths)(app).reduce((preData, currentPath) => {
|
|
31
|
-
const middlewares = (0, loadFile_1.loadFileFn)(currentPath, 'middleware', {
|
|
32
|
-
loadFileCallback: (path) => {
|
|
33
|
-
return (0, utils_1.runFileFn)(require(path))(app);
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
return { ...preData, ...middlewares };
|
|
37
|
-
}, {});
|
|
7
|
+
*
|
|
8
|
+
* middleware loader
|
|
9
|
+
*
|
|
10
|
+
* @param app
|
|
11
|
+
*
|
|
12
|
+
* 加载 xx/app/middleware 文件夹下所有文件,可通过 'app.middleware.${目录}.${文件}' 访问
|
|
13
|
+
*/
|
|
14
|
+
var middleware_default = (app) => {
|
|
15
|
+
/**
|
|
16
|
+
* xx/app/middleware/a/a.js -> app.middleware.a.a =
|
|
17
|
+
* require('app/middleware/a/a.js')(app)
|
|
18
|
+
*/
|
|
19
|
+
app.middlewares = require_packages_core_paths.getAppPaths(app).reduce((preData, currentPath) => {
|
|
20
|
+
const middlewares = (0, _tc_utils_loadFile.loadFileFn)(currentPath, "middleware", { loadFileCallback: (path) => {
|
|
21
|
+
return (0, _tc_utils.runFileFn)(require(path))(app);
|
|
22
|
+
} });
|
|
23
|
+
return {
|
|
24
|
+
...preData,
|
|
25
|
+
...middlewares
|
|
26
|
+
};
|
|
27
|
+
}, {});
|
|
38
28
|
};
|
|
29
|
+
//#endregion
|
|
30
|
+
module.exports = middleware_default;
|