refactor(types): more

This commit is contained in:
alexander.akait 2023-06-16 21:49:43 +03:00
parent e381884115
commit a911bd9fa1
10 changed files with 41 additions and 15 deletions

View File

@ -23,7 +23,7 @@ class AsyncDependenciesBlock extends DependenciesBlock {
/**
* @param {ChunkGroupOptions & { entryOptions?: EntryOptions }} groupOptions options for the group
* @param {DependencyLocation=} loc the line of code
* @param {string=} request the request
* @param {(string | null)=} request the request
*/
constructor(groupOptions, loc, request) {
super();

View File

@ -58,7 +58,10 @@ class DllEntryPlugin {
this.options.name
),
this.options,
callback
error => {
if (error) return callback(error);
callback();
}
);
});
}

View File

@ -30,7 +30,7 @@ class HarmonyTopLevelThisParserPlugin {
);
dep.loc = /** @type {DependencyLocation} */ (node.loc);
parser.state.module.addPresentationalDependency(dep);
return this;
return true;
}
});
}

View File

@ -17,6 +17,7 @@ const ModuleDependency = require("./ModuleDependency");
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
/** @typedef {import("../DependencyTemplates")} DependencyTemplates */
/** @typedef {import("../ModuleGraph")} ModuleGraph */
/** @typedef {import("../ModuleGraphConnection")} ModuleGraphConnection */
/** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
@ -127,7 +128,9 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template {
}
) {
const dep = /** @type {ProvidedDependency} */ (dependency);
const connection = moduleGraph.getConnection(dep);
const connection =
/** @type {ModuleGraphConnection} */
(moduleGraph.getConnection(dep));
const exportsInfo = moduleGraph.getExportsInfo(connection.module);
const usedName = exportsInfo.getUsedName(dep.ids, runtime);
initFragments.push(

View File

@ -7,7 +7,15 @@
const RequireContextDependency = require("./RequireContextDependency");
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
/** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
module.exports = class RequireContextDependencyParserPlugin {
/**
* @param {JavascriptParser} parser the parser
* @returns {void}
*/
apply(parser) {
parser.hooks.call
.for("require.context")
@ -19,19 +27,19 @@ module.exports = class RequireContextDependencyParserPlugin {
case 4: {
const modeExpr = parser.evaluateExpression(expr.arguments[3]);
if (!modeExpr.isString()) return;
mode = modeExpr.string;
mode = /** @type {string} */ (modeExpr.string);
}
// falls through
case 3: {
const regExpExpr = parser.evaluateExpression(expr.arguments[2]);
if (!regExpExpr.isRegExp()) return;
regExp = regExpExpr.regExp;
regExp = /** @type {RegExp} */ (regExpExpr.regExp);
}
// falls through
case 2: {
const recursiveExpr = parser.evaluateExpression(expr.arguments[1]);
if (!recursiveExpr.isBoolean()) return;
recursive = recursiveExpr.bool;
recursive = /** @type {boolean} */ (recursiveExpr.bool);
}
// falls through
case 1: {
@ -45,9 +53,9 @@ module.exports = class RequireContextDependencyParserPlugin {
mode,
category: "commonjs"
},
expr.range
/** @type {Range} */ (expr.range)
);
dep.loc = expr.loc;
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
dep.optional = !!parser.scope.inTry;
parser.state.current.addDependency(dep);
return true;

View File

@ -8,10 +8,13 @@
const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
const makeSerializable = require("../util/makeSerializable");
/** @typedef {import("../ChunkGroup").ChunkGroupOptions} ChunkGroupOptions */
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
class RequireEnsureDependenciesBlock extends AsyncDependenciesBlock {
/**
* @param {TODO} chunkName chunk name
* @param {TODO} loc location info
* @param {ChunkGroupOptions & { entryOptions?: TODO }} chunkName chunk name
* @param {DependencyLocation} loc location info
*/
constructor(chunkName, loc) {
super(chunkName, loc, null);

View File

@ -10,6 +10,9 @@ const RequireEnsureDependency = require("./RequireEnsureDependency");
const RequireEnsureItemDependency = require("./RequireEnsureItemDependency");
const getFunctionExpression = require("./getFunctionExpression");
/** @typedef {import("../ChunkGroup").ChunkGroupOptions} ChunkGroupOptions */
/** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */
module.exports = class RequireEnsureDependenciesBlockParserPlugin {
apply(parser) {
parser.hooks.call
@ -57,7 +60,9 @@ module.exports = class RequireEnsureDependenciesBlockParserPlugin {
}
const depBlock = new RequireEnsureDependenciesBlock(
chunkName,
/** @type {ChunkGroupOptions & { entryOptions?: TODO }} */ (
chunkName
),
expr.loc
);
const errorCallbackExists =

View File

@ -35,6 +35,10 @@ class RequireHeaderDependency extends NullDependency {
super.serialize(context);
}
/**
* @param {ObjectDeserializerContext} context context
* @returns {RequireHeaderDependency} RequireHeaderDependency
*/
static deserialize(context) {
const obj = new RequireHeaderDependency(context.read());
obj.deserialize(context);

View File

@ -6,7 +6,7 @@
"allowJs": true,
"checkJs": true,
"noEmit": true,
"strict": true,
"strict": false,
"noImplicitThis": true,
"alwaysStrict": true,
"types": ["node"],

4
types.d.ts vendored
View File

@ -355,13 +355,13 @@ declare class AsyncDependenciesBlock extends DependenciesBlock {
entryOptions?: EntryOptions;
},
loc?: SyntheticDependencyLocation | RealDependencyLocation,
request?: string
request?: null | string
);
groupOptions: RawChunkGroupOptions & { name?: string } & {
entryOptions?: EntryOptions;
};
loc?: SyntheticDependencyLocation | RealDependencyLocation;
request?: string;
request?: null | string;
chunkName?: string;
module: any;
}