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-pluginFirst, 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");
}