egg 4.0.6 → 4.0.8

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.
@@ -179,6 +179,14 @@ export default class Context extends EggCoreContext {
179
179
  }
180
180
  declare module '@eggjs/core' {
181
181
  interface Context {
182
+ proxy: any;
183
+ performanceStarttime: number;
184
+ starttime: number;
185
+ runInBackground(scope: (ctx: Context) => Promise<void>, taskName?: string): void;
186
+ _runInBackground(scope: (ctx: Context) => Promise<void>, taskName: string): void;
187
+ get acceptJSON(): boolean;
188
+ get query(): Record<string, string>;
189
+ get queries(): Record<string, string[]>;
182
190
  curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
183
191
  get router(): Router;
184
192
  set router(val: Router);
@@ -7,7 +7,7 @@ export default class Request extends EggCoreRequest {
7
7
  ctx: Context;
8
8
  response: Response;
9
9
  /**
10
- * Request body, parsed from koa-bodyparser or egg-multipart
10
+ * Request body, parsed from koa-bodyparser or @eggjs/multipart
11
11
  */
12
12
  body: any;
13
13
  /**
@@ -48,7 +48,7 @@ exports.default = {
48
48
  */
49
49
  multipart: {
50
50
  enable: true,
51
- package: 'egg-multipart',
51
+ package: '@eggjs/multipart',
52
52
  },
53
53
  /**
54
54
  * security middlewares and extends
@@ -118,7 +118,7 @@ exports.default = {
118
118
  */
119
119
  view: {
120
120
  enable: true,
121
- package: 'egg-view',
121
+ package: '@eggjs/view',
122
122
  },
123
123
  };
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQkFBZTtJQUNiOzs7O09BSUc7SUFDSCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxnQkFBZ0I7S0FDMUI7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsZ0JBQWdCO0tBQzFCO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxlQUFlO0tBQ3pCO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxpQkFBaUI7S0FDM0I7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsRUFBRTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsbUJBQW1CO0tBQzdCO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxpQkFBaUI7S0FDM0I7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGVBQWU7S0FDekI7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssRUFBRTtRQUNMLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGNBQWM7S0FDeEI7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLFVBQVU7S0FDcEI7Q0FDRixDQUFDIn0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQkFBZTtJQUNiOzs7O09BSUc7SUFDSCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxnQkFBZ0I7S0FDMUI7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsZ0JBQWdCO0tBQzFCO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxrQkFBa0I7S0FDNUI7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGlCQUFpQjtLQUMzQjtJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxFQUFFO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsb0JBQW9CO0tBQzlCO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxtQkFBbUI7S0FDN0I7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGlCQUFpQjtLQUMzQjtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsZUFBZTtLQUN6QjtJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsY0FBYztLQUN4QjtJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsYUFBYTtLQUN2QjtDQUNGLENBQUMifQ==
@@ -16,6 +16,8 @@ import '@eggjs/schedule';
16
16
  import '@eggjs/session';
17
17
  import '@eggjs/onerror';
18
18
  import '@eggjs/logrotator';
19
+ import '@eggjs/multipart';
20
+ import '@eggjs/view';
19
21
  export type { EggAppInfo, } from '@eggjs/core';
20
22
  type IgnoreItem = string | RegExp | ((ctx: Context) => boolean);
21
23
  type IgnoreOrMatch = IgnoreItem | IgnoreItem[];
@@ -61,7 +63,22 @@ export interface HttpClientConfig {
61
63
  * @deprecated keep compatible with egg 3.x, no more used
62
64
  */
63
65
  useHttpClientNext?: boolean;
66
+ /**
67
+ * Allow http2
68
+ */
69
+ allowH2?: boolean;
64
70
  }
71
+ /**
72
+ * Powerful Partial, Support adding ? modifier to a mapped property in deep level
73
+ * @example
74
+ * import { PowerPartial, EggAppConfig } from 'egg';
75
+ *
76
+ * // { view: { defaultEngines: string } } => { view?: { defaultEngines?: string } }
77
+ * type EggConfig = PowerPartial<EggAppConfig>
78
+ */
79
+ export type PowerPartial<T> = {
80
+ [U in keyof T]?: T[U] extends object ? PowerPartial<T[U]> : T[U];
81
+ };
65
82
  export interface EggAppConfig extends EggCoreAppConfig {
66
83
  workerStartTimeout: number;
67
84
  baseDir: string;
@@ -11,4 +11,6 @@ require("@eggjs/schedule");
11
11
  require("@eggjs/session");
12
12
  require("@eggjs/onerror");
13
13
  require("@eggjs/logrotator");
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLHVCQUF1QjtBQUN2QiwwQkFBd0I7QUFDeEIsOEJBQTRCO0FBQzVCLHdCQUFzQjtBQUN0Qix1QkFBcUI7QUFDckIseUJBQXVCO0FBQ3ZCLDJCQUF5QjtBQUN6QiwyQkFBeUI7QUFDekIsMEJBQXdCO0FBQ3hCLDBCQUF3QjtBQUN4Qiw2QkFBMkIifQ==
14
+ require("@eggjs/multipart");
15
+ require("@eggjs/view");
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLHVCQUF1QjtBQUN2QiwwQkFBd0I7QUFDeEIsOEJBQTRCO0FBQzVCLHdCQUFzQjtBQUN0Qix1QkFBcUI7QUFDckIseUJBQXVCO0FBQ3ZCLDJCQUF5QjtBQUN6QiwyQkFBeUI7QUFDekIsMEJBQXdCO0FBQ3hCLDBCQUF3QjtBQUN4Qiw2QkFBMkI7QUFDM0IsNEJBQTBCO0FBQzFCLHVCQUFxQiJ9
@@ -179,6 +179,14 @@ export default class Context extends EggCoreContext {
179
179
  }
180
180
  declare module '@eggjs/core' {
181
181
  interface Context {
182
+ proxy: any;
183
+ performanceStarttime: number;
184
+ starttime: number;
185
+ runInBackground(scope: (ctx: Context) => Promise<void>, taskName?: string): void;
186
+ _runInBackground(scope: (ctx: Context) => Promise<void>, taskName: string): void;
187
+ get acceptJSON(): boolean;
188
+ get query(): Record<string, string>;
189
+ get queries(): Record<string, string[]>;
182
190
  curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
183
191
  get router(): Router;
184
192
  set router(val: Router);
@@ -7,7 +7,7 @@ export default class Request extends EggCoreRequest {
7
7
  ctx: Context;
8
8
  response: Response;
9
9
  /**
10
- * Request body, parsed from koa-bodyparser or egg-multipart
10
+ * Request body, parsed from koa-bodyparser or @eggjs/multipart
11
11
  */
12
12
  body: any;
13
13
  /**
@@ -46,7 +46,7 @@ export default {
46
46
  */
47
47
  multipart: {
48
48
  enable: true,
49
- package: 'egg-multipart',
49
+ package: '@eggjs/multipart',
50
50
  },
51
51
  /**
52
52
  * security middlewares and extends
@@ -116,7 +116,7 @@ export default {
116
116
  */
117
117
  view: {
118
118
  enable: true,
119
- package: 'egg-view',
119
+ package: '@eggjs/view',
120
120
  },
121
121
  };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiOzs7O09BSUc7SUFDSCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxnQkFBZ0I7S0FDMUI7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsZ0JBQWdCO0tBQzFCO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxlQUFlO0tBQ3pCO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxpQkFBaUI7S0FDM0I7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsRUFBRTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLG9CQUFvQjtLQUM5QjtJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsbUJBQW1CO0tBQzdCO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxpQkFBaUI7S0FDM0I7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGVBQWU7S0FDekI7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssRUFBRTtRQUNMLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGNBQWM7S0FDeEI7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLFVBQVU7S0FDcEI7Q0FDRixDQUFDIn0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiOzs7O09BSUc7SUFDSCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxnQkFBZ0I7S0FDMUI7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGdCQUFnQjtLQUMxQjtJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsZ0JBQWdCO0tBQzFCO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxrQkFBa0I7S0FDNUI7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGlCQUFpQjtLQUMzQjtJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxFQUFFO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsb0JBQW9CO0tBQzlCO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxtQkFBbUI7S0FDN0I7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLGlCQUFpQjtLQUMzQjtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsZUFBZTtLQUN6QjtJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsY0FBYztLQUN4QjtJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsYUFBYTtLQUN2QjtDQUNGLENBQUMifQ==
@@ -16,6 +16,8 @@ import '@eggjs/schedule';
16
16
  import '@eggjs/session';
17
17
  import '@eggjs/onerror';
18
18
  import '@eggjs/logrotator';
19
+ import '@eggjs/multipart';
20
+ import '@eggjs/view';
19
21
  export type { EggAppInfo, } from '@eggjs/core';
20
22
  type IgnoreItem = string | RegExp | ((ctx: Context) => boolean);
21
23
  type IgnoreOrMatch = IgnoreItem | IgnoreItem[];
@@ -61,7 +63,22 @@ export interface HttpClientConfig {
61
63
  * @deprecated keep compatible with egg 3.x, no more used
62
64
  */
63
65
  useHttpClientNext?: boolean;
66
+ /**
67
+ * Allow http2
68
+ */
69
+ allowH2?: boolean;
64
70
  }
71
+ /**
72
+ * Powerful Partial, Support adding ? modifier to a mapped property in deep level
73
+ * @example
74
+ * import { PowerPartial, EggAppConfig } from 'egg';
75
+ *
76
+ * // { view: { defaultEngines: string } } => { view?: { defaultEngines?: string } }
77
+ * type EggConfig = PowerPartial<EggAppConfig>
78
+ */
79
+ export type PowerPartial<T> = {
80
+ [U in keyof T]?: T[U] extends object ? PowerPartial<T[U]> : T[U];
81
+ };
65
82
  export interface EggAppConfig extends EggCoreAppConfig {
66
83
  workerStartTimeout: number;
67
84
  baseDir: string;
@@ -9,4 +9,6 @@ import '@eggjs/schedule';
9
9
  import '@eggjs/session';
10
10
  import '@eggjs/onerror';
11
11
  import '@eggjs/logrotator';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSx1QkFBdUI7QUFDdkIsT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxtQkFBbUIsQ0FBQyJ9
12
+ import '@eggjs/multipart';
13
+ import '@eggjs/view';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSx1QkFBdUI7QUFDdkIsT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sYUFBYSxDQUFDIn0=
package/dist/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "egg",
3
- "version": "4.0.6"
3
+ "version": "4.0.8"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "egg",
3
- "version": "4.0.6",
3
+ "version": "4.0.8",
4
4
  "engines": {
5
5
  "node": ">= 18.19.0"
6
6
  },
@@ -26,19 +26,19 @@
26
26
  "@eggjs/i18n": "^3.0.1",
27
27
  "@eggjs/jsonp": "^3.0.0",
28
28
  "@eggjs/logrotator": "^4.0.0",
29
+ "@eggjs/multipart": "^4.0.0",
29
30
  "@eggjs/onerror": "^3.0.0",
30
31
  "@eggjs/schedule": "^5.0.2",
31
32
  "@eggjs/security": "^4.0.0",
32
33
  "@eggjs/session": "^4.0.1",
33
34
  "@eggjs/static": "^3.0.0",
34
35
  "@eggjs/utils": "^4.2.5",
36
+ "@eggjs/view": "^3.0.1",
35
37
  "@eggjs/watcher": "^4.0.4",
36
38
  "circular-json-for-egg": "^1.0.0",
37
39
  "cluster-client": "^3.7.0",
38
40
  "egg-errors": "^2.3.2",
39
41
  "egg-logger": "^3.6.1",
40
- "egg-multipart": "^3.5.0",
41
- "egg-view": "^2.1.4",
42
42
  "extend2": "^4.0.0",
43
43
  "graceful": "^2.0.0",
44
44
  "humanize-ms": "^2.0.0",
@@ -308,6 +308,14 @@ export default class Context extends EggCoreContext {
308
308
  declare module '@eggjs/core' {
309
309
  // add Context overrides types
310
310
  interface Context {
311
+ proxy: any;
312
+ performanceStarttime: number;
313
+ starttime: number;
314
+ runInBackground(scope: (ctx: Context) => Promise<void>, taskName?: string): void;
315
+ _runInBackground(scope: (ctx: Context) => Promise<void>, taskName: string): void;
316
+ get acceptJSON(): boolean;
317
+ get query(): Record<string, string>;
318
+ get queries(): Record<string, string[]>;
311
319
  curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
312
320
  get router(): Router;
313
321
  set router(val: Router);
@@ -17,7 +17,7 @@ export default class Request extends EggCoreRequest {
17
17
  declare response: Response;
18
18
 
19
19
  /**
20
- * Request body, parsed from koa-bodyparser or egg-multipart
20
+ * Request body, parsed from koa-bodyparser or @eggjs/multipart
21
21
  */
22
22
  declare body: any;
23
23
 
@@ -50,7 +50,7 @@ export default {
50
50
  */
51
51
  multipart: {
52
52
  enable: true,
53
- package: 'egg-multipart',
53
+ package: '@eggjs/multipart',
54
54
  },
55
55
 
56
56
  /**
@@ -127,6 +127,6 @@ export default {
127
127
  */
128
128
  view: {
129
129
  enable: true,
130
- package: 'egg-view',
130
+ package: '@eggjs/view',
131
131
  },
132
132
  };
package/src/lib/types.ts CHANGED
@@ -27,6 +27,8 @@ import '@eggjs/schedule';
27
27
  import '@eggjs/session';
28
28
  import '@eggjs/onerror';
29
29
  import '@eggjs/logrotator';
30
+ import '@eggjs/multipart';
31
+ import '@eggjs/view';
30
32
 
31
33
  export type {
32
34
  EggAppInfo,
@@ -79,8 +81,26 @@ export interface HttpClientConfig {
79
81
  * @deprecated keep compatible with egg 3.x, no more used
80
82
  */
81
83
  useHttpClientNext?: boolean;
84
+ /**
85
+ * Allow http2
86
+ */
87
+ allowH2?: boolean;
82
88
  }
83
89
 
90
+ /**
91
+ * Powerful Partial, Support adding ? modifier to a mapped property in deep level
92
+ * @example
93
+ * import { PowerPartial, EggAppConfig } from 'egg';
94
+ *
95
+ * // { view: { defaultEngines: string } } => { view?: { defaultEngines?: string } }
96
+ * type EggConfig = PowerPartial<EggAppConfig>
97
+ */
98
+ export type PowerPartial<T> = {
99
+ [U in keyof T]?: T[U] extends object
100
+ ? PowerPartial<T[U]>
101
+ : T[U]
102
+ };
103
+
84
104
  export interface EggAppConfig extends EggCoreAppConfig {
85
105
  workerStartTimeout: number;
86
106
  baseDir: string;