@modern-js/module-tools 2.1.0 → 2.1.1-beta.2

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 (44) hide show
  1. package/dist/cli.js +4 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config/defineConfig.d.ts +8 -2
  4. package/dist/config/defineConfig.js +25 -2
  5. package/dist/config/defineConfig.js.map +1 -1
  6. package/dist/config/legacy-schema.d.ts +649 -0
  7. package/dist/config/legacy-schema.js +220 -0
  8. package/dist/config/legacy-schema.js.map +1 -0
  9. package/dist/config/normalize.js +6 -1
  10. package/dist/config/normalize.js.map +1 -1
  11. package/dist/config/schema.d.ts +13 -1
  12. package/dist/config/schema.js +12 -1
  13. package/dist/config/schema.js.map +1 -1
  14. package/dist/config/transform-legacy-config.d.ts +27 -0
  15. package/dist/config/transform-legacy-config.js +424 -0
  16. package/dist/config/transform-legacy-config.js.map +1 -0
  17. package/dist/constants/build-presets.d.ts +5 -0
  18. package/dist/constants/build-presets.js +6 -1
  19. package/dist/constants/build-presets.js.map +1 -1
  20. package/dist/constants/legacy-build-presets.d.ts +5 -0
  21. package/dist/constants/legacy-build-presets.js +5 -0
  22. package/dist/constants/legacy-build-presets.js.map +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/types/index.d.ts +9 -0
  27. package/dist/types/index.js +1 -0
  28. package/dist/types/index.js.map +1 -1
  29. package/dist/types/legacyConfig/index.d.ts +20 -0
  30. package/dist/types/legacyConfig/index.js +17 -0
  31. package/dist/types/legacyConfig/index.js.map +1 -0
  32. package/dist/types/legacyConfig/output.d.ts +65 -0
  33. package/dist/types/legacyConfig/output.js +17 -0
  34. package/dist/types/legacyConfig/output.js.map +1 -0
  35. package/dist/types/legacyConfig/source.d.ts +14 -0
  36. package/dist/types/legacyConfig/source.js +17 -0
  37. package/dist/types/legacyConfig/source.js.map +1 -0
  38. package/dist/types/legacyConfig/tools.d.ts +57 -0
  39. package/dist/types/legacyConfig/tools.js +17 -0
  40. package/dist/types/legacyConfig/tools.js.map +1 -0
  41. package/dist/utils/config.d.ts +5 -2
  42. package/dist/utils/config.js +3 -0
  43. package/dist/utils/config.js.map +1 -1
  44. package/package.json +9 -9
