@modern-js/plugin-testing 2.19.1 → 2.20.1-alpha.0

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 (143) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/base/config/resolver.js +2 -6
  3. package/dist/cjs/base/config/testConfigOperator.js +5 -17
  4. package/dist/cjs/base/config/transformer/babelTransformer.js +2 -6
  5. package/dist/cjs/base/index.js +2 -14
  6. package/dist/cjs/base/runJest.js +2 -6
  7. package/dist/cjs/base/utils.js +3 -7
  8. package/dist/cjs/cli/bff/index.js +5 -6
  9. package/dist/cjs/cli/bff/mockAPI.js +3 -42
  10. package/dist/cjs/cli/bff/setup.js +3 -7
  11. package/dist/cjs/cli/bff/utils/index.js +2 -6
  12. package/dist/cjs/cli/index.js +4 -8
  13. package/dist/cjs/cli/test.js +2 -6
  14. package/dist/cjs/index.js +2 -14
  15. package/dist/cjs/runtime-testing/app.js +5 -21
  16. package/dist/cjs/runtime-testing/base.js +4 -20
  17. package/dist/cjs/runtime-testing/customRender.js +3 -7
  18. package/dist/cjs/runtime-testing/index.js +3 -15
  19. package/dist/cjs/runtime-testing/reduck.js +4 -8
  20. package/dist/cjs/runtime-testing/request.js +2 -6
  21. package/dist/esm/base/config/index.js +3 -132
  22. package/dist/esm/base/config/patches/index.js +4 -133
  23. package/dist/esm/base/config/testConfigOperator.js +4 -50
  24. package/dist/esm/base/runJest.js +5 -134
  25. package/dist/esm/base/utils.js +1 -28
  26. package/dist/esm/cli/bff/app.js +4 -133
  27. package/dist/esm/cli/bff/index.js +9 -161
  28. package/dist/esm/cli/bff/mockAPI.js +4 -100
  29. package/dist/esm/cli/bff/setup.js +4 -133
  30. package/dist/esm/cli/bff/utils/index.js +1 -28
  31. package/dist/esm/cli/index.js +5 -146
  32. package/dist/esm/cli/test.js +3 -132
  33. package/dist/esm/runtime-testing/app.js +4 -50
  34. package/dist/esm/runtime-testing/customRender.js +1 -28
  35. package/dist/esm/runtime-testing/reduck.js +2 -52
  36. package/dist/esm/runtime-testing/request.js +2 -44
  37. package/dist/esm/runtime-testing/resolvePlugins.js +1 -28
  38. package/dist/esm-node/base/config/testConfigOperator.js +1 -13
  39. package/dist/esm-node/cli/bff/index.js +3 -0
  40. package/dist/esm-node/runtime-testing/app.js +1 -13
  41. package/dist/js/modern/base/config/index.js +36 -0
  42. package/dist/js/modern/base/config/patches/assetsModule.js +11 -0
  43. package/dist/js/modern/base/config/patches/filemock.js +4 -0
  44. package/dist/js/modern/base/config/patches/index.js +34 -0
  45. package/dist/js/modern/base/config/patches/transformer.js +38 -0
  46. package/dist/js/modern/base/config/resolver.js +21 -0
  47. package/dist/js/modern/base/config/testConfigOperator.js +69 -0
  48. package/dist/js/modern/base/config/transformer/babelTransformer.js +19 -0
  49. package/dist/js/modern/base/hook.js +12 -0
  50. package/dist/js/modern/base/index.js +14 -0
  51. package/dist/js/modern/base/runJest.js +102 -0
  52. package/dist/js/modern/base/types/index.js +0 -0
  53. package/dist/js/modern/base/utils.js +66 -0
  54. package/dist/js/modern/cli/bff/app.js +58 -0
  55. package/dist/js/modern/cli/bff/constant.js +4 -0
  56. package/dist/js/modern/cli/bff/index.js +149 -0
  57. package/dist/js/modern/cli/bff/mockAPI.js +109 -0
  58. package/dist/js/modern/cli/bff/setup.js +75 -0
  59. package/dist/js/modern/cli/bff/utils/index.js +37 -0
  60. package/dist/js/modern/cli/index.js +115 -0
  61. package/dist/js/modern/cli/test.js +61 -0
  62. package/dist/js/modern/constant.js +4 -0
  63. package/dist/js/modern/index.js +3 -0
  64. package/dist/js/modern/runtime-testing/app.js +48 -0
  65. package/dist/js/modern/runtime-testing/base.js +7 -0
  66. package/dist/js/modern/runtime-testing/customRender.js +25 -0
  67. package/dist/js/modern/runtime-testing/index.js +2 -0
  68. package/dist/js/modern/runtime-testing/reduck.js +55 -0
  69. package/dist/js/modern/runtime-testing/request.js +16 -0
  70. package/dist/js/modern/runtime-testing/resolvePlugins.js +33 -0
  71. package/dist/js/node/base/config/index.js +67 -0
  72. package/dist/js/node/base/config/patches/assetsModule.js +40 -0
  73. package/dist/js/node/base/config/patches/filemock.js +25 -0
  74. package/dist/js/node/base/config/patches/index.js +57 -0
  75. package/dist/js/node/base/config/patches/transformer.js +67 -0
  76. package/dist/js/node/base/config/resolver.js +30 -0
  77. package/dist/js/node/base/config/testConfigOperator.js +90 -0
  78. package/dist/js/node/base/config/transformer/babelTransformer.js +46 -0
  79. package/dist/js/node/base/hook.js +37 -0
  80. package/dist/js/node/base/index.js +43 -0
  81. package/dist/js/node/base/runJest.js +132 -0
  82. package/dist/js/node/base/types/index.js +15 -0
  83. package/dist/js/node/base/utils.js +95 -0
  84. package/dist/js/node/cli/bff/app.js +84 -0
  85. package/dist/js/node/cli/bff/constant.js +27 -0
  86. package/dist/js/node/cli/bff/index.js +173 -0
  87. package/dist/js/node/cli/bff/mockAPI.js +134 -0
  88. package/dist/js/node/cli/bff/setup.js +84 -0
  89. package/dist/js/node/cli/bff/utils/index.js +64 -0
  90. package/dist/js/node/cli/index.js +135 -0
  91. package/dist/js/node/cli/test.js +88 -0
  92. package/dist/js/node/constant.js +27 -0
  93. package/dist/js/node/index.js +19 -0
  94. package/dist/js/node/runtime-testing/app.js +73 -0
  95. package/dist/js/node/runtime-testing/base.js +38 -0
  96. package/dist/js/node/runtime-testing/customRender.js +50 -0
  97. package/dist/js/node/runtime-testing/index.js +18 -0
  98. package/dist/js/node/runtime-testing/reduck.js +85 -0
  99. package/dist/js/node/runtime-testing/request.js +45 -0
  100. package/dist/js/node/runtime-testing/resolvePlugins.js +52 -0
  101. package/dist/js/treeshaking/base/config/index.js +154 -0
  102. package/dist/js/treeshaking/base/config/patches/assetsModule.js +9 -0
  103. package/dist/js/treeshaking/base/config/patches/filemock.js +2 -0
  104. package/dist/js/treeshaking/base/config/patches/index.js +225 -0
  105. package/dist/js/treeshaking/base/config/patches/transformer.js +36 -0
  106. package/dist/js/treeshaking/base/config/resolver.js +37 -0
  107. package/dist/js/treeshaking/base/config/testConfigOperator.js +127 -0
  108. package/dist/js/treeshaking/base/config/transformer/babelTransformer.js +17 -0
  109. package/dist/js/treeshaking/base/hook.js +8 -0
  110. package/dist/js/treeshaking/base/index.js +7 -0
  111. package/dist/js/treeshaking/base/runJest.js +292 -0
  112. package/dist/js/treeshaking/base/types/index.js +1 -0
  113. package/dist/js/treeshaking/base/utils.js +76 -0
  114. package/dist/js/treeshaking/cli/bff/app.js +200 -0
  115. package/dist/js/treeshaking/cli/bff/constant.js +2 -0
  116. package/dist/js/treeshaking/cli/bff/index.js +297 -0
  117. package/dist/js/treeshaking/cli/bff/mockAPI.js +188 -0
  118. package/dist/js/treeshaking/cli/bff/setup.js +192 -0
  119. package/dist/js/treeshaking/cli/bff/utils/index.js +47 -0
  120. package/dist/js/treeshaking/cli/index.js +255 -0
  121. package/dist/js/treeshaking/cli/test.js +180 -0
  122. package/dist/js/treeshaking/constant.js +2 -0
  123. package/dist/js/treeshaking/index.js +3 -0
  124. package/dist/js/treeshaking/runtime-testing/app.js +90 -0
  125. package/dist/js/treeshaking/runtime-testing/base.js +4 -0
  126. package/dist/js/treeshaking/runtime-testing/customRender.js +41 -0
  127. package/dist/js/treeshaking/runtime-testing/index.js +2 -0
  128. package/dist/js/treeshaking/runtime-testing/reduck.js +89 -0
  129. package/dist/js/treeshaking/runtime-testing/request.js +51 -0
  130. package/dist/js/treeshaking/runtime-testing/resolvePlugins.js +46 -0
  131. package/dist/types/base/config/index.d.ts +0 -1
  132. package/dist/types/base/config/patches/assetsModule.d.ts +0 -1
  133. package/dist/types/base/config/patches/filemock.d.ts +0 -1
  134. package/dist/types/base/config/patches/transformer.d.ts +0 -1
  135. package/dist/types/base/config/testConfigOperator.d.ts +0 -2
  136. package/dist/types/base/runJest.d.ts +0 -2
  137. package/dist/types/base/utils.d.ts +0 -1
  138. package/dist/types/cli/bff/index.d.ts +0 -2
  139. package/dist/types/cli/bff/mockAPI.d.ts +0 -1
  140. package/dist/types/cli/index.d.ts +0 -2
  141. package/dist/types/runtime-testing/app.d.ts +0 -3
  142. package/dist/types/runtime-testing/customRender.d.ts +0 -2
  143. package/package.json +18 -18
