@@ -181,7 +181,12 @@ const processCommentPlaceholders = (html: string): string => {
181181
182182// load CommonJS module from code string (evaluated in Node), returns exports
183183const requireFromString = ( code : string , filename : string ) => {
184- const m = new Module . Module ( filename , module . parent as Module ) ;
184+ const m = new Module . Module (
185+ filename ,
186+ process . env . MODERN_LIB_FORMAT === 'esm'
187+ ? undefined
188+ : ( module . parent as Module ) ,
189+ ) ;
185190 m . filename = filename ;
186191 // set proper resolution paths for nested requires
187192 // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -269,10 +274,14 @@ const applyExternalsPlugin = (child: Compiler, compiler: Compiler) => {
269274} ;
270275
271276const generateEntryCode = ( docPath : string , _entryName : string ) : string => {
272- const runtimeAPI = require . resolve ( '../' ) ;
273- const esmRuntimeAPI = runtimeAPI
274- . replace ( `cjs` , `esm` )
275- . replace ( / .j s $ / , '.mjs' ) ;
277+ const runtimeAPI =
278+ process . env . MODERN_LIB_FORMAT === 'esm'
279+ ? // @ts -ignore
280+ import . meta. resolve ( '../index.mjs' )
281+ : require . resolve ( '../' ) ;
282+ const esmRuntimeAPI = runtimeAPI . endsWith ( '.mjs' )
283+ ? runtimeAPI
284+ : runtimeAPI . replace ( `cjs` , `esm` ) . replace ( / \. j s $ / , '.mjs' ) ;
276285
277286 return `import React from 'react';
278287import ReactDomServer from 'react-dom/server';
0 commit comments