A Webpack plugin to ignore-listing code in Chrome devtools. To see how ignore-listing helps your development experience, check out this offical demo. This plugin is based on the plugin implemented in Angular CLI project.
Note: This plugin is only for Webpack 5.
npm install --save-dev devtools-ignore-webpack-plugin
First, follow webpack's guide to enable source maps in your project. Please note that the "inline" source map options are not supported yet.
Then, add the plugin to your webpack config:
const DevToolsIgnorePlugin = require("devtools-ignore-webpack-plugin");
module.exports = {
// ...,
plugins: [new DevToolsIgnorePlugin()],
};
Currently, this plugin supports two options: shouldIgnorePath
and isSourceMapAsset
.
shouldIgnorePath
is a function that checks whether a source file should be ignored. The function takes a single argument, which is the path of the file. It should return a boolean value.
new DevToolsIgnorePlugin({
shouldIgnorePath: function (path) {
if (path.includes("my-lib")) {
return false;
}
return path.includes("/node_modules/") || path.includes("/webpack/");
},
});
When not specified, the default function is:
function defaultShouldIgnorePath(path) {
return path.includes("/node_modules/") || path.includes("/webpack/");
}
isSourceMapAsset
is a function that checks whether a map file is potentially a source map asset. The function takes a single argument, which is the name of the potential source map asset. It should return a boolean value.
Note: This should rarely be needed. Known scenarios include only looking at .js.map
in rare scenarios where you have other files that end in .map
new DevToolsIgnorePlugin({
isSourceMapAsset: function (name) {
return name.endsWith(".js.map"); // if you have other files that end in .map
},
});
When not specified, the default function is:
function defaultisSourceMapAsset(name) {
return name.endsWith(".map");
}