@@ -0,0 +1,115 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import path from "path";
22
+ import {
23
+ isApiOnly,
24
+ mergeAlias,
25
+ PLUGIN_SCHEMAS,
26
+ createRuntimeExportsUtils
27
+ } from "@modern-js/utils";
28
+ import {
29
+ testingHooks,
30
+ getModuleNameMapper,
31
+ DEFAULT_RESOLVER_PATH
32
+ } from "../base";
33
+ import { MODERNJS_CONFIG_KEY } from "../constant";
34
+ import testingBffPlugin from "./bff";
35
+ import test from "./test";
36
+ const mergeUserJestConfig = (testUtils) => {
37
+ const resolveJestConfig = testUtils.testConfig.jest;
38
+ if (resolveJestConfig && typeof resolveJestConfig !== "function") {
39
+ testUtils.mergeJestConfig(resolveJestConfig);
40
+ }
41
+ };
42
+ var cli_default = () => {
43
+ const bffPlugin = testingBffPlugin();
44
+ return {
45
+ name: "@modern-js/plugin-testing",
46
+ usePlugins: [bffPlugin],
47
+ post: [bffPlugin.name],
48
+ registerHook: testingHooks,
49
+ setup: (api) => {
50
+ let testingExportsUtils;
51
+ return {
52
+ commands: ({ program }) => {
53
+ program.command("test").allowUnknownOption().usage("<regexForTestFiles> --[options]").action(() => __async(void 0, null, function* () {
54
+ yield test(api);
55
+ }));
56
+ },
57
+ validateSchema() {
58
+ return PLUGIN_SCHEMAS["@modern-js/plugin-testing"];
59
+ },
60
+ config() {
61
+ const appContext = api.useAppContext();
62
+ testingExportsUtils = createRuntimeExportsUtils(
63
+ appContext.internalDirectory,
64
+ "testing"
65
+ );
66
+ return {
67
+ source: {
68
+ alias: {
69
+ "@": path.join(appContext.appDirectory, "src"),
70
+ "@modern-js/runtime/testing": testingExportsUtils.getPath()
71
+ }
72
+ }
73
+ };
74
+ },
75
+ addRuntimeExports() {
76
+ const testingPath = path.resolve(__dirname, "../");
77
+ testingExportsUtils.addExport(`export * from '${testingPath}'`);
78
+ },
79
+ jestConfig: (utils, next) => __async(void 0, null, function* () {
80
+ const appContext = api.useAppContext();
81
+ const userConfig = api.useResolvedConfigContext();
82
+ const apiOnly = yield isApiOnly(appContext.appDirectory);
83
+ if (apiOnly) {
84
+ return next(utils);
85
+ }
86
+ const alias = mergeAlias(userConfig.source.alias);
87
+ if (testingExportsUtils) {
88
+ alias["@modern-js/runtime/testing"] = [
89
+ testingExportsUtils.getPath()
90
+ ];
91
+ }
92
+ utils.mergeJestConfig({
93
+ globals: {
94
+ [MODERNJS_CONFIG_KEY]: userConfig
95
+ },
96
+ moduleNameMapper: getModuleNameMapper(alias),
97
+ testEnvironment: "jsdom",
98
+ resolver: DEFAULT_RESOLVER_PATH,
99
+ rootDir: appContext.appDirectory || process.cwd(),
100
+ testMatch: [
101
+ `<rootDir>/src/**/*.test.[jt]s?(x)`,
102
+ `<rootDir>/tests/**/*.test.[jt]s?(x)`
103
+ ]
104
+ });
105
+ mergeUserJestConfig(utils);
106
+ return next(utils);
107
+ })
108
+ };
109
+ }
110
+ };
111
+ };
112
+ export {
113
+ cli_default as default,
114
+ mergeUserJestConfig
115
+ };
@@ -0,0 +1,61 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import path from "path";
22
+ import { compiler } from "@modern-js/babel-compiler";
23
+ import { runTest } from "../base";
24
+ const test = (api) => __async(void 0, null, function* () {
25
+ var _a, _b;
26
+ const userConfig = api.useResolvedConfigContext();
27
+ const appContext = api.useAppContext();
28
+ userConfig.testing = userConfig.testing || {};
29
+ const jest = userConfig.testing.jest || ((_a = userConfig == null ? void 0 : userConfig.tools) == null ? void 0 : _a.jest);
30
+ if (Array.isArray(jest)) {
31
+ userConfig.testing.jest = jest[0];
32
+ }
33
+ userConfig.testing.jest = userConfig.testing.jest || ((_b = userConfig == null ? void 0 : userConfig.tools) == null ? void 0 : _b.jest);
34
+ const runtimeExportsPath = path.join(
35
+ appContext.internalDirectory,
36
+ ".runtime-exports"
37
+ );
38
+ yield compiler(
39
+ {
40
+ sourceDir: runtimeExportsPath,
41
+ rootDir: runtimeExportsPath,
42
+ distDir: runtimeExportsPath,
43
+ quiet: true
44
+ },
45
+ {
46
+ presets: [
47
+ [
48
+ require.resolve("@babel/preset-env"),
49
+ {
50
+ modules: "cjs"
51
+ }
52
+ ]
53
+ ]
54
+ }
55
+ );
56
+ yield runTest(api, userConfig.testing);
57
+ });
58
+ var test_default = test;
59
+ export {
60
+ test_default as default
61
+ };
@@ -0,0 +1,4 @@
1
+ const MODERNJS_CONFIG_KEY = "__modernjs_config__";
2
+ export {
3
+ MODERNJS_CONFIG_KEY
4
+ };
@@ -0,0 +1,3 @@
1
+ import "@testing-library/jest-dom/extend-expect";
2
+ import "@testing-library/jest-dom";
3
+ export * from "./runtime-testing";
@@ -0,0 +1,48 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import { createApp } from "@modern-js/runtime";
18
+ import { MODERNJS_CONFIG_KEY } from "../constant";
19
+ import resolvePlugins from "./resolvePlugins";
20
+ class ModernRuntime {
21
+ constructor(options) {
22
+ this.options = options;
23
+ }
24
+ init(options) {
25
+ this.options = options;
26
+ }
27
+ createApp(props) {
28
+ var _a, _b;
29
+ const { entry, children } = props || {};
30
+ let runtimeFeatures = (_a = this.options) == null ? void 0 : _a.runtime;
31
+ if (entry) {
32
+ runtimeFeatures = __spreadValues(__spreadValues({}, runtimeFeatures || {}), (_b = this.options.runtimeByEntries) == null ? void 0 : _b[entry]);
33
+ }
34
+ const Component = () => {
35
+ if (!children) {
36
+ return null;
37
+ }
38
+ return children;
39
+ };
40
+ return createApp({
41
+ plugins: resolvePlugins(runtimeFeatures || {})
42
+ })(Component);
43
+ }
44
+ }
45
+ var app_default = new ModernRuntime(global[MODERNJS_CONFIG_KEY] || {});
46
+ export {
47
+ app_default as default
48
+ };
@@ -0,0 +1,7 @@
1
+ import { default as default2 } from "./customRender";
2
+ export * from "@testing-library/react";
3
+ import { request } from "./request";
4
+ export {
5
+ default2 as renderApp,
6
+ request as testBff
7
+ };
@@ -0,0 +1,25 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import React from "react";
18
+ import { render } from "@testing-library/react";
19
+ import app from "./app";
20
+ const WrapModernProviders = (props) => React.createElement(app.createApp(props));
21
+ const customRender = (ui, options) => render(ui, __spreadValues({ wrapper: WrapModernProviders }, options));
22
+ var customRender_default = customRender;
23
+ export {
24
+ customRender_default as default
25
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./base";
2
+ export * from "./reduck";
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
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 __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { createStore as originCreateStore } from "@modern-js-reduck/store";
21
+ import effectsPlugin from "@modern-js-reduck/plugin-effects";
22
+ import autoActionsPlugin from "@modern-js-reduck/plugin-auto-actions";
23
+ import immerPlugin from "@modern-js-reduck/plugin-immutable";
24
+ import { MODERNJS_CONFIG_KEY } from "../constant";
25
+ const effects = () => effectsPlugin;
26
+ const immer = () => immerPlugin;
27
+ const autoActions = () => autoActionsPlugin;
28
+ const createStore = (props) => {
29
+ const createStatePlugins = () => {
30
+ var _a;
31
+ const modernConfig = global[MODERNJS_CONFIG_KEY];
32
+ const stateConfig = (_a = modernConfig == null ? void 0 : modernConfig.runtime) == null ? void 0 : _a.state;
33
+ const plugins = [];
34
+ if ((stateConfig == null ? void 0 : stateConfig.effects) !== false) {
35
+ plugins.push(effects());
36
+ }
37
+ if ((stateConfig == null ? void 0 : stateConfig.autoActions) !== false) {
38
+ plugins.push(autoActions());
39
+ }
40
+ if ((stateConfig == null ? void 0 : stateConfig.immer) !== false) {
41
+ plugins.push(immer());
42
+ }
43
+ return ((props == null ? void 0 : props.plugins) || []).concat(plugins);
44
+ };
45
+ const config = __spreadProps(__spreadValues({}, props || {}), {
46
+ plugins: createStatePlugins()
47
+ });
48
+ return originCreateStore(config);
49
+ };
50
+ export {
51
+ autoActions,
52
+ createStore,
53
+ effects,
54
+ immer
55
+ };
@@ -0,0 +1,16 @@
1
+ import supertest from "supertest";
2
+ import { getApp } from "../cli/bff/app";
3
+ function request(...args) {
4
+ const [fn, ...extraArgs] = args;
5
+ const app = getApp();
6
+ if (!fn) {
7
+ return supertest(app);
8
+ }
9
+ fn.returnHttp = true;
10
+ const res = fn(...extraArgs);
11
+ fn.returnHttp = false;
12
+ return res;
13
+ }
14
+ export {
15
+ request
16
+ };
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ const allowedFeatures = ["router", "state"];
18
+ function resolvePlugins(features) {
19
+ const plugins = [];
20
+ if (!features) {
21
+ return plugins;
22
+ }
23
+ Object.keys(features).forEach((feature) => {
24
+ if (allowedFeatures.includes(feature)) {
25
+ const curPluginRes = require(`@modern-js/runtime/plugins`)[feature](__spreadValues({}, features[feature]));
26
+ plugins.push(curPluginRes);
27
+ }
28
+ });
29
+ return plugins;
30
+ }
31
+ export {
32
+ resolvePlugins as default
33
+ };
@@ -0,0 +1,67 @@
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 config_exports = {};
45
+ __export(config_exports, {
46
+ DEFAULT_RESOLVER_PATH: () => DEFAULT_RESOLVER_PATH,
47
+ getJestUtils: () => getJestUtils,
48
+ patchConfig: () => patchConfig
49
+ });
50
+ module.exports = __toCommonJS(config_exports);
51
+ var import_patches = require("./patches");
52
+ var import_testConfigOperator = require("./testConfigOperator");
53
+ const getJestUtils = (testConfig) => {
54
+ const testOperator = new import_testConfigOperator.TestConfigOperator(testConfig);
55
+ return testOperator;
56
+ };
57
+ const patchConfig = (testOperator) => __async(void 0, null, function* () {
58
+ yield (0, import_patches.applyPatches)(testOperator);
59
+ return testOperator.jestConfig;
60
+ });
61
+ const DEFAULT_RESOLVER_PATH = require.resolve("./resolver");
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ DEFAULT_RESOLVER_PATH,
65
+ getJestUtils,
66
+ patchConfig
67
+ });
@@ -0,0 +1,40 @@
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 assetsModule_exports = {};
25
+ __export(assetsModule_exports, {
26
+ patchAssetsModule: () => patchAssetsModule
27
+ });
28
+ module.exports = __toCommonJS(assetsModule_exports);
29
+ const patchAssetsModule = (testOperator) => {
30
+ testOperator.mergeJestConfig({
31
+ moduleNameMapper: {
32
+ "\\.(css|less|scss|sass)$": require.resolve("identity-obj-proxy"),
33
+ "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": require.resolve("./filemock.js")
34
+ }
35
+ });
36
+ };
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ patchAssetsModule
40
+ });
@@ -0,0 +1,25 @@
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 filemock_exports = {};
19
+ __export(filemock_exports, {
20
+ default: () => filemock_default
21
+ });
22
+ module.exports = __toCommonJS(filemock_exports);
23
+ var filemock_default = "test-file-stub";
24
+ // Annotate the CommonJS export names for ESM import in node:
25
+ 0 && (module.exports = {});
@@ -0,0 +1,57 @@
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 __async = (__this, __arguments, generator) => {
19
+ return new Promise((resolve, reject) => {
20
+ var fulfilled = (value) => {
21
+ try {
22
+ step(generator.next(value));
23
+ } catch (e) {
24
+ reject(e);
25
+ }
26
+ };
27
+ var rejected = (value) => {
28
+ try {
29
+ step(generator.throw(value));
30
+ } catch (e) {
31
+ reject(e);
32
+ }
33
+ };
34
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
35
+ step((generator = generator.apply(__this, __arguments)).next());
36
+ });
37
+ };
38
+ var patches_exports = {};
39
+ __export(patches_exports, {
40
+ applyPatches: () => applyPatches
41
+ });
42
+ module.exports = __toCommonJS(patches_exports);
43
+ var import_transformer = require("./transformer");
44
+ var import_assetsModule = require("./assetsModule");
45
+ const _applyPatches = (patches2, testOperator) => __async(void 0, null, function* () {
46
+ for (const patch of patches2) {
47
+ yield patch(testOperator);
48
+ }
49
+ });
50
+ const patches = [import_transformer.patchTransformer, import_assetsModule.patchAssetsModule];
51
+ const applyPatches = (testConfig) => __async(void 0, null, function* () {
52
+ yield _applyPatches(patches, testConfig);
53
+ });
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ applyPatches
57
+ });
@@ -0,0 +1,67 @@
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 transformer_exports = {};
25
+ __export(transformer_exports, {
26
+ patchTransformer: () => patchTransformer
27
+ });
28
+ module.exports = __toCommonJS(transformer_exports);
29
+ var import_utils = require("../../utils");
30
+ const resolveTsCompilerOptions = () => {
31
+ const tsCompilerOptions = (0, import_utils.readCompilerOptions)() || {};
32
+ const { jsx } = tsCompilerOptions;
33
+ if (!jsx) {
34
+ return null;
35
+ }
36
+ tsCompilerOptions.jsx = "react-jsx";
37
+ return tsCompilerOptions;
38
+ };
39
+ const patchTransformer = (testOperator) => {
40
+ const { transformer } = testOperator.testConfig;
41
+ if (transformer === "babel-jest") {
42
+ testOperator.mergeJestConfig({
43
+ transform: {
44
+ "\\.[jt]sx?$": require.resolve("../transformer/babelTransformer")
45
+ }
46
+ });
47
+ }
48
+ if (transformer === "ts-jest") {
49
+ testOperator.mergeJestConfig({
50
+ transform: {
51
+ "\\.[jt]sx?$": require.resolve("ts-jest")
52
+ }
53
+ });
54
+ const compilerOptions = resolveTsCompilerOptions();
55
+ compilerOptions && testOperator.mergeJestConfig({
56
+ globals: {
57
+ "ts-jest": {
58
+ tsconfig: compilerOptions
59
+ }
60
+ }
61
+ });
62
+ }
63
+ };
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ patchTransformer
67
+ });
@@ -0,0 +1,30 @@
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 import_enhanced_resolve = __toESM(require("enhanced-resolve"));
20
+ const resolver = import_enhanced_resolve.default.create.sync({
21
+ conditionNames: ["require", "node", "default"],
22
+ extensions: [".js", ".json", ".node", ".ts", ".tsx"]
23
+ });
24
+ const shouldResolveByEnhance = (url) => /^@[^/]+\/[^/]+\/.*/.test(url);
25
+ module.exports = function(request, options) {
26
+ if (shouldResolveByEnhance(request)) {
27
+ return resolver(options.basedir, request);
28
+ }
29
+ return options.defaultResolver(request, options);
30
+ };