@_tc/template-core 0.0.1

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.
Files changed (177) hide show
  1. package/app/controller/base.d.ts +14 -0
  2. package/app/controller/base.d.ts.map +1 -0
  3. package/app/controller/base.js +24 -0
  4. package/app/controller/base.js.map +1 -0
  5. package/app/controller/project.d.ts +12 -0
  6. package/app/controller/project.d.ts.map +1 -0
  7. package/app/controller/project.js +48 -0
  8. package/app/controller/project.js.map +1 -0
  9. package/app/controller/view.d.ts +9 -0
  10. package/app/controller/view.d.ts.map +1 -0
  11. package/app/controller/view.js +15 -0
  12. package/app/controller/view.js.map +1 -0
  13. package/app/data/signKey.d.ts +2 -0
  14. package/app/data/signKey.d.ts.map +1 -0
  15. package/app/data/signKey.js +5 -0
  16. package/app/data/signKey.js.map +1 -0
  17. package/app/extend/db.d.ts +3 -0
  18. package/app/extend/db.d.ts.map +1 -0
  19. package/app/extend/db.js +8 -0
  20. package/app/extend/db.js.map +1 -0
  21. package/app/extend/generateErrorMessage.d.ts +8 -0
  22. package/app/extend/generateErrorMessage.d.ts.map +1 -0
  23. package/app/extend/generateErrorMessage.js +12 -0
  24. package/app/extend/generateErrorMessage.js.map +1 -0
  25. package/app/extend/logger.d.ts +12 -0
  26. package/app/extend/logger.d.ts.map +1 -0
  27. package/app/extend/logger.js +73 -0
  28. package/app/extend/logger.js.map +1 -0
  29. package/app/extend/parsingParamsOnUrl.d.ts +3 -0
  30. package/app/extend/parsingParamsOnUrl.d.ts.map +1 -0
  31. package/app/extend/parsingParamsOnUrl.js +23 -0
  32. package/app/extend/parsingParamsOnUrl.js.map +1 -0
  33. package/app/extend/render-view.d.ts +5 -0
  34. package/app/extend/render-view.d.ts.map +1 -0
  35. package/app/extend/render-view.js +22 -0
  36. package/app/extend/render-view.js.map +1 -0
  37. package/app/middleware/api-params-verify.d.ts +6 -0
  38. package/app/middleware/api-params-verify.d.ts.map +1 -0
  39. package/app/middleware/api-params-verify.js +64 -0
  40. package/app/middleware/api-params-verify.js.map +1 -0
  41. package/app/middleware/api-sign-verify.d.ts +6 -0
  42. package/app/middleware/api-sign-verify.d.ts.map +1 -0
  43. package/app/middleware/api-sign-verify.js +29 -0
  44. package/app/middleware/api-sign-verify.js.map +1 -0
  45. package/app/middleware/error-handle.d.ts +6 -0
  46. package/app/middleware/error-handle.d.ts.map +1 -0
  47. package/app/middleware/error-handle.js +34 -0
  48. package/app/middleware/error-handle.js.map +1 -0
  49. package/app/middleware/project-handler.d.ts +5 -0
  50. package/app/middleware/project-handler.d.ts.map +1 -0
  51. package/app/middleware/project-handler.js +22 -0
  52. package/app/middleware/project-handler.js.map +1 -0
  53. package/app/middleware.d.ts +6 -0
  54. package/app/middleware.d.ts.map +1 -0
  55. package/app/middleware.js +39 -0
  56. package/app/middleware.js.map +1 -0
  57. package/app/router/project.d.ts +5 -0
  58. package/app/router/project.d.ts.map +1 -0
  59. package/app/router/project.js +9 -0
  60. package/app/router/project.js.map +1 -0
  61. package/app/router/view.d.ts +5 -0
  62. package/app/router/view.d.ts.map +1 -0
  63. package/app/router/view.js +6 -0
  64. package/app/router/view.js.map +1 -0
  65. package/app/router-schema/project.d.ts +4 -0
  66. package/app/router-schema/project.d.ts.map +1 -0
  67. package/app/router-schema/project.js +34 -0
  68. package/app/router-schema/project.js.map +1 -0
  69. package/app/service/bese.d.ts +11 -0
  70. package/app/service/bese.d.ts.map +1 -0
  71. package/app/service/bese.js +18 -0
  72. package/app/service/bese.js.map +1 -0
  73. package/app/service/project.d.ts +28 -0
  74. package/app/service/project.d.ts.map +1 -0
  75. package/app/service/project.js +39 -0
  76. package/app/service/project.js.map +1 -0
  77. package/app/type.d.ts +3 -0
  78. package/app/type.d.ts.map +1 -0
  79. package/app/type.js +3 -0
  80. package/app/type.js.map +1 -0
  81. package/app/typings.d.ts +52 -0
  82. package/app/typings.d.ts.map +1 -0
  83. package/app/typings.js +3 -0
  84. package/app/typings.js.map +1 -0
  85. package/index.d.ts +29 -0
  86. package/index.d.ts.map +1 -0
  87. package/index.js +22 -0
  88. package/index.js.map +1 -0
  89. package/model/index.d.ts +2 -0
  90. package/model/index.d.ts.map +1 -0
  91. package/model/index.js +7 -0
  92. package/model/index.js.map +1 -0
  93. package/model/test.d.ts +6 -0
  94. package/model/test.d.ts.map +1 -0
  95. package/model/test.js +6 -0
  96. package/model/test.js.map +1 -0
  97. package/model/test2.d.ts +6 -0
  98. package/model/test2.d.ts.map +1 -0
  99. package/model/test2.js +6 -0
  100. package/model/test2.js.map +1 -0
  101. package/package.json +43 -0
  102. package/packages/core/env.d.ts +16 -0
  103. package/packages/core/env.d.ts.map +1 -0
  104. package/packages/core/env.js +26 -0
  105. package/packages/core/env.js.map +1 -0
  106. package/packages/core/index.d.ts +7 -0
  107. package/packages/core/index.d.ts.map +1 -0
  108. package/packages/core/index.js +93 -0
  109. package/packages/core/index.js.map +1 -0
  110. package/packages/core/loader/config.d.ts +4 -0
  111. package/packages/core/loader/config.d.ts.map +1 -0
  112. package/packages/core/loader/config.js +32 -0
  113. package/packages/core/loader/config.js.map +1 -0
  114. package/packages/core/loader/controller.d.ts +4 -0
  115. package/packages/core/loader/controller.d.ts.map +1 -0
  116. package/packages/core/loader/controller.js +18 -0
  117. package/packages/core/loader/controller.js.map +1 -0
  118. package/packages/core/loader/extend.d.ts +4 -0
  119. package/packages/core/loader/extend.d.ts.map +1 -0
  120. package/packages/core/loader/extend.js +34 -0
  121. package/packages/core/loader/extend.js.map +1 -0
  122. package/packages/core/loader/middleware.d.ts +4 -0
  123. package/packages/core/loader/middleware.d.ts.map +1 -0
  124. package/packages/core/loader/middleware.js +16 -0
  125. package/packages/core/loader/middleware.js.map +1 -0
  126. package/packages/core/loader/model.d.ts +15 -0
  127. package/packages/core/loader/model.d.ts.map +1 -0
  128. package/packages/core/loader/model.js +90 -0
  129. package/packages/core/loader/model.js.map +1 -0
  130. package/packages/core/loader/router-schema.d.ts +4 -0
  131. package/packages/core/loader/router-schema.d.ts.map +1 -0
  132. package/packages/core/loader/router-schema.js +20 -0
  133. package/packages/core/loader/router-schema.js.map +1 -0
  134. package/packages/core/loader/router.d.ts +4 -0
  135. package/packages/core/loader/router.d.ts.map +1 -0
  136. package/packages/core/loader/router.js +46 -0
  137. package/packages/core/loader/router.js.map +1 -0
  138. package/packages/core/loader/service.d.ts +4 -0
  139. package/packages/core/loader/service.d.ts.map +1 -0
  140. package/packages/core/loader/service.js +17 -0
  141. package/packages/core/loader/service.js.map +1 -0
  142. package/packages/core/paths.d.ts +12 -0
  143. package/packages/core/paths.d.ts.map +1 -0
  144. package/packages/core/paths.js +11 -0
  145. package/packages/core/paths.js.map +1 -0
  146. package/packages/core/types.d.ts +62 -0
  147. package/packages/core/types.d.ts.map +1 -0
  148. package/packages/core/types.js +3 -0
  149. package/packages/core/types.js.map +1 -0
  150. package/packages/utils/getAllFilesInFolder.d.ts +5 -0
  151. package/packages/utils/getAllFilesInFolder.d.ts.map +1 -0
  152. package/packages/utils/getAllFilesInFolder.js +46 -0
  153. package/packages/utils/getAllFilesInFolder.js.map +1 -0
  154. package/packages/utils/getAllFnReturnValue.d.ts +1 -0
  155. package/packages/utils/getAllFnReturnValue.d.ts.map +1 -0
  156. package/packages/utils/getAllFnReturnValue.js +2 -0
  157. package/packages/utils/getAllFnReturnValue.js.map +1 -0
  158. package/packages/utils/index.d.ts +5 -0
  159. package/packages/utils/index.d.ts.map +1 -0
  160. package/packages/utils/index.js +21 -0
  161. package/packages/utils/index.js.map +1 -0
  162. package/packages/utils/loadFile.d.ts +15 -0
  163. package/packages/utils/loadFile.d.ts.map +1 -0
  164. package/packages/utils/loadFile.js +57 -0
  165. package/packages/utils/loadFile.js.map +1 -0
  166. package/packages/utils/path.d.ts +7 -0
  167. package/packages/utils/path.d.ts.map +1 -0
  168. package/packages/utils/path.js +51 -0
  169. package/packages/utils/path.js.map +1 -0
  170. package/packages/utils/runFileFn.d.ts +6 -0
  171. package/packages/utils/runFileFn.d.ts.map +1 -0
  172. package/packages/utils/runFileFn.js +6 -0
  173. package/packages/utils/runFileFn.js.map +1 -0
  174. package/typings/type.d.ts +2 -0
  175. package/typings/type.d.ts.map +1 -0
  176. package/typings/type.js +3 -0
  177. package/typings/type.js.map +1 -0
