@@ -30,15 +30,7 @@ module.exports = configure(function (/* ctx */) {
30
30
31
31
// Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#build
32
32
build : {
33
- // chainWebpack(chain) {
34
- // const nodePolyfillWebpackPlugin = require('node-polyfill-webpack-plugin');
35
- // chain.plugin('node-polyfill').use(nodePolyfillWebpackPlugin);
36
- // },
37
33
extendViteConf ( viteConf ) {
38
- // if (!viteConf.optimizeDeps) viteConf.optimizeDeps = {};
39
- // if (!viteConf.optimizeDeps.exclude) viteConf.optimizeDeps.exclude = [
40
- // 'pdfjs-dist',
41
- // ];
42
34
viteConf . optimizeDeps = mergeConfig ( viteConf , {
43
35
esbuildOptions : {
44
36
define : {
@@ -90,7 +82,6 @@ module.exports = configure(function (/* ctx */) {
90
82
vueRouterMode : 'hash' , // available values: 'hash', 'history'
91
83
} ,
92
84
93
- // animations: 'all', // --- includes all animations
94
85
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
95
86
css : [ 'app.scss' , 'mmm-icons.css' ] ,
96
87
@@ -117,11 +108,6 @@ module.exports = configure(function (/* ctx */) {
117
108
appId : 'sircharlo.meeting-media-manager' ,
118
109
// eslint-disable-next-line no-template-curly-in-string
119
110
artifactName : 'meeting-media-manager-${version}.${ext}' ,
120
- // buildDependenciesFromSource: true,
121
- // files: [
122
- // '!node_modules/better-sqlite3/build/Release/*.node',
123
- // '!node_modules/canvas/build/Release/*.node',
124
- // ],
125
111
generateUpdatesFilesForAllChannels : true ,
126
112
linux : {
127
113
category : 'Utility' ,
@@ -192,9 +178,12 @@ module.exports = configure(function (/* ctx */) {
192
178
}
193
179
} ,
194
180
extendPackageJson ( pkg ) {
195
- const electronDeps = [
181
+ const requiredNonUiElectronDependencies = [
196
182
'@electron/remote' ,
183
+ '@quasar/extras' ,
184
+ '@sentry/vue' ,
197
185
'adm-zip' ,
186
+ 'axios' ,
198
187
'better-sqlite3' ,
199
188
'electron-updater' ,
200
189
'electron-window-state' ,
@@ -203,22 +192,43 @@ module.exports = configure(function (/* ctx */) {
203
192
'klaw-sync' ,
204
193
'music-metadata' ,
205
194
'pdfjs-dist' ,
195
+ 'pinia' ,
196
+ 'pinia-shared-state' ,
206
197
'quasar' ,
198
+ 'sanitize-filename' ,
199
+ 'sanitize-html' ,
207
200
'upath' ,
201
+ 'vue' ,
202
+ 'vue-i18n' ,
203
+ 'vue-router' ,
208
204
] ;
209
205
210
- // Remove UI dependencies from production build
206
+ // Remove unneeded dependencies from production build
211
207
Object . keys ( pkg . dependencies ) . forEach ( ( dep ) => {
212
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
213
- if ( ! electronDeps . includes ( dep ) ) delete pkg . dependencies [ dep ] ;
208
+ if ( ! requiredNonUiElectronDependencies . includes ( dep ) ) {
209
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
210
+ delete pkg . dependencies [ dep ] ;
211
+ }
214
212
} ) ;
213
+
214
+ /* As of 2024-10-15, this logic results in the following dependencies being removed:
215
+ {
216
+ '@formkit /drag-and-drop',
217
+ '@panzoom/panzoom',
218
+ '@quasar/cli',
219
+ 'dompurify',
220
+ 'is-online',
221
+ 'obs-websocket-js',
222
+ 'p-queue',
223
+ 'pretty-bytes',
224
+ }
225
+
226
+ Anything more than this led to errors in the built Electron app.
227
+ */
215
228
} ,
216
229
inspectPort : 5858 ,
217
230
} ,
218
231
219
- // https://github.com/quasarframework/quasar/tree/dev/extras
220
- // extras: ['fontawesome-v6', 'material-icons', 'mdi-v7'],
221
-
222
232
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#framework
223
233
framework : {
224
234
config : {
0 commit comments