On this page

class Module extends DependenciesBlock
Source Code: lib/Module.js#L246

DependenciesBlock is the base class for all Module classes in webpack. It describes a "block" of dependencies which are pointers to other DependenciesBlock instances. For example when a Module has a CommonJs require statement, the DependencyBlock for the CommonJs module would be added as a dependency to the Module. DependenciesBlock is inherited by two types of classes: Module subclasses and AsyncDependenciesBlock subclasses. The only difference between the two is that AsyncDependenciesBlock subclasses are used for code-splitting (async boundary) and Module subclasses are not.

Extended by ExternalModule, NormalModule, RuntimeModule.

new Module(type, context?, layer?): Module
Source Code: lib/Module.js#L253
Attributes
type:string
context:string | null
layer:string | null
Returns:Module

Creates an instance of Module.

Source Code: lib/DependenciesBlock.js#L32
Source Code: lib/Module.js#L290
Source Code: lib/Module.js#L288
Source Code: lib/Module.js#L294
Type:Dependency[]
Source Code: lib/Module.js#L259
Type:string | null
Source Code: lib/Module.js#L267
Type:number
Source Code: lib/DependenciesBlock.js#L30
Type:Dependency[]
Source Code: lib/Module.js#L436
Stability: 0Deprecated
Type:number | null

Returns the depth. Updates the depth using the provided value.

Source Code: lib/Module.js#L273
Source Code: lib/Module.js#L304
Stability: 0Deprecated
Type:string | number | null

Returns the module id assigned by the chunk graph. Updates the module id using the provided value.

Source Code: lib/Module.js#L384
Stability: 0Deprecated
Type:number | null

Returns the pre-order index. Updates the pre-order index using the provided value.

Source Code: lib/Module.js#L410
Stability: 0Deprecated
Type:number | null

Returns the post-order index. Updates the post-order index using the provided value.

Source Code: lib/Module.js#L462
Stability: 0Deprecated
Type:Module | null

Returns the issuer. Updates the issuer using the provided value.

Source Code: lib/Module.js#L261
Type:string | null
Source Code: lib/Module.js#L263
Type:boolean
Source Code: lib/DependenciesBlock.js#L34
Source Code: lib/Module.js#L292
Type:Dependency[]
Source Code: lib/Module.js#L359
Stability: 0Deprecated
Source Code: lib/Module.js#L271
Source Code: lib/Module.js#L257
Type:string
Type:any
Source Code: lib/Module.js#L279
Type:boolean
Source Code: lib/Module.js#L277
Type:boolean
Source Code: lib/Module.js#L607
Stability: 0Deprecated
Type:any
Source Code: lib/Module.js#L636
Type:string

Gets exports argument.

Type:any
Source Code: lib/Module.js#L334
Stability: 0Deprecated
Type:string

Returns the hash of the module.

Type:any
Source Code: lib/Module.js#L644
Type:string

Gets module argument.

Source Code: lib/Module.js#L500
Stability: 0Deprecated
Type:(string | ((requestShortener: RequestShortener) => string))[]

Gets optimization bailout.

Source Code: lib/Module.js#L512
Stability: 0Deprecated
Type:boolean
Source Code: lib/Module.js#L347
Stability: 0Deprecated
Type:string

Returns the rendered hash of the module.

Source Code: lib/Module.js#L487
Stability: 0Deprecated
Type:any
module.addBlock(block): void
Source Code: lib/DependenciesBlock.js#L50
Attributes

Adds a DependencyBlock to DependencyBlock relationship. This is used for when a Module has a AsyncDependencyBlock tie (for code-splitting)

module.addCacheDependencies(fileDependencies, contextDependencies, missingDependencies, buildDependencies): void
Source Code: lib/Module.js#L1268
Attributes
fileDependencies:LazySet<string>
contextDependencies:LazySet<string>
missingDependencies:LazySet<string>
buildDependencies:LazySet<string>

Adds the provided file dependencies to the module.

module.addChunk(chunk): boolean
Source Code: lib/Module.js#L528
Stability: 0Deprecated
Attributes
chunk:Chunk
Returns:boolean

Adds the provided chunk to the module.

module.addCodeGenerationDependency(codeGenerationDependency): void
Source Code: lib/Module.js#L739
Attributes
codeGenerationDependency:Dependency

Adds code generation dependency.

module.addDependency(dependency): void
Source Code: lib/DependenciesBlock.js#L61
Attributes
dependency:Dependency

Adds the provided dependency to the dependencies block.

