@modern-js/plugin-testing 2.0.0-beta.3 → 2.0.0-beta.6

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 (106) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/dist/js/modern/base/config/index.js +29 -9
  3. package/dist/js/modern/base/config/patches/assetsModule.js +7 -7
  4. package/dist/js/modern/base/config/patches/filemock.js +4 -1
  5. package/dist/js/modern/base/config/patches/index.js +30 -7
  6. package/dist/js/modern/base/config/patches/transformer.js +13 -18
  7. package/dist/js/modern/base/config/resolver.js +20 -11
  8. package/dist/js/modern/base/config/testConfigOperator.js +29 -23
  9. package/dist/js/modern/base/config/transformer/babelTransformer.js +16 -8
  10. package/dist/js/modern/base/hook.js +10 -5
  11. package/dist/js/modern/base/index.js +14 -6
  12. package/dist/js/modern/base/runJest.js +73 -62
  13. package/dist/js/modern/base/utils.js +40 -23
  14. package/dist/js/modern/cli/bff/app.js +37 -12
  15. package/dist/js/modern/cli/bff/constant.js +4 -1
  16. package/dist/js/modern/cli/bff/index.js +95 -52
  17. package/dist/js/modern/cli/bff/mockAPI.js +79 -64
  18. package/dist/js/modern/cli/bff/setup.js +71 -34
  19. package/dist/js/modern/cli/bff/utils/index.js +31 -15
  20. package/dist/js/modern/cli/index.js +65 -30
  21. package/dist/js/modern/cli/test.js +53 -18
  22. package/dist/js/modern/constant.js +4 -1
  23. package/dist/js/modern/index.js +3 -3
  24. package/dist/js/modern/modern-app.env.d.js +0 -0
  25. package/dist/js/modern/runtime-testing/app.js +25 -14
  26. package/dist/js/modern/runtime-testing/base.js +7 -3
  27. package/dist/js/modern/runtime-testing/customRender.js +24 -10
  28. package/dist/js/modern/runtime-testing/index.js +1 -1
  29. package/dist/js/modern/runtime-testing/reduck.js +41 -19
  30. package/dist/js/modern/runtime-testing/request.js +4 -4
  31. package/dist/js/modern/runtime-testing/resolvePlugins.js +24 -8
  32. package/dist/js/node/base/config/index.js +62 -18
  33. package/dist/js/node/base/config/patches/assetsModule.js +34 -12
  34. package/dist/js/node/base/config/patches/filemock.js +24 -7
  35. package/dist/js/node/base/config/patches/index.js +54 -15
  36. package/dist/js/node/base/config/patches/transformer.js +42 -25
  37. package/dist/js/node/base/config/resolver.js +25 -10
  38. package/dist/js/node/base/config/testConfigOperator.js +51 -30
  39. package/dist/js/node/base/config/transformer/babelTransformer.js +42 -15
  40. package/dist/js/node/base/hook.js +34 -13
  41. package/dist/js/node/base/index.js +39 -62
  42. package/dist/js/node/base/runJest.js +104 -71
  43. package/dist/js/node/base/types/index.js +15 -0
  44. package/dist/js/node/base/utils.js +70 -34
  45. package/dist/js/node/cli/bff/app.js +64 -22
  46. package/dist/js/node/cli/bff/constant.js +26 -7
  47. package/dist/js/node/cli/bff/index.js +123 -65
  48. package/dist/js/node/cli/bff/mockAPI.js +103 -71
  49. package/dist/js/node/cli/bff/setup.js +71 -28
  50. package/dist/js/node/cli/bff/utils/index.js +57 -22
  51. package/dist/js/node/cli/index.js +92 -46
  52. package/dist/js/node/cli/test.js +81 -27
  53. package/dist/js/node/constant.js +26 -7
  54. package/dist/js/node/index.js +19 -18
  55. package/dist/js/node/modern-app.env.d.js +0 -0
  56. package/dist/js/node/runtime-testing/app.js +53 -25
  57. package/dist/js/node/runtime-testing/base.js +34 -32
  58. package/dist/js/node/runtime-testing/customRender.js +49 -18
  59. package/dist/js/node/runtime-testing/index.js +18 -27
  60. package/dist/js/node/runtime-testing/reduck.js +72 -31
  61. package/dist/js/node/runtime-testing/request.js +36 -13
  62. package/dist/js/node/runtime-testing/resolvePlugins.js +41 -12
  63. package/dist/js/treeshaking/base/config/index.js +150 -31
  64. package/dist/js/treeshaking/base/config/patches/assetsModule.js +9 -11
  65. package/dist/js/treeshaking/base/config/patches/filemock.js +2 -1
  66. package/dist/js/treeshaking/base/config/patches/index.js +221 -64
  67. package/dist/js/treeshaking/base/config/patches/transformer.js +34 -37
  68. package/dist/js/treeshaking/base/config/resolver.js +36 -13
  69. package/dist/js/treeshaking/base/config/testConfigOperator.js +120 -69
  70. package/dist/js/treeshaking/base/config/transformer/babelTransformer.js +16 -10
  71. package/dist/js/treeshaking/base/hook.js +8 -7
  72. package/dist/js/treeshaking/base/index.js +7 -6
  73. package/dist/js/treeshaking/base/runJest.js +281 -164
  74. package/dist/js/treeshaking/base/types/index.js +1 -0
  75. package/dist/js/treeshaking/base/utils.js +72 -48
  76. package/dist/js/treeshaking/cli/bff/app.js +192 -68
  77. package/dist/js/treeshaking/cli/bff/constant.js +2 -1
  78. package/dist/js/treeshaking/cli/bff/index.js +291 -130
  79. package/dist/js/treeshaking/cli/bff/mockAPI.js +181 -91
  80. package/dist/js/treeshaking/cli/bff/setup.js +185 -59
  81. package/dist/js/treeshaking/cli/bff/utils/index.js +47 -21
  82. package/dist/js/treeshaking/cli/index.js +249 -108
  83. package/dist/js/treeshaking/cli/test.js +177 -44
  84. package/dist/js/treeshaking/constant.js +2 -1
  85. package/dist/js/treeshaking/index.js +3 -3
  86. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  87. package/dist/js/treeshaking/runtime-testing/app.js +85 -39
  88. package/dist/js/treeshaking/runtime-testing/base.js +4 -3
  89. package/dist/js/treeshaking/runtime-testing/customRender.js +38 -10
  90. package/dist/js/treeshaking/runtime-testing/index.js +1 -1
  91. package/dist/js/treeshaking/runtime-testing/reduck.js +85 -33
  92. package/dist/js/treeshaking/runtime-testing/request.js +49 -19
  93. package/dist/js/treeshaking/runtime-testing/resolvePlugins.js +45 -14
  94. package/dist/types/base/config/index.d.ts +1 -0
  95. package/dist/types/base/config/patches/assetsModule.d.ts +1 -0
  96. package/dist/types/base/config/patches/filemock.d.ts +1 -0
  97. package/dist/types/base/config/patches/transformer.d.ts +1 -0
  98. package/dist/types/base/config/testConfigOperator.d.ts +2 -0
  99. package/dist/types/base/runJest.d.ts +2 -0
  100. package/dist/types/base/utils.d.ts +1 -0
  101. package/dist/types/cli/bff/index.d.ts +2 -0
  102. package/dist/types/cli/bff/mockAPI.d.ts +1 -0
  103. package/dist/types/cli/index.d.ts +2 -0
  104. package/dist/types/runtime-testing/app.d.ts +3 -0
  105. package/dist/types/runtime-testing/customRender.d.ts +2 -0
  106. package/package.json +21 -25
