Reputation: 8279
I want is to stop displaying build logs like this:
Hash: 5a2a3d23f88174970ed8
Version: webpack 3.12.0
Time: 22209ms
Asset Size Chunks Chunk Names
pages/widgets/index.51838abe9967a9e0b5ff.js 1.17 kB 10 [emitted] pages/widgets/index
img/icomoon.7f1da5a.svg 5.38 kB [emitted]
fonts/icomoon.2d429d6.ttf 2.41 kB [emitted]
img/fontawesome-webfont.912ec66.svg 444 kB [emitted] [big]
fonts/fontawesome-webfont.b06871f.ttf 166 kB [emitted]
img/mobile.8891a7c.png 39.6 kB [emitted]
img/play_button.6b15900.png 14.8 kB [emitted]
img/keyword-back.f95e10a.jpg 43.4 kB [emitted]
fonts/icomoon.16db67c.woff 2.49 kB [emitted]
fonts/icomoon.2fcbf50.eot 2.58 kB [emitted]
fonts/fontawesome-webfont.674f50d.eot 166 kB [emitted]
fonts/fontawesome-webfont.fee66e7.woff 98 kB [emitted]
.
.
.
I was using ava
to run tests. But these logs are annoying me. I tried to set webpack stats
config in nuxt.config.js
, but it is not working. Can someone provide any help?
// Does not work
{
...
build: {
...
extend (config, { isClient }) {
...
if (process.env.NODE_ENV === 'test') {
config.stats = 'errors-only'
}
}
}
...
}
Update: The following can hide assets logs, but it still shows warnings:
// Works, but does not hide warnings
{
...
build: {
stats: process.env.NODE_ENV === 'test' ? 'errors-only' {
chunks: false,
children: false,
modules: false,
colors: true,
assets: true,
warnings: true,
errors: true,
excludeAssets: [
/.map$/,
/index\..+\.html$/,
/vue-ssr-client-manifest.json/
]
},
...
}
...
}
But this does not hide the warnings:
WARNING Compiled with 2 warnings
warning
asset size limit: The following asset(s) exceed the recommended size limit (300 kB).
This can impact web performance.
Assets:
img/fontawesome-webfont.912ec66.svg (444 kB)
vendor.4db9bb219a2a9c02d939.js (726 kB)
app.f14777ec0017fec245a3.js (546 kB)
warning
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (1 MB). This can impact web performance.
Entrypoints:
app (1.27 MB)
manifest.4eb49c6cde9aa836f4d4.js
vendor.4db9bb219a2a9c02d939.js
app.f14777ec0017fec245a3.js
Upvotes: 5
Views: 2698
Reputation: 17621
You could do something like this
build: {
stats: process.env.NODE_ENV === 'test' ? 'errors-only' : { // default config here for non test build. Nuxt default could be seen here
https://github.com/nuxt/nuxt.js/blob/567dc860c1393ccf0e849b032b69edddd5b6b7bb/lib/common/nuxt.config.js#L93
}
...
}
Upvotes: 3
Reputation: 7391
Here's a suggestion for your webpack config:
module.exports = {
devServer: {
stats: {
colors: true,
hash: false,
version: false,
timings: false,
assets: false,
chunks: false,
modules: false,
reasons: false,
children: false,
source: false,
errors: false,
errorDetails: false,
warnings: false,
publicPath: false
}
}
}
The key ones to disable are hash
, version
, timings
, assets
, chunks
.
This should reduce build times and suppress logging.
Note: this suggestion comes from Webpack: silence output. I couldn't flag this question as a duplicate though, as it has a bounty. :)
Upvotes: 2