fix typing errors

This commit is contained in:
Tobias Koppers 2020-06-15 16:47:18 +02:00
parent ad56d8abb1
commit 92a3079f29
3 changed files with 9 additions and 7 deletions

View File

@ -33,7 +33,7 @@ const { versionToString } = require("./utils");
* @property {string=} importResolved resolved fallback request
* @property {string} shareKey global share key
* @property {string} shareScope share scope
* @property {(number|string)[]} requiredVersion version requirement
* @property {(number|string)[] | undefined} requiredVersion version requirement
* @property {string} packageName package name to determine required version automatically
* @property {boolean} strictVersion don't use shared version even if version isn't valid
* @property {boolean} singleton use single global version
@ -65,9 +65,9 @@ class ConsumeSharedModule extends Module {
singleton,
eager
} = this.options;
return `consume-shared-module|${shareScope}|${shareKey}|${versionToString(
requiredVersion
)}|${strictVersion}|${importResolved}|${singleton}|${eager}`;
return `consume-shared-module|${shareScope}|${shareKey}|${
requiredVersion && versionToString(requiredVersion)
}|${strictVersion}|${importResolved}|${singleton}|${eager}`;
}
/**

View File

@ -41,12 +41,12 @@ class ConsumeSharedPlugin {
validateOptions(schema, options, { name: "Consumes Shared Plugin" });
}
/** @type {[string, ConsumeOptions][]} */
/** @type {[string, ConsumesConfig][]} */
this._consumes = parseOptions(
options.consumes,
(item, key) => {
if (Array.isArray(item)) throw new Error("Unexpected array in options");
/** @type {ConsumeOptions} */
/** @type {ConsumesConfig} */
let result =
item === key || !isRequiredVersion(item)
? // item is a request/key
@ -66,7 +66,8 @@ class ConsumeSharedPlugin {
import: key,
shareScope: options.shareScope || "default",
shareKey: key,
requiredVersion: parseRequiredVersion(item),
requiredVersion:
typeof item === "string" ? parseRequiredVersion(item) : item,
strictVersion: true,
packageName: undefined,
singleton: false,

View File

@ -1,3 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
const { ModuleFederationPlugin } = require("../../../../").container;
/** @type {import("../../../../").Configuration} */