From 9f72e4a6e2829a74cf2fc86b63392065f086a700 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 8 Dec 2017 12:12:18 +0330 Subject: [PATCH] refactor: warnfix plugin --- lib/builder/builder.js | 2 +- lib/builder/webpack/base.config.js | 19 ++++--------------- lib/builder/webpack/warnfix-plugin.js | 15 +++++++++++++++ 3 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 lib/builder/webpack/warnfix-plugin.js diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 2536b04655..1b00282947 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -74,7 +74,7 @@ export default class Builder { return { src: this.nuxt.resolvePath(p.src), ssr: (p.ssr !== false), - name: basename(p.src, extname(p.src)).replace(/[^a-zA-Z?\d\s:]/g, '') + '_' + hash(p.src) + name: basename(p.src, 'nuxt_plugin_' + extname(p.src)).replace(/[^a-zA-Z?\d\s:]/g, '') + '_' + hash(p.src) } }), p => p.name) } diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index 47e55c1158..75bf3af984 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -4,6 +4,7 @@ import { join, resolve } from 'path' import webpack from 'webpack' import { isUrl, urlJoin } from 'utils' import TimeFixPlugin from './timefix-plugin' +import WarnFixPlugin from './warnfix-plugin' /* |-------------------------------------------------------------------------- @@ -110,6 +111,9 @@ export default function webpackBaseConfig(name) { config.plugins.unshift(new TimeFixPlugin()) } + // Hide warnings about plugins without a default export (#1179) + config.plugins.push(new WarnFixPlugin()) + // CSS extraction const extractCSS = this.options.build.extractCSS if (extractCSS) { @@ -120,21 +124,6 @@ export default function webpackBaseConfig(name) { config.plugins.push(new ExtractTextPlugin(extractOptions)) } - // Workaround for hiding Warnings about plugins without a default export (#1179) - /* istanbul ignore next */ - config.plugins.push({ - apply(compiler) { - compiler.plugin('done', stats => { - stats.compilation.warnings = stats.compilation.warnings.filter(warn => { - if (warn.name === 'ModuleDependencyWarning' && warn.message.includes(`export 'default'`) && warn.message.includes('plugin')) { - return false - } - return true - }) - }) - } - }) - // -------------------------------------- // Dev specific config // -------------------------------------- diff --git a/lib/builder/webpack/warnfix-plugin.js b/lib/builder/webpack/warnfix-plugin.js new file mode 100644 index 0000000000..57a4d1f0bb --- /dev/null +++ b/lib/builder/webpack/warnfix-plugin.js @@ -0,0 +1,15 @@ +export default class WarnFixPlugin { + apply(compiler) { + compiler.plugin('done', stats => { + stats.compilation.warnings = stats.compilation.warnings.filter(warn => { + /* istanbul ignore next */ + if (warn.name === 'ModuleDependencyWarning' && + warn.message.includes(`export 'default'`) && + warn.message.indexOf('nuxt_plugin_') === 0) { + return false + } + return true + }) + }) + } +}