@modern-js/module-tools 2.15.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/compiled/postcss-custom-properties/index.js +1 -1
  3. package/compiled/postcss-custom-properties/package.json +1 -1
  4. package/dist/build.js +23 -66
  5. package/dist/build.js.map +1 -1
  6. package/dist/builder/build.js +114 -170
  7. package/dist/builder/build.js.map +1 -1
  8. package/dist/builder/clear.js +23 -65
  9. package/dist/builder/clear.js.map +1 -1
  10. package/dist/builder/copy.js +83 -164
  11. package/dist/builder/copy.js.map +1 -1
  12. package/dist/builder/dts/index.js +15 -28
  13. package/dist/builder/dts/index.js.map +1 -1
  14. package/dist/builder/dts/rollup.js +46 -120
  15. package/dist/builder/dts/rollup.js.map +1 -1
  16. package/dist/builder/dts/tsc.js +82 -141
  17. package/dist/builder/dts/tsc.js.map +1 -1
  18. package/dist/builder/index.js +34 -85
  19. package/dist/builder/index.js.map +1 -1
  20. package/dist/builder/platform.js +40 -93
  21. package/dist/builder/platform.js.map +1 -1
  22. package/dist/cli.js +35 -84
  23. package/dist/cli.js.map +1 -1
  24. package/dist/command.js +56 -136
  25. package/dist/command.js.map +1 -1
  26. package/dist/config/defineConfig.js +13 -42
  27. package/dist/config/defineConfig.js.map +1 -1
  28. package/dist/config/legacySchema.js +96 -52
  29. package/dist/config/legacySchema.js.map +1 -1
  30. package/dist/config/normalize.js +73 -149
  31. package/dist/config/normalize.js.map +1 -1
  32. package/dist/config/schema.d.ts +36 -0
  33. package/dist/config/schema.js +118 -56
  34. package/dist/config/schema.js.map +1 -1
  35. package/dist/config/transformLegacyConfig.js +152 -203
  36. package/dist/config/transformLegacyConfig.js.map +1 -1
  37. package/dist/constants/build.js +15 -27
  38. package/dist/constants/build.js.map +1 -1
  39. package/dist/constants/buildPresets.js +71 -84
  40. package/dist/constants/buildPresets.js.map +1 -1
  41. package/dist/constants/colors.js +28 -30
  42. package/dist/constants/colors.js.map +1 -1
  43. package/dist/constants/dts.js +13 -28
  44. package/dist/constants/dts.js.map +1 -1
  45. package/dist/constants/file.js +27 -30
  46. package/dist/constants/file.js.map +1 -1
  47. package/dist/constants/legacyBuildPresets.js +33 -49
  48. package/dist/constants/legacyBuildPresets.js.map +1 -1
  49. package/dist/constants/log.js +15 -33
  50. package/dist/constants/log.js.map +1 -1
  51. package/dist/dev.js +45 -91
  52. package/dist/dev.js.map +1 -1
  53. package/dist/error.js +37 -54
  54. package/dist/error.js.map +1 -1
  55. package/dist/hooks/build.js +22 -35
  56. package/dist/hooks/build.js.map +1 -1
  57. package/dist/hooks/dev.js +15 -33
  58. package/dist/hooks/dev.js.map +1 -1
  59. package/dist/hooks/index.js +15 -42
  60. package/dist/hooks/index.js.map +1 -1
  61. package/dist/hooks/misc.js +10 -28
  62. package/dist/hooks/misc.js.map +1 -1
  63. package/dist/index.js +21 -35
  64. package/dist/index.js.map +1 -1
  65. package/dist/locale/en.d.ts +7 -2
  66. package/dist/locale/en.js +25 -32
  67. package/dist/locale/en.js.map +1 -1
  68. package/dist/locale/index.d.ts +14 -4
  69. package/dist/locale/index.js +18 -31
  70. package/dist/locale/index.js.map +1 -1
  71. package/dist/locale/zh.d.ts +7 -2
  72. package/dist/locale/zh.js +25 -32
  73. package/dist/locale/zh.js.map +1 -1
  74. package/dist/plugins.js +16 -39
  75. package/dist/plugins.js.map +1 -1
  76. package/dist/types/color.js +4 -15
  77. package/dist/types/color.js.map +1 -1
  78. package/dist/types/command.js +4 -15
  79. package/dist/types/command.js.map +1 -1
  80. package/dist/types/config/index.d.ts +6 -0
  81. package/dist/types/config/index.js +6 -17
  82. package/dist/types/config/index.js.map +1 -1
  83. package/dist/types/config/style.js +4 -15
  84. package/dist/types/config/style.js.map +1 -1
  85. package/dist/types/context.js +4 -15
  86. package/dist/types/context.js.map +1 -1
  87. package/dist/types/copy.js +4 -15
  88. package/dist/types/copy.js.map +1 -1
  89. package/dist/types/dts.js +4 -15
  90. package/dist/types/dts.js.map +1 -1
  91. package/dist/types/hooks.js +4 -15
  92. package/dist/types/hooks.js.map +1 -1
  93. package/dist/types/index.js +11 -22
  94. package/dist/types/index.js.map +1 -1
  95. package/dist/types/legacyConfig/index.js +4 -15
  96. package/dist/types/legacyConfig/index.js.map +1 -1
  97. package/dist/types/legacyConfig/output.js +4 -15
  98. package/dist/types/legacyConfig/output.js.map +1 -1
  99. package/dist/types/legacyConfig/source.js +4 -15
  100. package/dist/types/legacyConfig/source.js.map +1 -1
  101. package/dist/types/legacyConfig/tools.js +4 -15
  102. package/dist/types/legacyConfig/tools.js.map +1 -1
  103. package/dist/types/utils.js +4 -17
  104. package/dist/utils/builder.d.ts +20 -2
  105. package/dist/utils/builder.js +81 -68
  106. package/dist/utils/builder.js.map +1 -1
  107. package/dist/utils/common.js +10 -44
  108. package/dist/utils/common.js.map +1 -1
  109. package/dist/utils/config.js +108 -144
  110. package/dist/utils/config.js.map +1 -1
  111. package/dist/utils/context.js +16 -59
  112. package/dist/utils/context.js.map +1 -1
  113. package/dist/utils/dts.js +69 -146
  114. package/dist/utils/dts.js.map +1 -1
  115. package/dist/utils/input.js +44 -87
  116. package/dist/utils/input.js.map +1 -1
  117. package/dist/utils/language.js +15 -60
  118. package/dist/utils/language.js.map +1 -1
  119. package/dist/utils/libuildPlugins.js +27 -67
  120. package/dist/utils/libuildPlugins.js.map +1 -1
  121. package/dist/utils/log.js +14 -61
  122. package/dist/utils/log.js.map +1 -1
  123. package/dist/utils/onExit.js +14 -61
  124. package/dist/utils/onExit.js.map +1 -1
  125. package/dist/utils/path.js +13 -59
  126. package/dist/utils/path.js.map +1 -1
  127. package/dist/utils/print.js +57 -105
  128. package/dist/utils/print.js.map +1 -1
  129. package/dist/utils/style.js +54 -106
  130. package/dist/utils/style.js.map +1 -1
  131. package/dist/utils/tspathsTransform.js +44 -81
  132. package/dist/utils/tspathsTransform.js.map +1 -1
  133. package/package.json +25 -20
  134. package/scripts/debug-mode.js +23 -21
  135. package/dist/types/utils.js.map +0 -1