@@ -1,17 +1,47 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __export = (target, all) => {
22
+ for (var name in all)
23
+ __defProp(target, name, { get: all[name], enumerable: true });
24
+ };
25
+ var __copyProps = (to, from, except, desc) => {
26
+ if (from && typeof from === "object" || typeof from === "function") {
27
+ for (let key of __getOwnPropNames(from))
28
+ if (!__hasOwnProp.call(to, key) && key !== except)
29
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
+ }
31
+ return to;
32
+ };
33
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var mockAPI_exports = {};
39
+ __export(mockAPI_exports, {
40
+ default: () => mockAPI_default
5
41
  });
6
- exports.default = void 0;
7
- var ptr = _interopRequireWildcard(require("path-to-regexp"));
8
- var mockAppModule = _interopRequireWildcard(require("./app"));
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- // eslint-disable-next-line @typescript-eslint/naming-convention
42
+ module.exports = __toCommonJS(mockAPI_exports);
43
+ var ptr = __toESM(require("path-to-regexp"));
44
+ var mockAppModule = __toESM(require("./app"));
15
45
  const mock_replaceUrlWithParams = (url, paramValues, payload) => {
16
46
  const keys = [];
17
47
  ptr.pathToRegexp(url, keys);
@@ -21,82 +51,84 @@ const mock_replaceUrlWithParams = (url, paramValues, payload) => {
21
51
  }
22
52
  return cur;
23
53
  }, {});
