yunohost-admin/app/vue.config.js
2023-04-03 18:22:38 +02:00

90 lines
1.6 KiB
JavaScript

const webpack = require('webpack')
const fs = require('fs')
const dateFnsLocales = [
'ar',
'ar-DZ', // for `kab`
'bn', // for 'bn_BD'
'ca', // for 'ca' & 'oc'
'cs',
'da',
'de',
'el',
'en-GB', // for 'en' & 'ne'
'eo',
'es',
'eu',
'fa-IR',
'fi',
'fr', // for 'fr' & 'br'
'gl',
'he',
'hi',
'hu',
'id',
'it',
'lt',
'mk',
'nb', // for 'nb_NO'
'nl',
'oc',
'pl',
'pt',
'pt-BR',
'ru',
'sl',
'sv',
'tr',
'uk',
'zh_CN' // for 'zh_Hans'
]
module.exports = {
configureWebpack: {
plugins: [
// Will limit the available locales so webpack won't generate chunks for every
// locales found in `date-fns/locales/` but only those listed.
new webpack.ContextReplacementPlugin(
/date-fns[/\\]/,
new RegExp(`[/\\\\](${dateFnsLocales.join('|')})[/\\\\]index.js$`)
)
]
},
pluginOptions: {
i18n: {
locale: 'en',
fallbackLocale: 'en',
localeDir: 'src/i18n/locales',
enableInSFC: false
}
},
css: {
loaderOptions: {
sass: {
additionalData: '@import "@/scss/_variables.scss";'
}
}
},
publicPath: '/yunohost/admin',
devServer: process.env.NODE_ENV === 'development'
? {
public: fs.readFileSync('/etc/yunohost/current_host', 'utf8'),
https: false,
allowedHosts: 'all',
proxy: {
'^/yunohost': {
target: `http://${process.env.VUE_APP_IP}`,
ws: true,
logLevel: 'info'
}
},
static: {
watch: {
ignored: /node_modules/,
aggregateTimeout: 300,
poll: 1000
}
}
}
: {}
}