@@ -1,100 +1,48 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
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));
24
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
25
6
  for (var name in all)
26
- __defProp(target, name, { get: all[name], enumerable: true });
27
- };
28
- var __copyProps = (to, from, except, desc) => {
29
- if (from && typeof from === "object" || typeof from === "function") {
30
- for (let key of __getOwnPropNames(from))
31
- if (!__hasOwnProp.call(to, key) && key !== except)
32
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
- }
34
- return to;
35
- };
36
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
37
- // If the importer is in node compatibility mode or this is not an ESM
38
- // file that has been converted to a CommonJS file using a Babel-
39
- // compatible transform (i.e. "__esModule" has not been set), then set
40
- // "default" to the CommonJS "module.exports" for node compatibility.
41
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
42
- mod
43
- ));
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
- };
65
- var copy_exports = {};
66
- __export(copy_exports, {
67
- copyTask: () => copyTask,
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
68
13
  runPatterns: () => runPatterns,
69
- watchCopyFiles: () => watchCopyFiles
14
+ watchCopyFiles: () => watchCopyFiles,
15
+ copyTask: () => copyTask
70
16
  });
71
- module.exports = __toCommonJS(copy_exports);
72
- var import_path = __toESM(require("path"));
73
- var import_logger = require("@modern-js/utils/logger");
17
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
18
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
19
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
20
+ const _logger = require("@modern-js/utils/logger");
74
21
  const watchMap = /* @__PURE__ */ new Map();
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")));
22
+ const runPatterns = async (pattern, options) => {
23
+ const { fs, fastGlob, globby } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/utils")));
24
+ const { default: normalizePath } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("../../compiled/normalize-path")));
79
25
  const { appDirectory, enableCopySync = false } = options;
