@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,28 +1,52 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __export = (target, all) => {
20
+ for (var name in all)
21
+ __defProp(target, name, { get: all[name], enumerable: true });
22
+ };
23
+ var __copyProps = (to, from, except, desc) => {
24
+ if (from && typeof from === "object" || typeof from === "function") {
25
+ for (let key of __getOwnPropNames(from))
26
+ if (!__hasOwnProp.call(to, key) && key !== except)
27
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
28
+ }
29
+ return to;
30
+ };
31
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
+ var testConfigOperator_exports = {};
33
+ __export(testConfigOperator_exports, {
34
+ TestConfigOperator: () => TestConfigOperator
5
35
  });
6
- exports.TestConfigOperator = void 0;
7
- var _lodash = require("@modern-js/utils/lodash");
8
- 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; }
9
- 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; }
10
- 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; }
36
+ module.exports = __toCommonJS(testConfigOperator_exports);
37
+ var import_lodash = require("@modern-js/utils/lodash");
11
38
  class TestConfigOperator {
12
39
  constructor(testConfig) {
13
- _defineProperty(this, "_testConfig", void 0);
14
- _defineProperty(this, "_jestConfig", void 0);
15
- _defineProperty(this, "userJestConfig", void 0);
16
- _defineProperty(this, "defaultTestConfig", {
17
- transformer: 'babel-jest'
18
- });
40
+ this.defaultTestConfig = {
41
+ transformer: "babel-jest"
42
+ };
19
43
  this._testConfig = testConfig;
20
44
  this._jestConfig = {};
21
45
  this.userJestConfig = testConfig.jest;
22
46
  this.initial();
23
47
  }
24
48
  initial() {
25
- this._testConfig = (0, _lodash.merge)({}, this.defaultTestConfig, this.testConfig);
49
+ this._testConfig = (0, import_lodash.merge)({}, this.defaultTestConfig, this.testConfig);
26
50
  }
27
51
  get jestConfig() {
28
52
  return this._jestConfig;
@@ -31,39 +55,36 @@ class TestConfigOperator {
31
55
  return this._testConfig;
32
56
  }
33
57
  mergeJestConfig(sourceConfig) {
34
- this._jestConfig = (0, _lodash.merge)({}, this._jestConfig, sourceConfig);
58
+ this._jestConfig = (0, import_lodash.merge)({}, this._jestConfig, sourceConfig);
35
59
  }
36
60
  setJestUserConfig() {
37
- const {
38
- userJestConfig
39
- } = this;
40
- if (typeof userJestConfig === 'object') {
61
+ const { userJestConfig } = this;
62
+ if (typeof userJestConfig === "object") {
41
63
  this.setJestConfig(userJestConfig);
42
64
  }
43
65
  }
44
66
  setJestConfig(sourceConfig, options) {
45
67
  if (options) {
46
- const {
47
- force
48
- } = options;
68
+ const { force } = options;
49
69
  if (force) {
50
70
  this._jestConfig = sourceConfig;
51
71
  return;
52
72
  }
53
73
  }
54
- this._jestConfig = _objectSpread(_objectSpread({}, this._jestConfig), sourceConfig);
74
+ this._jestConfig = __spreadValues(__spreadValues({}, this._jestConfig), sourceConfig);
55
75
  }
56
76
  getFinalConfig() {
57
- const {
58
- userJestConfig
59
- } = this;
77
+ const { userJestConfig } = this;
60
78
  if (!userJestConfig) {
61
79
  return this._jestConfig;
62
80
  }
63
- if (typeof userJestConfig === 'function') {
81
+ if (typeof userJestConfig === "function") {
64
82
  return userJestConfig(this._jestConfig);
65
83
  }
66
84
  return this.jestConfig;
67
85
  }
68
86
  }
69
- exports.TestConfigOperator = TestConfigOperator;
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ TestConfigOperator
90
+ });
@@ -1,19 +1,46 @@
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 babelTransformer_exports = {};
25
+ __export(babelTransformer_exports, {
26
+ default: () => babelTransformer_default
5
27
  });
6
- exports.default = void 0;
7
- var _babelJest = _interopRequireDefault(require("babel-jest"));
8
- var _babelJest$createTran;
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const babelTransformer = (_babelJest$createTran = _babelJest.default.createTransformer) === null || _babelJest$createTran === void 0 ? void 0 : _babelJest$createTran.call(_babelJest.default, {
11
- presets: [[require.resolve('@modern-js/babel-preset-app'), {
12
- appDirectory: process.cwd(),
13
- modules: 'cjs'
14
- }]],
28
+ module.exports = __toCommonJS(babelTransformer_exports);
29
+ var import_babel_jest = __toESM(require("babel-jest"));
30
+ var _a, _b;
31
+ const babelTransformer = (_b = (_a = import_babel_jest.default).createTransformer) == null ? void 0 : _b.call(_a, {
32
+ presets: [
33
+ [
34
+ require.resolve("@modern-js/babel-preset-app"),
35
+ {
36
+ appDirectory: process.cwd(),
37
+ modules: "cjs"
38
+ }
39
+ ]
40
+ ],
15
41
  configFile: false,
16
42
  babelrc: false
17
43
  });
18
- var _default = babelTransformer;
19
- exports.default = _default;
44
+ var babelTransformer_default = babelTransformer;
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {});
@@ -1,16 +1,37 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var hook_exports = {};
19
+ __export(hook_exports, {
20
+ afterTestHook: () => afterTestHook,
21
+ jestConfigHook: () => jestConfigHook,
22
+ testingHooks: () => testingHooks
5
23
  });
6
- exports.testingHooks = exports.jestConfigHook = exports.afterTestHook = void 0;
7
- var _plugin = require("@modern-js/plugin");
8
- const jestConfigHook = (0, _plugin.createAsyncPipeline)();
9
- exports.jestConfigHook = jestConfigHook;
10
- const afterTestHook = (0, _plugin.createParallelWorkflow)();
11
- exports.afterTestHook = afterTestHook;
24
+ module.exports = __toCommonJS(hook_exports);
25
+ var import_plugin = require("@modern-js/plugin");
26
+ const jestConfigHook = (0, import_plugin.createAsyncPipeline)();
27
+ const afterTestHook = (0, import_plugin.createParallelWorkflow)();
12
28
  const testingHooks = {
13
- jestConfig: (0, _plugin.createAsyncPipeline)(),
14
- afterTest: (0, _plugin.createParallelWorkflow)()
29
+ jestConfig: (0, import_plugin.createAsyncPipeline)(),
30
+ afterTest: (0, import_plugin.createParallelWorkflow)()
15
31
  };
16
- exports.testingHooks = testingHooks;
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ afterTestHook,
35
+ jestConfigHook,
36
+ testingHooks
37
+ });
@@ -1,66 +1,43 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- runTest: true,
8
- runJest: true,
9
- getModuleNameMapper: true,
10
- DEFAULT_RESOLVER_PATH: true,
11
- TestConfigOperator: true,
12
- testingHooks: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
13
8
  };
