Skip to content

Commit 424029c

Browse files
chore: import types from files (#2902)
Co-authored-by: ScriptedAlchemy <[email protected]>
1 parent 02da18f commit 424029c

File tree

2 files changed

+2269
-7677
lines changed

2 files changed

+2269
-7677
lines changed
Lines changed: 145 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
export = NormalModuleFactory;
22
declare class NormalModuleFactory extends ModuleFactory {
33
/**
4-
* @param {Object} param params
4+
* @param {object} param params
55
* @param {string=} param.context context
66
* @param {InputFileSystem} param.fs file system
77
* @param {ResolverFactory} param.resolverFactory resolverFactory
88
* @param {ModuleOptions} param.options options
9-
* @param {Object=} param.associatedObjectForCache an object to which the cache will be attached
9+
* @param {object=} param.associatedObjectForCache an object to which the cache will be attached
1010
* @param {boolean=} param.layers enable layers
1111
*/
1212
constructor({
@@ -21,48 +21,71 @@ declare class NormalModuleFactory extends ModuleFactory {
2121
fs: InputFileSystem;
2222
resolverFactory: ResolverFactory;
2323
options: ModuleOptions;
24-
associatedObjectForCache?: any | undefined;
24+
associatedObjectForCache?: object | undefined;
2525
layers?: boolean | undefined;
2626
});
2727
hooks: Readonly<{
28-
resolve: AsyncSeriesBailHook<[ResolveData], false | void | Module>;
28+
/** @type {AsyncSeriesBailHook<[ResolveData], Module | false | void>} */
29+
resolve: AsyncSeriesBailHook<[ResolveData], Module | false | void>;
30+
/** @type {HookMap<AsyncSeriesBailHook<[ResourceDataWithData, ResolveData], true | void>>} */
2931
resolveForScheme: HookMap<
3032
AsyncSeriesBailHook<[ResourceDataWithData, ResolveData], true | void>
3133
>;
34+
/** @type {HookMap<AsyncSeriesBailHook<[ResourceDataWithData, ResolveData], true | void>>} */
3235
resolveInScheme: HookMap<
3336
AsyncSeriesBailHook<[ResourceDataWithData, ResolveData], true | void>
3437
>;
35-
factorize: AsyncSeriesBailHook<[ResolveData], undefined | Module>;
38+
/** @type {AsyncSeriesBailHook<[ResolveData], Module | undefined>} */
39+
factorize: AsyncSeriesBailHook<[ResolveData], Module | undefined>;
40+
/** @type {AsyncSeriesBailHook<[ResolveData], false | void>} */
3641
beforeResolve: AsyncSeriesBailHook<[ResolveData], false | void>;
42+
/** @type {AsyncSeriesBailHook<[ResolveData], false | void>} */
3743
afterResolve: AsyncSeriesBailHook<[ResolveData], false | void>;
44+
/** @type {AsyncSeriesBailHook<[ResolveData["createData"], ResolveData], Module | void>} */
3845
createModule: AsyncSeriesBailHook<
39-
[
40-
Partial<NormalModuleCreateData & { settings: ModuleSettings }>,
41-
ResolveData,
42-
],
43-
void | Module
46+
[ResolveData['createData'], ResolveData],
47+
Module | void
4448
>;
49+
/** @type {SyncWaterfallHook<[Module, ResolveData["createData"], ResolveData], Module>} */
4550
module: SyncWaterfallHook<
46-
[
47-
Module,
48-
Partial<NormalModuleCreateData & { settings: ModuleSettings }>,
49-
ResolveData,
50-
],
51+
[Module, ResolveData['createData'], ResolveData],
5152
Module
5253
>;
54+
/** @type {HookMap<SyncBailHook<[ParserOptions], Parser>>} */
5355
createParser: HookMap<SyncBailHook<[ParserOptions], Parser>>;
54-
parser: HookMap<SyncBailHook<[any, ParserOptions], void>>;
56+
/** @type {HookMap<SyncBailHook<[TODO, ParserOptions], void>>} */
57+
parser: HookMap<SyncBailHook<[TODO, ParserOptions], void>>;
58+
/** @type {HookMap<SyncBailHook<[GeneratorOptions], Generator>>} */
5559
createGenerator: HookMap<SyncBailHook<[GeneratorOptions], Generator>>;
56-
generator: HookMap<SyncBailHook<[any, GeneratorOptions], void>>;
57-
createModuleClass: HookMap<SyncBailHook<[any, ResolveData], Module>>;
60+
/** @type {HookMap<SyncBailHook<[TODO, GeneratorOptions], void>>} */
61+
generator: HookMap<SyncBailHook<[TODO, GeneratorOptions], void>>;
62+
/** @type {HookMap<SyncBailHook<[TODO, ResolveData], Module>>} */
63+
createModuleClass: HookMap<SyncBailHook<[TODO, ResolveData], Module>>;
5864
}>;
59-
resolverFactory: ResolverFactory;
60-
ruleSet: RuleSet;
65+
resolverFactory: import('./ResolverFactory');
66+
ruleSet: RuleSetCompiler.RuleSet;
6167
context: string;
62-
fs: InputFileSystem;
68+
fs: import('./util/fs').InputFileSystem;
69+
_globalParserOptions: import('../declarations/WebpackOptions').ParserOptionsByModuleType;
70+
_globalGeneratorOptions: import('../declarations/WebpackOptions').GeneratorOptionsByModuleType;
71+
/** @type {Map<string, WeakMap<object, Parser>>} */
6372
parserCache: Map<string, WeakMap<object, Parser>>;
73+
/** @type {Map<string, WeakMap<object, Generator>>} */
6474
generatorCache: Map<string, WeakMap<object, Generator>>;
75+
/** @type {Set<Module>} */
76+
_restoredUnsafeCacheEntries: Set<Module>;
77+
_parseResourceWithoutFragment: import('./util/identifier').BindCacheResultFn<
78+
import('./util/identifier').ParsedResourceWithoutFragment
79+
>;
6580
cleanupForCache(): void;
81+
/**
82+
* @param {ModuleFactoryCreateDataContextInfo} contextInfo context info
83+
* @param {string} context context
84+
* @param {string} unresolvedResource unresolved resource
85+
* @param {ResolverWithOptions} resolver resolver
86+
* @param {ResolveContext} resolveContext resolver context
87+
* @param {(err: null | Error, res?: string | false, req?: ResolveRequest) => void} callback callback
88+
*/
6689
resolveResource(
6790
contextInfo: ModuleFactoryCreateDataContextInfo,
6891
context: string,
@@ -75,34 +98,85 @@ declare class NormalModuleFactory extends ModuleFactory {
7598
req?: ResolveRequest,
7699
) => void,
77100
): void;
101+
/**
102+
* @param {Error} error error
103+
* @param {ModuleFactoryCreateDataContextInfo} contextInfo context info
104+
* @param {string} context context
105+
* @param {string} unresolvedResource unresolved resource
106+
* @param {ResolverWithOptions} resolver resolver
107+
* @param {ResolveContext} resolveContext resolver context
108+
* @param {Callback<string[]>} callback callback
109+
* @private
110+
*/
111+
private _resolveResourceErrorHints;
112+
/**
113+
* @param {ModuleFactoryCreateDataContextInfo} contextInfo context info
114+
* @param {string} context context
115+
* @param {LoaderItem[]} array array
116+
* @param {ResolverWithOptions} resolver resolver
117+
* @param {ResolveContext} resolveContext resolve context
118+
* @param {Callback<LoaderItem[]>} callback callback
119+
* @returns {void} result
120+
*/
78121
resolveRequestArray(
79122
contextInfo: ModuleFactoryCreateDataContextInfo,
80123
context: string,
81124
array: LoaderItem[],
82125
resolver: ResolverWithOptions,
83126
resolveContext: ResolveContext,
84-
callback: CallbackNormalModuleFactory<LoaderItem[]>,
127+
callback: Callback<LoaderItem[]>,
85128
): void;
129+
/**
130+
* @param {string} type type
131+
* @param {ParserOptions} parserOptions parser options
132+
* @returns {Parser} parser
133+
*/
86134
getParser(type: string, parserOptions?: ParserOptions): Parser;
135+
/**
136+
* @param {string} type type
137+
* @param {ParserOptions} parserOptions parser options
138+
* @returns {Parser} parser
139+
*/
87140
createParser(type: string, parserOptions?: ParserOptions): Parser;
141+
/**
142+
* @param {string} type type of generator
143+
* @param {GeneratorOptions} generatorOptions generator options
144+
* @returns {Generator} generator
145+
*/
88146
getGenerator(type: string, generatorOptions?: GeneratorOptions): Generator;
147+
/**
148+
* @param {string} type type of generator
149+
* @param {GeneratorOptions} generatorOptions generator options
150+
* @returns {Generator} generator
151+
*/
89152
createGenerator(type: string, generatorOptions?: GeneratorOptions): Generator;
153+
/**
154+
* @param {Parameters<ResolverFactory["get"]>[0]} type type of resolver
155+
* @param {Parameters<ResolverFactory["get"]>[1]=} resolveOptions options
156+
* @returns {ReturnType<ResolverFactory["get"]>} the resolver
157+
*/
90158
getResolver(
91-
type: string,
92-
resolveOptions?: ResolveOptionsWithDependencyType,
93-
): ResolverWithOptions;
159+
type: Parameters<ResolverFactory['get']>[0],
160+
resolveOptions?: Parameters<ResolverFactory['get']>[1] | undefined,
161+
): ReturnType<ResolverFactory['get']>;
94162
}
95-
96163
declare namespace NormalModuleFactory {
97164
export {
98165
ModuleOptions,
99166
RuleSetRule,
100167
Generator,
101168
ModuleFactoryCreateData,
169+
ModuleFactoryCreateDataContextInfo,
102170
ModuleFactoryResult,
171+
GeneratorOptions,
172+
LoaderItem,
103173
NormalModuleCreateData,
174+
ParserOptions,
104175
Parser,
105176
ResolverFactory,
177+
ResolveContext,
178+
ResolveRequest,
179+
ResolverWithOptions,
106180
ModuleDependency,
107181
InputFileSystem,
108182
ModuleSettings,
@@ -111,65 +185,72 @@ declare namespace NormalModuleFactory {
111185
ResourceData,
112186
ResourceDataWithData,
113187
ParsedLoaderRequest,
188+
Callback,
114189
};
115190
}
116191
import ModuleFactory = require('./ModuleFactory');
117192
import { AsyncSeriesBailHook } from 'tapable';
118-
type ResolveData = {
119-
contextInfo: ModuleFactoryCreateData['contextInfo'];
120-
resolveOptions: ModuleFactoryCreateData['resolveOptions'];
121-
context: string;
122-
request: string;
123-
assertions: Record<string, any> | undefined;
124-
dependencies: ModuleDependency[];
125-
dependencyType: string;
126-
createData: CreateData;
127-
fileDependencies: LazySet<string>;
128-
missingDependencies: LazySet<string>;
129-
contextDependencies: LazySet<string>;
130-
/**
131-
* allow to use the unsafe cache
132-
*/
133-
cacheable: boolean;
134-
};
135193
import Module = require('./Module');
136194
import { HookMap } from 'tapable';
137-
type ResourceDataWithData = ResourceData & {
138-
data: Record<string, any>;
139-
};
140-
import NormalModule = require('./NormalModule');
141-
type ModuleSettings = Pick<
142-
RuleSetRule,
143-
'type' | 'sideEffects' | 'parser' | 'generator' | 'resolve' | 'layer'
144-
>;
145195
import { SyncWaterfallHook } from 'tapable';
146196
import { SyncBailHook } from 'tapable';
147-
import { SyncHook } from 'tapable';
148-
import RuleSetCompiler from './rules/RuleSetCompiler';
149-
type Generator = import('./Generator');
150-
type Parser = import('./Parser');
151-
type InputFileSystem = import('./util/fs').InputFileSystem;
152-
type ResolverFactory = import('./ResolverFactory');
197+
import RuleSetCompiler = require('./rules/RuleSetCompiler');
153198
type ModuleOptions =
154199
import('../declarations/WebpackOptions').ModuleOptionsNormalized;
155200
type RuleSetRule = import('../declarations/WebpackOptions').RuleSetRule;
201+
type Generator = import('./Generator');
156202
type ModuleFactoryCreateData =
157203
import('./ModuleFactory').ModuleFactoryCreateData;
204+
type ModuleFactoryCreateDataContextInfo =
205+
import('./ModuleFactory').ModuleFactoryCreateDataContextInfo;
158206
type ModuleFactoryResult = import('./ModuleFactory').ModuleFactoryResult;
207+
type GeneratorOptions = import('./NormalModule').GeneratorOptions;
208+
type LoaderItem = import('./NormalModule').LoaderItem;
159209
type NormalModuleCreateData = import('./NormalModule').NormalModuleCreateData;
210+
type ParserOptions = import('./NormalModule').ParserOptions;
211+
type Parser = import('./Parser');
212+
type ResolverFactory = import('./ResolverFactory');
213+
type ResolveContext = import('./ResolverFactory').ResolveContext;
214+
type ResolveRequest = import('./ResolverFactory').ResolveRequest;
215+
type ResolverWithOptions = import('./ResolverFactory').ResolverWithOptions;
160216
type ModuleDependency = import('./dependencies/ModuleDependency');
217+
type InputFileSystem = import('./util/fs').InputFileSystem;
218+
type ModuleSettings = Pick<
219+
RuleSetRule,
220+
'type' | 'sideEffects' | 'parser' | 'generator' | 'resolve' | 'layer'
221+
>;
161222
type CreateData = Partial<
162223
NormalModuleCreateData & {
163224
settings: ModuleSettings;
164225
}
165226
>;
227+
type ResolveData = {
228+
contextInfo: ModuleFactoryCreateData['contextInfo'];
229+
resolveOptions: ModuleFactoryCreateData['resolveOptions'];
230+
context: string;
231+
request: string;
232+
assertions: Record<string, any> | undefined;
233+
dependencies: ModuleDependency[];
234+
dependencyType: string;
235+
createData: CreateData;
236+
fileDependencies: LazySet<string>;
237+
missingDependencies: LazySet<string>;
238+
contextDependencies: LazySet<string>;
239+
/**
240+
* allow to use the unsafe cache
241+
*/
242+
cacheable: boolean;
243+
};
166244
type ResourceData = {
167245
resource: string;
168-
path: string;
169-
query: string;
170-
fragment: string;
246+
path?: string | undefined;
247+
query?: string | undefined;
248+
fragment?: string | undefined;
171249
context?: string | undefined;
172250
};
251+
type ResourceDataWithData = ResourceData & {
252+
data: Record<string, any>;
253+
};
173254
type ParsedLoaderRequest = {
174255
/**
175256
* loader
@@ -180,4 +261,8 @@ type ParsedLoaderRequest = {
180261
*/
181262
options: string | undefined;
182263
};
264+
type Callback<T> = (
265+
err?: (Error | null) | undefined,
266+
stats?: T | undefined,
267+
) => void;
183268
import LazySet = require('./util/LazySet');

0 commit comments

Comments
 (0)