@@ -0,0 +1,93 @@
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.start = exports.loaderModel = void 0;
7
+ const koa_1 = __importDefault(require("koa"));
8
+ require("./types");
9
+ require("../../app/typings");
10
+ const env_1 = __importDefault(require("./env"));
11
+ const middleware_1 = __importDefault(require("./loader/middleware"));
12
+ const router_schema_1 = __importDefault(require("./loader/router-schema"));
13
+ const router_1 = __importDefault(require("./loader/router"));
14
+ const controller_1 = __importDefault(require("./loader/controller"));
15
+ const service_1 = __importDefault(require("./loader/service"));
16
+ const config_1 = __importDefault(require("./loader/config"));
17
+ const extend_1 = __importDefault(require("./loader/extend"));
18
+ const model_1 = __importDefault(require("./loader/model"));
19
+ const path_1 = require("../utils/path");
20
+ const utils_1 = require("../utils/index.js");
21
+ exports.loaderModel = model_1.default;
22
+ const start = (options = {}) => {
23
+ const app = new koa_1.default();
24
+ const { frameBaseDir: _frameBaseDir, ..._options } = options;
25
+ app.options = _options;
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
+ (0, config_1.default)(app);
38
+ console.log(`-- [start] loader config done --`);
39
+ (0, extend_1.default)(app);
40
+ console.log(`-- [start] loader extend done --`);
41
+ (0, router_schema_1.default)(app);
42
+ console.log(`-- [start] loader routerSchema done --`);
43
+ (0, service_1.default)(app);
44
+ console.log(`-- [start] loader service done --`);
45
+ (0, controller_1.default)(app);
46
+ console.log(`-- [start] loader controller done --`);
47
+ (0, middleware_1.default)(app);
48
+ console.log(`-- [start] loader middleware done --`);
49
+ mountMiddleware(app);
50
+ (0, router_1.default)(app);
51
+ console.log(`-- [start] loader router done --`);
52
+ try {
53
+ const _p = app.config.port || process.env.PORT || "8080";
54
+ const port = parseInt(_p + "", 10);
55
+ const host = process.env.IP || "0.0.0.0";
56
+ app.listen(port, host);
57
+ console.log(`Server port:${port}`);
58
+ }
59
+ catch (error) {
60
+ console.error(error);
61
+ }
62
+ return app;
63
+ };
64
+ exports.start = start;
65
+ const mountMiddleware = (app) => {
66
+ app.paths.forEach((pathInfo) => {
67
+ let loaded = false;
68
+ let lastError = undefined;
69
+ for (const fileSymbol of ["ts", "js"]) {
70
+ const fileName = `middleware.${fileSymbol}`;
71
+ try {
72
+ const fn = (0, utils_1.runFileFn)(require((0, path_1.resolve)(pathInfo.path, fileName)));
73
+ fn?.(app);
74
+ console.log(`-- [start] loader ${pathInfo.type} appMiddlerare ${fileName} done -- (${pathInfo.path})`);
75
+ loaded = true;
76
+ break;
77
+ }
78
+ catch (error) {
79
+ const err = error;
80
+ const moduleNotFound = err?.code === "MODULE_NOT_FOUND" &&
81
+ typeof err?.message === "string" &&
82
+ err.message.includes(fileName);
83
+ if (!moduleNotFound)
84
+ lastError = error;
85
+ }
86
+ }
87
+ if (!loaded && lastError) {
88
+ console.log(`-- [error] loader ${pathInfo.type} appMiddlerare middleware.(ts|js) error -- (${pathInfo.path})`);
89
+ console.log(lastError);
90
+ }
91
+ });
92
+ };
93
+ //# sourceMappingURL=index.js.mapngURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/core/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { KoaApp } from "../types";
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;yBAQ7B,KAAK,MAAM,KAAG,IAAI;AAAlC,wBA8CE"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path_1 = require("../../utils/path");
4
+ const getAllFilesInFolder_1 = require("../../utils/getAllFilesInFolder");
5
+ exports.default = (app) => {
6
+ const files = (0, getAllFilesInFolder_1.getAllFilesInFolder)(app.baseDir, "config");
7
+ const frameFile = (0, getAllFilesInFolder_1.getAllFilesInFolder)(app.frameBaseDir, "config");
8
+ const envKey = app.envs.get();
9
+ const configMap = {
10
+ default: false,
11
+ [envKey]: false,
12
+ };
13
+ let envConfig = {};
14
+ Object.keys(configMap).forEach((k) => {
15
+ const configPath = [...frameFile, ...files].filter((f) => f.includes(k));
16
+ if (configPath.length) {
17
+ configMap[k] = true;
18
+ const configFile = configPath.reduce((preData, currentPath) => ({
19
+ ...preData,
20
+ ...require((0, path_1.resolve)(currentPath)),
21
+ }), {});
22
+ envConfig = [envConfig, configFile][k === "default" ? "reduceRight" : "reduce"]((o, c) => ({ ...o, ...c }), {});
23
+ }
24
+ });
25
+ if (!configMap.default || !configMap[envKey]) {
26
+ console.error(!configMap.default
27
+ ? "[excption] Missing default configuration"
28
+ : "[excption] Missing [env] configuration");
29
+ }
30
+ app.config = envConfig;
31
+ };
32
+ //# sourceMappingURL=config.js.mapgURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../packages/core/loader/config.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,uEAAoE;AASpE,kBAAe,CAAC,GAAW,EAAQ,EAAE;IAKnC,MAAM,KAAK,GAAG,IAAA,yCAAmB,EAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAGzD,MAAM,SAAS,GAAG,IAAA,yCAAmB,EAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAE9B,MAAM,SAAS,GAA4B;QACzC,OAAO,EAAE,KAAK;QAId,CAAC,MAAM,CAAC,EAAE,KAAK;KAChB,CAAC;IAEF,IAAI,SAAS,GAAwB,EAAE,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACpB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAClC,CAAC,OAA4B,EAAE,WAAmB,EAAE,EAAE,CAAC,CAAC;gBACtD,GAAG,OAAO;gBACV,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;aACjC,CAAC,EACF,EAAE,CACH,CAAC;YAEF,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CACjC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAC3C,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CACX,CAAC,SAAS,CAAC,OAAO;YAChB,CAAC,CAAC,0CAA0C;YAC5C,CAAC,CAAC,wCAAwC,CAC7C,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,MAAM,GAAG,SAAsB,CAAC;AACtC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { KoaApp } from '../types';
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,MAAM,EAAE,MAAM,UAAU,CAAC;yBAkB/B,KAAK,MAAM,KAAG,IAAI;AAAlC,wBAwBE"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path_1 = require("../../utils/path");
4
+ const loadFile_1 = require("../../utils/loadFile");
5
+ const paths_1 = require("../paths");
6
+ const utils_1 = require("../../utils/index.js");
7
+ exports.default = (app) => {
8
+ app.controller = (0, paths_1.getAppPaths)(app).reduce((preData, currentPath) => ({
9
+ ...preData,
10
+ ...(0, loadFile_1.loadFileFn)(currentPath, 'controller', {
11
+ loadFileCallback: (file) => {
12
+ const Controller = (0, utils_1.runFileFn)(require((0, path_1.resolve)(file)))(app);
13
+ return new Controller();
14
+ },
15
+ }),
16
+ }), {});
17
+ };
18
+ //# sourceMappingURL=controller.js.mapappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../packages/core/loader/controller.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,iDAAgD;AAEhD,oCAAuC;AACvC,qCAAsC;AAgBtC,kBAAe,CAAC,GAAW,EAAQ,EAAE;IAWpC,GAAG,CAAC,UAAU,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,MAAM,CACvC,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1B,GAAG,OAAO;QACV,GAAG,IAAA,qBAAU,EAAC,WAAW,EAAE,YAAY,EAAE;YACxC,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE;gBAClC,MAAM,UAAU,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1D,OAAO,IAAI,UAAU,EAAE,CAAC;YACzB,CAAC;SACD,CAAC;KACF,CAAC,EAEF,EAAE,CACwB,CAAC;AAC7B,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KoaApp } from "../types";
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=extend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/extend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAA4B,MAAM,UAAU,CAAC;yBASjD,KAAK,MAAM,KAAG,IAAI;AAAlC,wBAyCE"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const loadFile_1 = require("../../utils/loadFile");
4
+ const path_1 = require("../../utils/path");
5
+ const paths_1 = require("../paths");
6
+ const utils_1 = require("../../utils/index.js");
7
+ exports.default = (app) => {
8
+ app.extends = { ...app.extends };
9
+ (0, paths_1.getAppPaths)(app).forEach((currentPath) => {
10
+ (0, loadFile_1.loadFileFn)(currentPath, "extend", {
11
+ processingFileCallback: ((fileName, filePath, isDir) => {
12
+ if (!isDir) {
13
+ for (const key in app) {
14
+ if (key === fileName) {
15
+ console.log("\x1b[31m%s\x1b[0m", `[extend loader error] name:${fileName} is already in app`);
16
+ return undefined;
17
+ }
18
+ }
19
+ const exs = (0, utils_1.runFileFn)(require((0, path_1.resolve)(filePath)))(app);
20
+ if (exs instanceof Promise) {
21
+ (async () => {
22
+ app.extends[fileName] = await exs;
23
+ })();
24
+ }
25
+ else {
26
+ app.extends[fileName] = exs;
27
+ }
28
+ }
29
+ return undefined;
30
+ }),
31
+ });
32
+ });
33
+ };
34
+ //# sourceMappingURL=extend.js.maprceMappingURL=extend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../../packages/core/loader/extend.ts"],"names":[],"mappings":";;AAAA,iDAAgD;AAChD,yCAAyC;AAEzC,oCAAuC;AACvC,qCAAsC;AAOtC,kBAAe,CAAC,GAAW,EAAQ,EAAE;IAKnC,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAEjC,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,WAAmB,EAAE,EAAE;QAC/C,IAAA,qBAAU,EAAC,WAAW,EAAE,QAAQ,EAAE;YAChC,sBAAsB,EAAE,CAAC,CACvB,QAAgB,EAChB,QAAgB,EAChB,KAAc,EACd,EAAE;gBACF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;wBACtB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;4BACrB,OAAO,CAAC,GAAG,CACT,mBAAmB,EACnB,8BAA8B,QAAQ,oBAAoB,CAC3D,CAAC;4BACF,OAAO,SAAS,CAAC;wBACnB,CAAC;oBACH,CAAC;oBAED,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAErC,CAAC;oBAEjB,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;wBAC3B,CAAC,KAAK,IAAI,EAAE;4BACV,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC;wBACpC,CAAC,CAAC,EAAE,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC,CAA6B;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { KoaApp } from '../types';
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,UAAU,CAAC;yBAahC,KAAK,MAAM,KAAG,IAAI;AAAlC,wBAiCE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const loadFile_1 = require("../../utils/loadFile");
4
+ const paths_1 = require("../paths");
5
+ const utils_1 = require("../../utils/index.js");
6
+ exports.default = (app) => {
7
+ app.middlewares = (0, paths_1.getAppPaths)(app).reduce((preData, currentPath) => {
8
+ const middlewares = (0, loadFile_1.loadFileFn)(currentPath, 'middleware', {
9
+ loadFileCallback: (path) => {
10
+ return (0, utils_1.runFileFn)(require(path))(app);
11
+ },
12
+ });
13
+ return { ...preData, ...middlewares };
14
+ }, {});
15
+ };
16
+ //# sourceMappingURL=middleware.js.map=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../packages/core/loader/middleware.ts"],"names":[],"mappings":";;AACA,iDAAgD;AAChD,oCAAuC;AACvC,qCAAsC;AAUtC,kBAAe,CAAC,GAAW,EAAQ,EAAE;IAqBpC,GAAG,CAAC,WAAW,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,MAAM,CACxC,CAAC,OAA4B,EAAE,WAAmB,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,IAAA,qBAAU,EAAC,WAAW,EAAE,YAAY,EAAE;YACzD,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE;gBAClC,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;SACD,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IACvC,CAAC,EACD,EAAE,CACc,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { KoaApp } from '../types';
2
+ export interface ModelItem {
3
+ model: {
4
+ key: string;
5
+ [k: string]: any;
6
+ };
7
+ project: {
8
+ key: string;
9
+ [k: string]: any;
10
+ };
11
+ }
12
+ export type ModelConfig = ModelItem[];
13
+ declare const modelLoader: (app: KoaApp) => ModelConfig;
14
+ export default modelLoader;
15
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAqBlC,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KACjB,CAAC;CACF;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;AAMtC,QAAA,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,WAmDlC,CAAC;AAgHF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,90 @@
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
+ const path_1 = require("path");
7
+ const loadFile_1 = require("../../utils/loadFile");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const modelLoader = (app) => {
10
+ const modelConfig = [];
11
+ (0, loadFile_1.loadFileFn)(app.baseDir, 'model', {
12
+ loadFileCallback: (file) => {
13
+ if (file.indexOf(`model${path_1.sep}index.js`) === -1) {
14
+ const filePathChunk = file.split(path_1.sep);
15
+ const suspectedFileType = filePathChunk[filePathChunk.length - 2];
16
+ if (suspectedFileType === 'project') {
17
+ const modelKey = filePathChunk[filePathChunk.length - 3];
18
+ const projectKey = filePathChunk[filePathChunk.length - 1]?.split('.')[0];
19
+ if (modelKey && projectKey) {
20
+ setProject(modelConfig, modelKey, projectKey, file);
21
+ }
22
+ }
23
+ else {
24
+ const modelKey = filePathChunk[filePathChunk.length - 2];
25
+ if (modelKey) {
26
+ setModel(modelConfig, modelKey, file);
27
+ }
28
+ }
29
+ }
30
+ },
31
+ });
32
+ modelConfig.forEach((config) => {
33
+ const { model, project } = config;
34
+ for (const key in project) {
35
+ const projectConfig = project[key];
36
+ if (projectConfig) {
37
+ project[key] = etendsObj(model, projectConfig);
38
+ }
39
+ }
40
+ });
41
+ return modelConfig;
42
+ };
43
+ function etendsObj(model, project) {
44
+ return lodash_1.default.mergeWith({}, model, project, function customizer(modelValue, projectValue) {
45
+ if (Array.isArray(modelValue) && Array.isArray(projectValue)) {
46
+ let result = [];
47
+ for (let index = 0; index < modelValue.length; index++) {
48
+ const modelItem = modelValue[index];
49
+ const projectItem = projectValue.find((p) => p.key === modelItem.key);
50
+ result.push(projectItem
51
+ ? etendsObj(modelItem, projectItem)
52
+ : modelItem);
53
+ }
54
+ for (let index = 0; index < projectValue.length; index++) {
55
+ const projectItem = projectValue[index];
56
+ const modelItem = modelValue.find((m) => m.key === projectItem.key);
57
+ if (!modelItem) {
58
+ result.push(projectItem);
59
+ }
60
+ }
61
+ return result;
62
+ }
63
+ });
64
+ }
65
+ const setProject = (config, modelKey, key, file) => {
66
+ const currentModel = setModel(config, modelKey);
67
+ const projectItem = {
68
+ key,
69
+ modelKey,
70
+ ...require(file),
71
+ };
72
+ currentModel.project[key] = projectItem;
73
+ };
74
+ const setModel = (config, key, filePath) => {
75
+ let modelItem = config.find((i) => i.model.key === key);
76
+ if (!modelItem) {
77
+ const newModel = {
78
+ model: { key },
79
+ project: { key },
80
+ };
81
+ config.push(newModel);
82
+ modelItem = newModel;
83
+ }
84
+ if (filePath) {
85
+ modelItem.model = { ...require(filePath), key };
86
+ }
87
+ return modelItem;
88
+ };
89
+ exports.default = modelLoader;
90
+ //# sourceMappingURL=model.js.mapel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/loader/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { KoaApp } from '../types';
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=router-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-schema.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/router-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;yBAoBlB,KAAK,MAAM,KAAG,IAAI;AAAlC,wBAgBE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const loadFile_1 = require("../../utils/loadFile");
4
+ const path_1 = require("../../utils/path");
5
+ const paths_1 = require("../paths");
6
+ exports.default = (app) => {
7
+ let routerSchema = {};
8
+ (0, paths_1.getAppPaths)(app).forEach((currentPath) => {
9
+ (0, loadFile_1.loadFileFn)(currentPath, 'router-schema', {
10
+ preProcessingFileCallback(file) {
11
+ routerSchema = {
12
+ ...routerSchema,
13
+ ...require((0, path_1.resolve)(file)),
14
+ };
15
+ },
16
+ });
17
+ });
18
+ app.routerSchema = routerSchema;
19
+ };
20
+ //# sourceMappingURL=router-schema.js.maputer-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-schema.js","sourceRoot":"","sources":["../../../../packages/core/loader/router-schema.ts"],"names":[],"mappings":";;AACA,iDAAgD;AAChD,yCAAyC;AACzC,oCAAuC;AAiBvC,kBAAe,CAAC,GAAW,EAAQ,EAAE;IAEpC,IAAI,YAAY,GAAwB,EAAE,CAAC;IAE3C,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,WAAmB,EAAE,EAAE;QAChD,IAAA,qBAAU,EAAC,WAAW,EAAE,eAAe,EAAE;YACxC,yBAAyB,CAAC,IAAY;gBACrC,YAAY,GAAG;oBACd,GAAG,YAAY;oBACf,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;iBACzB,CAAC;YACH,CAAC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { KoaApp } from "../types";
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/router.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,MAAM,EAAE,MAAM,UAAU,CAAC;yBASxB,KAAK,MAAM,KAAG,IAAI;AAAlC,wBAsDE"}
@@ -0,0 +1,46 @@
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
+ const koa_router_1 = __importDefault(require("koa-router"));
7
+ const loadFile_1 = require("../../utils/loadFile");
8
+ const path_1 = require("../../utils/path");
9
+ const paths_1 = require("../paths");
10
+ const utils_1 = require("../../utils/index.js");
11
+ exports.default = (app) => {
12
+ const router = new koa_router_1.default();
13
+ let routerGuard;
14
+ try {
15
+ const businessPath = (0, paths_1.getAppPath)(app, "business");
16
+ if (businessPath) {
17
+ routerGuard = (0, utils_1.runFileFn)(require((0, path_1.resolve)(businessPath, "router-guard.js")))(app);
18
+ }
19
+ }
20
+ catch (error) {
21
+ console.info("-- [router-guard] -- not router-guard.js file");
22
+ }
23
+ (0, paths_1.getAppPaths)(app).forEach((currentPath) => {
24
+ (0, loadFile_1.loadFileFn)(currentPath, "router", {
25
+ preProcessingFileCallback: (filePath) => {
26
+ (0, utils_1.runFileFn)(require((0, path_1.resolve)(filePath)))(app, router);
27
+ },
28
+ });
29
+ });
30
+ router.get("(.*)", async (ctx, _next) => {
31
+ console.info("\x1b[31m%s\x1b[0m", `-- notFound path: ${ctx.path} --`);
32
+ ctx.status = 302;
33
+ const executionResults = routerGuard?.(ctx);
34
+ if (executionResults) {
35
+ ctx.redirect(executionResults ?? "/");
36
+ }
37
+ else {
38
+ ctx.redirect(app.options?.homePage ?? "/");
39
+ }
40
+ return;
41
+ });
42
+ app.use(router.routes());
43
+ app.use(router.allowedMethods());
44
+ app.currentUseRouter = router;
45
+ };
46
+ //# sourceMappingURL=router.js.maprceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../packages/core/loader/router.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,iDAAgD;AAChD,yCAAyC;AAEzC,oCAAmD;AACnD,qCAAsC;AAOtC,kBAAe,CAAC,GAAW,EAAQ,EAAE;IAKnC,MAAM,MAAM,GAAG,IAAI,oBAAS,EAAE,CAAC;IAE/B,IAAI,WAA4D,CAAC;IACjE,IAAI,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAA,cAAO,EAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAChE,CAAC;IAED,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,WAAmB,EAAE,EAAE;QAC/C,IAAA,qBAAU,EAAC,WAAW,EAAE,QAAQ,EAAE;YAChC,yBAAyB,EAAE,CAAC,QAAgB,EAAE,EAAE;gBAM9C,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAU,EAAE,EAAE;QAC3C,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;QAEtE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QAEjB,MAAM,gBAAgB,GAAG,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,gBAAgB,EAAE,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAC,CAAC;QAC7C,CAAC;QAGD,OAAO;IAGT,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAEjC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { KoaApp } from '../types';
2
+ declare const _default: (app: KoaApp) => void;
3
+ export default _default;
4
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../packages/core/loader/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;yBAmB5B,KAAK,MAAM,KAAG,IAAI;AAAlC,wBAaE"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const loadFile_1 = require("../../utils/loadFile");
4
+ const paths_1 = require("../paths");
5
+ const utils_1 = require("../../utils/index.js");
6
+ exports.default = (app) => {
7
+ app.service = (0, paths_1.getAppPaths)(app).reduce((preData, currentPath) => ({
8
+ ...preData,
9
+ ...(0, loadFile_1.loadFileFn)(currentPath, 'service', {
10
+ loadFileCallback: (file) => {
11
+ const Service = (0, utils_1.runFileFn)(require(file))(app);
12
+ return new Service();
13
+ },
14
+ }),
15
+ }), {});
16
+ };
17
+ //# sourceMappingURL=service.js.mapURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../packages/core/loader/service.ts"],"names":[],"mappings":";;AACA,iDAAgD;AAChD,oCAAuC;AACvC,qCAAsC;AAgBtC,kBAAe,CAAC,GAAW,EAAQ,EAAE;IACpC,GAAG,CAAC,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,MAAM,CACpC,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1B,GAAG,OAAO;QACV,GAAG,IAAA,qBAAU,EAAC,WAAW,EAAE,SAAS,EAAE;YACrC,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE;gBAClC,MAAM,OAAO,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9C,OAAO,IAAI,OAAO,EAAE,CAAC;YACtB,CAAC;SACD,CAAC;KACF,CAAC,EACF,EAAE,CACqB,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type AppPathType = "frame" | "business";
2
+ export interface AppPathInfo {
3
+ type: AppPathType;
4
+ path: string;
5
+ }
6
+ export declare function getAppPath(app: {
7
+ paths?: AppPathInfo[];
8
+ }, type: AppPathType): string | undefined;
9
+ export declare function getAppPaths(app: {
10
+ paths?: AppPathInfo[];
11
+ }): string[];
12
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../packages/core/paths.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE;IAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,EAC9B,IAAI,EAAE,WAAW,GAChB,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAEpE"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAppPath = getAppPath;
4
+ exports.getAppPaths = getAppPaths;
5
+ function getAppPath(app, type) {
6
+ return app.paths?.find((p) => p.type === type)?.path;
7
+ }
8
+ function getAppPaths(app) {
9
+ return (app.paths ?? []).map((p) => p.path);
10
+ }
11
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../packages/core/paths.ts"],"names":[],"mappings":";;AAOA,gCAKC;AAED,kCAEC;AATD,SAAgB,UAAU,CACxB,GAA8B,EAC9B,IAAiB;IAEjB,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC;AACvD,CAAC;AAED,SAAgB,WAAW,CAAC,GAA8B;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,62 @@
1
+ import Koa from "koa";
2
+ import type Router from "koa-router";
3
+ import type { EnvReturn } from "./env";
4
+ import type { AppPathInfo } from "./paths";
5
+ export interface IService {
6
+ [key: string]: unknown;
7
+ }
8
+ export interface IController {
9
+ [key: string]: unknown;
10
+ }
11
+ export interface IExtends {
12
+ [key: string]: unknown;
13
+ }
14
+ export interface IMiddlewares {
15
+ [key: string]: unknown;
16
+ }
17
+ export type ICTX = Parameters<Router.IMiddleware<any, {}>>[0];
18
+ export interface KoaAppExtensions {
19
+ baseDir: string;
20
+ frameBaseDir: string;
21
+ businessPath: string;
22
+ paths: AppPathInfo[];
23
+ framePath: string;
24
+ envs: EnvReturn;
25
+ config: AppConfig;
26
+ extends: IExtends;
27
+ controller: IController;
28
+ service: IService;
29
+ middlewares: IMiddlewares;
30
+ model: unknown[];
31
+ routerSchema: Record<string, unknown>;
32
+ currentUseRouter: Router;
33
+ options: AppOptions;
34
+ logger?: {
35
+ info: (...args: unknown[]) => void;
36
+ error: (...args: unknown[]) => void;
37
+ warn: (...args: unknown[]) => void;
38
+ };
39
+ [key: string]: unknown;
40
+ }
41
+ export interface AppConfigBase {
42
+ port?: number;
43
+ host?: string;
44
+ env?: string;
45
+ }
46
+ export interface AppConfig extends AppConfigBase {
47
+ [key: string]: unknown;
48
+ }
49
+ export interface StartOptions {
50
+ name?: string;
51
+ homePage?: string;
52
+ frameBaseDir?: string;
53
+ }
54
+ export interface AppOptions extends StartOptions {
55
+ overwriteOriginalLogs?: boolean;
56
+ [key: string]: unknown;
57
+ }
58
+ export type KoaApp = Koa & KoaAppExtensions;
59
+ export type KoaMiddleware = Koa.Middleware;
60
+ export type { EnvType, EnvKeys } from "./env";
61
+ export type ProcessingFileCallbackFN = <T extends Record<string, unknown>>(fileName: string, filePath: string, isDir: boolean, tempData: T) => T | undefined;
62
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../packages/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAK9D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,YAAY,CAAC;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACpC,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAKD,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,gBAAgB,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;AAK3C,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,KACR,CAAC,GAAG,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../packages/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface GetAllFilesInFolder {
2
+ getAllFilesInFolder(...paths: string[]): string[];
3
+ }
4
+ export declare const getAllFilesInFolder: (...paths: string[]) => string[];
5
+ //# sourceMappingURL=getAllFilesInFolder.d.ts.map