module.addError(error): void
Source Code: lib/Module.js#L793
Attributes
error:Error

Adds the provided error to the module.

module.addPresentationalDependency(presentationalDependency): void
Source Code: lib/Module.js#L725
Attributes
presentationalDependency:Dependency

Adds presentational dependency.

module.addWarning(warning): void
Source Code: lib/Module.js#L765
Attributes
warning:Error

Adds the provided warning to the module.

module.build(options, compilation, resolver, fs, callback): void
Source Code: lib/Module.js#L1036
Attributes

Builds the module using the provided compilation context.

module.chunkCondition(chunk, compilation): boolean
Source Code: lib/Module.js#L1200
Attributes
chunk:Chunk
compilation:Compilation
Returns:boolean

Returns true if the module can be placed in the chunk.

module.cleanupForCache(): void
Source Code: lib/Module.js#L1248

Assuming this module is in the cache. Remove internal references to allow freeing some memory.

module.clearDependenciesAndBlocks(): void
Source Code: lib/DependenciesBlock.js#L81

Clear dependencies and blocks.

module.clearWarningsAndErrors(): void
Source Code: lib/Module.js#L820

removes all warnings and errors

module.codeGeneration(context): CodeGenerationResult
Source Code: lib/Module.js#L1168
Attributes

Generates code and runtime requirements for this module.

module.deserialize(__namedParameters): void
Source Code: lib/DependenciesBlock.js#L114
Attributes

Restores this instance from the provided deserializer context.

module.getChunks(): Chunk[]
Source Code: lib/Module.js#L583
Stability: 0Deprecated
Returns:Chunk[]
module.getConcatenationBailoutReason(context): string | undefined
Source Code: lib/Module.js#L1150
Attributes

Returns the reason this module cannot be concatenated, when one exists.

module.getErrors(): Error[] | undefined
Source Code: lib/Module.js#L804
Returns:Error[] | undefined

Returns list of errors if any.

module.getExportsType(moduleGraph, strict?): ExportsType
Source Code: lib/Module.js#L658
Attributes
moduleGraph:ModuleGraph
strict:boolean
Returns:ExportsType

Returns export type.

module.getNumberOfChunks(): number
Source Code: lib/Module.js#L595
Stability: 0Deprecated
Returns:number
module.getNumberOfErrors(): number
Source Code: lib/Module.js#L812
Returns:number

Gets number of errors.

module.getNumberOfWarnings(): number
Source Code: lib/Module.js#L784
Returns:number

Gets number of warnings.

module.getReferencedSourceTypes(): ReadonlySet<string> | undefined
Source Code: lib/Module.js#L1059
Returns:ReadonlySet<string> | undefined

Freshly recomputed source types when they depend on incoming connections, for chunk-graph cache invalidation; undefined otherwise. #20800

module.getRootBlock(): DependenciesBlock
Source Code: lib/DependenciesBlock.js#L37
module.getSideEffectsConnectionState(moduleGraph): ConnectionState
Source Code: lib/Module.js#L1159
Attributes
moduleGraph:ModuleGraph

Gets side effects connection state.

module.getSourceBasicTypes(): ReadonlySet<string>
Source Code: lib/Module.js#L1072
Returns:ReadonlySet<string>

Basic source types are high-level categories like javascript, css, webassembly, etc. We only have built-in knowledge about the javascript basic type here; other basic types may be added or changed over time by generators and do not need to be handled or detected here. Some modules, e.g. RemoteModule, may return non-basic source types like "remote" and "share-init" from getSourceTypes(), but their generated output is still JavaScript, i.e. their basic type is JS.

module.getSourceTypes(): ReadonlySet<string>
Source Code: lib/Module.js#L1047
Returns:ReadonlySet<string>

Returns the source types this module can generate.

module.getUnsafeCacheData(): UnsafeCacheData
Source Code: lib/Module.js#L1228

Module should be unsafe cached. Get data that's needed for that. This data will be passed to restoreFromUnsafeCache later.

module.getWarnings(): Error[] | undefined
Source Code: lib/Module.js#L776
Returns:Error[] | undefined

Returns list of warnings if any.

module.hasChunkCondition(): boolean
Source Code: lib/Module.js#L1204
Returns:boolean
module.hasReasonForChunk(chunk, moduleGraph, chunkGraph): boolean
Source Code: lib/Module.js#L899
Attributes
chunk:Chunk
moduleGraph:ModuleGraph
chunkGraph:ChunkGraph
Returns:boolean

Checks whether this module contains the chunk.

