@controlla/cli
Version:
Command line interface for rapid Controlla projects development
172 lines (171 loc) • 4.11 kB
JavaScript
module.exports = {
mode: 'universal',
/*
** Headers of the page
*/
head: {
title: process.env.npm_package_name || '',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ name: 'keywords', content: '' },
{
hid: 'description',
name: 'description',
content: process.env.npm_package_description || ''
}
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{
rel: 'apple-touch-icon',
sizes: '180x180',
href: '/apple-touch-icon.png'
},
{
rel: 'icon',
type: 'image/png',
sizes: '32x32',
href: '/favicon-32x32.png'
},
{
rel: 'icon',
type: 'image/png',
sizes: '16x16',
href: '/favicon-16x16.png'
},
{ rel: 'mask-icon', color: '#5bbad5', href: '/safari-pinned-tab.svg' },
{ name: 'msapplication-TileColor', content: '#00b9e3' },
{
rel: 'stylesheet',
href:
'https://fonts.googleapis.com/css2?family=Spartan:wght@100;200;300;400;500;600;700;800;900&display=swap'
}
]
},
/*
** Customize the progress-bar color
*/
loading: { color: '#00B9E3' },
loadingIndicator: {
name: 'circle',
color: '#3B8070',
background: 'white'
},
/*
** Global CSS
*/
css: ['normalize.css/normalize.css'],
/*
** Plugins to load before mounting the App
*/
plugins: [
'~/plugins/vue-lazysizes.client.js',
'~/plugins/locomotiveScroll.client.js',
'~/plugins/vuex-persist.client.js'
],
/*
** Nuxt.js dev-modules
*/
buildModules: [
// Doc: https://github.com/nuxt-community/eslint-module
'@nuxtjs/eslint-module',
// Doc: https://github.com/nuxt-community/stylelint-module
'@nuxtjs/stylelint-module',
// Doc: https://github.com/nuxt-community/gtm-module
'@nuxtjs/gtm',
// Doc: https://aceforth.com/docs/nuxt-optimized-images/
'@aceforth/nuxt-optimized-images'
],
/*
** Nuxt.js modules
*/
modules: [
// Doc: https://axios.nuxtjs.org/usage
'@nuxtjs/axios',
'@nuxtjs/pwa',
// Doc: https://github.com/nuxt-community/dotenv-module
'@nuxtjs/dotenv',
// Doc: https://github.com/nuxt-community/sitemap-module
'@nuxtjs/sitemap',
// Doc: https://github.com/WilliamDASILVA/nuxt-facebook-pixel-module#readme
'nuxt-facebook-pixel-module'
],
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
pwa: {
manifest: {
lang: 'es',
theme_color: '#00B9E3'
}
},
/*
** Sitemap module configuration
** See https://github.com/nuxt-community/sitemap-module#sitemap-options
*/
sitemap: {
hostname: 'http://example.com',
gzip: true,
exclude: ['/admin/**']
},
/*
** Gtm module configuration
** See https://github.com/nuxt-community/gtm-module#options
*/
gtm: {
id: 'GTM_ID'
},
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
axios: {
baseURL: 'http://{{ name }}.test'
},
/*
** Optimized Images module configuration
** See https://aceforth.com/docs/nuxt-optimized-images/configuration
*/
optimizedImages: {
inlineImageLimit: -1,
handleImages: ['jpeg', 'png', 'svg', 'webp', 'gif'],
optimizeImages: true,
optimizeImagesInDev: false,
defaultImageLoader: 'img-loader',
mozjpeg: {
quality: 85
},
optipng: false,
pngquant: {
speed: 7,
quality: [0.65, 0.8]
},
webp: {
quality: 85
}
},
facebook: {
/* module options */
track: 'PageView',
pixelId: 'FACEBOOK_PIXEL_ID',
disabled: true
},
/*
** Build configuration
*/
generate: {
dir: 'controlla'
},
build: {
/*
** You can extend webpack config here
*/
extend(config, { isDev, isClient, loaders: { vue } }) {
vue.transformAssetUrls.img = ['data-src', 'src']
vue.transformAssetUrls.source = ['data-srcset', 'srcset']
},
transpile: ['gsap']
}
}