Prevent files that are matching a pattern from being emitted in a webpack build. This is achieved with a webpack plugin.
You can easily ignore file by accident - use with care.
npm i --save-dev ignore-emit-webpack-plugin
Typescript
// webpack.config.js
import IgnoreEmitPlugin from 'ignore-emit-webpack-plugin';
export default {
// ...
plugins: [
new IgnoreEmitPlugin(/\.map$/)
]
};
JS
// webpack.config.js
const IgnoreEmitPlugin = require('ignore-emit-webpack-plugin');
module.exports = {
// ...
plugins: [ new IgnoreEmitPlugin(/\.map$/) ]
// ...
};
The module is written in Node 8.x flavored es6.
To get the es5 transpiled version use require('ignore-emit-webpack-plugin/es5')
Signature: new IgnoreEmitPlugin(patterns, options)
- patterns
{RegExp|string|Array.<RegExp|string>}
- regex, string or array with mixed regex/strings (deep nesting allowed), to match against the OUTPUT path of assets. - options
{object}
- optional, options object- options.debug
{boolean}
- prints extra logs
- options.debug
not defining patterns or defining invalid pattern will throw error.
// single regex
new IgnoreEmitPlugin(/\/artifacy.js$/);
// single regex in array
new IgnoreEmitPlugin([ /\/artifacy.js$/ ]);
// mixed array
new IgnoreEmitPlugin([ 'file.woff', /\/artifacy.js$/ ]);
// you can also do this - but you really shouldn't
new IgnoreEmitPlugin([ [ [ [ /\/artifacy.js$/ ] ] ] ]);
// file.js
// dir/file.js
new IgnoreEmitPlugin('file.js'); // both file.js and dir/file.js ignored
new IgnoreEmitPlugin(/\/file\.js/); // only dir/file.js is ignored
new IgnoreEmitPlugin(/^file\.js/); // only file.js is ignored
Contribution would be much appreciated. Either by creating pull requests of opening issues.