@umijs/test 4.0.12 → 4.0.13

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.
package/dist/index.js CHANGED
@@ -42,10 +42,14 @@ __export(src_exports, {
42
42
  createConfig: () => createConfig
43
43
  });
44
44
  module.exports = __toCommonJS(src_exports);
45
+ var import_path = require("path");
45
46
  function getJSTransformer(jsTransformer, opts) {
46
47
  switch (jsTransformer) {
47
48
  case "esbuild":
48
- return [require.resolve("jest-esbuild"), __spreadProps(__spreadValues({}, opts), { sourcemap: true })];
49
+ return [
50
+ require.resolve((0, import_path.join)(__dirname, "transformers/esbuild")),
51
+ __spreadProps(__spreadValues({}, opts), { sourcemap: true })
52
+ ];
49
53
  case "swc":
50
54
  return require.resolve("@swc-node/jest");
51
55
  case "ts-jest":
@@ -0,0 +1,6 @@
1
+ import { Transformer } from '@jest/transform';
2
+ import { UserOptions } from './type';
3
+ declare const _default: {
4
+ createTransformer: (userOptions?: UserOptions) => Transformer<UserOptions>;
5
+ };
6
+ export default _default;
@@ -0,0 +1,101 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+
39
+ // src/transformers/esbuild/index.ts
40
+ var esbuild_exports = {};
41
+ __export(esbuild_exports, {
42
+ default: () => esbuild_default
43
+ });
44
+ module.exports = __toCommonJS(esbuild_exports);
45
+ var import_crypto = require("crypto");
46
+ var import_esbuild = require("esbuild");
47
+ var import_fs = __toESM(require("fs"));
48
+ var import_path = require("path");
49
+ var import_options = require("./options");
50
+ var THIS_FILE = import_fs.default.readFileSync(__filename);
51
+ var TS_TSX_REGEX = /\.tsx?$/;
52
+ var JS_JSX_REGEX = /\.jsx?$/;
53
+ function isTarget(path) {
54
+ return JS_JSX_REGEX.test(path) || TS_TSX_REGEX.test(path);
55
+ }
56
+ var createTransformer = (userOptions = {}) => {
57
+ const options = (0, import_options.resolveOptions)(userOptions);
58
+ return {
59
+ canInstrument: false,
60
+ getCacheKey(fileData, filePath, transformOptions) {
61
+ const { config, instrument, configString } = transformOptions;
62
+ return (0, import_crypto.createHash)("md5").update(THIS_FILE).update("\0", "utf8").update(JSON.stringify(options)).update("\0", "utf8").update(fileData).update("\0", "utf8").update((0, import_path.relative)(config.rootDir, filePath)).update("\0", "utf8").update(configString).update("\0", "utf8").update(filePath).update("\0", "utf8").update(instrument ? "instrument" : "").update("\0", "utf8").update(process.env.NODE_ENV || "").digest("hex");
63
+ },
64
+ process(source, path, transformOptions) {
65
+ const { config } = transformOptions;
66
+ if (!isTarget(path))
67
+ return {
68
+ code: source
69
+ };
70
+ let rawCode = source;
71
+ if (rawCode.indexOf("jest.mock(") >= 0) {
72
+ rawCode = require("./transformer").babelTransform({
73
+ sourceText: rawCode,
74
+ sourcePath: path,
75
+ config: transformOptions
76
+ });
77
+ }
78
+ const result = (0, import_esbuild.transformSync)(rawCode, __spreadProps(__spreadValues(__spreadValues({}, options), config.globals["jest-esbuild"]), {
79
+ loader: userOptions.loader || (0, import_path.extname)(path).slice(1),
80
+ sourcefile: path,
81
+ sourcesContent: false
82
+ }));
83
+ if (result.warnings.length) {
84
+ result.warnings.forEach((m) => {
85
+ console.warn(m);
86
+ });
87
+ }
88
+ let { map, code } = result;
89
+ map = __spreadProps(__spreadValues({}, JSON.parse(result.map)), {
90
+ sourcesContent: null
91
+ });
92
+ code = code + "\n//# sourceMappingURL=data:application/json;base64," + Buffer.from(JSON.stringify(map)).toString("base64");
93
+ return { code, map };
94
+ }
95
+ };
96
+ };
97
+ var esbuild_default = {
98
+ createTransformer
99
+ };
100
+ // Annotate the CommonJS export names for ESM import in node:
101
+ 0 && (module.exports = {});
@@ -0,0 +1,2 @@
1
+ import type { ResolvedOptions, UserOptions } from './type';
2
+ export declare function resolveOptions(userOptions: UserOptions): ResolvedOptions;
@@ -0,0 +1,49 @@
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
+
33
+ // src/transformers/esbuild/options.ts
34
+ var options_exports = {};
35
+ __export(options_exports, {
36
+ resolveOptions: () => resolveOptions
37
+ });
38
+ module.exports = __toCommonJS(options_exports);
39
+ function resolveOptions(userOptions) {
40
+ return __spreadValues({
41
+ format: "cjs",
42
+ target: "es2019",
43
+ sourcemap: true
44
+ }, userOptions);
45
+ }
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ resolveOptions
49
+ });
@@ -0,0 +1,2 @@
1
+ export declare function hook(): void;
2
+ export declare function unhook(): void;
@@ -0,0 +1,49 @@
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 = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps(isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, mod2));
20
+ var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2);
21
+
22
+ // src/transformers/esbuild/requireHook.ts
23
+ var requireHook_exports = {};
24
+ __export(requireHook_exports, {
25
+ hook: () => hook,
26
+ unhook: () => unhook
27
+ });
28
+ module.exports = __toCommonJS(requireHook_exports);
29
+ var mod = require("module");
30
+ var hookPropertyMap = /* @__PURE__ */ new Map([
31
+ ["@babel/core", require.resolve("@umijs/bundler-utils/compiled/babel/core")]
32
+ ]);
33
+ var resolveFilename = mod._resolveFilename;
34
+ function hook() {
35
+ mod._resolveFilename = function(request, parent, isMain, options) {
36
+ const hookResolved = hookPropertyMap.get(request);
37
+ if (hookResolved)
38
+ request = hookResolved;
39
+ return resolveFilename.call(mod, request, parent, isMain, options);
40
+ };
41
+ }
42
+ function unhook() {
43
+ mod._resolveFilename = resolveFilename;
44
+ }
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ hook,
48
+ unhook
49
+ });
@@ -0,0 +1,7 @@
1
+ import type { TransformOptions } from '@jest/transform';
2
+ export interface BabelTransformOptions {
3
+ sourceText: string;
4
+ sourcePath: string;
5
+ config: TransformOptions<any>;
6
+ }
7
+ export declare function babelTransform(opts: BabelTransformOptions): string;
@@ -0,0 +1,42 @@
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
+
19
+ // src/transformers/esbuild/transformer.ts
20
+ var transformer_exports = {};
21
+ __export(transformer_exports, {
22
+ babelTransform: () => babelTransform
23
+ });
24
+ module.exports = __toCommonJS(transformer_exports);
25
+ require("./requireHook").hook();
26
+ var { createTransformer } = require("babel-jest");
27
+ require("./requireHook").unhook();
28
+ var { process } = createTransformer({
29
+ plugins: ["@babel/plugin-transform-modules-commonjs"],
30
+ parserOpts: {
31
+ plugins: ["jsx", "typescript"]
32
+ }
33
+ });
34
+ function babelTransform(opts) {
35
+ const { sourceText, sourcePath, config } = opts;
36
+ const babelResult = process(sourceText, sourcePath, config);
37
+ return babelResult.code;
38
+ }
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ babelTransform
42
+ });
@@ -0,0 +1,5 @@
1
+ import type { TransformOptions } from 'esbuild';
2
+ export interface UserOptions extends TransformOptions {
3
+ }
4
+ export interface ResolvedOptions extends TransformOptions {
5
+ }
@@ -0,0 +1,17 @@
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
+
15
+ // src/transformers/esbuild/type.ts
16
+ var type_exports = {};
17
+ module.exports = __toCommonJS(type_exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umijs/test",
3
- "version": "4.0.12",
3
+ "version": "4.0.13",
4
4
  "description": "@umijs/test",
5
5
  "homepage": "https://github.com/umijs/umi/tree/master/packages/testing#readme",
6
6
  "bugs": "https://github.com/umijs/umi/issues",
@@ -21,13 +21,17 @@
21
21
  "dev": "umi-scripts father dev"
22
22
  },
23
23
  "dependencies": {
24
+ "@babel/plugin-transform-modules-commonjs": "7.18.6",
24
25
  "@jest/types": "27.5.1",
26
+ "@umijs/bundler-utils": "4.0.13",
27
+ "babel-jest": "^28.1.3",
25
28
  "esbuild": "0.14.51",
26
29
  "identity-obj-proxy": "3.0.0",
27
- "isomorphic-unfetch": "3.1.0",
28
- "jest-esbuild": "0.2.9"
30
+ "isomorphic-unfetch": "3.1.0"
29
31
  },
30
32
  "devDependencies": {
33
+ "@babel/core": "^7.0.0",
34
+ "@jest/transform": "^28.1.3",
31
35
  "jest": "^27.5.1"
32
36
  },
33
37
  "publishConfig": {