@modern-js/module-tools 2.26.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/build.js.map +1 -1
  3. package/dist/builder/build.js +6 -6
  4. package/dist/builder/build.js.map +1 -1
  5. package/dist/builder/clear.js.map +1 -1
  6. package/dist/builder/copy.js +4 -4
  7. package/dist/builder/copy.js.map +1 -1
  8. package/dist/builder/dts/rollup.js.map +1 -1
  9. package/dist/builder/dts/tsc.js.map +1 -1
  10. package/dist/builder/index.js +4 -0
  11. package/dist/builder/index.js.map +1 -1
  12. package/dist/builder/platform.js.map +1 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/command.js.map +1 -1
  15. package/dist/config/legacySchema.js.map +1 -1
  16. package/dist/config/normalize.js.map +1 -1
  17. package/dist/config/schema.js.map +1 -1
  18. package/dist/config/transformLegacyConfig.js.map +1 -1
  19. package/dist/constants/buildPresets.js.map +1 -1
  20. package/dist/dev.js.map +1 -1
  21. package/dist/error.js.map +1 -1
  22. package/dist/plugins.js.map +1 -1
  23. package/dist/utils/builder.js.map +1 -1
  24. package/dist/utils/common.js.map +1 -1
  25. package/dist/utils/config.js.map +1 -1
  26. package/dist/utils/context.js.map +1 -1
  27. package/dist/utils/dts.js.map +1 -1
  28. package/dist/utils/input.js +1 -1
  29. package/dist/utils/input.js.map +1 -1
  30. package/dist/utils/language.js.map +1 -1
  31. package/dist/utils/libuildPlugins.js.map +1 -1
  32. package/dist/utils/log.js.map +1 -1
  33. package/dist/utils/onExit.js.map +1 -1
  34. package/dist/utils/path.js.map +1 -1
  35. package/dist/utils/print.js.map +1 -1
  36. package/dist/utils/style.js +6 -6
  37. package/dist/utils/style.js.map +1 -1
  38. package/dist/utils/tspathsTransform.js.map +1 -1
  39. package/package.json +27 -23
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;;;;;;;;;EAIaA,aAAW;WAAXA;;EAuBAC,gBAAc;WAAdA;;;;wBA3BU;AAIhB,MAAMD,cAAc,CACzBE,KACAC,WACkB;AAClB,SAAO;IACLC,MAAM;IACNC,MAAMC,UAAU;AACdA,eAASC,MAAMC,YAAYC,IAAI,gBAAgB,YAAY;AACzD,cAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,cAAM,EAAEC,mBAAkB,IAAK,MAAM,iFAAO;AAC5C,cAAMC,YAAY,IAChBT,OAAOU,cAAc,WAAW,WAAW,gBACzCV,OAAOW,UAAUX,OAAOY;AAE5BC,uBAAOC,KAAK,MAAMP,kBAAkBE,WAAWD,mBAAmBO,GAAG;AAErE,cAAMC,SAASjB,IAAIkB,eAAc;AACjCD,eAAOE,aAAa;UAAEC,aAAanB;QAAO;MAC5C;IACF;EACF;AACF;AAEO,MAAMF,iBAAiB,CAC5BE,QACAoB,YACkB;AAClB,SAAO;IACLnB,MAAM;IACNC,MAAMC,UAAU;AACdA,eAASC,MAAMiB,WAAWC,WAAW,mBAAmB,YAAY;AAClE,cAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,cAAMC,iBAAiB,MAAMD,kBAAkBvB,QAAQoB;AACvDjB,iBAASH,OAAOyB,WAAWD;MAC7B;IACF;EACF;AACF;","names":["watchPlugin","externalPlugin","api","config","name","apply","compiler","hooks","watchChange","tap","watchSectionTitle","SectionTitleStatus","titleText","buildType","format","target","logger","info","Log","runner","useHookRunners","buildWatchJs","buildConfig","options","initialize","tapPromise","getFinalExternals","finalExternals","external"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/libuildPlugins.ts"],"sourcesContent":["import { logger } from '@modern-js/utils/logger';\nimport type { LibuildPlugin } from '@modern-js/libuild';\nimport type { BaseBuildConfig, PluginAPI, ModuleTools } from '../types';\n\nexport const watchPlugin = (\n api: PluginAPI<ModuleTools>,\n config: BaseBuildConfig,\n): LibuildPlugin => {\n return {\n name: 'watch-plugin',\n apply(compiler) {\n compiler.hooks.watchChange.tap('watch-plugin', async () => {\n const { watchSectionTitle } = await import('./log');\n const { SectionTitleStatus } = await import('../constants/log');\n const titleText = `[${\n config.buildType === 'bundle' ? 'Bundle' : 'Bundleless'\n }:${config.format}_${config.target}]`;\n\n logger.info(await watchSectionTitle(titleText, SectionTitleStatus.Log));\n\n const runner = api.useHookRunners();\n runner.buildWatchJs({ buildConfig: config });\n });\n },\n };\n};\n\nexport const externalPlugin = (\n config: BaseBuildConfig,\n options: { appDirectory: string },\n): LibuildPlugin => {\n return {\n name: 'external-plugin',\n apply(compiler) {\n compiler.hooks.initialize.tapPromise('external-plugin', async () => {\n const { getFinalExternals } = await import('./builder');\n const finalExternals = await getFinalExternals(config, options);\n compiler.config.external = finalExternals;\n });\n },\n };\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;;;;;;;;;EAIaA,aAAW;WAAXA;;EAuBAC,gBAAc;WAAdA;;;;wBA3BU;AAIhB,MAAMD,cAAc,CACzBE,KACAC;AAEA,SAAO;IACLC,MAAM;IACNC,MAAMC,UAAQ;AACZA,eAASC,MAAMC,YAAYC,IAAI,gBAAgB;AAC7C,cAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,cAAM,EAAEC,mBAAkB,IAAK,MAAM,iFAAO;AAC5C,cAAMC,YAAY,IAChBT,OAAOU,cAAc,WAAW,WAAW,gBACzCV,OAAOW,UAAUX,OAAOY;AAE5BC,uBAAOC,KAAK,MAAMP,kBAAkBE,WAAWD,mBAAmBO,GAAG;AAErE,cAAMC,SAASjB,IAAIkB,eAAc;AACjCD,eAAOE,aAAa;UAAEC,aAAanB;QAAO;MAC5C;IACF;EACF;AACF;AAEO,MAAMF,iBAAiB,CAC5BE,QACAoB;AAEA,SAAO;IACLnB,MAAM;IACNC,MAAMC,UAAQ;AACZA,eAASC,MAAMiB,WAAWC,WAAW,mBAAmB;AACtD,cAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,cAAMC,iBAAiB,MAAMD,kBAAkBvB,QAAQoB;AACvDjB,iBAASH,OAAOyB,WAAWD;MAC7B;IACF;EACF;AACF;","names":["watchPlugin","externalPlugin","api","config","name","apply","compiler","hooks","watchChange","tap","watchSectionTitle","SectionTitleStatus","titleText","buildType","format","target","logger","info","Log","runner","useHookRunners","buildWatchJs","buildConfig","options","initialize","tapPromise","getFinalExternals","finalExternals","external"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/libuildPlugins.ts"],"sourcesContent":["import { logger } from '@modern-js/utils/logger';\nimport type { LibuildPlugin } from '@modern-js/libuild';\nimport type { BaseBuildConfig, PluginAPI, ModuleTools } from '../types';\n\nexport const watchPlugin = (\n api: PluginAPI<ModuleTools>,\n config: BaseBuildConfig,\n): LibuildPlugin => {\n return {\n name: 'watch-plugin',\n apply(compiler) {\n compiler.hooks.watchChange.tap('watch-plugin', async () => {\n const { watchSectionTitle } = await import('./log');\n const { SectionTitleStatus } = await import('../constants/log');\n const titleText = `[${\n config.buildType === 'bundle' ? 'Bundle' : 'Bundleless'\n }:${config.format}_${config.target}]`;\n\n logger.info(await watchSectionTitle(titleText, SectionTitleStatus.Log));\n\n const runner = api.useHookRunners();\n runner.buildWatchJs({ buildConfig: config });\n });\n },\n };\n};\n\nexport const externalPlugin = (\n config: BaseBuildConfig,\n options: { appDirectory: string },\n): LibuildPlugin => {\n return {\n name: 'external-plugin',\n apply(compiler) {\n compiler.hooks.initialize.tapPromise('external-plugin', async () => {\n const { getFinalExternals } = await import('./builder');\n const finalExternals = await getFinalExternals(config, options);\n compiler.config.external = finalExternals;\n });\n },\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;+BAEaA;;;WAAAA;;;;qBAFsB;AAE5B,MAAMA,oBAAoB,OAC/BC,KACAC,QACAC,cACG;AACH,QAAM,EAAEC,MAAK,IAAK,MAAM,iFAAO;AAC/B,MAAIF,WAAWG,wBAAmBC,SAAS;AACzC,WAAO,GAAGF,MAAMG,KAAKN,QAAQG,MAAMI,MAAM;EAC3C,WAAWN,WAAWG,wBAAmBI,MAAM;AAC7C,WAAO,GAAGL,MAAMG,KAAKN,QAAQG,MAAMM,IAAI;EACzC;AAEA,SAAO,GAAGN,MAAMG,KAAKN,QAAQE,YAAYA,YAAY;AACvD;","names":["watchSectionTitle","str","status","detailLog","chalk","SectionTitleStatus","Success","gray","green","Fail","red"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/log.ts"],"sourcesContent":["import { SectionTitleStatus } from '../constants/log';\n\nexport const watchSectionTitle = async (\n str: string,\n status: SectionTitleStatus,\n detailLog?: string,\n) => {\n const { chalk } = await import('@modern-js/utils');\n if (status === SectionTitleStatus.Success) {\n return `${chalk.gray(str)} ${chalk.green('Successful')}`;\n } else if (status === SectionTitleStatus.Fail) {\n return `${chalk.gray(str)} ${chalk.red('Build Failed')}`;\n }\n\n return `${chalk.gray(str)} ${detailLog ? detailLog : 'Log:'}`;\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;+BAEaA;;;WAAAA;;;;qBAFsB;AAE5B,MAAMA,oBAAoB,OAC/BC,KACAC,QACAC;AAEA,QAAM,EAAEC,MAAK,IAAK,MAAM,iFAAO;AAC/B,MAAIF,WAAWG,wBAAmBC,SAAS;AACzC,WAAO,GAAGF,MAAMG,KAAKN,QAAQG,MAAMI,MAAM;EAC3C,WAAWN,WAAWG,wBAAmBI,MAAM;AAC7C,WAAO,GAAGL,MAAMG,KAAKN,QAAQG,MAAMM,IAAI;EACzC;AAEA,SAAO,GAAGN,MAAMG,KAAKN,QAAQE,YAAYA,YAAY;AACvD;","names":["watchSectionTitle","str","status","detailLog","chalk","SectionTitleStatus","Success","gray","green","Fail","red"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/log.ts"],"sourcesContent":["import { SectionTitleStatus } from '../constants/log';\n\nexport const watchSectionTitle = async (\n str: string,\n status: SectionTitleStatus,\n detailLog?: string,\n) => {\n const { chalk } = await import('@modern-js/utils');\n if (status === SectionTitleStatus.Success) {\n return `${chalk.gray(str)} ${chalk.green('Successful')}`;\n } else if (status === SectionTitleStatus.Fail) {\n return `${chalk.gray(str)} ${chalk.red('Build Failed')}`;\n }\n\n return `${chalk.gray(str)} ${detailLog ? detailLog : 'Log:'}`;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;+BAAaA;;;WAAAA;;;;AAAN,MAAMA,kBAAkB,OAAOC,OAA4B;AAChE,QAAM,EAAEC,SAASC,OAAM,IAAK,MAAM,iFAAO;AAEzCA,SAAO,OAAMC,SAAQ;AACnB,QAAIA,SAAS,GAAG;AACd;IACF;AAEA,UAAMH;EACR;AACF;","names":["addExitListener","fn","default","onExit","code"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/onExit.ts"],"sourcesContent":["export const addExitListener = async (fn: () => Promise<void>) => {\n const { default: onExit } = await import('../../compiled/signal-exit');\n\n onExit(async code => {\n if (code === 0) {\n return;\n }\n\n await fn();\n });\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;+BAAaA;;;WAAAA;;;;AAAN,MAAMA,kBAAkB,OAAOC;AACpC,QAAM,EAAEC,SAASC,OAAM,IAAK,MAAM,iFAAO;AAEzCA,SAAO,OAAMC;AACX,QAAIA,SAAS,GAAG;AACd;IACF;AAEA,UAAMH;EACR;AACF;","names":["addExitListener","fn","default","onExit","code"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/onExit.ts"],"sourcesContent":["export const addExitListener = async (fn: () => Promise<void>) => {\n const { default: onExit } = await import('../../compiled/signal-exit');\n\n onExit(async code => {\n if (code === 0) {\n return;\n }\n\n await fn();\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;+BAEaA;;;WAAAA;;;;;iEAFI;AAEV,MAAMA,kBAAkB,OAAOC,gBAAwB;AAC5D,QAAM,EAAEC,MAAK,IAAK,MAAM,iFAAO;AAC/B,SAAOA,MAAMC,cAAKC,KAAKC,WAAW,kBAAkBJ;AACtD;","names":["getCompiledPath","packageName","slash","path","join","__dirname"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/path.ts"],"sourcesContent":["import path from 'path';\n\nexport const getCompiledPath = async (packageName: string) => {\n const { slash } = await import('@modern-js/utils');\n return slash(path.join(__dirname, '../../compiled', packageName));\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;+BAEaA;;;WAAAA;;;;;iEAFI;AAEV,MAAMA,kBAAkB,OAAOC;AACpC,QAAM,EAAEC,MAAK,IAAK,MAAM,iFAAO;AAC/B,SAAOA,MAAMC,cAAKC,KAAKC,WAAW,kBAAkBJ;AACtD;","names":["getCompiledPath","packageName","slash","path","join","__dirname"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/path.ts"],"sourcesContent":["import path from 'path';\n\nexport const getCompiledPath = async (packageName: string) => {\n const { slash } = await import('@modern-js/utils');\n return slash(path.join(__dirname, '../../compiled', packageName));\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":["bundleFiles","bundlelessFiles","addOutputChunk","addRollupChunk","addDtsFiles","printFileSize","printSucceed","outputChunk","appDirectory","isBundle","files","Array","from","map","val","path","chunk","name","relative","size","contents","length","push","rollupOutput","distDir","output","o","resolve","fileName","code","fastGlob","slash","stats","file","printBundlelessInfo","printBundleFiles","totalDuration","time","chalk","cyan","logger","info","buildSuccessText","prettyBytes","bytes","unit","exp","Math","floor","log","pow","toFixed","longestFileLength","reduce","max","str","reportFile1LineText","headerRow","repeat","reportFile2LineText","bold","green","forEach","infoRow","count","totalSize","total"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/print.ts"],"sourcesContent":["import { relative, resolve } from 'path';\nimport type { ILibuilder } from '@modern-js/libuild';\nimport { chalk, logger } from '@modern-js/utils';\nimport type {\n RollupOutput,\n OutputChunk,\n} from '../../compiled/rollup/types/rollup';\nimport {\n buildSuccessText,\n reportFile1LineText,\n reportFile2LineText,\n} from '../constants/log';\n\ntype Files = {\n name: string;\n size: number;\n};\n\nexport const bundleFiles: Files[] = [];\n\nexport const bundlelessFiles: Files[] = [];\n\nexport const addOutputChunk = (\n outputChunk: ILibuilder['outputChunk'],\n appDirectory: string,\n isBundle: boolean,\n) => {\n const files = Array.from(outputChunk).map(val => {\n const [path, chunk] = val;\n return {\n name: relative(appDirectory, path),\n size: chunk.contents.length,\n };\n });\n if (isBundle) {\n bundleFiles.push(...files);\n } else {\n bundlelessFiles.push(...files);\n }\n};\n\nexport const addRollupChunk = (\n rollupOutput: RollupOutput,\n appDirectory: string,\n distDir: string,\n) => {\n const { output } = rollupOutput;\n bundleFiles.push(\n ...output.map(o => {\n return {\n name: relative(appDirectory, resolve(distDir, o.fileName)),\n // only d.ts, is outputChunk not outputAsset\n size: (o as OutputChunk).code.length,\n };\n }),\n );\n};\n\nexport const addDtsFiles = async (distDir: string, appDirectory: string) => {\n const { fastGlob, slash } = await import('@modern-js/utils');\n const files = await fastGlob(`${slash(distDir)}**/*.d.ts`, {\n stats: true,\n });\n bundlelessFiles.push(\n ...files.map(file => {\n return {\n name: relative(appDirectory, file.path),\n size: file.stats.size,\n };\n }),\n );\n};\n\nexport const printFileSize = () => {\n printBundlelessInfo();\n printBundleFiles();\n};\n\nexport const printSucceed = (totalDuration: number) => {\n const time = chalk.cyan(`${totalDuration / 1000}s`);\n logger.info(`${buildSuccessText} in ${time}`);\n};\n\nconst prettyBytes = (bytes: number) => {\n if (bytes === 0) {\n return '0 B';\n }\n const unit = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const exp = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, exp)).toFixed(2)} ${unit[exp]}`;\n};\n\nconst printBundleFiles = () => {\n if (bundleFiles.length === 0) {\n return;\n }\n const longestFileLength = bundleFiles.reduce(\n (max, str) => Math.max(max, str.name.length),\n reportFile1LineText.length,\n );\n\n logger.info(`Bundle generated ${bundleFiles.length} files\\n`);\n\n const headerRow =\n reportFile1LineText +\n ' '.repeat(longestFileLength - 10) +\n reportFile2LineText;\n logger.log(chalk.bold(chalk.green(headerRow)));\n\n bundleFiles.forEach(({ name, size }) => {\n const infoRow = `${name}${' '.repeat(\n longestFileLength - name.length + 2,\n )}${prettyBytes(size)}`;\n logger.log(infoRow);\n });\n};\n\nconst printBundlelessInfo = () => {\n if (bundlelessFiles.length === 0) {\n return;\n }\n\n const count = bundlelessFiles.length;\n const totalSize = bundlelessFiles.reduce((total, file) => {\n return total + file.size;\n }, 0);\n const info = `Bundleless generated ${count} files, the total size is ${chalk.cyan(\n prettyBytes(totalSize),\n )}`;\n logger.info(info);\n};\n"]}
1
+ {"version":3,"file":null,"mappings":"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","names":["bundleFiles","bundlelessFiles","addOutputChunk","addRollupChunk","addDtsFiles","printFileSize","printSucceed","outputChunk","appDirectory","isBundle","files","Array","from","map","val","path","chunk","name","relative","size","contents","length","push","rollupOutput","distDir","output","o","resolve","fileName","code","fastGlob","slash","stats","file","printBundlelessInfo","printBundleFiles","totalDuration","time","chalk","cyan","logger","info","buildSuccessText","prettyBytes","bytes","unit","exp","Math","floor","log","pow","toFixed","longestFileLength","reduce","max","str","reportFile1LineText","headerRow","repeat","reportFile2LineText","bold","green","forEach","infoRow","count","totalSize","total"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/print.ts"],"sourcesContent":["import { relative, resolve } from 'path';\nimport type { ILibuilder } from '@modern-js/libuild';\nimport { chalk, logger } from '@modern-js/utils';\nimport type {\n RollupOutput,\n OutputChunk,\n} from '../../compiled/rollup/types/rollup';\nimport {\n buildSuccessText,\n reportFile1LineText,\n reportFile2LineText,\n} from '../constants/log';\n\ntype Files = {\n name: string;\n size: number;\n};\n\nexport const bundleFiles: Files[] = [];\n\nexport const bundlelessFiles: Files[] = [];\n\nexport const addOutputChunk = (\n outputChunk: ILibuilder['outputChunk'],\n appDirectory: string,\n isBundle: boolean,\n) => {\n const files = Array.from(outputChunk).map(val => {\n const [path, chunk] = val;\n return {\n name: relative(appDirectory, path),\n size: chunk.contents.length,\n };\n });\n if (isBundle) {\n bundleFiles.push(...files);\n } else {\n bundlelessFiles.push(...files);\n }\n};\n\nexport const addRollupChunk = (\n rollupOutput: RollupOutput,\n appDirectory: string,\n distDir: string,\n) => {\n const { output } = rollupOutput;\n bundleFiles.push(\n ...output.map(o => {\n return {\n name: relative(appDirectory, resolve(distDir, o.fileName)),\n // only d.ts, is outputChunk not outputAsset\n size: (o as OutputChunk).code.length,\n };\n }),\n );\n};\n\nexport const addDtsFiles = async (distDir: string, appDirectory: string) => {\n const { fastGlob, slash } = await import('@modern-js/utils');\n const files = await fastGlob(`${slash(distDir)}**/*.d.ts`, {\n stats: true,\n });\n bundlelessFiles.push(\n ...files.map(file => {\n return {\n name: relative(appDirectory, file.path),\n size: file.stats.size,\n };\n }),\n );\n};\n\nexport const printFileSize = () => {\n printBundlelessInfo();\n printBundleFiles();\n};\n\nexport const printSucceed = (totalDuration: number) => {\n const time = chalk.cyan(`${totalDuration / 1000}s`);\n logger.info(`${buildSuccessText} in ${time}`);\n};\n\nconst prettyBytes = (bytes: number) => {\n if (bytes === 0) {\n return '0 B';\n }\n const unit = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const exp = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, exp)).toFixed(2)} ${unit[exp]}`;\n};\n\nconst printBundleFiles = () => {\n if (bundleFiles.length === 0) {\n return;\n }\n const longestFileLength = bundleFiles.reduce(\n (max, str) => Math.max(max, str.name.length),\n reportFile1LineText.length,\n );\n\n logger.info(`Bundle generated ${bundleFiles.length} files\\n`);\n\n const headerRow =\n reportFile1LineText +\n ' '.repeat(longestFileLength - 10) +\n reportFile2LineText;\n logger.log(chalk.bold(chalk.green(headerRow)));\n\n bundleFiles.forEach(({ name, size }) => {\n const infoRow = `${name}${' '.repeat(\n longestFileLength - name.length + 2,\n )}${prettyBytes(size)}`;\n logger.log(infoRow);\n });\n};\n\nconst printBundlelessInfo = () => {\n if (bundlelessFiles.length === 0) {\n return;\n }\n\n const count = bundlelessFiles.length;\n const totalSize = bundlelessFiles.reduce((total, file) => {\n return total + file.size;\n }, 0);\n const info = `Bundleless generated ${count} files, the total size is ${chalk.cyan(\n prettyBytes(totalSize),\n )}`;\n logger.info(info);\n};\n"]}
@@ -25,7 +25,7 @@ _export(exports, {
25
25
  });
26
26
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
27
27
  const getLessConfig = async (config) => {
28
- var _config_style;
28
+ var _config_style, _config;
29
29
  const { applyOptionsChain } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/utils")));
30
30
  const { getCompiledPath } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./path")));
31
31
  const mergedOptions = applyOptionsChain({
@@ -33,20 +33,20 @@ const getLessConfig = async (config) => {
33
33
  javascriptEnabled: true
34
34
  },
35
35
  implementation: await getCompiledPath("less")
36
- }, (config === null || config === void 0 ? void 0 : (_config_style = config.style) === null || _config_style === void 0 ? void 0 : _config_style.less) || {});
36
+ }, ((_config = config) === null || _config === void 0 ? void 0 : (_config_style = _config.style) === null || _config_style === void 0 ? void 0 : _config_style.less) || {});
37
37
  return mergedOptions;
38
38
  };
39
39
  const getSassConfig = async (config) => {
40
- var _config_style;
40
+ var _config_style, _config;
41
41
  const { applyOptionsChain } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/utils")));
42
42
  const { getCompiledPath } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./path")));
43
43
  const mergedOptions = applyOptionsChain({
44
44
  implementation: await getCompiledPath("sass")
45
- }, (config === null || config === void 0 ? void 0 : (_config_style = config.style) === null || _config_style === void 0 ? void 0 : _config_style.sass) || {});
45
+ }, ((_config = config) === null || _config === void 0 ? void 0 : (_config_style = _config.style) === null || _config_style === void 0 ? void 0 : _config_style.sass) || {});
46
46
  return mergedOptions;
47
47
  };
48
48
  const getPostcssConfig = async (config) => {
49
- var _config_style;
49
+ var _config_style, _config;
50
50
  const { applyOptionsChain } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/utils")));
51
51
  const { getCompiledPath } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./path")));
52
52
  const extraPlugins = [];
@@ -75,7 +75,7 @@ const getPostcssConfig = async (config) => {
75
75
  require(await getCompiledPath("postcss-media-minmax")),
76
76
  require(await getCompiledPath("postcss-nesting"))
77
77
  ].filter(Boolean)
78
- }, (config === null || config === void 0 ? void 0 : (_config_style = config.style) === null || _config_style === void 0 ? void 0 : _config_style.postcss) || {}, utils);
78
+ }, ((_config = config) === null || _config === void 0 ? void 0 : (_config_style = _config.style) === null || _config_style === void 0 ? void 0 : _config_style.postcss) || {}, utils);
79
79
  if (extraPlugins.length) {
80
80
  mergedConfig.plugins.push(...extraPlugins);
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;;;;;;;;;EASaA,eAAa;WAAbA;;EAeAC,eAAa;WAAbA;;EAcAC,kBAAgB;WAAhBA;;EA+CAC,gBAAc;WAAdA;;;;AA5EN,MAAMH,gBAAgB,OAAOI,WAAmC;MASnEA;AARF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEG,aAAa;MAAEC,mBAAmB;IAAK;IACvCC,gBAAgB,MAAMJ,gBAAgB;EACxC,IACAF,wEAAQO,WAAK,QAAbP,kDAAeQ,SAAQ,CAAC;AAG1B,SAAOL;AACT;AAEO,MAAMN,gBAAgB,OAAOG,WAAmC;MAQnEA;AAPF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEK,gBAAgB,MAAMJ,gBAAgB;EACxC,IACAF,wEAAQO,WAAK,QAAbP,kDAAeS,SAAQ,CAAC;AAG1B,SAAON;AACT;AAEO,MAAML,mBAAmB,OAAOE,WAAmC;MAqCtEA;AApCF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AACzC,QAAMQ,eAAiC;AAEvC,QAAMC,QAAQ;IACZC,WAAWC,SAA4C;AACrD,UAAIC,MAAMC,QAAQF,UAAU;AAC1BH,qBAAaM,KAAI,GAAIH;MACvB,OAAO;AACLH,qBAAaM,KAAKH;MACpB;IACF;EACF;AAEA,QAAMI,uBAAuBjB,OAAOkB,WAAW;AAC/C,QAAMC,0BAA0B,YAAY;IAC1CC,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;;AAGhC,QAAMmB,eAAepB,kBAInB;;;IAGEY,SAAS;SACHI,uBAAuB,MAAME,4BAA4B;MAC7DC,QAAQ,MAAMlB,gBAAgB;MAC9BkB,QAAQ,MAAMlB,gBAAgB;MAC9BkB,QAAQ,MAAMlB,gBAAgB;MAC9BoB,OAAOC;EACX,IACAvB,wEAAQO,WAAK,QAAbP,kDAAewB,YAAW,CAAC,GAC3Bb;AAEF,MAAID,aAAae,QAAQ;AACvBJ,iBAAaR,QAASG,KAAI,GAAIN;EAChC;AAEA,SAAOW;AACT;AAEO,MAAMtB,iBAAiB,OAAOC,WAAmC;AACtE,QAAM0B,gBAAgB,MAAM5B,iBAAiBE;AAC7C,QAAM2B,aAAa,MAAM/B,cAAcI;AACvC,QAAM4B,aAAa,MAAM/B,cAAcG;AACvC,SAAO;IACLQ,MAAMmB;IACNlB,MAAMmB;IACNJ,SAASE;EACX;AACF;","names":["getLessConfig","getSassConfig","getPostcssConfig","getStyleConfig","config","applyOptionsChain","getCompiledPath","mergedOptions","lessOptions","javascriptEnabled","implementation","style","less","sass","extraPlugins","utils","addPlugins","plugins","Array","isArray","push","targetLegacyBrowsers","target","getLegacyPostCSSPlugins","require","mergedConfig","filter","Boolean","postcss","length","postcssConfig","lessConfig","sassConfig"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/style.ts"],"sourcesContent":["import type { AcceptedPlugin } from 'postcss';\nimport type { PostcssOptions } from '@modern-js/libuild';\nimport type {\n PartialBaseBuildConfig,\n PostCSSConfigUtils,\n LessOptions,\n SassOptions,\n} from '../types';\n\nexport const getLessConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<LessOptions, never>(\n {\n lessOptions: { javascriptEnabled: true },\n implementation: await getCompiledPath('less'),\n },\n config?.style?.less || {},\n );\n\n return mergedOptions;\n};\n\nexport const getSassConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<SassOptions, never>(\n {\n implementation: await getCompiledPath('sass'),\n },\n config?.style?.sass || {},\n );\n\n return mergedOptions;\n};\n\nexport const getPostcssConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n const extraPlugins: AcceptedPlugin[] = [];\n\n const utils = {\n addPlugins(plugins: AcceptedPlugin | AcceptedPlugin[]) {\n if (Array.isArray(plugins)) {\n extraPlugins.push(...plugins);\n } else {\n extraPlugins.push(plugins);\n }\n },\n };\n\n const targetLegacyBrowsers = config.target === 'es5';\n const getLegacyPostCSSPlugins = async () => [\n require(await getCompiledPath('postcss-custom-properties')),\n require(await getCompiledPath('postcss-initial')),\n require(await getCompiledPath('postcss-page-break')),\n require(await getCompiledPath('postcss-font-variant')),\n ];\n\n const mergedConfig = applyOptionsChain<\n PostcssOptions & { $$tools?: string },\n PostCSSConfigUtils\n >(\n {\n // TODO: when schema support redefine\n // $$tools: 'module-tools',\n plugins: [\n ...(targetLegacyBrowsers ? await getLegacyPostCSSPlugins() : []),\n require(await getCompiledPath('postcss-flexbugs-fixes')),\n require(await getCompiledPath('postcss-media-minmax')),\n require(await getCompiledPath('postcss-nesting')),\n ].filter(Boolean),\n },\n config?.style?.postcss || {},\n utils,\n );\n if (extraPlugins.length) {\n mergedConfig.plugins!.push(...extraPlugins);\n }\n\n return mergedConfig;\n};\n\nexport const getStyleConfig = async (config: PartialBaseBuildConfig) => {\n const postcssConfig = await getPostcssConfig(config);\n const lessConfig = await getLessConfig(config);\n const sassConfig = await getSassConfig(config);\n return {\n less: lessConfig,\n sass: sassConfig,\n postcss: postcssConfig,\n };\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;;;;;;;;;EASaA,eAAa;WAAbA;;EAeAC,eAAa;WAAbA;;EAcAC,kBAAgB;WAAhBA;;EA+CAC,gBAAc;WAAdA;;;;AA5EN,MAAMH,gBAAgB,OAAOI;MAShCA;AARF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEG,aAAa;MAAEC,mBAAmB;IAAK;IACvCC,gBAAgB,MAAMJ,gBAAgB;EACxC,KACAF,qFAAQO,WAAK,QAAbP,kDAAeQ,SAAQ,CAAC;AAG1B,SAAOL;AACT;AAEO,MAAMN,gBAAgB,OAAOG;MAQhCA;AAPF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEK,gBAAgB,MAAMJ,gBAAgB;EACxC,KACAF,qFAAQO,WAAK,QAAbP,kDAAeS,SAAQ,CAAC;AAG1B,SAAON;AACT;AAEO,MAAML,mBAAmB,OAAOE;MAqCnCA;AApCF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AACzC,QAAMQ,eAAiC;AAEvC,QAAMC,QAAQ;IACZC,WAAWC,SAA0C;AACnD,UAAIC,MAAMC,QAAQF,UAAU;AAC1BH,qBAAaM,KAAI,GAAIH;MACvB,OAAO;AACLH,qBAAaM,KAAKH;MACpB;IACF;EACF;AAEA,QAAMI,uBAAuBjB,OAAOkB,WAAW;AAC/C,QAAMC,0BAA0B,YAAY;IAC1CC,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;;AAGhC,QAAMmB,eAAepB,kBAInB;;;IAGEY,SAAS;SACHI,uBAAuB,MAAME,4BAA4B;MAC7DC,QAAQ,MAAMlB,gBAAgB;MAC9BkB,QAAQ,MAAMlB,gBAAgB;MAC9BkB,QAAQ,MAAMlB,gBAAgB;MAC9BoB,OAAOC;EACX,KACAvB,qFAAQO,WAAK,QAAbP,kDAAewB,YAAW,CAAC,GAC3Bb;AAEF,MAAID,aAAae,QAAQ;AACvBJ,iBAAaR,QAASG,KAAI,GAAIN;EAChC;AAEA,SAAOW;AACT;AAEO,MAAMtB,iBAAiB,OAAOC;AACnC,QAAM0B,gBAAgB,MAAM5B,iBAAiBE;AAC7C,QAAM2B,aAAa,MAAM/B,cAAcI;AACvC,QAAM4B,aAAa,MAAM/B,cAAcG;AACvC,SAAO;IACLQ,MAAMmB;IACNlB,MAAMmB;IACNJ,SAASE;EACX;AACF;","names":["getLessConfig","getSassConfig","getPostcssConfig","getStyleConfig","config","applyOptionsChain","getCompiledPath","mergedOptions","lessOptions","javascriptEnabled","implementation","style","less","sass","extraPlugins","utils","addPlugins","plugins","Array","isArray","push","targetLegacyBrowsers","target","getLegacyPostCSSPlugins","require","mergedConfig","filter","Boolean","postcss","length","postcssConfig","lessConfig","sassConfig"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/style.ts"],"sourcesContent":["import type { AcceptedPlugin } from 'postcss';\nimport type { PostcssOptions } from '@modern-js/libuild';\nimport type {\n PartialBaseBuildConfig,\n PostCSSConfigUtils,\n LessOptions,\n SassOptions,\n} from '../types';\n\nexport const getLessConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<LessOptions, never>(\n {\n lessOptions: { javascriptEnabled: true },\n implementation: await getCompiledPath('less'),\n },\n config?.style?.less || {},\n );\n\n return mergedOptions;\n};\n\nexport const getSassConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<SassOptions, never>(\n {\n implementation: await getCompiledPath('sass'),\n },\n config?.style?.sass || {},\n );\n\n return mergedOptions;\n};\n\nexport const getPostcssConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n const extraPlugins: AcceptedPlugin[] = [];\n\n const utils = {\n addPlugins(plugins: AcceptedPlugin | AcceptedPlugin[]) {\n if (Array.isArray(plugins)) {\n extraPlugins.push(...plugins);\n } else {\n extraPlugins.push(plugins);\n }\n },\n };\n\n const targetLegacyBrowsers = config.target === 'es5';\n const getLegacyPostCSSPlugins = async () => [\n require(await getCompiledPath('postcss-custom-properties')),\n require(await getCompiledPath('postcss-initial')),\n require(await getCompiledPath('postcss-page-break')),\n require(await getCompiledPath('postcss-font-variant')),\n ];\n\n const mergedConfig = applyOptionsChain<\n PostcssOptions & { $$tools?: string },\n PostCSSConfigUtils\n >(\n {\n // TODO: when schema support redefine\n // $$tools: 'module-tools',\n plugins: [\n ...(targetLegacyBrowsers ? await getLegacyPostCSSPlugins() : []),\n require(await getCompiledPath('postcss-flexbugs-fixes')),\n require(await getCompiledPath('postcss-media-minmax')),\n require(await getCompiledPath('postcss-nesting')),\n ].filter(Boolean),\n },\n config?.style?.postcss || {},\n utils,\n );\n if (extraPlugins.length) {\n mergedConfig.plugins!.push(...extraPlugins);\n }\n\n return mergedConfig;\n};\n\nexport const getStyleConfig = async (config: PartialBaseBuildConfig) => {\n const postcssConfig = await getPostcssConfig(config);\n const lessConfig = await getLessConfig(config);\n const sassConfig = await getSassConfig(config);\n return {\n less: lessConfig,\n sass: sassConfig,\n postcss: postcssConfig,\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;+BAmHaA;;;WAAAA;;;;;kEAnHS;+BACU;uBACb;oEACK;sEACF;mEACH;qEACgB;sBACN;AAU7B,SAASC,cACPC,UACA,EAAEC,UAAUC,SAASC,MAAK,GAC1B;AACA,MAAI,CAACC,OAAEC,gBAAgBL,WAAW;AAChC;EACF;AAEA,QAAMM,aAAaN,SAASO,KAAKC;AACjC,QAAMC,cAAcR;AACpB,QAAMS,aAAYC,mCAChBT,SACAC,OACA;IAAC;GAAQ;AAEX,QAAMS,SAASF,UACbJ,YACAO,qBAAmB;AACjB,QAAI,CAACC,UAAGC,WAAWF,kBAAkB;AACnC,aAAOG;IACT;AACA,WAAOF,UAAGG,aAAaJ;EACzB,GACAK,cAAYJ,UAAGC,WAAWG,WAC1BC,kBAAY;AAEd,MAAIP,QAAQ;AACV,UAAMQ,eAAeC,MAAKC,SACxBD,MAAKE,QAAQd,cACbY,MAAKE,QAAQX;AAEf,UAAMY,WAAWH,MAAKI,SAASb;AAE/B,UAAMM,WAAWG,MAAKK,UACpB,GAAGN,aAAaO,WAAW,IAAI,MAAMP,gBAAgBI,UAAU;AAEjE,UAAMI,gBAAgBV,SAASW,WAAW,OAAOX,WAAW,KAAKA;AACjElB,aAAS8B,YAAY1B,OAAE2B,cAAcH;EACvC;AACF;AAgBA,MAAMI,kBACJ,CAACC,WAA4B,CAACjC,aAA4C;AACxED,gBAAcC,SAASkC,IAAI,WAAWD;AACxC;AAEF,MAAME,kBACJ,CAACF,WAA4B,CAACjC,aAA4C;AACxED,gBAAcC,SAASkC,IAAI,WAAwCD;AACrE;AAEF,MAAMG,2BAA2B,CAAC,EAChCnC,UACAC,SACAC,MAAK,MACgB;AACrB,QAAMkC,aAAavB,UAAGwB,aAAarC,UAAU;AAC7C,QAAMsC,MAAMC,QAAOC,MAAMJ,YAAY;IACnCK,YAAY;IACZC,eAAe;IACfC,SAAS;MAAC;;EACZ;AACAC,yBAASN,KAAK;;;IAGZO,mBAAmBd,gBAAgB;MACjC/B;MACAC;MACAC;IACF;IACA4C,mBAAmBZ,gBAAgB;MACjClC;MACAC;MACAC;IACF;EACF;AACA,UAAO6C,uBAAUT,KAAKU;AACxB;AAOO,MAAMnD,oBAAoB,CAACmC,WAAoC;AACpE,QAAM,EAAEiB,YAAY,IAAIhD,SAASC,MAAK,IAAK8B;AAC3C,QAAMkB,kBAAuD;AAC7D,aAAWlD,YAAYiD,WAAW;AAChCC,oBAAgBC,KAAK;MACnB/B,MAAMpB;MACNoD,SAASjB,yBAAyB;QAAEnC;QAAUC;QAASC;MAAM;IAC/D;EACF;AACA,SAAOgD;AACT;","names":["transformDtsAlias","mapPathString","nodePath","filename","baseUrl","paths","t","isStringLiteral","sourcePath","node","value","currentFile","matchPath","createMatchPath","result","packageJsonPath","fs","existsSync","undefined","readJSONSync","filePath","dtsAliasExts","relativePath","path","relative","dirname","fileName","basename","normalize","length","replaceString","startsWith","replaceWith","stringLiteral","transformImport","option","get","transformExport","transformSingleFileAlias","sourceCode","readFileSync","ast","parser","parse","sourceType","errorRecovery","plugins","traverse","ImportDeclaration","ExportDeclaration","generator","code","filenames","transformResult","push","content"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/tspathsTransform.ts"],"sourcesContent":["import * as path from 'path';\nimport { createMatchPath } from '@modern-js/utils/tsconfig-paths';\nimport { fs } from '@modern-js/utils';\nimport * as parser from '@babel/parser';\nimport generator from '@babel/generator';\nimport * as t from '@babel/types';\nimport traverse, { NodePath } from '@babel/traverse';\nimport { dtsAliasExts } from '../constants/file';\n// import { defaultTransformedFunctions } from '../constants/dts';\n// import { matchesPattern, isImportCall } from './dts';\n\nexport interface TransformOption {\n filename: string;\n baseUrl: string;\n paths: Record<string, string[] | string>;\n}\n\nfunction mapPathString(\n nodePath: NodePath<t.StringLiteral>,\n { filename, baseUrl, paths }: TransformOption,\n) {\n if (!t.isStringLiteral(nodePath)) {\n return;\n }\n\n const sourcePath = nodePath.node.value;\n const currentFile = filename;\n const matchPath = createMatchPath(\n baseUrl,\n paths as { [key: string]: Array<string> },\n ['index'],\n );\n const result = matchPath(\n sourcePath,\n packageJsonPath => {\n if (!fs.existsSync(packageJsonPath)) {\n return undefined;\n }\n return fs.readJSONSync(packageJsonPath);\n },\n filePath => fs.existsSync(filePath),\n dtsAliasExts,\n );\n if (result) {\n const relativePath = path.relative(\n path.dirname(currentFile),\n path.dirname(result),\n );\n const fileName = path.basename(result);\n // 如果是同级文件,则返回的是 ''\n const filePath = path.normalize(\n `${relativePath.length === 0 ? '.' : relativePath}/${fileName}`,\n );\n const replaceString = filePath.startsWith('.') ? filePath : `./${filePath}`;\n nodePath.replaceWith(t.stringLiteral(replaceString));\n }\n}\n\n// const transformCall =\n// (option: TransformOption) => (nodePath: NodePath<t.CallExpression>) => {\n// const calleePath = nodePath.get('callee') as NodePath;\n// const isNormalCall = defaultTransformedFunctions.some(pattern =>\n// matchesPattern(calleePath, pattern),\n// );\n// if (isNormalCall || isImportCall(nodePath)) {\n// mapPathString(\n// nodePath.get('arguments.0') as NodePath<t.StringLiteral>,\n// option,\n// );\n// }\n// };\n\nconst transformImport =\n (option: TransformOption) => (nodePath: NodePath<t.ImportDeclaration>) => {\n mapPathString(nodePath.get('source'), option);\n };\n\nconst transformExport =\n (option: TransformOption) => (nodePath: NodePath<t.ExportDeclaration>) => {\n mapPathString(nodePath.get('source') as NodePath<t.StringLiteral>, option);\n };\n\nconst transformSingleFileAlias = ({\n filename,\n baseUrl,\n paths,\n}: TransformOption) => {\n const sourceCode = fs.readFileSync(filename, 'utf-8');\n const ast = parser.parse(sourceCode, {\n sourceType: 'module',\n errorRecovery: true, // 防止typescript不支持的语法出现而报错\n plugins: ['typescript'],\n });\n traverse(ast, {\n // d.ts file content not have callExpression which can be parsed;\n // CallExpression: transformCall({ filename, baseUrl, paths }) as any,\n ImportDeclaration: transformImport({\n filename,\n baseUrl,\n paths,\n }) as any,\n ExportDeclaration: transformExport({\n filename,\n baseUrl,\n paths,\n }) as any,\n });\n return generator(ast).code;\n};\n\ninterface TransformDtsAliasOption {\n filenames?: string[];\n baseUrl: string;\n paths: Record<string, string[] | string>;\n}\nexport const transformDtsAlias = (option: TransformDtsAliasOption) => {\n const { filenames = [], baseUrl, paths } = option;\n const transformResult: { path: string; content: string }[] = [];\n for (const filename of filenames) {\n transformResult.push({\n path: filename,\n content: transformSingleFileAlias({ filename, baseUrl, paths }),\n });\n }\n return transformResult;\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;+BAmHaA;;;WAAAA;;;;;kEAnHS;+BACU;uBACb;oEACK;sEACF;mEACH;qEACgB;sBACN;AAU7B,SAASC,cACPC,UACA,EAAEC,UAAUC,SAASC,MAAK,GAAmB;AAE7C,MAAI,CAACC,OAAEC,gBAAgBL,WAAW;AAChC;EACF;AAEA,QAAMM,aAAaN,SAASO,KAAKC;AACjC,QAAMC,cAAcR;AACpB,QAAMS,aAAYC,mCAChBT,SACAC,OACA;IAAC;GAAQ;AAEX,QAAMS,SAASF,UACbJ,YACAO;AACE,QAAI,CAACC,UAAGC,WAAWF,kBAAkB;AACnC,aAAOG;IACT;AACA,WAAOF,UAAGG,aAAaJ;EACzB,GACAK,cAAYJ,UAAGC,WAAWG,WAC1BC,kBAAY;AAEd,MAAIP,QAAQ;AACV,UAAMQ,eAAeC,MAAKC,SACxBD,MAAKE,QAAQd,cACbY,MAAKE,QAAQX;AAEf,UAAMY,WAAWH,MAAKI,SAASb;AAE/B,UAAMM,WAAWG,MAAKK,UACpB,GAAGN,aAAaO,WAAW,IAAI,MAAMP,gBAAgBI,UAAU;AAEjE,UAAMI,gBAAgBV,SAASW,WAAW,OAAOX,WAAW,KAAKA;AACjElB,aAAS8B,YAAY1B,OAAE2B,cAAcH;EACvC;AACF;AAgBA,MAAMI,kBACJ,CAACC,WAA4B,CAACjC;AAC5BD,gBAAcC,SAASkC,IAAI,WAAWD;AACxC;AAEF,MAAME,kBACJ,CAACF,WAA4B,CAACjC;AAC5BD,gBAAcC,SAASkC,IAAI,WAAwCD;AACrE;AAEF,MAAMG,2BAA2B,CAAC,EAChCnC,UACAC,SACAC,MAAK,MACW;AAChB,QAAMkC,aAAavB,UAAGwB,aAAarC,UAAU;AAC7C,QAAMsC,MAAMC,QAAOC,MAAMJ,YAAY;IACnCK,YAAY;IACZC,eAAe;IACfC,SAAS;MAAC;;EACZ;AACAC,yBAASN,KAAK;;;IAGZO,mBAAmBd,gBAAgB;MACjC/B;MACAC;MACAC;IACF;IACA4C,mBAAmBZ,gBAAgB;MACjClC;MACAC;MACAC;IACF;EACF;AACA,UAAO6C,uBAAUT,KAAKU;AACxB;AAOO,MAAMnD,oBAAoB,CAACmC;AAChC,QAAM,EAAEiB,YAAY,IAAIhD,SAASC,MAAK,IAAK8B;AAC3C,QAAMkB,kBAAuD;AAC7D,aAAWlD,YAAYiD,WAAW;AAChCC,oBAAgBC,KAAK;MACnB/B,MAAMpB;MACNoD,SAASjB,yBAAyB;QAAEnC;QAAUC;QAASC;MAAM;IAC/D;EACF;AACA,SAAOgD;AACT;","names":["transformDtsAlias","mapPathString","nodePath","filename","baseUrl","paths","t","isStringLiteral","sourcePath","node","value","currentFile","matchPath","createMatchPath","result","packageJsonPath","fs","existsSync","undefined","readJSONSync","filePath","dtsAliasExts","relativePath","path","relative","dirname","fileName","basename","normalize","length","replaceString","startsWith","replaceWith","stringLiteral","transformImport","option","get","transformExport","transformSingleFileAlias","sourceCode","readFileSync","ast","parser","parse","sourceType","errorRecovery","plugins","traverse","ImportDeclaration","ExportDeclaration","generator","code","filenames","transformResult","push","content"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/tspathsTransform.ts"],"sourcesContent":["import * as path from 'path';\nimport { createMatchPath } from '@modern-js/utils/tsconfig-paths';\nimport { fs } from '@modern-js/utils';\nimport * as parser from '@babel/parser';\nimport generator from '@babel/generator';\nimport * as t from '@babel/types';\nimport traverse, { NodePath } from '@babel/traverse';\nimport { dtsAliasExts } from '../constants/file';\n// import { defaultTransformedFunctions } from '../constants/dts';\n// import { matchesPattern, isImportCall } from './dts';\n\nexport interface TransformOption {\n filename: string;\n baseUrl: string;\n paths: Record<string, string[] | string>;\n}\n\nfunction mapPathString(\n nodePath: NodePath<t.StringLiteral>,\n { filename, baseUrl, paths }: TransformOption,\n) {\n if (!t.isStringLiteral(nodePath)) {\n return;\n }\n\n const sourcePath = nodePath.node.value;\n const currentFile = filename;\n const matchPath = createMatchPath(\n baseUrl,\n paths as { [key: string]: Array<string> },\n ['index'],\n );\n const result = matchPath(\n sourcePath,\n packageJsonPath => {\n if (!fs.existsSync(packageJsonPath)) {\n return undefined;\n }\n return fs.readJSONSync(packageJsonPath);\n },\n filePath => fs.existsSync(filePath),\n dtsAliasExts,\n );\n if (result) {\n const relativePath = path.relative(\n path.dirname(currentFile),\n path.dirname(result),\n );\n const fileName = path.basename(result);\n // 如果是同级文件,则返回的是 ''\n const filePath = path.normalize(\n `${relativePath.length === 0 ? '.' : relativePath}/${fileName}`,\n );\n const replaceString = filePath.startsWith('.') ? filePath : `./${filePath}`;\n nodePath.replaceWith(t.stringLiteral(replaceString));\n }\n}\n\n// const transformCall =\n// (option: TransformOption) => (nodePath: NodePath<t.CallExpression>) => {\n// const calleePath = nodePath.get('callee') as NodePath;\n// const isNormalCall = defaultTransformedFunctions.some(pattern =>\n// matchesPattern(calleePath, pattern),\n// );\n// if (isNormalCall || isImportCall(nodePath)) {\n// mapPathString(\n// nodePath.get('arguments.0') as NodePath<t.StringLiteral>,\n// option,\n// );\n// }\n// };\n\nconst transformImport =\n (option: TransformOption) => (nodePath: NodePath<t.ImportDeclaration>) => {\n mapPathString(nodePath.get('source'), option);\n };\n\nconst transformExport =\n (option: TransformOption) => (nodePath: NodePath<t.ExportDeclaration>) => {\n mapPathString(nodePath.get('source') as NodePath<t.StringLiteral>, option);\n };\n\nconst transformSingleFileAlias = ({\n filename,\n baseUrl,\n paths,\n}: TransformOption) => {\n const sourceCode = fs.readFileSync(filename, 'utf-8');\n const ast = parser.parse(sourceCode, {\n sourceType: 'module',\n errorRecovery: true, // 防止typescript不支持的语法出现而报错\n plugins: ['typescript'],\n });\n traverse(ast, {\n // d.ts file content not have callExpression which can be parsed;\n // CallExpression: transformCall({ filename, baseUrl, paths }) as any,\n ImportDeclaration: transformImport({\n filename,\n baseUrl,\n paths,\n }) as any,\n ExportDeclaration: transformExport({\n filename,\n baseUrl,\n paths,\n }) as any,\n });\n return generator(ast).code;\n};\n\ninterface TransformDtsAliasOption {\n filenames?: string[];\n baseUrl: string;\n paths: Record<string, string[] | string>;\n}\nexport const transformDtsAlias = (option: TransformDtsAliasOption) => {\n const { filenames = [], baseUrl, paths } = option;\n const transformResult: { path: string; content: string }[] = [];\n for (const filename of filenames) {\n transformResult.push({\n path: filename,\n content: transformSingleFileAlias({ filename, baseUrl, paths }),\n });\n }\n return transformResult;\n};\n"]}
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "module-tools",
16
16
  "lib-tools"
17
17
  ],
18
- "version": "2.26.0",
18
+ "version": "2.28.0",
19
19
  "bin": {
20
20
  "modern": "./bin/modern.js",
21
21
  "modern-module": "./bin/modern.js"
@@ -23,8 +23,14 @@
23
23
  "types": "./dist/index.d.ts",
24
24
  "main": "./dist/index.js",
25
25
  "exports": {
26
- ".": "./dist/index.js",
27
- "./defineConfig": "./dist/config/defineConfig.js"
26
+ ".": {
27
+ "jsnext:source": "./src/index.ts",
28
+ "default": "./dist/index.js"
29
+ },
30
+ "./defineConfig": {
31
+ "jsnext:source": "./src/config/defineConfig.ts",
32
+ "default": "./dist/config/defineConfig.js"
33
+ }
28
34
  },
29
35
  "typesVersions": {
30
36
  "*": {
@@ -44,19 +50,19 @@
44
50
  "@babel/generator": "^7.21.5",
45
51
  "@babel/types": "^7.21.5",
46
52
  "@babel/traverse": "^7.21.5",
47
- "@modern-js/libuild": "0.13.2",
48
- "@modern-js/libuild-plugin-svgr": "0.13.2",
49
- "@modern-js/libuild-plugin-swc": "0.13.2",
53
+ "@modern-js/libuild": "0.14.1",
54
+ "@modern-js/libuild-plugin-svgr": "0.14.1",
55
+ "@modern-js/libuild-plugin-swc": "0.14.1",
50
56
  "postcss": "8.4.6",
51
57
  "@swc/helpers": "0.5.1",
52
- "@modern-js/core": "2.26.0",
53
- "@modern-js/new-action": "2.26.0",
54
- "@modern-js/plugin": "2.26.0",
55
- "@modern-js/plugin-changeset": "2.26.0",
56
- "@modern-js/plugin-i18n": "2.26.0",
57
- "@modern-js/plugin-lint": "2.26.0",
58
- "@modern-js/upgrade": "2.26.0",
59
- "@modern-js/utils": "2.26.0"
58
+ "@modern-js/core": "2.28.0",
59
+ "@modern-js/new-action": "2.28.0",
60
+ "@modern-js/plugin": "2.28.0",
61
+ "@modern-js/plugin-changeset": "2.28.0",
62
+ "@modern-js/plugin-i18n": "2.28.0",
63
+ "@modern-js/plugin-lint": "2.28.0",
64
+ "@modern-js/upgrade": "2.28.0",
65
+ "@modern-js/utils": "2.28.0"
60
66
  },
61
67
  "devDependencies": {
62
68
  "@types/babel__generator": "7.6.4",
@@ -71,10 +77,10 @@
71
77
  "postcss-alias": "2.0.0",
72
78
  "react": "17",
73
79
  "typescript": "^5",
74
- "@modern-js/builder-webpack-provider": "2.26.0",
75
- "@modern-js/self": "npm:@modern-js/module-tools@2.26.0",
76
- "@scripts/build": "2.26.0",
77
- "@scripts/jest-config": "2.26.0"
80
+ "@modern-js/builder-webpack-provider": "2.28.0",
81
+ "@modern-js/self": "npm:@modern-js/module-tools@2.28.0",
82
+ "@scripts/build": "2.28.0",
83
+ "@scripts/jest-config": "2.28.0"
78
84
  },
79
85
  "publishConfig": {
80
86
  "registry": "https://registry.npmjs.org/",
@@ -91,10 +97,8 @@
91
97
  },
92
98
  "scripts": {
93
99
  "build": "modern-lib build",
94
- "dev": "npm run debug-mode && modern-lib build --watch",
95
- "test": "npm run debug-mode off && jest",
96
- "test:update": "npm run debug-mode off && jest --updateSnapshot",
97
- "new": "modern-lib new",
98
- "debug-mode": "node ./scripts/debug-mode.js"
100
+ "dev": "modern-lib build --watch",
101
+ "test": "jest",
102
+ "new": "modern-lib new"
99
103
  }
100
104
  }