onGenerateModulePreChunk (file, bundle, modules) {
        if (file.dynamicImports.length > 0) {
            return file.generatedCode.replace(/require\.dynamic\((\\)?\'(.*?)(\\)?\'\)/g, (match, escapeLeft, inner, escapeRight) => {
                let foundOutputChunk = bundle.find(b => {
                    // Look for chunks only, not assets
                    let facadeModuleId = /** @type {RollupOutputChunk} */ (b).facadeModuleId;
                    if (facadeModuleId) {
                        return normalizePathDelimiter(facadeModuleId) === inner
                    }
                });

                let fileName = foundOutputChunk? foundOutputChunk.fileName : '';
                return 'require.dynamic(' + (escapeLeft? '\\' : '') + '\'' + fileName + (escapeRight? '\\' : '') +'\', ' + modules[path.normalize(inner)].index + ')';
            });
        }
        
        return file.generatedCode;
    }
@param {NollupInternalModule} file 
@param {RollupOutputFile[]} bundle
@param {Object<string, NollupInternalModule>} modules
@return {string}