80
26
  const { from, globOptions = {} } = pattern;
81
- const targetPattern = __spreadValues({}, pattern);
82
- const normalizedFrom = import_path.default.normalize(from);
27
+ const targetPattern = {
28
+ ...pattern
29
+ };
30
+ const normalizedFrom = _path.default.normalize(from);
83
31
  const defaultAbsContext = options.defaultContext;
84
32
  if (typeof pattern.context === "string") {
85
- targetPattern.context = import_path.default.isAbsolute(pattern.context) ? pattern.context : import_path.default.join(appDirectory, pattern.context);
33
+ targetPattern.context = _path.default.isAbsolute(pattern.context) ? pattern.context : _path.default.join(appDirectory, pattern.context);
86
34
  } else {
87
35
  targetPattern.context = defaultAbsContext;
88
36
  }
89
37
  let absoluteFrom;
90
- if (import_path.default.isAbsolute(normalizedFrom)) {
38
+ if (_path.default.isAbsolute(normalizedFrom)) {
91
39
  absoluteFrom = normalizedFrom;
92
40
  } else {
93
- absoluteFrom = import_path.default.resolve(targetPattern.context, normalizedFrom);
41
+ absoluteFrom = _path.default.resolve(targetPattern.context, normalizedFrom);
94
42
  }
95
43
  let stats;
96
44
  try {
97
- stats = yield fs.stat(absoluteFrom);
45
+ stats = await fs.stat(absoluteFrom);
98
46
  } catch (error) {
99
47
  }
100
48
  let fromType;
@@ -113,141 +61,112 @@ const runPatterns = (pattern, options) => __async(void 0, null, function* () {
113
61
  switch (fromType) {
114
62
  case "dir":
115
63
  targetPattern.context = absoluteFrom;
116
- glob = import_path.default.posix.join(
117
- fastGlob.escapePath(normalizePath(import_path.default.resolve(absoluteFrom))),
118
- "**/*"
119
- );
120
- absoluteFrom = import_path.default.join(absoluteFrom, "**/*");
64
+ glob = _path.default.posix.join(fastGlob.escapePath(normalizePath(_path.default.resolve(absoluteFrom))), "**/*");
65
+ absoluteFrom = _path.default.join(absoluteFrom, "**/*");
121
66
  if (typeof globOptions.dot === "undefined") {
122
67
  globOptions.dot = true;
123
68
  }
124
69
  break;
125
70
  case "file":
126
- targetPattern.context = import_path.default.dirname(absoluteFrom);
127
- glob = fastGlob.escapePath(normalizePath(import_path.default.resolve(absoluteFrom)));
71
+ targetPattern.context = _path.default.dirname(absoluteFrom);
72
+ glob = fastGlob.escapePath(normalizePath(_path.default.resolve(absoluteFrom)));
128
73
  if (typeof globOptions.dot === "undefined") {
129
74
  globOptions.dot = true;
130
75
  }
131
76
  break;
132
77
  case "glob":
133
78
  default: {
134
- glob = import_path.default.isAbsolute(from) ? from : import_path.default.posix.join(
135
- fastGlob.escapePath(
136
- normalizePath(
137
- import_path.default.resolve((_a = targetPattern.context) != null ? _a : appDirectory)
138
- )
139
- ),
140
- from
141
- );
79
+ var _targetPattern_context;
80
+ glob = _path.default.isAbsolute(from) ? from : _path.default.posix.join(fastGlob.escapePath(normalizePath(_path.default.resolve((_targetPattern_context = targetPattern.context) !== null && _targetPattern_context !== void 0 ? _targetPattern_context : appDirectory))), from);
142
81
  }
143
82
  }
144
- const globEntries = yield globby(glob, __spreadProps(__spreadValues(__spreadValues({}, { followSymbolicLinks: true }), targetPattern.globOptions || {}), {
83
+ const globEntries = await globby(glob, {
84
+ ...{
85
+ followSymbolicLinks: true
86
+ },
87
+ ...targetPattern.globOptions || {},
145
88
  cwd: targetPattern.context,
146
89
  objectMode: true
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;
90
+ });
91
+ const { default: pMap } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("../../compiled/p-map")));
92
+ pMap(globEntries, async (globEntry) => {
151
93
  if (!globEntry.dirent.isFile()) {
152
94
  return;
153
95
  }
154
96
  const from2 = globEntry.path;
155
- const absoluteFrom2 = import_path.default.resolve(targetPattern.context, from2);
156
- const to = import_path.default.normalize(
157
- typeof targetPattern.to !== "undefined" ? targetPattern.to : ""
158
- );
159
- const toType = import_path.default.extname(to) === "" || to.slice(-1) === import_path.default.sep ? "dir" : "file";
160
- const relativeFrom = import_path.default.relative(
161
- (_a2 = targetPattern.context) != null ? _a2 : defaultAbsContext,
162
- absoluteFrom2
163
- );
164
- const filename = toType === "dir" ? import_path.default.join(to, relativeFrom) : to;
165
- const absoluteTo = import_path.default.isAbsolute(filename) ? filename : import_path.default.join(options.outDir, filename);
97
+ const absoluteFrom2 = _path.default.resolve(targetPattern.context, from2);
98
+ const to = _path.default.normalize(typeof targetPattern.to !== "undefined" ? targetPattern.to : "");
99
+ const toType = _path.default.extname(to) === "" || to.slice(-1) === _path.default.sep ? "dir" : "file";
100
+ var _targetPattern_context2;
101
+ const relativeFrom = _path.default.relative((_targetPattern_context2 = targetPattern.context) !== null && _targetPattern_context2 !== void 0 ? _targetPattern_context2 : defaultAbsContext, absoluteFrom2);
102
+ const filename = toType === "dir" ? _path.default.join(to, relativeFrom) : to;
103
+ const absoluteTo = _path.default.isAbsolute(filename) ? filename : _path.default.join(options.outDir, filename);
166
104
  if (options.watch) {
167
105
  watchMap.set(absoluteFrom2, absoluteTo);
168
106
  }
169
107
  if (enableCopySync) {
170
108
  fs.copySync(absoluteFrom2, absoluteTo);
171
109
  } else {
172
- yield fs.copy(absoluteFrom2, absoluteTo);
110
+ await fs.copy(absoluteFrom2, absoluteTo);
173
111
  }
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")));
112
+ });
113
+ };
114
+ const watchCopyFiles = async (options, copyConfig) => {
115
+ const { watch, fs, logger, createDebugger } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/utils")));
178
116
  const debug = createDebugger("module-tools:copy-watch");
179
117
  debug("watchMap", watchMap);
180
- const { SectionTitleStatus, CopyLogPrefix } = yield Promise.resolve().then(() => __toESM(require("../constants/log")));
181
- const { watchSectionTitle } = yield Promise.resolve().then(() => __toESM(require("../utils/log")));
118
+ const { SectionTitleStatus, CopyLogPrefix } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("../constants/log")));
119
+ const { watchSectionTitle } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("../utils/log")));
182
120
  const watchList = Array.from(watchMap.keys());
