@modern-js/module-tools 2.6.0 → 2.7.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 (50) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/builder/build.js +4 -4
  3. package/dist/builder/build.js.map +1 -1
  4. package/dist/builder/copy.d.ts +6 -1
  5. package/dist/builder/copy.js +51 -2
  6. package/dist/builder/copy.js.map +1 -1
  7. package/dist/config/{legacy-schema.js → legacySchema.js} +4 -4
  8. package/dist/config/legacySchema.js.map +1 -0
  9. package/dist/config/normalize.js +2 -2
  10. package/dist/config/normalize.js.map +1 -1
  11. package/dist/config/schema.d.ts +1 -1
  12. package/dist/config/schema.js +2 -2
  13. package/dist/config/schema.js.map +1 -1
  14. package/dist/config/{transform-legacy-config.js → transformLegacyConfig.js} +6 -6
  15. package/dist/config/transformLegacyConfig.js.map +1 -0
  16. package/dist/constants/{build-presets.js → buildPresets.js} +4 -4
  17. package/dist/constants/buildPresets.js.map +1 -0
  18. package/dist/constants/{legacy-build-presets.js → legacyBuildPresets.js} +4 -4
  19. package/dist/constants/legacyBuildPresets.js.map +1 -0
  20. package/dist/constants/log.d.ts +1 -0
  21. package/dist/constants/log.js +3 -0
  22. package/dist/constants/log.js.map +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +2 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/types/config/index.d.ts +1 -1
  27. package/dist/types/config/index.js.map +1 -1
  28. package/dist/utils/dts.js +1 -1
  29. package/dist/utils/dts.js.map +1 -1
  30. package/dist/utils/{libuild-plugins.js → libuildPlugins.js} +4 -4
  31. package/dist/utils/libuildPlugins.js.map +1 -0
  32. package/dist/utils/log.d.ts +1 -1
  33. package/dist/utils/log.js +2 -2
  34. package/dist/utils/log.js.map +1 -1
  35. package/dist/utils/{tspaths-transform.js → tspathsTransform.js} +4 -4
  36. package/dist/utils/tspathsTransform.js.map +1 -0
  37. package/package.json +16 -14
  38. package/scripts/debug-mode.js +49 -0
  39. package/dist/config/legacy-schema.js.map +0 -1
  40. package/dist/config/transform-legacy-config.js.map +0 -1
  41. package/dist/constants/build-presets.js.map +0 -1
  42. package/dist/constants/legacy-build-presets.js.map +0 -1
  43. package/dist/utils/libuild-plugins.js.map +0 -1
  44. package/dist/utils/tspaths-transform.js.map +0 -1
  45. /package/dist/config/{legacy-schema.d.ts → legacySchema.d.ts} +0 -0
  46. /package/dist/config/{transform-legacy-config.d.ts → transformLegacyConfig.d.ts} +0 -0
  47. /package/dist/constants/{build-presets.d.ts → buildPresets.d.ts} +0 -0
  48. /package/dist/constants/{legacy-build-presets.d.ts → legacyBuildPresets.d.ts} +0 -0
  49. /package/dist/utils/{libuild-plugins.d.ts → libuildPlugins.d.ts} +0 -0
  50. /package/dist/utils/{tspaths-transform.d.ts → tspathsTransform.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @modern-js/module-tools
2
2
 
3
+ ## 2.7.0
4
+
5
+ ### Patch Changes
6
+
7
+ - eccfe877b5: fix: add watch mode to copy
8
+ fix: 为 copy 功能补充 watch 逻辑
9
+ - 7fff9020e1: chore: make file naming consistent
10
+
11
+ chore: 统一文件命名为小驼峰格式
12
+
13
+ - 1eea234fdd: chore: make test files naming consistent
14
+
15
+ chore: 统一测试文件命名为小驼峰格式
16
+
17
+ - Updated dependencies [206c806efa]
18
+ - Updated dependencies [0f15fc597c]
19
+ - Updated dependencies [dcad887024]
20
+ - Updated dependencies [a4672f7c16]
21
+ - Updated dependencies [7fff9020e1]
22
+ - Updated dependencies [1eea234fdd]
23
+ - Updated dependencies [84bfb439b8]
24
+ - @modern-js/core@2.7.0
25
+ - @modern-js/utils@2.7.0
26
+ - @modern-js/plugin-changeset@2.7.0
27
+ - @modern-js/plugin-i18n@2.7.0
28
+ - @modern-js/plugin-lint@2.7.0
29
+ - @modern-js/new-action@2.7.0
30
+ - @modern-js/upgrade@2.7.0
31
+ - @modern-js/plugin@2.7.0
32
+
3
33
  ## 2.6.0
4
34
 
5
35
  ### Minor Changes
@@ -73,15 +73,15 @@ __export(build_exports, {
73
73
  module.exports = __toCommonJS(build_exports);
74
74
  var import_path = require("path");
75
75
  const runBuildTask = (options, api) => __async(void 0, null, function* () {
76
- const { buildConfig, context } = options;
76
+ const { buildConfig, context, buildCmdOptions } = options;
77
77
  const { appDirectory, isTsProject } = context;
78
+ const { copyTask } = yield Promise.resolve().then(() => __toESM(require("./copy")));
79
+ yield copyTask(buildConfig, { appDirectory, watch: buildCmdOptions.watch });
78
80
  if (isTsProject) {
79
81
  yield buildInTsProject(options, api);
80
82
  } else {
81
83
  yield buildInJsProject(options, api);
82
84
  }
83
- const { copyTask } = yield Promise.resolve().then(() => __toESM(require("./copy")));
84
- yield copyTask(buildConfig, { appDirectory });
85
85
  });
86
86
  const buildInTsProject = (options, api) => __async(void 0, null, function* () {
87
87
  var _a;
@@ -194,7 +194,7 @@ const buildLib = (config, api, options) => __async(void 0, null, function* () {
194
194
  const options2 = typeof asset.svgr === "boolean" ? {} : asset.svgr;
195
195
  plugins.push(svgrPlugin(options2));
196
196
  }
197
- const { watchPlugin, externalPlugin } = yield Promise.resolve().then(() => __toESM(require("../utils/libuild-plugins")));
197
+ const { watchPlugin, externalPlugin } = yield Promise.resolve().then(() => __toESM(require("../utils/libuildPlugins")));
198
198
  plugins.push(watchPlugin(api, config));
199
199
  plugins.push(externalPlugin(config, { appDirectory }));
200
200
  const buildConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":["options"],"sources":["../../src/builder/build.ts"],"sourcesContent":["import { join } from 'path';\nimport type { CLIConfig } from '@modern-js/libuild';\nimport type {\n BuildCommandOptions,\n BaseBuildConfig,\n ModuleTools,\n PluginAPI,\n DTSOptions,\n ModuleContext,\n} from '../types';\n\nexport const runBuildTask = async (\n options: {\n buildConfig: BaseBuildConfig;\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n api: PluginAPI<ModuleTools>,\n) => {\n const { buildConfig, context } = options;\n const { appDirectory, isTsProject } = context;\n\n if (isTsProject) {\n await buildInTsProject(options, api);\n } else {\n await buildInJsProject(options, api);\n }\n\n const { copyTask } = await import('./copy');\n await copyTask(buildConfig, { appDirectory });\n};\n\nexport const buildInTsProject = async (\n options: {\n buildConfig: BaseBuildConfig;\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n api: PluginAPI<ModuleTools>,\n) => {\n const { buildConfig, buildCmdOptions } = options;\n const dts = buildCmdOptions.dts ? buildConfig.dts : false;\n const skipBuildLib = buildConfig.dts ? buildConfig.dts.only : false;\n const watch = buildCmdOptions.watch ?? false;\n\n if (dts === false) {\n // --no-dts and buildConfig is `{ dts: { only: true } }`, then skip.\n !skipBuildLib && (await buildLib(buildConfig, api, { watch }));\n } else {\n const tasks = dts.only ? [generatorDts] : [buildLib, generatorDts];\n const { default: pMap } = await import('../../compiled/p-map');\n await pMap(tasks, async task => {\n await task(buildConfig, api as any, { watch, dts });\n });\n }\n};\n\nexport const buildInJsProject = async (\n options: {\n buildConfig: BaseBuildConfig;\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n api: PluginAPI<ModuleTools>,\n) => {\n const { buildConfig, buildCmdOptions } = options;\n const dts = buildCmdOptions.dts ? buildConfig.dts : false;\n const watch = buildCmdOptions.watch ?? false;\n\n if (dts !== false && dts.only) {\n return;\n }\n\n await buildLib(buildConfig, api, { watch });\n};\n\nexport const generatorDts = async (\n config: BaseBuildConfig,\n api: PluginAPI<ModuleTools>,\n options: {\n watch: boolean;\n dts: DTSOptions;\n },\n) => {\n const { runRollup, runTsc } = await import('./dts');\n const { watch, dts } = options;\n const { buildType, input, sourceDir, alias } = config;\n const { appDirectory } = api.useAppContext();\n const { tsconfigPath, distPath } = dts;\n if (buildType === 'bundle') {\n const { getFinalExternals } = await import('../utils/builder');\n const finalExternals = await getFinalExternals(config, { appDirectory });\n\n await runRollup(api, {\n distDir: distPath,\n watch,\n externals: finalExternals,\n input,\n tsconfigPath,\n });\n } else {\n await runTsc(api, {\n appDirectory,\n alias,\n distAbsPath: distPath,\n watch,\n tsconfigPath,\n sourceDir,\n });\n }\n};\n\nexport const buildLib = async (\n config: BaseBuildConfig,\n api: PluginAPI<ModuleTools>,\n options: {\n watch: boolean;\n },\n) => {\n const { watch } = options;\n const {\n target,\n buildType,\n sourceMap,\n format,\n outDir: distPath,\n asset,\n jsx,\n input,\n platform,\n splitting,\n minify,\n sourceDir,\n umdGlobals,\n umdModuleName,\n define,\n alias,\n style,\n externals,\n autoExternal,\n dts,\n metafile,\n sideEffects,\n } = config;\n const { appDirectory } = api.useAppContext();\n const { slash } = await import('@modern-js/utils');\n const root = slash(appDirectory);\n const outdir = slash(distPath);\n const assetOutDir = asset.path ? slash(asset.path) : asset.path;\n const { less, sass, postcss, inject, modules, autoModules } = style;\n\n // support es5,umd and emitDecoratorMetadata by swc\n const { es5Plugin, umdPlugin, transformPlugin } = await import(\n '@modern-js/libuild-plugin-swc'\n );\n const plugins = format === 'umd' ? [umdPlugin(umdModuleName)] : [];\n if (target === 'es5') {\n plugins.push(es5Plugin());\n }\n const { getProjectTsconfig } = await import('./dts/tsc');\n const tsconfigPath = dts\n ? dts.tsconfigPath\n : join(appDirectory, './tsconfig.json');\n const userTsconfig = await getProjectTsconfig(tsconfigPath);\n if (userTsconfig?.compilerOptions?.emitDecoratorMetadata) {\n plugins.push(\n transformPlugin({\n jsc: {\n transform: {\n legacyDecorator: true,\n decoratorMetadata: true,\n },\n },\n }),\n );\n }\n\n // support svgr\n if (asset.svgr) {\n const { svgrPlugin } = await import('@modern-js/libuild-plugin-svgr');\n const options = typeof asset.svgr === 'boolean' ? {} : asset.svgr;\n plugins.push(svgrPlugin(options));\n }\n\n // adapt module tools\n const { watchPlugin, externalPlugin } = await import(\n '../utils/libuild-plugins'\n );\n plugins.push(watchPlugin(api, config));\n plugins.push(externalPlugin(config, { appDirectory }));\n\n const buildConfig: CLIConfig = {\n root,\n watch,\n target,\n sourceMap,\n format,\n outdir,\n define,\n style: {\n less,\n sass,\n postcss,\n inject,\n modules,\n autoModules,\n },\n resolve: {\n alias,\n },\n asset: {\n ...asset,\n outdir: assetOutDir,\n },\n plugins,\n jsx,\n input,\n platform,\n splitting,\n minify,\n sourceDir,\n metafile: metafile && buildType === 'bundle',\n globals: umdGlobals,\n external: externals,\n autoExternal,\n bundle: buildType === 'bundle',\n sideEffects,\n // outbase for [dir]/[name]\n outbase: sourceDir,\n esbuildOptions: (options: any) => ({\n ...options,\n supported: {\n 'dynamic-import': !(\n ['cjs', 'umd'].includes(format) && buildType === 'bundleless'\n ),\n },\n }),\n };\n\n try {\n const { Libuilder } = await import('@modern-js/libuild');\n const { addOutputChunk } = await import('../utils/print');\n const runner = api.useHookRunners();\n const modifiedBuildConfig = await runner.modifyLibuild(buildConfig, {\n onLast: c => c,\n });\n\n const builder = await Libuilder.create(modifiedBuildConfig);\n await builder.build();\n addOutputChunk(builder.outputChunk, root, buildType === 'bundle');\n\n if (watch) {\n const { watchSectionTitle } = await import('../utils/log');\n const { SectionTitleStatus } = await import('../constants/log');\n const titleText = `[${\n buildType === 'bundle' ? 'Bundle' : 'Bundleless'\n }: ${format}_${target}]`;\n\n console.info(\n await watchSectionTitle(titleText, SectionTitleStatus.Success),\n );\n }\n } catch (e: any) {\n const { InternalBuildError } = await import('../error');\n throw new InternalBuildError(e, {\n target,\n format,\n buildType,\n });\n }\n};\n"]}
1
+ {"version":3,"file":null,"mappings":"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","names":["options"],"sources":["../../src/builder/build.ts"],"sourcesContent":["import { join } from 'path';\nimport type { CLIConfig } from '@modern-js/libuild';\nimport type {\n BuildCommandOptions,\n BaseBuildConfig,\n ModuleTools,\n PluginAPI,\n DTSOptions,\n ModuleContext,\n} from '../types';\n\nexport const runBuildTask = async (\n options: {\n buildConfig: BaseBuildConfig;\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n api: PluginAPI<ModuleTools>,\n) => {\n const { buildConfig, context, buildCmdOptions } = options;\n const { appDirectory, isTsProject } = context;\n\n const { copyTask } = await import('./copy');\n await copyTask(buildConfig, { appDirectory, watch: buildCmdOptions.watch });\n\n if (isTsProject) {\n await buildInTsProject(options, api);\n } else {\n await buildInJsProject(options, api);\n }\n};\n\nexport const buildInTsProject = async (\n options: {\n buildConfig: BaseBuildConfig;\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n api: PluginAPI<ModuleTools>,\n) => {\n const { buildConfig, buildCmdOptions } = options;\n const dts = buildCmdOptions.dts ? buildConfig.dts : false;\n const skipBuildLib = buildConfig.dts ? buildConfig.dts.only : false;\n const watch = buildCmdOptions.watch ?? false;\n\n if (dts === false) {\n // --no-dts and buildConfig is `{ dts: { only: true } }`, then skip.\n !skipBuildLib && (await buildLib(buildConfig, api, { watch }));\n } else {\n const tasks = dts.only ? [generatorDts] : [buildLib, generatorDts];\n const { default: pMap } = await import('../../compiled/p-map');\n await pMap(tasks, async task => {\n await task(buildConfig, api as any, { watch, dts });\n });\n }\n};\n\nexport const buildInJsProject = async (\n options: {\n buildConfig: BaseBuildConfig;\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n api: PluginAPI<ModuleTools>,\n) => {\n const { buildConfig, buildCmdOptions } = options;\n const dts = buildCmdOptions.dts ? buildConfig.dts : false;\n const watch = buildCmdOptions.watch ?? false;\n\n if (dts !== false && dts.only) {\n return;\n }\n\n await buildLib(buildConfig, api, { watch });\n};\n\nexport const generatorDts = async (\n config: BaseBuildConfig,\n api: PluginAPI<ModuleTools>,\n options: {\n watch: boolean;\n dts: DTSOptions;\n },\n) => {\n const { runRollup, runTsc } = await import('./dts');\n const { watch, dts } = options;\n const { buildType, input, sourceDir, alias } = config;\n const { appDirectory } = api.useAppContext();\n const { tsconfigPath, distPath } = dts;\n if (buildType === 'bundle') {\n const { getFinalExternals } = await import('../utils/builder');\n const finalExternals = await getFinalExternals(config, { appDirectory });\n\n await runRollup(api, {\n distDir: distPath,\n watch,\n externals: finalExternals,\n input,\n tsconfigPath,\n });\n } else {\n await runTsc(api, {\n appDirectory,\n alias,\n distAbsPath: distPath,\n watch,\n tsconfigPath,\n sourceDir,\n });\n }\n};\n\nexport const buildLib = async (\n config: BaseBuildConfig,\n api: PluginAPI<ModuleTools>,\n options: {\n watch: boolean;\n },\n) => {\n const { watch } = options;\n const {\n target,\n buildType,\n sourceMap,\n format,\n outDir: distPath,\n asset,\n jsx,\n input,\n platform,\n splitting,\n minify,\n sourceDir,\n umdGlobals,\n umdModuleName,\n define,\n alias,\n style,\n externals,\n autoExternal,\n dts,\n metafile,\n sideEffects,\n } = config;\n const { appDirectory } = api.useAppContext();\n const { slash } = await import('@modern-js/utils');\n const root = slash(appDirectory);\n const outdir = slash(distPath);\n const assetOutDir = asset.path ? slash(asset.path) : asset.path;\n const { less, sass, postcss, inject, modules, autoModules } = style;\n\n // support es5,umd and emitDecoratorMetadata by swc\n const { es5Plugin, umdPlugin, transformPlugin } = await import(\n '@modern-js/libuild-plugin-swc'\n );\n const plugins = format === 'umd' ? [umdPlugin(umdModuleName)] : [];\n if (target === 'es5') {\n plugins.push(es5Plugin());\n }\n const { getProjectTsconfig } = await import('./dts/tsc');\n const tsconfigPath = dts\n ? dts.tsconfigPath\n : join(appDirectory, './tsconfig.json');\n const userTsconfig = await getProjectTsconfig(tsconfigPath);\n if (userTsconfig?.compilerOptions?.emitDecoratorMetadata) {\n plugins.push(\n transformPlugin({\n jsc: {\n transform: {\n legacyDecorator: true,\n decoratorMetadata: true,\n },\n },\n }),\n );\n }\n\n // support svgr\n if (asset.svgr) {\n const { svgrPlugin } = await import('@modern-js/libuild-plugin-svgr');\n const options = typeof asset.svgr === 'boolean' ? {} : asset.svgr;\n plugins.push(svgrPlugin(options));\n }\n\n // adapt module tools\n const { watchPlugin, externalPlugin } = await import(\n '../utils/libuildPlugins'\n );\n plugins.push(watchPlugin(api, config));\n plugins.push(externalPlugin(config, { appDirectory }));\n\n const buildConfig: CLIConfig = {\n root,\n watch,\n target,\n sourceMap,\n format,\n outdir,\n define,\n style: {\n less,\n sass,\n postcss,\n inject,\n modules,\n autoModules,\n },\n resolve: {\n alias,\n },\n asset: {\n ...asset,\n outdir: assetOutDir,\n },\n plugins,\n jsx,\n input,\n platform,\n splitting,\n minify,\n sourceDir,\n metafile: metafile && buildType === 'bundle',\n globals: umdGlobals,\n external: externals,\n autoExternal,\n bundle: buildType === 'bundle',\n sideEffects,\n // outbase for [dir]/[name]\n outbase: sourceDir,\n esbuildOptions: (options: any) => ({\n ...options,\n supported: {\n 'dynamic-import': !(\n ['cjs', 'umd'].includes(format) && buildType === 'bundleless'\n ),\n },\n }),\n };\n\n try {\n const { Libuilder } = await import('@modern-js/libuild');\n const { addOutputChunk } = await import('../utils/print');\n const runner = api.useHookRunners();\n const modifiedBuildConfig = await runner.modifyLibuild(buildConfig, {\n onLast: c => c,\n });\n\n const builder = await Libuilder.create(modifiedBuildConfig);\n await builder.build();\n addOutputChunk(builder.outputChunk, root, buildType === 'bundle');\n\n if (watch) {\n const { watchSectionTitle } = await import('../utils/log');\n const { SectionTitleStatus } = await import('../constants/log');\n const titleText = `[${\n buildType === 'bundle' ? 'Bundle' : 'Bundleless'\n }: ${format}_${target}]`;\n\n console.info(\n await watchSectionTitle(titleText, SectionTitleStatus.Success),\n );\n }\n } catch (e: any) {\n const { InternalBuildError } = await import('../error');\n throw new InternalBuildError(e, {\n target,\n format,\n buildType,\n });\n }\n};\n"]}
@@ -1,11 +1,16 @@
1
- import type { CopyPattern } from '../types/copy';
1
+ import type { CopyOptions, CopyPattern } from '../types/copy';
2
2
  import type { BaseBuildConfig } from '../types/config';
3
3
  export declare const runPatterns: (pattern: CopyPattern, options: {
4
4
  appDirectory: string;
5
5
  enableCopySync?: boolean;
6
6
  outDir: string;
7
7
  defaultContext: string;
8
+ watch?: boolean;
8
9
  }) => Promise<void>;
10
+ export declare const watchCopyFiles: (options: {
11
+ appDirectory: string;
12
+ }, copyConfig: CopyOptions) => Promise<void>;
9
13
  export declare const copyTask: (buildConfig: BaseBuildConfig, options: {
10
14
  appDirectory: string;
15
+ watch?: boolean;
11
16
  }) => Promise<void>;
@@ -65,10 +65,12 @@ var __async = (__this, __arguments, generator) => {
65
65
  var copy_exports = {};
66
66
  __export(copy_exports, {
67
67
  copyTask: () => copyTask,
68
- runPatterns: () => runPatterns
68
+ runPatterns: () => runPatterns,
69
+ watchCopyFiles: () => watchCopyFiles
69
70
  });
70
71
  module.exports = __toCommonJS(copy_exports);
71
72
  var import_path = __toESM(require("path"));
73
+ const watchMap = /* @__PURE__ */ new Map();
72
74
  const runPatterns = (pattern, options) => __async(void 0, null, function* () {
73
75
  var _a;
74
76
  const { fs, fastGlob, globby } = yield Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
@@ -160,6 +162,9 @@ const runPatterns = (pattern, options) => __async(void 0, null, function* () {
160
162
  );
161
163
  const filename = toType === "dir" ? import_path.default.join(to, relativeFrom) : to;
162
164
  const absoluteTo = import_path.default.isAbsolute(filename) ? filename : import_path.default.join(options.outDir, filename);
165
+ if (options.watch) {
166
+ watchMap.set(absoluteFrom2, absoluteTo);
167
+ }
163
168
  if (enableCopySync) {
164
169
  fs.copySync(absoluteFrom2, absoluteTo);
165
170
  } else {
@@ -167,6 +172,46 @@ const runPatterns = (pattern, options) => __async(void 0, null, function* () {
167
172
  }
168
173
  }));
169
174
  });
175
+ const watchCopyFiles = (options, copyConfig) => __async(void 0, null, function* () {
176
+ const { watch, fs, logger, createDebugger } = yield Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
177
+ const debug = createDebugger("module-tools:copy-watch");
178
+ debug("watchMap", watchMap);
179
+ const { SectionTitleStatus, CopyLogPrefix } = yield Promise.resolve().then(() => __toESM(require("../constants/log")));
180
+ const { watchSectionTitle } = yield Promise.resolve().then(() => __toESM(require("../utils/log")));
181
+ const watchList = Array.from(watchMap.keys());
182
+ debug("watchList", watchList);
183
+ watch(watchList, (_0) => __async(void 0, [_0], function* ({ changedFilePath, changeType }) {
184
+ var _a;
185
+ const result = watchMap.get(changedFilePath);
186
+ if (!result) {
187
+ return;
188
+ }
189
+ const formatFilePath = import_path.default.relative(options.appDirectory, changedFilePath);
190
+ if (changeType === "unlink") {
191
+ fs.remove(result);
192
+ logger.log(
193
+ yield watchSectionTitle(
194
+ CopyLogPrefix,
195
+ SectionTitleStatus.Log,
196
+ `${formatFilePath} removed`
197
+ )
198
+ );
199
+ return;
200
+ }
201
+ if ((_a = copyConfig == null ? void 0 : copyConfig.options) == null ? void 0 : _a.enableCopySync) {
202
+ fs.copySync(changedFilePath, result);
203
+ } else {
204
+ yield fs.copy(changedFilePath, result);
205
+ }
206
+ logger.log(
207
+ yield watchSectionTitle(
208
+ CopyLogPrefix,
209
+ SectionTitleStatus.Log,
210
+ `${formatFilePath} changed`
211
+ )
212
+ );
213
+ }));
214
+ });
170
215
  const copyTask = (buildConfig, options) => __async(void 0, null, function* () {
171
216
  var _a;
172
217
  const copyConfig = buildConfig.copy;
@@ -193,11 +238,15 @@ const copyTask = (buildConfig, options) => __async(void 0, null, function* () {
193
238
  console.error(`copy error: ${e.message}`);
194
239
  }
195
240
  }
241
+ if (options.watch) {
242
+ yield watchCopyFiles(options, copyConfig);
243
+ }
196
244
  });
197
245
  // Annotate the CommonJS export names for ESM import in node:
198
246
  0 && (module.exports = {
199
247
  copyTask,
200
- runPatterns
248
+ runPatterns,
249
+ watchCopyFiles
201
250
  });
202
251
 
203
252
  //# sourceMappingURL=copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":["from","absoluteFrom","_a"],"sources":["../../src/builder/copy.ts"],"sourcesContent":["import path from 'path';\nimport type { CopyPattern } from '../types/copy';\nimport type { BaseBuildConfig } from '../types/config';\n\n// TODO: about copy rules and debug\nexport const runPatterns = async (\n pattern: CopyPattern,\n options: {\n appDirectory: string;\n enableCopySync?: boolean;\n outDir: string;\n defaultContext: string;\n },\n) => {\n const { fs, fastGlob, globby } = await import('@modern-js/utils');\n const { default: normalizePath } = await import(\n '../../compiled/normalize-path'\n );\n const { appDirectory, enableCopySync = false } = options;\n const { from, globOptions = {} } = pattern;\n const targetPattern: CopyPattern = { ...pattern };\n const normalizedFrom = path.normalize(from);\n const defaultAbsContext = options.defaultContext;\n\n // when context is relative path\n if (typeof pattern.context === 'string') {\n targetPattern.context = path.isAbsolute(pattern.context)\n ? pattern.context\n : path.join(appDirectory, pattern.context);\n } else {\n targetPattern.context = defaultAbsContext;\n }\n\n let absoluteFrom;\n if (path.isAbsolute(normalizedFrom)) {\n absoluteFrom = normalizedFrom;\n } else {\n absoluteFrom = path.resolve(targetPattern.context, normalizedFrom);\n }\n\n let stats;\n try {\n stats = await fs.stat(absoluteFrom);\n } catch (error) {\n // Do Nothing\n }\n\n let fromType: 'file' | 'dir' | 'glob';\n if (stats) {\n if (stats.isDirectory()) {\n fromType = 'dir';\n } else if (stats.isFile()) {\n fromType = 'file';\n } else {\n fromType = 'glob';\n }\n } else {\n fromType = 'glob';\n }\n\n let glob;\n\n switch (fromType) {\n case 'dir':\n targetPattern.context = absoluteFrom;\n glob = path.posix.join(\n fastGlob.escapePath(normalizePath(path.resolve(absoluteFrom))),\n '**/*',\n );\n absoluteFrom = path.join(absoluteFrom, '**/*');\n\n if (typeof globOptions.dot === 'undefined') {\n globOptions.dot = true;\n }\n break;\n case 'file':\n targetPattern.context = path.dirname(absoluteFrom);\n glob = fastGlob.escapePath(normalizePath(path.resolve(absoluteFrom)));\n\n if (typeof globOptions.dot === 'undefined') {\n globOptions.dot = true;\n }\n break;\n case 'glob':\n default: {\n glob = path.isAbsolute(from)\n ? from\n : path.posix.join(\n fastGlob.escapePath(\n normalizePath(\n path.resolve(targetPattern.context ?? appDirectory),\n ),\n ),\n from,\n );\n }\n }\n\n const globEntries = await globby(glob, {\n ...{ followSymbolicLinks: true },\n ...(targetPattern.globOptions || {}),\n cwd: targetPattern.context,\n objectMode: true,\n });\n const { default: pMap } = await import('../../compiled/p-map');\n pMap(globEntries, async globEntry => {\n if (!globEntry.dirent.isFile()) {\n return;\n }\n\n const from = globEntry.path;\n const absoluteFrom = path.resolve(targetPattern.context!, from);\n const to = path.normalize(\n typeof targetPattern.to !== 'undefined' ? targetPattern.to : '',\n );\n const toType =\n path.extname(to) === '' || to.slice(-1) === path.sep ? 'dir' : 'file';\n\n const relativeFrom = path.relative(\n targetPattern.context ?? defaultAbsContext,\n absoluteFrom,\n );\n\n const filename = toType === 'dir' ? path.join(to, relativeFrom) : to;\n\n const absoluteTo = path.isAbsolute(filename)\n ? filename\n : path.join(options.outDir, filename);\n if (enableCopySync) {\n fs.copySync(absoluteFrom, absoluteTo);\n } else {\n await fs.copy(absoluteFrom, absoluteTo);\n }\n });\n};\n\nexport const copyTask = async (\n buildConfig: BaseBuildConfig,\n options: {\n appDirectory: string;\n },\n) => {\n const copyConfig = buildConfig.copy;\n\n if (!copyConfig.patterns || copyConfig.patterns.length === 0) {\n return;\n }\n\n const { default: pMap } = await import('../../compiled/p-map');\n const concurrency = copyConfig?.options?.concurrency || 100;\n try {\n await pMap(\n copyConfig.patterns,\n async copyOption => {\n await runPatterns(copyOption, {\n ...options,\n enableCopySync: copyConfig.options?.enableCopySync,\n outDir: buildConfig.outDir,\n defaultContext: buildConfig.sourceDir,\n });\n },\n { concurrency },\n );\n } catch (e) {\n if (e instanceof Error) {\n console.error(`copy error: ${e.message}`);\n }\n }\n};\n"]}
1
+ {"version":3,"file":null,"mappings":"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","names":["from","absoluteFrom","_a"],"sources":["../../src/builder/copy.ts"],"sourcesContent":["import path from 'path';\nimport type { CopyOptions, CopyPattern } from '../types/copy';\nimport type { BaseBuildConfig } from '../types/config';\n\nconst watchMap = new Map<string, string>();\n\nexport const runPatterns = async (\n pattern: CopyPattern,\n options: {\n appDirectory: string;\n enableCopySync?: boolean;\n outDir: string;\n defaultContext: string;\n watch?: boolean;\n },\n) => {\n const { fs, fastGlob, globby } = await import('@modern-js/utils');\n const { default: normalizePath } = await import(\n '../../compiled/normalize-path'\n );\n const { appDirectory, enableCopySync = false } = options;\n const { from, globOptions = {} } = pattern;\n const targetPattern: CopyPattern = { ...pattern };\n const normalizedFrom = path.normalize(from);\n const defaultAbsContext = options.defaultContext;\n\n // when context is relative path\n if (typeof pattern.context === 'string') {\n targetPattern.context = path.isAbsolute(pattern.context)\n ? pattern.context\n : path.join(appDirectory, pattern.context);\n } else {\n targetPattern.context = defaultAbsContext;\n }\n\n let absoluteFrom;\n if (path.isAbsolute(normalizedFrom)) {\n absoluteFrom = normalizedFrom;\n } else {\n absoluteFrom = path.resolve(targetPattern.context, normalizedFrom);\n }\n\n let stats;\n try {\n stats = await fs.stat(absoluteFrom);\n } catch (error) {\n // Do Nothing\n }\n\n let fromType: 'file' | 'dir' | 'glob';\n if (stats) {\n if (stats.isDirectory()) {\n fromType = 'dir';\n } else if (stats.isFile()) {\n fromType = 'file';\n } else {\n fromType = 'glob';\n }\n } else {\n fromType = 'glob';\n }\n\n let glob;\n\n switch (fromType) {\n case 'dir':\n targetPattern.context = absoluteFrom;\n glob = path.posix.join(\n fastGlob.escapePath(normalizePath(path.resolve(absoluteFrom))),\n '**/*',\n );\n absoluteFrom = path.join(absoluteFrom, '**/*');\n\n if (typeof globOptions.dot === 'undefined') {\n globOptions.dot = true;\n }\n break;\n case 'file':\n targetPattern.context = path.dirname(absoluteFrom);\n glob = fastGlob.escapePath(normalizePath(path.resolve(absoluteFrom)));\n\n if (typeof globOptions.dot === 'undefined') {\n globOptions.dot = true;\n }\n break;\n case 'glob':\n default: {\n glob = path.isAbsolute(from)\n ? from\n : path.posix.join(\n fastGlob.escapePath(\n normalizePath(\n path.resolve(targetPattern.context ?? appDirectory),\n ),\n ),\n from,\n );\n }\n }\n\n const globEntries = await globby(glob, {\n ...{ followSymbolicLinks: true },\n ...(targetPattern.globOptions || {}),\n cwd: targetPattern.context,\n objectMode: true,\n });\n const { default: pMap } = await import('../../compiled/p-map');\n pMap(globEntries, async globEntry => {\n if (!globEntry.dirent.isFile()) {\n return;\n }\n\n const from = globEntry.path;\n const absoluteFrom = path.resolve(targetPattern.context!, from);\n const to = path.normalize(\n typeof targetPattern.to !== 'undefined' ? targetPattern.to : '',\n );\n const toType =\n path.extname(to) === '' || to.slice(-1) === path.sep ? 'dir' : 'file';\n\n const relativeFrom = path.relative(\n targetPattern.context ?? defaultAbsContext,\n absoluteFrom,\n );\n\n const filename = toType === 'dir' ? path.join(to, relativeFrom) : to;\n\n const absoluteTo = path.isAbsolute(filename)\n ? filename\n : path.join(options.outDir, filename);\n\n if (options.watch) {\n watchMap.set(absoluteFrom, absoluteTo);\n }\n\n if (enableCopySync) {\n fs.copySync(absoluteFrom, absoluteTo);\n } else {\n await fs.copy(absoluteFrom, absoluteTo);\n }\n });\n};\n\nexport const watchCopyFiles = async (\n options: {\n appDirectory: string;\n },\n copyConfig: CopyOptions,\n) => {\n const { watch, fs, logger, createDebugger } = await import(\n '@modern-js/utils'\n );\n const debug = createDebugger('module-tools:copy-watch');\n\n debug('watchMap', watchMap);\n\n const { SectionTitleStatus, CopyLogPrefix } = await import(\n '../constants/log'\n );\n const { watchSectionTitle } = await import('../utils/log');\n const watchList = Array.from(watchMap.keys());\n\n debug('watchList', watchList);\n\n watch(watchList, async ({ changedFilePath, changeType }) => {\n const result = watchMap.get(changedFilePath);\n if (!result) {\n return;\n }\n\n const formatFilePath = path.relative(options.appDirectory, changedFilePath);\n\n if (changeType === 'unlink') {\n fs.remove(result);\n logger.log(\n await watchSectionTitle(\n CopyLogPrefix,\n SectionTitleStatus.Log,\n `${formatFilePath} removed`,\n ),\n );\n return;\n }\n\n if (copyConfig?.options?.enableCopySync) {\n fs.copySync(changedFilePath, result);\n } else {\n await fs.copy(changedFilePath, result);\n }\n\n logger.log(\n await watchSectionTitle(\n CopyLogPrefix,\n SectionTitleStatus.Log,\n `${formatFilePath} changed`,\n ),\n );\n });\n};\n\nexport const copyTask = async (\n buildConfig: BaseBuildConfig,\n options: {\n appDirectory: string;\n watch?: boolean;\n },\n) => {\n const copyConfig = buildConfig.copy;\n\n if (!copyConfig.patterns || copyConfig.patterns.length === 0) {\n return;\n }\n\n const { default: pMap } = await import('../../compiled/p-map');\n const concurrency = copyConfig?.options?.concurrency || 100;\n try {\n await pMap(\n copyConfig.patterns,\n async copyOption => {\n await runPatterns(copyOption, {\n ...options,\n enableCopySync: copyConfig.options?.enableCopySync,\n outDir: buildConfig.outDir,\n defaultContext: buildConfig.sourceDir,\n });\n },\n { concurrency },\n );\n } catch (e) {\n if (e instanceof Error) {\n console.error(`copy error: ${e.message}`);\n }\n }\n if (options.watch) {\n await watchCopyFiles(options, copyConfig);\n }\n};\n"]}
@@ -15,8 +15,8 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var legacy_schema_exports = {};
19
- __export(legacy_schema_exports, {
18
+ var legacySchema_exports = {};
19
+ __export(legacySchema_exports, {
20
20
  buildSchema: () => buildSchema,
21
21
  legacySchema: () => legacySchema,
22
22
  outputSchema: () => outputSchema,
@@ -25,7 +25,7 @@ __export(legacy_schema_exports, {
25
25
  targets: () => targets,
26
26
  toolsSchema: () => toolsSchema
27
27
  });
28
- module.exports = __toCommonJS(legacy_schema_exports);
28
+ module.exports = __toCommonJS(legacySchema_exports);
29
29
  const targets = [
30
30
  "es5",
31
31
  "es6",
@@ -224,4 +224,4 @@ const legacySchema = [...sourceSchema, ...outputSchema, ...toolsSchema];
224
224
  toolsSchema
225
225
  });
226
226
 
227
- //# sourceMappingURL=legacy-schema.js.map
227
+ //# sourceMappingURL=legacySchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":[],"sources":["../../src/config/legacySchema.ts"],"sourcesContent":["export const targets = [\n 'es5',\n 'es6',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n // The default target is esnext which means that by default, assume all of the latest JavaScript and CSS features are supported.\n 'esnext',\n];\n\nexport const presets = [\n 'npm-library',\n 'npm-library-with-umd',\n 'npm-component',\n 'npm-component-with-umd',\n ...[\n 'npm-library',\n 'npm-library-with-umd',\n 'npm-component',\n 'npm-component-with-umd',\n ].reduce<string[]>((ret, crt) => {\n return [...ret, ...targets.map(t => `${crt}-${t}`)];\n }, []),\n];\n\nconst properties = {\n target: {\n enum: targets,\n },\n format: {\n enum: ['cjs', 'esm', 'umd'],\n },\n sourceMap: {\n enum: [true, false, 'inline', 'external'],\n },\n buildType: {\n enum: ['bundle', 'bundleless'],\n },\n bundleOptions: {\n type: 'object',\n properties: {\n getModuleId: {\n instanceof: 'Function',\n },\n entry: {\n type: 'object',\n },\n splitting: {\n type: 'boolean',\n },\n externals: {\n type: 'array',\n items: {\n anyOf: [\n {\n instanceof: 'RegExp',\n },\n {\n typeof: 'string',\n },\n ],\n },\n },\n platform: {\n enum: ['node', 'browser'],\n },\n minify: {\n enum: ['esbuild', 'terser', false],\n },\n skipDeps: {\n type: 'boolean',\n },\n },\n },\n bundlelessOptions: {\n type: 'object',\n properties: {\n sourceDir: {\n type: 'string',\n },\n style: {\n type: 'object',\n properties: {\n compileMode: {\n enum: ['all', 'only-compiled-code', 'only-source-code', false],\n },\n path: { type: 'string' },\n },\n },\n static: {\n type: 'object',\n properties: {\n path: { type: 'string' },\n },\n },\n },\n },\n\n tsconfig: {\n type: 'string',\n },\n enableDts: {\n type: 'boolean',\n },\n dtsOnly: {\n type: 'boolean',\n },\n\n outputPath: { type: 'string' },\n};\n\nexport const buildSchema = [\n {\n target: 'output.buildConfig',\n schema: {\n if: {\n type: 'array',\n },\n then: {\n items: [{ type: 'object', properties, additionalProperties: false }],\n },\n else: { type: 'object', properties, additionalProperties: false },\n },\n },\n {\n target: 'output.buildPreset',\n schema: {\n enum: presets,\n },\n },\n];\n\nconst PACKAGE_MODE_LIST = [\n 'universal-js',\n 'universal-js-lite',\n 'browser-js',\n 'browser-js-lite',\n 'node-js',\n];\n\nexport const outputSchema = [\n /** packageMode will deprecated */\n {\n target: 'output.packageMode',\n schema: { enum: PACKAGE_MODE_LIST },\n },\n /** packageFields will deprecated */\n {\n target: 'output.packageFields',\n schema: { typeof: 'object' },\n },\n /** enableSourceMap will deprecated */\n {\n target: 'output.enableSourceMap',\n schema: { typeof: 'boolean' },\n },\n /** importStyle will deprecated */\n {\n target: 'output.importStyle',\n schema: {\n enum: ['compiled-code', 'source-code'],\n },\n },\n /** assetsPath will deprecated */\n {\n target: 'output.assetsPath',\n schema: {\n typeof: 'string',\n default: 'styles',\n },\n },\n ...buildSchema,\n];\n\nexport const sourceSchema = [\n {\n target: 'source.jsxTransformRuntime',\n schema: {\n // https://babeljs.io/docs/en/babel-preset-react#runtime\n enum: ['classic', 'automatic'],\n },\n },\n];\n\nexport const toolsSchema = [\n {\n target: 'tools.speedy',\n schema: {\n typeof: ['object', 'function'],\n },\n },\n];\n\nexport const legacySchema = [...sourceSchema, ...outputSchema, ...toolsSchema];\n"]}
@@ -71,7 +71,7 @@ __export(normalize_exports, {
71
71
  module.exports = __toCommonJS(normalize_exports);
72
72
  var import_path = __toESM(require("path"));
73
73
  const transformBuildPresetToBaseConfigs = (options, preset) => __async(void 0, null, function* () {
74
- const { BuildInPreset, presetList } = yield Promise.resolve().then(() => __toESM(require("../constants/build-presets")));
74
+ const { BuildInPreset, presetList } = yield Promise.resolve().then(() => __toESM(require("../constants/buildPresets")));
75
75
  const { addInputToPreset } = yield Promise.resolve().then(() => __toESM(require("../utils/input")));
76
76
  if (typeof preset === "function") {
77
77
  const extendPreset = (presetName, extendConfig) => {
@@ -167,7 +167,7 @@ const normalizeBuildConfig = (api, context, buildCmdOptions) => __async(void 0,
167
167
  const { isLegacyUserConfig } = yield Promise.resolve().then(() => __toESM(require("../utils/config")));
168
168
  let config = api.useConfigContext();
169
169
  if (isLegacyUserConfig(config)) {
170
- const { createUserConfigFromLegacy } = yield Promise.resolve().then(() => __toESM(require("./transform-legacy-config")));
170
+ const { createUserConfigFromLegacy } = yield Promise.resolve().then(() => __toESM(require("./transformLegacyConfig")));
171
171
  config = yield createUserConfigFromLegacy(config);
172
172
  }
173
173
  const { buildConfig, buildPreset } = config;
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":["config"],"sources":["../../src/config/normalize.ts"],"sourcesContent":["import path from 'path';\nimport type { PluginAPI } from '@modern-js/core';\nimport type {\n ModuleUserConfig,\n ModuleLegacyUserConfig,\n BaseBuildConfig,\n BuildPreset,\n PartialBuildConfig,\n PartialBaseBuildConfig,\n ModuleContext,\n BuildCommandOptions,\n ModuleTools,\n} from '../types';\n\nexport const transformBuildPresetToBaseConfigs = async (\n options: {\n context: ModuleContext;\n buildCmdOptions: BuildCommandOptions;\n },\n preset?: BuildPreset,\n): Promise<BaseBuildConfig[]> => {\n const { BuildInPreset, presetList } = await import(\n '../constants/build-presets'\n );\n const { addInputToPreset } = await import('../utils/input');\n\n if (typeof preset === 'function') {\n const extendPreset = (\n presetName: keyof typeof BuildInPreset,\n extendConfig: PartialBaseBuildConfig,\n ) => {\n const originalBuildConfig = BuildInPreset[presetName];\n if (Array.isArray(originalBuildConfig)) {\n return originalBuildConfig.map(config => {\n return {\n ...config,\n ...extendConfig,\n };\n });\n } else if (originalBuildConfig) {\n return {\n ...originalBuildConfig,\n ...extendConfig,\n };\n }\n\n return extendConfig;\n };\n const partialBuildConfig = await preset({\n preset: BuildInPreset,\n extendPreset,\n });\n\n if (!partialBuildConfig) {\n throw new Error(\n 'The `buildPreset` function does not allow no return value',\n );\n }\n\n return transformBuildConfigToBaseConfigs(partialBuildConfig, options);\n }\n\n const inPresetList = (p: string): p is keyof typeof presetList =>\n p in presetList;\n\n if (preset && inPresetList(preset)) {\n return transformBuildConfigToBaseConfigs(\n await addInputToPreset(presetList[preset], options.context),\n options,\n );\n }\n\n // buildConfig and buildPreset is undefined\n return transformBuildConfigToBaseConfigs({}, options);\n};\n\nexport const transformBuildConfigToBaseConfigs = async (\n config: PartialBuildConfig,\n options: {\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n): Promise<BaseBuildConfig[]> => {\n const { validPartialBuildConfig } = await import('../utils/config');\n validPartialBuildConfig(config);\n const { buildCmdOptions } = options;\n const { ensureArray } = await import('@modern-js/utils');\n const { assignTsConfigPath } = await import('../utils/dts');\n const partialConfigs = ensureArray(config);\n const configs = await Promise.all(\n partialConfigs.map(async config => {\n let newConfig = await requiredBuildConfig(config, options.context);\n newConfig = await assignTsConfigPath(newConfig, buildCmdOptions);\n newConfig = await transformToAbsPath(newConfig, options);\n return newConfig;\n }),\n );\n return configs;\n};\n\nexport const requiredBuildConfig = async (\n partialBuildConfig: PartialBaseBuildConfig,\n context: ModuleContext,\n): Promise<BaseBuildConfig> => {\n const { mergeDefaultBaseConfig } = await import('../utils/config');\n const mergedConfig = await mergeDefaultBaseConfig(\n partialBuildConfig,\n context,\n );\n return mergedConfig;\n};\n\nexport const transformToAbsPath = async (\n baseConfig: BaseBuildConfig,\n options: { context: ModuleContext; buildCmdOptions: BuildCommandOptions },\n) => {\n const { slash } = await import('@modern-js/utils');\n const newConfig = baseConfig;\n const { normalizeInput } = await import('../utils/input');\n const { context } = options;\n\n newConfig.outDir = path.isAbsolute(newConfig.outDir)\n ? newConfig.outDir\n : path.join(context.appDirectory, newConfig.outDir);\n\n newConfig.sourceDir = slash(\n path.resolve(context.appDirectory, baseConfig.sourceDir),\n );\n newConfig.input = await normalizeInput(newConfig, {\n appDirectory: context.appDirectory,\n });\n\n // dts path\n if (newConfig.dts) {\n newConfig.dts.distPath = path.join(\n newConfig.outDir,\n newConfig.dts.distPath,\n );\n newConfig.dts.tsconfigPath = path.join(\n context.appDirectory,\n newConfig.dts.tsconfigPath,\n );\n }\n\n // Maybe need transform 'config.copy'\n\n return newConfig;\n};\n\nexport const checkConfig = async (config: ModuleUserConfig) => {\n const { buildConfig, buildPreset } = config;\n if (buildConfig && buildPreset) {\n const { logger } = await import('@modern-js/utils');\n logger.warn(\n `因为同时出现 'buildConfig' 和 'buildPreset' 配置,因此仅 'buildConfig' 配置生效`,\n );\n }\n};\n\nexport const normalizeBuildConfig = async (\n api: PluginAPI<ModuleTools>,\n context: ModuleContext,\n buildCmdOptions: BuildCommandOptions,\n): Promise<BaseBuildConfig[]> => {\n const { isLegacyUserConfig } = await import('../utils/config');\n let config = api.useConfigContext() as unknown as ModuleUserConfig;\n\n if (isLegacyUserConfig(config as { legacy?: boolean })) {\n const { createUserConfigFromLegacy } = await import(\n './transform-legacy-config'\n );\n config = await createUserConfigFromLegacy(config as ModuleLegacyUserConfig);\n }\n\n const { buildConfig, buildPreset } = config;\n\n await checkConfig(config);\n\n let baseConfigs: BaseBuildConfig[];\n\n // buildConfig High priority\n if (buildConfig) {\n baseConfigs = await transformBuildConfigToBaseConfigs(buildConfig, {\n buildCmdOptions,\n context,\n });\n } else {\n baseConfigs = await transformBuildPresetToBaseConfigs(\n {\n context,\n buildCmdOptions,\n },\n buildPreset,\n );\n }\n\n return baseConfigs;\n};\n"]}
1
+ {"version":3,"file":null,"mappings":"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","names":["config"],"sources":["../../src/config/normalize.ts"],"sourcesContent":["import path from 'path';\nimport type { PluginAPI } from '@modern-js/core';\nimport type {\n ModuleUserConfig,\n ModuleLegacyUserConfig,\n BaseBuildConfig,\n BuildPreset,\n PartialBuildConfig,\n PartialBaseBuildConfig,\n ModuleContext,\n BuildCommandOptions,\n ModuleTools,\n} from '../types';\n\nexport const transformBuildPresetToBaseConfigs = async (\n options: {\n context: ModuleContext;\n buildCmdOptions: BuildCommandOptions;\n },\n preset?: BuildPreset,\n): Promise<BaseBuildConfig[]> => {\n const { BuildInPreset, presetList } = await import(\n '../constants/buildPresets'\n );\n const { addInputToPreset } = await import('../utils/input');\n\n if (typeof preset === 'function') {\n const extendPreset = (\n presetName: keyof typeof BuildInPreset,\n extendConfig: PartialBaseBuildConfig,\n ) => {\n const originalBuildConfig = BuildInPreset[presetName];\n if (Array.isArray(originalBuildConfig)) {\n return originalBuildConfig.map(config => {\n return {\n ...config,\n ...extendConfig,\n };\n });\n } else if (originalBuildConfig) {\n return {\n ...originalBuildConfig,\n ...extendConfig,\n };\n }\n\n return extendConfig;\n };\n const partialBuildConfig = await preset({\n preset: BuildInPreset,\n extendPreset,\n });\n\n if (!partialBuildConfig) {\n throw new Error(\n 'The `buildPreset` function does not allow no return value',\n );\n }\n\n return transformBuildConfigToBaseConfigs(partialBuildConfig, options);\n }\n\n const inPresetList = (p: string): p is keyof typeof presetList =>\n p in presetList;\n\n if (preset && inPresetList(preset)) {\n return transformBuildConfigToBaseConfigs(\n await addInputToPreset(presetList[preset], options.context),\n options,\n );\n }\n\n // buildConfig and buildPreset is undefined\n return transformBuildConfigToBaseConfigs({}, options);\n};\n\nexport const transformBuildConfigToBaseConfigs = async (\n config: PartialBuildConfig,\n options: {\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n): Promise<BaseBuildConfig[]> => {\n const { validPartialBuildConfig } = await import('../utils/config');\n validPartialBuildConfig(config);\n const { buildCmdOptions } = options;\n const { ensureArray } = await import('@modern-js/utils');\n const { assignTsConfigPath } = await import('../utils/dts');\n const partialConfigs = ensureArray(config);\n const configs = await Promise.all(\n partialConfigs.map(async config => {\n let newConfig = await requiredBuildConfig(config, options.context);\n newConfig = await assignTsConfigPath(newConfig, buildCmdOptions);\n newConfig = await transformToAbsPath(newConfig, options);\n return newConfig;\n }),\n );\n return configs;\n};\n\nexport const requiredBuildConfig = async (\n partialBuildConfig: PartialBaseBuildConfig,\n context: ModuleContext,\n): Promise<BaseBuildConfig> => {\n const { mergeDefaultBaseConfig } = await import('../utils/config');\n const mergedConfig = await mergeDefaultBaseConfig(\n partialBuildConfig,\n context,\n );\n return mergedConfig;\n};\n\nexport const transformToAbsPath = async (\n baseConfig: BaseBuildConfig,\n options: { context: ModuleContext; buildCmdOptions: BuildCommandOptions },\n) => {\n const { slash } = await import('@modern-js/utils');\n const newConfig = baseConfig;\n const { normalizeInput } = await import('../utils/input');\n const { context } = options;\n\n newConfig.outDir = path.isAbsolute(newConfig.outDir)\n ? newConfig.outDir\n : path.join(context.appDirectory, newConfig.outDir);\n\n newConfig.sourceDir = slash(\n path.resolve(context.appDirectory, baseConfig.sourceDir),\n );\n newConfig.input = await normalizeInput(newConfig, {\n appDirectory: context.appDirectory,\n });\n\n // dts path\n if (newConfig.dts) {\n newConfig.dts.distPath = path.join(\n newConfig.outDir,\n newConfig.dts.distPath,\n );\n newConfig.dts.tsconfigPath = path.join(\n context.appDirectory,\n newConfig.dts.tsconfigPath,\n );\n }\n\n // Maybe need transform 'config.copy'\n\n return newConfig;\n};\n\nexport const checkConfig = async (config: ModuleUserConfig) => {\n const { buildConfig, buildPreset } = config;\n if (buildConfig && buildPreset) {\n const { logger } = await import('@modern-js/utils');\n logger.warn(\n `因为同时出现 'buildConfig' 和 'buildPreset' 配置,因此仅 'buildConfig' 配置生效`,\n );\n }\n};\n\nexport const normalizeBuildConfig = async (\n api: PluginAPI<ModuleTools>,\n context: ModuleContext,\n buildCmdOptions: BuildCommandOptions,\n): Promise<BaseBuildConfig[]> => {\n const { isLegacyUserConfig } = await import('../utils/config');\n let config = api.useConfigContext() as unknown as ModuleUserConfig;\n\n if (isLegacyUserConfig(config as { legacy?: boolean })) {\n const { createUserConfigFromLegacy } = await import(\n './transformLegacyConfig'\n );\n config = await createUserConfigFromLegacy(config as ModuleLegacyUserConfig);\n }\n\n const { buildConfig, buildPreset } = config;\n\n await checkConfig(config);\n\n let baseConfigs: BaseBuildConfig[];\n\n // buildConfig High priority\n if (buildConfig) {\n baseConfigs = await transformBuildConfigToBaseConfigs(buildConfig, {\n buildCmdOptions,\n context,\n });\n } else {\n baseConfigs = await transformBuildPresetToBaseConfigs(\n {\n context,\n buildCmdOptions,\n },\n buildPreset,\n );\n }\n\n return baseConfigs;\n};\n"]}
@@ -718,4 +718,4 @@ export declare const schema: ({
718
718
  type: string;
719
719
  };
720
720
  })[];
721
- export { legacySchema } from './legacy-schema';
721
+ export { legacySchema } from './legacySchema';
@@ -20,13 +20,13 @@ __export(schema_exports, {
20
20
  buildConfig: () => buildConfig,
21
21
  buildPreset: () => buildPreset,
22
22
  legacy: () => legacy,
23
- legacySchema: () => import_legacy_schema.legacySchema,
23
+ legacySchema: () => import_legacySchema.legacySchema,
24
24
  presets: () => presets,
25
25
  schema: () => schema,
26
26
  targets: () => targets
27
27
  });
28
28
  module.exports = __toCommonJS(schema_exports);
29
- var import_legacy_schema = require("./legacy-schema");
29
+ var import_legacySchema = require("./legacySchema");
30
30
  const targets = [
31
31
  "es5",
32
32
  "es6",
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":[],"sources":["../../src/config/schema.ts"],"sourcesContent":["export const targets = [\n 'es5',\n 'es6',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n 'es2021',\n 'es2022',\n // The default target is esnext which means that by default, assume all of the latest JavaScript and CSS features are supported.\n 'esnext',\n];\n\nexport const presets = [\n 'npm-library',\n 'npm-library-with-umd',\n 'npm-component',\n 'npm-component-with-umd',\n ...[\n 'npm-library',\n 'npm-library-with-umd',\n 'npm-component',\n 'npm-component-with-umd',\n ].reduce<string[]>((ret, crt) => {\n return [...ret, ...targets.map(t => `${crt}-${t}`)];\n }, []),\n 'modern-js-node',\n 'modern-js-universal',\n];\nconst buildConfigProperties = {\n alias: {\n typeof: ['object', 'function'],\n },\n asset: {\n type: 'object',\n },\n autoExternal: {\n if: {\n type: 'object',\n },\n then: {\n properties: {\n dependencies: { type: 'boolean' },\n peerDependencies: { type: 'boolean' },\n },\n },\n else: { type: 'boolean' },\n },\n buildType: {\n enum: ['bundle', 'bundleless'],\n },\n copy: {\n type: 'object',\n properties: {\n patterns: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n from: { type: 'string' },\n to: { type: 'string' },\n context: { type: 'string' },\n globOptions: { type: 'object' },\n },\n },\n },\n options: {\n type: 'object',\n properties: {\n concurrency: {\n type: 'number',\n },\n },\n },\n },\n },\n define: {\n typeof: 'object',\n },\n dts: {\n if: { type: 'object' },\n then: {\n properties: {\n distPath: { type: 'string' },\n tsconfigPath: { type: 'string' },\n },\n },\n else: { type: 'boolean' },\n },\n externals: {\n type: 'array',\n items: {\n anyOf: [\n {\n instanceof: 'RegExp',\n },\n {\n typeof: 'string',\n },\n ],\n },\n },\n format: {\n enum: ['cjs', 'esm', 'iife', 'umd'],\n },\n input: {\n type: ['array', 'object'],\n },\n jsx: {\n enum: ['automatic', 'transform'],\n },\n minify: {\n if: {\n type: 'object',\n },\n else: { enum: ['esbuild', 'terser', false] },\n },\n outDir: { type: 'string' },\n platform: {\n enum: ['node', 'browser'],\n },\n sourceDir: {\n typeof: 'string',\n },\n sourceMap: {\n enum: [true, false, 'inline', 'external'],\n },\n splitting: {\n type: 'boolean',\n },\n style: {\n // TODO: add properties\n type: 'object',\n },\n target: {\n enum: targets,\n },\n umdGlobals: {\n type: 'object',\n },\n umdModuleName: {\n anyOf: [\n {\n instanceof: 'Function',\n },\n {\n typeof: 'string',\n },\n ],\n },\n sideEffects: {\n anyOf: [\n {\n type: 'array',\n items: {\n instanceof: 'RegExp',\n },\n },\n {\n type: 'boolean',\n },\n {\n instanceof: 'Function',\n },\n ],\n },\n};\nexport const buildConfig = {\n target: 'buildConfig',\n schema: {\n if: {\n type: 'array',\n },\n then: {\n items: [\n {\n type: 'object',\n properties: buildConfigProperties,\n },\n ],\n },\n else: {\n type: 'object',\n properties: buildConfigProperties,\n },\n },\n};\nexport const buildPreset = {\n target: 'buildPreset',\n schema: {\n if: { type: 'string' },\n then: {\n enum: presets,\n },\n else: { typeof: 'function' },\n },\n};\n\nexport const legacy = {\n target: 'legacy',\n schema: {\n type: 'boolean',\n },\n};\n\nexport const schema = [buildConfig, buildPreset, legacy];\nexport { legacySchema } from './legacy-schema';\n"]}
1
+ {"version":3,"file":null,"mappings":"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","names":[],"sources":["../../src/config/schema.ts"],"sourcesContent":["export const targets = [\n 'es5',\n 'es6',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n 'es2021',\n 'es2022',\n // The default target is esnext which means that by default, assume all of the latest JavaScript and CSS features are supported.\n 'esnext',\n];\n\nexport const presets = [\n 'npm-library',\n 'npm-library-with-umd',\n 'npm-component',\n 'npm-component-with-umd',\n ...[\n 'npm-library',\n 'npm-library-with-umd',\n 'npm-component',\n 'npm-component-with-umd',\n ].reduce<string[]>((ret, crt) => {\n return [...ret, ...targets.map(t => `${crt}-${t}`)];\n }, []),\n 'modern-js-node',\n 'modern-js-universal',\n];\nconst buildConfigProperties = {\n alias: {\n typeof: ['object', 'function'],\n },\n asset: {\n type: 'object',\n },\n autoExternal: {\n if: {\n type: 'object',\n },\n then: {\n properties: {\n dependencies: { type: 'boolean' },\n peerDependencies: { type: 'boolean' },\n },\n },\n else: { type: 'boolean' },\n },\n buildType: {\n enum: ['bundle', 'bundleless'],\n },\n copy: {\n type: 'object',\n properties: {\n patterns: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n from: { type: 'string' },\n to: { type: 'string' },\n context: { type: 'string' },\n globOptions: { type: 'object' },\n },\n },\n },\n options: {\n type: 'object',\n properties: {\n concurrency: {\n type: 'number',\n },\n },\n },\n },\n },\n define: {\n typeof: 'object',\n },\n dts: {\n if: { type: 'object' },\n then: {\n properties: {\n distPath: { type: 'string' },\n tsconfigPath: { type: 'string' },\n },\n },\n else: { type: 'boolean' },\n },\n externals: {\n type: 'array',\n items: {\n anyOf: [\n {\n instanceof: 'RegExp',\n },\n {\n typeof: 'string',\n },\n ],\n },\n },\n format: {\n enum: ['cjs', 'esm', 'iife', 'umd'],\n },\n input: {\n type: ['array', 'object'],\n },\n jsx: {\n enum: ['automatic', 'transform'],\n },\n minify: {\n if: {\n type: 'object',\n },\n else: { enum: ['esbuild', 'terser', false] },\n },\n outDir: { type: 'string' },\n platform: {\n enum: ['node', 'browser'],\n },\n sourceDir: {\n typeof: 'string',\n },\n sourceMap: {\n enum: [true, false, 'inline', 'external'],\n },\n splitting: {\n type: 'boolean',\n },\n style: {\n // TODO: add properties\n type: 'object',\n },\n target: {\n enum: targets,\n },\n umdGlobals: {\n type: 'object',\n },\n umdModuleName: {\n anyOf: [\n {\n instanceof: 'Function',\n },\n {\n typeof: 'string',\n },\n ],\n },\n sideEffects: {\n anyOf: [\n {\n type: 'array',\n items: {\n instanceof: 'RegExp',\n },\n },\n {\n type: 'boolean',\n },\n {\n instanceof: 'Function',\n },\n ],\n },\n};\nexport const buildConfig = {\n target: 'buildConfig',\n schema: {\n if: {\n type: 'array',\n },\n then: {\n items: [\n {\n type: 'object',\n properties: buildConfigProperties,\n },\n ],\n },\n else: {\n type: 'object',\n properties: buildConfigProperties,\n },\n },\n};\nexport const buildPreset = {\n target: 'buildPreset',\n schema: {\n if: { type: 'string' },\n then: {\n enum: presets,\n },\n else: { typeof: 'function' },\n },\n};\n\nexport const legacy = {\n target: 'legacy',\n schema: {\n type: 'boolean',\n },\n};\n\nexport const schema = [buildConfig, buildPreset, legacy];\nexport { legacySchema } from './legacySchema';\n"]}
@@ -62,8 +62,8 @@ var __async = (__this, __arguments, generator) => {
62
62
  step((generator = generator.apply(__this, __arguments)).next());
63
63
  });
64
64
  };
65
- var transform_legacy_config_exports = {};
66
- __export(transform_legacy_config_exports, {
65
+ var transformLegacyConfig_exports = {};
66
+ __export(transformLegacyConfig_exports, {
67
67
  commonTransformAndLog: () => commonTransformAndLog,
68
68
  createConfigByBuildConfig: () => createConfigByBuildConfig,
69
69
  createConfigByBuildPreset: () => createConfigByBuildPreset,
@@ -75,7 +75,7 @@ __export(transform_legacy_config_exports, {
75
75
  transformSourceToBuildConfig: () => transformSourceToBuildConfig,
76
76
  transformToolsToBuildConfig: () => transformToolsToBuildConfig
77
77
  });
78
- module.exports = __toCommonJS(transform_legacy_config_exports);
78
+ module.exports = __toCommonJS(transformLegacyConfig_exports);
79
79
  var import_path = __toESM(require("path"));
80
80
  const transformToolsToBuildConfig = (buildConfig, legacyUserConfig) => {
81
81
  var _a, _b, _c, _d, _e;
@@ -354,7 +354,7 @@ const createConfigByPackageFields = (legacyUserConfig) => __async(void 0, null,
354
354
  const createConfigByPackageMode = (legacyUserConfig) => __async(void 0, null, function* () {
355
355
  var _a;
356
356
  const finalConfig = yield commonTransformAndLog(legacyUserConfig);
357
- const { legacyPresets } = yield Promise.resolve().then(() => __toESM(require("../constants/legacy-build-presets")));
357
+ const { legacyPresets } = yield Promise.resolve().then(() => __toESM(require("../constants/legacyBuildPresets")));
358
358
  const packageMode = legacyUserConfig.output.packageMode;
359
359
  const buildConfigs = legacyPresets[packageMode];
360
360
  for (const buildConfig of buildConfigs) {
@@ -376,7 +376,7 @@ const createConfigByPackageMode = (legacyUserConfig) => __async(void 0, null, fu
376
376
  const createConfigByDefault = (legacyUserConfig) => __async(void 0, null, function* () {
377
377
  var _a;
378
378
  const finalConfig = yield commonTransformAndLog(legacyUserConfig);
379
- const { legacyPresets } = yield Promise.resolve().then(() => __toESM(require("../constants/legacy-build-presets")));
379
+ const { legacyPresets } = yield Promise.resolve().then(() => __toESM(require("../constants/legacyBuildPresets")));
380
380
  const buildConfigs = legacyPresets["universal-js"];
381
381
  for (const buildConfig of buildConfigs) {
382
382
  transformSourceToBuildConfig(buildConfig, legacyUserConfig);
@@ -425,4 +425,4 @@ const createUserConfigFromLegacy = (config) => __async(void 0, null, function* (
425
425
  transformToolsToBuildConfig
426
426
  });
427
427
 
428
- //# sourceMappingURL=transform-legacy-config.js.map
428
+ //# sourceMappingURL=transformLegacyConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"mappings":"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","names":["_a","_b"],"sources":["../../src/config/transformLegacyConfig.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport path from 'path';\nimport type {\n ModuleUserConfig,\n ModuleToolsLegacyUserConfig,\n PartialBaseBuildConfig,\n} from '../types';\nimport type { LegacyBaseBuildConfig } from '../types/legacyConfig/output';\nimport {\n PostCSSFunction,\n PostCSSLoaderOptions,\n} from '../types/legacyConfig/tools';\n\n/**\n * transform `tools` to buildConfig\n * include tools.less/sass/postcss/tailwindcss\n * @param buildConfig PartialBaseBuildConfig\n * @param legacyUserConfig Readonly<ModuleToolsLegacyUserConfig>\n */\nexport const transformToolsToBuildConfig = (\n buildConfig: PartialBaseBuildConfig,\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n) => {\n if (!legacyUserConfig.tools) {\n return;\n }\n const legacyTools = legacyUserConfig.tools;\n buildConfig.style = {\n ...(buildConfig.style ?? {}),\n less: legacyTools.less ?? {},\n sass: legacyTools.sass ?? {},\n tailwindcss: legacyTools.tailwindcss ?? {},\n };\n\n if (legacyTools.postcss) {\n buildConfig.style.postcss =\n typeof legacyTools.postcss === 'function'\n ? (opts, utils) => {\n const legacyOpts: PostCSSLoaderOptions = {\n postcssOptions: {\n plugins: opts.plugins,\n },\n };\n (legacyTools.postcss as PostCSSFunction)(legacyOpts, utils);\n opts.plugins = legacyOpts.postcssOptions?.plugins;\n opts.processOptions = legacyOpts.postcssOptions;\n }\n : {\n plugins: legacyTools.postcss.postcssOptions?.plugins,\n processOptions: legacyTools.postcss.postcssOptions,\n };\n }\n};\n\n/**\n * transform `source` to buildConfig\n *\n * @param buildConfig PartialBaseBuildConfig\n * @param legacyUserConfig Readonly<ModuleToolsLegacyUserConfig>\n *\n * NB: ignore source.designSystem in this function\n */\nexport const transformSourceToBuildConfig = (\n buildConfig: PartialBaseBuildConfig,\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n) => {\n if (!legacyUserConfig.source) {\n return;\n }\n const legacySource = legacyUserConfig.source;\n\n buildConfig.alias = legacySource.alias ?? {};\n\n buildConfig.define = {};\n legacySource.envVars?.forEach(envVar => {\n buildConfig.define![`process.env.${envVar}`] = process.env[\n envVar\n ] as string;\n });\n buildConfig.define = {\n ...buildConfig.define,\n ...legacySource.globalVars,\n };\n\n buildConfig.jsx =\n legacySource.jsxTransformRuntime === 'classic' ? 'transform' : 'automatic';\n};\n\nexport const transformOutputToBuildConfig = (\n buildConfig: PartialBaseBuildConfig,\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n) => {\n if (legacyUserConfig.output?.disableTsChecker) {\n buildConfig.dts = false;\n }\n\n if (legacyUserConfig.output?.disableSourceMap) {\n buildConfig.sourceMap = false;\n }\n};\n\nexport const commonTransformAndLog = async (\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n) => {\n const { logger } = await import('@modern-js/utils');\n const finalConfig: ModuleUserConfig = {};\n // source.designSystem\n finalConfig.designSystem = legacyUserConfig.source?.designSystem;\n\n if (legacyUserConfig.tools) {\n const legacyTools = legacyUserConfig.tools;\n if (legacyTools.babel) {\n logger.warn(\n '`tools.babel` is not support in legacy mode. Please check migrate documentation.',\n );\n }\n\n if (legacyTools.lodash) {\n logger.warn(\n '`tools.lodash` is not support in legacy mode. Please check migrate documentation.',\n );\n }\n\n if (legacyTools.jest) {\n finalConfig.testing = {\n jest: legacyTools.jest,\n };\n }\n }\n\n if (legacyUserConfig.output?.importStyle) {\n logger.warn(\n '`output.importStyle` is not support in legacy mode. Please check migrate documentation. By default, the style will be compiled',\n );\n }\n\n if (legacyUserConfig.output?.jsPath) {\n logger.warn('`output.jsPath` is not support in legacy mode.');\n }\n\n return finalConfig;\n};\n\nexport const createConfigByBuildConfig = async (\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n): Promise<ModuleUserConfig> => {\n const { logger } = await import('@modern-js/utils');\n const legacyBuildConfig = legacyUserConfig.output!.buildConfig!;\n\n const createBuildConfig = (config: LegacyBaseBuildConfig) => {\n const newConfig: PartialBaseBuildConfig = {};\n\n transformSourceToBuildConfig(newConfig, legacyUserConfig);\n\n // [legacy config: output] start\n const legacyPath = legacyUserConfig.output?.path ?? 'dist';\n newConfig.outDir = path.join(legacyPath, config.outputPath ?? './');\n\n // `bundlelessOptions.static.path` is a higher priority than `output?.assetsPath`\n newConfig.asset = {\n path: legacyUserConfig.output?.assetsPath,\n };\n\n // `buildConfig.sourceMap` is a higher priority than `output?.disableSourceMap`\n newConfig.sourceMap = !legacyUserConfig.output?.disableSourceMap;\n newConfig.sourceMap = config.sourceMap ?? config.buildType === 'bundle';\n\n newConfig.buildType = config.buildType ?? 'bundleless';\n newConfig.format = config.format ?? 'cjs';\n newConfig.target = config.target ?? 'esnext';\n\n newConfig.dts = legacyUserConfig.output?.disableTsChecker ? false : {};\n if (config.dtsOnly) {\n newConfig.dts = {\n ...(typeof newConfig.dts === 'object' ? newConfig.dts : {}),\n only: true,\n };\n }\n if (config.tsconfig) {\n newConfig.dts = {\n ...(typeof newConfig.dts === 'object' ? newConfig.dts : {}),\n tsconfigPath: config.tsconfig,\n };\n }\n // check enableDts must be last\n if (!config.enableDts) {\n newConfig.dts = false;\n }\n\n if (config.bundleOptions) {\n const { bundleOptions } = config;\n if (bundleOptions.entry) {\n newConfig.input = config.bundleOptions.entry;\n }\n\n newConfig.splitting = bundleOptions.splitting ?? false;\n newConfig.platform = bundleOptions.platform ?? 'node';\n newConfig.minify = bundleOptions.minify ?? false;\n newConfig.externals = bundleOptions.externals ?? [];\n newConfig.autoExternal = bundleOptions.skipDeps ?? true;\n }\n\n if (config.bundlelessOptions) {\n const { bundlelessOptions } = config;\n newConfig.sourceDir = bundlelessOptions.sourceDir ?? './src';\n\n if (bundlelessOptions.style) {\n logger.warn(\n 'bundlelessOptions.style is not support in legacy mode. Please check migrate documentation. By default, the style will be compiled.',\n );\n }\n\n // look the notes about `output?.assetsPath` above\n if (bundlelessOptions.static?.path) {\n newConfig.asset = {\n path: bundlelessOptions.static?.path,\n };\n }\n }\n\n if (legacyUserConfig.output?.importStyle) {\n logger.warn(\n '`output.importStyle` is not support in legacy mode. Please check migrate documentation. By default, the style will be compiled',\n );\n }\n\n if (legacyUserConfig.output?.jsPath) {\n logger.warn('`output.jsPath` is not support in legacy mode.');\n }\n // [legacy config: output] end\n\n if (legacyUserConfig.tools) {\n transformToolsToBuildConfig(newConfig, legacyUserConfig);\n }\n\n return newConfig;\n };\n\n const finalConfig: ModuleUserConfig = {};\n if (Array.isArray(legacyBuildConfig)) {\n finalConfig.buildConfig = legacyBuildConfig.map(config =>\n createBuildConfig(config),\n );\n } else {\n finalConfig.buildConfig = [createBuildConfig(legacyBuildConfig)];\n }\n\n // source.designSystem\n finalConfig.designSystem = legacyUserConfig.source?.designSystem;\n\n // output.copy\n if (legacyUserConfig.output?.copy) {\n finalConfig.buildConfig.push({\n copy: {\n patterns: legacyUserConfig.output.copy,\n },\n });\n }\n\n if (legacyUserConfig.tools) {\n const legacyTools = legacyUserConfig.tools;\n if (legacyTools.babel) {\n logger.warn(\n '`tools.babel` is not support in legacy mode. Please check migrate documentation.',\n );\n }\n\n if (legacyTools.lodash) {\n logger.warn(\n '`tools.lodash` is not support in legacy mode. Please check migrate documentation.',\n );\n }\n\n if (legacyTools.jest) {\n finalConfig.testing = {\n jest: legacyTools.jest,\n };\n }\n }\n\n return finalConfig;\n};\n\nexport const createConfigByBuildPreset = async (\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n): Promise<ModuleUserConfig> => {\n const legacyBuildPreset = legacyUserConfig.output?.buildPreset;\n const finalConfig = await commonTransformAndLog(legacyUserConfig);\n\n return {\n ...finalConfig,\n buildPreset({ preset }) {\n const buildConfigs = preset[legacyBuildPreset ?? 'npm-library'];\n buildConfigs.forEach(buildConfig => {\n transformSourceToBuildConfig(buildConfig, legacyUserConfig);\n transformToolsToBuildConfig(buildConfig, legacyUserConfig);\n transformOutputToBuildConfig(buildConfig, legacyUserConfig);\n });\n // output.copy\n if (legacyUserConfig.output?.copy) {\n buildConfigs.push({\n copy: {\n patterns: legacyUserConfig.output.copy,\n },\n });\n }\n return buildConfigs;\n },\n };\n};\n\nexport const createConfigByPackageFields = async (\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n): Promise<ModuleUserConfig> => {\n const finalConfig = await commonTransformAndLog(legacyUserConfig);\n\n const output = legacyUserConfig.output!;\n const packageFields = output.packageFields!;\n const buildConfigs: PartialBaseBuildConfig[] = [];\n\n const packageFieldsKeys = Object.keys(packageFields) as (\n | 'main'\n | 'jsnext:modern'\n | 'module'\n )[];\n\n for (const packageField of packageFieldsKeys) {\n const packageFieldValue = packageFields[packageField];\n let buildConfig: PartialBaseBuildConfig = {};\n let outDir;\n if (packageField === 'main') {\n outDir = `./${output.path ?? 'dist'}/js/node`;\n } else if (packageField === 'module') {\n outDir = `./${output.path ?? 'dist'}/js/treeshaking`;\n } else {\n outDir = `./${output.path ?? 'dist'}/js/modern`;\n }\n\n if (packageFieldValue === 'CJS+ES6') {\n buildConfig = {\n format: 'cjs',\n target: 'es6',\n outDir,\n };\n } else if (packageFieldValue === 'ESM+ES5') {\n buildConfig = {\n format: 'esm',\n target: 'es5',\n outDir,\n };\n } else if (packageFieldValue === 'ESM+ES6') {\n buildConfig = {\n format: 'esm',\n target: 'es6',\n outDir,\n };\n }\n\n transformSourceToBuildConfig(buildConfig, legacyUserConfig);\n transformToolsToBuildConfig(buildConfig, legacyUserConfig);\n transformOutputToBuildConfig(buildConfig, legacyUserConfig);\n\n buildConfigs.push(buildConfig);\n }\n\n buildConfigs.push({\n buildType: 'bundleless',\n outDir: './dist/types',\n dts: {\n only: true,\n },\n });\n\n // output.copy\n if (legacyUserConfig.output?.copy) {\n buildConfigs.push({\n copy: {\n patterns: legacyUserConfig.output.copy,\n },\n });\n }\n\n return {\n ...finalConfig,\n buildConfig: buildConfigs,\n };\n};\n\nexport const createConfigByPackageMode = async (\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n): Promise<ModuleUserConfig> => {\n const finalConfig = await commonTransformAndLog(legacyUserConfig);\n\n const { legacyPresets } = await import('../constants/legacyBuildPresets');\n const packageMode = legacyUserConfig.output!.packageMode!;\n const buildConfigs = legacyPresets[packageMode];\n\n for (const buildConfig of buildConfigs) {\n transformSourceToBuildConfig(buildConfig, legacyUserConfig);\n transformToolsToBuildConfig(buildConfig, legacyUserConfig);\n transformOutputToBuildConfig(buildConfig, legacyUserConfig);\n // NB: not process output.path\n }\n\n // output.copy\n if (legacyUserConfig.output?.copy) {\n buildConfigs.push({\n copy: {\n patterns: legacyUserConfig.output.copy,\n },\n });\n }\n return {\n ...finalConfig,\n buildConfig: buildConfigs,\n };\n};\n\nexport const createConfigByDefault = async (\n legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>,\n): Promise<ModuleUserConfig> => {\n const finalConfig = await commonTransformAndLog(legacyUserConfig);\n\n const { legacyPresets } = await import('../constants/legacyBuildPresets');\n const buildConfigs = legacyPresets['universal-js'];\n\n for (const buildConfig of buildConfigs) {\n transformSourceToBuildConfig(buildConfig, legacyUserConfig);\n transformToolsToBuildConfig(buildConfig, legacyUserConfig);\n transformOutputToBuildConfig(buildConfig, legacyUserConfig);\n // NB: not process output.path\n }\n\n // output.copy\n if (legacyUserConfig.output?.copy) {\n buildConfigs.push({\n copy: {\n patterns: legacyUserConfig.output.copy,\n },\n });\n }\n return {\n ...finalConfig,\n buildConfig: buildConfigs,\n };\n};\n\nexport const createUserConfigFromLegacy = async (\n config: Readonly<ModuleToolsLegacyUserConfig>,\n): Promise<ModuleUserConfig> => {\n const { buildConfig, buildPreset, packageFields, packageMode } =\n config.output ?? {};\n\n if (buildConfig) {\n return createConfigByBuildConfig(config);\n }\n\n if (buildPreset) {\n return createConfigByBuildPreset(config);\n }\n\n if (packageFields) {\n return createConfigByPackageFields(config);\n }\n\n if (packageMode) {\n return createConfigByPackageFields(config);\n }\n\n return createConfigByDefault(config);\n};\n\n/* eslint-enable max-lines */\n"]}
@@ -32,8 +32,8 @@ var __copyProps = (to, from, except, desc) => {
32
32
  return to;
33
33
  };
34
34
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
- var build_presets_exports = {};
36
- __export(build_presets_exports, {
35
+ var buildPresets_exports = {};
36
+ __export(buildPresets_exports, {
37
37
  BuildInPreset: () => BuildInPreset,
38
38
  basePresetConfig: () => basePresetConfig,
39
39
  componentPreset: () => componentPreset,
@@ -53,7 +53,7 @@ __export(build_presets_exports, {
53
53
  targets: () => targets,
54
54
  universalBuildConfig: () => universalBuildConfig
55
55
  });
56
- module.exports = __toCommonJS(build_presets_exports);
56
+ module.exports = __toCommonJS(buildPresets_exports);
57
57
  const targets = [
58
58
  "es5",
59
59
  "es6",
@@ -298,4 +298,4 @@ const BuildInPreset = {
298
298
  universalBuildConfig
299
299
  });
300
300
 
301
- //# sourceMappingURL=build-presets.js.map
301
+ //# sourceMappingURL=buildPresets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":[],"sources":["../../src/constants/buildPresets.ts"],"sourcesContent":["import type {\n PartialBuildConfig,\n PartialBaseBuildConfig,\n Target,\n} from '../types';\n\nexport const targets: Target[] = [\n 'es5',\n 'es6',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n 'es2021',\n 'es2022',\n 'esnext',\n];\n\nexport const basePresetConfig: PartialBuildConfig = {\n format: 'esm',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist',\n dts: { distPath: './types' },\n};\n\nexport const npmLibraryPresetConfig: PartialBaseBuildConfig[] = [\n {\n format: 'cjs',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist/lib',\n dts: false,\n },\n {\n format: 'esm',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist/es',\n dts: false,\n },\n {\n buildType: 'bundle',\n dts: { only: true, distPath: './types' },\n },\n];\nexport const npmLibraryWithUmdPresetConfig: PartialBaseBuildConfig[] = [\n {\n format: 'cjs',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist/lib',\n dts: false,\n },\n {\n format: 'esm',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist/es',\n dts: false,\n },\n {\n format: 'umd',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist/umd',\n dts: false,\n },\n {\n buildType: 'bundle',\n dts: { only: true, distPath: './types' },\n },\n];\nexport const npmComponentPresetConfig: PartialBaseBuildConfig[] = [\n {\n format: 'cjs',\n target: 'es6',\n buildType: 'bundleless',\n outDir: './dist/lib',\n dts: false,\n },\n {\n format: 'esm',\n target: 'es6',\n buildType: 'bundleless',\n outDir: './dist/es',\n dts: false,\n },\n {\n buildType: 'bundleless',\n outDir: './dist/types',\n dts: { only: true },\n },\n];\nexport const npmComponentWithUmdPresetConfig: PartialBaseBuildConfig[] = [\n {\n format: 'cjs',\n target: 'es6',\n buildType: 'bundleless',\n outDir: './dist/lib',\n dts: false,\n },\n {\n format: 'esm',\n target: 'es6',\n buildType: 'bundleless',\n outDir: './dist/es',\n dts: false,\n },\n {\n format: 'umd',\n target: 'es6',\n buildType: 'bundle',\n outDir: './dist/umd',\n dts: false,\n },\n {\n buildType: 'bundleless',\n dts: { only: true, distPath: './types' },\n },\n];\n\nexport const libraryPreset = { 'npm-library': npmLibraryPresetConfig };\n\nexport const libraryPresetWithTarget = targets.reduce((ret, target) => {\n ret[`npm-library-${target}`] = libraryPreset['npm-library'].map(config => {\n return { ...config, target };\n });\n return ret;\n}, {} as Record<`npm-library-${Target}`, PartialBuildConfig>);\n\nexport const libraryUmdPreset = {\n 'npm-library-with-umd': npmLibraryWithUmdPresetConfig,\n};\nexport const libraryUmdPresetWithTarget = targets.reduce((ret, target) => {\n ret[`npm-library-with-umd-${target}`] = libraryUmdPreset[\n 'npm-library-with-umd'\n ].map(config => {\n return { ...config, target };\n });\n return ret;\n}, {} as Record<`npm-library-with-umd-${Target}`, PartialBuildConfig>);\n\nexport const componentPreset = {\n 'npm-component': npmComponentPresetConfig,\n};\nexport const componentPresetWithTarget = targets.reduce((ret, target) => {\n ret[`npm-component-${target}`] = componentPreset['npm-component'].map(\n config => {\n return { ...config, target };\n },\n );\n return ret;\n}, {} as Record<`npm-component-${Target}`, PartialBuildConfig>);\n\nexport const componentUmdPreset = {\n 'npm-component-with-umd': npmComponentWithUmdPresetConfig,\n};\nexport const componentUmdPresetWithTarget = targets.reduce((ret, target) => {\n ret[`npm-component-with-umd-${target}`] = componentUmdPreset[\n 'npm-component-with-umd'\n ].map(config => {\n return { ...config, target };\n });\n return ret;\n}, {} as Record<`npm-component-with-umd-${Target}`, PartialBuildConfig>);\n\nexport const nodeBuildConfig: PartialBaseBuildConfig[] = [\n {\n buildType: 'bundleless',\n format: 'cjs',\n target: 'es2019',\n dts: false,\n outDir: './dist/cjs',\n },\n {\n buildType: 'bundleless',\n format: 'esm',\n target: 'es2019',\n dts: false,\n outDir: './dist/esm',\n },\n {\n buildType: 'bundleless',\n dts: {\n only: true,\n },\n outDir: './dist/types',\n },\n];\n\nexport const universalBuildConfig: PartialBaseBuildConfig[] = [\n {\n buildType: 'bundleless',\n format: 'cjs',\n target: 'es2019',\n dts: false,\n outDir: './dist/cjs',\n },\n {\n buildType: 'bundleless',\n format: 'esm',\n target: 'es5',\n dts: false,\n outDir: './dist/esm',\n },\n {\n buildType: 'bundleless',\n format: 'esm',\n target: 'es2019',\n dts: false,\n outDir: './dist/esm-node',\n },\n {\n buildType: 'bundleless',\n dts: {\n only: true,\n },\n outDir: './dist/types',\n },\n];\n\nexport const presetList = {\n ...libraryPreset,\n ...libraryPresetWithTarget,\n ...libraryUmdPreset,\n ...libraryUmdPresetWithTarget,\n ...componentPreset,\n ...componentPresetWithTarget,\n ...componentUmdPreset,\n ...componentUmdPresetWithTarget,\n 'modern-js-node': nodeBuildConfig,\n 'modern-js-universal': universalBuildConfig,\n};\n\nexport const BuildInPreset = {\n BASE_CONFIG: basePresetConfig,\n 'base-config': basePresetConfig,\n NPM_LIBRARY: npmLibraryPresetConfig,\n 'npm-library': npmLibraryPresetConfig,\n NPM_LIBRARY_WITH_UMD: npmLibraryWithUmdPresetConfig,\n 'npm-library-with-umd': npmLibraryWithUmdPresetConfig,\n NPM_COMPONENT: npmComponentPresetConfig,\n 'npm-component': npmComponentPresetConfig,\n NPM_COMPONENT_WITH_UMD: npmComponentWithUmdPresetConfig,\n 'npm-component-with-umd': npmComponentWithUmdPresetConfig,\n 'modern-js-node': nodeBuildConfig,\n 'modern-js-universal': universalBuildConfig,\n};\n"]}