1
1
import vue from '@vitejs/plugin-vue2'
2
2
import { VuetifyResolver } from 'unplugin-vue-components/resolvers'
3
3
import Components from 'unplugin-vue-components/vite'
4
- import { defineConfig } from 'vite'
4
+ import { defineConfig , loadEnv } from 'vite'
5
5
import { VitePWA } from 'vite-plugin-pwa'
6
6
const { name } = require ( './package.json' )
7
7
@@ -16,160 +16,164 @@ const assert = require('assert');
16
16
// TODO: check if it works with https once we have something that does
17
17
assert . ok ( SERVER_ADDRESS . startsWith ( 'http://' ) , 'SERVER_ADDRESS must start with http://' ) ;
18
18
19
- export default defineConfig ( {
20
- plugins : [
21
- vue ( ) ,
22
- VitePWA ( {
23
- registerType : 'autoUpdate' ,
24
- devOptions : {
25
- enabled : true ,
19
+ export default defineConfig ( ( { command, mode } ) => {
20
+ const env = loadEnv ( mode , process . cwd ( ) , '' )
21
+ return {
22
+ plugins : [
23
+ vue ( ) ,
24
+ VitePWA ( {
25
+ registerType : 'autoUpdate' ,
26
+ devOptions : {
27
+ enabled : true ,
28
+ } ,
29
+ includeAssets : [ 'favicon.ico' , 'apple-touch-icon.png' , 'masked-icon.svg' ] ,
30
+ } ) ,
31
+ Components ( {
32
+ // generate `components.d.ts` global declarations
33
+ // https://github.com/antfu/unplugin-vue-components#typescript
34
+ dts : true ,
35
+ // auto import for directives
36
+ directives : false ,
37
+ // resolvers for custom components
38
+ resolvers : [
39
+ // Vuetify
40
+ VuetifyResolver ( ) ,
41
+ ] ,
42
+ // https://github.com/antfu/unplugin-vue-components#types-for-global-registered-components
43
+ types : [
44
+ {
45
+ from : 'vue-router' ,
46
+ names : [ 'RouterLink' , 'RouterView' ] ,
47
+ } ,
48
+ ] ,
49
+ // Vue version of project.
50
+ version : 2.7 ,
51
+ } ) ,
52
+ ] ,
53
+ assetsInclude : [ '**/*.gif' , '**/*.glb' , '**/*.png' , '**/*.svg' , '**/assets/ArduPilot-Parameter-Repository**.json' ] ,
54
+ resolve : {
55
+ extensions : [ '.mjs' , '.js' , '.ts' , '.jsx' , '.tsx' , '.json' , '.vue' ] ,
56
+ alias : {
57
+ '@' : path . resolve ( __dirname , './src' ) ,
26
58
} ,
27
- includeAssets : [ 'favicon.ico' , 'apple-touch-icon.png' , 'masked-icon.svg' ] ,
28
- } ) ,
29
- Components ( {
30
- // generate `components.d.ts` global declarations
31
- // https://github.com/antfu/unplugin-vue-components#typescript
32
- dts : true ,
33
- // auto import for directives
34
- directives : false ,
35
- // resolvers for custom components
36
- resolvers : [
37
- // Vuetify
38
- VuetifyResolver ( ) ,
39
- ] ,
40
- // https://github.com/antfu/unplugin-vue-components#types-for-global-registered-components
41
- types : [
42
- {
43
- from : 'vue-router' ,
44
- names : [ 'RouterLink' , 'RouterView' ] ,
45
- } ,
46
- ] ,
47
- // Vue version of project.
48
- version : 2.7 ,
49
- } ) ,
50
- ] ,
51
- assetsInclude : [ '**/*.gif' , '**/*.glb' , '**/*.png' , '**/*.svg' , '**/assets/ArduPilot-Parameter-Repository**.json' ] ,
52
- resolve : {
53
- extensions : [ '.mjs' , '.js' , '.ts' , '.jsx' , '.tsx' , '.json' , '.vue' ] ,
54
- alias : {
55
- '@' : path . resolve ( __dirname , './src' ) ,
56
59
} ,
57
- } ,
58
- build : {
59
- rollupOptions : {
60
- input : {
61
- main : path . resolve ( __dirname , 'index.html' ) ,
60
+ build : {
61
+ rollupOptions : {
62
+ input : {
63
+ main : path . resolve ( __dirname , 'index.html' ) ,
64
+ } ,
62
65
} ,
63
66
} ,
64
- } ,
65
- define : {
66
- 'process.env' : { } ,
67
- } ,
68
- server : {
69
- port : 8080 ,
70
- proxy : {
71
- '^/status' : {
72
- target : SERVER_ADDRESS ,
73
- } ,
74
- '^/ardupilot-manager' : {
75
- target : SERVER_ADDRESS ,
76
- } ,
77
- '^/bag' : {
78
- target : SERVER_ADDRESS ,
79
- } ,
80
- '^/beacon' : {
81
- target : SERVER_ADDRESS ,
82
- } ,
83
- '^/bridget' : {
84
- target : SERVER_ADDRESS ,
85
- } ,
86
- '^/cable-guy' : {
87
- target : SERVER_ADDRESS ,
88
- } ,
89
- '^/commander' : {
90
- target : SERVER_ADDRESS ,
91
- } ,
92
- '^/docker' : {
93
- target : SERVER_ADDRESS ,
94
- } ,
95
- '^/file-browser' : {
96
- target : SERVER_ADDRESS ,
97
- } ,
98
- '^/helper' : {
99
- target : SERVER_ADDRESS ,
100
- } ,
101
- '^/upload' : {
102
- target : SERVER_ADDRESS ,
103
- } ,
104
- '^/kraken' : {
105
- target : SERVER_ADDRESS ,
106
- onProxyRes : ( proxyRes , request , response ) => {
107
- proxyRes . on ( 'data' , ( data ) => {
108
- response . write ( data )
109
- } )
110
- proxyRes . on ( 'end' , ( ) => {
111
- response . end ( )
112
- } )
67
+ define : {
68
+ 'process.env' : { } ,
69
+ __APP_ENV__ : env . APP_ENV ,
70
+ } ,
71
+ server : {
72
+ port : 8080 ,
73
+ proxy : {
74
+ '^/status' : {
75
+ target : SERVER_ADDRESS ,
113
76
} ,
114
- } ,
115
- '^/nmea-injector' : {
116
- target : SERVER_ADDRESS ,
117
- } ,
118
- '^/logviewer' : {
119
- target : SERVER_ADDRESS ,
120
- } ,
121
- '^/mavlink' : {
122
- target : SERVER_ADDRESS ,
123
- changeOrigin : true ,
124
- ws : true ,
125
- } ,
126
- '^/mavlink2rest' : {
127
- target : SERVER_ADDRESS ,
128
- changeOrigin : true ,
129
- ws : true ,
130
- } ,
131
- '^/mavlink-camera-manager' : {
132
- target : SERVER_ADDRESS ,
133
- } ,
134
- '^/network-test' : {
135
- target : SERVER_ADDRESS ,
136
- changeOrigin : true ,
137
- ws : true ,
138
- } ,
139
- '^/ping' : {
140
- target : SERVER_ADDRESS ,
141
- } ,
142
- '^/system-information' : {
143
- target : SERVER_ADDRESS ,
144
- changeOrigin : true ,
145
- ws : true ,
146
- } ,
147
- '^/terminal' : {
148
- target : SERVER_ADDRESS ,
149
- changeOrigin : true ,
150
- ws : true ,
151
- } ,
152
- '^/userdata' : {
153
- target : SERVER_ADDRESS ,
154
- changeOrigin : true ,
155
- } ,
156
- '^/vehicles' : {
157
- target : SERVER_ADDRESS ,
158
- } ,
159
- '^/version-chooser' : {
160
- target : SERVER_ADDRESS ,
161
- onProxyRes : ( proxyRes , request , response ) => {
162
- proxyRes . on ( 'data' , ( data ) => {
163
- response . write ( data )
164
- } )
165
- proxyRes . on ( 'end' , ( ) => {
166
- response . end ( )
167
- } )
77
+ '^/ardupilot-manager' : {
78
+ target : SERVER_ADDRESS ,
79
+ } ,
80
+ '^/bag' : {
81
+ target : SERVER_ADDRESS ,
82
+ } ,
83
+ '^/beacon' : {
84
+ target : SERVER_ADDRESS ,
85
+ } ,
86
+ '^/bridget' : {
87
+ target : SERVER_ADDRESS ,
88
+ } ,
89
+ '^/cable-guy' : {
90
+ target : SERVER_ADDRESS ,
91
+ } ,
92
+ '^/commander' : {
93
+ target : SERVER_ADDRESS ,
94
+ } ,
95
+ '^/docker' : {
96
+ target : SERVER_ADDRESS ,
97
+ } ,
98
+ '^/file-browser' : {
99
+ target : SERVER_ADDRESS ,
100
+ } ,
101
+ '^/helper' : {
102
+ target : SERVER_ADDRESS ,
103
+ } ,
104
+ '^/upload' : {
105
+ target : SERVER_ADDRESS ,
106
+ } ,
107
+ '^/kraken' : {
108
+ target : SERVER_ADDRESS ,
109
+ onProxyRes : ( proxyRes , request , response ) => {
110
+ proxyRes . on ( 'data' , ( data ) => {
111
+ response . write ( data )
112
+ } )
113
+ proxyRes . on ( 'end' , ( ) => {
114
+ response . end ( )
115
+ } )
116
+ } ,
117
+ } ,
118
+ '^/nmea-injector' : {
119
+ target : SERVER_ADDRESS ,
120
+ } ,
121
+ '^/logviewer' : {
122
+ target : SERVER_ADDRESS ,
123
+ } ,
124
+ '^/mavlink' : {
125
+ target : SERVER_ADDRESS ,
126
+ changeOrigin : true ,
127
+ ws : true ,
128
+ } ,
129
+ '^/mavlink2rest' : {
130
+ target : SERVER_ADDRESS ,
131
+ changeOrigin : true ,
132
+ ws : true ,
133
+ } ,
134
+ '^/mavlink-camera-manager' : {
135
+ target : SERVER_ADDRESS ,
136
+ } ,
137
+ '^/network-test' : {
138
+ target : SERVER_ADDRESS ,
139
+ changeOrigin : true ,
140
+ ws : true ,
141
+ } ,
142
+ '^/ping' : {
143
+ target : SERVER_ADDRESS ,
144
+ } ,
145
+ '^/system-information' : {
146
+ target : SERVER_ADDRESS ,
147
+ changeOrigin : true ,
148
+ ws : true ,
149
+ } ,
150
+ '^/terminal' : {
151
+ target : SERVER_ADDRESS ,
152
+ changeOrigin : true ,
153
+ ws : true ,
154
+ } ,
155
+ '^/userdata' : {
156
+ target : SERVER_ADDRESS ,
157
+ changeOrigin : true ,
158
+ } ,
159
+ '^/vehicles' : {
160
+ target : SERVER_ADDRESS ,
161
+ } ,
162
+ '^/version-chooser' : {
163
+ target : SERVER_ADDRESS ,
164
+ onProxyRes : ( proxyRes , request , response ) => {
165
+ proxyRes . on ( 'data' , ( data ) => {
166
+ response . write ( data )
167
+ } )
168
+ proxyRes . on ( 'end' , ( ) => {
169
+ response . end ( )
170
+ } )
171
+ } ,
172
+ } ,
173
+ '^/wifi-manager' : {
174
+ target : SERVER_ADDRESS ,
168
175
} ,
169
- } ,
170
- '^/wifi-manager' : {
171
- target : SERVER_ADDRESS ,
172
176
} ,
173
177
} ,
174
- } ,
178
+ }
175
179
} )
0 commit comments