@eggjs/core 6.5.0 → 6.6.0-beta.10

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 (87) hide show
  1. package/README.md +1 -5
  2. package/dist/base_context_class.d.ts +21 -0
  3. package/dist/base_context_class.js +40 -0
  4. package/dist/egg.d.ts +248 -0
  5. package/dist/egg.js +358 -0
  6. package/dist/index.d.ts +12 -0
  7. package/dist/index.js +12 -0
  8. package/dist/lifecycle.d.ts +84 -0
  9. package/dist/lifecycle.js +280 -0
  10. package/dist/loader/context_loader.d.ts +39 -0
  11. package/dist/loader/context_loader.js +79 -0
  12. package/dist/loader/egg_loader.d.ts +374 -0
  13. package/dist/loader/egg_loader.js +1184 -0
  14. package/dist/loader/file_loader.d.ts +105 -0
  15. package/dist/loader/file_loader.js +198 -0
  16. package/dist/singleton.d.ts +33 -0
  17. package/dist/singleton.js +107 -0
  18. package/{src/types.ts → dist/types.d.ts} +7 -7
  19. package/dist/utils/index.d.ts +19 -0
  20. package/dist/utils/index.js +103 -0
  21. package/dist/utils/sequencify.d.ts +16 -0
  22. package/dist/utils/sequencify.js +46 -0
  23. package/dist/utils/timing.d.ts +24 -0
  24. package/dist/utils/timing.js +85 -0
  25. package/package.json +39 -75
  26. package/dist/commonjs/base_context_class.d.ts +0 -16
  27. package/dist/commonjs/base_context_class.js +0 -41
  28. package/dist/commonjs/egg.d.ts +0 -246
  29. package/dist/commonjs/egg.js +0 -401
  30. package/dist/commonjs/index.d.ts +0 -12
  31. package/dist/commonjs/index.js +0 -32
  32. package/dist/commonjs/lifecycle.d.ts +0 -78
  33. package/dist/commonjs/lifecycle.js +0 -315
  34. package/dist/commonjs/loader/context_loader.d.ts +0 -35
  35. package/dist/commonjs/loader/context_loader.js +0 -110
  36. package/dist/commonjs/loader/egg_loader.d.ts +0 -369
  37. package/dist/commonjs/loader/egg_loader.js +0 -1558
  38. package/dist/commonjs/loader/file_loader.d.ts +0 -100
  39. package/dist/commonjs/loader/file_loader.js +0 -260
  40. package/dist/commonjs/package.json +0 -3
  41. package/dist/commonjs/singleton.d.ts +0 -29
  42. package/dist/commonjs/singleton.js +0 -124
  43. package/dist/commonjs/types.d.ts +0 -53
  44. package/dist/commonjs/types.js +0 -3
  45. package/dist/commonjs/utils/index.d.ts +0 -17
  46. package/dist/commonjs/utils/index.js +0 -117
  47. package/dist/commonjs/utils/sequencify.d.ts +0 -13
  48. package/dist/commonjs/utils/sequencify.js +0 -64
  49. package/dist/commonjs/utils/timing.d.ts +0 -21
  50. package/dist/commonjs/utils/timing.js +0 -106
  51. package/dist/esm/base_context_class.d.ts +0 -16
  52. package/dist/esm/base_context_class.js +0 -37
  53. package/dist/esm/egg.d.ts +0 -246
  54. package/dist/esm/egg.js +0 -388
  55. package/dist/esm/index.d.ts +0 -12
  56. package/dist/esm/index.js +0 -12
  57. package/dist/esm/lifecycle.d.ts +0 -78
  58. package/dist/esm/lifecycle.js +0 -308
  59. package/dist/esm/loader/context_loader.d.ts +0 -35
  60. package/dist/esm/loader/context_loader.js +0 -102
  61. package/dist/esm/loader/egg_loader.d.ts +0 -369
  62. package/dist/esm/loader/egg_loader.js +0 -1551
  63. package/dist/esm/loader/file_loader.d.ts +0 -100
  64. package/dist/esm/loader/file_loader.js +0 -253
  65. package/dist/esm/package.json +0 -3
  66. package/dist/esm/singleton.d.ts +0 -29
  67. package/dist/esm/singleton.js +0 -117
  68. package/dist/esm/types.d.ts +0 -53
  69. package/dist/esm/types.js +0 -2
  70. package/dist/esm/utils/index.d.ts +0 -17
  71. package/dist/esm/utils/index.js +0 -112
  72. package/dist/esm/utils/sequencify.d.ts +0 -13
  73. package/dist/esm/utils/sequencify.js +0 -61
  74. package/dist/esm/utils/timing.d.ts +0 -21
  75. package/dist/esm/utils/timing.js +0 -99
  76. package/dist/package.json +0 -4
  77. package/src/base_context_class.ts +0 -39
  78. package/src/egg.ts +0 -617
  79. package/src/index.ts +0 -14
  80. package/src/lifecycle.ts +0 -438
  81. package/src/loader/context_loader.ts +0 -123
  82. package/src/loader/egg_loader.ts +0 -1984
  83. package/src/loader/file_loader.ts +0 -349
  84. package/src/singleton.ts +0 -187
  85. package/src/utils/index.ts +0 -132
  86. package/src/utils/sequencify.ts +0 -105
  87. package/src/utils/timing.ts +0 -128
