@eggjs/core 6.5.0 → 6.6.0-beta.2

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 +34 -72
  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
package/dist/esm/egg.js DELETED
@@ -1,388 +0,0 @@
1
- /* eslint-disable prefer-spread */
2
- import assert from 'node:assert';
3
- import { debuglog } from 'node:util';
4
- import { Application as KoaApplication, Context as KoaContext, Request as KoaRequest, Response as KoaResponse, } from '@eggjs/koa';
5
- import { EggConsoleLogger } from 'egg-logger';
6
- import { EggRouter as Router, } from '@eggjs/router';
7
- import { BaseContextClass } from './base_context_class.js';
8
- import { Timing } from './utils/timing.js';
9
- import { Lifecycle } from './lifecycle.js';
10
- import { EggLoader } from './loader/egg_loader.js';
11
- import utils from './utils/index.js';
12
- import { Singleton, } from './singleton.js';
13
- const debug = debuglog('@eggjs/core/egg');
14
- export const EGG_LOADER = Symbol.for('egg#loader');
15
- // export @eggjs/koa classes
16
- export { KoaRequest, KoaResponse, KoaContext, KoaApplication, Router };
17
- // export @eggjs/core classes
18
- export class Request extends KoaRequest {
19
- }
20
- export class Response extends KoaResponse {
21
- }
22
- export class Context extends KoaContext {
23
- // #region router
24
- /**
25
- * Returns map of URL parameters for given `path` and `paramNames`.
26
- * @example
27
- * ##### ctx.params.id {string}
28
- *
29
- * `GET /api/users/1` => `'1'`
30
- *
31
- * ##### ctx.params.per_page {string}
32
- *
33
- * The number of every page, `GET /api/users?per_page=20` => `20`
34
- */
35
- params;
36
- /**
37
- * Returns array of router regexp url path captures.
38
- */
39
- captures;
40
- /**
41
- * Returns the name of the matched router.
42
- */
43
- routerName;
44
- /**
45
- * Returns the path of the matched router.
46
- */
47
- routerPath;
48
- }
49
- export class EggCore extends KoaApplication {
50
- options;
51
- timing;
52
- console;
53
- BaseContextClass;
54
- Controller;
55
- Service;
56
- Helper;
57
- lifecycle;
58
- loader;
59
- #closePromise;
60
- #router;
61
- /** auto inject on loadService() */
62
- serviceClasses = {};
63
- /** auto inject on loadController() */
64
- controller = {};
65
- /** auto inject on loadMiddleware() */
66
- middlewares = {};
67
- /**
68
- * @class
69
- * @param {Object} options - options
70
- * @param {String} [options.baseDir] - the directory of application
71
- * @param {String} [options.type] - whether it's running in app worker or agent worker
72
- * @param {Object} [options.plugins] - custom plugins
73
- * @since 1.0.0
74
- */
75
- constructor(options = {}) {
76
- options.baseDir = options.baseDir ?? process.cwd();
77
- options.type = options.type ?? 'application';
78
- assert(typeof options.baseDir === 'string', 'options.baseDir required, and must be a string');
79
- // assert(fs.existsSync(options.baseDir), `Directory ${options.baseDir} not exists`);
80
- // assert(fs.statSync(options.baseDir).isDirectory(), `Directory ${options.baseDir} is not a directory`);
81
- assert(options.type === 'application' || options.type === 'agent', 'options.type should be application or agent');
82
- super();
83
- this.timing = new Timing();
84
- /**
85
- * @member {Object} EggCore#options
86
- * @private
87
- * @since 1.0.0
88
- */
89
- this.options = options;
90
- /**
91
- * logging for EggCore, avoid using console directly
92
- * @member {Logger} EggCore#console
93
- * @private
94
- * @since 1.0.0
95
- */
96
- this.console = new EggConsoleLogger();
97
- /**
98
- * @member {BaseContextClass} EggCore#BaseContextClass
99
- * @since 1.0.0
100
- */
101
- this.BaseContextClass = BaseContextClass;
102
- /**
103
- * Base controller to be extended by controller in `app.controller`
104
- * @class Controller
105
- * @augments BaseContextClass
106
- * @example
107
- * class UserController extends app.Controller {}
108
- */
109
- const Controller = this.BaseContextClass;
110
- /**
111
- * Retrieve base controller
112
- * @member {Controller} EggCore#Controller
113
- * @since 1.0.0
114
- */
115
- this.Controller = Controller;
116
- /**
117
- * Base service to be extended by services in `app.service`
118
- * @class Service
119
- * @augments BaseContextClass
120
- * @example
121
- * class UserService extends app.Service {}
122
- */
123
- const Service = this.BaseContextClass;
124
- /**
125
- * Retrieve base service
126
- * @member {Service} EggCore#Service
127
- * @since 1.0.0
128
- */
129
- this.Service = Service;
130
- this.lifecycle = new Lifecycle({
131
- baseDir: options.baseDir,
132
- app: this,
133
- logger: this.console,
134
- });
135
- this.lifecycle.on('error', err => this.emit('error', err));
136
- this.lifecycle.on('ready_timeout', id => this.emit('ready_timeout', id));
137
- this.lifecycle.on('ready_stat', data => this.emit('ready_stat', data));
138
- /**
139
- * The loader instance, the default class is {@link EggLoader}.
140
- * If you want define
141
- * @member {EggLoader} EggCore#loader
142
- * @since 1.0.0
143
- */
144
- const Loader = this[EGG_LOADER];
145
- assert(Loader, "Symbol.for('egg#loader') is required");
146
- this.loader = new Loader({
147
- baseDir: options.baseDir,
148
- app: this,
149
- plugins: options.plugins,
150
- logger: this.console,
151
- serverScope: options.serverScope,
152
- env: options.env ?? '',
153
- EggCoreClass: EggCore,
154
- });
155
- }
156
- get logger() {
157
- return this.console;
158
- }
159
- get coreLogger() {
160
- return this.console;
161
- }
162
- /**
163
- * create a singleton instance
164
- * @param {String} name - unique name for singleton
165
- * @param {Function|AsyncFunction} create - method will be invoked when singleton instance create
166
- */
167
- addSingleton(name, create) {
168
- const options = {
169
- name,
170
- create,
171
- app: this,
172
- };
173
- const singleton = new Singleton(options);
174
- const initPromise = singleton.init();
175
- if (initPromise) {
176
- this.lifecycle.registerBeforeStart(async () => {
177
- await initPromise;
178
- }, `${name}-singleton-init`);
179
- }
180
- }
181
- /**
182
- * override koa's app.use, support generator function
183
- * @since 1.0.0
184
- */
185
- use(fn) {
186
- assert(typeof fn === 'function', 'app.use() requires a function');
187
- debug('[use] add middleware: %o', fn._name || fn.name || '-');
188
- this.middleware.push(fn);
189
- return this;
190
- }
191
- /**
192
- * Whether `application` or `agent`
193
- * @member {String}
194
- * @since 1.0.0
195
- */
196
- get type() {
197
- return this.options.type;
198
- }
199
- /**
200
- * The current directory of application
201
- * @member {String}
202
- * @see {@link AppInfo#baseDir}
203
- * @since 1.0.0
204
- */
205
- get baseDir() {
206
- return this.options.baseDir;
207
- }
208
- /**
209
- * Alias to {@link https://npmjs.com/package/depd}
210
- * @member {Function}
211
- * @since 1.0.0
212
- */
213
- get deprecate() {
214
- return utils.deprecated;
215
- }
216
- /**
217
- * The name of application
218
- * @member {String}
219
- * @see {@link AppInfo#name}
220
- * @since 1.0.0
221
- */
222
- get name() {
223
- return this.loader ? this.loader.pkg.name : '';
224
- }
225
- /**
226
- * Retrieve enabled plugins
227
- * @member {Object}
228
- * @since 1.0.0
229
- */
230
- get plugins() {
231
- return this.loader ? this.loader.plugins : {};
232
- }
233
- /**
234
- * The configuration of application
235
- * @member {Config}
236
- * @since 1.0.0
237
- */
238
- get config() {
239
- return this.loader ? this.loader.config : {};
240
- }
241
- /**
242
- * Execute scope after loaded and before app start.
243
- *
244
- * Notice:
245
- * This method is now NOT recommended and regarded as a deprecated one,
246
- * For plugin development, we should use `didLoad` instead.
247
- * For application development, we should use `willReady` instead.
248
- *
249
- * @see https://eggjs.org/en/advanced/loader.html#beforestart
250
- *
251
- * @param {Function} scope function will execute before app start
252
- * @param {string} [name] scope name, default is empty string
253
- */
254
- beforeStart(scope, name) {
255
- this.deprecate('`beforeStart` was deprecated, please use "Life Cycles" instead, see https://www.eggjs.org/advanced/loader#life-cycles');
256
- this.lifecycle.registerBeforeStart(scope, name ?? '');
257
- }
258
- ready(flagOrFunction) {
259
- if (flagOrFunction === undefined) {
260
- return this.lifecycle.ready();
261
- }
262
- return this.lifecycle.ready(flagOrFunction);
263
- }
264
- /**
265
- * If a client starts asynchronously, you can register `readyCallback`,
266
- * then the application will wait for the callback to ready
267
- *
268
- * It will log when the callback is not invoked after 10s
269
- *
270
- * Recommend to use {@link EggCore#beforeStart}
271
- * @since 1.0.0
272
- *
273
- * @param {String} name - readyCallback task name
274
- * @param {object} opts -
275
- * - {Number} [timeout=10000] - emit `ready_timeout` when it doesn't finish but reach the timeout
276
- * - {Boolean} [isWeakDep=false] - whether it's a weak dependency
277
- * @returns {Function} - a callback
278
- * @example
279
- * const done = app.readyCallback('mysql');
280
- * mysql.ready(done);
281
- */
282
- readyCallback(name, opts) {
283
- this.deprecate('`readyCallback` was deprecated, please use "Life Cycles" instead, see https://www.eggjs.org/advanced/loader#life-cycles');
284
- return this.lifecycle.legacyReadyCallback(name, opts);
285
- }
286
- /**
287
- * Register a function that will be called when app close.
288
- *
289
- * Notice:
290
- * This method is now NOT recommended directly used,
291
- * Developers SHOULDN'T use app.beforeClose directly now,
292
- * but in the form of class to implement beforeClose instead.
293
- *
294
- * @see https://eggjs.org/en/advanced/loader.html#beforeclose
295
- *
296
- * @param {Function} fn - the function that can be generator function or async function.
297
- */
298
- beforeClose(fn, name) {
299
- this.deprecate('`beforeClose` was deprecated, please use "Life Cycles" instead, see https://www.eggjs.org/advanced/loader#life-cycles');
300
- this.lifecycle.registerBeforeClose(fn, name);
301
- }
302
- /**
303
- * Close all, it will close
304
- * - callbacks registered by beforeClose
305
- * - emit `close` event
306
- * - remove add listeners
307
- *
308
- * If error is thrown when it's closing, the promise will reject.
309
- * It will also reject after following call.
310
- * @returns {Promise} promise
311
- * @since 1.0.0
312
- */
313
- async close() {
314
- if (this.#closePromise)
315
- return this.#closePromise;
316
- this.#closePromise = this.lifecycle.close();
317
- return this.#closePromise;
318
- }
319
- /**
320
- * get router
321
- * @member {Router} EggCore#router
322
- * @since 1.0.0
323
- */
324
- get router() {
325
- if (this.#router) {
326
- return this.#router;
327
- }
328
- this.#router = new Router({ sensitive: true }, this);
329
- return this.#router;
330
- }
331
- /**
332
- * Alias to {@link Router#url}
333
- * @param {String} name - Router name
334
- * @param {Object} params - more parameters
335
- * @returns {String} url
336
- */
337
- url(name, params) {
338
- return this.router.url(name, params);
339
- }
340
- head(...args) {
341
- this.router.head.apply(this.router, args);
342
- return this;
343
- }
344
- get(...args) {
345
- this.router.get.apply(this.router, args);
346
- return this;
347
- }
348
- put(...args) {
349
- this.router.put.apply(this.router, args);
350
- return this;
351
- }
352
- patch(...args) {
353
- this.router.patch.apply(this.router, args);
354
- return this;
355
- }
356
- post(...args) {
357
- this.router.post.apply(this.router, args);
358
- return this;
359
- }
360
- delete(...args) {
361
- this.router.delete.apply(this.router, args);
362
- return this;
363
- }
364
- del(...args) {
365
- this.router.del.apply(this.router, args);
366
- return this;
367
- }
368
- all(...args) {
369
- this.router.all.apply(this.router, args);
370
- return this;
371
- }
372
- resources(...args) {
373
- this.router.resources.apply(this.router, args);
374
- return this;
375
- }
376
- redirect(source, destination, status = 301) {
377
- this.router.redirect(source, destination, status);
378
- return this;
379
- }
380
- register(path, methods, middleware, opts) {
381
- this.router.register(path, methods, middleware, opts);
382
- return this;
383
- }
384
- get [EGG_LOADER]() {
385
- return EggLoader;
386
- }
387
- }
388
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VnZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7QUFDbEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUNMLFdBQVcsSUFBSSxjQUFjLEVBQzdCLE9BQU8sSUFBSSxVQUFVLEVBQ3JCLE9BQU8sSUFBSSxVQUFVLEVBQ3JCLFFBQVEsSUFBSSxXQUFXLEdBR3hCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLFlBQVksQ0FBQztBQUMzRCxPQUFPLEVBQ0wsU0FBUyxJQUFJLE1BQU0sR0FHcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxLQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFDTCxTQUFTLEdBR1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQVluRCw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUt2RSw2QkFBNkI7QUFDN0IsTUFBTSxPQUFPLE9BQVEsU0FBUSxVQUFVO0NBR3RDO0FBRUQsTUFB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
@@ -1,12 +0,0 @@
1
- import utils from './utils/index.js';
2
- export { utils };
3
- export * from './egg.js';
4
- export * from './base_context_class.js';
5
- export * from './lifecycle.js';
6
- export * from './singleton.js';
7
- export * from './loader/egg_loader.js';
8
- export * from './loader/file_loader.js';
9
- export * from './loader/context_loader.js';
10
- export * from './utils/sequencify.js';
11
- export * from './utils/timing.js';
12
- export type * from './types.js';
package/dist/esm/index.js DELETED
@@ -1,12 +0,0 @@
1
- import utils from './utils/index.js';
2
- export { utils };
3
- export * from './egg.js';
4
- export * from './base_context_class.js';
5
- export * from './lifecycle.js';
6
- export * from './singleton.js';
7
- export * from './loader/egg_loader.js';
8
- export * from './loader/file_loader.js';
9
- export * from './loader/context_loader.js';
10
- export * from './utils/sequencify.js';
11
- export * from './utils/timing.js';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sa0JBQWtCLENBQUM7QUFFckMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBRWpCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQyJ9
@@ -1,78 +0,0 @@
1
- import { EventEmitter } from 'node:events';
2
- import { type ReadyFunctionArg } from 'get-ready';
3
- import { Ready } from 'ready-callback';
4
- import { EggConsoleLogger } from 'egg-logger';
5
- import type { Fun } from './utils/index.js';
6
- import type { EggCore } from './egg.js';
7
- export interface ILifecycleBoot {
8
- fullPath?: string;
9
- /**
10
- * Ready to call configDidLoad,
11
- * Config, plugin files are referred,
12
- * this is the last chance to modify the config.
13
- */
14
- configWillLoad?(): void;
15
- /**
16
- * Config, plugin files have loaded
17
- */
18
- configDidLoad?(): void;
19
- /**
20
- * All files have loaded, start plugin here
21
- */
22
- didLoad?(): Promise<void>;
23
- /**
24
- * All plugins have started, can do some thing before app ready
25
- */
26
- willReady?(): Promise<void>;
27
- /**
28
- * Worker is ready, can do some things,
29
- * don't need to block the app boot
30
- */
31
- didReady?(err?: Error): Promise<void>;
32
- /**
33
- * Server is listening
34
- */
35
- serverDidReady?(): Promise<void>;
36
- /**
37
- * Do some thing before app close
38
- */
39
- beforeClose?(): Promise<void>;
40
- }
41
- export type BootImplClass<T = ILifecycleBoot> = new (...args: any[]) => T;
42
- export interface LifecycleOptions {
43
- baseDir: string;
44
- app: EggCore;
45
- logger: EggConsoleLogger;
46
- }
47
- export type FunWithFullPath = Fun & {
48
- fullPath?: string;
49
- };
50
- export declare class Lifecycle extends EventEmitter {
51
- #private;
52
- loadReady: Ready;
53
- bootReady: Ready;
54
- options: LifecycleOptions;
55
- readyTimeout: number;
56
- constructor(options: Partial<LifecycleOptions>);
57
- ready(): Promise<void>;
58
- ready(flagOrFunction: ReadyFunctionArg): void;
59
- get app(): EggCore;
60
- get logger(): EggConsoleLogger<import("egg-logger").LoggerOptions>;
61
- get timing(): import("./index.js").Timing;
62
- legacyReadyCallback(name: string, opt?: object): (...args: unknown[]) => void;
63
- addBootHook(bootHootOrBootClass: BootImplClass | ILifecycleBoot): void;
64
- addFunctionAsBootHook<T = EggCore>(hook: (app: T) => void, fullPath?: string): void;
65
- /**
66
- * init boots and trigger config did config
67
- */
68
- init(): void;
69
- registerBeforeStart(scope: Fun, name: string): void;
70
- registerBeforeClose(fn: FunWithFullPath, fullPath?: string): void;
71
- close(): Promise<void>;
72
- triggerConfigWillLoad(): void;
73
- triggerConfigDidLoad(): void;
74
- triggerDidLoad(): void;
75
- triggerWillReady(): void;
76
- triggerDidReady(err?: Error): Promise<void>;
77
- triggerServerDidReady(): Promise<void>;
78
- }