@eggjs/mock 7.0.0-beta.19 → 7.0.0-beta.21

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 (63) hide show
  1. package/dist/app/extend/agent.d.ts +33 -38
  2. package/dist/app/extend/agent.js +45 -47
  3. package/dist/app/extend/application.d.ts +167 -171
  4. package/dist/app/extend/application.js +442 -382
  5. package/dist/app/middleware/cluster_app_mock.d.ts +2 -5
  6. package/dist/app/middleware/cluster_app_mock.js +99 -96
  7. package/dist/app.d.ts +5 -9
  8. package/dist/app.js +18 -17
  9. package/dist/bootstrap.d.ts +5 -9
  10. package/dist/bootstrap.js +12 -11
  11. package/dist/index.d.ts +76 -80
  12. package/dist/index.js +81 -38
  13. package/dist/inject_mocha.d.ts +1 -1
  14. package/dist/inject_mocha.js +28 -27
  15. package/dist/lib/agent_handler.d.ts +3 -7
  16. package/dist/lib/agent_handler.js +20 -22
  17. package/dist/lib/app.d.ts +3 -7
  18. package/dist/lib/app.js +285 -248
  19. package/dist/lib/app_handler.d.ts +5 -9
  20. package/dist/lib/app_handler.js +62 -49
  21. package/dist/lib/cluster.d.ts +92 -97
  22. package/dist/lib/cluster.js +335 -278
  23. package/dist/lib/context.d.ts +1 -4
  24. package/dist/lib/context.js +11 -10
  25. package/dist/lib/format_options.d.ts +2 -7
  26. package/dist/lib/format_options.js +88 -60
  27. package/dist/lib/inject_context.d.ts +1 -4
  28. package/dist/lib/inject_context.js +123 -103
  29. package/dist/lib/mock_agent.d.ts +4 -8
  30. package/dist/lib/mock_agent.js +42 -42
  31. package/dist/lib/mock_custom_loader.d.ts +1 -4
  32. package/dist/lib/mock_custom_loader.js +33 -34
  33. package/dist/lib/mock_http_server.d.ts +2 -6
  34. package/dist/lib/mock_http_server.js +17 -16
  35. package/dist/lib/mock_httpclient.d.ts +34 -38
  36. package/dist/lib/mock_httpclient.js +142 -106
  37. package/dist/lib/parallel/agent.d.ts +19 -23
  38. package/dist/lib/parallel/agent.js +113 -107
  39. package/dist/lib/parallel/app.d.ts +19 -23
  40. package/dist/lib/parallel/app.js +108 -96
  41. package/dist/lib/parallel/util.d.ts +3 -6
  42. package/dist/lib/parallel/util.js +64 -57
  43. package/dist/lib/prerequire.d.ts +1 -1
  44. package/dist/lib/prerequire.js +25 -1
  45. package/dist/lib/request_call_function.d.ts +1 -1
  46. package/dist/lib/request_call_function.js +47 -34
  47. package/dist/lib/restore.d.ts +1 -4
  48. package/dist/lib/restore.js +11 -14
  49. package/dist/lib/start-cluster.d.ts +2 -1
  50. package/dist/lib/start-cluster.js +14 -15
  51. package/dist/lib/supertest.d.ts +6 -11
  52. package/dist/lib/supertest.js +36 -35
  53. package/dist/lib/tmp/empty.d.ts +1 -1
  54. package/dist/lib/tmp/empty.js +2 -1
  55. package/dist/lib/types.d.ts +64 -68
  56. package/dist/lib/types.js +2 -1
  57. package/dist/lib/utils.d.ts +8 -11
  58. package/dist/lib/utils.js +63 -34
  59. package/dist/register.d.ts +7 -9
  60. package/dist/register.js +40 -36
  61. package/package.json +7 -8
  62. package/dist/_virtual/rolldown_runtime.js +0 -7
  63. package/dist/typings/index.d.ts +0 -1
@@ -1,59 +1,66 @@
1
+ import { debuglog } from 'node:util';
1
2
  import { getProperty } from "../utils.js";