24
- const getFinalPath = ptr.compile(url, {
25
- encode: encodeURIComponent
26
- });
27
- return getFinalPath(_objectSpread(_objectSpread({}, params), payload));
54
+ const getFinalPath = ptr.compile(url, { encode: encodeURIComponent });
55
+ return getFinalPath(__spreadValues(__spreadValues({}, params), payload));
28
56
  };
29
-
30
- // eslint-disable-next-line @typescript-eslint/naming-convention
31
- const mock_getParamsAndPayload = args => {
57
+ const mock_getParamsAndPayload = (args) => {
32
58
  if (args.length === 0) {
33
59
  return [[], {}];
34
60
  }
35
61
  const head = args[0];
36
- if (typeof head === 'object') {
62
+ if (typeof head === "object") {
37
63
  return [[], head];
38
64
  } else {
39
65
  const latest = args[args.length - 1];
40
- if (typeof latest === 'object') {
66
+ if (typeof latest === "object") {
41
67
  return [args.slice(0, args.length - 1), latest];
42
68
  } else {
43
69
  return [args, {}];
44
70
  }
45
71
  }
46
72
  };
47
- var _default = mockApiInfosByFile => {
73
+ var mockAPI_default = (mockApiInfosByFile) => {
48
74
  const files = Object.keys(mockApiInfosByFile);
49
- files.forEach(mockedFile => {
75
+ files.forEach((mockedFile) => {
50
76
  jest.mock(mockedFile, () => {
51
- const supertest = require('supertest');
52
- return mockApiInfosByFile[mockedFile].reduce((res, info) => {
53
- const module = {
54
- [info.name]: (...args) => {
55
- if (mockAppModule.isInHandler()) {
56
- return info.handler(...args);
57
- }
58
- const [params, payload] = mock_getParamsAndPayload(args);
59
- const {
60
- returnHttp
61
- } = module[info.name];
62
- const url = mock_replaceUrlWithParams(info.routePath, params, payload.params);
63
- const app = mockAppModule.getApp();
64
- let test = supertest(app)[info.httpMethod.toLowerCase()](url);
65
- if (payload.query) {
66
- test = test.query(payload.query);
67
- }
68
- if (payload.body) {
69
- test = test.send(payload.body);
70
- }
71
- if (payload.data) {
72
- test = test.send(payload.data);
73
- }
74
- if (payload.headers) {
75
- for (const name in payload.headers) {
76
- test = test.set(name, payload.headers[name]);
77
+ const supertest = require("supertest");
78
+ return mockApiInfosByFile[mockedFile].reduce(
79
+ (res, info) => {
80
+ const module2 = {
81
+ [info.name]: (...args) => {
82
+ if (mockAppModule.isInHandler()) {
83
+ return info.handler(...args);
77
84
  }
78
- }
79
- if (payload.cookies) {
80
- test = test.set('Cookie', [payload.cookies]);
81
- }
82
- if (returnHttp) {
83
- return test;
84
- }
85
- return test.then(value => {
86
- try {
87
- return JSON.parse(value.text);
88
- } catch (_unused) {
89
- return value.text;
85
+ const [params, payload] = mock_getParamsAndPayload(args);
86
+ const { returnHttp } = module2[info.name];
87
+ const url = mock_replaceUrlWithParams(
88
+ info.routePath,
89
+ params,
90
+ payload.params
91
+ );
92
+ const app = mockAppModule.getApp();
93
+ let test = supertest(app)[info.httpMethod.toLowerCase()](url);
94
+ if (payload.query) {
95
+ test = test.query(payload.query);
96
+ }
97
+ if (payload.body) {
98
+ test = test.send(payload.body);
99
+ }
100
+ if (payload.data) {
101
+ test = test.send(payload.data);
90
102
  }
91
- });
92
- }
93
- };
94
- res[info.name] = module[info.name];
95
- Object.assign(res[info.name], info.handler);
96
- res.__esModule = true;
97
- return res;
98
- }, {});
103
+ if (payload.headers) {
104
+ for (const name in payload.headers) {
105
+ test = test.set(name, payload.headers[name]);
106
+ }
107
+ }
108
+ if (payload.cookies) {
109
+ test = test.set("Cookie", [payload.cookies]);
110
+ }
111
+ if (returnHttp) {
112
+ return test;
113
+ }
114
+ return test.then((value) => {
115
+ try {
116
+ return JSON.parse(value.text);
117
+ } catch (e) {
118
+ return value.text;
119
+ }
120
+ });
121
+ }
122
+ };
123
+ res[info.name] = module2[info.name];
124
+ Object.assign(res[info.name], info.handler);
125
+ res.__esModule = true;
126
+ return res;
127
+ },
128
+ {}
129
+ );
99
130
  });
100
131
  });
101
132
  };
102
- exports.default = _default;
133
+ // Annotate the CommonJS export names for ESM import in node:
134
+ 0 && (module.exports = {});
@@ -1,41 +1,84 @@
1
- "use strict";
2
-
3
- var _path = _interopRequireDefault(require("path"));
4
- var _bffCore = require("@modern-js/bff-core");
5
- var _constant = require("./constant");
6
- var _mockAPI = _interopRequireDefault(require("./mockAPI"));
7
- var _app = require("./app");
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from))
10
+ if (!__hasOwnProp.call(to, key) && key !== except)
11
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ }
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
17
+ mod
18
+ ));
19
+ var __async = (__this, __arguments, generator) => {
20
+ return new Promise((resolve, reject) => {
21
+ var fulfilled = (value) => {
22
+ try {
23
+ step(generator.next(value));
24
+ } catch (e) {
25
+ reject(e);
26
+ }
27
+ };
28
+ var rejected = (value) => {
29
+ try {
30
+ step(generator.throw(value));
31
+ } catch (e) {
32
+ reject(e);
33
+ }
34
+ };
35
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
36
+ step((generator = generator.apply(__this, __arguments)).next());
37
+ });
38
+ };
39
+ var import_path = __toESM(require("path"));
40
+ var import_bff_core = require("@modern-js/bff-core");
41
+ var import_constant = require("./constant");
42
+ var import_mockAPI = __toESM(require("./mockAPI"));
43
+ var import_app = require("./app");
9
44
  let uped = false;
10
45
  const setup = () => {
11
- var _bff_info$modernUserC, _bff_info$modernUserC2;
46
+ var _a, _b;
12
47
  if (uped) {
13
48
  return;
14
49
  }
15
50
  uped = true;
16
- const bff_info = global[_constant.bff_info_key];
17
- const prefix = bff_info === null || bff_info === void 0 ? void 0 : (_bff_info$modernUserC = bff_info.modernUserConfig) === null || _bff_info$modernUserC === void 0 ? void 0 : (_bff_info$modernUserC2 = _bff_info$modernUserC.bff) === null || _bff_info$modernUserC2 === void 0 ? void 0 : _bff_info$modernUserC2.prefix;
18
- const apiRouter = new _bffCore.ApiRouter({
19
- apiDir: _path.default.join(bff_info.appDir, './api'),
51
+ const bff_info = global[import_constant.bff_info_key];
52
+ const prefix = (_b = (_a = bff_info == null ? void 0 : bff_info.modernUserConfig) == null ? void 0 : _a.bff) == null ? void 0 : _b.prefix;
53
+ const apiRouter = new import_bff_core.ApiRouter({
54
+ apiDir: import_path.default.join(bff_info.appDir, "./api"),
20
55
  prefix
21
56
  });
22
57
  const apiInfos = apiRouter.getApiHandlers();
23
- const apiInfosByFile = apiInfos.reduce((res, apiInfo) => {
24
- if (!res[apiInfo.filename]) {
25
- res[apiInfo.filename] = [];
26
- }
27
- res[apiInfo.filename].push(apiInfo);
28
- return res;
29
- }, {});
58
+ const apiInfosByFile = apiInfos.reduce(
59
+ (res, apiInfo) => {
60
+ if (!res[apiInfo.filename]) {
61
+ res[apiInfo.filename] = [];
62
+ }
63
+ res[apiInfo.filename].push(apiInfo);
64
+ return res;
65
+ },
66
+ {}
67
+ );
30
68
  let app = null;
31
- beforeAll(async () => {
69
+ beforeAll(() => __async(exports, null, function* () {
32
70
  if (!app) {
33
- app = await (0, _app.createApp)(bff_info.appDir, bff_info.modernUserConfig, bff_info.plugins, bff_info.routes);
71
+ app = yield (0, import_app.createApp)(
72
+ bff_info.appDir,
73
+ bff_info.modernUserConfig,
74
+ bff_info.plugins,
75
+ bff_info.routes
76
+ );
34
77
  }
35
- });
36
- afterAll(async () => {
37
- await (0, _app.closeServer)();
38
- });
39
- (0, _mockAPI.default)(apiInfosByFile);
78
+ }));
79
+ afterAll(() => __async(exports, null, function* () {
80
+ yield (0, import_app.closeServer)();
81
+ }));
82
+ (0, import_mockAPI.default)(apiInfosByFile);
40
83
  };
41
- setup();
84
+ setup();
@@ -1,29 +1,64 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __export = (target, all) => {
22
+ for (var name in all)
23
+ __defProp(target, name, { get: all[name], enumerable: true });
24
+ };
25
+ var __copyProps = (to, from, except, desc) => {
26
+ if (from && typeof from === "object" || typeof from === "function") {
27
+ for (let key of __getOwnPropNames(from))
28
+ if (!__hasOwnProp.call(to, key) && key !== except)
29
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
+ }
31
+ return to;
32
+ };
33
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var utils_exports = {};
39
+ __export(utils_exports, {
40
+ isBFFProject: () => isBFFProject
5
41
  });
6
- exports.isBFFProject = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- const isBFFProject = pwd => {
42
+ module.exports = __toCommonJS(utils_exports);
43
+ var import_path = __toESM(require("path"));
44
+ var import_utils = require("@modern-js/utils");
45
+ const isBFFProject = (pwd) => {
14
46
  try {
15
- const packageJson = require(_path.default.join(pwd, './package.json'));
16
- const {
17
- dependencies,
18
- devDependencies
19
- } = packageJson;
20
- const isBFF = Object.keys(_objectSpread(_objectSpread({}, dependencies), devDependencies)).some(dependency => dependency.includes('plugin-bff'));
21
- const isMWA = Object.keys(devDependencies).some(devDependency => devDependency.includes('app-tools'));
47
+ const packageJson = require(import_path.default.join(pwd, "./package.json"));
48
+ const { dependencies, devDependencies } = packageJson;
49
+ const isBFF = Object.keys(__spreadValues(__spreadValues({}, dependencies), devDependencies)).some(
50
+ (dependency) => dependency.includes("plugin-bff")
51
+ );
52
+ const isMWA = Object.keys(devDependencies).some(
53
+ (devDependency) => devDependency.includes("app-tools")
54
+ );
22
55
  return isMWA && isBFF;
23
56
  } catch (error) {
24
- // eslint-disable-next-line no-console
25
- console.log(_utils.chalk.red(error));
57
+ console.log(import_utils.chalk.red(error));
26
58
  return false;
27
59
  }
28
60
  };
29
- exports.isBFFProject = isBFFProject;
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ isBFFProject
64
+ });
@@ -1,89 +1,135 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var cli_exports = {};
45
+ __export(cli_exports, {
46
+ default: () => cli_default,
47
+ mergeUserJestConfig: () => mergeUserJestConfig
5
48
  });
6
- exports.mergeUserJestConfig = exports.default = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- var _base = require("../base");
10
- var _constant = require("../constant");
11
- var _bff = _interopRequireDefault(require("./bff"));
12
- var _test = _interopRequireDefault(require("./test"));
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- const mergeUserJestConfig = testUtils => {
49
+ module.exports = __toCommonJS(cli_exports);
50
+ var import_path = __toESM(require("path"));
51
+ var import_utils = require("@modern-js/utils");
52
+ var import_base = require("../base");
53
+ var import_constant = require("../constant");
54
+ var import_bff = __toESM(require("./bff"));
55
+ var import_test = __toESM(require("./test"));
56
+ const mergeUserJestConfig = (testUtils) => {
15
57
  const resolveJestConfig = testUtils.testConfig.jest;
16
-
17
- // resolveJestConfig 如果是函数类型,在所有测试插件 jestConfig 都执行后,再执行生成最终配置
18
- if (resolveJestConfig && typeof resolveJestConfig !== 'function') {
58
+ if (resolveJestConfig && typeof resolveJestConfig !== "function") {
19
59
  testUtils.mergeJestConfig(resolveJestConfig);
20
60
  }
21
61
  };
22
- exports.mergeUserJestConfig = mergeUserJestConfig;
23
- var _default = () => {
24
- const BffPlugin = (0, _bff.default)();
62
+ var cli_default = () => {
63
+ const BffPlugin = (0, import_bff.default)();
25
64
  return {
26
- name: '@modern-js/plugin-testing',
65
+ name: "@modern-js/plugin-testing",
27
66
  usePlugins: [BffPlugin],
28
67
  post: [BffPlugin.name],
29
- registerHook: _base.testingHooks,
30
- setup: api => {
68
+ registerHook: import_base.testingHooks,
69
+ setup: (api) => {
31
70
  let testingExportsUtils;
32
71
  return {
33
- commands: ({
34
- program
35
- }) => {
36
- program.command('test').allowUnknownOption().usage('<regexForTestFiles> --[options]').action(async () => {
37
- await (0, _test.default)(api);
38
- });
72
+ commands: ({ program }) => {
73
+ program.command("test").allowUnknownOption().usage("<regexForTestFiles> --[options]").action(() => __async(void 0, null, function* () {
74
+ yield (0, import_test.default)(api);
75
+ }));
39
76
  },
40
77
  validateSchema() {
41
- return _utils.PLUGIN_SCHEMAS['@modern-js/plugin-testing'];
78
+ return import_utils.PLUGIN_SCHEMAS["@modern-js/plugin-testing"];
42
79
  },
43
80
  config() {
44
81
  const appContext = api.useAppContext();
45
- testingExportsUtils = (0, _utils.createRuntimeExportsUtils)(appContext.internalDirectory, 'testing');
82
+ testingExportsUtils = (0, import_utils.createRuntimeExportsUtils)(
83
+ appContext.internalDirectory,
84
+ "testing"
85
+ );
46
86
  return {
47
87
  source: {
48
88
  alias: {
49
- '@modern-js/runtime/testing': testingExportsUtils.getPath()
89
+ "@": import_path.default.join(appContext.appDirectory, "src"),
90
+ "@modern-js/runtime/testing": testingExportsUtils.getPath()
50
91
  }
51
92
  }
52
93
  };
53
94
  },
54
95
  addRuntimeExports() {
55
- const testingPath = _path.default.resolve(__dirname, '../');
96
+ const testingPath = import_path.default.resolve(__dirname, "../");
56
97
  testingExportsUtils.addExport(`export * from '${testingPath}'`);
57
98
  },
58
- jestConfig: async (utils, next) => {
99
+ jestConfig: (utils, next) => __async(void 0, null, function* () {
59
100
  const appContext = api.useAppContext();
60
101
  const userConfig = api.useResolvedConfigContext();
61
- const apiOnly = await (0, _utils.isApiOnly)(appContext.appDirectory);
102
+ const apiOnly = yield (0, import_utils.isApiOnly)(appContext.appDirectory);
62
103
  if (apiOnly) {
63
104
  return next(utils);
64
105
  }
65
- const alias = (0, _utils.mergeAlias)(userConfig.source.alias);
106
+ const alias = (0, import_utils.mergeAlias)(userConfig.source.alias);
66
107
  if (testingExportsUtils) {
67
- alias['@modern-js/runtime/testing'] = [testingExportsUtils.getPath()];
108
+ alias["@modern-js/runtime/testing"] = [
109
+ testingExportsUtils.getPath()
110
+ ];
68
111
  }
69
112
  utils.mergeJestConfig({
70
113
  globals: {
71
- [_constant.MODERNJS_CONFIG_KEY]: userConfig
114
+ [import_constant.MODERNJS_CONFIG_KEY]: userConfig
72
115
  },
73
- moduleNameMapper: (0, _base.getModuleNameMapper)(alias),
74
- testEnvironment: 'jsdom',
75
- resolver: _base.DEFAULT_RESOLVER_PATH,
116
+ moduleNameMapper: (0, import_base.getModuleNameMapper)(alias),
117
+ testEnvironment: "jsdom",
118
+ resolver: import_base.DEFAULT_RESOLVER_PATH,
76
119
  rootDir: appContext.appDirectory || process.cwd(),
77
- // todo: diffrernt test root for diffrent solutions
78
- // testMatch: [`<rootDir>/(src|tests|electron)/**/*.test.[jt]s?(x)`],
79
- // testMatch bug on windows, issue: https://github.com/facebook/jest/issues/7914
80
- testMatch: [`<rootDir>/src/**/*.test.[jt]s?(x)`, `<rootDir>/tests/**/*.test.[jt]s?(x)`, `<rootDir>/electron/**/*.test.[jt]s?(x)`]
120
+ testMatch: [
121
+ `<rootDir>/src/**/*.test.[jt]s?(x)`,
122
+ `<rootDir>/tests/**/*.test.[jt]s?(x)`
123
+ ]
81
124
  });
82
125
  mergeUserJestConfig(utils);
83
126
  return next(utils);
84
- }
127
+ })
85
128
  };
86
129
  }
87
130
  };
88
131
  };
89
- exports.default = _default;
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ mergeUserJestConfig
135
+ });