mirror of https://github.com/webpack/webpack.git
Merge pull request #11060 from webpack/rename/module-federation
rename module federation classes for be more specific
This commit is contained in:
commit
d3eb0d95aa
|
@ -34,6 +34,10 @@ class ContainerEntryDependency extends Dependency {
|
||||||
get type() {
|
get type() {
|
||||||
return "container entry";
|
return "container entry";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get category() {
|
||||||
|
return "esm";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
makeSerializable(
|
makeSerializable(
|
||||||
|
|
|
@ -22,7 +22,11 @@ class FallbackDependency extends Dependency {
|
||||||
}
|
}
|
||||||
|
|
||||||
get type() {
|
get type() {
|
||||||
return "fallbacks";
|
return "fallback";
|
||||||
|
}
|
||||||
|
|
||||||
|
get category() {
|
||||||
|
return "esm";
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(context) {
|
serialize(context) {
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
const ModuleDependency = require("../dependencies/ModuleDependency");
|
const ModuleDependency = require("../dependencies/ModuleDependency");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
|
|
||||||
class ConsumeFallbackDependency extends ModuleDependency {
|
class ConsumeSharedFallbackDependency extends ModuleDependency {
|
||||||
constructor(request) {
|
constructor(request) {
|
||||||
super(request);
|
super(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
get type() {
|
get type() {
|
||||||
return "consume fallback";
|
return "consume shared fallback";
|
||||||
}
|
}
|
||||||
|
|
||||||
get category() {
|
get category() {
|
||||||
|
@ -23,8 +23,8 @@ class ConsumeFallbackDependency extends ModuleDependency {
|
||||||
}
|
}
|
||||||
|
|
||||||
makeSerializable(
|
makeSerializable(
|
||||||
ConsumeFallbackDependency,
|
ConsumeSharedFallbackDependency,
|
||||||
"webpack/lib/sharing/ConsumeFallbackDependency"
|
"webpack/lib/sharing/ConsumeSharedFallbackDependency"
|
||||||
);
|
);
|
||||||
|
|
||||||
module.exports = ConsumeFallbackDependency;
|
module.exports = ConsumeSharedFallbackDependency;
|
|
@ -10,7 +10,7 @@ const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
|
||||||
const Module = require("../Module");
|
const Module = require("../Module");
|
||||||
const RuntimeGlobals = require("../RuntimeGlobals");
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
const ConsumeFallbackDependency = require("./ConsumeFallbackDependency");
|
const ConsumeSharedFallbackDependency = require("./ConsumeSharedFallbackDependency");
|
||||||
const { versionToString } = require("./utils");
|
const { versionToString } = require("./utils");
|
||||||
|
|
||||||
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
||||||
|
@ -125,7 +125,7 @@ class ConsumeSharedModule extends Module {
|
||||||
this.buildMeta = {};
|
this.buildMeta = {};
|
||||||
this.buildInfo = {};
|
this.buildInfo = {};
|
||||||
if (this.options.import) {
|
if (this.options.import) {
|
||||||
const dep = new ConsumeFallbackDependency(this.options.import);
|
const dep = new ConsumeSharedFallbackDependency(this.options.import);
|
||||||
if (this.options.eager) {
|
if (this.options.eager) {
|
||||||
this.addDependency(dep);
|
this.addDependency(dep);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -12,10 +12,10 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
||||||
const WebpackError = require("../WebpackError");
|
const WebpackError = require("../WebpackError");
|
||||||
const { parseOptions } = require("../container/options");
|
const { parseOptions } = require("../container/options");
|
||||||
const LazySet = require("../util/LazySet");
|
const LazySet = require("../util/LazySet");
|
||||||
const ConsumeFallbackDependency = require("./ConsumeFallbackDependency");
|
const ConsumeSharedFallbackDependency = require("./ConsumeSharedFallbackDependency");
|
||||||
const ConsumeSharedModule = require("./ConsumeSharedModule");
|
const ConsumeSharedModule = require("./ConsumeSharedModule");
|
||||||
const ConsumeSharedRuntimeModule = require("./ConsumeSharedRuntimeModule");
|
const ConsumeSharedRuntimeModule = require("./ConsumeSharedRuntimeModule");
|
||||||
const ProvidedDependency = require("./ProvidedDependency");
|
const ProvideForSharedDependency = require("./ProvideForSharedDependency");
|
||||||
const { resolveMatchedConfigs } = require("./resolveMatchedConfigs");
|
const { resolveMatchedConfigs } = require("./resolveMatchedConfigs");
|
||||||
const {
|
const {
|
||||||
parseRequiredVersion,
|
parseRequiredVersion,
|
||||||
|
@ -106,7 +106,7 @@ class ConsumeSharedPlugin {
|
||||||
PLUGIN_NAME,
|
PLUGIN_NAME,
|
||||||
(compilation, { normalModuleFactory }) => {
|
(compilation, { normalModuleFactory }) => {
|
||||||
compilation.dependencyFactories.set(
|
compilation.dependencyFactories.set(
|
||||||
ConsumeFallbackDependency,
|
ConsumeSharedFallbackDependency,
|
||||||
normalModuleFactory
|
normalModuleFactory
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -256,8 +256,8 @@ class ConsumeSharedPlugin {
|
||||||
// wait for resolving to be complete
|
// wait for resolving to be complete
|
||||||
promise.then(() => {
|
promise.then(() => {
|
||||||
if (
|
if (
|
||||||
dependencies[0] instanceof ConsumeFallbackDependency ||
|
dependencies[0] instanceof ConsumeSharedFallbackDependency ||
|
||||||
dependencies[0] instanceof ProvidedDependency
|
dependencies[0] instanceof ProvideForSharedDependency
|
||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -283,8 +283,8 @@ class ConsumeSharedPlugin {
|
||||||
PLUGIN_NAME,
|
PLUGIN_NAME,
|
||||||
({ resource }, { context, dependencies }) => {
|
({ resource }, { context, dependencies }) => {
|
||||||
if (
|
if (
|
||||||
dependencies[0] instanceof ConsumeFallbackDependency ||
|
dependencies[0] instanceof ConsumeSharedFallbackDependency ||
|
||||||
dependencies[0] instanceof ProvidedDependency
|
dependencies[0] instanceof ProvideForSharedDependency
|
||||||
) {
|
) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
const ModuleDependency = require("../dependencies/ModuleDependency");
|
const ModuleDependency = require("../dependencies/ModuleDependency");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
|
|
||||||
class ProvidedDependency extends ModuleDependency {
|
class ProvideForSharedDependency extends ModuleDependency {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {string} request request string
|
* @param {string} request request string
|
||||||
|
@ -18,7 +18,7 @@ class ProvidedDependency extends ModuleDependency {
|
||||||
}
|
}
|
||||||
|
|
||||||
get type() {
|
get type() {
|
||||||
return "provide shared";
|
return "provide module for shared";
|
||||||
}
|
}
|
||||||
|
|
||||||
get category() {
|
get category() {
|
||||||
|
@ -26,6 +26,9 @@ class ProvidedDependency extends ModuleDependency {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
makeSerializable(ProvidedDependency, "webpack/lib/sharing/ProvidedDependency");
|
makeSerializable(
|
||||||
|
ProvideForSharedDependency,
|
||||||
|
"webpack/lib/sharing/ProvideForSharedDependency"
|
||||||
|
);
|
||||||
|
|
||||||
module.exports = ProvidedDependency;
|
module.exports = ProvideForSharedDependency;
|
|
@ -8,7 +8,7 @@
|
||||||
const Dependency = require("../Dependency");
|
const Dependency = require("../Dependency");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
|
|
||||||
class ProvideDependency extends Dependency {
|
class ProvideSharedDependency extends Dependency {
|
||||||
constructor(shareScope, name, version, request, eager) {
|
constructor(shareScope, name, version, request, eager) {
|
||||||
super();
|
super();
|
||||||
this.shareScope = shareScope;
|
this.shareScope = shareScope;
|
||||||
|
@ -19,7 +19,7 @@ class ProvideDependency extends Dependency {
|
||||||
}
|
}
|
||||||
|
|
||||||
get type() {
|
get type() {
|
||||||
return "provide module";
|
return "provide shared module";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,13 +42,22 @@ class ProvideDependency extends Dependency {
|
||||||
|
|
||||||
static deserialize(context) {
|
static deserialize(context) {
|
||||||
const { read } = context;
|
const { read } = context;
|
||||||
const obj = new ProvideDependency(read(), read(), read(), read(), read());
|
const obj = new ProvideSharedDependency(
|
||||||
|
read(),
|
||||||
|
read(),
|
||||||
|
read(),
|
||||||
|
read(),
|
||||||
|
read()
|
||||||
|
);
|
||||||
this.shareScope = context.read();
|
this.shareScope = context.read();
|
||||||
obj.deserialize(context);
|
obj.deserialize(context);
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
makeSerializable(ProvideDependency, "webpack/lib/sharing/ProvideDependency");
|
makeSerializable(
|
||||||
|
ProvideSharedDependency,
|
||||||
|
"webpack/lib/sharing/ProvideSharedDependency"
|
||||||
|
);
|
||||||
|
|
||||||
module.exports = ProvideDependency;
|
module.exports = ProvideSharedDependency;
|
|
@ -9,7 +9,7 @@ const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
|
||||||
const Module = require("../Module");
|
const Module = require("../Module");
|
||||||
const RuntimeGlobals = require("../RuntimeGlobals");
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
const ProvidedDependency = require("./ProvidedDependency");
|
const ProvideForSharedDependency = require("./ProvideForSharedDependency");
|
||||||
|
|
||||||
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
||||||
/** @typedef {import("../Chunk")} Chunk */
|
/** @typedef {import("../Chunk")} Chunk */
|
||||||
|
@ -28,7 +28,7 @@ const ProvidedDependency = require("./ProvidedDependency");
|
||||||
|
|
||||||
const TYPES = new Set(["share-init"]);
|
const TYPES = new Set(["share-init"]);
|
||||||
|
|
||||||
class ProvideModule extends Module {
|
class ProvideSharedModule extends Module {
|
||||||
/**
|
/**
|
||||||
* @param {string} shareScope shared scope name
|
* @param {string} shareScope shared scope name
|
||||||
* @param {string} name shared key
|
* @param {string} name shared key
|
||||||
|
@ -96,7 +96,7 @@ class ProvideModule extends Module {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.clearDependenciesAndBlocks();
|
this.clearDependenciesAndBlocks();
|
||||||
const dep = new ProvidedDependency(this._request);
|
const dep = new ProvideForSharedDependency(this._request);
|
||||||
if (this._eager) {
|
if (this._eager) {
|
||||||
this.addDependency(dep);
|
this.addDependency(dep);
|
||||||
} else {
|
} else {
|
||||||
|
@ -170,12 +170,15 @@ class ProvideModule extends Module {
|
||||||
|
|
||||||
static deserialize(context) {
|
static deserialize(context) {
|
||||||
const { read } = context;
|
const { read } = context;
|
||||||
const obj = new ProvideModule(read(), read(), read(), read(), read());
|
const obj = new ProvideSharedModule(read(), read(), read(), read(), read());
|
||||||
obj.deserialize(context);
|
obj.deserialize(context);
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
makeSerializable(ProvideModule, "webpack/lib/sharing/ProvideModule");
|
makeSerializable(
|
||||||
|
ProvideSharedModule,
|
||||||
|
"webpack/lib/sharing/ProvideSharedModule"
|
||||||
|
);
|
||||||
|
|
||||||
module.exports = ProvideModule;
|
module.exports = ProvideSharedModule;
|
|
@ -6,22 +6,22 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const ModuleFactory = require("../ModuleFactory");
|
const ModuleFactory = require("../ModuleFactory");
|
||||||
const ProvideModule = require("./ProvideModule");
|
const ProvideSharedModule = require("./ProvideSharedModule");
|
||||||
|
|
||||||
/** @typedef {import("../ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */
|
/** @typedef {import("../ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */
|
||||||
/** @typedef {import("../ModuleFactory").ModuleFactoryResult} ModuleFactoryResult */
|
/** @typedef {import("../ModuleFactory").ModuleFactoryResult} ModuleFactoryResult */
|
||||||
/** @typedef {import("./ProvideDependency")} ProvideDependency */
|
/** @typedef {import("./ProvideSharedDependency")} ProvideSharedDependency */
|
||||||
|
|
||||||
class ProvideModuleFactory extends ModuleFactory {
|
class ProvideSharedModuleFactory extends ModuleFactory {
|
||||||
/**
|
/**
|
||||||
* @param {ModuleFactoryCreateData} data data object
|
* @param {ModuleFactoryCreateData} data data object
|
||||||
* @param {function(Error=, ModuleFactoryResult=): void} callback callback
|
* @param {function(Error=, ModuleFactoryResult=): void} callback callback
|
||||||
* @returns {void}
|
* @returns {void}
|
||||||
*/
|
*/
|
||||||
create(data, callback) {
|
create(data, callback) {
|
||||||
const dep = /** @type {ProvideDependency} */ (data.dependencies[0]);
|
const dep = /** @type {ProvideSharedDependency} */ (data.dependencies[0]);
|
||||||
callback(null, {
|
callback(null, {
|
||||||
module: new ProvideModule(
|
module: new ProvideSharedModule(
|
||||||
dep.shareScope,
|
dep.shareScope,
|
||||||
dep.name,
|
dep.name,
|
||||||
dep.version,
|
dep.version,
|
||||||
|
@ -32,4 +32,4 @@ class ProvideModuleFactory extends ModuleFactory {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = ProvideModuleFactory;
|
module.exports = ProvideSharedModuleFactory;
|
|
@ -9,9 +9,9 @@ const validateOptions = require("schema-utils");
|
||||||
const schema = require("../../schemas/plugins/sharing/ProvideSharedPlugin.json");
|
const schema = require("../../schemas/plugins/sharing/ProvideSharedPlugin.json");
|
||||||
const WebpackError = require("../WebpackError");
|
const WebpackError = require("../WebpackError");
|
||||||
const { parseOptions } = require("../container/options");
|
const { parseOptions } = require("../container/options");
|
||||||
const ProvideDependency = require("./ProvideDependency");
|
const ProvideForSharedDependency = require("./ProvideForSharedDependency");
|
||||||
const ProvideModuleFactory = require("./ProvideModuleFactory");
|
const ProvideSharedDependency = require("./ProvideSharedDependency");
|
||||||
const ProvidedDependency = require("./ProvidedDependency");
|
const ProvideSharedModuleFactory = require("./ProvideSharedModuleFactory");
|
||||||
const { parseVersion } = require("./utils");
|
const { parseVersion } = require("./utils");
|
||||||
|
|
||||||
/** @typedef {import("../../declarations/plugins/sharing/ProvideSharedPlugin").ProvideSharedPluginOptions} ProvideSharedPluginOptions */
|
/** @typedef {import("../../declarations/plugins/sharing/ProvideSharedPlugin").ProvideSharedPluginOptions} ProvideSharedPluginOptions */
|
||||||
|
@ -107,7 +107,12 @@ class ProvideSharedPlugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
compilationData.set(compilation, resolvedProvideMap);
|
compilationData.set(compilation, resolvedProvideMap);
|
||||||
const provideModule = (key, config, resource, resourceResolveData) => {
|
const ProvideSharedModule = (
|
||||||
|
key,
|
||||||
|
config,
|
||||||
|
resource,
|
||||||
|
resourceResolveData
|
||||||
|
) => {
|
||||||
let version = config.version;
|
let version = config.version;
|
||||||
if (version === undefined) {
|
if (version === undefined) {
|
||||||
let details = "";
|
let details = "";
|
||||||
|
@ -148,13 +153,18 @@ class ProvideSharedPlugin {
|
||||||
{
|
{
|
||||||
const config = matchProvides.get(request);
|
const config = matchProvides.get(request);
|
||||||
if (config !== undefined) {
|
if (config !== undefined) {
|
||||||
provideModule(request, config, resource, resourceResolveData);
|
ProvideSharedModule(
|
||||||
|
request,
|
||||||
|
config,
|
||||||
|
resource,
|
||||||
|
resourceResolveData
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (const [prefix, config] of prefixMatchProvides) {
|
for (const [prefix, config] of prefixMatchProvides) {
|
||||||
if (request.startsWith(prefix)) {
|
if (request.startsWith(prefix)) {
|
||||||
const remainder = request.slice(prefix.length);
|
const remainder = request.slice(prefix.length);
|
||||||
provideModule(
|
ProvideSharedModule(
|
||||||
resource,
|
resource,
|
||||||
{
|
{
|
||||||
...config,
|
...config,
|
||||||
|
@ -180,7 +190,7 @@ class ProvideSharedPlugin {
|
||||||
new Promise((resolve, reject) => {
|
new Promise((resolve, reject) => {
|
||||||
compilation.addInclude(
|
compilation.addInclude(
|
||||||
compiler.context,
|
compiler.context,
|
||||||
new ProvideDependency(
|
new ProvideSharedDependency(
|
||||||
config.shareScope,
|
config.shareScope,
|
||||||
config.shareKey,
|
config.shareKey,
|
||||||
version || false,
|
version || false,
|
||||||
|
@ -204,13 +214,13 @@ class ProvideSharedPlugin {
|
||||||
"ProvideSharedPlugin",
|
"ProvideSharedPlugin",
|
||||||
(compilation, { normalModuleFactory }) => {
|
(compilation, { normalModuleFactory }) => {
|
||||||
compilation.dependencyFactories.set(
|
compilation.dependencyFactories.set(
|
||||||
ProvidedDependency,
|
ProvideForSharedDependency,
|
||||||
normalModuleFactory
|
normalModuleFactory
|
||||||
);
|
);
|
||||||
|
|
||||||
compilation.dependencyFactories.set(
|
compilation.dependencyFactories.set(
|
||||||
ProvideDependency,
|
ProvideSharedDependency,
|
||||||
new ProvideModuleFactory()
|
new ProvideSharedModuleFactory()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -160,11 +160,14 @@ module.exports = {
|
||||||
RawModule: () => require("../RawModule"),
|
RawModule: () => require("../RawModule"),
|
||||||
"sharing/ConsumeSharedModule": () =>
|
"sharing/ConsumeSharedModule": () =>
|
||||||
require("../sharing/ConsumeSharedModule"),
|
require("../sharing/ConsumeSharedModule"),
|
||||||
"sharing/ConsumeFallbackDependency": () =>
|
"sharing/ConsumeSharedFallbackDependency": () =>
|
||||||
require("../sharing/ConsumeFallbackDependency"),
|
require("../sharing/ConsumeSharedFallbackDependency"),
|
||||||
"sharing/ProvideModule": () => require("../sharing/ProvideModule"),
|
"sharing/ProvideSharedModule": () =>
|
||||||
"sharing/ProvideDependency": () => require("../sharing/ProvideDependency"),
|
require("../sharing/ProvideSharedModule"),
|
||||||
"sharing/ProvidedDependency": () => require("../sharing/ProvidedDependency"),
|
"sharing/ProvideSharedDependency": () =>
|
||||||
|
require("../sharing/ProvideSharedDependency"),
|
||||||
|
"sharing/ProvideForSharedDependency": () =>
|
||||||
|
require("../sharing/ProvideForSharedDependency"),
|
||||||
UnsupportedFeatureWarning: () => require("../UnsupportedFeatureWarning"),
|
UnsupportedFeatureWarning: () => require("../UnsupportedFeatureWarning"),
|
||||||
"util/LazySet": () => require("../util/LazySet"),
|
"util/LazySet": () => require("../util/LazySet"),
|
||||||
WebpackError: () => require("../WebpackError"),
|
WebpackError: () => require("../WebpackError"),
|
||||||
|
|
Loading…
Reference in New Issue