14
- Object.defineProperty(exports, "DEFAULT_RESOLVER_PATH", {
15
- enumerable: true,
16
- get: function () {
17
- return _config.DEFAULT_RESOLVER_PATH;
18
- }
19
- });
20
- Object.defineProperty(exports, "TestConfigOperator", {
21
- enumerable: true,
22
- get: function () {
23
- return _testConfigOperator.TestConfigOperator;
24
- }
25
- });
26
- Object.defineProperty(exports, "getModuleNameMapper", {
27
- enumerable: true,
28
- get: function () {
29
- return _utils.getModuleNameMapper;
30
- }
31
- });
32
- Object.defineProperty(exports, "runJest", {
33
- enumerable: true,
34
- get: function () {
35
- return _runJest.runJest;
36
- }
37
- });
38
- Object.defineProperty(exports, "runTest", {
39
- enumerable: true,
40
- get: function () {
41
- return _runJest.runTest;
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
42
14
  }
15
+ return to;
16
+ };
17
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var base_exports = {};
20
+ __export(base_exports, {
21
+ DEFAULT_RESOLVER_PATH: () => import_config.DEFAULT_RESOLVER_PATH,
22
+ TestConfigOperator: () => import_testConfigOperator.TestConfigOperator,
23
+ getModuleNameMapper: () => import_utils.getModuleNameMapper,
24
+ runJest: () => import_runJest.runJest,
25
+ runTest: () => import_runJest.runTest,
26
+ testingHooks: () => import_hook.testingHooks
43
27
  });
44
- Object.defineProperty(exports, "testingHooks", {
45
- enumerable: true,
46
- get: function () {
47
- return _hook.testingHooks;
48
- }
28
+ module.exports = __toCommonJS(base_exports);
29
+ var import_runJest = require("./runJest");
30
+ var import_utils = require("./utils");
31
+ var import_config = require("./config");
32
+ var import_testConfigOperator = require("./config/testConfigOperator");
33
+ var import_hook = require("./hook");
34
+ __reExport(base_exports, require("./types"), module.exports);
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ DEFAULT_RESOLVER_PATH,
38
+ TestConfigOperator,
39
+ getModuleNameMapper,
40
+ runJest,
41
+ runTest,
42
+ testingHooks
49
43
  });
50
- var _runJest = require("./runJest");
51
- var _utils = require("./utils");
52
- var _config = require("./config");
53
- var _testConfigOperator = require("./config/testConfigOperator");
54
- var _hook = require("./hook");
55
- var _types = require("./types");
56
- Object.keys(_types).forEach(function (key) {
57
- if (key === "default" || key === "__esModule") return;
58
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
59
- if (key in exports && exports[key] === _types[key]) return;
60
- Object.defineProperty(exports, key, {
61
- enumerable: true,
62
- get: function () {
63
- return _types[key];
64
- }
65
- });
66
- });
@@ -1,32 +1,65 @@
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 runJest_exports = {};
45
+ __export(runJest_exports, {
46
+ runJest: () => runJest,
47
+ runTest: () => runTest
5
48
  });
6
- exports.runJest = runJest;
7
- exports.runTest = runTest;
8
- var _yargs = _interopRequireDefault(require("yargs/yargs"));
9
- var _jest = require("jest");
10
- var _utils = require("@modern-js/utils");
11
- var _config = require("./config");
12
- var _utils2 = require("./utils");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- /**
15
- * @file run jest by nodejs API
16
- * @description
17
- * Jest does not provide node API to run jest.
18
- * The followed code is inspired by
19
- * https://github.com/facebook/jest/blob/fdc74af37235354e077edeeee8aa2d1a4a863032/packages/jest-cli/src/cli/index.ts#L21
20
- */
21
-
22
- const buildArgv = async (rawArgv, config) => {
23
- const argv = await (0, _yargs.default)(rawArgv).argv;
49
+ module.exports = __toCommonJS(runJest_exports);
50
+ var import_yargs = __toESM(require("yargs/yargs"));
51
+ var import_jest = require("jest");
52
+ var import_utils = require("@modern-js/utils");
53
+ var import_config = require("./config");
54
+ var import_utils2 = require("./utils");
55
+ const buildArgv = (rawArgv, config) => __async(void 0, null, function* () {
56
+ const argv = yield (0, import_yargs.default)(rawArgv).argv;
24
57
  const result = {
25
58
  $0: argv.$0,
26
59
  _: argv._.slice(1)
27
60
  };
28
- Object.keys(argv).forEach(key => {
29
- if (key.includes('-') || key === '_') {
61
+ Object.keys(argv).forEach((key) => {
62
+ if (key.includes("-") || key === "_") {
30
63
  return;
31
64
  }
32
65
  result[key] = argv[key];
@@ -35,65 +68,65 @@ const buildArgv = async (rawArgv, config) => {
35
68
  result.config = JSON.stringify(config);
36
69
  }
37
70
  return result;
38
- };
71
+ });
39
72
  const readResultsAndExit = (result, globalConfig) => {
40
73
  const code = !result || result.success ? 0 : globalConfig.testFailureExitCode;
41
-
42
- // Only exit if needed
43
- process.on('exit', () => {
44
- if (typeof code === 'number' && code !== 0) {
74
+ process.on("exit", () => {
75
+ if (typeof code === "number" && code !== 0) {
45
76
  process.exitCode = code;
46
77
  }
47
78
  });
48
79
  if (globalConfig.forceExit) {
49
80
  if (!globalConfig.detectOpenHandles) {
50
- console.warn(`${_utils.chalk.bold('Force exiting Jest: ')}Have you considered using \`--detectOpenHandles\` to detect ` + `async operations that kept running after all tests finished?`);
81
+ console.warn(
82
+ `${import_utils.chalk.bold(
83
+ "Force exiting Jest: "
84
+ )}Have you considered using \`--detectOpenHandles\` to detect async operations that kept running after all tests finished?`
85
+ );
51
86
  }
52
-
53
- // eslint-disable-next-line no-process-exit
54
87
  process.exit(code);
55
88
  } else if (!globalConfig.detectOpenHandles) {
56
89
  setTimeout(() => {
57
- console.warn(_utils.chalk.yellow.bold('Jest did not exit one second after the test run has completed.\n\n') + _utils.chalk.yellow('This usually means that there are asynchronous operations that ' + "weren't stopped in your tests. Consider running Jest with " + '`--detectOpenHandles` to troubleshoot this issue.'));
58
- }, 1000).unref();
90
+ console.warn(
91
+ import_utils.chalk.yellow.bold(
92
+ "Jest did not exit one second after the test run has completed.\n\n"
93
+ ) + import_utils.chalk.yellow(
94
+ "This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue."
95
+ )
96
+ );
97
+ }, 1e3).unref();
59
98
  }
60
99
  };
61
-
62
- /**
63
- * Node API: execute jest
64
- */
65
- async function runJest(config, pwd = process.cwd()) {
66
- try {
67
- const argvConfig = await buildArgv(process.argv.slice(2), config);
68
- const {
69
- results,
70
- globalConfig
71
- } = await (0, _jest.runCLI)(argvConfig, [pwd]);
72
- readResultsAndExit(results, globalConfig);
73
- } catch (e) {
74
- console.error(_utils.chalk.red((e === null || e === void 0 ? void 0 : e.stack) || e));
75
-
76
- // eslint-disable-next-line no-process-exit
77
- process.exit(1);
78
- }
100
+ function runJest(_0) {
101
+ return __async(this, arguments, function* (config, pwd = process.cwd()) {
102
+ try {
103
+ const argvConfig = yield buildArgv(process.argv.slice(2), config);
104
+ const { results, globalConfig } = yield (0, import_jest.runCLI)(argvConfig, [pwd]);
105
+ readResultsAndExit(results, globalConfig);
106
+ } catch (e) {
107
+ console.error(import_utils.chalk.red((e == null ? void 0 : e.stack) || e));
108
+ process.exit(1);
109
+ }
110
+ });
79
111
  }
80
-
81
- /**
82
- * Node API: run test
83
- */
84
- async function runTest(api, config, pwd = process.cwd()) {
85
- process.env.NODE_ENV = 'test';
86
- const jestUtils = (0, _config.getJestUtils)(config);
87
- await (0, _config.patchConfig)(jestUtils);
88
-
89
- // 确保用户设置的配置可以被插件处理,比如设置在 projects 中
90
- jestUtils.setJestUserConfig();
91
- const hookRunners = api.useHookRunners();
92
- const testConfigOperator = await hookRunners.jestConfig(jestUtils, {
93
- onLast: input => input
112
+ function runTest(_0, _1) {
113
+ return __async(this, arguments, function* (api, config, pwd = process.cwd()) {
114
+ process.env.NODE_ENV = "test";
115
+ const jestUtils = (0, import_config.getJestUtils)(config);
116
+ yield (0, import_config.patchConfig)(jestUtils);
117
+ jestUtils.setJestUserConfig();
118
+ const hookRunners = api.useHookRunners();
119
+ const testConfigOperator = yield hookRunners.jestConfig(jestUtils, {
120
+ onLast: (input) => input
121
+ });
122
+ const finalConfig = testConfigOperator.getFinalConfig();
123
+ (0, import_utils2.debug)("Jest config:", finalConfig);
124
+ yield runJest(finalConfig, pwd);
125
+ yield hookRunners.afterTest();
94
126
  });
95
- const finalConfig = testConfigOperator.getFinalConfig();
96
- (0, _utils2.debug)('Jest config:', finalConfig);
97
- await runJest(finalConfig, pwd);
98
- await hookRunners.afterTest();
99
- }
127
+ }
128
+ // Annotate the CommonJS export names for ESM import in node:
129
+ 0 && (module.exports = {
130
+ runJest,
131
+ runTest
132
+ });
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var types_exports = {};
15
+ module.exports = __toCommonJS(types_exports);