183
121
  debug("watchList", watchList);
184
- watch(watchList, (_0) => __async(void 0, [_0], function* ({ changedFilePath, changeType }) {
185
- var _a;
122
+ watch(watchList, async ({ changedFilePath, changeType }) => {
123
+ var _copyConfig_options;
186
124
  const result = watchMap.get(changedFilePath);
187
125
  if (!result) {
188
126
  return;
189
127
  }
190
- const formatFilePath = import_path.default.relative(options.appDirectory, changedFilePath);
128
+ const formatFilePath = _path.default.relative(options.appDirectory, changedFilePath);
191
129
  if (changeType === "unlink") {
192
130
  fs.remove(result);
193
- logger2.log(
194
- yield watchSectionTitle(
195
- CopyLogPrefix,
196
- SectionTitleStatus.Log,
197
- `${formatFilePath} removed`
198
- )
199
- );
131
+ logger.log(await watchSectionTitle(CopyLogPrefix, SectionTitleStatus.Log, `${formatFilePath} removed`));
200
132
  return;
201
133
  }
202
- if ((_a = copyConfig == null ? void 0 : copyConfig.options) == null ? void 0 : _a.enableCopySync) {
134
+ if (copyConfig === null || copyConfig === void 0 ? void 0 : (_copyConfig_options = copyConfig.options) === null || _copyConfig_options === void 0 ? void 0 : _copyConfig_options.enableCopySync) {
203
135
  fs.copySync(changedFilePath, result);
204
136
  } else {
205
- yield fs.copy(changedFilePath, result);
137
+ await fs.copy(changedFilePath, result);
206
138
  }
207
- logger2.log(
208
- yield watchSectionTitle(
209
- CopyLogPrefix,
210
- SectionTitleStatus.Log,
211
- `${formatFilePath} changed`
212
- )
213
- );
214
- }));
215
- });
216
- const copyTask = (buildConfig, options) => __async(void 0, null, function* () {
217
- var _a;
139
+ logger.log(await watchSectionTitle(CopyLogPrefix, SectionTitleStatus.Log, `${formatFilePath} changed`));
140
+ });
141
+ };
142
+ const copyTask = async (buildConfig, options) => {
143
+ var _copyConfig_options;
218
144
  const copyConfig = buildConfig.copy;
219
145
  if (!copyConfig.patterns || copyConfig.patterns.length === 0) {
220
146
  return;
221
147
  }
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;
148
+ const { default: pMap } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("../../compiled/p-map")));
149
+ const concurrency = (copyConfig === null || copyConfig === void 0 ? void 0 : (_copyConfig_options = copyConfig.options) === null || _copyConfig_options === void 0 ? void 0 : _copyConfig_options.concurrency) || 100;
224
150
  try {
225
- yield pMap(
226
- copyConfig.patterns,
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,
231
- outDir: buildConfig.outDir,
232
- defaultContext: buildConfig.sourceDir
233
- }));
234
- }),
235
- { concurrency }
236
- );
151
+ await pMap(copyConfig.patterns, async (copyOption) => {
152
+ var _copyConfig_options2;
153
+ await runPatterns(copyOption, {
154
+ ...options,
155
+ enableCopySync: (_copyConfig_options2 = copyConfig.options) === null || _copyConfig_options2 === void 0 ? void 0 : _copyConfig_options2.enableCopySync,
156
+ outDir: buildConfig.outDir,
157
+ defaultContext: buildConfig.sourceDir
158
+ });
159
+ }, {
160
+ concurrency
161
+ });
237
162
  } catch (e) {
238
163
  if (e instanceof Error) {
239
- import_logger.logger.error(`copy error: ${e.message}`);
164
+ _logger.logger.error(`copy error: ${e.message}`);
240
165
  }
241
166
  }
