Update Nuxt to v3.12.1 (#1720)

* Update Nuxt dependencies

* Fix ref access in ChartDisplay

* Fix feature flags cookie options type error

* Specify type-only imports

* Fix shorthands access to tags outside of reactive scope

* Replace most useRoute calls with useRoute from vue-router

Nuxt's version of this composable is horrendously broken (nuxt/nuxt#21340)

* Import all svgs with ?component parameter

Fixes weird hydration issues + gives correct type
This commit is contained in:
Sasha Sorokin
2024-06-14 22:23:02 +02:00
committed by GitHub
parent c6d8476963
commit 34fd9d29c8
68 changed files with 5679 additions and 4859 deletions

View File

@@ -1080,26 +1080,26 @@ import {
CheckIcon,
XIcon,
} from 'omorphia'
import CrownIcon from '~/assets/images/utils/crown.svg'
import CalendarIcon from '~/assets/images/utils/calendar.svg'
import DownloadIcon from '~/assets/images/utils/download.svg'
import UpdateIcon from '~/assets/images/utils/updated.svg'
import QueuedIcon from '~/assets/images/utils/list-end.svg'
import CodeIcon from '~/assets/images/sidebar/mod.svg'
import ExternalIcon from '~/assets/images/utils/external.svg'
import ReportIcon from '~/assets/images/utils/report.svg'
import HeartIcon from '~/assets/images/utils/heart.svg'
import IssuesIcon from '~/assets/images/utils/issues.svg'
import WikiIcon from '~/assets/images/utils/wiki.svg'
import DiscordIcon from '~/assets/images/external/discord.svg'
import BuyMeACoffeeLogo from '~/assets/images/external/bmac.svg'
import PatreonIcon from '~/assets/images/external/patreon.svg'
import KoFiIcon from '~/assets/images/external/kofi.svg'
import PayPalIcon from '~/assets/images/external/paypal.svg'
import OpenCollectiveIcon from '~/assets/images/external/opencollective.svg'
import UnknownIcon from '~/assets/images/utils/unknown-donation.svg'
import ChevronRightIcon from '~/assets/images/utils/chevron-right.svg'
import BoxIcon from '~/assets/images/utils/box.svg'
import CrownIcon from '~/assets/images/utils/crown.svg?component'
import CalendarIcon from '~/assets/images/utils/calendar.svg?component'
import DownloadIcon from '~/assets/images/utils/download.svg?component'
import UpdateIcon from '~/assets/images/utils/updated.svg?component'
import QueuedIcon from '~/assets/images/utils/list-end.svg?component'
import CodeIcon from '~/assets/images/sidebar/mod.svg?component'
import ExternalIcon from '~/assets/images/utils/external.svg?component'
import ReportIcon from '~/assets/images/utils/report.svg?component'
import HeartIcon from '~/assets/images/utils/heart.svg?component'
import IssuesIcon from '~/assets/images/utils/issues.svg?component'
import WikiIcon from '~/assets/images/utils/wiki.svg?component'
import DiscordIcon from '~/assets/images/external/discord.svg?component'
import BuyMeACoffeeLogo from '~/assets/images/external/bmac.svg?component'
import PatreonIcon from '~/assets/images/external/patreon.svg?component'
import KoFiIcon from '~/assets/images/external/kofi.svg?component'
import PayPalIcon from '~/assets/images/external/paypal.svg?component'
import OpenCollectiveIcon from '~/assets/images/external/opencollective.svg?component'
import UnknownIcon from '~/assets/images/utils/unknown-donation.svg?component'
import ChevronRightIcon from '~/assets/images/utils/chevron-right.svg?component'
import BoxIcon from '~/assets/images/utils/box.svg?component'
import Badge from '~/components/ui/Badge.vue'
import Categories from '~/components/ui/search/Categories.vue'
import EnvironmentIndicator from '~/components/ui/EnvironmentIndicator.vue'
@@ -1111,26 +1111,26 @@ import NavStack from '~/components/ui/NavStack.vue'
import NavStackItem from '~/components/ui/NavStackItem.vue'
import ProjectMemberHeader from '~/components/ui/ProjectMemberHeader.vue'
import MessageBanner from '~/components/ui/MessageBanner.vue'
import SettingsIcon from '~/assets/images/utils/settings.svg'
import UsersIcon from '~/assets/images/utils/users.svg'
import CategoriesIcon from '~/assets/images/utils/tags.svg'
import DescriptionIcon from '~/assets/images/utils/align-left.svg'
import LinksIcon from '~/assets/images/utils/link.svg'
import CopyrightIcon from '~/assets/images/utils/copyright.svg'
import LicenseIcon from '~/assets/images/utils/book-text.svg'
import GalleryIcon from '~/assets/images/utils/image.svg'
import VersionIcon from '~/assets/images/utils/version.svg'
import SettingsIcon from '~/assets/images/utils/settings.svg?component'
import UsersIcon from '~/assets/images/utils/users.svg?component'
import CategoriesIcon from '~/assets/images/utils/tags.svg?component'
import DescriptionIcon from '~/assets/images/utils/align-left.svg?component'
import LinksIcon from '~/assets/images/utils/link.svg?component'
import CopyrightIcon from '~/assets/images/utils/copyright.svg?component'
import LicenseIcon from '~/assets/images/utils/book-text.svg?component'
import GalleryIcon from '~/assets/images/utils/image.svg?component'
import VersionIcon from '~/assets/images/utils/version.svg?component'
import { reportProject } from '~/utils/report-helpers.ts'
import Breadcrumbs from '~/components/ui/Breadcrumbs.vue'
import { userCollectProject } from '~/composables/user.js'
import CollectionCreateModal from '~/components/ui/CollectionCreateModal.vue'
import OrganizationIcon from '~/assets/images/utils/organization.svg'
import OrganizationIcon from '~/assets/images/utils/organization.svg?component'
import ModerationChecklist from '~/components/ui/ModerationChecklist.vue'
import ModeratorIcon from '~/assets/images/sidebar/admin.svg'
import ModeratorIcon from '~/assets/images/sidebar/admin.svg?component'
import { getVersionsToDisplay } from '~/helpers/projects.js'
const data = useNuxtApp()
const route = useRoute()
const route = useNativeRoute()
const config = useRuntimeConfig()
const auth = await useAuth()

View File

@@ -67,7 +67,7 @@
</div>
</template>
<script setup>
import DownloadIcon from '~/assets/images/utils/download.svg'
import DownloadIcon from '~/assets/images/utils/download.svg?component'
import { renderHighlightedString } from '~/helpers/highlight.js'
import VersionFilterControl from '~/components/ui/VersionFilterControl.vue'
import Pagination from '~/components/ui/Pagination.vue'
@@ -103,7 +103,7 @@ useSeoMeta({
ogDescription: description,
})
const route = useRoute()
const route = useNativeRoute()
const currentPage = ref(Number(route.query.p ?? 1))
const filteredVersions = computed(() => {
const selectedGameVersions = getArrayOrString(route.query.g) ?? []
@@ -127,7 +127,7 @@ function switchPage(page) {
currentPage.value = page
const router = useRouter()
const route = useRoute()
const route = useNativeRoute()
router.replace({
query: {

View File

@@ -36,7 +36,7 @@
<script>
import { MarkdownEditor } from 'omorphia'
import Chips from '~/components/ui/Chips.vue'
import SaveIcon from '~/assets/images/utils/save.svg'
import SaveIcon from '~/assets/images/utils/save.svg?component'
import { renderHighlightedString } from '~/helpers/highlight.js'
import { useImageUpload } from '~/composables/image-upload.ts'

View File

@@ -247,12 +247,12 @@ import Avatar from '~/components/ui/Avatar.vue'
import ModalConfirm from '~/components/ui/ModalConfirm.vue'
import FileInput from '~/components/ui/FileInput.vue'
import UploadIcon from '~/assets/images/utils/upload.svg'
import SaveIcon from '~/assets/images/utils/save.svg'
import TrashIcon from '~/assets/images/utils/trash.svg'
import ExitIcon from '~/assets/images/utils/x.svg'
import IssuesIcon from '~/assets/images/utils/issues.svg'
import CheckIcon from '~/assets/images/utils/check.svg'
import UploadIcon from '~/assets/images/utils/upload.svg?component'
import SaveIcon from '~/assets/images/utils/save.svg?component'
import TrashIcon from '~/assets/images/utils/trash.svg?component'
import ExitIcon from '~/assets/images/utils/x.svg?component'
import IssuesIcon from '~/assets/images/utils/issues.svg?component'
import CheckIcon from '~/assets/images/utils/check.svg?component'
const props = defineProps({
project: {

View File

@@ -102,7 +102,7 @@
<script>
import Multiselect from 'vue-multiselect'
import Checkbox from '~/components/ui/Checkbox'
import SaveIcon from '~/assets/images/utils/save.svg'
import SaveIcon from '~/assets/images/utils/save.svg?component'
export default defineNuxtComponent({
components: {

View File

@@ -123,7 +123,7 @@
<script setup>
import { DropdownSelect } from 'omorphia'
import SaveIcon from '~/assets/images/utils/save.svg'
import SaveIcon from '~/assets/images/utils/save.svg?component'
const tags = useTags()

View File

@@ -521,12 +521,12 @@ import { Multiselect } from 'vue-multiselect'
import { Avatar, Badge, Card, Checkbox, TransferIcon, CheckIcon, UsersIcon } from 'omorphia'
import ModalConfirm from '~/components/ui/ModalConfirm.vue'
import DropdownIcon from '~/assets/images/utils/dropdown.svg'
import SaveIcon from '~/assets/images/utils/save.svg'
import UserPlusIcon from '~/assets/images/utils/user-plus.svg'
import UserRemoveIcon from '~/assets/images/utils/user-x.svg'
import OrganizationIcon from '~/assets/images/utils/organization.svg'
import CrownIcon from '~/assets/images/utils/crown.svg'
import DropdownIcon from '~/assets/images/utils/dropdown.svg?component'
import SaveIcon from '~/assets/images/utils/save.svg?component'
import UserPlusIcon from '~/assets/images/utils/user-plus.svg?component'
import UserRemoveIcon from '~/assets/images/utils/user-x.svg?component'
import OrganizationIcon from '~/assets/images/utils/organization.svg?component'
import CrownIcon from '~/assets/images/utils/crown.svg?component'
import { removeSelfFromTeam } from '~/helpers/teams.js'

View File

@@ -114,8 +114,8 @@
<script>
import Checkbox from '~/components/ui/Checkbox.vue'
import StarIcon from '~/assets/images/utils/star.svg'
import SaveIcon from '~/assets/images/utils/save.svg'
import StarIcon from '~/assets/images/utils/star.svg?component'
import SaveIcon from '~/assets/images/utils/save.svg?component'
export default defineNuxtComponent({
components: {

View File

@@ -631,23 +631,23 @@ import Chips from '~/components/ui/Chips.vue'
import Checkbox from '~/components/ui/Checkbox.vue'
import FileInput from '~/components/ui/FileInput.vue'
import FileIcon from '~/assets/images/utils/file.svg'
import TrashIcon from '~/assets/images/utils/trash.svg'
import EditIcon from '~/assets/images/utils/edit.svg'
import DownloadIcon from '~/assets/images/utils/download.svg'
import StarIcon from '~/assets/images/utils/star.svg'
import ReportIcon from '~/assets/images/utils/report.svg'
import SaveIcon from '~/assets/images/utils/save.svg'
import CrossIcon from '~/assets/images/utils/x.svg'
import HashIcon from '~/assets/images/utils/hash.svg'
import PlusIcon from '~/assets/images/utils/plus.svg'
import TransferIcon from '~/assets/images/utils/transfer.svg'
import UploadIcon from '~/assets/images/utils/upload.svg'
import BackIcon from '~/assets/images/utils/left-arrow.svg'
import BoxIcon from '~/assets/images/utils/box.svg'
import RightArrowIcon from '~/assets/images/utils/right-arrow.svg'
import FileIcon from '~/assets/images/utils/file.svg?component'
import TrashIcon from '~/assets/images/utils/trash.svg?component'
import EditIcon from '~/assets/images/utils/edit.svg?component'
import DownloadIcon from '~/assets/images/utils/download.svg?component'
import StarIcon from '~/assets/images/utils/star.svg?component'
import ReportIcon from '~/assets/images/utils/report.svg?component'
import SaveIcon from '~/assets/images/utils/save.svg?component'
import CrossIcon from '~/assets/images/utils/x.svg?component'
import HashIcon from '~/assets/images/utils/hash.svg?component'
import PlusIcon from '~/assets/images/utils/plus.svg?component'
import TransferIcon from '~/assets/images/utils/transfer.svg?component'
import UploadIcon from '~/assets/images/utils/upload.svg?component'
import BackIcon from '~/assets/images/utils/left-arrow.svg?component'
import BoxIcon from '~/assets/images/utils/box.svg?component'
import RightArrowIcon from '~/assets/images/utils/right-arrow.svg?component'
import Modal from '~/components/ui/Modal.vue'
import ChevronRightIcon from '~/assets/images/utils/chevron-right.svg'
import ChevronRightIcon from '~/assets/images/utils/chevron-right.svg?component'
export default defineNuxtComponent({
components: {
@@ -725,7 +725,7 @@ export default defineNuxtComponent({
},
async setup(props) {
const data = useNuxtApp()
const route = useRoute()
const route = useNativeRoute()
const auth = await useAuth()
const tags = useTags()

View File

@@ -99,9 +99,9 @@
</template>
<script setup>
import { acceptFileFromProjectType } from '~/helpers/fileUtils.js'
import DownloadIcon from '~/assets/images/utils/download.svg'
import UploadIcon from '~/assets/images/utils/upload.svg'
import InfoIcon from '~/assets/images/utils/info.svg'
import DownloadIcon from '~/assets/images/utils/download.svg?component'
import UploadIcon from '~/assets/images/utils/upload.svg?component'
import InfoIcon from '~/assets/images/utils/info.svg?component'
import VersionBadge from '~/components/ui/Badge.vue'
import FileInput from '~/components/ui/FileInput.vue'
import DropArea from '~/components/ui/DropArea.vue'
@@ -151,7 +151,7 @@ useSeoMeta({
ogDescription: description,
})
const route = useRoute()
const route = useNativeRoute()
const currentPage = ref(Number(route.query.p ?? 1))
const filteredVersions = computed(() => {
const selectedGameVersions = getArrayOrString(route.query.g) ?? []
@@ -175,7 +175,7 @@ function switchPage(page) {
currentPage.value = page
const router = useRouter()
const route = useRoute()
const route = useNativeRoute()
router.replace({
query: {