This plugin enables more fine grained control of source map generation. It is also enabled automatically by certain settings of thedevtool
configuration option.
newwebpack.EvalSourceMapDevToolPlugin(options);
The following options are supported:
test
(string|RegExp|array
): Include source maps for modules based on their extension (defaults to.js
and.css
).
include
(string|RegExp|array
): Include source maps for module paths that match the given value.
exclude
(string|RegExp|array
): Exclude modules that match the given value from source map generation.
append
(string|function
): Appends the given value to the original asset. Usually the#sourceMappingURL
comment.[url]
is replaced with a URL to the source map file.
Starting from version 5.84.0, webpack allows theappend
option to be a function that accepts path data and an asset info object as arguments, and returns a string.
(pathData: PathData, assetInfo?: AssetInfo)=>string;
moduleFilenameTemplate
(string
): Seeoutput.devtoolModuleFilenameTemplate
.
module
(boolean
): Indicates whether loaders should generate source maps (defaults totrue
).
columns
(boolean
): Indicates whether column mappings should be used (defaults totrue
).
protocol
(string
): Allows user to override default protocol (webpack-internal://
)
Settingmodule
and/orcolumns
tofalse
will yield less accurate source maps but will also improve compilation performance significantly.
If you want to use a custom configuration for this plugin indevelopment mode, make sure to disable the default one. I.e. setdevtool: false
.
The following examples demonstrate some common use cases for this plugin.
You can use the following code to replace the configuration optiondevtool: eval-source-map
with an equivalent custom plugin configuration:
module.exports={// ... devtool:false, plugins:[newwebpack.EvalSourceMapDevToolPlugin({})],};
The following code would exclude source maps for any modules in thevendor.js
bundle:
newwebpack.EvalSourceMapDevToolPlugin({ exclude:['vendor.js'],});