/** * 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. */ export type Exposes = (ExposesItem | ExposesObject)[] | ExposesObject; /** * Module that should be exposed by this container. */ export type ExposesItem = string; /** * Modules that should be exposed by this container. */ export type ExposesItems = ExposesItem[]; /** * Add a container for define/require functions in the AMD module. */ export type AmdContainer = string; /** * Add a comment in the UMD wrapper. */ export type AuxiliaryComment = string | LibraryCustomUmdCommentObject; /** * Specify which export should be exposed as library. */ export type LibraryExport = string[] | string; /** * The name of the library (some types allow unnamed libraries too). */ export type LibraryName = string[] | string | LibraryCustomUmdObject; /** * 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). */ export type LibraryType = ('var' | 'module' | 'assign' | 'assign-properties' | 'this' | 'window' | 'self' | 'global' | 'commonjs' | 'commonjs2' | 'commonjs-module' | 'commonjs-static' | 'amd' | 'amd-require' | 'umd' | 'umd2' | 'jsonp' | 'system') | string; /** * If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module. */ export type UmdNamedDefine = boolean; /** * The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime. */ export type EntryRuntime = false | string; /** * Enable Data Prefetch */ export type DataPrefetch = boolean; export interface ContainerPluginOptions { /** * 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. */ exposes: Exposes; /** * The filename for this container relative path inside the `output.path` directory. */ filename?: string; /** * Options for library. */ library?: LibraryOptions; /** * The name for this container. */ name: string; /** * The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime. */ runtime?: EntryRuntime; /** * The name of the share scope which is shared with the host (defaults to 'default'). */ shareScope?: string | string[]; /** * Runtime plugin file paths or package name. */ runtimePlugins?: string[]; dataPrefetch?: DataPrefetch; } /** * Modules that should be exposed by this container. Property names are used as public paths. */ export interface ExposesObject { /** * Modules that should be exposed by this container. */ [k: string]: ExposesConfig | ExposesItem | ExposesItems; } /** * Advanced configuration for modules that should be exposed by this container. */ export interface ExposesConfig { /** * Request to a module that should be exposed by this container. */ import: ExposesItem | ExposesItems; /** * Custom chunk name for the exposed module. */ name?: string; } /** * Options for library. */ export interface LibraryOptions { /** * Add a container for define/require functions in the AMD module. */ amdContainer?: AmdContainer; /** * Add a comment in the UMD wrapper. */ auxiliaryComment?: AuxiliaryComment; /** * Specify which export should be exposed as library. */ export?: LibraryExport; /** * The name of the library (some types allow unnamed libraries too). */ name?: LibraryName; /** * 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). */ type: LibraryType; /** * If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module. */ umdNamedDefine?: UmdNamedDefine; } /** * Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`. */ export interface LibraryCustomUmdCommentObject { /** * Set comment for `amd` section in UMD. */ amd?: string; /** * Set comment for `commonjs` (exports) section in UMD. */ commonjs?: string; /** * Set comment for `commonjs2` (module.exports) section in UMD. */ commonjs2?: string; /** * Set comment for `root` (global variable) section in UMD. */ root?: string; } /** * Description object for all UMD variants of the library name. */ export interface LibraryCustomUmdObject { /** * Name of the exposed AMD library in the UMD. */ amd?: string; /** * Name of the exposed commonjs export in the UMD. */ commonjs?: string; /** * Name of the property exposed globally by a UMD library. */ root?: string[] | string; }