-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
executable file
·155 lines (149 loc) · 5 KB
/
vite.config.ts
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import { VitePWA } from 'vite-plugin-pwa';
import AutoImport from 'unplugin-auto-import/vite';
import { ComponentResolver } from 'unplugin-vue-components/types';
import Components from 'unplugin-vue-components/vite';
import { IonicResolver } from 'unplugin-vue-components/resolvers';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
VitePWA({
registerType: "autoUpdate",
manifest: {
name: "stack-analyze pwa",
short_name: "stack-analyze",
theme_color: "#50c8ff",
icons: [
{
src: "./img/icons/android-chrome-192x192.png",
sizes: "192x192",
type: "image/png"
},
{
"src": "./img/icons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "./img/icons/android-chrome-maskable-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "./img/icons/android-chrome-maskable-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "./img/icons/apple-touch-icon-60x60.png",
"sizes": "60x60",
"type": "image/png"
},
{
"src": "./img/icons/apple-touch-icon-76x76.png",
"sizes": "76x76",
"type": "image/png"
},
{
"src": "./img/icons/apple-touch-icon-120x120.png",
"sizes": "120x120",
"type": "image/png"
},
{
"src": "./img/icons/apple-touch-icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "./img/icons/apple-touch-icon-180x180.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "./img/icons/apple-touch-icon.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "./img/icons/favicon-16x16.png",
"sizes": "16x16",
"type": "image/png"
},
{
"src": "./img/icons/favicon-32x32.png",
"sizes": "32x32",
"type": "image/png"
},
{
"src": "./img/icons/msapplication-icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "./img/icons/mstile-150x150.png",
"sizes": "150x150",
"type": "image/png"
}
],
start_url: ".",
display: "standalone",
background_color: "#ffffff"
}
}),
AutoImport({
include: [/\.[tj]sx?$/, /\.vue$/, /\.vue\?vue/,],
imports: [
'vue',
'vue-router',
{
'vue-router': ['RouteRecordRaw'],
'@ionic/vue-router': ['createRouter', 'createWebHistory'],
'@ionic/vue': [
'IonicVue', 'alertController','toastController', 'loadingController',
'RefresherEventDetail', 'SearchbarChangeEventDetail', 'onIonViewWillEnter',
'onIonViewWillLeave', 'menuController', 'IonicSlides'
],
'ionicons/icons': [
'diceOutline', 'refreshOutline', 'copyOutline', 'warningOutline',
'libraryOutline', 'home', 'logoInstagram', 'logoGithub',
'logoCodepen', 'logoTwitch', 'logoYoutube', 'logoTiktok',
'earthOutline', 'hourglassOutline', 'extensionPuzzleOutline', 'peopleOutline',
'globeOutline', 'informationCircleOutline', 'informationOutline', 'searchCircleOutline',
'terminalOutline', 'walletOutline', 'videocamOutline', 'logoTwitch',
'thumbsUpOutline', 'codeSlashOutline', 'attachOutline', 'lockClosedOutline',
'newspaperOutline', 'layersOutline', 'searchOutline', 'constructOutline',
'closeCircleOutline', 'sunny', 'moon', 'settingsOutline', 'volumeMuteOutline',
'volumeHighOutline', 'playOutline', 'stopOutline', 'sparklesOutline',
'imagesOutline', 'codeWorkingOutline', 'musicalNoteOutline', 'colorWandOutline'
],
'axios': [ 'AxiosError', ['default', 'axios'] ],
'timeago.js': ['format'],
'@capacitor/device': ['Device', 'DeviceInfo'],
'@capacitor/network': ['Network', 'ConnectionStatus'],
}
],
dirs: [
'src/router', 'src/api', 'src/composables', 'src/interface',
'src/scripts'
],
vueTemplate: true,
dts: true,
}),
Components({
dirs: ['src/components', 'src/components/**'],
extensions: ['vue'],
resolvers: [IonicResolver()],
dts: true,
}),
],
resolve: {
alias: {
"@": fileURLToPath(new URL('./src', import.meta.url)),
},
},
});