mirror of https://github.com/webpack/webpack.git
refactor(types): more
This commit is contained in:
parent
e381884115
commit
a911bd9fa1
|
@ -23,7 +23,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
|
||||||
/**
|
/**
|
||||||
* @param {ChunkGroupOptions & { entryOptions?: EntryOptions }} groupOptions options for the group
|
* @param {ChunkGroupOptions & { entryOptions?: EntryOptions }} groupOptions options for the group
|
||||||
* @param {DependencyLocation=} loc the line of code
|
* @param {DependencyLocation=} loc the line of code
|
||||||
* @param {string=} request the request
|
* @param {(string | null)=} request the request
|
||||||
*/
|
*/
|
||||||
constructor(groupOptions, loc, request) {
|
constructor(groupOptions, loc, request) {
|
||||||
super();
|
super();
|
||||||
|
|
|
@ -58,7 +58,10 @@ class DllEntryPlugin {
|
||||||
this.options.name
|
this.options.name
|
||||||
),
|
),
|
||||||
this.options,
|
this.options,
|
||||||
callback
|
error => {
|
||||||
|
if (error) return callback(error);
|
||||||
|
callback();
|
||||||
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ class HarmonyTopLevelThisParserPlugin {
|
||||||
);
|
);
|
||||||
dep.loc = /** @type {DependencyLocation} */ (node.loc);
|
dep.loc = /** @type {DependencyLocation} */ (node.loc);
|
||||||
parser.state.module.addPresentationalDependency(dep);
|
parser.state.module.addPresentationalDependency(dep);
|
||||||
return this;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ const ModuleDependency = require("./ModuleDependency");
|
||||||
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
||||||
/** @typedef {import("../DependencyTemplates")} DependencyTemplates */
|
/** @typedef {import("../DependencyTemplates")} DependencyTemplates */
|
||||||
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
||||||
|
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
|
||||||
/** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
|
/** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
|
||||||
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
||||||
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
||||||
|
@ -127,7 +128,9 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template {
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
const dep = /** @type {ProvidedDependency} */ (dependency);
|
const dep = /** @type {ProvidedDependency} */ (dependency);
|
||||||
const connection = moduleGraph.getConnection(dep);
|
const connection =
|
||||||
|
/** @type {ModuleGraphConnection} */
|
||||||
|
(moduleGraph.getConnection(dep));
|
||||||
const exportsInfo = moduleGraph.getExportsInfo(connection.module);
|
const exportsInfo = moduleGraph.getExportsInfo(connection.module);
|
||||||
const usedName = exportsInfo.getUsedName(dep.ids, runtime);
|
const usedName = exportsInfo.getUsedName(dep.ids, runtime);
|
||||||
initFragments.push(
|
initFragments.push(
|
||||||
|
|
|
@ -7,7 +7,15 @@
|
||||||
|
|
||||||
const RequireContextDependency = require("./RequireContextDependency");
|
const RequireContextDependency = require("./RequireContextDependency");
|
||||||
|
|
||||||
|
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
|
||||||
|
/** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */
|
||||||
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
||||||
|
|
||||||
module.exports = class RequireContextDependencyParserPlugin {
|
module.exports = class RequireContextDependencyParserPlugin {
|
||||||
|
/**
|
||||||
|
* @param {JavascriptParser} parser the parser
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
apply(parser) {
|
apply(parser) {
|
||||||
parser.hooks.call
|
parser.hooks.call
|
||||||
.for("require.context")
|
.for("require.context")
|
||||||
|
@ -19,19 +27,19 @@ module.exports = class RequireContextDependencyParserPlugin {
|
||||||
case 4: {
|
case 4: {
|
||||||
const modeExpr = parser.evaluateExpression(expr.arguments[3]);
|
const modeExpr = parser.evaluateExpression(expr.arguments[3]);
|
||||||
if (!modeExpr.isString()) return;
|
if (!modeExpr.isString()) return;
|
||||||
mode = modeExpr.string;
|
mode = /** @type {string} */ (modeExpr.string);
|
||||||
}
|
}
|
||||||
// falls through
|
// falls through
|
||||||
case 3: {
|
case 3: {
|
||||||
const regExpExpr = parser.evaluateExpression(expr.arguments[2]);
|
const regExpExpr = parser.evaluateExpression(expr.arguments[2]);
|
||||||
if (!regExpExpr.isRegExp()) return;
|
if (!regExpExpr.isRegExp()) return;
|
||||||
regExp = regExpExpr.regExp;
|
regExp = /** @type {RegExp} */ (regExpExpr.regExp);
|
||||||
}
|
}
|
||||||
// falls through
|
// falls through
|
||||||
case 2: {
|
case 2: {
|
||||||
const recursiveExpr = parser.evaluateExpression(expr.arguments[1]);
|
const recursiveExpr = parser.evaluateExpression(expr.arguments[1]);
|
||||||
if (!recursiveExpr.isBoolean()) return;
|
if (!recursiveExpr.isBoolean()) return;
|
||||||
recursive = recursiveExpr.bool;
|
recursive = /** @type {boolean} */ (recursiveExpr.bool);
|
||||||
}
|
}
|
||||||
// falls through
|
// falls through
|
||||||
case 1: {
|
case 1: {
|
||||||
|
@ -45,9 +53,9 @@ module.exports = class RequireContextDependencyParserPlugin {
|
||||||
mode,
|
mode,
|
||||||
category: "commonjs"
|
category: "commonjs"
|
||||||
},
|
},
|
||||||
expr.range
|
/** @type {Range} */ (expr.range)
|
||||||
);
|
);
|
||||||
dep.loc = expr.loc;
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
||||||
dep.optional = !!parser.scope.inTry;
|
dep.optional = !!parser.scope.inTry;
|
||||||
parser.state.current.addDependency(dep);
|
parser.state.current.addDependency(dep);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,10 +8,13 @@
|
||||||
const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
|
const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
|
|
||||||
|
/** @typedef {import("../ChunkGroup").ChunkGroupOptions} ChunkGroupOptions */
|
||||||
|
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
|
||||||
|
|
||||||
class RequireEnsureDependenciesBlock extends AsyncDependenciesBlock {
|
class RequireEnsureDependenciesBlock extends AsyncDependenciesBlock {
|
||||||
/**
|
/**
|
||||||
* @param {TODO} chunkName chunk name
|
* @param {ChunkGroupOptions & { entryOptions?: TODO }} chunkName chunk name
|
||||||
* @param {TODO} loc location info
|
* @param {DependencyLocation} loc location info
|
||||||
*/
|
*/
|
||||||
constructor(chunkName, loc) {
|
constructor(chunkName, loc) {
|
||||||
super(chunkName, loc, null);
|
super(chunkName, loc, null);
|
||||||
|
|
|
@ -10,6 +10,9 @@ const RequireEnsureDependency = require("./RequireEnsureDependency");
|
||||||
const RequireEnsureItemDependency = require("./RequireEnsureItemDependency");
|
const RequireEnsureItemDependency = require("./RequireEnsureItemDependency");
|
||||||
const getFunctionExpression = require("./getFunctionExpression");
|
const getFunctionExpression = require("./getFunctionExpression");
|
||||||
|
|
||||||
|
/** @typedef {import("../ChunkGroup").ChunkGroupOptions} ChunkGroupOptions */
|
||||||
|
/** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */
|
||||||
|
|
||||||
module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
||||||
apply(parser) {
|
apply(parser) {
|
||||||
parser.hooks.call
|
parser.hooks.call
|
||||||
|
@ -57,7 +60,9 @@ module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
const depBlock = new RequireEnsureDependenciesBlock(
|
const depBlock = new RequireEnsureDependenciesBlock(
|
||||||
chunkName,
|
/** @type {ChunkGroupOptions & { entryOptions?: TODO }} */ (
|
||||||
|
chunkName
|
||||||
|
),
|
||||||
expr.loc
|
expr.loc
|
||||||
);
|
);
|
||||||
const errorCallbackExists =
|
const errorCallbackExists =
|
||||||
|
|
|
@ -35,6 +35,10 @@ class RequireHeaderDependency extends NullDependency {
|
||||||
super.serialize(context);
|
super.serialize(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ObjectDeserializerContext} context context
|
||||||
|
* @returns {RequireHeaderDependency} RequireHeaderDependency
|
||||||
|
*/
|
||||||
static deserialize(context) {
|
static deserialize(context) {
|
||||||
const obj = new RequireHeaderDependency(context.read());
|
const obj = new RequireHeaderDependency(context.read());
|
||||||
obj.deserialize(context);
|
obj.deserialize(context);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"checkJs": true,
|
"checkJs": true,
|
||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"strict": true,
|
"strict": false,
|
||||||
"noImplicitThis": true,
|
"noImplicitThis": true,
|
||||||
"alwaysStrict": true,
|
"alwaysStrict": true,
|
||||||
"types": ["node"],
|
"types": ["node"],
|
||||||
|
|
|
@ -355,13 +355,13 @@ declare class AsyncDependenciesBlock extends DependenciesBlock {
|
||||||
entryOptions?: EntryOptions;
|
entryOptions?: EntryOptions;
|
||||||
},
|
},
|
||||||
loc?: SyntheticDependencyLocation | RealDependencyLocation,
|
loc?: SyntheticDependencyLocation | RealDependencyLocation,
|
||||||
request?: string
|
request?: null | string
|
||||||
);
|
);
|
||||||
groupOptions: RawChunkGroupOptions & { name?: string } & {
|
groupOptions: RawChunkGroupOptions & { name?: string } & {
|
||||||
entryOptions?: EntryOptions;
|
entryOptions?: EntryOptions;
|
||||||
};
|
};
|
||||||
loc?: SyntheticDependencyLocation | RealDependencyLocation;
|
loc?: SyntheticDependencyLocation | RealDependencyLocation;
|
||||||
request?: string;
|
request?: null | string;
|
||||||
chunkName?: string;
|
chunkName?: string;
|
||||||
module: any;
|
module: any;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue