NormalModuleFactory and ContextModuleFactory.
NormalModuleFactory
The NormalModuleFactory creates normal modules (most JavaScript/TypeScript files, JSON, etc.).Accessing NormalModuleFactory
NormalModuleFactory Hooks
resolve
factorize
beforeResolve
false to skip resolving.
afterResolve
createModule
module
createParser
parser
createGenerator
generator
ContextModuleFactory
The ContextModuleFactory handles dynamic requires likerequire('./templates/' + name + '.js').
Accessing ContextModuleFactory
ContextModuleFactory Hooks
beforeResolve
afterResolve
contextModuleFiles
Parser Hooks (JavaScript)
When you access a parser throughnormalModuleFactory.hooks.parser, you get access to numerous hooks for customizing code parsing.
Common Parser Hooks
program
statement
expression
call
import
Complete Example: Custom Module Type
Complete Example: Provide Global Variables
Module Types
Common module types you can hook into:javascript/auto- Auto-detect ESM or CommonJSjavascript/dynamic- CommonJSjavascript/esm- ES Modulesjson- JSON filesasset- Asset modulesasset/source- Source assetsasset/resource- Resource assetsasset/inline- Inline assetswebassembly/async- Async WebAssemblywebassembly/sync- Sync WebAssemblycss- CSS filescss/module- CSS Modules
ResolveData Structure
TheResolveData object contains:
See Also
- Parser Hooks - Detailed parser hooks reference
- Compilation Hooks - Compilation lifecycle
- Compiler Hooks - Compiler lifecycle