@@ -0,0 +1,220 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var legacy_schema_exports = {};
19
+ __export(legacy_schema_exports, {
20
+ buildSchema: () => buildSchema,
21
+ legacySchema: () => legacySchema,
22
+ outputSchema: () => outputSchema,
23
+ presets: () => presets,
24
+ sourceSchema: () => sourceSchema,
25
+ targets: () => targets,
26
+ toolsSchema: () => toolsSchema
27
+ });
28
+ module.exports = __toCommonJS(legacy_schema_exports);
29
+ const targets = [
30
+ "es5",
31
+ "es6",
32
+ "es2015",
33
+ "es2016",
34
+ "es2017",
35
+ "es2018",
36
+ "es2019",
37
+ "es2020",
38
+ "esnext"
39
+ ];
40
+ const presets = [
41
+ "npm-library",
42
+ "npm-library-with-umd",
43
+ "npm-component",
44
+ "npm-component-with-umd",
45
+ ...[
46
+ "npm-library",
47
+ "npm-library-with-umd",
48
+ "npm-component",
49
+ "npm-component-with-umd"
50
+ ].reduce((ret, crt) => {
51
+ return [...ret, ...targets.map((t) => `${crt}-${t}`)];
52
+ }, [])
53
+ ];
54
+ const properties = {
55
+ target: {
56
+ enum: targets
57
+ },
58
+ format: {
59
+ enum: ["cjs", "esm", "umd"]
60
+ },
61
+ sourceMap: {
62
+ enum: [true, false, "inline", "external"]
63
+ },
64
+ buildType: {
65
+ enum: ["bundle", "bundleless"]
66
+ },
67
+ bundleOptions: {
68
+ type: "object",
69
+ properties: {
70
+ getModuleId: {
71
+ instanceof: "Function"
72
+ },
73
+ entry: {
74
+ type: "object"
75
+ },
76
+ splitting: {
77
+ type: "boolean"
78
+ },
79
+ externals: {
80
+ type: "array",
81
+ items: {
82
+ anyOf: [
83
+ {
84
+ instanceof: "RegExp"
85
+ },
86
+ {
87
+ typeof: "string"
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ platform: {
93
+ enum: ["node", "browser"]
94
+ },
95
+ minify: {
96
+ enum: ["esbuild", "terser", false]
97
+ },
98
+ skipDeps: {
99
+ type: "boolean"
100
+ }
101
+ }
102
+ },
103
+ bundlelessOptions: {
104
+ type: "object",
105
+ properties: {
106
+ sourceDir: {
107
+ type: "string"
108
+ },
109
+ style: {
110
+ type: "object",
111
+ properties: {
112
+ compileMode: {
113
+ enum: ["all", "only-compiled-code", "only-source-code", false]
114
+ },
115
+ path: { type: "string" }
116
+ }
117
+ },
118
+ static: {
119
+ type: "object",
120
+ properties: {
121
+ path: { type: "string" }
122
+ }
123
+ }
124
+ }
125
+ },
126
+ tsconfig: {
127
+ type: "string"
128
+ },
129
+ enableDts: {
130
+ type: "boolean"
131
+ },
132
+ dtsOnly: {
133
+ type: "boolean"
134
+ },
135
+ outputPath: { type: "string" }
136
+ };
137
+ const buildSchema = [
138
+ {
139
+ target: "output.buildConfig",
140
+ schema: {
141
+ if: {
142
+ type: "array"
143
+ },
144
+ then: {
145
+ items: [{ type: "object", properties, additionalProperties: false }]
146
+ },
147
+ else: { type: "object", properties, additionalProperties: false }
148
+ }
149
+ },
150
+ {
151
+ target: "output.buildPreset",
152
+ schema: {
153
+ enum: presets
154
+ }
155
+ }
156
+ ];
157
+ const PACKAGE_MODE_LIST = [
158
+ "universal-js",
159
+ "universal-js-lite",
160
+ "browser-js",
161
+ "browser-js-lite",
162
+ "node-js"
163
+ ];
164
+ const outputSchema = [
165
+ {
166
+ target: "output.packageMode",
167
+ schema: { enum: PACKAGE_MODE_LIST }
168
+ },
169
+ {
170
+ target: "output.packageFields",
171
+ schema: { typeof: "object" }
172
+ },
173
+ {
174
+ target: "output.enableSourceMap",
175
+ schema: { typeof: "boolean" }
176
+ },
177
+ {
178
+ target: "output.importStyle",
179
+ schema: {
180
+ enum: ["compiled-code", "source-code"]
181
+ }
182
+ },
183
+ {
184
+ target: "output.assetsPath",
185
+ schema: {
186
+ typeof: "string",
187
+ default: "styles"
188
+ }
189
+ },
190
+ ...buildSchema
191
+ ];
192
+ const sourceSchema = [
193
+ {
194
+ target: "source.jsxTransformRuntime",
195
+ schema: {
196
+ enum: ["classic", "automatic"]
197
+ }
198
+ }
199
+ ];
200
+ const toolsSchema = [
201
+ {
202
+ target: "tools.speedy",
203
+ schema: {
204
+ typeof: ["object", "function"]
205
+ }
206
+ }
207
+ ];
208
+ const legacySchema = [...sourceSchema, ...outputSchema, ...toolsSchema];
209
+ // Annotate the CommonJS export names for ESM import in node:
210
+ 0 && (module.exports = {
211
+ buildSchema,
212
+ legacySchema,
213
+ outputSchema,
214
+ presets,
215
+ sourceSchema,
216
+ targets,
217
+ toolsSchema
218
+ });
219
+
220
+ //# sourceMappingURL=legacy-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":[],"sources":["../../src/config/legacy-schema.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"]}
@@ -135,7 +135,12 @@ const checkConfig = (config) => __async(void 0, null, function* () {
135
135
  }
136
136
  });
137
137
  const normalizeBuildConfig = (api, context, buildCmdOptions) => __async(void 0, null, function* () {
138
- const config = api.useResolvedConfigContext();
138
+ const { isLegacyUserConfig } = yield Promise.resolve().then(() => __toESM(require("../utils/config")));
139
+ let config = api.useConfigContext();
140
+ if (isLegacyUserConfig(config)) {
141
+ const { createUserConfigFromLegacy } = yield Promise.resolve().then(() => __toESM(require("./transform-legacy-config")));
142
+ config = yield createUserConfigFromLegacy(config);
143
+ }
139
144
  const { buildConfig, buildPreset } = config;
140
145
  yield checkConfig(config);
141
146
  let baseConfigs;
@@ -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 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 partialBuildConfig = await preset({ preset: BuildInPreset });\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(\n await addInputToPreset(presetList['npm-library'], options.context),\n options,\n );\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 config = api.useResolvedConfigContext() as unknown as ModuleUserConfig;\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AAcV,MAAM,oCAAoC,CAC/C,SAIA,WAC+B;AAC/B,QAAM,EAAE,eAAe,WAAW,IAAI,MAAM,6CAC1C;AAEF,QAAM,EAAE,iBAAiB,IAAI,MAAM,6CAAO;AAE1C,MAAI,OAAO,WAAW,YAAY;AAChC,UAAM,qBAAqB,MAAM,OAAO,EAAE,QAAQ,cAAc,CAAC;AAEjE,QAAI,CAAC,oBAAoB;AACvB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,kCAAkC,oBAAoB,OAAO;AAAA,EACtE;AAEA,QAAM,eAAe,CAAC,MACpB,KAAK;AAEP,MAAI,UAAU,aAAa,MAAM,GAAG;AAClC,WAAO;AAAA,MACL,MAAM,iBAAiB,WAAW,SAAS,QAAQ,OAAO;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AAAA,IACL,MAAM,iBAAiB,WAAW,gBAAgB,QAAQ,OAAO;AAAA,IACjE;AAAA,EACF;AACF;AAEO,MAAM,oCAAoC,CAC/C,QACA,YAI+B;AAC/B,QAAM,EAAE,wBAAwB,IAAI,MAAM,6CAAO;AACjD,0BAAwB,MAAM;AAC9B,QAAM,EAAE,gBAAgB,IAAI;AAC5B,QAAM,EAAE,YAAY,IAAI,MAAM,6CAAO;AACrC,QAAM,EAAE,mBAAmB,IAAI,MAAM,6CAAO;AAC5C,QAAM,iBAAiB,YAAY,MAAM;AACzC,QAAM,UAAU,MAAM,QAAQ;AAAA,IAC5B,eAAe,IAAI,CAAMA,YAAU;AACjC,UAAI,YAAY,MAAM,oBAAoBA,SAAQ,QAAQ,OAAO;AACjE,kBAAY,MAAM,mBAAmB,WAAW,eAAe;AAC/D,kBAAY,MAAM,mBAAmB,WAAW,OAAO;AACvD,aAAO;AAAA,IACT,EAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,MAAM,sBAAsB,CACjC,oBACA,YAC6B;AAC7B,QAAM,EAAE,uBAAuB,IAAI,MAAM,6CAAO;AAChD,QAAM,eAAe,MAAM;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,qBAAqB,CAChC,YACA,YACG;AACH,QAAM,EAAE,MAAM,IAAI,MAAM,6CAAO;AAC/B,QAAM,YAAY;AAClB,QAAM,EAAE,eAAe,IAAI,MAAM,6CAAO;AACxC,QAAM,EAAE,QAAQ,IAAI;AAEpB,YAAU,SAAS,oBAAK,WAAW,UAAU,MAAM,IAC/C,UAAU,SACV,oBAAK,KAAK,QAAQ,cAAc,UAAU,MAAM;AAEpD,YAAU,YAAY;AAAA,IACpB,oBAAK,QAAQ,QAAQ,cAAc,WAAW,SAAS;AAAA,EACzD;AACA,YAAU,QAAQ,MAAM,eAAe,WAAW;AAAA,IAChD,cAAc,QAAQ;AAAA,EACxB,CAAC;AAGD,MAAI,UAAU,KAAK;AACjB,cAAU,IAAI,WAAW,oBAAK;AAAA,MAC5B,UAAU;AAAA,MACV,UAAU,IAAI;AAAA,IAChB;AACA,cAAU,IAAI,eAAe,oBAAK;AAAA,MAChC,QAAQ;AAAA,MACR,UAAU,IAAI;AAAA,IAChB;AAAA,EACF;AAIA,SAAO;AACT;AAEO,MAAM,cAAc,CAAO,WAA6B;AAC7D,QAAM,EAAE,aAAa,YAAY,IAAI;AACrC,MAAI,eAAe,aAAa;AAC9B,UAAM,EAAE,OAAO,IAAI,MAAM,6CAAO;AAChC,WAAO;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACF;AAEO,MAAM,uBAAuB,CAClC,KACA,SACA,oBAC+B;AAC/B,QAAM,EAAE,mBAAmB,IAAI,MAAM,6CAAO;AAC5C,MAAI,SAAS,IAAI,iBAAiB;AAElC,MAAI,mBAAmB,MAA8B,GAAG;AACtD,UAAM,EAAE,2BAA2B,IAAI,MAAM,6CAC3C;AAEF,aAAS,MAAM,2BAA2B,MAAgC;AAAA,EAC5E;AAEA,QAAM,EAAE,aAAa,YAAY,IAAI;AAErC,QAAM,YAAY,MAAM;AAExB,MAAI;AAGJ,MAAI,aAAa;AACf,kBAAc,MAAM,kCAAkC,aAAa;AAAA,MACjE;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AACL,kBAAc,MAAM;AAAA,MAClB;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;;;;;;;;;;","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 partialBuildConfig = await preset({ preset: BuildInPreset });\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(\n await addInputToPreset(presetList['npm-library'], options.context),\n options,\n );\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"]}
@@ -320,6 +320,12 @@ export declare const buildPreset: {
320
320
  };
321
321
  };
322
322
  };
323
+ export declare const legacy: {
324
+ target: string;
325
+ schema: {
326
+ type: string;
327
+ };
328
+ };
323
329
  export declare const schema: ({
324
330
  target: string;
325
331
  schema: {
@@ -638,4 +644,10 @@ export declare const schema: ({
638
644
  typeof: string;
639
645
  };
640
646
  };
641
- })[];
647
+ } | {
648
+ target: string;
649
+ schema: {
650
+ type: string;
651
+ };
652
+ })[];
653
+ export { legacySchema } from './legacy-schema';
@@ -19,11 +19,14 @@ var schema_exports = {};
19
19
  __export(schema_exports, {
20
20
  buildConfig: () => buildConfig,
21
21
  buildPreset: () => buildPreset,
22
+ legacy: () => legacy,
23
+ legacySchema: () => import_legacy_schema.legacySchema,
22
24
  presets: () => presets,
23
25
  schema: () => schema,
24
26
  targets: () => targets
25
27
  });
26
28
  module.exports = __toCommonJS(schema_exports);
29
+ var import_legacy_schema = require("./legacy-schema");
27
30
  const targets = [
28
31
  "es5",
29
32
  "es6",
@@ -202,11 +205,19 @@ const buildPreset = {
202
205
  else: { typeof: "function" }
203
206
  }
204
207
  };
205
- const schema = [buildConfig, buildPreset];
208
+ const legacy = {
209
+ target: "legacy",
210
+ schema: {
211
+ type: "boolean"
212
+ }
213
+ };
214
+ const schema = [buildConfig, buildPreset, legacy];
206
215
  // Annotate the CommonJS export names for ESM import in node:
207
216
  0 && (module.exports = {
208
217
  buildConfig,
209
218
  buildPreset,
219
+ legacy,
220
+ legacySchema,
210
221
  presets,
211
222
  schema,
212
223
  targets
@@ -1 +1 @@
1
- {"version":3,"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];\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};\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 schema = [buildConfig, buildPreset];\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];\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};\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"]}
@@ -0,0 +1,27 @@
1
+ import type { ModuleUserConfig, ModuleToolsLegacyUserConfig, PartialBaseBuildConfig } from '../types';
2
+ /**
3
+ * transform `tools` to buildConfig
4
+ * include tools.less/sass/postcss/tailwindcss
5
+ * @param buildConfig PartialBaseBuildConfig
6
+ * @param legacyUserConfig Readonly<ModuleToolsLegacyUserConfig>
7
+ */
8
+
9
+ export declare const transformToolsToBuildConfig: (buildConfig: PartialBaseBuildConfig, legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => void;
10
+ /**
11
+ * transform `source` to buildConfig
12
+ *
13
+ * @param buildConfig PartialBaseBuildConfig
14
+ * @param legacyUserConfig Readonly<ModuleToolsLegacyUserConfig>
15
+ *
16
+ * NB: ignore source.designSystem in this function
17
+ */
18
+
19
+ export declare const transformSourceToBuildConfig: (buildConfig: PartialBaseBuildConfig, legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => void;
20
+ export declare const transformOutputToBuildConfig: (buildConfig: PartialBaseBuildConfig, legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => void;
21
+ export declare const commonTransformAndLog: (legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;
22
+ export declare const createConfigByBuildConfig: (legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;
23
+ export declare const createConfigByBuildPreset: (legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;
24
+ export declare const createConfigByPackageFields: (legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;
25
+ export declare const createConfigByPackageMode: (legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;
26
+ export declare const createConfigByDefault: (legacyUserConfig: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;
27
+ export declare const createUserConfigFromLegacy: (config: Readonly<ModuleToolsLegacyUserConfig>) => Promise<ModuleUserConfig>;