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

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