25 lines
901 B
JavaScript
25 lines
901 B
JavaScript
|
const ModuleDependencyWarning = require('webpack/lib/ModuleDependencyWarning');
|
||
|
|
||
|
// supress unfortunate warnings due to transpileOnly=true and certain ts export patterns
|
||
|
// https://github.com/TypeStrong/ts-loader/issues/653#issuecomment-390889335
|
||
|
// https://github.com/TypeStrong/ts-loader/issues/751
|
||
|
|
||
|
module.exports = class IgnoreNotFoundExportPlugin {
|
||
|
apply(compiler) {
|
||
|
const messageRegExp = /export '.*'( \(reexported as '.*'\))? was not found in/;
|
||
|
function doneHook(stats) {
|
||
|
stats.compilation.warnings = stats.compilation.warnings.filter(function(warn) {
|
||
|
if (warn instanceof ModuleDependencyWarning && messageRegExp.test(warn.message)) {
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
});
|
||
|
}
|
||
|
if (compiler.hooks) {
|
||
|
compiler.hooks.done.tap('IgnoreNotFoundExportPlugin', doneHook);
|
||
|
} else {
|
||
|
compiler.plugin('done', doneHook);
|
||
|
}
|
||
|
}
|
||
|
};
|