@modern-js/utils 2.31.2 → 2.32.1
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/CHANGELOG.md +24 -0
- package/LICENSE +1 -1
- package/dist/cjs/runtime/nestedRoutes.js +21 -8
- package/dist/cjs/runtime-node/index.js +1 -0
- package/dist/cjs/runtime-node/loaderContext/createLoaderCtx.js +34 -0
- package/dist/cjs/runtime-node/loaderContext/createRequestCtx.js +38 -0
- package/dist/cjs/runtime-node/loaderContext/index.js +22 -0
- package/dist/cjs/universal/constants.js +4 -0
- package/dist/compiled/webpack-chain/index.js +1 -1
- package/dist/compiled/webpack-chain/package.json +1 -1
- package/dist/compiled/webpack-chain/types/index.d.ts +381 -170
- package/dist/esm/runtime/nestedRoutes.js +47 -13
- package/dist/esm/runtime-node/index.js +1 -0
- package/dist/esm/runtime-node/loaderContext/createLoaderCtx.js +20 -0
- package/dist/esm/runtime-node/loaderContext/createRequestCtx.js +24 -0
- package/dist/esm/runtime-node/loaderContext/index.js +3 -0
- package/dist/esm/universal/constants.js +1 -0
- package/dist/esm-node/runtime/nestedRoutes.js +22 -9
- package/dist/esm-node/runtime-node/index.js +1 -0
- package/dist/esm-node/runtime-node/loaderContext/createLoaderCtx.js +15 -0
- package/dist/esm-node/runtime-node/loaderContext/createRequestCtx.js +19 -0
- package/dist/esm-node/runtime-node/loaderContext/index.js +3 -0
- package/dist/esm-node/universal/constants.js +1 -0
- package/dist/types/runtime/nestedRoutes.d.ts +3 -2
- package/dist/types/runtime-node/index.d.ts +2 -1
- package/dist/types/runtime-node/loaderContext/createLoaderCtx.d.ts +7 -0
- package/dist/types/runtime-node/loaderContext/createRequestCtx.d.ts +7 -0
- package/dist/types/runtime-node/loaderContext/index.d.ts +4 -0
- package/dist/types/runtime-node/nestedRoutes.d.ts +1 -1
- package/dist/types/universal/constants.d.ts +5 -1
- package/package.json +6 -6
@@ -1,24 +1,32 @@
|
|
1
|
-
import {
|
2
|
-
|
1
|
+
import {
|
2
|
+
Configuration,
|
3
|
+
Compiler,
|
4
|
+
WebpackPluginInstance,
|
5
|
+
RuleSetRule,
|
6
|
+
ResolveOptions,
|
7
|
+
} from 'webpack';
|
3
8
|
import * as https from 'https';
|
4
9
|
|
5
10
|
export = Config;
|
6
11
|
|
7
12
|
declare namespace __Config {
|
8
13
|
class Chained<Parent> {
|
14
|
+
batch(handler: (chained: this) => void): this;
|
9
15
|
end(): Parent;
|
10
16
|
}
|
11
|
-
|
12
|
-
class TypedChainedMap<Parent, Value> extends Chained<Parent> {
|
17
|
+
class TypedChainedMap<Parent, OptionsType> extends Chained<Parent> {
|
13
18
|
clear(): this;
|
14
19
|
delete(key: string): this;
|
15
20
|
has(key: string): boolean;
|
16
|
-
get(key:
|
17
|
-
getOrCompute
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
21
|
+
get<T extends keyof OptionsType>(key: T): OptionsType[T];
|
22
|
+
getOrCompute<T extends keyof OptionsType>(
|
23
|
+
key: T,
|
24
|
+
compute: () => OptionsType[T],
|
25
|
+
): OptionsType[T];
|
26
|
+
set<T extends keyof OptionsType>(key: T, value: OptionsType[T]): this;
|
27
|
+
merge(obj: Partial<OptionsType>): this;
|
28
|
+
entries(): OptionsType;
|
29
|
+
values<T extends keyof OptionsType>(): [OptionsType[T]][];
|
22
30
|
when(
|
23
31
|
condition: boolean,
|
24
32
|
trueBrancher: (obj: this) => void,
|
@@ -27,7 +35,6 @@ declare namespace __Config {
|
|
27
35
|
}
|
28
36
|
|
29
37
|
class ChainedMap<Parent> extends TypedChainedMap<Parent, any> {}
|
30
|
-
|
31
38
|
class TypedChainedSet<Parent, Value> extends Chained<Parent> {
|
32
39
|
add(value: Value): this;
|
33
40
|
prepend(value: Value): this;
|
@@ -46,48 +53,59 @@ declare namespace __Config {
|
|
46
53
|
class ChainedSet<Parent> extends TypedChainedSet<Parent, any> {}
|
47
54
|
}
|
48
55
|
|
56
|
+
type WebpackConfig = Required<Configuration>;
|
49
57
|
declare class Config extends __Config.ChainedMap<void> {
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
58
|
+
entryPoints: Config.TypedChainedMap<
|
59
|
+
Config,
|
60
|
+
{ [key: string]: Config.EntryPoint }
|
61
|
+
>;
|
54
62
|
output: Config.Output;
|
63
|
+
module: Config.Module;
|
64
|
+
node: Config.ChainedMap<this> & ((value: boolean) => this);
|
55
65
|
optimization: Config.Optimization;
|
56
|
-
performance: Config.Performance;
|
57
|
-
plugins: Config.Plugins<this,
|
66
|
+
performance: Config.Performance & ((value: boolean) => this);
|
67
|
+
plugins: Config.Plugins<this, WebpackPluginInstance>;
|
58
68
|
resolve: Config.Resolve;
|
59
69
|
resolveLoader: Config.ResolveLoader;
|
70
|
+
devServer: Config.DevServer;
|
60
71
|
|
61
|
-
|
62
|
-
|
63
|
-
cache(value: boolean | any): this;
|
72
|
+
context(value: WebpackConfig['context']): this;
|
73
|
+
mode(value: WebpackConfig['mode']): this;
|
64
74
|
devtool(value: Config.DevTool): this;
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
75
|
+
target(value: WebpackConfig['target']): this;
|
76
|
+
watch(value: WebpackConfig['watch']): this;
|
77
|
+
watchOptions(value: WebpackConfig['watchOptions']): this;
|
78
|
+
externals(value: WebpackConfig['externals']): this;
|
79
|
+
externalsType(value: WebpackConfig['externalsType']): this;
|
80
|
+
externalsPresets(value: WebpackConfig['externalsPresets']): this;
|
81
|
+
stats(value: WebpackConfig['stats']): this;
|
82
|
+
experiments(value: WebpackConfig['experiments']): this;
|
83
|
+
amd(value: WebpackConfig['amd']): this;
|
84
|
+
bail(value: WebpackConfig['bail']): this;
|
85
|
+
cache(value: WebpackConfig['cache']): this;
|
86
|
+
dependencies(value: WebpackConfig['dependencies']): this;
|
87
|
+
ignoreWarnings(value: WebpackConfig['ignoreWarnings']): this;
|
88
|
+
loader(value: WebpackConfig['loader']): this;
|
89
|
+
parallelism(value: WebpackConfig['parallelism']): this;
|
90
|
+
profile(value: WebpackConfig['profile']): this;
|
91
|
+
recordsPath(value: WebpackConfig['recordsPath']): this;
|
92
|
+
recordsInputPath(value: WebpackConfig['recordsInputPath']): this;
|
93
|
+
recordsOutputPath(value: WebpackConfig['recordsOutputPath']): this;
|
94
|
+
name(value: WebpackConfig['name']): this;
|
95
|
+
infrastructureLogging(value: WebpackConfig['infrastructureLogging']): this;
|
96
|
+
snapshot(value: WebpackConfig['snapshot']): this;
|
79
97
|
|
80
98
|
entry(name: string): Config.EntryPoint;
|
81
|
-
plugin(name: string): Config.Plugin<this,
|
99
|
+
plugin(name: string): Config.Plugin<this, WebpackPluginInstance>;
|
82
100
|
|
83
|
-
toConfig():
|
101
|
+
toConfig(): Configuration;
|
84
102
|
}
|
85
103
|
|
86
104
|
declare namespace Config {
|
87
105
|
class Chained<Parent> extends __Config.Chained<Parent> {}
|
88
|
-
class TypedChainedMap<Parent,
|
106
|
+
class TypedChainedMap<Parent, OptionsType> extends __Config.TypedChainedMap<
|
89
107
|
Parent,
|
90
|
-
|
108
|
+
OptionsType
|
91
109
|
> {}
|
92
110
|
class ChainedMap<Parent> extends __Config.TypedChainedMap<Parent, any> {}
|
93
111
|
class TypedChainedSet<Parent, Value> extends __Config.TypedChainedSet<
|
@@ -98,21 +116,29 @@ declare namespace Config {
|
|
98
116
|
|
99
117
|
class Plugins<
|
100
118
|
Parent,
|
101
|
-
PluginType extends
|
102
|
-
> extends TypedChainedMap<
|
119
|
+
PluginType extends WebpackPluginInstance,
|
120
|
+
> extends TypedChainedMap<
|
121
|
+
Parent,
|
122
|
+
{ [key: string]: Plugin<Parent, PluginType> }
|
123
|
+
> {}
|
103
124
|
|
104
|
-
class Plugin<Parent, PluginType extends
|
125
|
+
class Plugin<Parent, PluginType extends WebpackPluginInstance | ResolvePlugin>
|
105
126
|
extends ChainedMap<Parent>
|
106
|
-
implements Orderable
|
127
|
+
implements Orderable
|
128
|
+
{
|
107
129
|
init<P extends PluginType | PluginClass<PluginType>>(
|
108
130
|
value: (
|
109
131
|
plugin: P,
|
110
|
-
args: P extends PluginClass
|
132
|
+
args: P extends PluginClass<PluginType>
|
133
|
+
? ConstructorParameters<P>
|
134
|
+
: any[],
|
111
135
|
) => PluginType,
|
112
136
|
): this;
|
113
137
|
use<P extends string | PluginType | PluginClass<PluginType>>(
|
114
138
|
plugin: P,
|
115
|
-
args?: P extends PluginClass
|
139
|
+
args?: P extends PluginClass<PluginType>
|
140
|
+
? ConstructorParameters<P>
|
141
|
+
: any[],
|
116
142
|
): this;
|
117
143
|
tap<P extends PluginClass<PluginType>>(
|
118
144
|
f: (args: ConstructorParameters<P>) => ConstructorParameters<P>,
|
@@ -123,61 +149,119 @@ declare namespace Config {
|
|
123
149
|
after(name: string): this;
|
124
150
|
}
|
125
151
|
|
152
|
+
type WebpackEntry = NonNullable<Configuration['entry']>;
|
153
|
+
|
154
|
+
type WepackEntryObject = Exclude<
|
155
|
+
WebpackEntry,
|
156
|
+
string | string[] | Function
|
157
|
+
>[string];
|
158
|
+
|
159
|
+
class EntryPoint extends TypedChainedSet<Config, WepackEntryObject> {}
|
160
|
+
|
161
|
+
type WebpackModule = Required<NonNullable<Configuration['module']>>;
|
162
|
+
|
126
163
|
class Module extends ChainedMap<Config> {
|
127
|
-
rules: TypedChainedMap<this, Rule>;
|
164
|
+
rules: TypedChainedMap<this, { [key: string]: Rule }>;
|
165
|
+
generator: ChainedMap<this>;
|
166
|
+
parser: ChainedMap<this>;
|
128
167
|
rule(name: string): Rule;
|
129
|
-
noParse(
|
130
|
-
|
168
|
+
noParse(value: WebpackModule['noParse']): this;
|
169
|
+
unsafeCache(value: WebpackModule['unsafeCache']): this;
|
170
|
+
wrappedContextCritical(
|
171
|
+
value: WebpackModule['wrappedContextCritical'],
|
172
|
+
): this;
|
173
|
+
exprContextRegExp(value: WebpackModule['exprContextRegExp']): this;
|
174
|
+
wrappedContextRecursive(
|
175
|
+
value: WebpackModule['wrappedContextRecursive'],
|
131
176
|
): this;
|
132
|
-
strictExportPresence(value:
|
177
|
+
strictExportPresence(value: WebpackModule['strictExportPresence']): this;
|
178
|
+
wrappedContextRegExp(value: WebpackModule['wrappedContextRegExp']): this;
|
133
179
|
}
|
134
180
|
|
181
|
+
type WebpackOutput = Required<NonNullable<Configuration['output']>>;
|
182
|
+
|
135
183
|
class Output extends ChainedMap<Config> {
|
136
|
-
auxiliaryComment(value:
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
184
|
+
auxiliaryComment(value: WebpackOutput['auxiliaryComment']): this;
|
185
|
+
charset(value: WebpackOutput['charset']): this;
|
186
|
+
chunkFilename(value: WebpackOutput['chunkFilename']): this;
|
187
|
+
chunkLoadTimeout(value: WebpackOutput['chunkLoadTimeout']): this;
|
188
|
+
chunkLoadingGlobal(value: WebpackOutput['chunkLoadingGlobal']): this;
|
189
|
+
chunkLoading(value: WebpackOutput['chunkLoading']): this;
|
190
|
+
chunkFormat(value: WebpackOutput['chunkFormat']): this;
|
191
|
+
enabledChunkLoadingTypes(
|
192
|
+
value: WebpackOutput['enabledChunkLoadingTypes'],
|
193
|
+
): this;
|
194
|
+
crossOriginLoading(value: WebpackOutput['crossOriginLoading']): this;
|
195
|
+
devtoolFallbackModuleFilenameTemplate(
|
196
|
+
value: WebpackOutput['devtoolFallbackModuleFilenameTemplate'],
|
197
|
+
): this;
|
198
|
+
devtoolModuleFilenameTemplate(
|
199
|
+
value: WebpackOutput['devtoolModuleFilenameTemplate'],
|
200
|
+
): this;
|
201
|
+
devtoolNamespace(value: WebpackOutput['devtoolNamespace']): this;
|
202
|
+
filename(value: WebpackOutput['filename']): this;
|
203
|
+
assetModuleFilenamet(value: WebpackOutput['assetModuleFilename']): this;
|
204
|
+
globalObject(value: WebpackOutput['globalObject']): this;
|
205
|
+
uniqueName(value: WebpackOutput['uniqueName']): this;
|
206
|
+
hashDigest(value: WebpackOutput['hashDigest']): this;
|
207
|
+
hashDigestLength(value: WebpackOutput['hashDigestLength']): this;
|
208
|
+
hashFunction(value: WebpackOutput['hashFunction']): this;
|
209
|
+
hashSalt(value: WebpackOutput['hashSalt']): this;
|
210
|
+
hotUpdateChunkFilename(
|
211
|
+
value: WebpackOutput['hotUpdateChunkFilename'],
|
212
|
+
): this;
|
213
|
+
hotUpdateGlobal(value: WebpackOutput['hotUpdateGlobal']): this;
|
214
|
+
hotUpdateMainFilename(value: WebpackOutput['hotUpdateMainFilename']): this;
|
215
|
+
library(value: WebpackOutput['library']): this;
|
216
|
+
libraryExport(value: WebpackOutput['libraryExport']): this;
|
217
|
+
libraryTarget(value: WebpackOutput['libraryTarget']): this;
|
218
|
+
importFunctionName(value: WebpackOutput['importFunctionName']): this;
|
219
|
+
path(value: WebpackOutput['path']): this;
|
220
|
+
pathinfo(value: WebpackOutput['pathinfo']): this;
|
221
|
+
publicPath(value: WebpackOutput['publicPath']): this;
|
222
|
+
scriptType(value: WebpackOutput['scriptType']): this;
|
223
|
+
sourceMapFilename(value: WebpackOutput['sourceMapFilename']): this;
|
224
|
+
sourcePrefix(value: WebpackOutput['sourcePrefix']): this;
|
225
|
+
strictModuleErrorHandling(
|
226
|
+
value: WebpackOutput['strictModuleErrorHandling'],
|
227
|
+
): this;
|
228
|
+
strictModuleExceptionHandling(
|
229
|
+
value: WebpackOutput['strictModuleExceptionHandling'],
|
230
|
+
): this;
|
231
|
+
umdNamedDefine(value: WebpackOutput['umdNamedDefine']): this;
|
232
|
+
workerChunkLoading(value: WebpackOutput['workerChunkLoading']): this;
|
233
|
+
enabledLibraryTypes(value: WebpackOutput['enabledLibraryTypes']): this;
|
234
|
+
environment(value: WebpackOutput['environment']): this;
|
235
|
+
compareBeforeEmit(value: WebpackOutput['compareBeforeEmit']): this;
|
236
|
+
wasmLoading(value: WebpackOutput['wasmLoading']): this;
|
237
|
+
enabledWasmLoadingTypes(
|
238
|
+
value: WebpackOutput['enabledWasmLoadingTypes'],
|
239
|
+
): this;
|
240
|
+
iife(value: WebpackOutput['iife']): this;
|
241
|
+
module(value: WebpackOutput['module']): this;
|
242
|
+
clean(value: WebpackOutput['clean']): this;
|
165
243
|
}
|
166
244
|
|
245
|
+
// await for @types/webpack-dev-server update do v4 to remove all any
|
167
246
|
class DevServer extends ChainedMap<Config> {
|
168
247
|
allowedHosts: TypedChainedSet<this, string>;
|
169
|
-
|
170
|
-
|
171
|
-
value: (app: any, server: any, compiler: webpack.Compiler) => void,
|
172
|
-
): this;
|
173
|
-
before(
|
174
|
-
value: (app: any, server: any, compiler: webpack.Compiler) => void,
|
175
|
-
): this;
|
248
|
+
after(value: (app: any, server: any, compiler: Compiler) => void): this;
|
249
|
+
before(value: (app: any, server: any, compiler: Compiler) => void): this;
|
176
250
|
bonjour(value: boolean): this;
|
177
|
-
clientLogLevel(
|
178
|
-
|
251
|
+
clientLogLevel(
|
252
|
+
value:
|
253
|
+
| 'silent'
|
254
|
+
| 'trace'
|
255
|
+
| 'debug'
|
256
|
+
| 'info'
|
257
|
+
| 'warn'
|
258
|
+
| 'error'
|
259
|
+
| 'none'
|
260
|
+
| 'warning',
|
261
|
+
): this;
|
179
262
|
compress(value: boolean): this;
|
180
263
|
contentBase(value: boolean | string | string[]): this;
|
264
|
+
contentBasePublicPath(value: string): this;
|
181
265
|
disableHostCheck(value: boolean): this;
|
182
266
|
filename(value: string): this;
|
183
267
|
headers(value: { [header: string]: string }): this;
|
@@ -188,11 +272,14 @@ declare namespace Config {
|
|
188
272
|
http2(value: boolean): this;
|
189
273
|
https(value: boolean | https.ServerOptions): this;
|
190
274
|
index(value: string): this;
|
191
|
-
|
275
|
+
injectClient(value: boolean | ((compiler: Compiler) => boolean)): this;
|
276
|
+
injectHot(value: boolean | ((compiler: Compiler) => boolean)): this;
|
192
277
|
inline(value: boolean): this;
|
193
278
|
lazy(value: boolean): this;
|
279
|
+
liveReload(value: boolean): this;
|
194
280
|
mimeTypes(value: Object): this;
|
195
281
|
noInfo(value: boolean): this;
|
282
|
+
onListening(value: (server: any) => void): this;
|
196
283
|
open(value: boolean): this;
|
197
284
|
openPage(value: string | string[]): this;
|
198
285
|
overlay(value: boolean | { warnings?: boolean; errors?: boolean }): this;
|
@@ -204,75 +291,129 @@ declare namespace Config {
|
|
204
291
|
public(value: string): this;
|
205
292
|
publicPath(publicPath: string): this;
|
206
293
|
quiet(value: boolean): this;
|
294
|
+
serveIndex(value: boolean): this;
|
207
295
|
setup(value: (expressApp: any) => void): this;
|
208
296
|
socket(value: string): this;
|
209
297
|
sockHost(value: string): this;
|
210
298
|
sockPath(value: string): this;
|
211
299
|
sockPort(value: number): this;
|
212
300
|
staticOptions(value: any): this;
|
213
|
-
stats(value:
|
301
|
+
stats(value: Configuration['stats']): this;
|
214
302
|
stdin(value: boolean): this;
|
303
|
+
transportMode(
|
304
|
+
value:
|
305
|
+
| 'sockjs'
|
306
|
+
| 'ws'
|
307
|
+
| {
|
308
|
+
server: 'ws';
|
309
|
+
client: object;
|
310
|
+
}
|
311
|
+
| {
|
312
|
+
client: 'sockjs';
|
313
|
+
server: object;
|
314
|
+
}
|
315
|
+
| {
|
316
|
+
client: object;
|
317
|
+
server: object;
|
318
|
+
},
|
319
|
+
): this;
|
215
320
|
useLocalIp(value: boolean): this;
|
216
321
|
watchContentBase(value: boolean): this;
|
217
|
-
watchOptions(value:
|
322
|
+
watchOptions(value: Configuration['watchOptions']): this;
|
218
323
|
writeToDisk(value: boolean): this;
|
219
324
|
}
|
220
325
|
|
326
|
+
type WebpackPerformance = Exclude<
|
327
|
+
Required<NonNullable<Configuration['performance']>>,
|
328
|
+
false
|
329
|
+
>;
|
221
330
|
class Performance extends ChainedMap<Config> {
|
222
|
-
hints(value:
|
223
|
-
maxEntrypointSize(value:
|
224
|
-
maxAssetSize(value:
|
225
|
-
assetFilter(value:
|
331
|
+
hints(value: WebpackPerformance['hints']): this;
|
332
|
+
maxEntrypointSize(value: WebpackPerformance['maxEntrypointSize']): this;
|
333
|
+
maxAssetSize(value: WebpackPerformance['maxAssetSize']): this;
|
334
|
+
assetFilter(value: WebpackPerformance['assetFilter']): this;
|
226
335
|
}
|
227
336
|
|
228
|
-
|
337
|
+
type WebpackResolve = Required<NonNullable<Configuration['resolve']>>;
|
338
|
+
type ResolvePlugin = Exclude<
|
339
|
+
NonNullable<ResolveOptions['plugins']>[number],
|
340
|
+
'...'
|
341
|
+
>;
|
229
342
|
|
230
343
|
class Resolve<T = Config> extends ChainedMap<T> {
|
231
|
-
alias: TypedChainedMap<this, string>;
|
232
|
-
aliasFields: TypedChainedSet<this,
|
233
|
-
descriptionFiles: TypedChainedSet<
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
344
|
+
alias: TypedChainedMap<this, { [key: string]: string | false | string[] }>;
|
345
|
+
aliasFields: TypedChainedSet<this, WebpackResolve['aliasFields'][number]>;
|
346
|
+
descriptionFiles: TypedChainedSet<
|
347
|
+
this,
|
348
|
+
WebpackResolve['descriptionFiles'][number]
|
349
|
+
>;
|
350
|
+
extensions: TypedChainedSet<this, WebpackResolve['extensions'][number]>;
|
351
|
+
mainFields: TypedChainedSet<this, WebpackResolve['mainFields'][number]>;
|
352
|
+
mainFiles: TypedChainedSet<this, WebpackResolve['mainFiles'][number]>;
|
353
|
+
exportsFields: TypedChainedSet<
|
354
|
+
this,
|
355
|
+
WebpackResolve['exportsFields'][number]
|
356
|
+
>;
|
357
|
+
importsFields: TypedChainedSet<
|
358
|
+
this,
|
359
|
+
WebpackResolve['importsFields'][number]
|
360
|
+
>;
|
361
|
+
restrictions: TypedChainedSet<this, WebpackResolve['restrictions'][number]>;
|
362
|
+
roots: TypedChainedSet<this, WebpackResolve['roots'][number]>;
|
363
|
+
modules: TypedChainedSet<this, WebpackResolve['modules'][number]>;
|
364
|
+
plugins: TypedChainedMap<
|
365
|
+
this,
|
366
|
+
{ [key: string]: Plugin<Resolve, ResolvePlugin> }
|
367
|
+
>;
|
368
|
+
fallback: TypedChainedMap<
|
369
|
+
this,
|
370
|
+
{ [key: string]: string | false | string[] }
|
371
|
+
>;
|
372
|
+
byDependency: TypedChainedMap<this, WebpackResolve['byDependency']>;
|
373
|
+
|
374
|
+
cachePredicate(value: WebpackResolve['cachePredicate']): this;
|
375
|
+
cacheWithContext(value: WebpackResolve['cacheWithContext']): this;
|
376
|
+
enforceExtension(value: WebpackResolve['enforceExtension']): this;
|
377
|
+
symlinks(value: WebpackResolve['symlinks']): this;
|
378
|
+
unsafeCache(value: WebpackResolve['unsafeCache']): this;
|
379
|
+
preferRelative(value: WebpackResolve['preferRelative']): this;
|
380
|
+
preferAbsolute(value: WebpackResolve['preferAbsolute']): this;
|
381
|
+
|
382
|
+
plugin(name: string): Plugin<this, ResolvePlugin>;
|
383
|
+
}
|
248
384
|
|
249
|
-
|
385
|
+
class RuleResolve<T = Config> extends Resolve<T> {
|
386
|
+
fullySpecified(value: boolean): this;
|
250
387
|
}
|
251
388
|
|
252
389
|
class ResolveLoader extends Resolve {
|
390
|
+
modules: ChainedSet<this>;
|
253
391
|
moduleExtensions: ChainedSet<this>;
|
254
392
|
packageMains: ChainedSet<this>;
|
255
393
|
}
|
256
394
|
|
395
|
+
type WebpackRuleSet = Required<RuleSetRule>;
|
396
|
+
|
257
397
|
class Rule<T = Module> extends ChainedMap<T> implements Orderable {
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
resolve:
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
): this;
|
275
|
-
|
398
|
+
uses: TypedChainedMap<this, { [key: string]: Use }>;
|
399
|
+
include: TypedChainedSet<this, WebpackRuleSet['include']>;
|
400
|
+
exclude: TypedChainedSet<this, WebpackRuleSet['exclude']>;
|
401
|
+
rules: TypedChainedMap<this, { [key: string]: Rule<Rule> }>;
|
402
|
+
oneOfs: TypedChainedMap<this, { [key: string]: Rule<Rule> }>;
|
403
|
+
resolve: RuleResolve<Rule<T>>;
|
404
|
+
|
405
|
+
enforce(value: WebpackRuleSet['enforce']): this;
|
406
|
+
issuer(value: WebpackRuleSet['issuer']): this;
|
407
|
+
issuerLayer(value: WebpackRuleSet['issuerLayer']): this;
|
408
|
+
layer(value: WebpackRuleSet['layer']): this;
|
409
|
+
mimetype(value: WebpackRuleSet['mimetype']): this;
|
410
|
+
parser(value: WebpackRuleSet['parser']): this;
|
411
|
+
generator(value: WebpackRuleSet['generator']): this;
|
412
|
+
resource(value: WebpackRuleSet['resource']): this;
|
413
|
+
resourceQuery(value: WebpackRuleSet['resourceQuery']): this;
|
414
|
+
sideEffects(value: WebpackRuleSet['sideEffects']): this;
|
415
|
+
test(value: WebpackRuleSet['test']): this;
|
416
|
+
type(value: WebpackRuleSet['type']): this;
|
276
417
|
|
277
418
|
use(name: string): Use<this>;
|
278
419
|
rule(name: string): Rule<Rule>;
|
@@ -281,28 +422,40 @@ declare namespace Config {
|
|
281
422
|
post(): this;
|
282
423
|
before(name: string): this;
|
283
424
|
after(name: string): this;
|
284
|
-
resourceQuery(value: webpack.Condition | webpack.Condition[]): this;
|
285
425
|
}
|
286
426
|
|
427
|
+
type WebpackOptimization = Required<
|
428
|
+
NonNullable<Configuration['optimization']>
|
429
|
+
>;
|
430
|
+
type SplitChunksObject = Exclude<WebpackOptimization['splitChunks'], false>;
|
287
431
|
class Optimization extends ChainedMap<Config> {
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
432
|
+
minimizer(name: string): Config.Plugin<this, WebpackPluginInstance>;
|
433
|
+
splitChunks: TypedChainedMap<this, SplitChunksObject> &
|
434
|
+
((value: SplitChunksObject | false) => this);
|
435
|
+
|
436
|
+
minimize(value: WebpackOptimization['minimize']): this;
|
437
|
+
runtimeChunk(value: WebpackOptimization['runtimeChunk']): this;
|
438
|
+
emitOnErrors(value: WebpackOptimization['emitOnErrors']): this;
|
439
|
+
moduleIds(value: WebpackOptimization['moduleIds']): this;
|
440
|
+
chunkIds(value: WebpackOptimization['chunkIds']): this;
|
441
|
+
nodeEnv(value: WebpackOptimization['nodeEnv']): this;
|
442
|
+
mangleWasmImports(value: WebpackOptimization['mangleWasmImports']): this;
|
443
|
+
removeAvailableModules(
|
444
|
+
value: WebpackOptimization['removeAvailableModules'],
|
445
|
+
): this;
|
446
|
+
removeEmptyChunks(value: WebpackOptimization['removeEmptyChunks']): this;
|
447
|
+
mergeDuplicateChunks(
|
448
|
+
value: WebpackOptimization['mergeDuplicateChunks'],
|
449
|
+
): this;
|
450
|
+
flagIncludedChunks(value: WebpackOptimization['flagIncludedChunks']): this;
|
451
|
+
providedExports(value: WebpackOptimization['providedExports']): this;
|
452
|
+
usedExports(value: WebpackOptimization['usedExports']): this;
|
453
|
+
concatenateModules(value: WebpackOptimization['concatenateModules']): this;
|
454
|
+
sideEffects(value: WebpackOptimization['sideEffects']): this;
|
455
|
+
portableRecords(value: WebpackOptimization['portableRecords']): this;
|
456
|
+
mangleExports(value: WebpackOptimization['mangleExports']): this;
|
457
|
+
innerGraph(value: WebpackOptimization['innerGraph']): this;
|
458
|
+
realContentHash(value: WebpackOptimization['realContentHash']): this;
|
306
459
|
}
|
307
460
|
|
308
461
|
interface RuntimeChunk {
|
@@ -332,52 +485,110 @@ declare namespace Config {
|
|
332
485
|
|
333
486
|
type DevTool =
|
334
487
|
| 'eval'
|
335
|
-
| '
|
336
|
-
| 'cheap-
|
488
|
+
| 'eval-cheap-source-map'
|
489
|
+
| 'eval-cheap-module-source-map'
|
490
|
+
| 'eval-source-map'
|
337
491
|
| 'cheap-source-map'
|
338
|
-
| 'cheap-module-eval-source-map'
|
339
492
|
| 'cheap-module-source-map'
|
340
|
-
| 'eval-source-map'
|
341
493
|
| 'source-map'
|
494
|
+
| 'inline-cheap-source-map'
|
495
|
+
| 'inline-cheap-module-source-map'
|
496
|
+
| 'inline-source-map'
|
497
|
+
| 'eval-nosources-cheap-source-map'
|
498
|
+
| 'eval-nosources-cheap-module-source-map'
|
499
|
+
| 'eval-nosources-source-map'
|
500
|
+
| 'inline-nosources-cheap-source-map'
|
501
|
+
| 'inline-nosources-cheap-module-source-map'
|
502
|
+
| 'inline-nosources-source-map'
|
503
|
+
| 'nosources-cheap-source-map'
|
504
|
+
| 'nosources-cheap-module-source-map'
|
342
505
|
| 'nosources-source-map'
|
506
|
+
| 'hidden-nosources-cheap-source-map'
|
507
|
+
| 'hidden-nosources-cheap-module-source-map'
|
508
|
+
| 'hidden-nosources-source-map'
|
509
|
+
| 'hidden-cheap-source-map'
|
510
|
+
| 'hidden-cheap-module-source-map'
|
343
511
|
| 'hidden-source-map'
|
344
|
-
| 'nosources-source-map'
|
345
512
|
| '@eval'
|
346
|
-
| '@
|
347
|
-
| '@cheap-
|
513
|
+
| '@eval-cheap-source-map'
|
514
|
+
| '@eval-cheap-module-source-map'
|
515
|
+
| '@eval-source-map'
|
348
516
|
| '@cheap-source-map'
|
349
|
-
| '@cheap-module-eval-source-map'
|
350
517
|
| '@cheap-module-source-map'
|
351
|
-
| '@eval-source-map'
|
352
518
|
| '@source-map'
|
519
|
+
| '@inline-cheap-source-map'
|
520
|
+
| '@inline-cheap-module-source-map'
|
521
|
+
| '@inline-source-map'
|
522
|
+
| '@eval-nosources-cheap-source-map'
|
523
|
+
| '@eval-nosources-cheap-module-source-map'
|
524
|
+
| '@eval-nosources-source-map'
|
525
|
+
| '@inline-nosources-cheap-source-map'
|
526
|
+
| '@inline-nosources-cheap-module-source-map'
|
527
|
+
| '@inline-nosources-source-map'
|
528
|
+
| '@nosources-cheap-source-map'
|
529
|
+
| '@nosources-cheap-module-source-map'
|
353
530
|
| '@nosources-source-map'
|
531
|
+
| '@hidden-nosources-cheap-source-map'
|
532
|
+
| '@hidden-nosources-cheap-module-source-map'
|
533
|
+
| '@hidden-nosources-source-map'
|
534
|
+
| '@hidden-cheap-source-map'
|
535
|
+
| '@hidden-cheap-module-source-map'
|
354
536
|
| '@hidden-source-map'
|
355
|
-
| '@nosources-source-map'
|
356
537
|
| '#eval'
|
357
|
-
| '#
|
358
|
-
| '#cheap-
|
538
|
+
| '#eval-cheap-source-map'
|
539
|
+
| '#eval-cheap-module-source-map'
|
540
|
+
| '#eval-source-map'
|
359
541
|
| '#cheap-source-map'
|
360
|
-
| '#cheap-module-eval-source-map'
|
361
542
|
| '#cheap-module-source-map'
|
362
|
-
| '#eval-source-map'
|
363
543
|
| '#source-map'
|
544
|
+
| '#inline-cheap-source-map'
|
545
|
+
| '#inline-cheap-module-source-map'
|
546
|
+
| '#inline-source-map'
|
547
|
+
| '#eval-nosources-cheap-source-map'
|
548
|
+
| '#eval-nosources-cheap-module-source-map'
|
549
|
+
| '#eval-nosources-source-map'
|
550
|
+
| '#inline-nosources-cheap-source-map'
|
551
|
+
| '#inline-nosources-cheap-module-source-map'
|
552
|
+
| '#inline-nosources-source-map'
|
553
|
+
| '#nosources-cheap-source-map'
|
554
|
+
| '#nosources-cheap-module-source-map'
|
364
555
|
| '#nosources-source-map'
|
556
|
+
| '#hidden-nosources-cheap-source-map'
|
557
|
+
| '#hidden-nosources-cheap-module-source-map'
|
558
|
+
| '#hidden-nosources-source-map'
|
559
|
+
| '#hidden-cheap-source-map'
|
560
|
+
| '#hidden-cheap-module-source-map'
|
365
561
|
| '#hidden-source-map'
|
366
|
-
| '#nosources-source-map'
|
367
562
|
| '#@eval'
|
368
|
-
| '#@
|
369
|
-
| '#@cheap-
|
563
|
+
| '#@eval-cheap-source-map'
|
564
|
+
| '#@eval-cheap-module-source-map'
|
565
|
+
| '#@eval-source-map'
|
370
566
|
| '#@cheap-source-map'
|
371
|
-
| '#@cheap-module-eval-source-map'
|
372
567
|
| '#@cheap-module-source-map'
|
373
|
-
| '#@eval-source-map'
|
374
568
|
| '#@source-map'
|
569
|
+
| '#@inline-cheap-source-map'
|
570
|
+
| '#@inline-cheap-module-source-map'
|
571
|
+
| '#@inline-source-map'
|
572
|
+
| '#@eval-nosources-cheap-source-map'
|
573
|
+
| '#@eval-nosources-cheap-module-source-map'
|
574
|
+
| '#@eval-nosources-source-map'
|
575
|
+
| '#@inline-nosources-cheap-source-map'
|
576
|
+
| '#@inline-nosources-cheap-module-source-map'
|
577
|
+
| '#@inline-nosources-source-map'
|
578
|
+
| '#@nosources-cheap-source-map'
|
579
|
+
| '#@nosources-cheap-module-source-map'
|
375
580
|
| '#@nosources-source-map'
|
581
|
+
| '#@hidden-nosources-cheap-source-map'
|
582
|
+
| '#@hidden-nosources-cheap-module-source-map'
|
583
|
+
| '#@hidden-nosources-source-map'
|
584
|
+
| '#@hidden-cheap-source-map'
|
585
|
+
| '#@hidden-cheap-module-source-map'
|
376
586
|
| '#@hidden-source-map'
|
377
|
-
| '#@nosources-source-map'
|
378
587
|
| boolean;
|
379
588
|
|
380
|
-
interface PluginClass<
|
589
|
+
interface PluginClass<
|
590
|
+
PluginType extends WebpackPluginInstance | ResolvePlugin,
|
591
|
+
> {
|
381
592
|
new (...opts: any[]): PluginType;
|
382
593
|
}
|
383
594
|
|