@module-federation/enhanced 0.0.0-canary-1701764602388
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/global.d.js +14 -0
- package/global.d.js.map +1 -0
- package/package.json +19 -0
- package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js +14 -0
- package/src/declarations/plugins/container/AsyncDependenciesBlock.d.js.map +1 -0
- package/src/declarations/plugins/container/ContainerPlugin.d.js +12 -0
- package/src/declarations/plugins/container/ContainerPlugin.d.js.map +1 -0
- package/src/declarations/plugins/container/ContainerReferencePlugin.d.js +12 -0
- package/src/declarations/plugins/container/ContainerReferencePlugin.d.js.map +1 -0
- package/src/declarations/plugins/container/Dependency.d.js +14 -0
- package/src/declarations/plugins/container/Dependency.d.js.map +1 -0
- package/src/declarations/plugins/container/Module.d.js +3 -0
- package/src/declarations/plugins/container/Module.d.js.map +1 -0
- package/src/declarations/plugins/container/ModuleFactory.d.js +3 -0
- package/src/declarations/plugins/container/ModuleFactory.d.js.map +1 -0
- package/src/declarations/plugins/container/ModuleFederationPlugin.d.js +12 -0
- package/src/declarations/plugins/container/ModuleFederationPlugin.d.js.map +1 -0
- package/src/declarations/plugins/container/ObjectDeserializerContext.d.js +6 -0
- package/src/declarations/plugins/container/ObjectDeserializerContext.d.js.map +1 -0
- package/src/declarations/plugins/container/StaticExportsDependency.d.js +14 -0
- package/src/declarations/plugins/container/StaticExportsDependency.d.js.map +1 -0
- package/src/declarations/plugins/container/Template.d.js +4 -0
- package/src/declarations/plugins/container/Template.d.js.map +1 -0
- package/src/declarations/plugins/container/WebpackError.d.js +3 -0
- package/src/declarations/plugins/container/WebpackError.d.js.map +1 -0
- package/src/declarations/plugins/container/WebpackOptions.d.js +6 -0
- package/src/declarations/plugins/container/WebpackOptions.d.js.map +1 -0
- package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js +12 -0
- package/src/declarations/plugins/sharing/ConsumeSharedPlugin.d.js.map +1 -0
- package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js +12 -0
- package/src/declarations/plugins/sharing/ProvideSharedPlugin.d.js.map +1 -0
- package/src/declarations/plugins/sharing/SharePlugin.d.js +12 -0
- package/src/declarations/plugins/sharing/SharePlugin.d.js.map +1 -0
- package/src/index.d.ts +7 -0
- package/src/index.js +43 -0
- package/src/index.js.map +1 -0
- package/src/lib/Constants.d.ts +117 -0
- package/src/lib/Constants.js +103 -0
- package/src/lib/Constants.js.map +1 -0
- package/src/lib/RuntimeGlobals.d.ts +0 -0
- package/src/lib/RuntimeGlobals.js +246 -0
- package/src/lib/RuntimeGlobals.js.map +1 -0
- package/src/lib/container/AsyncBoundaryPlugin.d.ts +21 -0
- package/src/lib/container/AsyncBoundaryPlugin.js +180 -0
- package/src/lib/container/AsyncBoundaryPlugin.js.map +1 -0
- package/src/lib/container/ContainerEntryDependency.d.js +4 -0
- package/src/lib/container/ContainerEntryDependency.d.js.map +1 -0
- package/src/lib/container/ContainerEntryDependency.d.ts +22 -0
- package/src/lib/container/ContainerEntryDependency.js +45 -0
- package/src/lib/container/ContainerEntryDependency.js.map +1 -0
- package/src/lib/container/ContainerEntryModule.d.js +14 -0
- package/src/lib/container/ContainerEntryModule.d.js.map +1 -0
- package/src/lib/container/ContainerEntryModule.d.ts +86 -0
- package/src/lib/container/ContainerEntryModule.js +260 -0
- package/src/lib/container/ContainerEntryModule.js.map +1 -0
- package/src/lib/container/ContainerEntryModuleFactory.d.js +4 -0
- package/src/lib/container/ContainerEntryModuleFactory.d.js.map +1 -0
- package/src/lib/container/ContainerEntryModuleFactory.d.ts +10 -0
- package/src/lib/container/ContainerEntryModuleFactory.js +32 -0
- package/src/lib/container/ContainerEntryModuleFactory.js.map +1 -0
- package/src/lib/container/ContainerExposedDependency.d.js +4 -0
- package/src/lib/container/ContainerExposedDependency.d.js.map +1 -0
- package/src/lib/container/ContainerExposedDependency.d.ts +26 -0
- package/src/lib/container/ContainerExposedDependency.js +53 -0
- package/src/lib/container/ContainerExposedDependency.js.map +1 -0
- package/src/lib/container/ContainerPlugin.d.js +4 -0
- package/src/lib/container/ContainerPlugin.d.js.map +1 -0
- package/src/lib/container/ContainerPlugin.d.ts +13 -0
- package/src/lib/container/ContainerPlugin.js +167 -0
- package/src/lib/container/ContainerPlugin.js.map +1 -0
- package/src/lib/container/ContainerReferencePlugin.d.js +4 -0
- package/src/lib/container/ContainerReferencePlugin.d.js.map +1 -0
- package/src/lib/container/ContainerReferencePlugin.d.ts +14 -0
- package/src/lib/container/ContainerReferencePlugin.js +102 -0
- package/src/lib/container/ContainerReferencePlugin.js.map +1 -0
- package/src/lib/container/FallbackDependency.d.js +14 -0
- package/src/lib/container/FallbackDependency.d.js.map +1 -0
- package/src/lib/container/FallbackDependency.d.ts +25 -0
- package/src/lib/container/FallbackDependency.js +55 -0
- package/src/lib/container/FallbackDependency.js.map +1 -0
- package/src/lib/container/FallbackItemDependency.d.js +4 -0
- package/src/lib/container/FallbackItemDependency.d.js.map +1 -0
- package/src/lib/container/FallbackItemDependency.d.ts +10 -0
- package/src/lib/container/FallbackItemDependency.js +33 -0
- package/src/lib/container/FallbackItemDependency.js.map +1 -0
- package/src/lib/container/FallbackModule.d.js +4 -0
- package/src/lib/container/FallbackModule.d.js.map +1 -0
- package/src/lib/container/FallbackModule.d.ts +73 -0
- package/src/lib/container/FallbackModule.js +149 -0
- package/src/lib/container/FallbackModule.js.map +1 -0
- package/src/lib/container/FallbackModuleFactory.d.js +4 -0
- package/src/lib/container/FallbackModuleFactory.d.js.map +1 -0
- package/src/lib/container/FallbackModuleFactory.d.ts +10 -0
- package/src/lib/container/FallbackModuleFactory.js +30 -0
- package/src/lib/container/FallbackModuleFactory.js.map +1 -0
- package/src/lib/container/HoistContainerReferencesPlugin.d.ts +19 -0
- package/src/lib/container/HoistContainerReferencesPlugin.js +78 -0
- package/src/lib/container/HoistContainerReferencesPlugin.js.map +1 -0
- package/src/lib/container/ModuleFederationPlugin.d.js +4 -0
- package/src/lib/container/ModuleFederationPlugin.d.js.map +1 -0
- package/src/lib/container/ModuleFederationPlugin.d.ts +17 -0
- package/src/lib/container/ModuleFederationPlugin.js +93 -0
- package/src/lib/container/ModuleFederationPlugin.js.map +1 -0
- package/src/lib/container/ModuleFederationPluginTypes.d.js +12 -0
- package/src/lib/container/ModuleFederationPluginTypes.d.js.map +1 -0
- package/src/lib/container/RemoteModule.d.js +13 -0
- package/src/lib/container/RemoteModule.d.js.map +1 -0
- package/src/lib/container/RemoteModule.d.ts +78 -0
- package/src/lib/container/RemoteModule.js +150 -0
- package/src/lib/container/RemoteModule.js.map +1 -0
- package/src/lib/container/RemoteRuntimeModule.d.js +13 -0
- package/src/lib/container/RemoteRuntimeModule.d.js.map +1 -0
- package/src/lib/container/RemoteRuntimeModule.d.ts +9 -0
- package/src/lib/container/RemoteRuntimeModule.js +98 -0
- package/src/lib/container/RemoteRuntimeModule.js.map +1 -0
- package/src/lib/container/RemoteToExternalDependency.d.js +15 -0
- package/src/lib/container/RemoteToExternalDependency.d.js.map +1 -0
- package/src/lib/container/RemoteToExternalDependency.d.ts +10 -0
- package/src/lib/container/RemoteToExternalDependency.js +33 -0
- package/src/lib/container/RemoteToExternalDependency.js.map +1 -0
- package/src/lib/container/constant.d.ts +3 -0
- package/src/lib/container/constant.js +26 -0
- package/src/lib/container/constant.js.map +1 -0
- package/src/lib/container/options.d.js +6 -0
- package/src/lib/container/options.d.js.map +1 -0
- package/src/lib/container/options.d.ts +18 -0
- package/src/lib/container/options.js +91 -0
- package/src/lib/container/options.js.map +1 -0
- package/src/lib/container/runtime/FederationRuntimeEntryDependency.d.ts +7 -0
- package/src/lib/container/runtime/FederationRuntimeEntryDependency.js +37 -0
- package/src/lib/container/runtime/FederationRuntimeEntryDependency.js.map +1 -0
- package/src/lib/container/runtime/FederationRuntimeModule.d.ts +13 -0
- package/src/lib/container/runtime/FederationRuntimeModule.js +31 -0
- package/src/lib/container/runtime/FederationRuntimeModule.js.map +1 -0
- package/src/lib/container/runtime/FederationRuntimePlugin.d.ts +17 -0
- package/src/lib/container/runtime/FederationRuntimePlugin.js +223 -0
- package/src/lib/container/runtime/FederationRuntimePlugin.js.map +1 -0
- package/src/lib/container/runtime/InitializeRemoteEntryRuntimePlugin.d.ts +6 -0
- package/src/lib/container/runtime/InitializeRemoteEntryRuntimePlugin.js +26 -0
- package/src/lib/container/runtime/InitializeRemoteEntryRuntimePlugin.js.map +1 -0
- package/src/lib/container/runtime/getFederationGlobal.d.ts +5 -0
- package/src/lib/container/runtime/getFederationGlobal.js +42 -0
- package/src/lib/container/runtime/getFederationGlobal.js.map +1 -0
- package/src/lib/container/runtime/utils.d.ts +15 -0
- package/src/lib/container/runtime/utils.js +95 -0
- package/src/lib/container/runtime/utils.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js +4 -0
- package/src/lib/sharing/ConsumeSharedFallbackDependency.d.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedFallbackDependency.d.ts +10 -0
- package/src/lib/sharing/ConsumeSharedFallbackDependency.js +33 -0
- package/src/lib/sharing/ConsumeSharedFallbackDependency.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedModule.d.js +4 -0
- package/src/lib/sharing/ConsumeSharedModule.d.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedModule.d.ts +106 -0
- package/src/lib/sharing/ConsumeSharedModule.js +195 -0
- package/src/lib/sharing/ConsumeSharedModule.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedPlugin.d.js +4 -0
- package/src/lib/sharing/ConsumeSharedPlugin.d.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedPlugin.d.ts +8 -0
- package/src/lib/sharing/ConsumeSharedPlugin.js +225 -0
- package/src/lib/sharing/ConsumeSharedPlugin.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js +4 -0
- package/src/lib/sharing/ConsumeSharedRuntimeModule.d.js.map +1 -0
- package/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts +13 -0
- package/src/lib/sharing/ConsumeSharedRuntimeModule.js +310 -0
- package/src/lib/sharing/ConsumeSharedRuntimeModule.js.map +1 -0
- package/src/lib/sharing/ProvideForSharedDependency.d.js +4 -0
- package/src/lib/sharing/ProvideForSharedDependency.d.js.map +1 -0
- package/src/lib/sharing/ProvideForSharedDependency.d.ts +11 -0
- package/src/lib/sharing/ProvideForSharedDependency.js +34 -0
- package/src/lib/sharing/ProvideForSharedDependency.js.map +1 -0
- package/src/lib/sharing/ProvideSharedDependency.d.js +14 -0
- package/src/lib/sharing/ProvideSharedDependency.d.js.map +1 -0
- package/src/lib/sharing/ProvideSharedDependency.d.ts +32 -0
- package/src/lib/sharing/ProvideSharedDependency.js +65 -0
- package/src/lib/sharing/ProvideSharedDependency.js.map +1 -0
- package/src/lib/sharing/ProvideSharedModule.d.js +4 -0
- package/src/lib/sharing/ProvideSharedModule.d.js.map +1 -0
- package/src/lib/sharing/ProvideSharedModule.d.ts +79 -0
- package/src/lib/sharing/ProvideSharedModule.js +169 -0
- package/src/lib/sharing/ProvideSharedModule.js.map +1 -0
- package/src/lib/sharing/ProvideSharedModuleFactory.d.js +4 -0
- package/src/lib/sharing/ProvideSharedModuleFactory.d.js.map +1 -0
- package/src/lib/sharing/ProvideSharedModuleFactory.d.ts +11 -0
- package/src/lib/sharing/ProvideSharedModuleFactory.js +32 -0
- package/src/lib/sharing/ProvideSharedModuleFactory.js.map +1 -0
- package/src/lib/sharing/ProvideSharedPlugin.d.js +4 -0
- package/src/lib/sharing/ProvideSharedPlugin.d.js.map +1 -0
- package/src/lib/sharing/ProvideSharedPlugin.d.ts +34 -0
- package/src/lib/sharing/ProvideSharedPlugin.js +168 -0
- package/src/lib/sharing/ProvideSharedPlugin.js.map +1 -0
- package/src/lib/sharing/SharePlugin.d.js +4 -0
- package/src/lib/sharing/SharePlugin.d.js.map +1 -0
- package/src/lib/sharing/SharePlugin.d.ts +15 -0
- package/src/lib/sharing/SharePlugin.js +73 -0
- package/src/lib/sharing/SharePlugin.js.map +1 -0
- package/src/lib/sharing/ShareRuntimeModule.d.js +4 -0
- package/src/lib/sharing/ShareRuntimeModule.d.js.map +1 -0
- package/src/lib/sharing/ShareRuntimeModule.d.ts +9 -0
- package/src/lib/sharing/ShareRuntimeModule.js +95 -0
- package/src/lib/sharing/ShareRuntimeModule.js.map +1 -0
- package/src/lib/sharing/resolveMatchedConfigs.d.js +6 -0
- package/src/lib/sharing/resolveMatchedConfigs.d.js.map +1 -0
- package/src/lib/sharing/resolveMatchedConfigs.d.ts +8 -0
- package/src/lib/sharing/resolveMatchedConfigs.js +69 -0
- package/src/lib/sharing/resolveMatchedConfigs.js.map +1 -0
- package/src/lib/sharing/utils.d.js +6 -0
- package/src/lib/sharing/utils.d.js.map +1 -0
- package/src/lib/sharing/utils.d.ts +45 -0
- package/src/lib/sharing/utils.js +348 -0
- package/src/lib/sharing/utils.js.map +1 -0
- package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.d.ts +5 -0
- package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js +34 -0
- package/src/runtime/AddRuntimeRequirementToPromiseExternalPlugin.js.map +1 -0
- package/src/runtime/ModuleInfoRuntimeModule.d.ts +16 -0
- package/src/runtime/ModuleInfoRuntimeModule.js +88 -0
- package/src/runtime/ModuleInfoRuntimeModule.js.map +1 -0
- package/src/runtime/ModuleInfoRuntimePlugin.d.ts +5 -0
- package/src/runtime/ModuleInfoRuntimePlugin.js +29 -0
- package/src/runtime/ModuleInfoRuntimePlugin.js.map +1 -0
- package/src/schemas/container/ContainerPlugin.check.d.ts +7 -0
- package/src/schemas/container/ContainerPlugin.check.js +2229 -0
- package/src/schemas/container/ContainerPlugin.check.js.map +1 -0
- package/src/schemas/container/ContainerPlugin.d.ts +268 -0
- package/src/schemas/container/ContainerPlugin.js +324 -0
- package/src/schemas/container/ContainerPlugin.js.map +1 -0
- package/src/schemas/container/ModuleFederationPlugin.check.d.ts +7 -0
- package/src/schemas/container/ModuleFederationPlugin.check.js +3818 -0
- package/src/schemas/container/ModuleFederationPlugin.check.js.map +1 -0
- package/src/schemas/container/ModuleFederationPlugin.d.ts +441 -0
- package/src/schemas/container/ModuleFederationPlugin.js +556 -0
- package/src/schemas/container/ModuleFederationPlugin.js.map +1 -0
- package/src/types/runtime.d.ts +7 -0
- package/src/types/runtime.js +6 -0
- package/src/types/runtime.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedPlugin.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\n'use strict';\n\nimport { parseOptions } from '../container/options';\nimport { ConsumeOptions } from './ConsumeSharedModule';\nimport { ConsumeSharedPluginOptions } from '../../declarations/plugins/sharing/ConsumeSharedPlugin';\nimport { resolveMatchedConfigs } from './resolveMatchedConfigs';\nimport {\n isRequiredVersion,\n getDescriptionFile,\n getRequiredVersionFromDescriptionFile,\n} from './utils';\nimport type { ResolveOptionsWithDependencyType } from 'webpack/lib/ResolverFactory';\nimport ConsumeSharedFallbackDependency from './ConsumeSharedFallbackDependency';\nimport ConsumeSharedModule from './ConsumeSharedModule';\nimport ConsumeSharedRuntimeModule from './ConsumeSharedRuntimeModule';\nimport ProvideForSharedDependency from './ProvideForSharedDependency';\n//@ts-ignore\nimport ModuleNotFoundError from 'webpack/lib/ModuleNotFoundError';\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\n//@ts-ignore\nimport WebpackError from 'webpack/lib/WebpackError';\n//@ts-ignore\nimport Compiler from 'webpack/lib/Compiler';\n//@ts-ignore\nimport LazySet from 'webpack/lib/util/LazySet';\n//@ts-ignore\nimport createSchemaValidation from 'webpack/lib/util/create-schema-validation';\nimport { SemVerRange } from 'webpack/lib/util/semver';\nimport FederationRuntimePlugin from '../container/runtime/FederationRuntimePlugin';\nimport ShareRuntimeModule from './ShareRuntimeModule';\n\nconst validate = createSchemaValidation(\n //eslint-disable-next-line\n require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js'),\n () => require('webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json'),\n {\n name: 'Consume Shared Plugin',\n baseDataPath: 'options',\n },\n);\n\nconst RESOLVE_OPTIONS: ResolveOptionsWithDependencyType = {\n dependencyType: 'esm',\n};\nconst PLUGIN_NAME = 'ConsumeSharedPlugin';\nclass ConsumeSharedPlugin {\n private _consumes: [string, ConsumeOptions][];\n\n constructor(options: ConsumeSharedPluginOptions) {\n if (typeof options !== 'string') {\n validate(options);\n }\n\n this._consumes = parseOptions(\n options.consumes,\n (item, key) => {\n if (Array.isArray(item)) throw new Error('Unexpected array in options');\n //@ts-ignore\n const result: ConsumeOptions =\n item === key || !isRequiredVersion(item)\n ? // item is a request/key\n {\n import: key,\n shareScope: options.shareScope || 'default',\n shareKey: key,\n requiredVersion: undefined,\n packageName: undefined,\n strictVersion: false,\n singleton: false,\n eager: false,\n }\n : // key is a request/key\n // item is a version\n {\n import: key,\n shareScope: options.shareScope || 'default',\n shareKey: key,\n // webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756\n requiredVersion: item,\n strictVersion: true,\n packageName: undefined,\n singleton: false,\n eager: false,\n };\n return result;\n },\n (item, key) => ({\n import: item.import === false ? undefined : item.import || key,\n shareScope: item.shareScope || options.shareScope || 'default',\n shareKey: item.shareKey || key,\n // @ts-ignore webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756\n requiredVersion: item.requiredVersion,\n strictVersion:\n typeof item.strictVersion === 'boolean'\n ? item.strictVersion\n : item.import !== false && !item.singleton,\n //@ts-ignore\n packageName: item.packageName,\n singleton: !!item.singleton,\n eager: !!item.eager,\n }),\n );\n }\n\n apply(compiler: Compiler): void {\n //@ts-ignore\n new FederationRuntimePlugin().apply(compiler);\n\n compiler.hooks.thisCompilation.tap(\n PLUGIN_NAME,\n (compilation, { normalModuleFactory }) => {\n compilation.dependencyFactories.set(\n ConsumeSharedFallbackDependency,\n normalModuleFactory,\n );\n\n let unresolvedConsumes: Map<string, ConsumeOptions>,\n resolvedConsumes: Map<string, ConsumeOptions>,\n prefixedConsumes: Map<string, ConsumeOptions>;\n const promise = resolveMatchedConfigs(compilation, this._consumes).then(\n ({ resolved, unresolved, prefixed }) => {\n resolvedConsumes = resolved;\n unresolvedConsumes = unresolved;\n prefixedConsumes = prefixed;\n },\n );\n\n const resolver = compilation.resolverFactory.get(\n 'normal',\n RESOLVE_OPTIONS,\n );\n\n const createConsumeSharedModule = (\n context: string,\n request: string,\n config: ConsumeOptions,\n ): Promise<ConsumeSharedModule> => {\n const requiredVersionWarning = (details: string) => {\n const error = new WebpackError(\n `No required version specified and unable to automatically determine one. ${details}`,\n );\n error.file = `shared module ${request}`;\n compilation.warnings.push(error);\n };\n const directFallback =\n config.import &&\n /^(\\.\\.?(\\/|$)|\\/|[A-Za-z]:|\\\\\\\\)/.test(config.import);\n return Promise.all([\n new Promise<string | undefined>((resolve) => {\n if (!config.import) return resolve(undefined);\n const resolveContext = {\n fileDependencies: new LazySet<string>(),\n contextDependencies: new LazySet<string>(),\n missingDependencies: new LazySet<string>(),\n };\n resolver.resolve(\n {},\n directFallback ? compiler.context : context,\n config.import,\n resolveContext,\n (err, result) => {\n compilation.contextDependencies.addAll(\n resolveContext.contextDependencies,\n );\n compilation.fileDependencies.addAll(\n resolveContext.fileDependencies,\n );\n compilation.missingDependencies.addAll(\n resolveContext.missingDependencies,\n );\n if (err) {\n compilation.errors.push(\n new ModuleNotFoundError(null, err, {\n name: `resolving fallback for shared module ${request}`,\n }),\n );\n return resolve(undefined);\n }\n //@ts-ignore\n resolve(result);\n },\n );\n }),\n new Promise<false | undefined | SemVerRange>((resolve) => {\n if (config.requiredVersion !== undefined) {\n return resolve(config.requiredVersion);\n }\n let packageName = config.packageName;\n if (packageName === undefined) {\n if (/^(\\/|[A-Za-z]:|\\\\\\\\)/.test(request)) {\n // For relative or absolute requests we don't automatically use a packageName.\n // If wished one can specify one with the packageName option.\n return resolve(undefined);\n }\n const match = /^((?:@[^\\\\/]+[\\\\/])?[^\\\\/]+)/.exec(request);\n if (!match) {\n requiredVersionWarning(\n 'Unable to extract the package name from request.',\n );\n return resolve(undefined);\n }\n packageName = match[0];\n }\n\n getDescriptionFile(\n compilation.inputFileSystem,\n context,\n ['package.json'],\n (err, result) => {\n if (err) {\n requiredVersionWarning(\n `Unable to read description file: ${err}`,\n );\n return resolve(undefined);\n }\n //@ts-ignore\n const { data, path: descriptionPath } = result;\n if (!data) {\n requiredVersionWarning(\n `Unable to find description file in ${context}.`,\n );\n return resolve(undefined);\n }\n //@ts-ignore\n if (data.name === packageName) {\n // Package self-referencing\n return resolve(undefined);\n }\n const requiredVersion = getRequiredVersionFromDescriptionFile(\n data,\n packageName,\n );\n if (typeof requiredVersion !== 'string') {\n requiredVersionWarning(\n `Unable to find required version for \"${packageName}\" in description file (${descriptionPath}). It need to be in dependencies, devDependencies or peerDependencies.`,\n );\n return resolve(undefined);\n }\n // @ts-ignore webpack internal semver has some issue, use runtime semver , related issue: https://github.com/webpack/webpack/issues/17756\n resolve(requiredVersion);\n },\n );\n }),\n ]).then(([importResolved, requiredVersion]) => {\n return new ConsumeSharedModule(\n directFallback ? compiler.context : context,\n {\n ...config,\n importResolved,\n import: importResolved ? config.import : undefined,\n requiredVersion,\n },\n );\n });\n };\n\n normalModuleFactory.hooks.factorize.tapPromise(\n PLUGIN_NAME,\n ({ context, request, dependencies }) =>\n // wait for resolving to be complete\n //@ts-ignore\n promise.then(() => {\n if (\n dependencies[0] instanceof ConsumeSharedFallbackDependency ||\n dependencies[0] instanceof ProvideForSharedDependency\n ) {\n return;\n }\n const match = unresolvedConsumes.get(request);\n if (match !== undefined) {\n return createConsumeSharedModule(context, request, match);\n }\n for (const [prefix, options] of prefixedConsumes) {\n if (request.startsWith(prefix)) {\n const remainder = request.slice(prefix.length);\n return createConsumeSharedModule(context, request, {\n ...options,\n import: options.import\n ? options.import + remainder\n : undefined,\n shareKey: options.shareKey + remainder,\n });\n }\n }\n }),\n );\n normalModuleFactory.hooks.createModule.tapPromise(\n PLUGIN_NAME,\n ({ resource }, { context, dependencies }) => {\n if (\n dependencies[0] instanceof ConsumeSharedFallbackDependency ||\n dependencies[0] instanceof ProvideForSharedDependency\n ) {\n return Promise.resolve();\n }\n if (resource) {\n const options = resolvedConsumes.get(resource);\n if (options !== undefined) {\n return createConsumeSharedModule(context, resource, options);\n }\n }\n return Promise.resolve();\n },\n );\n compilation.hooks.additionalTreeRuntimeRequirements.tap(\n PLUGIN_NAME,\n (chunk, set) => {\n set.add(RuntimeGlobals.module);\n set.add(RuntimeGlobals.moduleCache);\n set.add(RuntimeGlobals.moduleFactoriesAddOnly);\n set.add(RuntimeGlobals.shareScopeMap);\n set.add(RuntimeGlobals.initializeSharing);\n set.add(RuntimeGlobals.hasOwnProperty);\n compilation.addRuntimeModule(\n chunk,\n new ConsumeSharedRuntimeModule(set),\n );\n // FIXME: need to remove webpack internal inject ShareRuntimeModule, otherwise there will be two ShareRuntimeModule\n compilation.addRuntimeModule(chunk, new ShareRuntimeModule());\n },\n );\n },\n );\n }\n}\n\nexport default ConsumeSharedPlugin;\n"],"names":["validate","createSchemaValidation","require","name","baseDataPath","RESOLVE_OPTIONS","dependencyType","PLUGIN_NAME","ConsumeSharedPlugin","apply","compiler","FederationRuntimePlugin","hooks","thisCompilation","tap","compilation","normalModuleFactory","dependencyFactories","set","ConsumeSharedFallbackDependency","unresolvedConsumes","resolvedConsumes","prefixedConsumes","promise","resolveMatchedConfigs","_consumes","then","resolved","unresolved","prefixed","resolver","resolverFactory","get","createConsumeSharedModule","context","request","config","requiredVersionWarning","details","error","WebpackError","file","warnings","push","directFallback","import","test","Promise","all","resolve","undefined","resolveContext","fileDependencies","LazySet","contextDependencies","missingDependencies","err","result","addAll","errors","ModuleNotFoundError","requiredVersion","packageName","match","exec","getDescriptionFile","inputFileSystem","data","path","descriptionPath","getRequiredVersionFromDescriptionFile","importResolved","ConsumeSharedModule","factorize","tapPromise","dependencies","ProvideForSharedDependency","prefix","options","startsWith","remainder","slice","length","shareKey","createModule","resource","additionalTreeRuntimeRequirements","chunk","add","RuntimeGlobals","module","moduleCache","moduleFactoriesAddOnly","shareScopeMap","initializeSharing","hasOwnProperty","addRuntimeModule","ConsumeSharedRuntimeModule","ShareRuntimeModule","constructor","parseOptions","consumes","item","key","Array","isArray","Error","isRequiredVersion","shareScope","strictVersion","singleton","eager"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedRuntimeModule.d.ts"],"sourcesContent":["export = ConsumeSharedRuntimeModule;\n/** @typedef {import(\"webpack-sources\").Source} Source */\n/** @typedef {import(\"webpack/lib/Chunk\")} Chunk */\n/** @typedef {import(\"webpack/lib/ChunkGraph\")} ChunkGraph */\n/** @typedef {import(\"webpack/lib/Compilation\")} Compilation */\n/** @typedef {import(\"webpack/lib/Module\")} Module */\n/** @typedef {import(\"./ConsumeSharedModule\")} ConsumeSharedModule */\ndeclare class ConsumeSharedRuntimeModule extends RuntimeModule {\n /**\n * @param {ReadonlySet<string>} runtimeRequirements runtime requirements\n */\n constructor(runtimeRequirements: ReadonlySet<string>);\n _runtimeRequirements: ReadonlySet<string>;\n}\ndeclare namespace ConsumeSharedRuntimeModule {\n export {\n Source,\n Chunk,\n ChunkGraph,\n Compilation,\n Module,\n ConsumeSharedModule,\n };\n}\nimport RuntimeModule = require('webpack/lib/RuntimeModule');\ntype Source = import('webpack-sources').Source;\ntype Chunk = import('webpack/lib/Chunk');\ntype ChunkGraph = import('webpack/lib/ChunkGraph');\ntype Compilation = import('webpack/lib/Compilation');\ntype Module = import('webpack/lib/Module');\ntype ConsumeSharedModule = import('./ConsumeSharedModule');\n"],"names":["ConsumeSharedRuntimeModule"],"mappings":";iBAASA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import RuntimeModule from 'webpack/lib/RuntimeModule';
|
|
2
|
+
declare class ConsumeSharedRuntimeModule extends RuntimeModule {
|
|
3
|
+
private _runtimeRequirements;
|
|
4
|
+
/**
|
|
5
|
+
* @param {ReadonlySet<string>} runtimeRequirements runtime requirements
|
|
6
|
+
*/
|
|
7
|
+
constructor(runtimeRequirements: ReadonlySet<string>);
|
|
8
|
+
/**
|
|
9
|
+
* @returns {string | null} runtime code
|
|
10
|
+
*/
|
|
11
|
+
generate(): string | null;
|
|
12
|
+
}
|
|
13
|
+
export default ConsumeSharedRuntimeModule;
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
4
|
+
*/ "use strict";
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function() {
|
|
11
|
+
return _default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
15
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
16
|
+
const _RuntimeGlobals = /*#__PURE__*/ _interop_require_wildcard._(require("webpack/lib/RuntimeGlobals"));
|
|
17
|
+
const _Template = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/Template"));
|
|
18
|
+
const _RuntimeModule = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/RuntimeModule"));
|
|
19
|
+
const _utils = require("../container/runtime/utils");
|
|
20
|
+
let ConsumeSharedRuntimeModule = class ConsumeSharedRuntimeModule extends _RuntimeModule.default {
|
|
21
|
+
/**
|
|
22
|
+
* @returns {string | null} runtime code
|
|
23
|
+
*/ generate() {
|
|
24
|
+
var _this_chunk, _this_chunk1;
|
|
25
|
+
const compilation = this.compilation;
|
|
26
|
+
const chunkGraph = this.chunkGraph;
|
|
27
|
+
const { runtimeTemplate, codeGenerationResults } = compilation;
|
|
28
|
+
const chunkToModuleMapping = {};
|
|
29
|
+
const moduleIdToSourceMapping = new Map();
|
|
30
|
+
const initialConsumes = [];
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @param {Iterable<Module>} modules modules
|
|
34
|
+
* @param {Chunk} chunk the chunk
|
|
35
|
+
* @param {(string | number)[]} list list of ids
|
|
36
|
+
*/ const addModules = (modules, chunk, list)=>{
|
|
37
|
+
for (const m of modules){
|
|
38
|
+
const module = m;
|
|
39
|
+
const id = chunkGraph.getModuleId(module);
|
|
40
|
+
list.push(id);
|
|
41
|
+
const moduleGetter = codeGenerationResults.getSource(module, chunk.runtime, 'consume-shared');
|
|
42
|
+
const shareOption = codeGenerationResults.getData(module, chunk.runtime, 'consume-shared');
|
|
43
|
+
const sharedInfoAndHandlerStr = _Template.default.asString([
|
|
44
|
+
'{',
|
|
45
|
+
_Template.default.indent([
|
|
46
|
+
`getter: ${moduleGetter.source().toString()},`,
|
|
47
|
+
`shareInfo: {`,
|
|
48
|
+
_Template.default.indent([
|
|
49
|
+
`shareConfig: ${JSON.stringify(shareOption.shareConfig, null, 2)},`,
|
|
50
|
+
`scope: [${JSON.stringify(shareOption.shareScope || 'default')}],`
|
|
51
|
+
]),
|
|
52
|
+
'},',
|
|
53
|
+
`shareKey: "${shareOption.shareKey}",`
|
|
54
|
+
]),
|
|
55
|
+
'}'
|
|
56
|
+
]);
|
|
57
|
+
moduleIdToSourceMapping.set(id, sharedInfoAndHandlerStr);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const allChunks = [
|
|
61
|
+
...((_this_chunk = this.chunk) == null ? void 0 : _this_chunk.getAllReferencedChunks()) || []
|
|
62
|
+
];
|
|
63
|
+
for (const chunk of allChunks){
|
|
64
|
+
const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
|
|
65
|
+
if (!modules) continue;
|
|
66
|
+
if (!chunk.id) continue;
|
|
67
|
+
addModules(modules, chunk, chunkToModuleMapping[chunk.id.toString()] = []);
|
|
68
|
+
}
|
|
69
|
+
for (const chunk of [
|
|
70
|
+
...((_this_chunk1 = this.chunk) == null ? void 0 : _this_chunk1.getAllInitialChunks()) || []
|
|
71
|
+
]){
|
|
72
|
+
const modules = chunkGraph.getChunkModulesIterableBySourceType(chunk, 'consume-shared');
|
|
73
|
+
if (!modules) continue;
|
|
74
|
+
addModules(modules, chunk, initialConsumes);
|
|
75
|
+
}
|
|
76
|
+
if (moduleIdToSourceMapping.size === 0) return null;
|
|
77
|
+
const federationGlobal = (0, _utils.getFederationGlobalScope)(_RuntimeGlobals);
|
|
78
|
+
return _Template.default.asString([
|
|
79
|
+
// parseVersionRuntimeCode(runtimeTemplate),
|
|
80
|
+
// versionLtRuntimeCode(runtimeTemplate),
|
|
81
|
+
// rangeToStringRuntimeCode(runtimeTemplate),
|
|
82
|
+
// satisfyRuntimeCode(runtimeTemplate),
|
|
83
|
+
// `var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [
|
|
84
|
+
// `var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,
|
|
85
|
+
// `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName);`,
|
|
86
|
+
// 'return scope;',
|
|
87
|
+
// ])};`,
|
|
88
|
+
// `var findVersion = ${runtimeTemplate.basicFunction('scope, key', [
|
|
89
|
+
// 'var versions = scope[key];',
|
|
90
|
+
// `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(
|
|
91
|
+
// 'a, b',
|
|
92
|
+
// ['return !a || versionLt(a, b) ? b : a;'],
|
|
93
|
+
// )}, 0);`,
|
|
94
|
+
// 'return key && versions[key]',
|
|
95
|
+
// ])};`,
|
|
96
|
+
// `var findSingletonVersionKey = ${runtimeTemplate.basicFunction(
|
|
97
|
+
// 'scope, key',
|
|
98
|
+
// [
|
|
99
|
+
// 'var versions = scope[key];',
|
|
100
|
+
// `return Object.keys(versions).reduce(${runtimeTemplate.basicFunction(
|
|
101
|
+
// 'a, b',
|
|
102
|
+
// ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'],
|
|
103
|
+
// )}, 0);`,
|
|
104
|
+
// ],
|
|
105
|
+
// )};`,
|
|
106
|
+
// `var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction(
|
|
107
|
+
// 'scope, key, version, requiredVersion',
|
|
108
|
+
// [
|
|
109
|
+
// `return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")"`,
|
|
110
|
+
// ],
|
|
111
|
+
// )};`,
|
|
112
|
+
// `var getSingleton = ${runtimeTemplate.basicFunction(
|
|
113
|
+
// 'scope, scopeName, key, requiredVersion',
|
|
114
|
+
// [
|
|
115
|
+
// 'var version = findSingletonVersionKey(scope, key);',
|
|
116
|
+
// 'return get(scope[key][version]);',
|
|
117
|
+
// ],
|
|
118
|
+
// )};`,
|
|
119
|
+
// `var getSingletonVersion = ${runtimeTemplate.basicFunction(
|
|
120
|
+
// 'scope, scopeName, key, requiredVersion',
|
|
121
|
+
// [
|
|
122
|
+
// 'var version = findSingletonVersionKey(scope, key);',
|
|
123
|
+
// 'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
|
|
124
|
+
// 'return get(scope[key][version]);',
|
|
125
|
+
// ],
|
|
126
|
+
// )};`,
|
|
127
|
+
// `var getStrictSingletonVersion = ${runtimeTemplate.basicFunction(
|
|
128
|
+
// 'scope, scopeName, key, requiredVersion',
|
|
129
|
+
// [
|
|
130
|
+
// 'var version = findSingletonVersionKey(scope, key);',
|
|
131
|
+
// 'if (!satisfy(requiredVersion, version)) ' +
|
|
132
|
+
// 'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',
|
|
133
|
+
// 'return get(scope[key][version]);',
|
|
134
|
+
// ],
|
|
135
|
+
// )};`,
|
|
136
|
+
// `var findValidVersion = ${runtimeTemplate.basicFunction(
|
|
137
|
+
// 'scope, key, requiredVersion',
|
|
138
|
+
// [
|
|
139
|
+
// 'var versions = scope[key];',
|
|
140
|
+
// `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(
|
|
141
|
+
// 'a, b',
|
|
142
|
+
// [
|
|
143
|
+
// 'if (!satisfy(requiredVersion, b)) return a;',
|
|
144
|
+
// 'return !a || versionLt(a, b) ? b : a;',
|
|
145
|
+
// ],
|
|
146
|
+
// )}, 0);`,
|
|
147
|
+
// 'return key && versions[key]',
|
|
148
|
+
// ],
|
|
149
|
+
// )};`,
|
|
150
|
+
// `var getInvalidVersionMessage = ${runtimeTemplate.basicFunction(
|
|
151
|
+
// 'scope, scopeName, key, requiredVersion',
|
|
152
|
+
// [
|
|
153
|
+
// 'var versions = scope[key];',
|
|
154
|
+
// 'return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" +',
|
|
155
|
+
// `\t"Available versions: " + Object.keys(versions).map(${runtimeTemplate.basicFunction(
|
|
156
|
+
// 'key',
|
|
157
|
+
// ['return key + " from " + versions[key].from;'],
|
|
158
|
+
// )}).join(", ");`,
|
|
159
|
+
// ],
|
|
160
|
+
// )};`,
|
|
161
|
+
// `var getValidVersion = ${runtimeTemplate.basicFunction(
|
|
162
|
+
// 'scope, scopeName, key, requiredVersion',
|
|
163
|
+
// [
|
|
164
|
+
// 'var entry = findValidVersion(scope, key, requiredVersion);',
|
|
165
|
+
// 'if(entry) return get(entry);',
|
|
166
|
+
// 'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
|
|
167
|
+
// ],
|
|
168
|
+
// )};`,
|
|
169
|
+
// `var warn = ${
|
|
170
|
+
// compilation.outputOptions.ignoreBrowserWarnings
|
|
171
|
+
// ? runtimeTemplate.basicFunction('', '')
|
|
172
|
+
// : runtimeTemplate.basicFunction('msg', [
|
|
173
|
+
// 'if (typeof console !== "undefined" && console.warn) console.warn(msg);',
|
|
174
|
+
// ])
|
|
175
|
+
// };`,
|
|
176
|
+
// `var warnInvalidVersion = ${runtimeTemplate.basicFunction(
|
|
177
|
+
// 'scope, scopeName, key, requiredVersion',
|
|
178
|
+
// [
|
|
179
|
+
// 'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',
|
|
180
|
+
// ],
|
|
181
|
+
// )};`,
|
|
182
|
+
// `var get = ${runtimeTemplate.basicFunction('entry', [
|
|
183
|
+
// 'entry.loaded = 1;',
|
|
184
|
+
// 'return entry.get()',
|
|
185
|
+
// ])};`,
|
|
186
|
+
// `var init = ${runtimeTemplate.returningFunction(
|
|
187
|
+
// Template.asString([
|
|
188
|
+
// 'function(scopeName, a, b, c) {',
|
|
189
|
+
// Template.indent([
|
|
190
|
+
// `var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,
|
|
191
|
+
// `if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,
|
|
192
|
+
// `return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,
|
|
193
|
+
// ]),
|
|
194
|
+
// '}',
|
|
195
|
+
// ]),
|
|
196
|
+
// 'fn',
|
|
197
|
+
// )};`,
|
|
198
|
+
// '',
|
|
199
|
+
// `var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
200
|
+
// 'scopeName, scope, key',
|
|
201
|
+
// [
|
|
202
|
+
// 'ensureExistence(scopeName, key);',
|
|
203
|
+
// 'return get(findVersion(scope, key));',
|
|
204
|
+
// ],
|
|
205
|
+
// )});`,
|
|
206
|
+
// `var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
207
|
+
// 'scopeName, scope, key, fallback',
|
|
208
|
+
// [
|
|
209
|
+
// `return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,
|
|
210
|
+
// ],
|
|
211
|
+
// )});`,
|
|
212
|
+
// `var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
213
|
+
// 'scopeName, scope, key, version',
|
|
214
|
+
// [
|
|
215
|
+
// 'ensureExistence(scopeName, key);',
|
|
216
|
+
// 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
|
|
217
|
+
// ],
|
|
218
|
+
// )});`,
|
|
219
|
+
// `var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
220
|
+
// 'scopeName, scope, key',
|
|
221
|
+
// [
|
|
222
|
+
// 'ensureExistence(scopeName, key);',
|
|
223
|
+
// 'return getSingleton(scope, scopeName, key);',
|
|
224
|
+
// ],
|
|
225
|
+
// )});`,
|
|
226
|
+
// `var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
227
|
+
// 'scopeName, scope, key, version',
|
|
228
|
+
// [
|
|
229
|
+
// 'ensureExistence(scopeName, key);',
|
|
230
|
+
// 'return getSingletonVersion(scope, scopeName, key, version);',
|
|
231
|
+
// ],
|
|
232
|
+
// )});`,
|
|
233
|
+
// `var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
234
|
+
// 'scopeName, scope, key, version',
|
|
235
|
+
// [
|
|
236
|
+
// 'ensureExistence(scopeName, key);',
|
|
237
|
+
// 'return getValidVersion(scope, scopeName, key, version);',
|
|
238
|
+
// ],
|
|
239
|
+
// )});`,
|
|
240
|
+
// `var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
241
|
+
// 'scopeName, scope, key, version',
|
|
242
|
+
// [
|
|
243
|
+
// 'ensureExistence(scopeName, key);',
|
|
244
|
+
// 'return getStrictSingletonVersion(scope, scopeName, key, version);',
|
|
245
|
+
// ],
|
|
246
|
+
// )});`,
|
|
247
|
+
// `var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
248
|
+
// 'scopeName, scope, key, version, fallback',
|
|
249
|
+
// [
|
|
250
|
+
// `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
251
|
+
// 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',
|
|
252
|
+
// ],
|
|
253
|
+
// )});`,
|
|
254
|
+
// `var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
255
|
+
// 'scopeName, scope, key, fallback',
|
|
256
|
+
// [
|
|
257
|
+
// `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
258
|
+
// 'return getSingleton(scope, scopeName, key);',
|
|
259
|
+
// ],
|
|
260
|
+
// )});`,
|
|
261
|
+
// `var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
262
|
+
// 'scopeName, scope, key, version, fallback',
|
|
263
|
+
// [
|
|
264
|
+
// `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
265
|
+
// 'return getSingletonVersion(scope, scopeName, key, version);',
|
|
266
|
+
// ],
|
|
267
|
+
// )});`,
|
|
268
|
+
// `var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
269
|
+
// 'scopeName, scope, key, version, fallback',
|
|
270
|
+
// [
|
|
271
|
+
// `var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,
|
|
272
|
+
// `return entry ? get(entry) : fallback();`,
|
|
273
|
+
// ],
|
|
274
|
+
// )});`,
|
|
275
|
+
// `var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(
|
|
276
|
+
// 'scopeName, scope, key, version, fallback',
|
|
277
|
+
// [
|
|
278
|
+
// `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,
|
|
279
|
+
// 'return getStrictSingletonVersion(scope, scopeName, key, version);',
|
|
280
|
+
// ],
|
|
281
|
+
// )});`,
|
|
282
|
+
'var installedModules = {};',
|
|
283
|
+
'var moduleToHandlerMapping = {',
|
|
284
|
+
_Template.default.indent(Array.from(moduleIdToSourceMapping, ([key, value])=>{
|
|
285
|
+
return `${JSON.stringify(key)}: ${value}`;
|
|
286
|
+
}).join(',\n')),
|
|
287
|
+
'};',
|
|
288
|
+
initialConsumes.length > 0 ? _Template.default.asString([
|
|
289
|
+
`var initialConsumes = ${JSON.stringify(initialConsumes)};`,
|
|
290
|
+
// FIXME: or set installInitialConsumesOptions into federationGlobal.xxOptions?
|
|
291
|
+
`${federationGlobal}.installInitialConsumes= ()=>${federationGlobal}.bundlerRuntime.installInitialConsumes({initialConsumes, installedModules, moduleToHandlerMapping, webpackRequire:${_RuntimeGlobals.require}});`
|
|
292
|
+
]) : '// no consumes in initial chunks',
|
|
293
|
+
this._runtimeRequirements.has(_RuntimeGlobals.ensureChunkHandlers) ? _Template.default.asString([
|
|
294
|
+
`var chunkMapping = ${JSON.stringify(chunkToModuleMapping, null, '\t')};`,
|
|
295
|
+
`${_RuntimeGlobals.ensureChunkHandlers}.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [
|
|
296
|
+
`${federationGlobal}.bundlerRuntime.consumes({chunkMapping, installedModules, chunkId, moduleToHandlerMapping, promises, webpackRequire:${_RuntimeGlobals.require}});`
|
|
297
|
+
])}`
|
|
298
|
+
]) : '// no chunk loading of consumes'
|
|
299
|
+
]);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* @param {ReadonlySet<string>} runtimeRequirements runtime requirements
|
|
303
|
+
*/ constructor(runtimeRequirements){
|
|
304
|
+
super('consumes', _RuntimeModule.default.STAGE_ATTACH);
|
|
305
|
+
this._runtimeRequirements = runtimeRequirements;
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
const _default = ConsumeSharedRuntimeModule;
|
|
309
|
+
|
|
310
|
+
//# sourceMappingURL=ConsumeSharedRuntimeModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ConsumeSharedRuntimeModule.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport * as RuntimeGlobals from 'webpack/lib/RuntimeGlobals';\nimport Template from 'webpack/lib/Template';\nimport {\n parseVersionRuntimeCode,\n versionLtRuntimeCode,\n rangeToStringRuntimeCode,\n satisfyRuntimeCode,\n} from 'webpack/lib/util/semver';\nimport RuntimeModule from 'webpack/lib/RuntimeModule';\nimport Module from 'webpack/lib/Module';\nimport ConsumeSharedModule from './ConsumeSharedModule';\nimport type ChunkGraph from 'webpack/lib/ChunkGraph';\nimport type Compilation from 'webpack/lib/Compilation';\nimport type Chunk from 'webpack/lib/Chunk';\nimport { Source } from 'webpack-sources';\nimport { getFederationGlobalScope } from '../container/runtime/utils';\n\nclass ConsumeSharedRuntimeModule extends RuntimeModule {\n private _runtimeRequirements: ReadonlySet<string>;\n\n /**\n * @param {ReadonlySet<string>} runtimeRequirements runtime requirements\n */\n constructor(runtimeRequirements: ReadonlySet<string>) {\n super('consumes', RuntimeModule.STAGE_ATTACH);\n this._runtimeRequirements = runtimeRequirements;\n }\n\n /**\n * @returns {string | null} runtime code\n */\n override generate(): string | null {\n const compilation: Compilation = this.compilation!;\n const chunkGraph: ChunkGraph = this.chunkGraph!;\n const { runtimeTemplate, codeGenerationResults } = compilation;\n const chunkToModuleMapping: Record<string, any> = {};\n const moduleIdToSourceMapping: Map<string | number, string> = new Map();\n const initialConsumes: (string | number)[] = [];\n /**\n *\n * @param {Iterable<Module>} modules modules\n * @param {Chunk} chunk the chunk\n * @param {(string | number)[]} list list of ids\n */\n const addModules = (\n modules: Iterable<Module>,\n chunk: Chunk,\n list: (string | number)[],\n ) => {\n for (const m of modules) {\n const module: ConsumeSharedModule = m as ConsumeSharedModule;\n const id = chunkGraph.getModuleId(module);\n list.push(id);\n const moduleGetter = codeGenerationResults.getSource(\n module,\n chunk.runtime,\n 'consume-shared',\n );\n const shareOption = codeGenerationResults.getData(\n module,\n chunk.runtime,\n 'consume-shared',\n );\n const sharedInfoAndHandlerStr = Template.asString([\n '{',\n Template.indent([\n `getter: ${moduleGetter.source().toString()},`,\n `shareInfo: {`,\n Template.indent([\n `shareConfig: ${JSON.stringify(\n shareOption.shareConfig,\n null,\n 2,\n )},`,\n `scope: [${JSON.stringify(\n shareOption.shareScope || 'default',\n )}],`,\n ]),\n '},',\n `shareKey: \"${shareOption.shareKey}\",`,\n ]),\n '}',\n ]);\n moduleIdToSourceMapping.set(id, sharedInfoAndHandlerStr);\n }\n };\n const allChunks = [...(this.chunk?.getAllReferencedChunks() || [])];\n for (const chunk of allChunks) {\n const modules = chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n );\n if (!modules) continue;\n if (!chunk.id) continue;\n\n addModules(\n modules,\n chunk,\n (chunkToModuleMapping[chunk.id.toString()] = []),\n );\n }\n for (const chunk of [...(this.chunk?.getAllInitialChunks() || [])]) {\n const modules = chunkGraph.getChunkModulesIterableBySourceType(\n chunk,\n 'consume-shared',\n );\n if (!modules) continue;\n addModules(modules, chunk, initialConsumes);\n }\n\n if (moduleIdToSourceMapping.size === 0) return null;\n\n const federationGlobal = getFederationGlobalScope(RuntimeGlobals);\n\n return Template.asString([\n // parseVersionRuntimeCode(runtimeTemplate),\n // versionLtRuntimeCode(runtimeTemplate),\n // rangeToStringRuntimeCode(runtimeTemplate),\n // satisfyRuntimeCode(runtimeTemplate),\n // `var ensureExistence = ${runtimeTemplate.basicFunction('scopeName, key', [\n // `var scope = ${RuntimeGlobals.shareScopeMap}[scopeName];`,\n // `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);`,\n // 'return scope;',\n // ])};`,\n // `var findVersion = ${runtimeTemplate.basicFunction('scope, key', [\n // 'var versions = scope[key];',\n // `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n // 'a, b',\n // ['return !a || versionLt(a, b) ? b : a;'],\n // )}, 0);`,\n // 'return key && versions[key]',\n // ])};`,\n // `var findSingletonVersionKey = ${runtimeTemplate.basicFunction(\n // 'scope, key',\n // [\n // 'var versions = scope[key];',\n // `return Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n // 'a, b',\n // ['return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;'],\n // )}, 0);`,\n // ],\n // )};`,\n // `var getInvalidSingletonVersionMessage = ${runtimeTemplate.basicFunction(\n // 'scope, key, version, requiredVersion',\n // [\n // `return \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"`,\n // ],\n // )};`,\n // `var getSingleton = ${runtimeTemplate.basicFunction(\n // 'scope, scopeName, key, requiredVersion',\n // [\n // 'var version = findSingletonVersionKey(scope, key);',\n // 'return get(scope[key][version]);',\n // ],\n // )};`,\n // `var getSingletonVersion = ${runtimeTemplate.basicFunction(\n // 'scope, scopeName, key, requiredVersion',\n // [\n // 'var version = findSingletonVersionKey(scope, key);',\n // 'if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',\n // 'return get(scope[key][version]);',\n // ],\n // )};`,\n // `var getStrictSingletonVersion = ${runtimeTemplate.basicFunction(\n // 'scope, scopeName, key, requiredVersion',\n // [\n // 'var version = findSingletonVersionKey(scope, key);',\n // 'if (!satisfy(requiredVersion, version)) ' +\n // 'throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));',\n // 'return get(scope[key][version]);',\n // ],\n // )};`,\n // `var findValidVersion = ${runtimeTemplate.basicFunction(\n // 'scope, key, requiredVersion',\n // [\n // 'var versions = scope[key];',\n // `var key = Object.keys(versions).reduce(${runtimeTemplate.basicFunction(\n // 'a, b',\n // [\n // 'if (!satisfy(requiredVersion, b)) return a;',\n // 'return !a || versionLt(a, b) ? b : a;',\n // ],\n // )}, 0);`,\n // 'return key && versions[key]',\n // ],\n // )};`,\n // `var getInvalidVersionMessage = ${runtimeTemplate.basicFunction(\n // 'scope, scopeName, key, requiredVersion',\n // [\n // 'var versions = scope[key];',\n // 'return \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\\\n\" +',\n // `\\t\"Available versions: \" + Object.keys(versions).map(${runtimeTemplate.basicFunction(\n // 'key',\n // ['return key + \" from \" + versions[key].from;'],\n // )}).join(\", \");`,\n // ],\n // )};`,\n // `var getValidVersion = ${runtimeTemplate.basicFunction(\n // 'scope, scopeName, key, requiredVersion',\n // [\n // 'var entry = findValidVersion(scope, key, requiredVersion);',\n // 'if(entry) return get(entry);',\n // 'throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',\n // ],\n // )};`,\n // `var warn = ${\n // compilation.outputOptions.ignoreBrowserWarnings\n // ? runtimeTemplate.basicFunction('', '')\n // : runtimeTemplate.basicFunction('msg', [\n // 'if (typeof console !== \"undefined\" && console.warn) console.warn(msg);',\n // ])\n // };`,\n // `var warnInvalidVersion = ${runtimeTemplate.basicFunction(\n // 'scope, scopeName, key, requiredVersion',\n // [\n // 'warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));',\n // ],\n // )};`,\n // `var get = ${runtimeTemplate.basicFunction('entry', [\n // 'entry.loaded = 1;',\n // 'return entry.get()',\n // ])};`,\n // `var init = ${runtimeTemplate.returningFunction(\n // Template.asString([\n // 'function(scopeName, a, b, c) {',\n // Template.indent([\n // `var promise = ${RuntimeGlobals.initializeSharing}(scopeName);`,\n // `if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c));`,\n // `return fn(scopeName, ${RuntimeGlobals.shareScopeMap}[scopeName], a, b, c);`,\n // ]),\n // '}',\n // ]),\n // 'fn',\n // )};`,\n // '',\n // `var load = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key',\n // [\n // 'ensureExistence(scopeName, key);',\n // 'return get(findVersion(scope, key));',\n // ],\n // )});`,\n // `var loadFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, fallback',\n // [\n // `return scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) ? get(findVersion(scope, key)) : fallback();`,\n // ],\n // )});`,\n // `var loadVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version',\n // [\n // 'ensureExistence(scopeName, key);',\n // 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',\n // ],\n // )});`,\n // `var loadSingleton = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key',\n // [\n // 'ensureExistence(scopeName, key);',\n // 'return getSingleton(scope, scopeName, key);',\n // ],\n // )});`,\n // `var loadSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version',\n // [\n // 'ensureExistence(scopeName, key);',\n // 'return getSingletonVersion(scope, scopeName, key, version);',\n // ],\n // )});`,\n // `var loadStrictVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version',\n // [\n // 'ensureExistence(scopeName, key);',\n // 'return getValidVersion(scope, scopeName, key, version);',\n // ],\n // )});`,\n // `var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version',\n // [\n // 'ensureExistence(scopeName, key);',\n // 'return getStrictSingletonVersion(scope, scopeName, key, version);',\n // ],\n // )});`,\n // `var loadVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version, fallback',\n // [\n // `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n // 'return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));',\n // ],\n // )});`,\n // `var loadSingletonFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, fallback',\n // [\n // `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n // 'return getSingleton(scope, scopeName, key);',\n // ],\n // )});`,\n // `var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version, fallback',\n // [\n // `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n // 'return getSingletonVersion(scope, scopeName, key, version);',\n // ],\n // )});`,\n // `var loadStrictVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version, fallback',\n // [\n // `var entry = scope && ${RuntimeGlobals.hasOwnProperty}(scope, key) && findValidVersion(scope, key, version);`,\n // `return entry ? get(entry) : fallback();`,\n // ],\n // )});`,\n // `var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(${runtimeTemplate.basicFunction(\n // 'scopeName, scope, key, version, fallback',\n // [\n // `if(!scope || !${RuntimeGlobals.hasOwnProperty}(scope, key)) return fallback();`,\n // 'return getStrictSingletonVersion(scope, scopeName, key, version);',\n // ],\n // )});`,\n\n 'var installedModules = {};',\n 'var moduleToHandlerMapping = {',\n Template.indent(\n Array.from(moduleIdToSourceMapping, ([key, value]) => {\n return `${JSON.stringify(key)}: ${value}`;\n }).join(',\\n'),\n ),\n '};',\n\n initialConsumes.length > 0\n ? Template.asString([\n `var initialConsumes = ${JSON.stringify(initialConsumes)};`,\n // FIXME: or set installInitialConsumesOptions into federationGlobal.xxOptions?\n `${federationGlobal}.installInitialConsumes= ()=>${federationGlobal}.bundlerRuntime.installInitialConsumes({initialConsumes, installedModules, moduleToHandlerMapping, webpackRequire:${RuntimeGlobals.require}});`,\n // `initialConsumes.forEach(${runtimeTemplate.basicFunction('id', [\n // `${\n // RuntimeGlobals.moduleFactories\n // }[id] = ${runtimeTemplate.basicFunction('module', [\n // '// Handle case when module is used sync',\n // 'installedModules[id] = 0;',\n // `delete ${RuntimeGlobals.moduleCache}[id];`,\n // 'var factory = moduleToHandlerMapping[id]();',\n // 'if(typeof factory !== \"function\") throw new Error(\"Shared module is not available for eager consumption: \" + id);',\n // `module.exports = factory();`,\n // ])}`,\n // ])});`,\n ])\n : '// no consumes in initial chunks',\n this._runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)\n ? Template.asString([\n `var chunkMapping = ${JSON.stringify(\n chunkToModuleMapping,\n null,\n '\\t',\n )};`,\n `${\n RuntimeGlobals.ensureChunkHandlers\n }.consumes = ${runtimeTemplate.basicFunction('chunkId, promises', [\n `${federationGlobal}.bundlerRuntime.consumes({chunkMapping, installedModules, chunkId, moduleToHandlerMapping, promises, webpackRequire:${RuntimeGlobals.require}});`,\n // `if(${RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,\n // Template.indent([\n // `chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction(\n // 'id',\n // [\n // `if(${RuntimeGlobals.hasOwnProperty}(installedModules, id)) return promises.push(installedModules[id]);`,\n // `var onFactory = ${runtimeTemplate.basicFunction(\n // 'factory',\n // [\n // 'installedModules[id] = 0;',\n // `${\n // RuntimeGlobals.moduleFactories\n // }[id] = ${runtimeTemplate.basicFunction('module', [\n // `delete ${RuntimeGlobals.moduleCache}[id];`,\n // 'module.exports = factory();',\n // ])}`,\n // ],\n // )};`,\n // `var onError = ${runtimeTemplate.basicFunction('error', [\n // 'delete installedModules[id];',\n // `${\n // RuntimeGlobals.moduleFactories\n // }[id] = ${runtimeTemplate.basicFunction('module', [\n // `delete ${RuntimeGlobals.moduleCache}[id];`,\n // 'throw error;',\n // ])}`,\n // ])};`,\n // 'try {',\n // Template.indent([\n // 'var promise = moduleToHandlerMapping[id]();',\n // 'if(promise.then) {',\n // Template.indent(\n // \"promises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\",\n // ),\n // '} else onFactory(promise);',\n // ]),\n // '} catch(e) { onError(e); }',\n // ],\n // )});`,\n // ]),\n // '}',\n ])}`,\n ])\n : '// no chunk loading of consumes',\n ]);\n }\n}\n\nexport default ConsumeSharedRuntimeModule;\n"],"names":["ConsumeSharedRuntimeModule","RuntimeModule","generate","compilation","chunkGraph","runtimeTemplate","codeGenerationResults","chunkToModuleMapping","moduleIdToSourceMapping","Map","initialConsumes","addModules","modules","chunk","list","m","module","id","getModuleId","push","moduleGetter","getSource","runtime","shareOption","getData","sharedInfoAndHandlerStr","Template","asString","indent","source","toString","JSON","stringify","shareConfig","shareScope","shareKey","set","allChunks","getAllReferencedChunks","getChunkModulesIterableBySourceType","getAllInitialChunks","size","federationGlobal","getFederationGlobalScope","RuntimeGlobals","Array","from","key","value","join","length","require","_runtimeRequirements","has","ensureChunkHandlers","basicFunction","constructor","runtimeRequirements","STAGE_ATTACH"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideForSharedDependency.d.ts"],"sourcesContent":["export = ProvideForSharedDependency;\ndeclare class ProvideForSharedDependency extends ModuleDependency {}\nimport ModuleDependency = require('webpack/lib/dependencies/ModuleDependency');\n"],"names":["ProvideForSharedDependency"],"mappings":";iBAASA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';
|
|
2
|
+
declare class ProvideForSharedDependency extends ModuleDependency {
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param request request string
|
|
6
|
+
*/
|
|
7
|
+
constructor(request: string);
|
|
8
|
+
get type(): string;
|
|
9
|
+
get category(): string;
|
|
10
|
+
}
|
|
11
|
+
export default ProvideForSharedDependency;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy
|
|
4
|
+
*/ "use strict";
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function() {
|
|
11
|
+
return _default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
15
|
+
const _ModuleDependency = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/dependencies/ModuleDependency"));
|
|
16
|
+
const _makeSerializable = /*#__PURE__*/ _interop_require_default._(require("webpack/lib/util/makeSerializable"));
|
|
17
|
+
let ProvideForSharedDependency = class ProvideForSharedDependency extends _ModuleDependency.default {
|
|
18
|
+
get type() {
|
|
19
|
+
return 'provide module for shared';
|
|
20
|
+
}
|
|
21
|
+
get category() {
|
|
22
|
+
return 'esm';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param request request string
|
|
27
|
+
*/ constructor(request){
|
|
28
|
+
super(request);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
(0, _makeSerializable.default)(ProvideForSharedDependency, 'enhanced/lib/sharing/ProvideForSharedDependency');
|
|
32
|
+
const _default = ProvideForSharedDependency;
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=ProvideForSharedDependency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideForSharedDependency.ts"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy\n*/\n\nimport ModuleDependency from 'webpack/lib/dependencies/ModuleDependency';\nimport makeSerializable from 'webpack/lib/util/makeSerializable';\n\nclass ProvideForSharedDependency extends ModuleDependency {\n /**\n *\n * @param request request string\n */\n constructor(request: string) {\n super(request);\n }\n\n override get type(): string {\n return 'provide module for shared';\n }\n\n override get category(): string {\n return 'esm';\n }\n}\n\nmakeSerializable(\n ProvideForSharedDependency,\n 'enhanced/lib/sharing/ProvideForSharedDependency',\n);\n\nexport default ProvideForSharedDependency;\n"],"names":["ProvideForSharedDependency","ModuleDependency","type","category","constructor","request","makeSerializable"],"mappings":"AAAA;;;AAGA;;;;+BA4BA;;;eAAA;;;;2EA1B6B;2EACA;AAE7B,IAAA,AAAMA,6BAAN,MAAMA,mCAAmCC,yBAAgB;IASvD,IAAaC,OAAe;QAC1B,OAAO;IACT;IAEA,IAAaC,WAAmB;QAC9B,OAAO;IACT;IAdA;;;GAGC,GACDC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;IACR;AASF;AAEAC,IAAAA,yBAAgB,EACdN,4BACA;MAGF,WAAeA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "ProvideSharedDependency", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return ProvideSharedDependency;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
let ProvideSharedDependency = class ProvideSharedDependency extends Dependency {
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=ProvideSharedDependency.d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/enhanced/src/lib/sharing/ProvideSharedDependency.d.ts"],"sourcesContent":["export class ProvideSharedDependency extends Dependency {\n /**\n * @param {ObjectDeserializerContext} context context\n * @returns {ProvideSharedDependency} deserialize fallback dependency\n */\n static deserialize(\n context: ObjectDeserializerContext,\n ): ProvideSharedDependency;\n /**\n * @param {string} shareScope share scope\n * @param {string} name module name\n * @param {string | false} version version\n * @param {string} request request\n * @param {boolean} eager true, if this is an eager dependency\n */\n constructor(\n shareScope: string,\n name: string,\n version: string | false,\n request: string,\n eager: boolean,\n );\n shareScope: string;\n name: string;\n version: string | false;\n request: string;\n eager: boolean;\n}\ndeclare namespace ProvideSharedDependency {\n export { shareScope, ObjectDeserializerContext, ObjectSerializerContext };\n}\nexport type ObjectDeserializerContext =\n import('webpack/lib/serialization/ObjectMiddleware').ObjectDeserializerContext;\ndeclare let shareScope: any;\nexport type ObjectSerializerContext =\n import('webpack/lib/serialization/ObjectMiddleware').ObjectSerializerContext;\n"],"names":["ProvideSharedDependency","Dependency"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,IAAA,AAAMA,0BAAN,MAAMA,gCAAgCC;AA2B7C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Dependency from 'webpack/lib/Dependency';
|
|
2
|
+
import { ObjectDeserializerContext, ObjectSerializerContext } from '../../declarations/plugins/container/Dependency';
|
|
3
|
+
declare class ProvideSharedDependency extends Dependency {
|
|
4
|
+
shareScope: string;
|
|
5
|
+
name: string;
|
|
6
|
+
version: string | false;
|
|
7
|
+
request: string;
|
|
8
|
+
eager: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @param {string} shareScope share scope
|
|
11
|
+
* @param {string} name module name
|
|
12
|
+
* @param {string | false} version version
|
|
13
|
+
* @param {string} request request
|
|
14
|
+
* @param {boolean} eager true, if this is an eager dependency
|
|
15
|
+
*/
|
|
16
|
+
constructor(shareScope: string, name: string, version: string | false, request: string, eager: boolean);
|
|
17
|
+
get type(): string;
|
|
18
|
+
/**
|
|
19
|
+
* @returns {string | null} an identifier to merge equal requests
|
|
20
|
+
*/
|
|
21
|
+
getResourceIdentifier(): string | null;
|
|
22
|
+
/**
|
|
23
|
+
* @param {ObjectSerializerContext} context context
|
|
24
|
+
*/
|
|
25
|
+
serialize(context: ObjectSerializerContext): void;
|
|
26
|
+
/**
|
|
27
|
+
* @param {ObjectDeserializerContext} context context
|
|
28
|
+
* @returns {ProvideSharedDependency} deserialize fallback dependency
|
|
29
|
+
*/
|
|
30
|
+
static deserialize(context: ObjectDeserializerContext): ProvideSharedDependency;
|
|
31
|
+
}
|
|
32
|
+
export default ProvideSharedDependency;
|