From 5a58ec1778fe71c77b21b09b0bedfa52d9d49c6f Mon Sep 17 00:00:00 2001 From: jlpereira Date: Thu, 20 Apr 2023 15:49:03 -0300 Subject: [PATCH] Fix route loading, update packages --- package-lock.json | 74 ++++++++++++++++---------------- package.json | 8 ++-- server.js | 8 +--- src/modules/otus/views/Index.vue | 26 ++++++----- 4 files changed, 53 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3417986..cf40e9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,10 @@ "dependencies": { "@geoman-io/leaflet-geoman-free": "^2.14.2", "@nuxt/devalue": "^2.0.0", - "axios": "^1.3.5", + "axios": "^1.3.6", "js-yaml": "^4.1.0", "leaflet": "^1.9.3", - "pinia": "^2.0.34", + "pinia": "^2.0.35", "vue": "^3.2.47", "vue-router": "^4.1.6" }, @@ -26,10 +26,10 @@ "eslint-plugin-vue": "^9.11.0", "express": "^4.18.2", "minimist": "^1.2.8", - "postcss": "^8.4.22", + "postcss": "^8.4.23", "sass": "^1.62.0", "tailwindcss": "^3.3.1", - "vite": "^4.2.1", + "vite": "^4.3.0", "vite-plugin-md": "^0.21.5", "vite-plugin-pages": "^0.29.0" } @@ -1258,9 +1258,9 @@ } }, "node_modules/axios": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.5.tgz", - "integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3842,9 +3842,9 @@ } }, "node_modules/pinia": { - "version": "2.0.34", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.34.tgz", - "integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==", + "version": "2.0.35", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.35.tgz", + "integrity": "sha512-P1IKKQWhxGXiiZ3atOaNI75bYlFUbRxtJdhPLX059Z7+b9Z04rnTZdSY8Aph1LA+/4QEMAYHsTQ638Wfe+6K5g==", "dependencies": { "@vue/devtools-api": "^6.5.0", "vue-demi": "*" @@ -3909,9 +3909,9 @@ } }, "node_modules/postcss": { - "version": "8.4.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.22.tgz", - "integrity": "sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "funding": [ { "type": "opencollective", @@ -4282,9 +4282,9 @@ } }, "node_modules/rollup": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.19.1.tgz", - "integrity": "sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg==", + "version": "3.20.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.6.tgz", + "integrity": "sha512-2yEB3nQXp/tBQDN0hJScJQheXdvU2wFhh6ld7K/aiZ1vYcak6N/BKjY1QrU6BvO2JWYS8bEs14FRaxXosxy2zw==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -4926,15 +4926,14 @@ } }, "node_modules/vite": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", - "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.0.tgz", + "integrity": "sha512-JTGFgDh3dVxeGBpuQX04Up+JZmuG6wu9414Ei36vQzaEruY/M4K0AgwtuB2b4HaBgB7R8l+LHxjB0jcgz4d2qQ==", "dev": true, "dependencies": { "esbuild": "^0.17.5", "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" + "rollup": "^3.20.2" }, "bin": { "vite": "bin/vite.js" @@ -6151,9 +6150,9 @@ "dev": true }, "axios": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.5.tgz", - "integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -8076,9 +8075,9 @@ "dev": true }, "pinia": { - "version": "2.0.34", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.34.tgz", - "integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==", + "version": "2.0.35", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.35.tgz", + "integrity": "sha512-P1IKKQWhxGXiiZ3atOaNI75bYlFUbRxtJdhPLX059Z7+b9Z04rnTZdSY8Aph1LA+/4QEMAYHsTQ638Wfe+6K5g==", "requires": { "@vue/devtools-api": "^6.5.0", "vue-demi": "*" @@ -8107,9 +8106,9 @@ } }, "postcss": { - "version": "8.4.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.22.tgz", - "integrity": "sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "requires": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -8341,9 +8340,9 @@ } }, "rollup": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.19.1.tgz", - "integrity": "sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg==", + "version": "3.20.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.6.tgz", + "integrity": "sha512-2yEB3nQXp/tBQDN0hJScJQheXdvU2wFhh6ld7K/aiZ1vYcak6N/BKjY1QrU6BvO2JWYS8bEs14FRaxXosxy2zw==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -8807,16 +8806,15 @@ "dev": true }, "vite": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", - "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.0.tgz", + "integrity": "sha512-JTGFgDh3dVxeGBpuQX04Up+JZmuG6wu9414Ei36vQzaEruY/M4K0AgwtuB2b4HaBgB7R8l+LHxjB0jcgz4d2qQ==", "dev": true, "requires": { "esbuild": "^0.17.5", "fsevents": "~2.3.2", "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" + "rollup": "^3.20.2" } }, "vite-plugin-md": { diff --git a/package.json b/package.json index 071c00e..82d9faa 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,10 @@ "dependencies": { "@geoman-io/leaflet-geoman-free": "^2.14.2", "@nuxt/devalue": "^2.0.0", - "axios": "^1.3.5", + "axios": "^1.3.6", "js-yaml": "^4.1.0", "leaflet": "^1.9.3", - "pinia": "^2.0.34", + "pinia": "^2.0.35", "vue": "^3.2.47", "vue-router": "^4.1.6" }, @@ -33,10 +33,10 @@ "eslint-plugin-vue": "^9.11.0", "express": "^4.18.2", "minimist": "^1.2.8", - "postcss": "^8.4.22", + "postcss": "^8.4.23", "sass": "^1.62.0", "tailwindcss": "^3.3.1", - "vite": "^4.2.1", + "vite": "^4.3.0", "vite-plugin-md": "^0.21.5", "vite-plugin-pages": "^0.29.0" } diff --git a/server.js b/server.js index cae8630..b6182df 100644 --- a/server.js +++ b/server.js @@ -27,11 +27,8 @@ export async function createServer( : {} const app = express() - - /** - * @type {import('vite').ViteDevServer} - */ let vite + if (!isProd) { vite = await ( await import('vite') @@ -42,8 +39,6 @@ export async function createServer( server: { middlewareMode: true, watch: { - // During tests we edit the files too fast and sometimes chokidar - // misses change events, so enforce polling for consistency usePolling: true, interval: 100 }, @@ -77,7 +72,6 @@ export async function createServer( render = (await vite.ssrLoadModule('/src/entry-server.js')).render } else { template = indexProd - // @ts-ignore render = (await import('./dist/server/entry-server.js')).render } diff --git a/src/modules/otus/views/Index.vue b/src/modules/otus/views/Index.vue index 11bd899..32fd148 100644 --- a/src/modules/otus/views/Index.vue +++ b/src/modules/otus/views/Index.vue @@ -47,7 +47,7 @@
import { ref, watch, onServerPrefetch, computed, onMounted } from 'vue' import { useRoute, useRouter } from 'vue-router' +import { useOtuStore } from '../store/store' import Breadcrumb from '../components/Breadcrumb/Breadcrumb.vue' import TaxaInfo from '../components/TaxaInfo.vue' -import TaxonWorks from '../services/TaxonWorks' -import { useOtuStore } from '../store/store' //import useChildrenRoutes from '../composables/useChildrenRoutes' const route = useRoute() @@ -75,36 +74,35 @@ const routeParams = ref(route.params) const tabs = [] // useChildrenRoutes() const store = useOtuStore() - router.afterEach((route) => { +router.afterEach((route) => { routeParams.value = route.params -}) +}) -const otu = computed(() => store.otu ) -const taxon = computed(() => store.taxon ) +const otu = computed(() => store.otu) +const taxon = computed(() => store.taxon) const isReady = computed(() => otu.value?.id && taxon.value?.id) - - onServerPrefetch(async () => { await store.loadInit(route.params.id) }) watch( () => route.fullPath, - async (newVal, oldVal) => { + async () => { store.$reset() store.loadInit(route.params.id) - }, -) + } +) onMounted(() => { - if (!store.otu) { + if (!otu.value || otu.value.id !== Number(route.params.id)) { + store.$reset() store.loadInit(route.params.id) } }) -function loadOtu ({ id }) { +function loadOtu({ id }) { router.push({ name: 'otus-id-overview', params: {