forked from epicmaxco/vuestic-admin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vue.config.js
69 lines (65 loc) · 1.83 KB
/
vue.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const path = require('path')
const webpack = require('webpack')
const StylelintPlugin = require('stylelint-webpack-plugin')
const version = require('./package.json').version
const timeStamp = new Date().toUTCString()
const getLastCommitHash = () => {
const hash = require('child_process').execSync('git rev-parse HEAD').toString()
return hash.slice(0, 6)
}
module.exports = {
lintOnSave: false,
transpileDependencies: [
'vuestic-ui',
'epic-spinners',
],
pages: {
index: {
// entry for the page
entry: 'src/app/main.js',
// the source template
template: 'public/index.html',
// output as dist/index.html
filename: 'index.html',
// when using title option,
// template title tag needs to be <title><%= htmlWebpackPlugin.options.title %></title>
title: 'Vuestic Admin',
// chunks to include on this page, by default includes
// extracted common chunks and vendor chunks.
chunks: ['chunk-vendors', 'chunk-common', 'index'],
},
},
configureWebpack: {
resolve: {
alias: {
vue$: 'vue/dist/vue.esm.js',
'@': path.resolve('src'),
},
},
plugins: [
new StylelintPlugin({
files: ['src/**/*.{vue,htm,html,css,sss,less,scss}'],
}),
new webpack.DefinePlugin({
VERSION: JSON.stringify(version),
TIMESTAMP: JSON.stringify(timeStamp),
COMMIT: JSON.stringify(getLastCommitHash()),
}),
],
},
css: {
loaderOptions: {
sass: {
// Preload vuestic-ui variables and mixins for every component
data: '@import "~vuestic-ui/src/components/vuestic-sass/resources/resources.scss";',
},
},
},
pwa: {
workboxPluginMode: 'InjectManifest',
workboxOptions: {
swSrc: './src/service-worker.js',
importWorkboxFrom: 'local',
},
},
}