@modern-js/module-tools 2.10.0 → 2.10.1-beta.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.
- package/dist/build.js +9 -29
- package/dist/build.js.map +1 -1
- package/dist/builder/build.js +48 -86
- package/dist/builder/build.js.map +1 -1
- package/dist/builder/clear.js +9 -29
- package/dist/builder/clear.js.map +1 -1
- package/dist/builder/copy.js +39 -78
- package/dist/builder/copy.js.map +1 -1
- package/dist/builder/dts/rollup.js +26 -61
- package/dist/builder/dts/rollup.js.map +1 -1
- package/dist/builder/dts/tsc.js +37 -77
- package/dist/builder/dts/tsc.js.map +1 -1
- package/dist/builder/index.js +16 -36
- package/dist/builder/index.js.map +1 -1
- package/dist/builder/platform.js +13 -33
- package/dist/builder/platform.js.map +1 -1
- package/dist/cli.js +23 -45
- package/dist/cli.js.map +1 -1
- package/dist/command.js +39 -76
- package/dist/command.js.map +1 -1
- package/dist/config/defineConfig.js +2 -18
- package/dist/config/defineConfig.js.map +1 -1
- package/dist/config/normalize.js +45 -73
- package/dist/config/normalize.js.map +1 -1
- package/dist/config/transformLegacyConfig.js +90 -130
- package/dist/config/transformLegacyConfig.js.map +1 -1
- package/dist/constants/buildPresets.js +14 -23
- package/dist/constants/buildPresets.js.map +1 -1
- package/dist/dev.js +19 -43
- package/dist/dev.js.map +1 -1
- package/dist/error.js +7 -2
- package/dist/error.js.map +1 -1
- package/dist/hooks/index.js +6 -15
- package/dist/hooks/index.js.map +1 -1
- package/dist/utils/builder.js +7 -27
- package/dist/utils/builder.js.map +1 -1
- package/dist/utils/common.js +3 -19
- package/dist/utils/common.js.map +1 -1
- package/dist/utils/config.js +57 -83
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/context.js +3 -23
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/dts.js +25 -64
- package/dist/utils/dts.js.map +1 -1
- package/dist/utils/input.js +14 -34
- package/dist/utils/input.js.map +1 -1
- package/dist/utils/language.js +3 -23
- package/dist/utils/language.js.map +1 -1
- package/dist/utils/libuildPlugins.js +9 -29
- package/dist/utils/libuildPlugins.js.map +1 -1
- package/dist/utils/log.js +3 -23
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/onExit.js +6 -26
- package/dist/utils/onExit.js.map +1 -1
- package/dist/utils/path.js +3 -23
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/print.js +4 -24
- package/dist/utils/print.js.map +1 -1
- package/dist/utils/style.js +29 -52
- package/dist/utils/style.js.map +1 -1
- package/package.json +7 -7
package/dist/dev.js
CHANGED
|
@@ -25,34 +25,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var __async = (__this, __arguments, generator) => {
|
|
29
|
-
return new Promise((resolve, reject) => {
|
|
30
|
-
var fulfilled = (value) => {
|
|
31
|
-
try {
|
|
32
|
-
step(generator.next(value));
|
|
33
|
-
} catch (e) {
|
|
34
|
-
reject(e);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
var rejected = (value) => {
|
|
38
|
-
try {
|
|
39
|
-
step(generator.throw(value));
|
|
40
|
-
} catch (e) {
|
|
41
|
-
reject(e);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
28
|
var dev_exports = {};
|
|
49
29
|
__export(dev_exports, {
|
|
50
30
|
dev: () => dev,
|
|
51
31
|
showMenu: () => showMenu
|
|
52
32
|
});
|
|
53
33
|
module.exports = __toCommonJS(dev_exports);
|
|
54
|
-
const showMenu = (metas, devCmdOptions, api, context) =>
|
|
55
|
-
const { chalk, inquirer } =
|
|
34
|
+
const showMenu = async (metas, devCmdOptions, api, context) => {
|
|
35
|
+
const { chalk, inquirer } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
56
36
|
const runner = api.useHookRunners();
|
|
57
37
|
const menuTitle = chalk.rgb(255, 153, 0);
|
|
58
38
|
const choices = metas.map((meta) => meta.menuItem).filter((menuItem) => typeof menuItem === "object");
|
|
@@ -64,32 +44,28 @@ const showMenu = (metas, devCmdOptions, api, context) => __async(void 0, null, f
|
|
|
64
44
|
choices
|
|
65
45
|
}
|
|
66
46
|
];
|
|
67
|
-
const newQuestions =
|
|
68
|
-
const result =
|
|
47
|
+
const newQuestions = await runner.beforeDevMenu(questions);
|
|
48
|
+
const result = await inquirer.prompt(
|
|
69
49
|
newQuestions.length !== 0 ? newQuestions : questions
|
|
70
50
|
);
|
|
71
|
-
|
|
51
|
+
await runner.afterDevMenu({ result, devTools: metas });
|
|
72
52
|
const currentDevTool = metas.find(
|
|
73
|
-
(meta) =>
|
|
74
|
-
var _a;
|
|
75
|
-
return ((_a = meta.menuItem) == null ? void 0 : _a.value) === result.choiceDevTool;
|
|
76
|
-
}
|
|
53
|
+
(meta) => meta.menuItem?.value === result.choiceDevTool
|
|
77
54
|
);
|
|
78
55
|
if (currentDevTool) {
|
|
79
|
-
|
|
80
|
-
|
|
56
|
+
await runner.beforeDevTask(currentDevTool);
|
|
57
|
+
await currentDevTool.action(devCmdOptions, {
|
|
81
58
|
isTsProject: context.isTsProject
|
|
82
59
|
});
|
|
83
60
|
}
|
|
84
|
-
}
|
|
85
|
-
const dev = (options, metas, api, context) =>
|
|
86
|
-
|
|
87
|
-
const {
|
|
88
|
-
const { green } = yield Promise.resolve().then(() => __toESM(require("./constants/colors")));
|
|
61
|
+
};
|
|
62
|
+
const dev = async (options, metas, api, context) => {
|
|
63
|
+
const { chalk } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
64
|
+
const { green } = await Promise.resolve().then(() => __toESM(require("./constants/colors")));
|
|
89
65
|
const runner = api.useHookRunners();
|
|
90
66
|
if (metas.length === 0) {
|
|
91
|
-
const local =
|
|
92
|
-
const noDevToolsLog =
|
|
67
|
+
const local = await Promise.resolve().then(() => __toESM(require("./locale")));
|
|
68
|
+
const noDevToolsLog = await runner.noDevTools(
|
|
93
69
|
local.i18n.t(local.localeKeys.log.dev.noDevtools)
|
|
94
70
|
);
|
|
95
71
|
console.info(noDevToolsLog);
|
|
@@ -98,16 +74,16 @@ const dev = (options, metas, api, context) => __async(void 0, null, function* ()
|
|
|
98
74
|
if (metas.length === 1) {
|
|
99
75
|
console.info(
|
|
100
76
|
chalk.rgb(...green)(
|
|
101
|
-
`Only one dev tooling is currently detected as available, run it directly [${
|
|
77
|
+
`Only one dev tooling is currently detected as available, run it directly [${metas[0].menuItem?.name ?? metas[0].name}]`
|
|
102
78
|
)
|
|
103
79
|
);
|
|
104
80
|
const meta = metas[0];
|
|
105
|
-
|
|
106
|
-
|
|
81
|
+
await runner.beforeDevTask(meta);
|
|
82
|
+
await meta.action(options, { isTsProject: context.isTsProject });
|
|
107
83
|
} else if (metas.length > 1) {
|
|
108
|
-
|
|
84
|
+
await showMenu(metas, options, api, context);
|
|
109
85
|
}
|
|
110
|
-
}
|
|
86
|
+
};
|
|
111
87
|
// Annotate the CommonJS export names for ESM import in node:
|
|
112
88
|
0 && (module.exports = {
|
|
113
89
|
dev,
|
package/dist/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":"
|
|
1
|
+
{"version":3,"file":null,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCO,MAAM,WAAW,OACtB,OACA,eACA,KACA,YACG;AACH,QAAM,EAAE,OAAO,SAAS,IAAI,MAAM,6CAAO,kBAAkB;AAC3D,QAAM,SAAS,IAAI,eAAe;AAElC,QAAM,YAAY,MAAM,IAAI,KAAK,KAAK,CAAC;AACvC,QAAM,UAAU,MACb,IAAI,UAAQ,KAAK,QAAQ,EACzB,OAAO,cAAY,OAAO,aAAa,QAAQ;AAClD,QAAM,YAAY;AAAA,IAChB;AAAA,MACE,MAAM;AAAA,MACN,SAAS,UAAU,QAAQ;AAAA,MAC3B,MAAM;AAAA,MACN;AAAA,IACF;AAAA,EACF;AAEA,QAAM,eAAe,MAAM,OAAO,cAAc,SAAS;AACzD,QAAM,SAAoC,MAAM,SAAS;AAAA,IACvD,aAAa,WAAW,IAAI,eAAe;AAAA,EAC7C;AACA,QAAM,OAAO,aAAa,EAAE,QAAQ,UAAU,MAAM,CAAC;AAErD,QAAM,iBAAiB,MAAM;AAAA,IAC3B,UAAQ,KAAK,UAAU,UAAU,OAAO;AAAA,EAC1C;AACA,MAAI,gBAAgB;AAOlB,UAAM,OAAO,cAAc,cAAc;AACzC,UAAM,eAAe,OAAO,eAAe;AAAA,MACzC,aAAa,QAAQ;AAAA,IACvB,CAAC;AAAA,EAOH;AACF;AAEO,MAAM,MAAM,OACjB,SACA,OACA,KACA,YACG;AACH,QAAM,EAAE,MAAM,IAAI,MAAM,6CAAO,kBAAkB;AACjD,QAAM,EAAE,MAAM,IAAI,MAAM,6CAAO,oBAAoB;AACnD,QAAM,SAAS,IAAI,eAAe;AAClC,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,QAAQ,MAAM,6CAAO,UAAU;AACrC,UAAM,gBAAgB,MAAM,OAAO;AAAA,MACjC,MAAM,KAAK,EAAE,MAAM,WAAW,IAAI,IAAI,UAAU;AAAA,IAClD;AAEA,YAAQ,KAAK,aAAa;AAE1B,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,MAAM,WAAW,GAAG;AACtB,YAAQ;AAAA,MACN,MAAM,IAAI,GAAG,KAAK;AAAA,QAChB,6EACE,MAAM,CAAC,EAAE,UAAU,QAAQ,MAAM,CAAC,EAAE;AAAA,MAExC;AAAA,IACF;AACA,UAAM,OAAO,MAAM,CAAC;AAQpB,UAAM,OAAO,cAAc,IAAI;AAC/B,UAAM,KAAK,OAAO,SAAS,EAAE,aAAa,QAAQ,YAAY,CAAC;AAAA,EAMjE,WAAW,MAAM,SAAS,GAAG;AAC3B,UAAM,SAAS,OAAO,SAAS,KAAK,OAAO;AAAA,EAC7C;AACF;;;;;;","names":[],"sources":["../src/dev.ts"],"sourcesContent":["import type { PluginAPI } from '@modern-js/core';\nimport type { DevCommandOptions } from './types/command';\nimport type { ModuleContext } from './types/context';\nimport type { DevToolData, ModuleTools } from './types';\n\n// TODO: watch build\n// export const ensureFirstBuild = async (\n// api: PluginAPI<ModuleTools>,\n// context: ModuleContext,\n// cliOptions: DevCommandOptions,\n// options: {\n// watch?: boolean;\n// disableRunBuild: boolean;\n// appDirectory: string;\n// },\n// ) => {\n// if (!options.disableRunBuild) {\n// const { build } = await import('./build');\n// const defaultCmdOptions: BuildCommandOptions = {\n// tsconfig: cliOptions.tsconfig,\n// watch: options.watch ?? false,\n// dts: true,\n// clear: true,\n// };\n// await build(api, defaultCmdOptions, context);\n// }\n// };\n\n// export const watchBuild = async (\n// api: PluginAPI<ModuleTools>,\n// context: ModuleContext,\n// cliOptions: DevCommandOptions,\n// options: {\n// disableRunBuild: boolean;\n// appDirectory: string;\n// },\n// ) => {\n// await ensureFirstBuild(api, context, cliOptions, { ...options, watch: true });\n// };\n\nexport const showMenu = async (\n metas: DevToolData[],\n devCmdOptions: DevCommandOptions,\n api: PluginAPI<ModuleTools>,\n context: ModuleContext,\n) => {\n const { chalk, inquirer } = await import('@modern-js/utils');\n const runner = api.useHookRunners();\n\n const menuTitle = chalk.rgb(255, 153, 0);\n const choices = metas\n .map(meta => meta.menuItem)\n .filter(menuItem => typeof menuItem === 'object');\n const questions = [\n {\n name: 'choiceDevTool',\n message: menuTitle('选择调试工具'),\n type: 'list',\n choices,\n },\n ];\n\n const newQuestions = await runner.beforeDevMenu(questions);\n const result: { choiceDevTool: string } = await inquirer.prompt(\n newQuestions.length !== 0 ? newQuestions : questions,\n );\n await runner.afterDevMenu({ result, devTools: metas });\n\n const currentDevTool = metas.find(\n meta => meta.menuItem?.value === result.choiceDevTool,\n );\n if (currentDevTool) {\n // TODO: watch build\n // await ensureFirstBuild(api, context, devCmdOptions, {\n // disableRunBuild: currentDevTool.disableRunBuild ?? false,\n // appDirectory: context.appDirectory,\n // });\n\n await runner.beforeDevTask(currentDevTool);\n await currentDevTool.action(devCmdOptions, {\n isTsProject: context.isTsProject,\n });\n\n // TODO: watch build\n // await watchBuild(api, context, devCmdOptions, {\n // disableRunBuild: currentDevTool.disableRunBuild ?? false,\n // appDirectory: context.appDirectory,\n // });\n }\n};\n\nexport const dev = async (\n options: DevCommandOptions,\n metas: DevToolData[],\n api: PluginAPI<ModuleTools>,\n context: ModuleContext,\n) => {\n const { chalk } = await import('@modern-js/utils');\n const { green } = await import('./constants/colors');\n const runner = api.useHookRunners();\n if (metas.length === 0) {\n const local = await import('./locale');\n const noDevToolsLog = await runner.noDevTools(\n local.i18n.t(local.localeKeys.log.dev.noDevtools),\n );\n\n console.info(noDevToolsLog);\n // eslint-disable-next-line no-process-exit\n process.exit(0);\n }\n\n if (metas.length === 1) {\n console.info(\n chalk.rgb(...green)(\n `Only one dev tooling is currently detected as available, run it directly [${\n metas[0].menuItem?.name ?? metas[0].name\n }]`,\n ),\n );\n const meta = metas[0];\n\n // TODO: watch build\n // await ensureFirstBuild(api, context, options, {\n // disableRunBuild: meta.disableRunBuild ?? false,\n // appDirectory: context.appDirectory,\n // });\n\n await runner.beforeDevTask(meta);\n await meta.action(options, { isTsProject: context.isTsProject });\n // TODO: watch build\n // await watchBuild(api, context, options, {\n // disableRunBuild: meta.disableRunBuild ?? false,\n // appDirectory: context.appDirectory,\n // });\n } else if (metas.length > 1) {\n await showMenu(metas, options, api, context);\n }\n};\n"]}
|
package/dist/error.js
CHANGED
|
@@ -44,6 +44,10 @@ const padSpaceWith = (str, targetL, opts = {}) => {
|
|
|
44
44
|
return str;
|
|
45
45
|
};
|
|
46
46
|
class InternalBuildError extends Error {
|
|
47
|
+
buildType;
|
|
48
|
+
target;
|
|
49
|
+
format;
|
|
50
|
+
e;
|
|
47
51
|
constructor(e, opts) {
|
|
48
52
|
super(e.message);
|
|
49
53
|
Error.captureStackTrace(this, this.constructor);
|
|
@@ -90,6 +94,8 @@ Detailed Information: `)
|
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
class InternalDTSError extends Error {
|
|
97
|
+
buildType;
|
|
98
|
+
e;
|
|
93
99
|
constructor(e, opts) {
|
|
94
100
|
super(e.message);
|
|
95
101
|
Error.captureStackTrace(this, this.constructor);
|
|
@@ -100,13 +106,12 @@ class InternalDTSError extends Error {
|
|
|
100
106
|
return this.formatError().join("\n");
|
|
101
107
|
}
|
|
102
108
|
formatError() {
|
|
103
|
-
var _a;
|
|
104
109
|
const msgs = [];
|
|
105
110
|
const { e, buildType } = this;
|
|
106
111
|
msgs.push(import_utils.chalk.red.bold(`${buildType} DTS failed:`));
|
|
107
112
|
if (isExecaError(e)) {
|
|
108
113
|
if (e.stack) {
|
|
109
|
-
msgs.push(
|
|
114
|
+
msgs.push(e.stack?.replace(`${e.name}: ${e.shortMessage}`, ""));
|
|
110
115
|
}
|
|
111
116
|
} else {
|
|
112
117
|
msgs.push(e.stack);
|
package/dist/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAIf,MAAM,eAAe,CAC1B,KACA,SACA,OAGI,CAAC,MACF;AACH,QAAM,EAAE,SAAS,KAAK,MAAM,IAAI;AAChC,QAAM,IAAI,IAAI;AACd,QAAM,UAAU,OAAO;AACvB,QAAM,SAAS,UAAU,IAAI;AAG7B,MAAI,WAAW,GAAG;AAChB,YAAQ,QAAQ,MAAM,GAAG,IAAI,OAAO;AAAA,EACtC;AAGA,MAAI,SAAS,GAAG;AACd,UAAM,SAAS,IAAI,OAAO,UAAU,GAAG,GAAG;AAC1C,QAAI,OAAO;AACT,aAAO,MAAM,GAAG,IAAI,OAAO,QAAQ,KAAK,EAAE,IAAI;AAAA,IAChD;AACA,WAAO,SAAS;AAAA,EAClB;AAEA,SAAO;AACT;AAEO,MAAM,2BAA2B,MAAM;AAAA,
|
|
1
|
+
{"version":3,"file":null,"mappings":"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","names":[],"sources":["../src/error.ts"],"sourcesContent":["import { chalk } from '@modern-js/utils';\nimport type { ExecaError } from '@modern-js/utils';\nimport type { BuildType, Format, Target } from './types';\n\nexport const padSpaceWith = (\n str: string,\n targetL: number,\n opts: {\n endStr?: string;\n style?: (s: string) => string;\n } = {},\n) => {\n const { endStr = '|', style } = opts;\n const l = str.length;\n const endStrL = endStr.length;\n const resetL = targetL - l - endStrL;\n\n // str is 'aaa', targetL is 4, result is 'aaa|'\n if (resetL === 0) {\n return (style ? style(str) : str) + endStr;\n }\n\n // str is 'aaa', targetL is 5, result is 'aaa |'\n if (resetL > 0) {\n const padStr = str.padEnd(targetL - 1, ' ');\n if (style) {\n return style(str) + padStr.replace(str, '') + endStr;\n }\n return padStr + endStr;\n }\n\n return str;\n};\n\nexport class InternalBuildError extends Error {\n public buildType: BuildType;\n\n public target: Target;\n\n public format: Format;\n\n private e: Error;\n\n constructor(\n e: Error,\n opts: {\n buildType: BuildType;\n format: Format;\n target: Target;\n },\n ) {\n super(e.message);\n\n Error.captureStackTrace(this, this.constructor);\n\n this.e = e;\n this.buildType = opts.buildType;\n this.target = opts.target;\n this.format = opts.format;\n }\n\n toString() {\n return this.formatError().join('\\n');\n }\n\n formatError() {\n const msgs: string[] = [];\n const { e, buildType, target, format } = this;\n const textL = 25;\n const title = `│ ${padSpaceWith(`${buildType} failed:`, textL - 2, {\n style: chalk.red.underline,\n endStr: '│',\n })}`;\n const formatMsg = padSpaceWith(`│ - format is \"${format}\"`, textL, {\n endStr: '│',\n });\n const targetMsg = padSpaceWith(`│ - target is \"${target}\"`, textL, {\n endStr: '│',\n });\n const startLine = padSpaceWith('╭'.padEnd(textL - 1, '─'), textL, {\n endStr: '╮',\n });\n const endLine = padSpaceWith('╰'.padEnd(textL - 1, '─'), textL, {\n endStr: '╯',\n });\n msgs.push(\n startLine,\n title,\n formatMsg,\n targetMsg,\n endLine,\n chalk.blue.bold.underline(`\\nDetailed Information: `),\n );\n msgs.push(e.toString());\n msgs.push(e.stack || '');\n\n return msgs;\n }\n}\n\nexport class InternalDTSError extends Error {\n public buildType: BuildType;\n\n private e: Error;\n\n constructor(e: Error | ExecaError, opts: { buildType: BuildType }) {\n super(e.message);\n\n Error.captureStackTrace(this, this.constructor);\n\n this.e = e;\n this.buildType = opts.buildType;\n }\n\n toString() {\n return this.formatError().join('\\n');\n }\n\n formatError() {\n const msgs: string[] = [];\n const { e, buildType } = this;\n msgs.push(chalk.red.bold(`${buildType} DTS failed:`));\n if (isExecaError(e)) {\n /**\n * `shortMeessage` content like:\n * 'Command failed with exit code 2: /Users/github/modern.js/playground/module/node_modules/.bin/tsc -p /Users/github/modern.js/playground/module/node_modules/tsconfig.temp.json --pretty'\n * Don`t need it.\n */\n if (e.stack) {\n msgs.push(e.stack?.replace(`${e.name}: ${e.shortMessage}`, ''));\n }\n } else {\n msgs.push(e.stack!);\n }\n\n return msgs;\n }\n}\n\nexport class ModuleBuildError extends Error {\n constructor(e: InternalBuildError | InternalDTSError) {\n super(`\\n\\n${e}`);\n Error.captureStackTrace(this, this.constructor);\n this.name = 'ModuleBuildError';\n }\n}\n\nexport const isInternalError = (\n e: unknown,\n): e is InternalDTSError | InternalBuildError => {\n if (e instanceof InternalBuildError || e instanceof InternalDTSError) {\n return true;\n }\n\n return false;\n};\n\nexport const isExecaError = (e: any): e is ExecaError => {\n if (e.stdout) {\n return true;\n }\n\n return false;\n};\n"]}
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
5
|
var __export = (target, all) => {
|
|
20
6
|
for (var name in all)
|
|
21
7
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -37,7 +23,12 @@ module.exports = __toCommonJS(hooks_exports);
|
|
|
37
23
|
var import_build = require("./build");
|
|
38
24
|
var import_dev = require("./dev");
|
|
39
25
|
var import_misc = require("./misc");
|
|
40
|
-
const registerHook =
|
|
26
|
+
const registerHook = {
|
|
27
|
+
...import_build.buildHooks,
|
|
28
|
+
...import_dev.devHooks,
|
|
29
|
+
...import_misc.miscHooks,
|
|
30
|
+
...import_build.buildWatchHooks
|
|
31
|
+
};
|
|
41
32
|
// Annotate the CommonJS export names for ESM import in node:
|
|
42
33
|
0 && (module.exports = {
|
|
43
34
|
registerHook
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":"
|
|
1
|
+
{"version":3,"file":null,"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4C;AAC5C,iBAAyB;AACzB,kBAA0B;AAEnB,MAAM,eAAe;AAAA,EAC1B,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;;;;;","names":[],"sources":["../../src/hooks/index.ts"],"sourcesContent":["import { buildHooks, buildWatchHooks } from './build';\nimport { devHooks } from './dev';\nimport { miscHooks } from './misc';\n\nexport const registerHook = {\n ...buildHooks,\n ...devHooks,\n ...miscHooks,\n ...buildWatchHooks,\n};\n"]}
|
package/dist/utils/builder.js
CHANGED
|
@@ -25,26 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var __async = (__this, __arguments, generator) => {
|
|
29
|
-
return new Promise((resolve, reject) => {
|
|
30
|
-
var fulfilled = (value) => {
|
|
31
|
-
try {
|
|
32
|
-
step(generator.next(value));
|
|
33
|
-
} catch (e) {
|
|
34
|
-
reject(e);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
var rejected = (value) => {
|
|
38
|
-
try {
|
|
39
|
-
step(generator.throw(value));
|
|
40
|
-
} catch (e) {
|
|
41
|
-
reject(e);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
28
|
var builder_exports = {};
|
|
49
29
|
__export(builder_exports, {
|
|
50
30
|
getAllDeps: () => getAllDeps,
|
|
@@ -52,14 +32,14 @@ __export(builder_exports, {
|
|
|
52
32
|
});
|
|
53
33
|
module.exports = __toCommonJS(builder_exports);
|
|
54
34
|
var import_path = __toESM(require("path"));
|
|
55
|
-
const getFinalExternals = (config, options) =>
|
|
35
|
+
const getFinalExternals = async (config, options) => {
|
|
56
36
|
const { autoExternal, externals } = config;
|
|
57
37
|
const { appDirectory } = options;
|
|
58
38
|
if (typeof autoExternal === "boolean") {
|
|
59
39
|
if (!autoExternal) {
|
|
60
40
|
return externals || [];
|
|
61
41
|
}
|
|
62
|
-
const deps2 =
|
|
42
|
+
const deps2 = await getAllDeps(appDirectory, {
|
|
63
43
|
dependencies: true,
|
|
64
44
|
peerDependencies: true
|
|
65
45
|
});
|
|
@@ -68,14 +48,14 @@ const getFinalExternals = (config, options) => __async(void 0, null, function* (
|
|
|
68
48
|
...externals || []
|
|
69
49
|
];
|
|
70
50
|
}
|
|
71
|
-
const deps =
|
|
51
|
+
const deps = await getAllDeps(appDirectory, autoExternal);
|
|
72
52
|
return [
|
|
73
53
|
...deps.map((dep) => new RegExp(`^${dep}($|\\/|\\\\)`)),
|
|
74
54
|
...externals || []
|
|
75
55
|
];
|
|
76
|
-
}
|
|
77
|
-
const getAllDeps =
|
|
78
|
-
const { fs } =
|
|
56
|
+
};
|
|
57
|
+
const getAllDeps = async (appDirectory, options = {}) => {
|
|
58
|
+
const { fs } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
79
59
|
try {
|
|
80
60
|
const json = JSON.parse(
|
|
81
61
|
fs.readFileSync(import_path.default.resolve(appDirectory, "./package.json"), "utf8")
|
|
@@ -98,7 +78,7 @@ const getAllDeps = (_0, ..._1) => __async(void 0, [_0, ..._1], function* (appDir
|
|
|
98
78
|
console.warn("[WARN] package.json is broken");
|
|
99
79
|
return [];
|
|
100
80
|
}
|
|
101
|
-
}
|
|
81
|
+
};
|
|
102
82
|
// Annotate the CommonJS export names for ESM import in node:
|
|
103
83
|
0 && (module.exports = {
|
|
104
84
|
getAllDeps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":"
|
|
1
|
+
{"version":3,"file":null,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AAGV,MAAM,oBAAoB,OAC/B,QACA,YACG;AACH,QAAM,EAAE,cAAc,UAAU,IAAI;AACpC,QAAM,EAAE,aAAa,IAAI;AAEzB,MAAI,OAAO,iBAAiB,WAAW;AACrC,QAAI,CAAC,cAAc;AACjB,aAAO,aAAa,CAAC;AAAA,IACvB;AAEA,UAAMA,QAAO,MAAM,WAAW,cAAc;AAAA,MAC1C,cAAc;AAAA,MACd,kBAAkB;AAAA,IACpB,CAAC;AACD,WAAO;AAAA,MACL,GAAGA,MAAK,IAAI,SAAO,IAAI,OAAO,IAAI,iBAAiB,CAAC;AAAA,MACpD,GAAI,aAAa,CAAC;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,OAAO,MAAM,WAAW,cAAc,YAAY;AACxD,SAAO;AAAA,IACL,GAAG,KAAK,IAAI,SAAO,IAAI,OAAO,IAAI,iBAAiB,CAAC;AAAA,IACpD,GAAI,aAAa,CAAC;AAAA,EACpB;AACF;AAEO,MAAM,aAAa,OACxB,cACA,UAGI,CAAC,MACF;AACH,QAAM,EAAE,GAAG,IAAI,MAAM,6CAAO,kBAAkB;AAC9C,MAAI;AACF,UAAM,OAAO,KAAK;AAAA,MAChB,GAAG,aAAa,oBAAK,QAAQ,cAAc,gBAAgB,GAAG,MAAM;AAAA,IACtE;AAEA,QAAI,OAAiB,CAAC;AAEtB,QAAI,QAAQ,cAAc;AACxB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,OAAO,KAAM,KAAK,gBAAkC,CAAC,CAAC;AAAA,MAC3D;AAAA,IACF;AAEA,QAAI,QAAQ,kBAAkB;AAC5B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,OAAO,KAAM,KAAK,oBAAsC,CAAC,CAAC;AAAA,MAC/D;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,GAAP;AACA,YAAQ,KAAK,+BAA+B;AAC5C,WAAO,CAAC;AAAA,EACV;AACF;;;;;;","names":["deps"],"sources":["../../src/utils/builder.ts"],"sourcesContent":["import path from 'path';\nimport type { BaseBuildConfig } from '../types/config';\n\nexport const getFinalExternals = async (\n config: BaseBuildConfig,\n options: { appDirectory: string },\n) => {\n const { autoExternal, externals } = config;\n const { appDirectory } = options;\n\n if (typeof autoExternal === 'boolean') {\n if (!autoExternal) {\n return externals || [];\n }\n\n const deps = await getAllDeps(appDirectory, {\n dependencies: true,\n peerDependencies: true,\n });\n return [\n ...deps.map(dep => new RegExp(`^${dep}($|\\\\/|\\\\\\\\)`)),\n ...(externals || []),\n ];\n }\n\n const deps = await getAllDeps(appDirectory, autoExternal);\n return [\n ...deps.map(dep => new RegExp(`^${dep}($|\\\\/|\\\\\\\\)`)),\n ...(externals || []),\n ];\n};\n\nexport const getAllDeps = async <T>(\n appDirectory: string,\n options: {\n dependencies?: boolean;\n peerDependencies?: boolean;\n } = {},\n) => {\n const { fs } = await import('@modern-js/utils');\n try {\n const json = JSON.parse(\n fs.readFileSync(path.resolve(appDirectory, './package.json'), 'utf8'),\n );\n\n let deps: string[] = [];\n\n if (options.dependencies) {\n deps = [\n ...deps,\n ...Object.keys((json.dependencies as T | undefined) || {}),\n ];\n }\n\n if (options.peerDependencies) {\n deps = [\n ...deps,\n ...Object.keys((json.peerDependencies as T | undefined) || {}),\n ];\n }\n\n return deps;\n } catch (e) {\n console.warn('[WARN] package.json is broken');\n return [];\n }\n};\n"]}
|
package/dist/utils/common.js
CHANGED
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __spreadValues = (a, b) => {
|
|
11
|
-
for (var prop in b || (b = {}))
|
|
12
|
-
if (__hasOwnProp.call(b, prop))
|
|
13
|
-
__defNormalProp(a, prop, b[prop]);
|
|
14
|
-
if (__getOwnPropSymbols)
|
|
15
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
-
if (__propIsEnum.call(b, prop))
|
|
17
|
-
__defNormalProp(a, prop, b[prop]);
|
|
18
|
-
}
|
|
19
|
-
return a;
|
|
20
|
-
};
|
|
21
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
5
|
var __export = (target, all) => {
|
|
23
6
|
for (var name in all)
|
|
24
7
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -39,9 +22,10 @@ __export(common_exports, {
|
|
|
39
22
|
module.exports = __toCommonJS(common_exports);
|
|
40
23
|
const transformUndefineObject = (arr) => {
|
|
41
24
|
return arr.reduce((o, key) => {
|
|
42
|
-
return
|
|
25
|
+
return {
|
|
26
|
+
...o,
|
|
43
27
|
[key]: void 0
|
|
44
|
-
}
|
|
28
|
+
};
|
|
45
29
|
}, {});
|
|
46
30
|
};
|
|
47
31
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/utils/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"
|
|
1
|
+
{"version":3,"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,0BAA0B,CACrC,QAC8B;AAC9B,SAAO,IAAI,OAAO,CAAC,GAAG,QAAQ;AAC5B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,CAAC,GAAG,GAAG;AAAA,IACT;AAAA,EACF,GAAG,CAAC,CAAC;AACP;","names":[],"sources":["../../src/utils/common.ts"],"sourcesContent":["/**\n * transform ['a', 'b'] to {a: undefined, b: undefined}\n */\nexport const transformUndefineObject = (\n arr: string[],\n): Record<string, undefined> => {\n return arr.reduce((o, key) => {\n return {\n ...o,\n [key]: undefined,\n };\n }, {});\n};\n"]}
|
package/dist/utils/config.js
CHANGED
|
@@ -1,26 +1,9 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
9
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
-
var __spreadValues = (a, b) => {
|
|
13
|
-
for (var prop in b || (b = {}))
|
|
14
|
-
if (__hasOwnProp.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
if (__getOwnPropSymbols)
|
|
17
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
-
if (__propIsEnum.call(b, prop))
|
|
19
|
-
__defNormalProp(a, prop, b[prop]);
|
|
20
|
-
}
|
|
21
|
-
return a;
|
|
22
|
-
};
|
|
23
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
7
|
var __export = (target, all) => {
|
|
25
8
|
for (var name in all)
|
|
26
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -42,26 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
42
25
|
mod
|
|
43
26
|
));
|
|
44
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
45
|
-
var __async = (__this, __arguments, generator) => {
|
|
46
|
-
return new Promise((resolve, reject) => {
|
|
47
|
-
var fulfilled = (value) => {
|
|
48
|
-
try {
|
|
49
|
-
step(generator.next(value));
|
|
50
|
-
} catch (e) {
|
|
51
|
-
reject(e);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
var rejected = (value) => {
|
|
55
|
-
try {
|
|
56
|
-
step(generator.throw(value));
|
|
57
|
-
} catch (e) {
|
|
58
|
-
reject(e);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
62
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
28
|
var config_exports = {};
|
|
66
29
|
__export(config_exports, {
|
|
67
30
|
getDtsConfig: () => getDtsConfig,
|
|
@@ -81,20 +44,18 @@ const validPartialBuildConfig = (config) => {
|
|
|
81
44
|
}
|
|
82
45
|
};
|
|
83
46
|
const validBuildTypeAndFormat = (config) => {
|
|
84
|
-
|
|
85
|
-
if (config.buildType === "bundleless" && ["iife", "umd"].includes((_a = config.format) != null ? _a : "")) {
|
|
47
|
+
if (config.buildType === "bundleless" && ["iife", "umd"].includes(config.format ?? "")) {
|
|
86
48
|
throw new Error(
|
|
87
49
|
`when buildType is bundleless, the format must be equal to one of the allowed values: (cjs, esm)`
|
|
88
50
|
);
|
|
89
51
|
}
|
|
90
52
|
};
|
|
91
|
-
const mergeDefaultBaseConfig = (pConfig, context) =>
|
|
92
|
-
|
|
93
|
-
const {
|
|
94
|
-
const {
|
|
95
|
-
const {
|
|
96
|
-
const {
|
|
97
|
-
const { getStyleConfig } = yield Promise.resolve().then(() => __toESM(require("./style")));
|
|
53
|
+
const mergeDefaultBaseConfig = async (pConfig, context) => {
|
|
54
|
+
const { defaultBuildConfig: defaultConfig } = await Promise.resolve().then(() => __toESM(require("../constants/build")));
|
|
55
|
+
const { cloneDeep } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils/lodash")));
|
|
56
|
+
const { applyOptionsChain, ensureAbsolutePath, slash } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
57
|
+
const { getDefaultIndexEntry } = await Promise.resolve().then(() => __toESM(require("./input")));
|
|
58
|
+
const { getStyleConfig } = await Promise.resolve().then(() => __toESM(require("./style")));
|
|
98
59
|
const defaultAlias = {
|
|
99
60
|
"@": context.srcDirectory
|
|
100
61
|
};
|
|
@@ -113,57 +74,70 @@ const mergeDefaultBaseConfig = (pConfig, context) => __async(void 0, null, funct
|
|
|
113
74
|
},
|
|
114
75
|
{}
|
|
115
76
|
);
|
|
116
|
-
const styleConfig =
|
|
117
|
-
const buildType =
|
|
118
|
-
const sourceDir =
|
|
119
|
-
const metafile =
|
|
120
|
-
const input = buildType === "bundle" ?
|
|
121
|
-
const userDefine =
|
|
122
|
-
const define =
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
77
|
+
const styleConfig = await getStyleConfig(pConfig);
|
|
78
|
+
const buildType = pConfig.buildType ?? defaultConfig.buildType;
|
|
79
|
+
const sourceDir = pConfig.sourceDir ?? defaultConfig.sourceDir;
|
|
80
|
+
const metafile = pConfig.metafile ?? defaultConfig.metafile;
|
|
81
|
+
const input = buildType === "bundle" ? await getDefaultIndexEntry(context) : [sourceDir];
|
|
82
|
+
const userDefine = pConfig.define ?? {};
|
|
83
|
+
const define = {
|
|
84
|
+
...defaultConfig.define,
|
|
85
|
+
...Object.keys(userDefine).reduce((memo, name) => {
|
|
86
|
+
memo[name] = JSON.stringify(userDefine[name]);
|
|
87
|
+
return memo;
|
|
88
|
+
}, {})
|
|
89
|
+
};
|
|
126
90
|
return {
|
|
127
|
-
asset:
|
|
91
|
+
asset: {
|
|
92
|
+
...defaultConfig.asset,
|
|
93
|
+
...pConfig.asset
|
|
94
|
+
},
|
|
128
95
|
buildType,
|
|
129
|
-
format:
|
|
130
|
-
target:
|
|
131
|
-
sourceMap:
|
|
132
|
-
copy:
|
|
133
|
-
outDir:
|
|
134
|
-
dts:
|
|
135
|
-
jsx:
|
|
136
|
-
input:
|
|
137
|
-
platform:
|
|
138
|
-
splitting:
|
|
139
|
-
minify:
|
|
140
|
-
autoExternal:
|
|
141
|
-
umdGlobals:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
96
|
+
format: pConfig.format ?? defaultConfig.format,
|
|
97
|
+
target: pConfig.target ?? defaultConfig.target,
|
|
98
|
+
sourceMap: pConfig.sourceMap ?? defaultConfig.sourceMap,
|
|
99
|
+
copy: pConfig.copy ?? cloneDeep(defaultConfig.copy),
|
|
100
|
+
outDir: pConfig.outDir ?? defaultConfig.outDir,
|
|
101
|
+
dts: await getDtsConfig(pConfig.dts, defaultConfig.dts),
|
|
102
|
+
jsx: pConfig.jsx ?? defaultConfig.jsx,
|
|
103
|
+
input: pConfig.input ?? cloneDeep(input),
|
|
104
|
+
platform: pConfig.platform ?? defaultConfig.platform,
|
|
105
|
+
splitting: pConfig.splitting ?? defaultConfig.splitting,
|
|
106
|
+
minify: pConfig.minify ?? defaultConfig.minify,
|
|
107
|
+
autoExternal: pConfig.autoExternal ?? defaultConfig.autoExternal,
|
|
108
|
+
umdGlobals: {
|
|
109
|
+
...defaultConfig.umdGlobals,
|
|
110
|
+
...pConfig.umdGlobals
|
|
111
|
+
},
|
|
112
|
+
umdModuleName: pConfig.umdModuleName ?? defaultConfig.umdModuleName,
|
|
113
|
+
sideEffects: pConfig.sideEffects ?? defaultConfig.sideEffects,
|
|
114
|
+
externals: pConfig.externals ?? defaultConfig.externals,
|
|
145
115
|
sourceDir,
|
|
146
116
|
alias,
|
|
147
117
|
define,
|
|
148
118
|
metafile,
|
|
149
|
-
style:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
119
|
+
style: {
|
|
120
|
+
...styleConfig,
|
|
121
|
+
inject: pConfig.style?.inject ?? defaultConfig.style.inject,
|
|
122
|
+
modules: pConfig.style?.modules ?? defaultConfig.style.modules,
|
|
123
|
+
autoModules: pConfig.style?.autoModules ?? defaultConfig.style.autoModules,
|
|
153
124
|
tailwindCss: defaultConfig.style.tailwindCss
|
|
154
|
-
}
|
|
125
|
+
}
|
|
155
126
|
};
|
|
156
|
-
}
|
|
157
|
-
const getDtsConfig = (userDTS, defaultDTS) =>
|
|
158
|
-
const { cloneDeep, isUndefined, isObject } =
|
|
127
|
+
};
|
|
128
|
+
const getDtsConfig = async (userDTS, defaultDTS) => {
|
|
129
|
+
const { cloneDeep, isUndefined, isObject } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils/lodash")));
|
|
159
130
|
if (isUndefined(userDTS)) {
|
|
160
131
|
return cloneDeep(defaultDTS);
|
|
161
132
|
}
|
|
162
133
|
if (isObject(userDTS)) {
|
|
163
|
-
return
|
|
134
|
+
return {
|
|
135
|
+
...defaultDTS,
|
|
136
|
+
...userDTS
|
|
137
|
+
};
|
|
164
138
|
}
|
|
165
139
|
return userDTS;
|
|
166
|
-
}
|
|
140
|
+
};
|
|
167
141
|
const isLegacyUserConfig = (config) => Boolean(config.legacy);
|
|
168
142
|
// Annotate the CommonJS export names for ESM import in node:
|
|
169
143
|
0 && (module.exports = {
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":"
|
|
1
|
+
{"version":3,"file":null,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,0BAA0B,CAAC,WAA+B;AACrE,MAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,eAAW,KAAK,QAAQ;AACtB,8BAAwB,CAAC;AAAA,IAC3B;AAAA,EACF,OAAO;AACL,4BAAwB,MAAM;AAAA,EAChC;AACF;AAEO,MAAM,0BAA0B,CAAC,WAAmC;AACzE,MACE,OAAO,cAAc,gBACrB,CAAC,QAAQ,KAAK,EAAE,SAAS,OAAO,UAAU,EAAE,GAC5C;AACA,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB,OACpC,SACA,YAC6B;AAC7B,QAAM,EAAE,oBAAoB,cAAc,IAAI,MAAM,6CAClD,oBACF;AACA,QAAM,EAAE,UAAU,IAAI,MAAM,6CAAO,yBAAyB;AAC5D,QAAM,EAAE,mBAAmB,oBAAoB,MAAM,IAAI,MAAM,6CAC7D,kBACF;AACA,QAAM,EAAE,qBAAqB,IAAI,MAAM,6CAAO,SAAS;AACvD,QAAM,EAAE,eAAe,IAAI,MAAM,6CAAO,SAAS;AACjD,QAAM,eAAe;AAAA,IACnB,KAAK,QAAQ;AAAA,EACf;AACA,QAAM,cAAc,kBAAkB,cAAc,QAAQ,KAAK;AAOjE,QAAM,QAAQ,OAAO,KAAK,WAAW,EAAE;AAAA,IACrC,CAAC,MAAM,SAAS;AACd,YAAM,iBAAiB,CAACA,WAAkB;AACxC,YAAI,OAAOA,WAAU,YAAYA,OAAM,WAAW,GAAG,GAAG;AACtD,iBAAO,MAAM,mBAAmB,QAAQ,cAAcA,MAAK,CAAC;AAAA,QAC9D;AACA,eAAOA;AAAA,MACT;AACA,YAAM,QAAQ,eAAe,YAAY,IAAI,CAAC;AAE9C,WAAK,IAAI,IAAI;AACb,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,cAAc,MAAM,eAAe,OAAO;AAChD,QAAM,YAAY,QAAQ,aAAa,cAAc;AACrD,QAAM,YAAY,QAAQ,aAAa,cAAc;AACrD,QAAM,WAAW,QAAQ,YAAY,cAAc;AACnD,QAAM,QACJ,cAAc,WAAW,MAAM,qBAAqB,OAAO,IAAI,CAAC,SAAS;AAC3E,QAAM,aAAa,QAAQ,UAAU,CAAC;AACtC,QAAM,SAAS;AAAA,IACb,GAAG,cAAc;AAAA,IACjB,GAAG,OAAO,KAAK,UAAU,EAAE,OAA+B,CAAC,MAAM,SAAS;AACxE,WAAK,IAAI,IAAI,KAAK,UAAU,WAAW,IAAI,CAAE;AAC7C,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AACA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,GAAG,cAAc;AAAA,MACjB,GAAG,QAAQ;AAAA,IACb;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ,UAAU,cAAc;AAAA,IACxC,QAAQ,QAAQ,UAAU,cAAc;AAAA,IACxC,WAAW,QAAQ,aAAa,cAAc;AAAA,IAC9C,MAAM,QAAQ,QAAQ,UAAU,cAAc,IAAI;AAAA,IAClD,QAAQ,QAAQ,UAAU,cAAc;AAAA,IACxC,KAAK,MAAM,aAAa,QAAQ,KAAK,cAAc,GAAiB;AAAA,IACpE,KAAK,QAAQ,OAAO,cAAc;AAAA,IAClC,OAAO,QAAQ,SAAS,UAAU,KAAK;AAAA,IACvC,UAAU,QAAQ,YAAY,cAAc;AAAA,IAC5C,WAAW,QAAQ,aAAa,cAAc;AAAA,IAC9C,QAAQ,QAAQ,UAAU,cAAc;AAAA,IACxC,cAAc,QAAQ,gBAAgB,cAAc;AAAA,IACpD,YAAY;AAAA,MACV,GAAG,cAAc;AAAA,MACjB,GAAG,QAAQ;AAAA,IACb;AAAA,IACA,eAAe,QAAQ,iBAAiB,cAAc;AAAA,IACtD,aAAa,QAAQ,eAAe,cAAc;AAAA,IAClD,WAAW,QAAQ,aAAa,cAAc;AAAA,IAC9C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,GAAG;AAAA,MACH,QAAQ,QAAQ,OAAO,UAAU,cAAc,MAAM;AAAA,MACrD,SAAS,QAAQ,OAAO,WAAW,cAAc,MAAM;AAAA,MACvD,aACE,QAAQ,OAAO,eAAe,cAAc,MAAM;AAAA,MACpD,aAAa,cAAc,MAAM;AAAA,IACnC;AAAA,EACF;AACF;AAEO,MAAM,eAAe,OAC1B,SACA,eACG;AACH,QAAM,EAAE,WAAW,aAAa,SAAS,IAAI,MAAM,6CACjD,yBACF;AAEA,MAAI,YAAY,OAAO,GAAG;AACxB,WAAO,UAAU,UAAU;AAAA,EAC7B;AAEA,MAAI,SAAS,OAAO,GAAG;AACrB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,qBAAqB,CAAC,WAEK,QAAQ,OAAO,MAAM;;;;;;;;;","names":["value"],"sources":["../../src/utils/config.ts"],"sourcesContent":["import { ModuleContext } from '../types';\nimport type {\n BaseBuildConfig,\n PartialBuildConfig,\n PartialBaseBuildConfig,\n DTSOptions,\n ModuleLegacyUserConfig,\n} from '../types';\n\nexport const validPartialBuildConfig = (config: PartialBuildConfig) => {\n if (Array.isArray(config)) {\n for (const c of config) {\n validBuildTypeAndFormat(c);\n }\n } else {\n validBuildTypeAndFormat(config);\n }\n};\n\nexport const validBuildTypeAndFormat = (config: PartialBaseBuildConfig) => {\n if (\n config.buildType === 'bundleless' &&\n ['iife', 'umd'].includes(config.format ?? '')\n ) {\n throw new Error(\n `when buildType is bundleless, the format must be equal to one of the allowed values: (cjs, esm)`,\n );\n }\n};\n\nexport const mergeDefaultBaseConfig = async (\n pConfig: PartialBaseBuildConfig,\n context: ModuleContext,\n): Promise<BaseBuildConfig> => {\n const { defaultBuildConfig: defaultConfig } = await import(\n '../constants/build'\n );\n const { cloneDeep } = await import('@modern-js/utils/lodash');\n const { applyOptionsChain, ensureAbsolutePath, slash } = await import(\n '@modern-js/utils'\n );\n const { getDefaultIndexEntry } = await import('./input');\n const { getStyleConfig } = await import('./style');\n const defaultAlias = {\n '@': context.srcDirectory,\n };\n const mergedAlias = applyOptionsChain(defaultAlias, pConfig.alias);\n\n /**\n * Format alias value:\n * - Relative paths need to be turned into absolute paths.\n * - Absolute paths or a package name are not processed.\n */\n const alias = Object.keys(mergedAlias).reduce<Record<string, string>>(\n (prev, name) => {\n const formattedValue = (value: string) => {\n if (typeof value === 'string' && value.startsWith('.')) {\n return slash(ensureAbsolutePath(context.appDirectory, value));\n }\n return value;\n };\n const value = formattedValue(mergedAlias[name]);\n\n prev[name] = value;\n return prev;\n },\n {},\n );\n\n const styleConfig = await getStyleConfig(pConfig);\n const buildType = pConfig.buildType ?? defaultConfig.buildType;\n const sourceDir = pConfig.sourceDir ?? defaultConfig.sourceDir;\n const metafile = pConfig.metafile ?? defaultConfig.metafile;\n const input =\n buildType === 'bundle' ? await getDefaultIndexEntry(context) : [sourceDir];\n const userDefine = pConfig.define ?? {};\n const define = {\n ...defaultConfig.define,\n ...Object.keys(userDefine).reduce<Record<string, string>>((memo, name) => {\n memo[name] = JSON.stringify(userDefine[name]!);\n return memo;\n }, {}),\n };\n return {\n asset: {\n ...defaultConfig.asset,\n ...pConfig.asset,\n },\n buildType,\n format: pConfig.format ?? defaultConfig.format,\n target: pConfig.target ?? defaultConfig.target,\n sourceMap: pConfig.sourceMap ?? defaultConfig.sourceMap,\n copy: pConfig.copy ?? cloneDeep(defaultConfig.copy),\n outDir: pConfig.outDir ?? defaultConfig.outDir,\n dts: await getDtsConfig(pConfig.dts, defaultConfig.dts as DTSOptions),\n jsx: pConfig.jsx ?? defaultConfig.jsx,\n input: pConfig.input ?? cloneDeep(input),\n platform: pConfig.platform ?? defaultConfig.platform,\n splitting: pConfig.splitting ?? defaultConfig.splitting,\n minify: pConfig.minify ?? defaultConfig.minify,\n autoExternal: pConfig.autoExternal ?? defaultConfig.autoExternal,\n umdGlobals: {\n ...defaultConfig.umdGlobals,\n ...pConfig.umdGlobals,\n },\n umdModuleName: pConfig.umdModuleName ?? defaultConfig.umdModuleName,\n sideEffects: pConfig.sideEffects ?? defaultConfig.sideEffects,\n externals: pConfig.externals ?? defaultConfig.externals,\n sourceDir,\n alias,\n define,\n metafile,\n style: {\n ...styleConfig,\n inject: pConfig.style?.inject ?? defaultConfig.style.inject,\n modules: pConfig.style?.modules ?? defaultConfig.style.modules,\n autoModules:\n pConfig.style?.autoModules ?? defaultConfig.style.autoModules,\n tailwindCss: defaultConfig.style.tailwindCss,\n },\n };\n};\n\nexport const getDtsConfig = async (\n userDTS: PartialBaseBuildConfig['dts'],\n defaultDTS: Required<DTSOptions>,\n) => {\n const { cloneDeep, isUndefined, isObject } = await import(\n '@modern-js/utils/lodash'\n );\n\n if (isUndefined(userDTS)) {\n return cloneDeep(defaultDTS);\n }\n\n if (isObject(userDTS)) {\n return {\n ...defaultDTS,\n ...userDTS,\n };\n }\n\n return userDTS;\n};\n\nexport const isLegacyUserConfig = (config: {\n legacy?: boolean;\n}): config is ModuleLegacyUserConfig => Boolean(config.legacy);\n"]}
|