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