diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 911ac4e6..44700be5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,9 +31,6 @@ jobs: node-version: '22' cache: 'npm' - - name: Install Node Dependencies - run: npm ci - - name: Install Dependencies run: composer install --no-interaction --prefer-dist --optimize-autoloader @@ -46,6 +43,12 @@ jobs: - name: Publish Ziggy Configuration run: php artisan ziggy:generate + - name: Install Node Dependencies + run: npm ci + + - name: Validate typescript + run: npm run type:check + - name: Build Assets run: npm run build diff --git a/package.json b/package.json index b6b68f3a..089a5dc9 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,12 @@ "type": "module", "scripts": { "build": "vite build", - "build:ssr": "vite build && vite build --ssr", + "build:ssr": "vite build --ssr", "dev": "vite", "format": "prettier --write resources/", "format:check": "prettier --check resources/", - "lint": "eslint . --fix" + "lint": "eslint . --fix", + "type:check": "vue-tsc --noEmit" }, "devDependencies": { "@eslint/js": "^9.19.0", diff --git a/resources/js/app.ts b/resources/js/app.ts index 5670d9e8..939aca3d 100644 --- a/resources/js/app.ts +++ b/resources/js/app.ts @@ -7,19 +7,6 @@ import { createApp, h } from 'vue'; import { ZiggyVue } from 'ziggy-js'; 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/components/AppHeader.vue b/resources/js/components/AppHeader.vue index 84902b2e..ddff76b6 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 = computed(() => (url: string) => page.url === url); diff --git a/resources/js/components/AppSidebarHeader.vue b/resources/js/components/AppSidebarHeader.vue index 1ff2baa7..d2f88596 100644 --- a/resources/js/components/AppSidebarHeader.vue +++ b/resources/js/components/AppSidebarHeader.vue @@ -14,7 +14,7 @@ defineProps<{ >
-