SourceMapDevToolPlugin
This plugin enables more fine grained control of source map generation. It is also enabled automatically by certain settings of the devtool configuration option.
Options
test
- Type:
stringRegExp[string, RegExp]
Include source maps for modules based on their extension (defaults to .js, .mjs, and .css).
include
- Type:
stringRegExp[string, RegExp]
Include source maps for module paths that match the given value.
exclude
- Type:
stringRegExp[string, RegExp]
Exclude modules that match the given value from source map generation.
filename
- Type: string
Defines the output filename of the SourceMap (will be inlined if no value is provided).
append
- Type:
stringfunction
Appends the given value to the original asset. Usually the #sourceMappingURL comment. [url] is replaced with a URL to the source map file. Path parameters are supported: [chunk], [filename] and [contenthash]. Setting append to false disables the appending.
moduleFilenameTemplate
- Type:
string
See output.devtoolModuleFilenameTemplate.
fallbackModuleFilenameTemplate
- Type:
string
See link above.
namespace
- Type:
string
module
- Type:
boolean - Default:
true
Indicates whether loaders should generate source maps.
columns
- Type:
boolean - Default:
true
Indicates whether column mappings should be used.
noSources
- Type:
boolean - Default:
false
Prevents the source file content from being included in the source map.
publicPath
- Type:
string
Emits absolute URLs with public path prefix, e.g. https://example.com/project/.
fileContext
- Type:
string
Makes the [file] argument relative to this directory.
The fileContext option is useful when you want to store source maps in an upper level directory to avoid ../../ appearing in the absolute [url].
sourceRoot
- Type:
string
Provide a custom value for the sourceRoot property in the SourceMap.
Setting module and/or columns to false will yield less accurate source maps but will also improve compilation performance significantly.
If you want to use a custom configuration for this plugin in development mode, make sure to disable the default one. I.e. set devtool: false.
Examples
The following examples demonstrate some common use cases for this plugin.
Basic use case
You can use the following code to replace the configuration option devtool: inline-source-map with an equivalent custom plugin configuration:
Exclude vendor maps
The following code would exclude source maps for any modules in the vendor.js bundle:
Host source maps externally
Set a URL for source maps. Useful for hosting them on a host that requires authorization.
And for cases when source maps are stored in the upper level directory:
With the following config:
Will produce the following URL:
This page is adapted from webpack documentation under the CC BY 4.0, with modifications.

