MCPcopy
hub / github.com/jestjs/jest / createTransformer

Function createTransformer

packages/babel-jest/src/index.ts:166–289  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

164 SyncTransformer<TransformerConfig>,
165 TransformerConfig
166> = transformerConfig => {
167 const {excludeJestPreset, ...inputOptions} = transformerConfig ?? {};
168
169 const options = {
170 ...inputOptions,
171 caller: {
172 name: 'babel-jest',
173 supportsDynamicImport: false,
174 supportsExportNamespaceFrom: false,
175 supportsStaticESM: false,
176 supportsTopLevelAwait: false,
177 ...inputOptions.caller,
178 },
179 compact: false,
180 plugins: inputOptions.plugins ?? [],
181 presets: [
182 ...(inputOptions.presets ?? []),
183 ...(excludeJestPreset === true ? [] : [jestPresetPath]),
184 ],
185 sourceMaps: 'both',
186 } satisfies BabelTransformOptions;
187
188 function mergeBabelTransformOptions(
189 filename: string,
190 transformOptions: JestTransformOptions,
191 ): BabelTransformOptions {
192 const {cwd, rootDir} = transformOptions.config;
193 // `cwd` and `root` first to allow incoming options to override it
194 return {
195 cwd,
196 root: rootDir,
197 ...options,
198 caller: {
199 ...options.caller,
200 supportsDynamicImport:
201 transformOptions.supportsDynamicImport ??
202 options.caller.supportsDynamicImport,
203 supportsExportNamespaceFrom:
204 transformOptions.supportsExportNamespaceFrom ??
205 options.caller.supportsExportNamespaceFrom,
206 supportsStaticESM:
207 transformOptions.supportsStaticESM ??
208 options.caller.supportsStaticESM,
209 supportsTopLevelAwait:
210 transformOptions.supportsTopLevelAwait ??
211 options.caller.supportsTopLevelAwait,
212 },
213 filename,
214 };
215 }
216
217 return {
218 canInstrument: true,
219 getCacheKey(sourceText, sourcePath, transformOptions) {
220 const babelOptions = loadBabelConfig(
221 transformOptions.config.cwd,
222 sourcePath,
223 mergeBabelTransformOptions(sourcePath, transformOptions),

Callers 4

defineTestsFunction · 0.90
transformer.jsFile · 0.90
defineTestsFunction · 0.50
transformer.jsFile · 0.50

Calls

no outgoing calls

Tested by 2

defineTestsFunction · 0.72
defineTestsFunction · 0.40