2
- import { debuglog } from "node:util";
3
-
4
- //#region src/lib/parallel/util.ts
5
- const debug = debuglog("egg/mock/lib/parallel/util");
6
- const MOCK_APP_METHOD = [
7
- "ready",
8
- "isClosed",
9
- "closed",
10
- "close",
11
- "on",
12
- "once"
13
- ];
14
- const APP_INIT = Symbol("appInit");
15
- function proxyApp(app) {
16
- return new Proxy(app, {
17
- get(target, prop) {
18
- if (MOCK_APP_METHOD.includes(prop)) return getProperty(target, prop);
19
- if (!target[APP_INIT]) throw new Error(`can't get ${prop} before ready`);
20
- debug("proxy handler.get %s", prop);
21
- return target._instance[prop];
22
- },
23
- set(target, prop, value) {
24
- if (MOCK_APP_METHOD.includes(prop)) return true;
25
- if (!target[APP_INIT]) throw new Error(`can't set ${prop} before ready`);
26
- debug("proxy handler.set %s", prop);
27
- target._instance[prop] = value;
28
- return true;
29
- },
30
- defineProperty(target, prop, descriptor) {
31
- if (MOCK_APP_METHOD.includes(prop)) return true;
32
- if (!target[APP_INIT]) throw new Error(`can't defineProperty ${prop} before ready`);
33
- debug("proxy handler.defineProperty %s", prop);
34
- Object.defineProperty(target._instance, prop, descriptor);
35
- return true;
36
- },
37
- deleteProperty(target, prop) {
38
- if (MOCK_APP_METHOD.includes(prop)) return true;
39
- if (!target[APP_INIT]) throw new Error(`can't delete ${prop} before ready`);
40
- debug("proxy handler.deleteProperty %s", prop);
41
- delete target._instance[prop];
42
- return true;
43
- },
44
- getOwnPropertyDescriptor(target, prop) {
45
- if (MOCK_APP_METHOD.includes(prop)) return Object.getOwnPropertyDescriptor(target, prop);
46
- if (!target[APP_INIT]) throw new Error(`can't getOwnPropertyDescriptor ${prop} before ready`);
47
- debug("proxy handler.getOwnPropertyDescriptor %s", prop);
48
- return Object.getOwnPropertyDescriptor(target._instance, prop);
49
- },
50
- getPrototypeOf(target) {
51
- if (!target[APP_INIT]) throw new Error("can't getPrototypeOf before ready");
52
- debug("proxy handler.getPrototypeOf %s");
53
- return Object.getPrototypeOf(target._instance);
54
- }
55
- });
3
+ const debug = debuglog('egg/mock/lib/parallel/util');
4
+ export const MOCK_APP_METHOD = ['ready', 'isClosed', 'closed', 'close', 'on', 'once'];
5
+ export const APP_INIT = Symbol('appInit');
6
+ export function proxyApp(app) {
7
+ const proxyApp = new Proxy(app, {
8
+ get(target, prop) {
9
+ // don't delegate properties on MockAgent
10
+ if (MOCK_APP_METHOD.includes(prop)) {
11
+ return getProperty(target, prop);
12
+ }
13
+ if (!target[APP_INIT])
14
+ throw new Error(`can't get ${prop} before ready`);
15
+ // it's asynchronous when agent and app are loading,
16
+ // so should get the properties after loader ready
17
+ debug('proxy handler.get %s', prop);
18
+ return target._instance[prop];
19
+ },
20
+ set(target, prop, value) {
21
+ if (MOCK_APP_METHOD.includes(prop))
22
+ return true;
23
+ if (!target[APP_INIT])
24
+ throw new Error(`can't set ${prop} before ready`);
25
+ debug('proxy handler.set %s', prop);
26
+ target._instance[prop] = value;
27
+ return true;
28
+ },
29
+ defineProperty(target, prop, descriptor) {
30
+ // can't define properties on MockAgent
31
+ if (MOCK_APP_METHOD.includes(prop))
32
+ return true;
33
+ if (!target[APP_INIT])
34
+ throw new Error(`can't defineProperty ${prop} before ready`);
35
+ debug('proxy handler.defineProperty %s', prop);
36
+ Object.defineProperty(target._instance, prop, descriptor);
37
+ return true;
38
+ },
39
+ deleteProperty(target, prop) {
40
+ // can't delete properties on MockAgent
41
+ if (MOCK_APP_METHOD.includes(prop))
42
+ return true;
43
+ if (!target[APP_INIT])
44
+ throw new Error(`can't delete ${prop} before ready`);
45
+ debug('proxy handler.deleteProperty %s', prop);
46
+ delete target._instance[prop];
47
+ return true;
48
+ },
49
+ getOwnPropertyDescriptor(target, prop) {
50
+ if (MOCK_APP_METHOD.includes(prop))
51
+ return Object.getOwnPropertyDescriptor(target, prop);
52
+ if (!target[APP_INIT])
53
+ throw new Error(`can't getOwnPropertyDescriptor ${prop} before ready`);
54
+ debug('proxy handler.getOwnPropertyDescriptor %s', prop);
55
+ return Object.getOwnPropertyDescriptor(target._instance, prop);
56
+ },
57
+ getPrototypeOf(target) {
58
+ if (!target[APP_INIT])
59
+ throw new Error("can't getPrototypeOf before ready");
60
+ debug('proxy handler.getPrototypeOf %s');
61
+ return Object.getPrototypeOf(target._instance);
62
+ },
63
+ });
64
+ return proxyApp;
56
65
  }
57
-
58
- //#endregion
59
- export { APP_INIT, MOCK_APP_METHOD, proxyApp };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGFyYWxsZWwvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUV0RixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUTtJQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDOUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFZO1lBQ3RCLHlDQUF5QztZQUN6QyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxlQUFlLENBQUMsQ0FBQztZQUN6RSxvREFBb0Q7WUFDcEQsa0RBQWtEO1lBQ2xELEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBWSxFQUFFLEtBQUs7WUFDN0IsSUFBSSxlQUFl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
@@ -1 +1 @@
1
- export { };
1
+ export {};
@@ -1 +1,25 @@
1
- export { };
1
+ // const debug = require('util').debuglog('egg-mock/prerequire');
2
+ // const path = require('path');
3
+ // const { existsSync } = require('fs');
4
+ // const globby = require('globby');
5
+ export {};
6
+ // const cwd = process.cwd();
7
+ // const dirs = [];
8
+ // if (existsSync(path.join(cwd, 'app'))) {
9
+ // dirs.push('app/**/*.js');
10
+ // }
11
+ // // avoid Error: ENOENT: no such file or directory, scandir
12
+ // if (existsSync(path.join(cwd, 'config'))) {
13
+ // dirs.push('config/**/*.js');
14
+ // }
15
+ // const files = globby.sync(dirs, { cwd });
16
+ // for (const file of files) {
17
+ // const filepath = path.join(cwd, file);
18
+ // try {
19
+ // debug('%s prerequire %s', process.pid, filepath);
20
+ // require(filepath);
21
+ // } catch (err) {
22
+ // debug('prerequire error %s', err.message);
23
+ // }
24
+ // }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVxdWlyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcHJlcmVxdWlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRUFBaUU7QUFDakUsZ0NBQWdDO0FBQ2hDLHdDQUF3QztBQUN4QyxvQ0FBb0M7O0FBRXBDLDZCQUE2QjtBQUM3QixtQkFBbUI7QUFDbkIsMkNBQTJDO0FBQzNDLDhCQUE4QjtBQUM5QixJQUFJO0FBQ0osNkRBQTZEO0FBQzdELDhDQUE4QztBQUM5QyxpQ0FBaUM7QUFDakMsSUFBSTtBQUNKLDRDQUE0QztBQUU1Qyw4QkFBOEI7QUFDOUIsMkNBQTJDO0FBQzNDLFVBQVU7QUFDVix3REFBd0Q7QUFDeEQseUJBQXlCO0FBQ3pCLG9CQUFvQjtBQUNwQixpREFBaUQ7QUFDakQsTUFBTTtBQUNOLElBQUkifQ==
@@ -1 +1 @@
1
- export { };
1
+ export {};
@@ -1,37 +1,50 @@
1
- import httpClient from "urllib";
2
-
3
- //#region src/lib/request_call_function.ts
1
+ import httpClient from 'urllib';
4
2
  const { port, method, args, property, needResult } = JSON.parse(process.argv[2]);
5
3
  const url = `http://127.0.0.1:${port}/__egg_mock_call_function`;
6
- httpClient.request(url, {
7
- method: "POST",
8
- data: {
9
- method,
10
- args,
11
- property,
12
- needResult
13
- },
14
- contentType: "json",
15
- dataType: "json"
16
- }).then(({ data }) => {
17
- if (!data.success) {
18
- if (data.error) console.error(data.error);
19
- else if (data.message) {
20
- const err = new Error(data.message);
21
- err.stack = data.stack;
22
- console.error(err);
23
- }
24
- process.exit(2);
25
- }
26
- if (data.result) console.log("%j", data.result);
27
- process.exit(0);
28
- }).catch((err) => {
29
- if (method === "mockRestore" && err.message.includes("ECONNREFUSED")) process.exit(0);
30
- console.error("POST %s error, method: %s, args: %j", url, method, args);
31
- console.error(err.stack);
32
- if (method === "mockRestore") process.exit(0);
33
- else process.exit(1);
4
+ httpClient
5
+ .request(url, {
6
+ method: 'POST',
7
+ data: {
8
+ method,
9
+ args,
10
+ property,
11
+ needResult,
12
+ },
13
+ contentType: 'json',
14
+ dataType: 'json',
15
+ })
16
+ .then(({ data }) => {
17
+ if (!data.success) {
18
+ // console.log('POST %s error, method: %s, args: %j, result data: %j',
19
+ // url, method, args, data);
20
+ if (data.error) {
21
+ console.error(data.error);
22
+ }
23
+ else if (data.message) {
24
+ const err = new Error(data.message);
25
+ err.stack = data.stack;
26
+ console.error(err);
27
+ }
28
+ process.exit(2);
29
+ }
30
+ if (data.result) {
31
+ console.log('%j', data.result);
32
+ }
33
+ process.exit(0);
34
+ })
35
+ .catch(err => {
36
+ // ignore ECONNREFUSED error on mockRestore
37
+ if (method === 'mockRestore' && err.message.includes('ECONNREFUSED')) {
38
+ process.exit(0);
39
+ }
40
+ console.error('POST %s error, method: %s, args: %j', url, method, args);
41
+ console.error(err.stack);
42
+ // ignore all error on mockRestore
43
+ if (method === 'mockRestore') {
44
+ process.exit(0);
45
+ }
46
+ else {
47
+ process.exit(1);
48
+ }
34
49
  });
35
-
36
- //#endregion
37
- export { };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdF9jYWxsX2Z1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9yZXF1ZXN0X2NhbGxfZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sUUFBUSxDQUFDO0FBRWhDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLElBQUksMkJBQTJCLENBQUM7QUFFaEUsVUFBVTtLQUNQLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFDWixNQUFNLEVBQUUsTUFBTTtJQUNkLElBQUksRUFBRTtRQUNKLE1BQU07UUFDTixJQUFJO1FBQ0osUUFBUTtRQUNSLFVBQVU7S0FDWDtJQUNELFdBQVcsRUFBRSxNQUFNO0lBQ25CLFFBQVEsRUFBRSxNQUFNO0NBQ2pCLENBQUM7S0FDRCxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixzRUFBc0U7UUFDdEUsOEJBQThCO1FBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztLQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtJQUNYLDJDQUEyQztJQUMzQyxJQUFJLE1BQU0sS0FBSyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNyRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFekIsa0NBQWtDO0lBQ2xDLElBQUksTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,4 +1 @@
1
- //#region src/lib/restore.d.ts
2
- declare function restore(): Promise<void>;
3
- //#endregion
4
- export { restore };
1
+ export declare function restore(): Promise<void>;
@@ -1,16 +1,13 @@
1
- import { restore as restore$2 } from "./cluster.js";
1
+ import { debuglog } from 'node:util';
2
+ import { restore as mmRestore } from 'mm';
2
3
  import { restoreMockAgent } from "./mock_agent.js";
3
- import { restore as restore$1 } from "mm";
4
- import { debuglog } from "node:util";
5
-
6
- //#region src/lib/restore.ts
7
- const debug = debuglog("egg/mock/lib/restore");
8
- async function restore() {
9
- restore$1();
10
- await restore$2();
11
- await restoreMockAgent();
12
- debug("restore all");
4
+ import { restore as clusterRestore } from "./cluster.js";
5
+ const debug = debuglog('egg/mock/lib/restore');
6
+ export async function restore() {
7
+ // keep mm.restore execute in the current event loop
8
+ mmRestore();
9
+ await clusterRestore();
10
+ await restoreMockAgent();
11
+ debug('restore all');
13
12
  }
14
-
15
- //#endregion
16
- export { restore };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcmVzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTztJQUMzQixvREFBb0Q7SUFDcEQsU0FBUyxFQUFFLENBQUM7SUFDWixNQUFNLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUN6QixLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkIsQ0FBQyJ9
@@ -1 +1,2 @@
1
- export { };
1
+ #!/usr/bin/env node
2
+ export {};
@@ -1,19 +1,18 @@
1
1
  #!/usr/bin/env node
2
- import assert from "node:assert";
3
- import { debuglog } from "node:util";
4
- import { importModule } from "@eggjs/utils";
5
- import { isAsyncFunction } from "is-type-of";
6
-
7
- //#region src/lib/start-cluster.ts
8
- const debug = debuglog("egg/mock/lib/start-cluster");
2
+ import assert from 'node:assert';
3
+ import { debuglog } from 'node:util';
4
+ import { importModule } from '@eggjs/utils';
5
+ import { isAsyncFunction } from 'is-type-of';
6
+ const debug = debuglog('egg/mock/lib/start-cluster');
7
+ // if (process.env.EGG_BIN_PREREQUIRE) {
8
+ // require('./prerequire');
9
+ // }
9
10
  async function main() {
10
- const options = JSON.parse(process.argv[2]);
11
- debug("startCluster with options: %o", options);
12
- const { startCluster } = await importModule(options.framework);
13
- assert(isAsyncFunction(startCluster), `framework(${options.framework}) should export startCluster as an async function`);
14
- await startCluster(options);
11
+ const options = JSON.parse(process.argv[2]);
12
+ debug('startCluster with options: %o', options);
13
+ const { startCluster } = await importModule(options.framework);
14
+ assert(isAsyncFunction(startCluster), `framework(${options.framework}) should export startCluster as an async function`);
15
+ await startCluster(options);
15
16
  }
16
17
  main();
17
-
18
- //#endregion
19
- export { };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvc3RhcnQtY2x1c3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBRXJELHdDQUF3QztBQUN4Qyw2QkFBNkI7QUFDN0IsSUFBSTtBQUVKLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sQ0FDSixlQUFlLENBQUMsWUFBWSxDQUFDLEVBQzdCLGFBQWEsT0FBTyxDQUFDLFNBQVMsbURBQW1ELENBQ2xGLENBQUM7SUFDRixNQUFNLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMifQ==
@@ -1,16 +1,11 @@
1
- import { Request, Test } from "@eggjs/supertest";
2
-
3
- //#region src/lib/supertest.d.ts
4
-
1
+ import { Request, Test } from '@eggjs/supertest';
5
2
  /**
6
3
  * Test against the given `app`,
7
4
  * returning a new `Test`.
8
5
  */
9
- declare class EggTestRequest extends Request {
10
- #private;
11
- constructor(app: any);
12
- protected _testRequest(method: string, url: string): Test;
6
+ export declare class EggTestRequest extends Request {
7
+ #private;
8
+ constructor(app: any);
9
+ protected _testRequest(method: string, url: string): Test;
13
10
  }
14
- declare function request(app: any): EggTestRequest;
15
- //#endregion
16
- export { EggTestRequest, request };
11
+ export declare function request(app: any): EggTestRequest;
@@ -1,39 +1,40 @@
1
+ import path from 'node:path';
2
+ import { readJSONSync } from 'utility';
3
+ import { Request, Test } from '@eggjs/supertest';
1
4
  import { createServer } from "./mock_http_server.js";
2
5
  import { getSourceDirname } from "./utils.js";
3
- import path from "node:path";
4
- import { readJSONSync } from "utility";
5
- import { Request, Test } from "@eggjs/supertest";
6
-
7
- //#region src/lib/supertest.ts
8
- let pkgVersion = "";
6
+ // patch from https://github.com/visionmedia/supertest/blob/199506d8dbfe0bb1434fc07c38cdcd1ab4c7c926/index.js#L19
7
+ let pkgVersion = '';
9
8
  /**
10
- * Test against the given `app`,
11
- * returning a new `Test`.
12
- */
13
- var EggTestRequest = class extends Request {
14
- #app;
15
- constructor(app) {
16
- super(createServer(app));
17
- this.#app = app;
18
- }
19
- _testRequest(method, url) {
20
- if (url[0] !== "/") {
21
- const realUrl = this.#app.router.pathFor(url);
22
- if (!realUrl) throw new Error(`Can't find router:${url}, please check your 'app/router.js'`);
23
- url = realUrl;
24
- }
25
- const test = super._testRequest(method, url);
26
- if (!pkgVersion) {
27
- const pkgFile = path.join(getSourceDirname(), "../package.json");
28
- pkgVersion = readJSONSync(pkgFile).version;
29
- }
30
- test.set("User-Agent", `@eggjs/mock/${pkgVersion} Node.js/${process.version}`);
31
- return test;
32
- }
33
- };
34
- function request(app) {
35
- return new EggTestRequest(app);
9
+ * Test against the given `app`,
10
+ * returning a new `Test`.
11
+ */
12
+ export class EggTestRequest extends Request {
13
+ #app;
14
+ constructor(app) {
15
+ super(createServer(app));
16
+ this.#app = app;
17
+ }
18
+ _testRequest(method, url) {
19
+ // support pathFor(url)
20
+ if (url[0] !== '/') {
21
+ const realUrl = this.#app.router.pathFor(url);
22
+ if (!realUrl) {
23
+ throw new Error(`Can't find router:${url}, please check your 'app/router.js'`);
24
+ }
25
+ url = realUrl;
26
+ }
27
+ const test = super._testRequest(method, url);
28
+ if (!pkgVersion) {
29
+ const pkgFile = path.join(getSourceDirname(), '../package.json');
30
+ const pkg = readJSONSync(pkgFile);
31
+ pkgVersion = pkg.version;
32
+ }
33
+ test.set('User-Agent', `@eggjs/mock/${pkgVersion} Node.js/${process.version}`);
34
+ return test;
35
+ }
36
36
  }
37
-
38
- //#endregion
39
- export { EggTestRequest, request };
37
+ export function request(app) {
38
+ return new EggTestRequest(app);
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJ0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9zdXBlcnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTlDLGlIQUFpSDtBQUVqSCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFFcEI7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxPQUFPO0lBQ3pDLElBQUksQ0FBTTtJQUVWLFlBQVksR0FBUTtRQUNsQixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVTLFlBQVksQ0FBQyxNQUFjLEVBQUUsR0FBVztRQUNoRCx1QkFBdUI7UUFDdkIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLHFDQUFxQyxDQUFDLENBQUM7WUFDakYsQ0FBQztZQUNELEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUNqRSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGVBQWUsVUFBVSxZQUFZLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFRO0lBQzlCLE9BQU8sSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyJ9
@@ -1 +1 @@
1
- export { };
1
+ export {};
@@ -1 +1,2 @@
1
- export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RtcC9lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,76 +1,72 @@
1
- import { MockHttpClientMethod, MockResponseCallbackOptions, MockResultFunction, MockResultOptions, ResultObject } from "./mock_httpclient.js";
2
- import { MockAgent } from "urllib";
3
-
4
- //#region src/lib/types.d.ts
5
- interface MockOptions {
6
- /**
7
- * The mode of the application
8
- */
9
- mode?: 'all-in-one-process' | 'cluster' | 'single';
10
- /**
11
- * The directory of the application
12
- */
13
- baseDir?: string;
14
- /**
15
- * Custom you plugins
16
- */
17
- plugins?: any;
18
- /**
19
- * The directory of the egg framework
20
- *
21
- * Set to `true` to use the current directory as framework directory
22
- */
23
- framework?: string | boolean;
24
- /**
25
- * current test on plugin
26
- */
27
- plugin?: boolean;
28
- /**
29
- * @deprecated please use `framework` instead
30
- */
31
- customEgg?: string | boolean;
32
- /**
33
- * Cache application based on baseDir
34
- */
35
- cache?: boolean;
36
- /**
37
- * Switch on process coverage, but it'll be slower
38
- */
39
- coverage?: boolean;
40
- /**
41
- * Remove $baseDir/logs and $baseDir/run before start, default is `true`
42
- */
43
- clean?: boolean;
44
- /**
45
- * default options.mockCtxStorage value on each mockContext
46
- */
47
- mockCtxStorage?: boolean;
48
- beforeInit?: (app: any) => Promise<void>;
1
+ export interface MockOptions {
2
+ /**
3
+ * The mode of the application
4
+ */
5
+ mode?: 'all-in-one-process' | 'cluster' | 'single';
6
+ /**
7
+ * The directory of the application
8
+ */
9
+ baseDir?: string;
10
+ /**
11
+ * Custom you plugins
12
+ */
13
+ plugins?: any;
14
+ /**
15
+ * The directory of the egg framework
16
+ *
17
+ * Set to `true` to use the current directory as framework directory
18
+ */
19
+ framework?: string | boolean;
20
+ /**
21
+ * current test on plugin
22
+ */
23
+ plugin?: boolean;
24
+ /**
25
+ * @deprecated please use `framework` instead
26
+ */
27
+ customEgg?: string | boolean;
28
+ /**
29
+ * Cache application based on baseDir
30
+ */
31
+ cache?: boolean;
32
+ /**
33
+ * Switch on process coverage, but it'll be slower
34
+ */
35
+ coverage?: boolean;
36
+ /**
37
+ * Remove $baseDir/logs and $baseDir/run before start, default is `true`
38
+ */
39
+ clean?: boolean;
40
+ /**
41
+ * default options.mockCtxStorage value on each mockContext
42
+ */
43
+ mockCtxStorage?: boolean;
44
+ beforeInit?: (app: any) => Promise<void>;
49
45
  }
50
- interface MockClusterOptions extends MockOptions {
51
- workers?: number | string;
52
- cache?: boolean;
53
- port?: number;
54
- /**
55
- * opt pass to coffee, such as { execArgv: ['--debug'] }
56
- */
57
- opt?: object;
58
- startMode?: 'process' | 'worker_threads';
46
+ export interface MockClusterOptions extends MockOptions {
47
+ workers?: number | string;
48
+ cache?: boolean;
49
+ port?: number;
50
+ /**
51
+ * opt pass to coffee, such as { execArgv: ['--debug'] }
52
+ */
53
+ opt?: object;
54
+ startMode?: 'process' | 'worker_threads';
59
55
  }
60
56
  /**
61
57
  * @deprecated please use MockOptions instead
62
58
  * keep this for compatible
63
59
  */
64
- type MockOption = MockOptions;
65
- interface MockApplicationOptions extends MockOptions {
66
- baseDir: string;
67
- framework: string;
68
- clusterPort?: number;
60
+ export type MockOption = MockOptions;
61
+ export interface MockApplicationOptions extends MockOptions {
62
+ baseDir: string;
63
+ framework: string;
64
+ clusterPort?: number;
69
65
  }
70
- interface MockClusterApplicationOptions extends MockClusterOptions {
71
- baseDir: string;
72
- framework: string;
73
- port: number;
66
+ export interface MockClusterApplicationOptions extends MockClusterOptions {
67
+ baseDir: string;
68
+ framework: string;
69
+ port: number;
74
70
  }
75
- //#endregion
76
- export { type MockAgent, MockApplicationOptions, MockClusterApplicationOptions, MockClusterOptions, type MockHttpClientMethod, MockOption, MockOptions, type MockResponseCallbackOptions, type MockResultFunction, type MockResultOptions, type ResultObject };
71
+ export type { MockResultOptions, ResultObject, MockResponseCallbackOptions, MockResultFunction, MockHttpClientMethod, } from './mock_httpclient.js';
72
+ export type { MockAgent } from 'urllib';
package/dist/lib/types.js CHANGED
@@ -1 +1,2 @@
1
- export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,12 +1,9 @@
1
- //#region src/lib/utils.d.ts
2
- declare function getSourceDirname(): string;
3
- declare function sleep(delay: number): Promise<void>;
4
- declare function rimraf(filepath: string): Promise<void>;
5
- declare function rimrafSync(filepath: string): void;
6
- declare function getProperty(target: any, prop: PropertyKey): any;
7
- declare function getEggOptions(): {
8
- baseDir: string;
9
- framework: string | undefined;
1
+ export declare function getSourceDirname(): string;
2
+ export declare function sleep(delay: number): Promise<void>;
3
+ export declare function rimraf(filepath: string): Promise<void>;
4
+ export declare function rimrafSync(filepath: string): void;
5
+ export declare function getProperty(target: any, prop: PropertyKey): any;
6
+ export declare function getEggOptions(): {
7
+ baseDir: string;
8
+ framework: string | undefined;
10
9
  };
11
- //#endregion
12
- export { getEggOptions, getProperty, getSourceDirname, rimraf, rimrafSync, sleep };