123456789101112131415161718192021222324252627282930313233343536373839404142 |
- "use strict";
- var _vm = _interopRequireDefault(require("vm"));
- var _index = require("./index");
- var _options = require("./options");
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
- // Jest use the `vm` [Module API](https://nodejs.org/api/vm.html#vm_class_vm_module) for ESM.
- // see https://github.com/facebook/jest/issues/9430
- const isSupportEsm = "Module" in _vm.default;
- module.exports = {
- createTransformer: (inputOptions)=>({
- process (src, filename, jestOptions) {
- const jestConfig = getJestConfig(jestOptions);
- let swcTransformOpts = (0, _options).getJestSWCOptions({
- // When target is node it's similar to the server option set in SWC.
- isServer: jestConfig.testEnvironment && jestConfig.testEnvironment === "node",
- filename,
- nextConfig: inputOptions.nextConfig,
- jsConfig: inputOptions.jsConfig,
- resolvedBaseUrl: inputOptions.resolvedBaseUrl,
- pagesDir: inputOptions.pagesDir,
- esm: isSupportEsm && isEsm(Boolean(inputOptions.isEsmProject), filename, jestConfig)
- });
- return (0, _index).transformSync(src, {
- ...swcTransformOpts,
- filename
- });
- }
- })
- };
- function getJestConfig(jestConfig) {
- return "config" in jestConfig ? jestConfig.config : jestConfig;
- }
- function isEsm(isEsmProject, filename, jestConfig) {
- var ref;
- return /\.jsx?$/.test(filename) && isEsmProject || ((ref = jestConfig.extensionsToTreatAsEsm) == null ? void 0 : ref.find((ext)=>filename.endsWith(ext)));
- }
- //# sourceMappingURL=jest-transformer.js.map
|