@rspack/core 0.0.20 → 0.0.22

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 (219) hide show
  1. package/LICENSE +1 -1
  2. package/dist/ErrorHelpers.d.ts +8 -0
  3. package/dist/ErrorHelpers.d.ts.map +1 -0
  4. package/dist/ErrorHelpers.js +54 -0
  5. package/dist/ErrorHelpers.js.map +1 -0
  6. package/dist/ResolverFactory.d.ts +1 -1
  7. package/dist/ResolverFactory.d.ts.map +1 -1
  8. package/dist/ResolverFactory.js +9 -4
  9. package/dist/ResolverFactory.js.map +1 -1
  10. package/dist/compilation.d.ts +75 -5
  11. package/dist/compilation.d.ts.map +1 -1
  12. package/dist/compilation.js +256 -8
  13. package/dist/compilation.js.map +1 -1
  14. package/dist/compiler.d.ts +24 -9
  15. package/dist/compiler.d.ts.map +1 -1
  16. package/dist/compiler.js +97 -97
  17. package/dist/compiler.js.map +1 -1
  18. package/dist/config/browserslistTargetHandler.d.ts.map +1 -1
  19. package/dist/config/browserslistTargetHandler.js +9 -4
  20. package/dist/config/browserslistTargetHandler.js.map +1 -1
  21. package/dist/config/builtins.d.ts +14 -1
  22. package/dist/config/builtins.d.ts.map +1 -1
  23. package/dist/config/builtins.js +24 -3
  24. package/dist/config/builtins.js.map +1 -1
  25. package/dist/config/cache.d.ts.map +1 -1
  26. package/dist/config/cache.js +1 -0
  27. package/dist/config/cache.js.map +1 -1
  28. package/dist/config/defaults.d.ts.map +1 -1
  29. package/dist/config/defaults.js +4 -1
  30. package/dist/config/defaults.js.map +1 -1
  31. package/dist/config/devServer.d.ts +2 -30
  32. package/dist/config/devServer.d.ts.map +1 -1
  33. package/dist/config/entry.d.ts +2 -1
  34. package/dist/config/entry.d.ts.map +1 -1
  35. package/dist/config/entry.js +24 -10
  36. package/dist/config/entry.js.map +1 -1
  37. package/dist/config/experiments.d.ts.map +1 -1
  38. package/dist/config/experiments.js +3 -2
  39. package/dist/config/experiments.js.map +1 -1
  40. package/dist/config/index.d.ts +15 -5
  41. package/dist/config/index.d.ts.map +1 -1
  42. package/dist/config/index.js +18 -16
  43. package/dist/config/index.js.map +1 -1
  44. package/dist/config/mode.d.ts +2 -2
  45. package/dist/config/mode.d.ts.map +1 -1
  46. package/dist/config/module.d.ts +22 -17
  47. package/dist/config/module.d.ts.map +1 -1
  48. package/dist/config/module.js +122 -28
  49. package/dist/config/module.js.map +1 -1
  50. package/dist/config/optimization.d.ts +23 -0
  51. package/dist/config/optimization.d.ts.map +1 -1
  52. package/dist/config/optimization.js +30 -4
  53. package/dist/config/optimization.js.map +1 -1
  54. package/dist/config/plugin.d.ts +1 -1
  55. package/dist/config/plugin.d.ts.map +1 -1
  56. package/dist/config/resolve.d.ts +7 -3
  57. package/dist/config/resolve.d.ts.map +1 -1
  58. package/dist/config/resolve.js +16 -2
  59. package/dist/config/resolve.js.map +1 -1
  60. package/dist/config/splitChunks.d.ts +112 -0
  61. package/dist/config/splitChunks.d.ts.map +1 -0
  62. package/dist/config/splitChunks.js +41 -0
  63. package/dist/config/splitChunks.js.map +1 -0
  64. package/dist/config/stats.d.ts +3 -0
  65. package/dist/config/stats.d.ts.map +1 -1
  66. package/dist/config/stats.js +1 -0
  67. package/dist/config/stats.js.map +1 -1
  68. package/dist/config/watch.d.ts +3 -7
  69. package/dist/config/watch.d.ts.map +1 -1
  70. package/dist/config/watch.js +0 -13
  71. package/dist/config/watch.js.map +1 -1
  72. package/dist/error/ConcurrentCompilationError.d.ts +15 -0
  73. package/dist/error/ConcurrentCompilationError.d.ts.map +1 -0
  74. package/dist/error/ConcurrentCompilationError.js +21 -0
  75. package/dist/error/ConcurrentCompilationError.js.map +1 -0
  76. package/dist/index.d.ts +1 -0
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +1 -0
  79. package/dist/index.js.map +1 -1
  80. package/dist/logging/Logger.d.ts +22 -6
  81. package/dist/logging/Logger.d.ts.map +1 -1
  82. package/dist/logging/Logger.js +9 -10
  83. package/dist/logging/Logger.js.map +1 -1
  84. package/dist/logging/createConsoleLogger.d.ts +9 -0
  85. package/dist/logging/createConsoleLogger.d.ts.map +1 -1
  86. package/dist/logging/createConsoleLogger.js +9 -4
  87. package/dist/logging/createConsoleLogger.js.map +1 -1
  88. package/dist/logging/runtime.d.ts +9 -0
  89. package/dist/logging/runtime.d.ts.map +1 -1
  90. package/dist/logging/runtime.js +17 -6
  91. package/dist/logging/runtime.js.map +1 -1
  92. package/dist/logging/truncateArgs.d.ts +9 -0
  93. package/dist/logging/truncateArgs.d.ts.map +1 -1
  94. package/dist/logging/truncateArgs.js +15 -5
  95. package/dist/logging/truncateArgs.js.map +1 -1
  96. package/dist/multiCompiler.d.ts +103 -0
  97. package/dist/multiCompiler.d.ts.map +1 -0
  98. package/dist/multiCompiler.js +454 -0
  99. package/dist/multiCompiler.js.map +1 -0
  100. package/dist/multiStats.d.ts +27 -0
  101. package/dist/multiStats.d.ts.map +1 -0
  102. package/dist/multiStats.js +133 -0
  103. package/dist/multiStats.js.map +1 -0
  104. package/dist/multiWatching.d.ts +36 -0
  105. package/dist/multiWatching.d.ts.map +1 -0
  106. package/dist/multiWatching.js +62 -0
  107. package/dist/multiWatching.js.map +1 -0
  108. package/dist/node/NodeEnvironmentPlugin.d.ts +8 -24
  109. package/dist/node/NodeEnvironmentPlugin.d.ts.map +1 -1
  110. package/dist/node/NodeEnvironmentPlugin.js +26 -29
  111. package/dist/node/NodeEnvironmentPlugin.js.map +1 -1
  112. package/dist/node/NodeTargetPlugin.d.ts +9 -0
  113. package/dist/node/NodeTargetPlugin.d.ts.map +1 -1
  114. package/dist/node/NodeTargetPlugin.js +9 -0
  115. package/dist/node/NodeTargetPlugin.js.map +1 -1
  116. package/dist/node/NodeWatchFileSystem.d.ts +19 -0
  117. package/dist/node/NodeWatchFileSystem.d.ts.map +1 -0
  118. package/dist/node/NodeWatchFileSystem.js +148 -0
  119. package/dist/node/NodeWatchFileSystem.js.map +1 -0
  120. package/dist/node/nodeConsole.d.ts +10 -1
  121. package/dist/node/nodeConsole.d.ts.map +1 -1
  122. package/dist/node/nodeConsole.js +42 -25
  123. package/dist/node/nodeConsole.js.map +1 -1
  124. package/dist/rspack.d.ts +5 -1
  125. package/dist/rspack.d.ts.map +1 -1
  126. package/dist/rspack.js +32 -2
  127. package/dist/rspack.js.map +1 -1
  128. package/dist/rspackOptionsApply.d.ts.map +1 -1
  129. package/dist/rspackOptionsApply.js +7 -0
  130. package/dist/rspackOptionsApply.js.map +1 -1
  131. package/dist/stats.d.ts +16 -10
  132. package/dist/stats.d.ts.map +1 -1
  133. package/dist/stats.js +58 -51
  134. package/dist/stats.js.map +1 -1
  135. package/dist/util/ArrayQueue.d.ts +54 -0
  136. package/dist/util/ArrayQueue.d.ts.map +1 -0
  137. package/dist/util/ArrayQueue.js +109 -0
  138. package/dist/util/ArrayQueue.js.map +1 -0
  139. package/dist/util/cleverMerge.d.ts.map +1 -1
  140. package/dist/util/cleverMerge.js +9 -4
  141. package/dist/util/cleverMerge.js.map +1 -1
  142. package/dist/util/createHash.d.ts +9 -0
  143. package/dist/util/createHash.d.ts.map +1 -1
  144. package/dist/util/createHash.js +9 -4
  145. package/dist/util/createHash.js.map +1 -1
  146. package/dist/util/createSource.d.ts.map +1 -1
  147. package/dist/util/createSource.js +19 -4
  148. package/dist/util/createSource.js.map +1 -1
  149. package/dist/util/fake.d.ts +29 -0
  150. package/dist/util/fake.d.ts.map +1 -0
  151. package/dist/util/fake.js +69 -0
  152. package/dist/util/fake.js.map +1 -0
  153. package/dist/util/fs.d.ts +24 -0
  154. package/dist/util/fs.d.ts.map +1 -0
  155. package/dist/util/fs.js +3 -0
  156. package/dist/util/fs.js.map +1 -0
  157. package/dist/util/hash/BatchedHash.d.ts +2 -2
  158. package/dist/util/hash/BatchedHash.d.ts.map +1 -1
  159. package/dist/util/hash/BatchedHash.js +9 -4
  160. package/dist/util/hash/BatchedHash.js.map +1 -1
  161. package/dist/util/hash/md4.d.ts +1 -1
  162. package/dist/util/hash/md4.js +9 -4
  163. package/dist/util/hash/md4.js.map +1 -1
  164. package/dist/util/hash/wasm-hash.d.ts.map +1 -1
  165. package/dist/util/hash/wasm-hash.js +9 -4
  166. package/dist/util/hash/wasm-hash.js.map +1 -1
  167. package/dist/util/hash/xxhash64.d.ts +1 -1
  168. package/dist/util/hash/xxhash64.js +9 -4
  169. package/dist/util/hash/xxhash64.js.map +1 -1
  170. package/dist/util/identifier.d.ts +8 -8
  171. package/dist/util/identifier.d.ts.map +1 -1
  172. package/dist/util/index.d.ts +2 -0
  173. package/dist/util/index.d.ts.map +1 -1
  174. package/dist/util/index.js +10 -1
  175. package/dist/util/index.js.map +1 -1
  176. package/dist/util/memoize.d.ts.map +1 -1
  177. package/dist/util/memoize.js +3 -0
  178. package/dist/util/memoize.js.map +1 -1
  179. package/dist/watching.d.ts +32 -0
  180. package/dist/watching.d.ts.map +1 -0
  181. package/dist/watching.js +282 -0
  182. package/dist/watching.js.map +1 -0
  183. package/package.json +16 -12
  184. package/dist/utils/createHash.d.ts +0 -7
  185. package/dist/utils/createHash.d.ts.map +0 -1
  186. package/dist/utils/createHash.js +0 -166
  187. package/dist/utils/createHash.js.map +0 -1
  188. package/dist/utils/createSource.d.ts +0 -6
  189. package/dist/utils/createSource.d.ts.map +0 -1
  190. package/dist/utils/createSource.js +0 -48
  191. package/dist/utils/createSource.js.map +0 -1
  192. package/dist/utils/hash/BatchedHash.d.ts +0 -16
  193. package/dist/utils/hash/BatchedHash.d.ts.map +0 -1
  194. package/dist/utils/hash/BatchedHash.js +0 -61
  195. package/dist/utils/hash/BatchedHash.js.map +0 -1
  196. package/dist/utils/hash/index.d.ts +0 -19
  197. package/dist/utils/hash/index.d.ts.map +0 -1
  198. package/dist/utils/hash/index.js +0 -28
  199. package/dist/utils/hash/index.js.map +0 -1
  200. package/dist/utils/hash/md4.d.ts +0 -3
  201. package/dist/utils/hash/md4.d.ts.map +0 -1
  202. package/dist/utils/hash/md4.js +0 -13
  203. package/dist/utils/hash/md4.js.map +0 -1
  204. package/dist/utils/hash/wasm-hash.d.ts +0 -7
  205. package/dist/utils/hash/wasm-hash.d.ts.map +0 -1
  206. package/dist/utils/hash/wasm-hash.js +0 -162
  207. package/dist/utils/hash/wasm-hash.js.map +0 -1
  208. package/dist/utils/hash/xxhash64.d.ts +0 -3
  209. package/dist/utils/hash/xxhash64.d.ts.map +0 -1
  210. package/dist/utils/hash/xxhash64.js +0 -13
  211. package/dist/utils/hash/xxhash64.js.map +0 -1
  212. package/dist/utils/index.d.ts +0 -6
  213. package/dist/utils/index.d.ts.map +0 -1
  214. package/dist/utils/index.js +0 -18
  215. package/dist/utils/index.js.map +0 -1
  216. package/dist/utils/memoize.d.ts +0 -2
  217. package/dist/utils/memoize.d.ts.map +0 -1
  218. package/dist/utils/memoize.js +0 -22
  219. package/dist/utils/memoize.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The following code is modified based on
