@module-federation/enhanced
Version:
This package provides enhanced features for module federation.
271 lines (269 loc) • 7.94 kB
JavaScript
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
//#region src/schemas/container/ContainerPlugin.ts
var ContainerPlugin_default = {
definitions: {
AmdContainer: {
description: "Add a container for define/require functions in the AMD module.",
type: "string",
minLength: 1
},
AuxiliaryComment: {
description: "Add a comment in the UMD wrapper.",
anyOf: [{
description: "Append the same comment above each import style.",
type: "string"
}, { $ref: "#/definitions/LibraryCustomUmdCommentObject" }]
},
EntryRuntime: {
description: "The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.",
anyOf: [{ enum: [false] }, {
type: "string",
minLength: 1
}]
},
Exposes: {
description: "Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.",
anyOf: [{
type: "array",
items: {
description: "Modules that should be exposed by this container.",
anyOf: [{ $ref: "#/definitions/ExposesItem" }, { $ref: "#/definitions/ExposesObject" }]
}
}, { $ref: "#/definitions/ExposesObject" }]
},
ExposesConfig: {
description: "Advanced configuration for modules that should be exposed by this container.",
type: "object",
additionalProperties: false,
properties: {
import: {
description: "Request to a module that should be exposed by this container.",
anyOf: [{ $ref: "#/definitions/ExposesItem" }, { $ref: "#/definitions/ExposesItems" }]
},
name: {
description: "Custom chunk name for the exposed module.",
type: "string"
}
},
required: ["import"]
},
ExposesItem: {
description: "Module that should be exposed by this container.",
type: "string",
minLength: 1
},
ExposesItems: {
description: "Modules that should be exposed by this container.",
type: "array",
items: { $ref: "#/definitions/ExposesItem" }
},
ExposesObject: {
description: "Modules that should be exposed by this container. Property names are used as public paths.",
type: "object",
additionalProperties: {
description: "Modules that should be exposed by this container.",
anyOf: [
{ $ref: "#/definitions/ExposesConfig" },
{ $ref: "#/definitions/ExposesItem" },
{ $ref: "#/definitions/ExposesItems" }
]
}
},
LibraryCustomUmdCommentObject: {
description: "Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.",
type: "object",
additionalProperties: false,
properties: {
amd: {
description: "Set comment for `amd` section in UMD.",
type: "string"
},
commonjs: {
description: "Set comment for `commonjs` (exports) section in UMD.",
type: "string"
},
commonjs2: {
description: "Set comment for `commonjs2` (module.exports) section in UMD.",
type: "string"
},
root: {
description: "Set comment for `root` (global variable) section in UMD.",
type: "string"
}
}
},
LibraryCustomUmdObject: {
description: "Description object for all UMD variants of the library name.",
type: "object",
additionalProperties: false,
properties: {
amd: {
description: "Name of the exposed AMD library in the UMD.",
type: "string",
minLength: 1
},
commonjs: {
description: "Name of the exposed commonjs export in the UMD.",
type: "string",
minLength: 1
},
root: {
description: "Name of the property exposed globally by a UMD library.",
anyOf: [{
type: "array",
items: {
description: "Part of the name of the property exposed globally by a UMD library.",
type: "string",
minLength: 1
}
}, {
type: "string",
minLength: 1
}]
}
}
},
LibraryExport: {
description: "Specify which export should be exposed as library.",
anyOf: [{
type: "array",
items: {
description: "Part of the export that should be exposed as library.",
type: "string",
minLength: 1
}
}, {
type: "string",
minLength: 1
}]
},
LibraryName: {
description: "The name of the library (some types allow unnamed libraries too).",
anyOf: [
{
type: "array",
items: {
description: "A part of the library name.",
type: "string",
minLength: 1
},
minItems: 1
},
{
type: "string",
minLength: 1
},
{ $ref: "#/definitions/LibraryCustomUmdObject" }
]
},
LibraryOptions: {
description: "Options for library.",
type: "object",
additionalProperties: false,
properties: {
amdContainer: { $ref: "#/definitions/AmdContainer" },
auxiliaryComment: { $ref: "#/definitions/AuxiliaryComment" },
export: { $ref: "#/definitions/LibraryExport" },
name: { $ref: "#/definitions/LibraryName" },
type: { $ref: "#/definitions/LibraryType" },
umdNamedDefine: { $ref: "#/definitions/UmdNamedDefine" }
},
required: ["type"]
},
LibraryType: {
description: "Type of library (types included by default are 'var', 'module', 'assign', 'assign-properties', 'this', 'window', 'self', 'global', 'commonjs', 'commonjs2', 'commonjs-module', 'commonjs-static', 'amd', 'amd-require', 'umd', 'umd2', 'jsonp', 'system', but others might be added by plugins).",
anyOf: [{ enum: [
"var",
"module",
"assign",
"assign-properties",
"this",
"window",
"self",
"global",
"commonjs",
"commonjs2",
"commonjs-module",
"commonjs-static",
"amd",
"amd-require",
"umd",
"umd2",
"jsonp",
"system"
] }, { type: "string" }]
},
UmdNamedDefine: {
description: "If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.",
type: "boolean"
}
},
title: "ContainerPluginOptions",
type: "object",
additionalProperties: false,
properties: {
exposes: { $ref: "#/definitions/Exposes" },
filename: {
description: "The filename for this container relative path inside the `output.path` directory.",
type: "string",
absolutePath: false,
minLength: 1
},
library: { $ref: "#/definitions/LibraryOptions" },
name: {
description: "The name for this container.",
type: "string",
minLength: 1
},
runtime: { $ref: "#/definitions/EntryRuntime" },
shareScope: {
description: "The name of the share scope which is shared with the host (defaults to 'default').",
anyOf: [{
type: "string",
minLength: 1
}, {
type: "array",
items: {
type: "string",
minLength: 1
}
}]
},
experiments: {
description: "Experimental features configuration",
type: "object",
additionalProperties: false,
properties: {
asyncStartup: {
description: "Enable async startup for the container",
type: "boolean"
},
externalRuntime: {
description: "After setting true, the external MF runtime will be used and the runtime provided by the consumer will be used. (Please make sure your consumer has provideExternalRuntime: true set, otherwise it will not run properly!)",
type: "boolean",
default: false
},
provideExternalRuntime: {
description: "Enable providing external runtime",
type: "boolean",
default: false
}
}
},
runtimePlugins: {
description: "Array of runtime plugins to be applied",
type: "array",
items: { anyOf: [{ type: "string" }, {
type: "array",
items: [{ type: "string" }, { type: "object" }],
minItems: 2,
maxItems: 2
}] }
}
},
required: ["name", "exposes"]
};
//#endregion
exports.default = ContainerPlugin_default;
//# sourceMappingURL=ContainerPlugin.js.map