module.hasReasons(moduleGraph, runtime): boolean
Source Code: lib/Module.js#L924
Attributes
moduleGraph:ModuleGraph
runtime:RuntimeSpec
Returns:boolean

Checks whether this module contains the module graph.

module.identifier(): string
Source Code: lib/Module.js#L1006
Returns:string

Returns the unique identifier used to reference this module.

module.invalidateBuild(): void
Source Code: lib/Module.js#L996

Invalidates the cached state associated with this value.

module.isAccessibleInChunk(chunkGraph, chunk, ignoreChunk?): boolean
Source Code: lib/Module.js#L856
Attributes
chunkGraph:ChunkGraph
chunk:Chunk
ignoreChunk:Chunk
Returns:boolean

Checks whether this module is accessible in chunk.

module.isAccessibleInChunkGroup(chunkGraph, chunkGroup, ignoreChunk?): boolean
Source Code: lib/Module.js#L871
Attributes
chunkGraph:ChunkGraph
chunkGroup:ChunkGroup
ignoreChunk:Chunk
Returns:boolean

Checks whether this module is accessible in chunk group.

module.isEntryModule(): boolean
Source Code: lib/Module.js#L571
Stability: 0Deprecated
Returns:boolean
module.isInChunk(chunk): boolean
Source Code: lib/Module.js#L559
Stability: 0Deprecated
Attributes
chunk:Chunk
Returns:boolean

Checks whether this module is in the provided chunk.

module.isOptional(moduleGraph): boolean
Source Code: lib/Module.js#L834
Attributes
moduleGraph:ModuleGraph
Returns:boolean

Checks whether this module is optional.

module.isProvided(exportName): boolean | null
Source Code: lib/Module.js#L623
Stability: 0Deprecated
Attributes
exportName:string
Returns:boolean | null

Checks whether this module provides the specified export.

module.libIdent(options): string | null
Source Code: lib/Module.js#L1133
Attributes
Returns:string | null

Gets the library identifier.

module.nameForCondition(): string | null
Source Code: lib/Module.js#L1141
Returns:string | null

Returns the path used when matching this module against rule conditions.

module.needBuild(context, callback): void
Source Code: lib/Module.js#L945
Attributes
callback:(err?: WebpackError | null, needBuild?: boolean) => void

Checks whether the module needs to be rebuilt for the current build state.

module.needRebuild(fileTimestamps, contextTimestamps): boolean
Source Code: lib/Module.js#L961
Stability: 0Deprecated: Use needBuild instead
Attributes
fileTimestamps:Map<string, number | null>
contextTimestamps:Map<string, number | null>
Returns:boolean

Checks whether it needs rebuild.

module.originalSource(): Source | null
Source Code: lib/Module.js#L1257
Returns:Source | null

Gets the original source.

module.readableIdentifier(requestShortener): string
Source Code: lib/Module.js#L1019
Attributes
requestShortener:RequestShortener
Returns:string

Returns a human-readable identifier for this module.

module.removeChunk(chunk): void
Source Code: lib/Module.js#L545
Stability: 0Deprecated
Attributes
chunk:Chunk

Removes the provided chunk from the module.

module.removeDependency(dependency): void
Source Code: lib/DependenciesBlock.js#L70
Attributes
dependency:Dependency

Removes dependency.

module.serialize(__namedParameters): void
Source Code: lib/DependenciesBlock.js#L105
Attributes

Serializes this instance into the provided serializer context.

module.size(type?): number
Source Code: lib/Module.js#L1122
Attributes
type:string
Returns:number

Returns the estimated size for the requested source type.

module.source(dependencyTemplates, runtimeTemplate, type?): Source
Source Code: lib/Module.js#L1085
Stability: 0Deprecated: Use codeGeneration() instead
Attributes
dependencyTemplates:DependencyTemplates
runtimeTemplate:RuntimeTemplate
type:string
Returns:Source

Returns generated source.

module.updateCacheModule(module): void
Source Code: lib/Module.js#L1215
Attributes
module:Module

Assuming this module is in the cache. Update the (cached) module with the fresh module from the factory. Usually updates internal references and properties.

module.updateHash(hash, context): void
Source Code: lib/DependenciesBlock.js#L92
Attributes

Updates the hash with the data contributed by this instance.

Module.getSourceBasicTypes(module): ReadonlySet<string>
Source Code: lib/Module.js#L1072
Stability: 0Deprecated: In webpack 6, call getSourceBasicTypes() directly on the module instance instead of using this static method.
Attributes
module:Module
Returns:ReadonlySet<string>

Gets source basic types.