242
167
  if (options.watch) {
243
- yield watchCopyFiles(options, copyConfig);
168
+ await watchCopyFiles(options, copyConfig);
244
169
  }
245
- });
246
- // Annotate the CommonJS export names for ESM import in node:
247
- 0 && (module.exports = {
248
- copyTask,
249
- runPatterns,
250
- watchCopyFiles
251
- });
170
+ };
252
171
 
253
172
  //# sourceMappingURL=copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":["from","absoluteFrom","_a"],"sources":["../../src/builder/copy.ts"],"sourcesContent":["import path from 'path';\nimport { 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"]}
1
+ {"version":3,"file":null,"mappings":"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","names":["runPatterns","watchCopyFiles","copyTask","watchMap","Map","pattern","options","fs","fastGlob","globby","default","normalizePath","appDirectory","enableCopySync","from","globOptions","targetPattern","normalizedFrom","path","normalize","defaultAbsContext","defaultContext","context","isAbsolute","join","absoluteFrom","resolve","stats","stat","error","fromType","isDirectory","isFile","glob","posix","escapePath","dot","dirname","globEntries","followSymbolicLinks","cwd","objectMode","pMap","globEntry","dirent","to","toType","extname","slice","sep","relativeFrom","relative","filename","absoluteTo","outDir","watch","set","copySync","copy","copyConfig","logger","createDebugger","debug","SectionTitleStatus","CopyLogPrefix","watchSectionTitle","watchList","Array","keys","changedFilePath","changeType","result","get","formatFilePath","remove","log","Log","buildConfig","patterns","length","concurrency","copyOption","sourceDir","e","Error","message"],"sources":["../../src/builder/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/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"]}
@@ -1,32 +1,19 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var dts_exports = {};
19
- __export(dts_exports, {
20
- runRollup: () => import_rollup.runRollup,
21
- runTsc: () => import_tsc.runTsc
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
22
4
  });
23
- module.exports = __toCommonJS(dts_exports);
24
- var import_rollup = require("./rollup");
25
- var import_tsc = require("./tsc");
26
- // Annotate the CommonJS export names for ESM import in node:
27
- 0 && (module.exports = {
28
- runRollup,
29
- runTsc
5
+ function _export(target, all) {
6
+ for (var name in all)
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ runRollup: () => _rollup.runRollup,
14
+ runTsc: () => _tsc.runTsc
30
15
  });
16
+ const _rollup = require("./rollup");
17
+ const _tsc = require("./tsc");
31
18
 
32
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAC1B,iBAAuB;;;;;;","names":[],"sources":["../../../src/builder/dts/index.ts"],"sourcesContent":["export { runRollup } from './rollup';\nexport { runTsc } from './tsc';\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;;;;;;;;;EAASA,WAAS,MAATA;EACAC,QAAM,MAANA;;wBADiB;qBACH;","names":["runRollup","runTsc"],"sources":["../../../src/builder/dts/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/builder/dts/index.ts"],"sourcesContent":["export { runRollup } from './rollup';\nexport { runTsc } from './tsc';\n"]}