@@ -143,26 +143,34 @@ async function load(url, context, nextLoad) {
143143 const baseURL = parsedURL ? parsedURL . href : url ;
144144 const mock = mocks . get ( baseURL ) ;
145145
146+ const original = await nextLoad ( url , context ) ;
146147 debug ( 'load hook, mock = %o' , mock ) ;
147148 if ( mock ?. active !== true ) {
148- return nextLoad ( url ) ;
149+ return original ;
149150 }
150151
151152 // Treat builtins as commonjs because customization hooks do not allow a
152153 // core module to be replaced.
153- const format = mock . format === 'builtin' ? 'commonjs' : mock . format ;
154+ // Also collapse 'commonjs-sync' and 'require-commonjs' to 'commonjs'.
155+ const format = (
156+ original . format === 'builtin' ||
157+ original . format === 'commonjs-sync' ||
158+ original . format === 'require-commonjs' ) ? 'commonjs' : original . format ;
154159
155- return {
160+ const result = {
156161 __proto__ : null ,
157162 format,
158163 shortCircuit : true ,
159- source : await createSourceFromMock ( mock ) ,
164+ source : await createSourceFromMock ( mock , format ) ,
160165 } ;
166+
167+ debug ( 'load hook finished, result = %o' , result ) ;
168+ return result ;
161169}
162170
163- async function createSourceFromMock ( mock ) {
171+ async function createSourceFromMock ( mock , format ) {
164172 // Create mock implementation from provided exports.
165- const { exportNames, format , hasDefaultExport, url } = mock ;
173+ const { exportNames, hasDefaultExport, url } = mock ;
166174 const useESM = format === 'module' ;
167175 const source = `${ testImportSource ( useESM ) }
168176if (!$__test.mock._mockExports.has('${ url } ')) {
0 commit comments