78 lines
1.7 KiB
JavaScript
78 lines
1.7 KiB
JavaScript
const path = require('path')
|
|
const webpack = require('webpack')
|
|
const generate = require('generate-file-webpack-plugin')
|
|
|
|
const fs = require('fs')
|
|
const packageJson = fs.readFileSync('./package.json')
|
|
const version = JSON.parse(packageJson).version || 0
|
|
|
|
module.exports = {
|
|
productionSourceMap: false,
|
|
transpileDependencies: [ 'vuetify' ],
|
|
pluginOptions: {
|
|
i18n: {
|
|
locale: 'en',
|
|
fallbackLocale: 'en',
|
|
localeDir: 'locales',
|
|
enableInSFC: true
|
|
}
|
|
},
|
|
configureWebpack: {
|
|
plugins: [
|
|
new webpack.DefinePlugin({
|
|
'process.env': {
|
|
PACKAGE_VERSION: '"' + version + '"'
|
|
}
|
|
}),
|
|
generate({
|
|
file: '.version',
|
|
content: 'v' + version
|
|
}),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
vue$: 'vue/dist/vue.esm.js',
|
|
'@': path.resolve('src')
|
|
}
|
|
}
|
|
},
|
|
pwa: {
|
|
serviceWorker: false,
|
|
iconPaths: {
|
|
favicon16: 'img/icons/favicon-16x16.png',
|
|
favicon32: 'img/icons/favicon-32x32.png',
|
|
appleTouchIcon: 'img/icons/apple-touch-icon-152x152.png',
|
|
msTileImage: 'img/icons/mstile-150x150.png'
|
|
},
|
|
manifestPath: 'manifest.json',
|
|
name: 'Mainsail',
|
|
themeColor: '#121212',
|
|
msTileColor: '#121212',
|
|
appleMobileWebAppCapable: 'yes',
|
|
appleMobileWebAppStatusBarStyle: 'black',
|
|
|
|
manifestOptions: {
|
|
"short_name": "Mainsail",
|
|
"name": "Mainsail",
|
|
"start_url": "/",
|
|
"display": "standalone",
|
|
"theme_color": "#D51F26",
|
|
"background_color": "#121212",
|
|
"icons": [
|
|
{
|
|
"src": "./img/icons/icon-196-maskable.png",
|
|
"sizes": "196x196",
|
|
"type": "image/png",
|
|
"purpose": "maskable",
|
|
},
|
|
{
|
|
"src": "./img/icons/icon-512-maskable.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"purpose": "maskable",
|
|
},
|
|
]
|
|
}
|
|
}
|
|
}
|