3
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/MultiStats.js
4
+ *
5
+ * MIT Licensed
6
+ * Author Tobias Koppers @sokra
7
+ * Copyright (c) JS Foundation and other contributors
8
+ * https://github.com/webpack/webpack/blob/main/LICENSE
9
+ */
10
+ import { Stats } from "./stats";
11
+ export default class MultiStats {
12
+ #private;
13
+ stats: Stats[];
14
+ constructor(stats: Stats[]);
15
+ get hash(): string;
16
+ hasErrors(): boolean;
17
+ hasWarnings(): boolean;
18
+ toJson(options?: any): Partial<Omit<import("@rspack/binding").JsStatsCompilation, "entrypoints"> & {
19
+ entrypoints: Record<string, import("@rspack/binding").JsStatsEntrypoint>;
20
+ filteredModules?: number | undefined;
21
+ publicPath?: string | undefined;
22
+ children?: Partial<Omit<import("@rspack/binding").JsStatsCompilation, "entrypoints"> & any>[] | undefined;
23
+ name?: string | undefined;
24
+ }>;
25
+ toString(options: any): string;
26
+ }
27
+ //# sourceMappingURL=multiStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiStats.d.ts","sourceRoot":"","sources":["../src/multiStats.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,KAAK,EAAoB,MAAM,SAAS,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,UAAU;;IAC9B,KAAK,EAAE,KAAK,EAAE,CAAC;gBAEH,KAAK,EAAE,KAAK,EAAE;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAwCtB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG;;;;;;;IA2DpB,QAAQ,CAAC,OAAO,EAAE,GAAG;CAmBrB"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * The following code is modified based on
4
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/MultiStats.js
5
+ *
6
+ * MIT Licensed
7
+ * Author Tobias Koppers @sokra
8
+ * Copyright (c) JS Foundation and other contributors
9
+ * https://github.com/webpack/webpack/blob/main/LICENSE
10
+ */
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ var _MultiStats_instances, _MultiStats_createChildOptions;
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const util_1 = require("./util");
22
+ const identifier_1 = __importDefault(require("./util/identifier"));
23
+ class MultiStats {
24
+ constructor(stats) {
25
+ _MultiStats_instances.add(this);
26
+ this.stats = stats;
27
+ }
28
+ get hash() {
29
+ return this.stats.map(stat => stat.hash).join("");
30
+ }
31
+ hasErrors() {
32
+ return this.stats.some(stat => stat.hasErrors());
33
+ }
34
+ hasWarnings() {
35
+ return this.stats.some(stat => stat.hasWarnings());
36
+ }
37
+ toJson(options) {
38
+ options = __classPrivateFieldGet(this, _MultiStats_instances, "m", _MultiStats_createChildOptions).call(this, options, { forToString: false });
39
+ const obj = {};
40
+ obj.children = this.stats.map((stat, idx) => {
41
+ const obj = stat.toJson(options.children[idx]);
42
+ const compilationName = stat.compilation.name;
43
+ const name = compilationName &&
44
+ identifier_1.default.makePathsRelative(options.context, compilationName, stat.compilation.compiler.root);
45
+ obj.name = name;
46
+ return obj;
47
+ });
48
+ if (options.hash) {
49
+ obj.hash = obj.children.map(j => j.hash).join("");
50
+ }
51
+ const mapError = (j, obj) => {
52
+ return {
53
+ ...obj,
54
+ compilerPath: obj.compilerPath
55
+ ? `${j.name}.${obj.compilerPath}`
56
+ : j.name
57
+ };
58
+ };
59
+ if (options.errors) {
60
+ obj.errors = [];
61
+ for (const j of obj.children) {
62
+ for (const i of j.errors || []) {
63
+ obj.errors.push(mapError(j, i));
64
+ }
65
+ }
66
+ }
67
+ if (options.warnings) {
68
+ obj.warnings = [];
69
+ for (const j of obj.children) {
70
+ for (const i of j.warnings || []) {
71
+ obj.warnings.push(mapError(j, i));
72
+ }
73
+ }
74
+ }
75
+ if (options.errorsCount) {
76
+ obj.errorsCount = 0;
77
+ for (const j of obj.children) {
78
+ obj.errorsCount += j.errorsCount || 0;
79
+ }
80
+ }
81
+ if (options.warningsCount) {
82
+ obj.warningsCount = 0;
83
+ for (const j of obj.children) {
84
+ obj.warningsCount += j.warningsCount || 0;
85
+ }
86
+ }
87
+ return obj;
88
+ }
89
+ toString(options) {
90
+ options = __classPrivateFieldGet(this, _MultiStats_instances, "m", _MultiStats_createChildOptions).call(this, options, { forToString: true });
91
+ const results = this.stats.map((stat, idx) => {
92
+ const str = stat.toString(options.children[idx]);
93
+ const compilationName = stat.compilation.name;
94
+ const name = compilationName &&
95
+ identifier_1.default
96
+ .makePathsRelative(options.context, compilationName, stat.compilation.compiler.root)
97
+ .replace(/\|/g, " ");
98
+ if (!str)
99
+ return str;
100
+ return name ? `${name}:\n${(0, util_1.indent)(str, " ")}` : str;
101
+ });
102
+ return results.filter(Boolean).join("\n\n");
103
+ }
104
+ }
105
+ exports.default = MultiStats;
106
+ _MultiStats_instances = new WeakSet(), _MultiStats_createChildOptions = function _MultiStats_createChildOptions(options, context) {
107
+ if (!options) {
108
+ options = {};
109
+ }
110
+ const { children: childrenOptions = undefined, ...baseOptions } = typeof options === "string" ? { preset: options } : options;
111
+ const children = this.stats.map((stat, idx) => {
112
+ const childOptions = Array.isArray(childrenOptions)
113
+ ? childrenOptions[idx]
114
+ : childrenOptions;
115
+ return stat.compilation.createStatsOptions({
116
+ ...baseOptions,
117
+ ...(typeof childOptions === "string"
118
+ ? { preset: childOptions }
119
+ : childOptions && typeof childOptions === "object"
120
+ ? childOptions
121
+ : undefined)
122
+ }, context);
123
+ });
124
+ return {
125
+ hash: children.every(o => o.hash),
126
+ errorsCount: children.every(o => o.errorsCount),
127
+ warningsCount: children.every(o => o.warningsCount),
128
+ errors: children.every(o => o.errors),
129
+ warnings: children.every(o => o.warnings),
130
+ children
131
+ };
132
+ };
133
+ //# sourceMappingURL=multiStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiStats.js","sourceRoot":"","sources":["../src/multiStats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * The following code is modified based on
3
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/MultiWatching.js
4
+ *
5
+ * MIT Licensed
6
+ * Author Tobias Koppers @sokra
7
+ * Copyright (c) JS Foundation and other contributors
8
+ * https://github.com/webpack/webpack/blob/main/LICENSE
9
+ */
10
+ import { MultiCompiler } from "./multiCompiler";
11
+ import Watching from "./watching";
12
+ /** @typedef {import("./multiCompiler")} MultiCompiler */
13
+ /** @typedef {import("./watching")} Watching */
14
+ /**
15
+ * @template T
16
+ * @callback Callback
17
+ * @param {(Error | null)=} err
18
+ * @param {T=} result
19
+ */
20
+ declare class MultiWatching {
21
+ watchings: Watching[];
22
+ compiler: MultiCompiler;
23
+ /**
24
+ * @param {Watching[]} watchings child compilers' watchers
25
+ * @param {MultiCompiler} compiler the compiler
26
+ */
27
+ constructor(watchings: Watching[], compiler: MultiCompiler);
28
+ invalidate(callback: any): void;
29
+ /**
30
+ * @param {Callback<void>} callback signals when the watcher is closed
31
+ * @returns {void}
32
+ */
33
+ close(callback: any): void;
34
+ }
35
+ export default MultiWatching;
36
+ //# sourceMappingURL=multiWatching.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiWatching.d.ts","sourceRoot":"","sources":["../src/multiWatching.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC,yDAAyD;AACzD,+CAA+C;AAE/C;;;;;GAKG;AAEH,cAAM,aAAa;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,EAAE,aAAa,CAAC;IAExB;;;OAGG;gBACS,SAAS,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa;IAK1D,UAAU,CAAC,QAAQ,KAAA;IAcnB;;;OAGG;IAEH,KAAK,CAAC,QAAQ,KAAA;CAed;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * The following code is modified based on
4
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/MultiWatching.js
5
+ *
6
+ * MIT Licensed
7
+ * Author Tobias Koppers @sokra
8
+ * Copyright (c) JS Foundation and other contributors
9
+ * https://github.com/webpack/webpack/blob/main/LICENSE
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const neo_async_1 = __importDefault(require("neo-async"));
16
+ /** @typedef {import("./multiCompiler")} MultiCompiler */
17
+ /** @typedef {import("./watching")} Watching */
18
+ /**
19
+ * @template T
20
+ * @callback Callback
21
+ * @param {(Error | null)=} err
22
+ * @param {T=} result
23
+ */
24
+ class MultiWatching {
25
+ /**
26
+ * @param {Watching[]} watchings child compilers' watchers
27
+ * @param {MultiCompiler} compiler the compiler
28
+ */
29
+ constructor(watchings, compiler) {
30
+ this.watchings = watchings;
31
+ this.compiler = compiler;
32
+ }
33
+ // @ts-expect-error
34
+ invalidate(callback) {
35
+ if (callback) {
36
+ neo_async_1.default.each(this.watchings, (watching, callback) => watching.invalidate(callback), callback);
37
+ }
38
+ else {
39
+ for (const watching of this.watchings) {
40
+ watching.invalidate();
41
+ }
42
+ }
43
+ }
44
+ /**
45
+ * @param {Callback<void>} callback signals when the watcher is closed
46
+ * @returns {void}
47
+ */
48
+ // @ts-expect-error
49
+ close(callback) {
50
+ neo_async_1.default.forEach(this.watchings, (watching, finishedCallback) => {
51
+ watching.close(finishedCallback);
52
+ }, err => {
53
+ this.compiler.hooks.watchClose.call();
54
+ if (typeof callback === "function") {
55
+ this.compiler.running = false;
56
+ callback(err);
57
+ }
58
+ });
59
+ }
60
+ }
61
+ exports.default = MultiWatching;
62
+ //# sourceMappingURL=multiWatching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiWatching.js","sourceRoot":"","sources":["../src/multiWatching.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;AAIH,0DAAiC;AAGjC,yDAAyD;AACzD,+CAA+C;AAE/C;;;;;GAKG;AAEH,MAAM,aAAa;IAIlB;;;OAGG;IACH,YAAY,SAAqB,EAAE,QAAuB;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,mBAAmB;IACnB,UAAU,CAAC,QAAQ;QAClB,IAAI,QAAQ,EAAE;YACb,mBAAQ,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,EACd,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EACrD,QAAQ,CACR,CAAC;SACF;aAAM;YACN,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;gBACtC,QAAQ,CAAC,UAAU,EAAE,CAAC;aACtB;SACD;IACF,CAAC;IAED;;;OAGG;IACH,mBAAmB;IACnB,KAAK,CAAC,QAAQ;QACb,mBAAQ,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,EACd,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE;YAC9B,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC,EACD,GAAG,CAAC,EAAE;YACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC;aACd;QACF,CAAC,CACD,CAAC;IACH,CAAC;CACD;AAED,kBAAe,aAAa,CAAC"}
@@ -1,27 +1,11 @@
1
- export = NodeEnvironmentPlugin;
2
- /** @typedef {import("../../declarations/WebpackOptions").InfrastructureLogging} InfrastructureLogging */
3
- /** @typedef {import("../compiler").Compiler} Compiler */
4
- declare class NodeEnvironmentPlugin {
5
- /**
6
- * @param {Object} options options
7
- * @param {InfrastructureLogging} options.infrastructureLogging infrastructure logging options
8
- */
9
- constructor(options: {
10
- infrastructureLogging: InfrastructureLogging;
11
- });
12
- options: {
13
- infrastructureLogging: any;
14
- };
15
- /**
16
- * Apply the plugin
17
- * @param {Compiler} compiler the compiler instance
18
- * @returns {void}
19
- */
20
- apply(compiler: Compiler): void;
1
+ import type { InfrastructureLogging } from "../config/RspackOptions";
2
+ import type { Compiler } from "..";
3
+ export interface NodeEnvironmentPluginOptions {
4
+ infrastructureLogging: InfrastructureLogging;
21
5
  }
22
- declare namespace NodeEnvironmentPlugin {
23
- export { InfrastructureLogging, Compiler };
6
+ export default class NodeEnvironmentPlugin {
7
+ options: NodeEnvironmentPluginOptions;
8
+ constructor(options: NodeEnvironmentPluginOptions);
9
+ apply(compiler: Compiler): void;
24
10
  }
25
- type Compiler = import("../compiler").Compiler;
26
- type InfrastructureLogging = any;
27
11
  //# sourceMappingURL=NodeEnvironmentPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeEnvironmentPlugin.d.ts","sourceRoot":"","sources":["../../src/node/NodeEnvironmentPlugin.js"],"names":[],"mappings":";AAaA,yGAAyG;AACzG,yDAAyD;AAEzD;IACC;;;OAGG;IACH;QAF0C,qBAAqB,EAApD,qBAAqB;OAI/B;IADA;;MAAsB;IAGvB;;;;OAIG;IACH,gBAHW,QAAQ,GACN,IAAI,CA4BhB;CACD;;;;gBA3Ca,OAAO,aAAa,EAAE,QAAQ"}
1
+ {"version":3,"file":"NodeEnvironmentPlugin.d.ts","sourceRoot":"","sources":["../../src/node/NodeEnvironmentPlugin.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAEnC,MAAM,WAAW,4BAA4B;IAC5C,qBAAqB,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACzC,OAAO,EAAE,4BAA4B,CAAC;gBAE1B,OAAO,EAAE,4BAA4B;IAIjD,KAAK,CAAC,QAAQ,EAAE,QAAQ;CA2BxB"}
@@ -1,47 +1,44 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
1
  "use strict";
6
- const CachedInputFileSystem = require("enhanced-resolve/lib/CachedInputFileSystem");
7
- const fs = require("graceful-fs");
8
- const createConsoleLogger = require("../logging/createConsoleLogger");
9
- // const NodeWatchFileSystem = require("./NodeWatchFileSystem");
10
- const nodeConsole = require("./nodeConsole");
11
- /** @typedef {import("../../declarations/WebpackOptions").InfrastructureLogging} InfrastructureLogging */
12
- /** @typedef {import("../compiler").Compiler} Compiler */
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /**
7
+ * The following code is modified based on
8
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/node/NodeEnvironmentPlugin.js
9
+ *
10
+ * MIT Licensed
11
+ * Author Tobias Koppers @sokra
12
+ * Copyright (c) JS Foundation and other contributors
13
+ * https://github.com/webpack/webpack/blob/main/LICENSE
14
+ */
15
+ // @ts-expect-error
16
+ const CachedInputFileSystem_1 = __importDefault(require("enhanced-resolve/lib/CachedInputFileSystem"));
17
+ const graceful_fs_1 = __importDefault(require("graceful-fs"));
18
+ const createConsoleLogger_1 = __importDefault(require("../logging/createConsoleLogger"));
19
+ const NodeWatchFileSystem_1 = __importDefault(require("./NodeWatchFileSystem"));
20
+ const nodeConsole_1 = __importDefault(require("./nodeConsole"));
13
21
  class NodeEnvironmentPlugin {
14
- /**
15
- * @param {Object} options options
16
- * @param {InfrastructureLogging} options.infrastructureLogging infrastructure logging options
17
- */
18
22
  constructor(options) {
19
23
  this.options = options;
20
24
  }
21
- /**
22
- * Apply the plugin
23
- * @param {Compiler} compiler the compiler instance
24
- * @returns {void}
25
- */
26
25
  apply(compiler) {
27
26
  const { infrastructureLogging } = this.options;
28
- compiler.infrastructureLogger = createConsoleLogger({
27
+ compiler.infrastructureLogger = (0, createConsoleLogger_1.default)({
29
28
  level: infrastructureLogging.level || "info",
30
29
  debug: infrastructureLogging.debug || false,
31
30
  console: infrastructureLogging.console ||
32
- nodeConsole({
31
+ (0, nodeConsole_1.default)({
33
32
  colors: infrastructureLogging.colors,
34
33
  appendOnly: infrastructureLogging.appendOnly,
35
34
  stream: infrastructureLogging.stream
36
35
  })
37
36
  });
38
- compiler.inputFileSystem = new CachedInputFileSystem(fs, 60000);
37
+ compiler.inputFileSystem = new CachedInputFileSystem_1.default(graceful_fs_1.default, 60000);
39
38
  const inputFileSystem = compiler.inputFileSystem;
40
- compiler.outputFileSystem = fs;
41
- // compiler.intermediateFileSystem = fs;
42
- // compiler.watchFileSystem = new NodeWatchFileSystem(
43
- // compiler.inputFileSystem
44
- // );
39
+ compiler.outputFileSystem = graceful_fs_1.default;
40
+ compiler.intermediateFileSystem = graceful_fs_1.default;
41
+ compiler.watchFileSystem = new NodeWatchFileSystem_1.default(compiler.inputFileSystem);
45
42
  compiler.hooks.beforeRun.tap("NodeEnvironmentPlugin", compiler => {
46
43
  if (compiler.inputFileSystem === inputFileSystem) {
47
44
  compiler.fsStartTime = Date.now();
@@ -50,5 +47,5 @@ class NodeEnvironmentPlugin {
50
47
  });
51
48
  }
52
49
  }
53
- module.exports = NodeEnvironmentPlugin;
50
+ exports.default = NodeEnvironmentPlugin;
54
51
  //# sourceMappingURL=NodeEnvironmentPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeEnvironmentPlugin.js","sourceRoot":"","sources":["../../src/node/NodeEnvironmentPlugin.js"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;AAEb,MAAM,qBAAqB,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;AACpF,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAClC,MAAM,mBAAmB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AACtE,gEAAgE;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE7C,yGAAyG;AACzG,yDAAyD;AAEzD,MAAM,qBAAqB;IAC1B;;;OAGG;IACH,YAAY,OAAO;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,QAAQ,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;YACnD,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,MAAM;YAC5C,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,KAAK;YAC3C,OAAO,EACN,qBAAqB,CAAC,OAAO;gBAC7B,WAAW,CAAC;oBACX,MAAM,EAAE,qBAAqB,CAAC,MAAM;oBACpC,UAAU,EAAE,qBAAqB,CAAC,UAAU;oBAC5C,MAAM,EAAE,qBAAqB,CAAC,MAAM;iBACpC,CAAC;SACH,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,GAAG,IAAI,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC/B,wCAAwC;QACxC,sDAAsD;QACtD,4BAA4B;QAC5B,KAAK;QACL,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE;YAChE,IAAI,QAAQ,CAAC,eAAe,KAAK,eAAe,EAAE;gBACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,eAAe,CAAC,KAAK,EAAE,CAAC;aACxB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,CAAC,OAAO,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"NodeEnvironmentPlugin.js","sourceRoot":"","sources":["../../src/node/NodeEnvironmentPlugin.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;GAQG;AACH,mBAAmB;AACnB,uGAA+E;AAC/E,8DAA6B;AAC7B,yFAAiE;AACjE,gFAAwD;AACxD,gEAAwC;AAQxC,MAAqB,qBAAqB;IAGzC,YAAY,OAAqC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,QAAkB;QACvB,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,QAAQ,CAAC,oBAAoB,GAAG,IAAA,6BAAmB,EAAC;YACnD,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,MAAM;YAC5C,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,KAAK;YAC3C,OAAO,EACN,qBAAqB,CAAC,OAAO;gBAC7B,IAAA,qBAAW,EAAC;oBACX,MAAM,EAAE,qBAAqB,CAAC,MAAM;oBACpC,UAAU,EAAE,qBAAqB,CAAC,UAAU;oBAC5C,MAAM,EAAE,qBAAqB,CAAC,MAAM;iBACpC,CAAC;SACH,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,GAAG,IAAI,+BAAqB,CAAC,qBAAE,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,QAAQ,CAAC,gBAAgB,GAAG,qBAAE,CAAC;QAC/B,QAAQ,CAAC,sBAAsB,GAAG,qBAAE,CAAC;QACrC,QAAQ,CAAC,eAAe,GAAG,IAAI,6BAAmB,CACjD,QAAQ,CAAC,eAAe,CACxB,CAAC;QACF,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE;YAChE,IAAI,QAAQ,CAAC,eAAe,KAAK,eAAe,EAAE;gBAChD,QAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3C,eAAe,CAAC,KAAK,EAAE,CAAC;aACxB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAlCD,wCAkCC"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * The following code is modified based on
3
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/node/NodeTargetPlugin.js
4
+ *
5
+ * MIT Licensed
6
+ * Author Tobias Koppers @sokra
7
+ * Copyright (c) JS Foundation and other contributors
8
+ * https://github.com/webpack/webpack/blob/main/LICENSE
9
+ */
1
10
  import { Compiler } from "../compiler";
2
11
  export declare class NodeTargetPlugin {
3
12
  apply(compiler: Compiler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTargetPlugin.d.ts","sourceRoot":"","sources":["../../src/node/NodeTargetPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4DvC,qBAAa,gBAAgB;IAC5B,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAOxB"}
1
+ {"version":3,"file":"NodeTargetPlugin.d.ts","sourceRoot":"","sources":["../../src/node/NodeTargetPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4DvC,qBAAa,gBAAgB;IAC5B,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAOxB"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ /**
3
+ * The following code is modified based on
4
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/node/NodeTargetPlugin.js
5
+ *
6
+ * MIT Licensed
7
+ * Author Tobias Koppers @sokra
8
+ * Copyright (c) JS Foundation and other contributors
9
+ * https://github.com/webpack/webpack/blob/main/LICENSE
10
+ */
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.NodeTargetPlugin = void 0;
4
13
  const builtins = [
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTargetPlugin.js","sourceRoot":"","sources":["../../src/node/NodeTargetPlugin.ts"],"names":[],"mappings":";;;AAEA,MAAM,QAAQ,GAAG;IAChB,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,eAAe;IACf,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,OAAO;IACP,qBAAqB;IACrB,KAAK;IACL,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,aAAa;IACb,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,UAAU;IACV,aAAa;IACb,UAAU;IACV,MAAM;IACN,QAAQ;IACR,iBAAiB;IACjB,YAAY;IACZ,gBAAgB;IAChB,KAAK;IACL,QAAQ;IACR,iBAAiB;IACjB,KAAK;IACL,cAAc;IACd,KAAK;IACL,KAAK;IACL,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,gBAAgB;IAChB,MAAM;IACN,YAAY;IAEZ,qBAAqB;IACrB,oCAAoC;IACpC,QAAQ;CACR,CAAC;AAEF,MAAa,gBAAgB;IAC5B,KAAK,CAAC,QAAkB;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG;YAC5B,GAAG,SAAS;YACZ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;SAC7B,CAAC;IACH,CAAC;CACD;AARD,4CAQC"}
1
+ {"version":3,"file":"NodeTargetPlugin.js","sourceRoot":"","sources":["../../src/node/NodeTargetPlugin.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAIH,MAAM,QAAQ,GAAG;IAChB,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,eAAe;IACf,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,OAAO;IACP,qBAAqB;IACrB,KAAK;IACL,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,aAAa;IACb,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,UAAU;IACV,aAAa;IACb,UAAU;IACV,MAAM;IACN,QAAQ;IACR,iBAAiB;IACjB,YAAY;IACZ,gBAAgB;IAChB,KAAK;IACL,QAAQ;IACR,iBAAiB;IACjB,KAAK;IACL,cAAc;IACd,KAAK;IACL,KAAK;IACL,MAAM;IACN,YAAY;IACZ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,gBAAgB;IAChB,MAAM;IACN,YAAY;IAEZ,qBAAqB;IACrB,oCAAoC;IACpC,QAAQ;CACR,CAAC;AAEF,MAAa,gBAAgB;IAC5B,KAAK,CAAC,QAAkB;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG;YAC5B,GAAG,SAAS;YACZ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;SAC7B,CAAC;IACH,CAAC;CACD;AARD,4CAQC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The following code is modified based on
3
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/node/NodeWatchFileSystem.js
4
+ *
5
+ * MIT Licensed
6
+ * Author Tobias Koppers @sokra
7
+ * Copyright (c) JS Foundation and other contributors
8
+ * https://github.com/webpack/webpack/blob/main/LICENSE
9
+ */
10
+ import Watchpack, { WatchOptions } from "watchpack";
11
+ import { FileSystemInfoEntry, Watcher, WatchFileSystem } from "../util/fs";
12
+ export default class NodeWatchFileSystem implements WatchFileSystem {
13
+ inputFileSystem: any;
14
+ watcherOptions: WatchOptions;
15
+ watcher: Watchpack;
16
+ constructor(inputFileSystem: any);
17
+ watch(files: Iterable<string>, directories: Iterable<string>, missing: Iterable<string>, startTime: number, options: WatchOptions, callback: (error: Error, fileTimeInfoEntries: Map<string, FileSystemInfoEntry | "ignore">, contextTimeInfoEntries: Map<string, FileSystemInfoEntry | "ignore">, changedFiles: Set<string>, removedFiles: Set<string>) => void, callbackUndelayed: (fileName: string, changeTime: number) => void): Watcher;
18
+ }
19
+ //# sourceMappingURL=NodeWatchFileSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeWatchFileSystem.d.ts","sourceRoot":"","sources":["../../src/node/NodeWatchFileSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,eAAe;IAClE,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,YAAY,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC;gBAEP,eAAe,EAAE,GAAG;IAQhC,KAAK,CACJ,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,CACT,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAAC,EAChE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAAC,EACnE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KACrB,IAAI,EACT,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAC/D,OAAO;CAuJV"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ /**
3
+ * The following code is modified based on
4
+ * https://github.com/webpack/webpack/blob/4b4ca3b/lib/node/NodeWatchFileSystem.js
5
+ *
6
+ * MIT Licensed
7
+ * Author Tobias Koppers @sokra
8
+ * Copyright (c) JS Foundation and other contributors
9
+ * https://github.com/webpack/webpack/blob/main/LICENSE
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const util_1 = __importDefault(require("util"));
16
+ const watchpack_1 = __importDefault(require("watchpack"));
17
+ class NodeWatchFileSystem {
18
+ constructor(inputFileSystem) {
19
+ this.inputFileSystem = inputFileSystem;
20
+ this.watcherOptions = {
21
+ aggregateTimeout: 0
22
+ };
23
+ this.watcher = new watchpack_1.default(this.watcherOptions);
24
+ }
25
+ watch(files, directories, missing, startTime, options, callback, callbackUndelayed) {
26
+ if (!files || typeof files[Symbol.iterator] !== "function") {
27
+ throw new Error("Invalid arguments: 'files'");
28
+ }
29
+ if (!directories || typeof directories[Symbol.iterator] !== "function") {
30
+ throw new Error("Invalid arguments: 'directories'");
31
+ }
32
+ if (!missing || typeof missing[Symbol.iterator] !== "function") {
33
+ throw new Error("Invalid arguments: 'missing'");
34
+ }
35
+ if (typeof callback !== "function") {
36
+ throw new Error("Invalid arguments: 'callback'");
37
+ }
38
+ if (typeof startTime !== "number" && startTime) {
39
+ throw new Error("Invalid arguments: 'startTime'");
40
+ }
41
+ if (typeof options !== "object") {
42
+ throw new Error("Invalid arguments: 'options'");
43
+ }
44
+ if (typeof callbackUndelayed !== "function" && callbackUndelayed) {
45
+ throw new Error("Invalid arguments: 'callbackUndelayed'");
46
+ }
47
+ const oldWatcher = this.watcher;
48
+ this.watcher = new watchpack_1.default(options);
49
+ if (callbackUndelayed) {
50
+ this.watcher.once("change", callbackUndelayed);
51
+ }
52
+ const fetchTimeInfo = () => {
53
+ const fileTimeInfoEntries = new Map();
54
+ const contextTimeInfoEntries = new Map();
55
+ if (this.watcher) {
56
+ this.watcher.collectTimeInfoEntries(fileTimeInfoEntries, contextTimeInfoEntries);
57
+ }
58
+ return { fileTimeInfoEntries, contextTimeInfoEntries };
59
+ };
60
+ this.watcher.once("aggregated", (changes, removals) => {
61
+ // pause emitting events (avoids clearing aggregated changes and removals on timeout)
62
+ this.watcher.pause();
63
+ if (this.inputFileSystem && this.inputFileSystem.purge) {
64
+ const fs = this.inputFileSystem;
65
+ for (const item of changes) {
66
+ fs.purge(item);
67
+ }
68
+ for (const item of removals) {
69
+ fs.purge(item);
70
+ }
71
+ }
72
+ const { fileTimeInfoEntries, contextTimeInfoEntries } = fetchTimeInfo();
73
+ callback(
74
+ // @ts-expect-error
75
+ null, fileTimeInfoEntries, contextTimeInfoEntries, changes, removals);
76
+ });
77
+ this.watcher.watch({ files, directories, missing, startTime });
78
+ if (oldWatcher) {
79
+ oldWatcher.close();
80
+ }
81
+ return {
82
+ close: () => {
83
+ if (this.watcher) {
84
+ this.watcher.close();
85
+ // @ts-expect-error
86
+ this.watcher = null;
87
+ }
88
+ },
89
+ pause: () => {
90
+ if (this.watcher) {
91
+ this.watcher.pause();
92
+ }
93
+ },
94
+ getAggregatedRemovals: util_1.default.deprecate(() => {
95
+ const items = this.watcher && this.watcher.aggregatedRemovals;
96
+ if (items && this.inputFileSystem && this.inputFileSystem.purge) {
97
+ const fs = this.inputFileSystem;
98
+ for (const item of items) {
99
+ fs.purge(item);
100
+ }
101
+ }
102
+ return items;
103
+ }, "Watcher.getAggregatedRemovals is deprecated in favor of Watcher.getInfo since that's more performant.", "DEP_WEBPACK_WATCHER_GET_AGGREGATED_REMOVALS"),
104
+ getAggregatedChanges: util_1.default.deprecate(() => {
105
+ const items = this.watcher && this.watcher.aggregatedChanges;
106
+ if (items && this.inputFileSystem && this.inputFileSystem.purge) {
107
+ const fs = this.inputFileSystem;
108
+ for (const item of items) {
109
+ fs.purge(item);
110
+ }
111
+ }
112
+ return items;
113
+ }, "Watcher.getAggregatedChanges is deprecated in favor of Watcher.getInfo since that's more performant.", "DEP_WEBPACK_WATCHER_GET_AGGREGATED_CHANGES"),
114
+ getFileTimeInfoEntries: util_1.default.deprecate(() => {
115
+ return fetchTimeInfo().fileTimeInfoEntries;
116
+ }, "Watcher.getFileTimeInfoEntries is deprecated in favor of Watcher.getInfo since that's more performant.", "DEP_WEBPACK_WATCHER_FILE_TIME_INFO_ENTRIES"),
117
+ getContextTimeInfoEntries: util_1.default.deprecate(() => {
118
+ return fetchTimeInfo().contextTimeInfoEntries;
119
+ }, "Watcher.getContextTimeInfoEntries is deprecated in favor of Watcher.getInfo since that's more performant.", "DEP_WEBPACK_WATCHER_CONTEXT_TIME_INFO_ENTRIES"),
120
+ getInfo: () => {
121
+ const removals = this.watcher && this.watcher.aggregatedRemovals;
122
+ const changes = this.watcher && this.watcher.aggregatedChanges;
123
+ if (this.inputFileSystem && this.inputFileSystem.purge) {
124
+ const fs = this.inputFileSystem;
125
+ if (removals) {
126
+ for (const item of removals) {
127
+ fs.purge(item);
128
+ }
129
+ }
130
+ if (changes) {
131
+ for (const item of changes) {
132
+ fs.purge(item);
133
+ }
134
+ }
135
+ }
136
+ const { fileTimeInfoEntries, contextTimeInfoEntries } = fetchTimeInfo();
137
+ return {
138
+ changes,
139
+ removals,
140
+ fileTimeInfoEntries,
141
+ contextTimeInfoEntries
142
+ };
143
+ }
144
+ };
145
+ }
146
+ }
147
+ exports.default = NodeWatchFileSystem;
148
+ //# sourceMappingURL=NodeWatchFileSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeWatchFileSystem.js","sourceRoot":"","sources":["../../src/node/NodeWatchFileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;AAEH,gDAAwB;AACxB,0DAAoD;AAGpD,MAAqB,mBAAmB;IAKvC,YAAY,eAAoB;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG;YACrB,gBAAgB,EAAE,CAAC;SACnB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CACJ,KAAuB,EACvB,WAA6B,EAC7B,OAAyB,EACzB,SAAiB,EACjB,OAAqB,EACrB,QAMS,EACT,iBAAiE;QAEjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;YAC3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACjD;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAClD;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC1D;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,iBAAiB,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;SAC/C;QAED,MAAM,aAAa,GAAG,GAAG,EAAE;YAC1B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;YACtC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAClC,mBAAmB,EACnB,sBAAsB,CACtB,CAAC;aACF;YACD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACrD,qFAAqF;YACrF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAErB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;gBACvD,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;gBAChC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;oBAC3B,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACf;gBACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;oBAC5B,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACf;aACD;YACD,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAG,aAAa,EAAE,CAAC;YAExE,QAAQ;YACP,mBAAmB;YACnB,IAAI,EACJ,mBAAmB,EACnB,sBAAsB,EACtB,OAAO,EACP,QAAQ,CACR,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/D,IAAI,UAAU,EAAE;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;SACnB;QACD,OAAO;YACN,KAAK,EAAE,GAAG,EAAE;gBACX,IAAI,IAAI,CAAC,OAAO,EAAE;oBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACrB,mBAAmB;oBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;iBACpB;YACF,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACX,IAAI,IAAI,CAAC,OAAO,EAAE;oBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;iBACrB;YACF,CAAC;YACD,qBAAqB,EAAE,cAAI,CAAC,SAAS,CACpC,GAAG,EAAE;gBACJ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAC9D,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;oBAChE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;oBAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;wBACzB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBACf;iBACD;gBACD,OAAO,KAAK,CAAC;YACd,CAAC,EACD,uGAAuG,EACvG,6CAA6C,CAC7C;YACD,oBAAoB,EAAE,cAAI,CAAC,SAAS,CACnC,GAAG,EAAE;gBACJ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC7D,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;oBAChE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;oBAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;wBACzB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBACf;iBACD;gBACD,OAAO,KAAK,CAAC;YACd,CAAC,EACD,sGAAsG,EACtG,4CAA4C,CAC5C;YACD,sBAAsB,EAAE,cAAI,CAAC,SAAS,CACrC,GAAG,EAAE;gBACJ,OAAO,aAAa,EAAE,CAAC,mBAAmB,CAAC;YAC5C,CAAC,EACD,wGAAwG,EACxG,4CAA4C,CAC5C;YACD,yBAAyB,EAAE,cAAI,CAAC,SAAS,CACxC,GAAG,EAAE;gBACJ,OAAO,aAAa,EAAE,CAAC,sBAAsB,CAAC;YAC/C,CAAC,EACD,2GAA2G,EAC3G,+CAA+C,CAC/C;YACD,OAAO,EAAE,GAAG,EAAE;gBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC/D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;oBACvD,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;oBAChC,IAAI,QAAQ,EAAE;wBACb,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;4BAC5B,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yBACf;qBACD;oBACD,IAAI,OAAO,EAAE;wBACZ,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;4BAC3B,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yBACf;qBACD;iBACD;gBACD,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAG,aAAa,EAAE,CAAC;gBACxE,OAAO;oBACN,OAAO;oBACP,QAAQ;oBACR,mBAAmB;oBACnB,sBAAsB;iBACtB,CAAC;YACH,CAAC;SACD,CAAC;IACH,CAAC;CACD;AAlLD,sCAkLC"}