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

Sign up to get free protection for your applications and to get access to all the features.
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
+ });