From f66a59df580eb3448f39831661b8fd05dc3f453a Mon Sep 17 00:00:00 2001 From: axolotle Date: Sun, 3 Mar 2024 18:08:10 +0100 Subject: [PATCH 01/30] refactor: upgrade to vue3 with compat mode 2 --- app/package.json | 7 ++++--- app/src/main.js | 37 ++++++++++++++++++++++--------------- app/vite.config.js | 15 +++++++++++++-- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/app/package.json b/app/package.json index 9fc872c67..a68da12fe 100644 --- a/app/package.json +++ b/app/package.json @@ -15,11 +15,12 @@ "dependencies": { "@fontsource/fira-code": "^4.5.13", "@fontsource/firago": "^4.5.3", + "@vue/compat": "3.3.4", "bootstrap-vue": "^2.22.0", "date-fns": "^2.29.3", "fork-awesome": "^1.2.0", "simple-evaluate": "^1.4.6", - "vue": "^2.7.14", + "vue": "3.3.4", "vue-i18n": "^8.28.2", "vue-router": "^3.6.5", "vue-showdown": "^2.4.1", @@ -27,12 +28,12 @@ "vuex": "^3.6.2" }, "devDependencies": { - "@vitejs/plugin-vue2": "^2.2.0", + "@vitejs/plugin-vue": "^5.0.4", "bootstrap": "^4.6.0", "eslint": "^8.36.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-vue": "^9.10.0", + "eslint-plugin-vue": "^9.22.0", "popper.js": "^1.16.0", "portal-vue": "^2.1.7", "prettier": "^3.2.5", diff --git a/app/src/main.js b/app/src/main.js index 7230e309d..e0d35cecd 100644 --- a/app/src/main.js +++ b/app/src/main.js @@ -1,4 +1,4 @@ -import Vue from 'vue' +import { createApp, configureCompat } from 'vue' import App from './App.vue' import BootstrapVue from 'bootstrap-vue' import VueShowdown from 'vue-showdown' @@ -10,16 +10,26 @@ import i18n from './i18n' import { registerGlobalErrorHandlers } from './api' import { initDefaultLocales } from './i18n/helpers' -Vue.config.productionTip = false +const app = createApp({ + ...App, +}) + +app.use(store) +app.use(router) +app.use(i18n) + +configureCompat({ + MODE: 2, +}) // Styles are imported in `src/App.vue` diff --git a/app/src/components/globals/ExplainWhat.vue b/app/src/components/globals/ExplainWhat.vue index 6cb2a0b17..411bcdd79 100644 --- a/app/src/components/globals/ExplainWhat.vue +++ b/app/src/components/globals/ExplainWhat.vue @@ -57,7 +57,7 @@ export default { background-color: $white; border-width: 2px; - ::v-deep .popover-body { + :deep(.popover-body) { color: $dark; } } diff --git a/app/src/components/globals/FormField.vue b/app/src/components/globals/FormField.vue index cd8b1315a..640359746 100644 --- a/app/src/components/globals/FormField.vue +++ b/app/src/components/globals/FormField.vue @@ -145,7 +145,7 @@ export default { diff --git a/app/src/components/globals/TopBar.vue b/app/src/components/globals/TopBar.vue index 80ce5c4fa..171eaed2e 100644 --- a/app/src/components/globals/TopBar.vue +++ b/app/src/components/globals/TopBar.vue @@ -67,7 +67,7 @@ export default { #top-bar-right { margin-bottom: 0.75rem; - ::v-deep > * { + :deep(> *) { margin-bottom: 0.25rem; } } @@ -88,7 +88,7 @@ export default { margin-left: auto; } - ::v-deep .btn { + :deep(.btn) { margin-left: 0.5rem; &.dropdown-toggle-split { margin-left: 0; diff --git a/app/src/components/globals/YCard.vue b/app/src/components/globals/YCard.vue index cbbcb101a..edf6c5b54 100644 --- a/app/src/components/globals/YCard.vue +++ b/app/src/components/globals/YCard.vue @@ -83,7 +83,7 @@ export default { diff --git a/app/src/components/globals/formItems/FileItem.vue b/app/src/components/globals/formItems/FileItem.vue index 1afde1495..14b693110 100644 --- a/app/src/components/globals/formItems/FileItem.vue +++ b/app/src/components/globals/formItems/FileItem.vue @@ -80,7 +80,7 @@ export default {