@rspack/core 1.0.10 → 1.0.11
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/builtin-plugin/css-extract/utils.d.ts +1 -0
- package/dist/config/types.d.ts +309 -0
- package/dist/config/zod.d.ts +22 -534
- package/dist/cssExtractHmr.js +224 -0
- package/dist/cssExtractLoader.js +277 -0
- package/dist/index.js +23347 -31
- package/dist/{builtin-plugin/css-extract/hmr/hotModuleReplacement.d.ts → runtime/cssExtractHmr.d.ts} +1 -0
- package/dist/runtime/moduleFederationDefaultRuntime.d.ts +2 -0
- package/dist/stats/statsFactoryUtils.d.ts +1 -0
- package/package.json +8 -5
- package/compiled/json-parse-even-better-errors/index.d.ts +0 -1
- package/compiled/json-parse-even-better-errors/index.js +0 -193
- package/compiled/json-parse-even-better-errors/package.json +0 -1
- package/compiled/neo-async/index.d.ts +0 -685
- package/compiled/neo-async/index.js +0 -9207
- package/compiled/neo-async/license +0 -22
- package/compiled/neo-async/package.json +0 -1
- package/compiled/zod-validation-error/index.d.ts +0 -41
- package/compiled/zod-validation-error/index.js +0 -335
- package/compiled/zod-validation-error/license +0 -9
- package/compiled/zod-validation-error/package.json +0 -1
- package/dist/Chunk.js +0 -118
- package/dist/ChunkGraph.js +0 -27
- package/dist/ChunkGroup.js +0 -76
- package/dist/Compilation.js +0 -854
- package/dist/Compiler.js +0 -925
- package/dist/ContextModuleFactory.js +0 -36
- package/dist/DependenciesBlock.js +0 -30
- package/dist/Dependency.js +0 -43
- package/dist/Entrypoint.js +0 -21
- package/dist/ErrorHelpers.js +0 -62
- package/dist/ExecuteModulePlugin.js +0 -46
- package/dist/FileSystem.js +0 -34
- package/dist/FileSystemInfo.js +0 -2
- package/dist/Module.js +0 -226
- package/dist/ModuleTypeConstants.js +0 -92
- package/dist/MultiCompiler.js +0 -440
- package/dist/MultiStats.js +0 -161
- package/dist/MultiWatching.js +0 -62
- package/dist/NormalModule.js +0 -97
- package/dist/NormalModuleFactory.js +0 -43
- package/dist/Resolver.js +0 -39
- package/dist/ResolverFactory.js +0 -61
- package/dist/RspackError.js +0 -21
- package/dist/RuleSetCompiler.js +0 -10
- package/dist/RuntimeGlobals.js +0 -357
- package/dist/RuntimeModule.js +0 -58
- package/dist/Stats.js +0 -161
- package/dist/Template.js +0 -206
- package/dist/Watching.js +0 -290
- package/dist/builtin-loader/index.js +0 -17
- package/dist/builtin-loader/lightningcss/index.js +0 -175
- package/dist/builtin-loader/swc/index.js +0 -5
- package/dist/builtin-loader/swc/pluginImport.js +0 -35
- package/dist/builtin-loader/swc/react.js +0 -7
- package/dist/builtin-loader/swc/types.js +0 -2
- package/dist/builtin-plugin/APIPlugin.js +0 -6
- package/dist/builtin-plugin/ArrayPushCallbackChunkFormatPlugin.js +0 -6
- package/dist/builtin-plugin/AssetModulesPlugin.js +0 -6
- package/dist/builtin-plugin/AsyncWebAssemblyModulesPlugin.js +0 -6
- package/dist/builtin-plugin/BannerPlugin.js +0 -22
- package/dist/builtin-plugin/BundlerInfoRspackPlugin.js +0 -12
- package/dist/builtin-plugin/ChunkPrefetchPreloadPlugin.js +0 -6
- package/dist/builtin-plugin/CommonJsChunkFormatPlugin.js +0 -6
- package/dist/builtin-plugin/ContextReplacementPlugin.js +0 -43
- package/dist/builtin-plugin/CopyRspackPlugin.js +0 -21
- package/dist/builtin-plugin/CssModulesPlugin.js +0 -6
- package/dist/builtin-plugin/DataUriPlugin.js +0 -6
- package/dist/builtin-plugin/DefinePlugin.js +0 -44
- package/dist/builtin-plugin/DeterministicChunkIdsPlugin.js +0 -6
- package/dist/builtin-plugin/DeterministicModuleIdsPlugin.js +0 -6
- package/dist/builtin-plugin/DynamicEntryPlugin.js +0 -36
- package/dist/builtin-plugin/ElectronTargetPlugin.js +0 -6
- package/dist/builtin-plugin/EnableChunkLoadingPlugin.js +0 -6
- package/dist/builtin-plugin/EnableLibraryPlugin.js +0 -39
- package/dist/builtin-plugin/EnableWasmLoadingPlugin.js +0 -6
- package/dist/builtin-plugin/EnsureChunkConditionsPlugin.js +0 -6
- package/dist/builtin-plugin/EntryPlugin.js +0 -34
- package/dist/builtin-plugin/EvalDevToolModulePlugin.js +0 -6
- package/dist/builtin-plugin/EvalSourceMapDevToolPlugin.js +0 -16
- package/dist/builtin-plugin/ExternalsPlugin.js +0 -51
- package/dist/builtin-plugin/FetchCompileAsyncWasmPlugin.js +0 -6
- package/dist/builtin-plugin/FileUriPlugin.js +0 -6
- package/dist/builtin-plugin/FlagDependencyExportsPlugin.js +0 -6
- package/dist/builtin-plugin/FlagDependencyUsagePlugin.js +0 -6
- package/dist/builtin-plugin/HotModuleReplacementPlugin.js +0 -18
- package/dist/builtin-plugin/HtmlRspackPlugin.js +0 -285
- package/dist/builtin-plugin/HttpExternalsRspackPlugin.js +0 -11
- package/dist/builtin-plugin/IgnorePlugin.js +0 -20
- package/dist/builtin-plugin/InferAsyncModulesPlugin.js +0 -6
- package/dist/builtin-plugin/JavascriptModulesPlugin.js +0 -55
- package/dist/builtin-plugin/JsLoaderRspackPlugin.js +0 -9
- package/dist/builtin-plugin/JsonModulesPlugin.js +0 -6
- package/dist/builtin-plugin/LightningCssMiminizerRspackPlugin.js +0 -30
- package/dist/builtin-plugin/LimitChunkCountPlugin.js +0 -8
- package/dist/builtin-plugin/MangleExportsPlugin.js +0 -6
- package/dist/builtin-plugin/MergeDuplicateChunksPlugin.js +0 -6
- package/dist/builtin-plugin/ModuleChunkFormatPlugin.js +0 -6
- package/dist/builtin-plugin/ModuleConcatenationPlugin.js +0 -6
- package/dist/builtin-plugin/NamedChunkIdsPlugin.js +0 -6
- package/dist/builtin-plugin/NamedModuleIdsPlugin.js +0 -6
- package/dist/builtin-plugin/NaturalChunkIdsPlugin.js +0 -6
- package/dist/builtin-plugin/NaturalModuleIdsPlugin.js +0 -6
- package/dist/builtin-plugin/NoEmitOnErrorsPlugin.js +0 -6
- package/dist/builtin-plugin/NodeTargetPlugin.js +0 -6
- package/dist/builtin-plugin/ProgressPlugin.js +0 -15
- package/dist/builtin-plugin/ProvidePlugin.js +0 -14
- package/dist/builtin-plugin/RealContentHashPlugin.js +0 -6
- package/dist/builtin-plugin/RemoveEmptyChunksPlugin.js +0 -6
- package/dist/builtin-plugin/RuntimeChunkPlugin.js +0 -6
- package/dist/builtin-plugin/RuntimePlugin.js +0 -6
- package/dist/builtin-plugin/SideEffectsFlagPlugin.js +0 -6
- package/dist/builtin-plugin/SizeLimitsPlugin.js +0 -9
- package/dist/builtin-plugin/SourceMapDevToolPlugin.js +0 -14
- package/dist/builtin-plugin/SplitChunksPlugin.js +0 -92
- package/dist/builtin-plugin/SwcJsMinimizerPlugin.js +0 -80
- package/dist/builtin-plugin/WarnCaseSensitiveModulesPlugin.js +0 -6
- package/dist/builtin-plugin/WebWorkerTemplatePlugin.js +0 -6
- package/dist/builtin-plugin/WorkerPlugin.js +0 -31
- package/dist/builtin-plugin/base.js +0 -58
- package/dist/builtin-plugin/css-extract/hmr/hotModuleReplacement.js +0 -182
- package/dist/builtin-plugin/css-extract/hmr/normalizeUrl.d.ts +0 -2
- package/dist/builtin-plugin/css-extract/hmr/normalizeUrl.js +0 -31
- package/dist/builtin-plugin/css-extract/index.js +0 -105
- package/dist/builtin-plugin/css-extract/loader.js +0 -204
- package/dist/builtin-plugin/css-extract/utils.js +0 -51
- package/dist/builtin-plugin/index.js +0 -84
- package/dist/builtin-plugin/lazy-compilation/backend.js +0 -139
- package/dist/builtin-plugin/lazy-compilation/lazyCompilation.js +0 -6
- package/dist/builtin-plugin/lazy-compilation/plugin.js +0 -60
- package/dist/config/adapter.js +0 -691
- package/dist/config/adapterRuleUse.js +0 -107
- package/dist/config/browserslistTargetHandler.js +0 -345
- package/dist/config/defaults.js +0 -876
- package/dist/config/index.js +0 -20
- package/dist/config/normalization.js +0 -299
- package/dist/config/target.js +0 -318
- package/dist/config/types.js +0 -3
- package/dist/config/zod.js +0 -1030
- package/dist/container/ContainerPlugin.js +0 -50
- package/dist/container/ContainerReferencePlugin.js +0 -49
- package/dist/container/ModuleFederationPlugin.js +0 -137
- package/dist/container/ModuleFederationPluginV1.js +0 -63
- package/dist/container/ModuleFederationRuntimePlugin.js +0 -6
- package/dist/container/options.js +0 -48
- package/dist/error/ConcurrentCompilationError.js +0 -20
- package/dist/exports.js +0 -183
- package/dist/lib/AbstractMethodError.js +0 -51
- package/dist/lib/Cache.js +0 -111
- package/dist/lib/CacheFacade.js +0 -321
- package/dist/lib/Dependency.js +0 -11
- package/dist/lib/EntryOptionPlugin.js +0 -89
- package/dist/lib/EnvironmentPlugin.js +0 -57
- package/dist/lib/HookWebpackError.js +0 -83
- package/dist/lib/IgnoreWarningsPlugin.js +0 -35
- package/dist/lib/LoaderOptionsPlugin.js +0 -74
- package/dist/lib/LoaderTargetPlugin.js +0 -37
- package/dist/lib/ModuleFilenameHelpers.js +0 -83
- package/dist/lib/NormalModuleReplacementPlugin.js +0 -85
- package/dist/lib/WebpackError.js +0 -20
- package/dist/lib/cache/MemoryCachePlugin.js +0 -40
- package/dist/lib/cache/getLazyHashedEtag.js +0 -73
- package/dist/lib/cache/mergeEtags.js +0 -74
- package/dist/lib/formatLocation.js +0 -64
- package/dist/loader-runner/LoaderLoadingError.js +0 -19
- package/dist/loader-runner/index.js +0 -735
- package/dist/loader-runner/loadLoader.js +0 -64
- package/dist/logging/Logger.js +0 -143
- package/dist/logging/createConsoleLogger.js +0 -176
- package/dist/logging/runtime.js +0 -37
- package/dist/logging/truncateArgs.js +0 -81
- package/dist/node/NodeEnvironmentPlugin.js +0 -50
- package/dist/node/NodeTemplatePlugin.js +0 -26
- package/dist/node/NodeWatchFileSystem.js +0 -144
- package/dist/node/nodeConsole.js +0 -146
- package/dist/rspack.js +0 -123
- package/dist/rspackOptionsApply.js +0 -274
- package/dist/sharing/ConsumeSharedPlugin.js +0 -69
- package/dist/sharing/ProvideSharedPlugin.js +0 -50
- package/dist/sharing/SharePlugin.js +0 -66
- package/dist/sharing/ShareRuntimePlugin.js +0 -26
- package/dist/sharing/utils.js +0 -8
- package/dist/stats/DefaultStatsFactoryPlugin.js +0 -1173
- package/dist/stats/DefaultStatsPresetPlugin.js +0 -305
- package/dist/stats/DefaultStatsPrinterPlugin.js +0 -1069
- package/dist/stats/StatsFactory.js +0 -167
- package/dist/stats/StatsPrinter.js +0 -142
- package/dist/stats/statsFactoryUtils.js +0 -341
- package/dist/util/ArrayQueue.js +0 -108
- package/dist/util/AssetInfo.js +0 -39
- package/dist/util/IterableHelpers.js +0 -35
- package/dist/util/MergeCaller.js +0 -24
- package/dist/util/SizeFormatHelpers.js +0 -24
- package/dist/util/SplitChunkSize.js +0 -18
- package/dist/util/assertNotNil.js +0 -9
- package/dist/util/assetCondition.js +0 -2
- package/dist/util/bindingVersionCheck.js +0 -124
- package/dist/util/cleverMerge.js +0 -504
- package/dist/util/comparators.js +0 -108
- package/dist/util/createHash.js +0 -161
- package/dist/util/createReadonlyMap.js +0 -29
- package/dist/util/fake.js +0 -28
- package/dist/util/fs.js +0 -120
- package/dist/util/hash/BatchedHash.js +0 -69
- package/dist/util/hash/index.js +0 -39
- package/dist/util/hash/md4.js +0 -27
- package/dist/util/hash/wasm-hash.js +0 -167
- package/dist/util/hash/xxhash64.js +0 -27
- package/dist/util/identifier.js +0 -330
- package/dist/util/index.js +0 -123
- package/dist/util/memoize.js +0 -61
- package/dist/util/scheme.js +0 -57
- package/dist/util/smartGrouping.js +0 -148
- package/dist/util/source.js +0 -42
- package/dist/util/validate.js +0 -77
- package/dist/util/webpack.js +0 -27
- /package/dist/{container/default.runtime.js → moduleFederationDefaultRuntime.js} +0 -0
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* The following code is modified based on
|
|
4
|
-
* https://github.com/webpack/webpack/tree/4b4ca3bb53f36a5b8fc6bc1bd976ed7af161bd80/lib/util
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.smartGrouping = void 0;
|
|
13
|
-
const smartGrouping = (items, groupConfigs) => {
|
|
14
|
-
const itemsWithGroups = new Set();
|
|
15
|
-
const allGroups = new Map();
|
|
16
|
-
for (const item of items) {
|
|
17
|
-
const groups = new Set();
|
|
18
|
-
for (let i = 0; i < groupConfigs.length; i++) {
|
|
19
|
-
const groupConfig = groupConfigs[i];
|
|
20
|
-
const keys = groupConfig.getKeys(item);
|
|
21
|
-
if (keys) {
|
|
22
|
-
for (const name of keys) {
|
|
23
|
-
const key = `${i}:${name}`;
|
|
24
|
-
let group = allGroups.get(key);
|
|
25
|
-
if (group === undefined) {
|
|
26
|
-
allGroups.set(key, (group = {
|
|
27
|
-
config: groupConfig,
|
|
28
|
-
name,
|
|
29
|
-
alreadyGrouped: false,
|
|
30
|
-
items: undefined
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
groups.add(group);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
itemsWithGroups.add({
|
|
38
|
-
item,
|
|
39
|
-
groups
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
const runGrouping = (itemsWithGroups) => {
|
|
43
|
-
const totalSize = itemsWithGroups.size;
|
|
44
|
-
for (const entry of itemsWithGroups) {
|
|
45
|
-
for (const group of entry.groups) {
|
|
46
|
-
if (group.alreadyGrouped)
|
|
47
|
-
continue;
|
|
48
|
-
const items = group.items;
|
|
49
|
-
if (items === undefined) {
|
|
50
|
-
group.items = new Set([entry]);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
items.add(entry);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const groupMap = new Map();
|
|
58
|
-
for (const group of allGroups.values()) {
|
|
59
|
-
if (group.items) {
|
|
60
|
-
const items = group.items;
|
|
61
|
-
group.items = undefined;
|
|
62
|
-
groupMap.set(group, {
|
|
63
|
-
items,
|
|
64
|
-
options: undefined,
|
|
65
|
-
used: false
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const results = [];
|
|
70
|
-
for (;;) {
|
|
71
|
-
let bestGroup = undefined;
|
|
72
|
-
let bestGroupSize = -1;
|
|
73
|
-
let bestGroupItems = undefined;
|
|
74
|
-
let bestGroupOptions = undefined;
|
|
75
|
-
for (const [group, state] of groupMap) {
|
|
76
|
-
const { items, used } = state;
|
|
77
|
-
let options = state.options;
|
|
78
|
-
if (options === undefined) {
|
|
79
|
-
const groupConfig = group.config;
|
|
80
|
-
state.options = options =
|
|
81
|
-
groupConfig.getOptions?.(group.name, Array.from(items, ({ item }) => item)) || false;
|
|
82
|
-
}
|
|
83
|
-
const force = options !== false && options.force;
|
|
84
|
-
if (!force) {
|
|
85
|
-
if (bestGroupOptions !== false && bestGroupOptions?.force)
|
|
86
|
-
continue;
|
|
87
|
-
if (used)
|
|
88
|
-
continue;
|
|
89
|
-
if (items.size <= 1 || totalSize - items.size <= 1) {
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
const targetGroupCount = (options !== false && options.targetGroupCount) || 4;
|
|
94
|
-
const sizeValue = force
|
|
95
|
-
? items.size
|
|
96
|
-
: Math.min(items.size, (totalSize * 2) / targetGroupCount +
|
|
97
|
-
itemsWithGroups.size -
|
|
98
|
-
items.size);
|
|
99
|
-
if (sizeValue > bestGroupSize ||
|
|
100
|
-
(force && (!bestGroupOptions || !bestGroupOptions.force))) {
|
|
101
|
-
bestGroup = group;
|
|
102
|
-
bestGroupSize = sizeValue;
|
|
103
|
-
bestGroupItems = items;
|
|
104
|
-
bestGroupOptions = options;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (bestGroup === undefined) {
|
|
108
|
-
break;
|
|
109
|
-
}
|
|
110
|
-
const items = new Set(bestGroupItems);
|
|
111
|
-
const options = bestGroupOptions;
|
|
112
|
-
const groupChildren = !options || options.groupChildren !== false;
|
|
113
|
-
for (const item of items) {
|
|
114
|
-
itemsWithGroups.delete(item);
|
|
115
|
-
// Remove all groups that items have from the map to not select them again
|
|
116
|
-
for (const group of item.groups) {
|
|
117
|
-
const state = groupMap.get(group);
|
|
118
|
-
if (state !== undefined) {
|
|
119
|
-
state.items.delete(item);
|
|
120
|
-
if (state.items.size === 0) {
|
|
121
|
-
groupMap.delete(group);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
state.options = undefined;
|
|
125
|
-
if (groupChildren) {
|
|
126
|
-
state.used = true;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
groupMap.delete(bestGroup);
|
|
133
|
-
const key = bestGroup.name;
|
|
134
|
-
const groupConfig = bestGroup.config;
|
|
135
|
-
const allItems = Array.from(items, ({ item }) => item);
|
|
136
|
-
bestGroup.alreadyGrouped = true;
|
|
137
|
-
const children = groupChildren ? runGrouping(items) : allItems;
|
|
138
|
-
bestGroup.alreadyGrouped = false;
|
|
139
|
-
results.push(groupConfig.createGroup(key, children, allItems));
|
|
140
|
-
}
|
|
141
|
-
for (const { item } of itemsWithGroups) {
|
|
142
|
-
results.push(item);
|
|
143
|
-
}
|
|
144
|
-
return results;
|
|
145
|
-
};
|
|
146
|
-
return runGrouping(itemsWithGroups);
|
|
147
|
-
};
|
|
148
|
-
exports.smartGrouping = smartGrouping;
|
package/dist/util/source.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JsSource = void 0;
|
|
4
|
-
const webpack_sources_1 = require("../../compiled/webpack-sources");
|
|
5
|
-
class JsSource extends webpack_sources_1.Source {
|
|
6
|
-
static __from_binding(source) {
|
|
7
|
-
if (source.source instanceof Buffer) {
|
|
8
|
-
// @ts-expect-error: webpack-sources can accept buffer as source,
|
|
9
|
-
// see: https://github.com/webpack/webpack-sources/blob/9f98066311d53a153fdc7c633422a1d086528027/lib/RawSource.js#L12
|
|
10
|
-
return new webpack_sources_1.RawSource(source.source);
|
|
11
|
-
}
|
|
12
|
-
if (!source.map) {
|
|
13
|
-
return new webpack_sources_1.RawSource(source.source);
|
|
14
|
-
}
|
|
15
|
-
return new webpack_sources_1.SourceMapSource(source.source, "inmemory://from rust",
|
|
16
|
-
// @ts-expect-error: SourceMapSource can accept string as source map,
|
|
17
|
-
// see: https://github.com/webpack/webpack-sources/blob/9f98066311d53a153fdc7c633422a1d086528027/lib/SourceMapSource.js#L30
|
|
18
|
-
source.map);
|
|
19
|
-
}
|
|
20
|
-
static __to_binding(source) {
|
|
21
|
-
if (source instanceof webpack_sources_1.RawSource) {
|
|
22
|
-
// @ts-expect-error: The 'isBuffer' method exists on 'RawSource' in 'webpack-sources',
|
|
23
|
-
if (source.isBuffer()) {
|
|
24
|
-
return {
|
|
25
|
-
source: source.buffer()
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
source: source.source()
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
const map = JSON.stringify(source.map?.({
|
|
33
|
-
columns: true
|
|
34
|
-
}));
|
|
35
|
-
const code = source.source();
|
|
36
|
-
return {
|
|
37
|
-
source: typeof code === "string" ? code : Buffer.from(code).toString("utf-8"),
|
|
38
|
-
map
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.JsSource = JsSource;
|
package/dist/util/validate.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValidate = exports.validate = exports.ValidationError = void 0;
|
|
4
|
-
const zod_validation_error_1 = require("../../compiled/zod-validation-error");
|
|
5
|
-
class ValidationError extends Error {
|
|
6
|
-
constructor(message) {
|
|
7
|
-
super(message);
|
|
8
|
-
this.name = "ValidationError";
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.ValidationError = ValidationError;
|
|
12
|
-
function validate(opts, schema) {
|
|
13
|
-
const res = schema.safeParse(opts);
|
|
14
|
-
if (!res.success) {
|
|
15
|
-
const strategy = process.env.RSPACK_CONFIG_VALIDATE ?? "strict";
|
|
16
|
-
if (strategy === "loose-silent")
|
|
17
|
-
return;
|
|
18
|
-
let friendlyErr;
|
|
19
|
-
const originalIssues = res.error.issues;
|
|
20
|
-
// Issues with code `unrecognized_keys` are ignored. Other issues are thrown.
|
|
21
|
-
// This does not work when `zodError.issues` is empty so we need to check the length of `zodError.issues`.
|
|
22
|
-
// See: https://github.com/causaly/zod-validation-error/blob/62684ba47cba9cbd84e2a75dfd5fd06dcd0e1ad5/lib/fromZodError.ts#L53
|
|
23
|
-
if (strategy === "loose-unrecognized-keys" && res.error.issues.length > 0) {
|
|
24
|
-
// This is based on the invariant that `fromZodError` always reads `zodError.errors` first and
|
|
25
|
-
// `zodError.errors` always returns `zodError.issues`:
|
|
26
|
-
// See: https://github.com/causaly/zod-validation-error/blob/62684ba47cba9cbd84e2a75dfd5fd06dcd0e1ad5/lib/fromZodError.ts#L55
|
|
27
|
-
// Also see: https://github.com/colinhacks/zod/blob/8552233c77426f77d3586cc877f7aec1aa0aa45b/src/ZodError.ts#L200
|
|
28
|
-
const unrecognizedKeys = originalIssues.filter(issue => issue.code === "unrecognized_keys");
|
|
29
|
-
if (unrecognizedKeys.length > 0) {
|
|
30
|
-
res.error.issues = unrecognizedKeys;
|
|
31
|
-
friendlyErr = toValidationError(res.error);
|
|
32
|
-
console.error(friendlyErr.message);
|
|
33
|
-
res.error.issues = originalIssues;
|
|
34
|
-
}
|
|
35
|
-
res.error.issues = originalIssues.filter(issue => issue.code !== "unrecognized_keys");
|
|
36
|
-
if (res.error.issues.length > 0) {
|
|
37
|
-
throw toValidationError(res.error);
|
|
38
|
-
}
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (strategy === "loose-unrecognized-keys" || strategy === "loose") {
|
|
42
|
-
friendlyErr = toValidationError(res.error);
|
|
43
|
-
console.error(friendlyErr.message);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
// strict
|
|
47
|
-
friendlyErr = toValidationError(res.error);
|
|
48
|
-
throw friendlyErr;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.validate = validate;
|
|
52
|
-
function toValidationError(error) {
|
|
53
|
-
const issueSeparator = "$issue$";
|
|
54
|
-
const prefixSeparator = "$prefix$";
|
|
55
|
-
const validationErr = (0, zod_validation_error_1.fromZodError)(error, {
|
|
56
|
-
prefix: "Invalid configuration object. Rspack has been initialized using a configuration object that does not match the API schema.",
|
|
57
|
-
prefixSeparator,
|
|
58
|
-
issueSeparator
|
|
59
|
-
});
|
|
60
|
-
// The output validationErr.message looks like
|
|
61
|
-
// `Configuration error$prefix$xxxx error$issue$yyy error$issue$zzz error`
|
|
62
|
-
const [prefix, reason] = validationErr.message.split(prefixSeparator);
|
|
63
|
-
const reasonItem = reason.split(issueSeparator);
|
|
64
|
-
const message = `${prefix}\n${reasonItem.map(item => `- ${item}`).join("\n")}`;
|
|
65
|
-
const friendlyErr = new ValidationError(message);
|
|
66
|
-
return friendlyErr;
|
|
67
|
-
}
|
|
68
|
-
function isValidate(opts, schema) {
|
|
69
|
-
try {
|
|
70
|
-
validate(opts, schema);
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.isValidate = isValidate;
|
package/dist/util/webpack.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// util module that compatible with webpack
|
|
3
|
-
// ```js
|
|
4
|
-
// const { NormalModuleReplacementPlugin, WebpackError, util } = compiler.webpack;
|
|
5
|
-
// ```
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const createHash_1 = require("./createHash");
|
|
8
|
-
exports.default = {
|
|
9
|
-
get createHash() {
|
|
10
|
-
return createHash_1.createHash;
|
|
11
|
-
}
|
|
12
|
-
// get comparators() {
|
|
13
|
-
// return require("./comparators");
|
|
14
|
-
// },
|
|
15
|
-
// get runtime() {
|
|
16
|
-
// return require("./util/runtime");
|
|
17
|
-
// },
|
|
18
|
-
// get serialization() {
|
|
19
|
-
// return require("./util/serialization");
|
|
20
|
-
// },
|
|
21
|
-
// get cleverMerge() {
|
|
22
|
-
// return require("./util/cleverMerge").cachedCleverMerge;
|
|
23
|
-
// },
|
|
24
|
-
// get LazySet() {
|
|
25
|
-
// return require("./util/LazySet");
|
|
26
|
-
// }
|
|
27
|
-
};
|
|
File without changes
|