@modern-js/module-tools 2.10.1-beta.0 → 2.10.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.
- package/dist/build.js +29 -9
- package/dist/build.js.map +1 -1
- package/dist/builder/build.js +93 -52
- package/dist/builder/build.js.map +1 -1
- package/dist/builder/clear.js +29 -9
- package/dist/builder/clear.js.map +1 -1
- package/dist/builder/copy.js +82 -42
- package/dist/builder/copy.js.map +1 -1
- package/dist/builder/dts/rollup.d.ts +4 -2
- package/dist/builder/dts/rollup.js +73 -34
- package/dist/builder/dts/rollup.js.map +1 -1
- package/dist/builder/dts/tsc.js +88 -47
- package/dist/builder/dts/tsc.js.map +1 -1
- package/dist/builder/index.js +39 -18
- package/dist/builder/index.js.map +1 -1
- package/dist/builder/platform.js +46 -25
- package/dist/builder/platform.js.map +1 -1
- package/dist/cli.js +45 -23
- package/dist/cli.js.map +1 -1
- package/dist/command.js +76 -39
- package/dist/command.js.map +1 -1
- package/dist/config/defineConfig.js +18 -2
- package/dist/config/defineConfig.js.map +1 -1
- package/dist/config/normalize.js +73 -45
- package/dist/config/normalize.js.map +1 -1
- package/dist/config/schema.d.ts +12 -0
- package/dist/config/schema.js +2 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/transformLegacyConfig.js +130 -90
- package/dist/config/transformLegacyConfig.js.map +1 -1
- package/dist/constants/build.d.ts +0 -3
- package/dist/constants/build.js +2 -11
- package/dist/constants/build.js.map +1 -1
- package/dist/constants/buildPresets.js +23 -14
- package/dist/constants/buildPresets.js.map +1 -1
- package/dist/dev.js +46 -21
- package/dist/dev.js.map +1 -1
- package/dist/error.js +2 -7
- package/dist/error.js.map +1 -1
- package/dist/hooks/index.js +15 -6
- package/dist/hooks/index.js.map +1 -1
- package/dist/locale/en.d.ts +3 -0
- package/dist/locale/en.js +5 -3
- package/dist/locale/en.js.map +1 -1
- package/dist/locale/index.d.ts +6 -0
- package/dist/locale/zh.d.ts +3 -0
- package/dist/locale/zh.js +5 -3
- package/dist/locale/zh.js.map +1 -1
- package/dist/types/config/index.d.ts +1 -0
- package/dist/types/config/index.js.map +1 -1
- package/dist/types/dts.d.ts +1 -0
- package/dist/types/dts.js.map +1 -1
- package/dist/utils/builder.js +29 -8
- package/dist/utils/builder.js.map +1 -1
- package/dist/utils/common.js +19 -3
- package/dist/utils/common.js.map +1 -1
- package/dist/utils/config.js +83 -57
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/context.js +23 -3
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/dts.d.ts +6 -2
- package/dist/utils/dts.js +92 -25
- package/dist/utils/dts.js.map +1 -1
- package/dist/utils/input.js +34 -14
- package/dist/utils/input.js.map +1 -1
- package/dist/utils/language.js +23 -3
- package/dist/utils/language.js.map +1 -1
- package/dist/utils/libuildPlugins.js +30 -11
- package/dist/utils/libuildPlugins.js.map +1 -1
- package/dist/utils/log.js +26 -10
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/onExit.js +26 -6
- package/dist/utils/onExit.js.map +1 -1
- package/dist/utils/path.js +23 -3
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/print.js +31 -13
- package/dist/utils/print.js.map +1 -1
- package/dist/utils/style.js +52 -29
- package/dist/utils/style.js.map +1 -1
- package/lib/types.d.ts +0 -98
- package/package.json +4 -4
package/dist/builder/copy.js
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
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));
|
|
7
24
|
var __export = (target, all) => {
|
|
8
25
|
for (var name in all)
|
|
9
26
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -25,6 +42,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
42
|
mod
|
|
26
43
|
));
|
|
27
44
|
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
|
+
};
|
|
28
65
|
var copy_exports = {};
|
|
29
66
|
__export(copy_exports, {
|
|
30
67
|
copyTask: () => copyTask,
|
|
@@ -33,13 +70,15 @@ __export(copy_exports, {
|
|
|
33
70
|
});
|
|
34
71
|
module.exports = __toCommonJS(copy_exports);
|
|
35
72
|
var import_path = __toESM(require("path"));
|
|
73
|
+
var import_logger = require("@modern-js/utils/logger");
|
|
36
74
|
const watchMap = /* @__PURE__ */ new Map();
|
|
37
|
-
const runPatterns =
|
|
38
|
-
|
|
39
|
-
const {
|
|
75
|
+
const runPatterns = (pattern, options) => __async(void 0, null, function* () {
|
|
76
|
+
var _a;
|
|
77
|
+
const { fs, fastGlob, globby } = yield Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
78
|
+
const { default: normalizePath } = yield Promise.resolve().then(() => __toESM(require("../../compiled/normalize-path")));
|
|
40
79
|
const { appDirectory, enableCopySync = false } = options;
|
|
41
80
|
const { from, globOptions = {} } = pattern;
|
|
42
|
-
const targetPattern = {
|
|
81
|
+
const targetPattern = __spreadValues({}, pattern);
|
|
43
82
|
const normalizedFrom = import_path.default.normalize(from);
|
|
44
83
|
const defaultAbsContext = options.defaultContext;
|
|
45
84
|
if (typeof pattern.context === "string") {
|
|
@@ -55,7 +94,7 @@ const runPatterns = async (pattern, options) => {
|
|
|
55
94
|
}
|
|
56
95
|
let stats;
|
|
57
96
|
try {
|
|
58
|
-
stats =
|
|
97
|
+
stats = yield fs.stat(absoluteFrom);
|
|
59
98
|
} catch (error) {
|
|
60
99
|
}
|
|
61
100
|
let fromType;
|
|
@@ -95,21 +134,20 @@ const runPatterns = async (pattern, options) => {
|
|
|
95
134
|
glob = import_path.default.isAbsolute(from) ? from : import_path.default.posix.join(
|
|
96
135
|
fastGlob.escapePath(
|
|
97
136
|
normalizePath(
|
|
98
|
-
import_path.default.resolve(targetPattern.context
|
|
137
|
+
import_path.default.resolve((_a = targetPattern.context) != null ? _a : appDirectory)
|
|
99
138
|
)
|
|
100
139
|
),
|
|
101
140
|
from
|
|
102
141
|
);
|
|
103
142
|
}
|
|
104
143
|
}
|
|
105
|
-
const globEntries =
|
|
106
|
-
...{ followSymbolicLinks: true },
|
|
107
|
-
...targetPattern.globOptions || {},
|
|
144
|
+
const globEntries = yield globby(glob, __spreadProps(__spreadValues(__spreadValues({}, { followSymbolicLinks: true }), targetPattern.globOptions || {}), {
|
|
108
145
|
cwd: targetPattern.context,
|
|
109
146
|
objectMode: true
|
|
110
|
-
});
|
|
111
|
-
const { default: pMap } =
|
|
112
|
-
pMap(globEntries,
|
|
147
|
+
}));
|
|
148
|
+
const { default: pMap } = yield Promise.resolve().then(() => __toESM(require("../../compiled/p-map")));
|
|
149
|
+
pMap(globEntries, (globEntry) => __async(void 0, null, function* () {
|
|
150
|
+
var _a2;
|
|
113
151
|
if (!globEntry.dirent.isFile()) {
|
|
114
152
|
return;
|
|
115
153
|
}
|
|
@@ -120,7 +158,7 @@ const runPatterns = async (pattern, options) => {
|
|
|
120
158
|
);
|
|
121
159
|
const toType = import_path.default.extname(to) === "" || to.slice(-1) === import_path.default.sep ? "dir" : "file";
|
|
122
160
|
const relativeFrom = import_path.default.relative(
|
|
123
|
-
targetPattern.context
|
|
161
|
+
(_a2 = targetPattern.context) != null ? _a2 : defaultAbsContext,
|
|
124
162
|
absoluteFrom2
|
|
125
163
|
);
|
|
126
164
|
const filename = toType === "dir" ? import_path.default.join(to, relativeFrom) : to;
|
|
@@ -131,19 +169,20 @@ const runPatterns = async (pattern, options) => {
|
|
|
131
169
|
if (enableCopySync) {
|
|
132
170
|
fs.copySync(absoluteFrom2, absoluteTo);
|
|
133
171
|
} else {
|
|
134
|
-
|
|
172
|
+
yield fs.copy(absoluteFrom2, absoluteTo);
|
|
135
173
|
}
|
|
136
|
-
});
|
|
137
|
-
};
|
|
138
|
-
const watchCopyFiles =
|
|
139
|
-
const { watch, fs, logger, createDebugger } =
|
|
174
|
+
}));
|
|
175
|
+
});
|
|
176
|
+
const watchCopyFiles = (options, copyConfig) => __async(void 0, null, function* () {
|
|
177
|
+
const { watch, fs, logger: logger2, createDebugger } = yield Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
|
|
140
178
|
const debug = createDebugger("module-tools:copy-watch");
|
|
141
179
|
debug("watchMap", watchMap);
|
|
142
|
-
const { SectionTitleStatus, CopyLogPrefix } =
|
|
143
|
-
const { watchSectionTitle } =
|
|
180
|
+
const { SectionTitleStatus, CopyLogPrefix } = yield Promise.resolve().then(() => __toESM(require("../constants/log")));
|
|
181
|
+
const { watchSectionTitle } = yield Promise.resolve().then(() => __toESM(require("../utils/log")));
|
|
144
182
|
const watchList = Array.from(watchMap.keys());
|
|
145
183
|
debug("watchList", watchList);
|
|
146
|
-
watch(watchList,
|
|
184
|
+
watch(watchList, (_0) => __async(void 0, [_0], function* ({ changedFilePath, changeType }) {
|
|
185
|
+
var _a;
|
|
147
186
|
const result = watchMap.get(changedFilePath);
|
|
148
187
|
if (!result) {
|
|
149
188
|
return;
|
|
@@ -151,8 +190,8 @@ const watchCopyFiles = async (options, copyConfig) => {
|
|
|
151
190
|
const formatFilePath = import_path.default.relative(options.appDirectory, changedFilePath);
|
|
152
191
|
if (changeType === "unlink") {
|
|
153
192
|
fs.remove(result);
|
|
154
|
-
|
|
155
|
-
|
|
193
|
+
logger2.log(
|
|
194
|
+
yield watchSectionTitle(
|
|
156
195
|
CopyLogPrefix,
|
|
157
196
|
SectionTitleStatus.Log,
|
|
158
197
|
`${formatFilePath} removed`
|
|
@@ -160,49 +199,50 @@ const watchCopyFiles = async (options, copyConfig) => {
|
|
|
160
199
|
);
|
|
161
200
|
return;
|
|
162
201
|
}
|
|
163
|
-
if (copyConfig
|
|
202
|
+
if ((_a = copyConfig == null ? void 0 : copyConfig.options) == null ? void 0 : _a.enableCopySync) {
|
|
164
203
|
fs.copySync(changedFilePath, result);
|
|
165
204
|
} else {
|
|
166
|
-
|
|
205
|
+
yield fs.copy(changedFilePath, result);
|
|
167
206
|
}
|
|
168
|
-
|
|
169
|
-
|
|
207
|
+
logger2.log(
|
|
208
|
+
yield watchSectionTitle(
|
|
170
209
|
CopyLogPrefix,
|
|
171
210
|
SectionTitleStatus.Log,
|
|
172
211
|
`${formatFilePath} changed`
|
|
173
212
|
)
|
|
174
213
|
);
|
|
175
|
-
});
|
|
176
|
-
};
|
|
177
|
-
const copyTask =
|
|
214
|
+
}));
|
|
215
|
+
});
|
|
216
|
+
const copyTask = (buildConfig, options) => __async(void 0, null, function* () {
|
|
217
|
+
var _a;
|
|
178
218
|
const copyConfig = buildConfig.copy;
|
|
179
219
|
if (!copyConfig.patterns || copyConfig.patterns.length === 0) {
|
|
180
220
|
return;
|
|
181
221
|
}
|
|
182
|
-
const { default: pMap } =
|
|
183
|
-
const concurrency = copyConfig
|
|
222
|
+
const { default: pMap } = yield Promise.resolve().then(() => __toESM(require("../../compiled/p-map")));
|
|
223
|
+
const concurrency = ((_a = copyConfig == null ? void 0 : copyConfig.options) == null ? void 0 : _a.concurrency) || 100;
|
|
184
224
|
try {
|
|
185
|
-
|
|
225
|
+
yield pMap(
|
|
186
226
|
copyConfig.patterns,
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
enableCopySync: copyConfig.options
|
|
227
|
+
(copyOption) => __async(void 0, null, function* () {
|
|
228
|
+
var _a2;
|
|
229
|
+
yield runPatterns(copyOption, __spreadProps(__spreadValues({}, options), {
|
|
230
|
+
enableCopySync: (_a2 = copyConfig.options) == null ? void 0 : _a2.enableCopySync,
|
|
191
231
|
outDir: buildConfig.outDir,
|
|
192
232
|
defaultContext: buildConfig.sourceDir
|
|
193
|
-
});
|
|
194
|
-
},
|
|
233
|
+
}));
|
|
234
|
+
}),
|
|
195
235
|
{ concurrency }
|
|
196
236
|
);
|
|
197
237
|
} catch (e) {
|
|
198
238
|
if (e instanceof Error) {
|
|
199
|
-
|
|
239
|
+
import_logger.logger.error(`copy error: ${e.message}`);
|
|
200
240
|
}
|
|
201
241
|
}
|
|
202
242
|
if (options.watch) {
|
|
203
|
-
|
|
243
|
+
yield watchCopyFiles(options, copyConfig);
|
|
204
244
|
}
|
|
205
|
-
};
|
|
245
|
+
});
|
|
206
246
|
// Annotate the CommonJS export names for ESM import in node:
|
|
207
247
|
0 && (module.exports = {
|
|
208
248
|
copyTask,
|
package/dist/builder/copy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":"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","names":["from","absoluteFrom"],"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"]}
|
|
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 { logger } from '@modern-js/utils/logger';\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 logger.error(`copy error: ${e.message}`);\n }\n }\n if (options.watch) {\n await watchCopyFiles(options, copyConfig);\n }\n};\n"]}
|
|
@@ -7,11 +7,13 @@ type Config = {
|
|
|
7
7
|
externals: BaseBuildConfig['externals'];
|
|
8
8
|
input: Input;
|
|
9
9
|
watch: boolean;
|
|
10
|
+
abortOnError?: boolean;
|
|
10
11
|
};
|
|
11
12
|
export declare const runRollup: (api: PluginAPI<ModuleTools>, {
|
|
12
13
|
distDir,
|
|
13
14
|
tsconfigPath,
|
|
14
15
|
externals,
|
|
15
16
|
input,
|
|
16
|
-
watch
|
|
17
|
-
|
|
17
|
+
watch,
|
|
18
|
+
abortOnError
|
|
19
|
+
}: Config) => Promise<RollupWatcher | import("../../../compiled/rollup").RollupBuild | null>;
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
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));
|
|
7
24
|
var __export = (target, all) => {
|
|
8
25
|
for (var name in all)
|
|
9
26
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -25,13 +42,41 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
42
|
mod
|
|
26
43
|
));
|
|
27
44
|
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
|
+
};
|
|
28
65
|
var rollup_exports = {};
|
|
29
66
|
__export(rollup_exports, {
|
|
30
67
|
runRollup: () => runRollup
|
|
31
68
|
});
|
|
32
69
|
module.exports = __toCommonJS(rollup_exports);
|
|
33
70
|
var import_path = __toESM(require("path"));
|
|
34
|
-
|
|
71
|
+
var import_logger = require("@modern-js/utils/logger");
|
|
72
|
+
const runRollup = (_0, _1) => __async(void 0, [_0, _1], function* (api, {
|
|
73
|
+
distDir,
|
|
74
|
+
tsconfigPath,
|
|
75
|
+
externals,
|
|
76
|
+
input,
|
|
77
|
+
watch,
|
|
78
|
+
abortOnError = true
|
|
79
|
+
}) {
|
|
35
80
|
const ignoreFiles = {
|
|
36
81
|
name: "ignore-files",
|
|
37
82
|
load(id) {
|
|
@@ -41,16 +86,16 @@ const runRollup = async (api, { distDir, tsconfigPath, externals, input, watch }
|
|
|
41
86
|
return null;
|
|
42
87
|
}
|
|
43
88
|
};
|
|
44
|
-
const ts =
|
|
89
|
+
const ts = yield Promise.resolve().then(() => __toESM(require("typescript")));
|
|
45
90
|
const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
|
|
46
91
|
const { options } = ts.parseJsonConfigFileContent(
|
|
47
92
|
configFile.config,
|
|
48
93
|
ts.sys,
|
|
49
94
|
"./"
|
|
50
95
|
);
|
|
51
|
-
const { default: jsonPlugin } =
|
|
52
|
-
const { default: dtsPlugin } =
|
|
53
|
-
const { transformUndefineObject } =
|
|
96
|
+
const { default: jsonPlugin } = yield Promise.resolve().then(() => __toESM(require("../../../compiled/@rollup/plugin-json")));
|
|
97
|
+
const { default: dtsPlugin } = yield Promise.resolve().then(() => __toESM(require("../../../compiled/rollup-plugin-dts")));
|
|
98
|
+
const { transformUndefineObject } = yield Promise.resolve().then(() => __toESM(require("../../utils/common")));
|
|
54
99
|
const baseUrl = import_path.default.isAbsolute(options.baseUrl || ".") ? options.baseUrl : import_path.default.join(import_path.default.dirname(tsconfigPath), options.baseUrl || ".");
|
|
55
100
|
const ignoreCompileOptions = [
|
|
56
101
|
"incremental",
|
|
@@ -67,13 +112,13 @@ const runRollup = async (api, { distDir, tsconfigPath, externals, input, watch }
|
|
|
67
112
|
dtsPlugin({
|
|
68
113
|
// use external to prevent them which come from node_modules from be bundled.
|
|
69
114
|
respectExternal: true,
|
|
70
|
-
compilerOptions: {
|
|
115
|
+
compilerOptions: __spreadValues(__spreadProps(__spreadValues({
|
|
71
116
|
declarationMap: false,
|
|
72
117
|
skipLibCheck: true,
|
|
73
118
|
// https://github.com/Swatinem/rollup-plugin-dts/issues/143,
|
|
74
119
|
// but it will cause error when bundle ts which import another ts file.
|
|
75
|
-
preserveSymlinks: false
|
|
76
|
-
|
|
120
|
+
preserveSymlinks: false
|
|
121
|
+
}, options), {
|
|
77
122
|
// https://github.com/Swatinem/rollup-plugin-dts/issues/127
|
|
78
123
|
composite: false,
|
|
79
124
|
// isAbsolute
|
|
@@ -88,9 +133,8 @@ const runRollup = async (api, { distDir, tsconfigPath, externals, input, watch }
|
|
|
88
133
|
// Avoid extra work
|
|
89
134
|
checkJs: false,
|
|
90
135
|
// Ensure we can parse the latest code
|
|
91
|
-
target: ts.ScriptTarget.ESNext
|
|
92
|
-
|
|
93
|
-
},
|
|
136
|
+
target: ts.ScriptTarget.ESNext
|
|
137
|
+
}), transformUndefineObject(ignoreCompileOptions)),
|
|
94
138
|
tsconfig: tsconfigPath
|
|
95
139
|
})
|
|
96
140
|
].filter(Boolean)
|
|
@@ -101,22 +145,21 @@ const runRollup = async (api, { distDir, tsconfigPath, externals, input, watch }
|
|
|
101
145
|
exports: "named"
|
|
102
146
|
};
|
|
103
147
|
if (watch) {
|
|
104
|
-
const { watch: watch2 } =
|
|
105
|
-
const { watchSectionTitle } =
|
|
106
|
-
const { SectionTitleStatus, BundleDtsLogPrefix } =
|
|
148
|
+
const { watch: watch2 } = yield Promise.resolve().then(() => __toESM(require("../../../compiled/rollup")));
|
|
149
|
+
const { watchSectionTitle } = yield Promise.resolve().then(() => __toESM(require("../../utils/log")));
|
|
150
|
+
const { SectionTitleStatus, BundleDtsLogPrefix } = yield Promise.resolve().then(() => __toESM(require("../../constants/log")));
|
|
107
151
|
const runner = api.useHookRunners();
|
|
108
|
-
const watcher = watch2({
|
|
109
|
-
...inputConfig,
|
|
152
|
+
const watcher = watch2(__spreadProps(__spreadValues({}, inputConfig), {
|
|
110
153
|
plugins: inputConfig.plugins,
|
|
111
154
|
output: outputConfig
|
|
112
|
-
}).on("event",
|
|
155
|
+
})).on("event", (event) => __async(void 0, null, function* () {
|
|
113
156
|
if (event.code === "START") {
|
|
114
|
-
|
|
115
|
-
|
|
157
|
+
import_logger.logger.info(
|
|
158
|
+
yield watchSectionTitle(BundleDtsLogPrefix, SectionTitleStatus.Log)
|
|
116
159
|
);
|
|
117
160
|
} else if (event.code === "BUNDLE_END") {
|
|
118
|
-
|
|
119
|
-
|
|
161
|
+
import_logger.logger.info(
|
|
162
|
+
yield watchSectionTitle(
|
|
120
163
|
BundleDtsLogPrefix,
|
|
121
164
|
SectionTitleStatus.Success
|
|
122
165
|
)
|
|
@@ -124,28 +167,24 @@ const runRollup = async (api, { distDir, tsconfigPath, externals, input, watch }
|
|
|
124
167
|
runner.buildWatchDts({ buildType: "bundle" });
|
|
125
168
|
} else if (event.code === "ERROR") {
|
|
126
169
|
}
|
|
127
|
-
});
|
|
170
|
+
}));
|
|
128
171
|
return watcher;
|
|
129
172
|
} else {
|
|
130
173
|
try {
|
|
131
|
-
const { rollup } =
|
|
132
|
-
const { addRollupChunk } =
|
|
133
|
-
const bundle =
|
|
134
|
-
const rollupOutput =
|
|
174
|
+
const { rollup } = yield Promise.resolve().then(() => __toESM(require("../../../compiled/rollup")));
|
|
175
|
+
const { addRollupChunk } = yield Promise.resolve().then(() => __toESM(require("../../utils/print")));
|
|
176
|
+
const bundle = yield rollup(inputConfig);
|
|
177
|
+
const rollupOutput = yield bundle.write(outputConfig);
|
|
135
178
|
const { appDirectory } = api.useAppContext();
|
|
136
179
|
addRollupChunk(rollupOutput, appDirectory, outputConfig.dir);
|
|
137
180
|
return bundle;
|
|
138
181
|
} catch (e) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
buildType: "bundle"
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
throw e;
|
|
182
|
+
const { printOrThrowDtsErrors } = yield Promise.resolve().then(() => __toESM(require("../../utils/dts")));
|
|
183
|
+
yield printOrThrowDtsErrors(e, { abortOnError, buildType: "bundle" });
|
|
184
|
+
return null;
|
|
146
185
|
}
|
|
147
186
|
}
|
|
148
|
-
};
|
|
187
|
+
});
|
|
149
188
|
// Annotate the CommonJS export names for ESM import in node:
|
|
150
189
|
0 && (module.exports = {
|
|
151
190
|
runRollup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"mappings":"
|
|
1
|
+
{"version":3,"file":null,"mappings":"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","names":["watch"],"sources":["../../../src/builder/dts/rollup.ts"],"sourcesContent":["import path from 'path';\nimport { logger } from '@modern-js/utils/logger';\nimport type {\n InputOptions,\n OutputOptions,\n Plugin,\n RollupWatcher,\n} from '../../../compiled/rollup';\nimport type {\n BaseBuildConfig,\n Input,\n PluginAPI,\n ModuleTools,\n} from '../../types';\n\nexport type { RollupWatcher };\n\ntype Config = {\n distDir: string;\n tsconfigPath: string;\n externals: BaseBuildConfig['externals'];\n input: Input;\n watch: boolean;\n abortOnError?: boolean;\n};\n\nexport const runRollup = async (\n api: PluginAPI<ModuleTools>,\n {\n distDir,\n tsconfigPath,\n externals,\n input,\n watch,\n abortOnError = true,\n }: Config,\n) => {\n const ignoreFiles: Plugin = {\n name: 'ignore-files',\n load(id) {\n if (!/\\.(js|jsx|ts|tsx|json|cts|mts)$/.test(id)) {\n return '';\n }\n return null;\n },\n };\n const ts = await import('typescript');\n const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);\n const { options } = ts.parseJsonConfigFileContent(\n configFile.config,\n ts.sys,\n './',\n );\n\n const { default: jsonPlugin } = await import(\n '../../../compiled/@rollup/plugin-json'\n );\n const { default: dtsPlugin } = await import(\n '../../../compiled/rollup-plugin-dts'\n );\n const { transformUndefineObject } = await import('../../utils/common');\n\n const baseUrl = path.isAbsolute(options.baseUrl || '.')\n ? options.baseUrl\n : path.join(path.dirname(tsconfigPath), options.baseUrl || '.');\n const ignoreCompileOptions = [\n 'incremental',\n 'tsBuildInfoFile',\n 'sourceMap',\n 'inlineSources',\n ];\n\n const inputConfig: InputOptions = {\n input,\n external: externals,\n plugins: [\n jsonPlugin(),\n ignoreFiles,\n dtsPlugin({\n // use external to prevent them which come from node_modules from be bundled.\n respectExternal: true,\n compilerOptions: {\n declarationMap: false,\n skipLibCheck: true,\n // https://github.com/Swatinem/rollup-plugin-dts/issues/143,\n // but it will cause error when bundle ts which import another ts file.\n preserveSymlinks: false,\n ...options,\n // https://github.com/Swatinem/rollup-plugin-dts/issues/127\n composite: false,\n // isAbsolute\n baseUrl,\n // Ensure \".d.ts\" modules are generated\n declaration: true,\n // Skip \".js\" generation\n noEmit: false,\n emitDeclarationOnly: true,\n // Skip code generation when error occurs\n noEmitOnError: true,\n // Avoid extra work\n checkJs: false,\n // Ensure we can parse the latest code\n target: ts.ScriptTarget.ESNext,\n ...transformUndefineObject(ignoreCompileOptions),\n },\n tsconfig: tsconfigPath,\n }),\n ].filter(Boolean),\n };\n const outputConfig: OutputOptions = {\n dir: distDir,\n format: 'esm',\n exports: 'named',\n };\n if (watch) {\n const { watch } = await import('../../../compiled/rollup');\n const { watchSectionTitle } = await import('../../utils/log');\n const { SectionTitleStatus, BundleDtsLogPrefix } = await import(\n '../../constants/log'\n );\n const runner = api.useHookRunners();\n const watcher = watch({\n ...inputConfig,\n plugins: inputConfig.plugins,\n output: outputConfig,\n }).on('event', async event => {\n if (event.code === 'START') {\n logger.info(\n await watchSectionTitle(BundleDtsLogPrefix, SectionTitleStatus.Log),\n );\n } else if (event.code === 'BUNDLE_END') {\n logger.info(\n await watchSectionTitle(\n BundleDtsLogPrefix,\n SectionTitleStatus.Success,\n ),\n );\n runner.buildWatchDts({ buildType: 'bundle' });\n } else if (event.code === 'ERROR') {\n // this is dts rollup plugin bug, error not complete message\n }\n });\n return watcher;\n } else {\n try {\n const { rollup } = await import('../../../compiled/rollup');\n const { addRollupChunk } = await import('../../utils/print');\n const bundle = await rollup(inputConfig);\n const rollupOutput = await bundle.write(outputConfig);\n const { appDirectory } = api.useAppContext();\n addRollupChunk(rollupOutput, appDirectory, outputConfig.dir!);\n return bundle;\n } catch (e) {\n const { printOrThrowDtsErrors } = await import('../../utils/dts');\n await printOrThrowDtsErrors(e, { abortOnError, buildType: 'bundle' });\n return null;\n }\n }\n};\n"]}
|