From b2e8ffaf7add1baa4a6755888a5f476df734976c Mon Sep 17 00:00:00 2001 From: Christoph Stockinger Date: Tue, 25 Feb 2025 21:28:25 +0100 Subject: [PATCH 1/6] Move to custom declariton file for tsconfig --- resources/js/app.ts | 13 ------------- resources/js/types/vite.d.ts | 11 +++++++++++ 2 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 resources/js/types/vite.d.ts diff --git a/resources/js/app.ts b/resources/js/app.ts index a8496e2..be73c27 100644 --- a/resources/js/app.ts +++ b/resources/js/app.ts @@ -7,19 +7,6 @@ import { createApp, h } from 'vue'; import { ZiggyVue } from '../../vendor/tightenco/ziggy'; import { initializeTheme } from './composables/useAppearance'; -// Extend ImportMeta interface for Vite... -declare module 'vite/client' { - interface ImportMetaEnv { - readonly VITE_APP_NAME: string; - [key: string]: string | boolean | undefined; - } - - interface ImportMeta { - readonly env: ImportMetaEnv; - readonly glob: (pattern: string) => Record Promise>; - } -} - const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; createInertiaApp({ diff --git a/resources/js/types/vite.d.ts b/resources/js/types/vite.d.ts new file mode 100644 index 0000000..09cdd83 --- /dev/null +++ b/resources/js/types/vite.d.ts @@ -0,0 +1,11 @@ +declare module 'vite/client' { + interface ImportMetaEnv { + readonly VITE_APP_NAME: string; + [key: string]: string | boolean | undefined; + } + + interface ImportMeta { + readonly env: ImportMetaEnv; + readonly glob: (pattern: string) => Record Promise>; + } +} From e0ed5a0289da8f6d52e74b67f05dccf3fddfcbd4 Mon Sep 17 00:00:00 2001 From: Christoph Stockinger Date: Tue, 25 Feb 2025 21:29:25 +0100 Subject: [PATCH 2/6] Modify tsconfig --- tsconfig.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index b5df0b3..87a26af 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -40,9 +40,7 @@ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ "types": [ - "vite/client", - "vue/tsx", - "./resources/js/types" + "vite/client" ] /* Specify type package names to be included without being referenced in a source file. */, // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ @@ -119,5 +117,11 @@ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ }, - "include": ["resources/js/**/*.ts", "resources/js/**/*.d.ts", "resources/js/**/*.tsx", "resources/js/**/*.vue"] + "include": [ + "resources/js/**/*.ts", + "resources/js/**/*.d.ts", + "resources/js/**/*.tsx", + "resources/js/**/*.vue", + "node_modules/vite/client.d.ts" + ] } From c4671671260056c6cd95719c52ed83e395e501f8 Mon Sep 17 00:00:00 2001 From: Christoph Stockinger Date: Tue, 25 Feb 2025 21:29:45 +0100 Subject: [PATCH 3/6] Fix typescript build error --- resources/js/components/AppHeader.vue | 4 ++-- resources/js/components/AppSidebarHeader.vue | 2 +- resources/js/components/TextLink.vue | 9 +++------ resources/js/components/UserInfo.vue | 8 ++------ resources/js/layouts/auth/AuthSplitLayout.vue | 5 +++-- resources/js/pages/Welcome.vue | 10 +++++++++- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/resources/js/components/AppHeader.vue b/resources/js/components/AppHeader.vue index 3248c48..5cf6e29 100644 --- a/resources/js/components/AppHeader.vue +++ b/resources/js/components/AppHeader.vue @@ -16,7 +16,7 @@ import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/co import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import UserMenuContent from '@/components/UserMenuContent.vue'; import { getInitials } from '@/composables/useInitials'; -import type { BreadcrumbItem, NavItem } from '@/types'; +import type { BreadcrumbItem, NavItem, SharedData } from '@/types'; import { Link, usePage } from '@inertiajs/vue3'; import { BookOpen, Folder, LayoutGrid, Menu, Search } from 'lucide-vue-next'; import { computed } from 'vue'; @@ -29,7 +29,7 @@ const props = withDefaults(defineProps(), { breadcrumbs: () => [], }); -const page = usePage(); +const page = usePage(); const auth = computed(() => page.props.auth); const isCurrentRoute = (url: string) => { diff --git a/resources/js/components/AppSidebarHeader.vue b/resources/js/components/AppSidebarHeader.vue index 1ff2baa..d2f8859 100644 --- a/resources/js/components/AppSidebarHeader.vue +++ b/resources/js/components/AppSidebarHeader.vue @@ -14,7 +14,7 @@ defineProps<{ >
-