1- import { readFile , writeFile } from 'node:fs/promises' ;
2- import { sep , join , relative , resolve } from 'node:path' ;
1+ import { writeFile } from 'node:fs/promises' ;
2+ import { sep , join , resolve } from 'node:path' ;
33import importFrom from 'import-from' ;
4- import { logger , optimizedLogger , optimizeTracing } from "./utils/logger.mjs" ;
4+ import { logger , optimizeTracing } from "./utils/logger.mjs" ;
55import { convertPathToImport } from "./utils/resolve-module.mjs" ;
66import { isBuiltinReporter } from "./utils/is-builtin-reporter.mjs" ;
77import { mapSourceToOutputFiles } from "./utils/map-inputs-outputs.mjs" ;
88import { moveJsFile } from "./utils/move-js-file.mjs" ;
99import { pruneDirectory } from "./utils/prune-directory.mjs" ;
1010import { JEST_DEPENDENCIES } from "./utils/jest-dependencies.mjs" ;
1111
12- const passThrough = ( filePath , fileContents ) => fileContents ;
12+ const noop = ( ) => { } ;
1313
1414const __CONTENT = optimizeTracing ( ( log , content , message ) => log . trace (
1515 typeof content === 'object'
@@ -18,16 +18,6 @@ const __CONTENT = optimizeTracing((log, content, message) => log.trace(
1818 message
1919) ) ;
2020
21- const __DIFF = optimizeTracing ( ( log , before , after , message ) => {
22- if ( before !== after ) {
23- __CONTENT ( log , after , message ) ;
24- }
25- } ) ;
26-
27- const __READ = ( log , content ) => __CONTENT ( log , content , 'read file' ) ;
28- const __PREPROCESS = ( log , before , after ) => __DIFF ( log , before , after , 'pre-process file' ) ;
29- const __TRANSFORM = ( log , content ) => __CONTENT ( log , content , 'transform file' ) ;
30- const __POSTPROCESS = ( log , before , after ) => __DIFF ( log , before , after , 'post-process file' ) ;
3121const __FILE_MAPPING_CREATING = ( log , input ) => __CONTENT ( log , input , 'creating file mapping' ) ;
3222const __FILE_MAPPING_CREATED = ( log , input ) => __CONTENT ( log , input , 'created file mapping' ) ;
3323const __JEST_CONFIG = ( log , config ) => __CONTENT ( log , config , 'create jest config' ) ;
@@ -38,8 +28,7 @@ export default ({
3828 globalConfig,
3929 projectConfig,
4030 tests,
41- preTransform = passThrough ,
42- postTransform = passThrough ,
31+ useTransformer = noop ,
4332} ) => {
4433 return {
4534 name : 'jest' ,
@@ -51,25 +40,9 @@ export default ({
5140 const { createScriptTransformer } = importFrom ( rootDir , '@jest/transform' ) ;
5241 const transformer = await createScriptTransformer ( projectConfig ) ;
5342
54- build . onLoad ( { filter : / .* / } , async ( args ) => {
55- const log = optimizedLogger . child ( { tid : [ 'jest-transform' , args . path ] } ) ;
56-
57- return log . trace . complete ( relative ( rootDir , args . path ) , async ( ) => {
58- const fileContent = await readFile ( args . path , 'utf8' ) ;
59- __READ ( log , fileContent ) ;
60-
61- const preprocessed = preTransform ( args . path , fileContent ) ;
62- __PREPROCESS ( log , fileContent , preprocessed ) ;
63-
64- const { code : transformed } = transformer . transformSource ( args . path , preprocessed , { } ) ;
65- __TRANSFORM ( log , transformed ) ;
66-
67- const contents = postTransform ( args . path , transformed ) ;
68- __POSTPROCESS ( log , transformed , contents ) ;
69-
70- const loader = args . path . endsWith ( '.json' ) ? 'json' : 'js' ;
71- return { contents, loader } ;
72- } ) ;
43+ await useTransformer ( {
44+ build,
45+ transformer,
7346 } ) ;
7447
7548 build . onEnd ( async ( result ) => {
0 commit comments