@@ -1,117 +0,0 @@
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 node_util_1 = require("node:util");
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const node_fs_1 = __importDefault(require("node:fs"));
9
- const promises_1 = require("node:fs/promises");
10
- const node_module_1 = __importDefault(require("node:module"));
11
- const utils_1 = require("@eggjs/utils");
12
- const debug = (0, node_util_1.debuglog)('@eggjs/core/utils');
13
- // Guard against poorly mocked module constructors.
14
- const Module = typeof module !== 'undefined' && module.constructor.length > 1
15
- ? module.constructor
16
- : /* istanbul ignore next */
17
- node_module_1.default;
18
- const extensions = Module._extensions;
19
- const extensionNames = Object.keys(extensions).concat(['.cjs', '.mjs']);
20
- debug('Module extensions: %j', extensionNames);
21
- function getCalleeFromStack(withLine, stackIndex) {
22
- stackIndex = stackIndex === undefined ? 2 : stackIndex;
23
- const limit = Error.stackTraceLimit;
24
- const prep = Error.prepareStackTrace;
25
- Error.prepareStackTrace = prepareObjectStackTrace;
26
- Error.stackTraceLimit = 5;
27
- // capture the stack
28
- const obj = {};
29
- Error.captureStackTrace(obj);
30
- let callSite = obj.stack[stackIndex];
31
- let fileName = '';
32
- if (callSite) {
33
- // egg-mock will create a proxy
34
- // https://github.com/eggjs/egg-mock/blob/master/lib/app.js#L174
35
- fileName = callSite.getFileName();
36
- /* istanbul ignore if */
37
- if (fileName && fileName.endsWith('egg-mock/lib/app.js')) {
38
- // TODO: add test
39
- callSite = obj.stack[stackIndex + 1];
40
- fileName = callSite.getFileName();
41
- }
42
- }
43
- Error.prepareStackTrace = prep;
44
- Error.stackTraceLimit = limit;
45
- if (!callSite || !fileName)
46
- return '<anonymous>';
47
- if (!withLine)
48
- return fileName;
49
- return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
50
- }
51
- exports.default = {
52
- deprecated(message) {
53
- if (debug.enabled) {
54
- console.trace('[@eggjs/core/deprecated] %s', message);
55
- }
56
- else {
57
- console.log('[@eggjs/core/deprecated] %s', message);
58
- console.log('[@eggjs/core/deprecated] set NODE_DEBUG=@eggjs/core/utils can show call stack');
59
- }
60
- },
61
- extensions,
62
- extensionNames,
63
- async existsPath(filepath) {
64
- try {
65
- await (0, promises_1.stat)(filepath);
66
- return true;
67
- }
68
- catch {
69
- return false;
70
- }
71
- },
72
- async loadFile(filepath) {
73
- try {
74
- // if not js module, just return content buffer
75
- const extname = node_path_1.default.extname(filepath);
76
- if (extname && !extensionNames.includes(extname) && extname !== '.ts') {
77
- return node_fs_1.default.readFileSync(filepath);
78
- }
79
- const obj = await (0, utils_1.importModule)(filepath, { importDefaultOnly: true });
80
- return obj;
81
- }
82
- catch (e) {
83
- if (!(e instanceof Error)) {
84
- // ts error: test/fixtures/apps/app-ts/app/extend/context.ts(5,17): error TS2339: Property 'url' does not exist on type 'Context'
85
- console.trace(e);
86
- throw e;
87
- }
88
- const err = new Error(`[@eggjs/core] load file: ${filepath}, error: ${e.message}`);
89
- err.cause = e;
90
- debug('[loadFile] handle %s error: %s', filepath, e);
91
- throw err;
92
- }
93
- },
94
- resolvePath(filepath, options) {
95
- return (0, utils_1.importResolve)(filepath, options);
96
- },
97
- methods: ['head', 'options', 'get', 'put', 'patch', 'post', 'delete'],
98
- async callFn(fn, args, ctx) {
99
- args = args || [];
100
- if (typeof fn !== 'function')
101
- return;
102
- return ctx ? fn.call(ctx, ...args) : fn(...args);
103
- },
104
- getCalleeFromStack,
105
- getResolvedFilename(filepath, baseDir) {
106
- const reg = /[/\\]/g;
107
- return filepath.replace(baseDir + node_path_1.default.sep, '').replace(reg, '/');
108
- },
109
- };
110
- /**
111
- * Capture call site stack from v8.
112
- * https://github.com/v8/v8/wiki/Stack-Trace-API
113
- */
114
- function prepareObjectStackTrace(_obj, stack) {
115
- return stack;
116
- }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5Q0FBcUM7QUFDckMsMERBQTZCO0FBQzdCLHNEQUF5QjtBQUN6QiwrQ0FBd0M7QUFDeEMsOERBQXdDO0FBRXhDLHdDQUEyRDtBQUUzRCxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUk1QyxtREFBbUQ7QUFDbkQsTUFBTSxNQUFNLEdBQ1YsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUM7SUFDNUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXO0lBQ3BCLENBQUMsQ0FBQywwQkFBMEI7UUFDMUIscUJBQWEsQ0FBQztBQUVwQixNQUFNLFVBQVUsR0FBSSxNQUFjLENBQUMsV0FBVyxDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDeEUsS0FBSyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRS9DLFNBQVMsa0JBQWtCLENBQUMsUUFBa0IsRUFBRSxVQUFtQjtJQUNqRSxVQUFVLEdBQUcsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFFckMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0lBQ2xELEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLG9CQUFvQjtJQUVwQixNQUFNLEdB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
@@ -1,13 +0,0 @@
1
- export interface SequencifyResult {
2
- sequence: string[];
3
- requires: Record<string, true>;
4
- }
5
- export interface SequencifyTask {
6
- dependencies: string[];
7
- optionalDependencies: string[];
8
- }
9
- export declare function sequencify(tasks: Record<string, SequencifyTask>, names: string[]): {
10
- sequence: string[];
11
- missingTasks: string[];
12
- recursiveDependencies: string[];
13
- };
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sequencify = sequencify;
4
- const node_util_1 = require("node:util");
5
- const debug = (0, node_util_1.debuglog)('@eggjs/core/utils/sequencify');
6
- function sequence(
7
- // oxlint-disable-next-line max-params
8
- tasks, names, result, missing, recursive, nest, optional, parent) {
9
- for (const name of names) {
10
- if (result.requires[name]) {
11
- continue;
12
- }
13
- const node = tasks[name];
14
- if (!node) {
15
- if (optional === true) {
16
- continue;
17
- }
18
- missing.push(name);
19
- }
20
- else if (nest.includes(name)) {
21
- nest.push(name);
22
- recursive.push(...nest.slice(0));
23
- nest.pop();
24
- }
25
- else if (node.dependencies.length > 0 ||
26
- node.optionalDependencies.length > 0) {
27
- nest.push(name);
28
- if (node.dependencies.length > 0) {
29
- sequence(tasks, node.dependencies, result, missing, recursive, nest, optional, name);
30
- }
31
- if (node.optionalDependencies.length > 0) {
32
- sequence(tasks, node.optionalDependencies, result, missing, recursive, nest, true, name);
33
- }
34
- nest.pop();
35
- }
36
- if (!optional) {
37
- result.requires[name] = true;
38
- debug('task: %s is enabled by %s', name, parent);
39
- }
40
- if (!result.sequence.includes(name)) {
41
- result.sequence.push(name);
42
- }
43
- }
44
- }
45
- // tasks: object with keys as task names
46
- // names: array of task names
47
- function sequencify(tasks, names) {
48
- const result = {
49
- sequence: [],
50
- requires: {},
51
- }; // the final sequence
52
- const missing = []; // missing tasks
53
- const recursive = []; // recursive task dependencies
54
- sequence(tasks, names, result, missing, recursive, [], false, 'app');
55
- if (missing.length > 0 || recursive.length > 0) {
56
- result.sequence = []; // results are incomplete at best, completely wrong at worst, remove them to avoid confusion
57
- }
58
- return {
59
- sequence: result.sequence.filter(item => result.requires[item]),
60
- missingTasks: missing,
61
- recursiveDependencies: recursive,
62
- };
63
- }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zZXF1ZW5jaWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0ZBLGdDQXNCQztBQXhHRCx5Q0FBcUM7QUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLDhCQUE4QixDQUFDLENBQUM7QUFZdkQsU0FBUyxRQUFRO0FBQ2Ysc0NBQXNDO0FBQ3RDLEtBQXFDLEVBQ3JDLEtBQWUsRUFDZixNQUF3QixFQUN4QixPQUFpQixFQUNqQixTQUFtQixFQUNuQixJQUFjLEVBQ2QsUUFBaUIsRUFDakIsTUFBYztJQUVkLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsU0FBUztRQUNYLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLFNBQVM7WUFDWCxDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNiLENBQUM7YUFBTSxJQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3BDLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLFFBQVEsQ0FDTixLQUFLLEVBQ0wsSUFBSSxDQUFDLFlBQVksRUFDakIsTUFBTSxFQUNOLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFFBQVEsRUFDUixJQUFJLENBQ0wsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLFFBQVEsQ0FDTixLQUFLLEVBQ0wsSUFBSSxDQUFDLG9CQUFvQixFQUN6QixNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksQ0FDTCxDQUFDO1lBQ0osQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNiLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUM3QixLQUFLLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCx3Q0FBd0M7QUFDeEMsNkJBQTZCO0FBQzdCLFNBQWdCLFVBQVUsQ0FDeEIsS0FBcUMsRUFDckMsS0FBZTtJQUVmLE1BQU0sTUFBTSxHQUFxQjtRQUMvQixRQUFRLEVBQUUsRUFBRTtRQUNaLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQyxDQUFDLHFCQUFxQjtJQUN4QixNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0I7SUFDOUMsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDLENBQUMsOEJBQThCO0lBRTlELFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFckUsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsNEZBQTRGO0lBQ3BILENBQUM7SUFFRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxZQUFZLEVBQUUsT0FBTztRQUNyQixxQkFBcUIsRUFBRSxTQUFTO0tBQ2pDLENBQUM7QUFDSixDQUFDIn0=
@@ -1,21 +0,0 @@
1
- export interface TimingItem {
2
- name: string;
3
- start: number;
4
- end?: number;
5
- duration?: number;
6
- pid: number;
7
- index: number;
8
- }
9
- export declare class Timing {
10
- #private;
11
- constructor();
12
- init(): void;
13
- start(name?: string, start?: number): TimingItem | undefined;
14
- end(name?: string): TimingItem | undefined;
15
- enable(): void;
16
- disable(): void;
17
- clear(): void;
18
- toJSON(): TimingItem[];
19
- itemToString(timelineEnd: number, item: TimingItem, times: number): string;
20
- toString(prefix?: string, width?: number): string;
21
- }
@@ -1,106 +0,0 @@
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.Timing = void 0;
7
- const node_os_1 = require("node:os");
8
- const node_util_1 = require("node:util");
9
- const node_assert_1 = __importDefault(require("node:assert"));
10
- const debug = (0, node_util_1.debuglog)('@eggjs/core/utils/timing');
11
- class Timing {
12
- #enable;
13
- #startTime;
14
- #map;
15
- #list;
16
- constructor() {
17
- this.#enable = true;
18
- this.#map = new Map();
19
- this.#list = [];
20
- this.init();
21
- }
22
- init() {
23
- // process start time
24
- this.start('Process Start', Date.now() - Math.floor(process.uptime() * 1000));
25
- this.end('Process Start');
26
- if ('scriptStartTime' in process &&
27
- typeof process.scriptStartTime === 'number') {
28
- // js script start execute time
29
- this.start('Script Start', process.scriptStartTime);
30
- this.end('Script Start');
31
- }
32
- }
33
- start(name, start) {
34
- if (!name || !this.#enable)
35
- return;
36
- if (this.#map.has(name)) {
37
- this.end(name);
38
- }
39
- start = start || Date.now();
40
- if (!this.#startTime) {
41
- this.#startTime = start;
42
- }
43
- const item = {
44
- name,
45
- start,
46
- pid: process.pid,
47
- index: this.#list.length,
48
- };
49
- this.#map.set(name, item);
50
- this.#list.push(item);
51
- debug('start %j', item);
52
- return item;
53
- }
54
- end(name) {
55
- if (!name || !this.#enable)
56
- return;
57
- const item = this.#map.get(name);
58
- (0, node_assert_1.default)(item, `should run timing.start('${name}') first`);
59
- item.end = Date.now();
60
- item.duration = item.end - item.start;
61
- debug('end %j', item);
62
- return item;
63
- }
64
- enable() {
65
- this.#enable = true;
66
- }
67
- disable() {
68
- this.#enable = false;
69
- }
70
- clear() {
71
- this.#map.clear();
72
- this.#list = [];
73
- }
74
- toJSON() {
75
- return this.#list;
76
- }
77
- itemToString(timelineEnd, item, times) {
78
- const isEnd = typeof item.duration === 'number';
79
- const duration = isEnd
80
- ? item.duration
81
- : timelineEnd - item.start;
82
- const offset = item.start - this.#startTime;
83
- const status = `${duration}ms${isEnd ? '' : ' NOT_END'}`;
84
- const timespan = Math.floor(Number((offset * times).toFixed(6)));
85
- let timeline = Math.floor(Number((duration * times).toFixed(6)));
86
- timeline = timeline > 0 ? timeline : 1; // make sure there is at least one unit
87
- const message = `#${item.index} ${item.name}`;
88
- return (' '.repeat(timespan) + '▇'.repeat(timeline) + ` [${status}] - ${message}`);
89
- }
90
- toString(prefix = 'egg start timeline:', width = 50) {
91
- const timelineEnd = Date.now();
92
- const timelineDuration = timelineEnd - this.#startTime;
93
- let times = 1;
94
- if (timelineDuration > width) {
95
- times = width / timelineDuration;
96
- }
97
- // follow https://github.com/node-modules/time-profile/blob/master/lib/profiler.js#L88
98
- return (prefix +
99
- node_os_1.EOL +
100
- this.#list
101
- .map(item => this.itemToString(timelineEnd, item, times))
102
- .join(node_os_1.EOL));
103
- }
104
- }
105
- exports.Timing = Timing;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3RpbWluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQ0FBOEI7QUFDOUIseUNBQXFDO0FBQ3JDLDhEQUFpQztBQUVqQyxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsMEJBQTBCLENBQUMsQ0FBQztBQVduRCxNQUFhLE1BQU07SUFDakIsT0FBTyxDQUFVO0lBQ2pCLFVBQVUsQ0FBUztJQUNuQixJQUFJLENBQTBCO0lBQzlCLEtBQUssQ0FBZTtJQUNwQjtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSTtRQUNGLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsS0FBSyxDQUNSLGVBQWUsRUFDZixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQ2pELENBQUM7UUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFCLElBQ0UsaUJBQWlCLElBQUksT0FBTztZQUM1QixPQUFPLE9BQU8sQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUMzQyxDQUFDO1lBQ0QsK0JBQStCO1lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWEsRUFBRSxLQUFjO1FBQ2pDLElBQUksQ0FB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
@@ -1,16 +0,0 @@
1
- import type { EggCore, Context } from './egg.js';
2
- /**
3
- * BaseContextClass is a base class that can be extended,
4
- * it's instantiated in context level,
5
- * {@link Helper}, {@link Service} is extending it.
6
- */
7
- export declare class BaseContextClass {
8
- ctx: Context;
9
- app: EggCore;
10
- config: Record<string, any>;
11
- service: BaseContextClass;
12
- /**
13
- * @since 1.0.0
14
- */
15
- constructor(ctx: Context);
16
- }
@@ -1,37 +0,0 @@
1
- /**
2
- * BaseContextClass is a base class that can be extended,
3
- * it's instantiated in context level,
4
- * {@link Helper}, {@link Service} is extending it.
5
- */
6
- export class BaseContextClass {
7
- ctx;
8
- app;
9
- config;
10
- service;
11
- /**
12
- * @since 1.0.0
13
- */
14
- constructor(ctx) {
15
- /**
16
- * @member {Context} BaseContextClass#ctx
17
- * @since 1.0.0
18
- */
19
- this.ctx = ctx;
20
- /**
21
- * @member {Application} BaseContextClass#app
22
- * @since 1.0.0
23
- */
24
- this.app = ctx.app;
25
- /**
26
- * @member {Config} BaseContextClass#config
27
- * @since 1.0.0
28
- */
29
- this.config = ctx.app.config;
30
- /**
31
- * @member {Service} BaseContextClass#service
32
- * @since 1.0.0
33
- */
34
- this.service = ctx.service;
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250ZXh0X2NsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2VfY29udGV4dF9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixHQUFHLENBQVU7SUFDYixHQUFHLENBQVU7SUFDYixNQUFNLENBQXNCO0lBQzVCLE9BQU8sQ0FBbUI7SUFFMUI7O09BRUc7SUFDSCxZQUFZLEdBQVk7UUFDdEI7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDbkI7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUM3Qjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztDQUNGIn0=
package/dist/esm/egg.d.ts DELETED
@@ -1,246 +0,0 @@
1
- import { Application as KoaApplication, Context as KoaContext, Request as KoaRequest, Response as KoaResponse, type MiddlewareFunc as KoaMiddlewareFunc, type Next } from '@eggjs/koa';
2
- import { EggConsoleLogger, type Logger } from 'egg-logger';
3
- import { EggRouter as Router, type RegisterOptions, type ResourcesController } from '@eggjs/router';
4
- import type { ReadyFunctionArg } from 'get-ready';
5
- import { BaseContextClass } from './base_context_class.js';
6
- import { Timing } from './utils/timing.js';
7
- import { Lifecycle } from './lifecycle.js';
8
- import { EggLoader } from './loader/egg_loader.js';
9
- import { type Fun } from './utils/index.js';
10
- import type { EggAppConfig } from './types.js';
11
- import { type SingletonCreateMethod } from './singleton.js';
12
- export declare const EGG_LOADER: unique symbol;
13
- export interface EggCoreOptions {
14
- baseDir: string;
15
- type: 'application' | 'agent';
16
- plugins?: any;
17
- serverScope?: string;
18
- env?: string;
19
- }
20
- export type EggCoreInitOptions = Partial<EggCoreOptions>;
21
- export { KoaRequest, KoaResponse, KoaContext, KoaApplication, Router };
22
- export type { Next, KoaMiddlewareFunc };
23
- export declare class Request extends KoaRequest {
24
- app: EggCore;
25
- response: Response;
26
- }
27
- export declare class Response extends KoaResponse {
28
- app: EggCore;
29
- request: Request;
30
- }
31
- export declare class Context extends KoaContext {
32
- app: EggCore;
33
- request: Request;
34
- response: Response;
35
- service: BaseContextClass;
36
- /**
37
- * Returns map of URL parameters for given `path` and `paramNames`.
38
- * @example
39
- * ##### ctx.params.id {string}
40
- *
41
- * `GET /api/users/1` => `'1'`
42
- *
43
- * ##### ctx.params.per_page {string}
44
- *
45
- * The number of every page, `GET /api/users?per_page=20` => `20`
46
- */
47
- params?: Record<string, string>;
48
- /**
49
- * Returns array of router regexp url path captures.
50
- */
51
- captures?: string[];
52
- /**
53
- * Returns the name of the matched router.
54
- */
55
- routerName?: string;
56
- /**
57
- * Returns the path of the matched router.
58
- */
59
- routerPath?: string | RegExp;
60
- }
61
- export type MiddlewareFunc<T extends KoaContext = Context> = KoaMiddlewareFunc<T>;
62
- export declare class EggCore extends KoaApplication {
63
- #private;
64
- options: EggCoreOptions;
65
- timing: Timing;
66
- console: EggConsoleLogger;
67
- BaseContextClass: typeof BaseContextClass;
68
- Controller: typeof BaseContextClass;
69
- Service: typeof BaseContextClass;
70
- Helper?: typeof BaseContextClass;
71
- lifecycle: Lifecycle;
72
- loader: EggLoader;
73
- /** auto inject on loadService() */
74
- readonly serviceClasses: Record<string, any>;
75
- /** auto inject on loadController() */
76
- readonly controller: Record<string, any>;
77
- /** auto inject on loadMiddleware() */
78
- readonly middlewares: Record<string, (opt: unknown, app: EggCore) => MiddlewareFunc>;
79
- /**
80
- * @class
81
- * @param {Object} options - options
82
- * @param {String} [options.baseDir] - the directory of application
83
- * @param {String} [options.type] - whether it's running in app worker or agent worker
84
- * @param {Object} [options.plugins] - custom plugins
85
- * @since 1.0.0
86
- */
87
- constructor(options?: EggCoreInitOptions);
88
- get logger(): Logger;
89
- get coreLogger(): Logger;
90
- /**
91
- * create a singleton instance
92
- * @param {String} name - unique name for singleton
93
- * @param {Function|AsyncFunction} create - method will be invoked when singleton instance create
94
- */
95
- addSingleton(name: string, create: SingletonCreateMethod): void;
96
- /**
97
- * override koa's app.use, support generator function
98
- * @since 1.0.0
99
- */
100
- use<T extends KoaContext = Context>(fn: MiddlewareFunc<T>): this;
101
- /**
102
- * Whether `application` or `agent`
103
- * @member {String}
104
- * @since 1.0.0
105
- */
106
- get type(): "application" | "agent";
107
- /**
108
- * The current directory of application
109
- * @member {String}
110
- * @see {@link AppInfo#baseDir}
111
- * @since 1.0.0
112
- */
113
- get baseDir(): string;
114
- /**
115
- * Alias to {@link https://npmjs.com/package/depd}
116
- * @member {Function}
117
- * @since 1.0.0
118
- */
119
- get deprecate(): (message: string) => void;
120
- /**
121
- * The name of application
122
- * @member {String}
123
- * @see {@link AppInfo#name}
124
- * @since 1.0.0
125
- */
126
- get name(): any;
127
- /**
128
- * Retrieve enabled plugins
129
- * @member {Object}
130
- * @since 1.0.0
131
- */
132
- get plugins(): Record<string, import("./types.js").EggPluginInfo>;
133
- /**
134
- * The configuration of application
135
- * @member {Config}
136
- * @since 1.0.0
137
- */
138
- get config(): EggAppConfig;
139
- /**
140
- * Execute scope after loaded and before app start.
141
- *
142
- * Notice:
143
- * This method is now NOT recommended and regarded as a deprecated one,
144
- * For plugin development, we should use `didLoad` instead.
145
- * For application development, we should use `willReady` instead.
146
- *
147
- * @see https://eggjs.org/en/advanced/loader.html#beforestart
148
- *
149
- * @param {Function} scope function will execute before app start
150
- * @param {string} [name] scope name, default is empty string
151
- */
152
- beforeStart(scope: Fun, name?: string): void;
153
- /**
154
- * register an callback function that will be invoked when application is ready.
155
- * @see https://github.com/node-modules/get-ready
156
- * @since 1.0.0
157
- * @example
158
- * const app = new Application(...);
159
- * app.ready(err => {
160
- * if (err) throw err;
161
- * console.log('done');
162
- * });
163
- */
164
- ready(): Promise<void>;
165
- ready(flagOrFunction: ReadyFunctionArg): void;
166
- /**
167
- * If a client starts asynchronously, you can register `readyCallback`,
168
- * then the application will wait for the callback to ready
169
- *
170
- * It will log when the callback is not invoked after 10s
171
- *
172
- * Recommend to use {@link EggCore#beforeStart}
173
- * @since 1.0.0
174
- *
175
- * @param {String} name - readyCallback task name
176
- * @param {object} opts -
177
- * - {Number} [timeout=10000] - emit `ready_timeout` when it doesn't finish but reach the timeout
178
- * - {Boolean} [isWeakDep=false] - whether it's a weak dependency
179
- * @returns {Function} - a callback
180
- * @example
181
- * const done = app.readyCallback('mysql');
182
- * mysql.ready(done);
183
- */
184
- readyCallback(name: string, opts: object): (...args: unknown[]) => void;
185
- /**
186
- * Register a function that will be called when app close.
187
- *
188
- * Notice:
189
- * This method is now NOT recommended directly used,
190
- * Developers SHOULDN'T use app.beforeClose directly now,
191
- * but in the form of class to implement beforeClose instead.
192
- *
193
- * @see https://eggjs.org/en/advanced/loader.html#beforeclose
194
- *
195
- * @param {Function} fn - the function that can be generator function or async function.
196
- */
197
- beforeClose(fn: Fun, name?: string): void;
198
- /**
199
- * Close all, it will close
200
- * - callbacks registered by beforeClose
201
- * - emit `close` event
202
- * - remove add listeners
203
- *
204
- * If error is thrown when it's closing, the promise will reject.
205
- * It will also reject after following call.
206
- * @returns {Promise} promise
207
- * @since 1.0.0
208
- */
209
- close(): Promise<void>;
210
- /**
211
- * get router
212
- * @member {Router} EggCore#router
213
- * @since 1.0.0
214
- */
215
- get router(): Router;
216
- /**
217
- * Alias to {@link Router#url}
218
- * @param {String} name - Router name
219
- * @param {Object} params - more parameters
220
- * @returns {String} url
221
- */
222
- url(name: string, params?: Parameters<Router['url']>[1]): string;
223
- head(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
224
- head(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
225
- get(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
226
- get(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
227
- put(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
228
- put(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
229
- patch(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
230
- patch(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
231
- post(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
232
- post(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
233
- delete(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
234
- delete(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
235
- del(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
236
- del(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
237
- all(path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
238
- all(name: string, path: string | RegExp | (string | RegExp)[], ...middlewares: (MiddlewareFunc | string)[]): EggCore;
239
- resources(prefix: string, controller: string | ResourcesController): EggCore;
240
- resources(prefix: string, middleware: MiddlewareFunc, controller: string | ResourcesController): EggCore;
241
- resources(name: string, prefix: string, controller: string | ResourcesController): EggCore;
242
- resources(name: string, prefix: string, middleware: MiddlewareFunc, controller: string | ResourcesController): EggCore;
243
- redirect(source: string, destination: string, status?: number): this;
244
- register(path: string | RegExp | (string | RegExp)[], methods: string[], middleware: MiddlewareFunc | MiddlewareFunc[], opts?: RegisterOptions): this;
245
- get [EGG_LOADER](): typeof EggLoader;
246
- }