diff --git a/package-lock.json b/package-lock.json index eefcfbd3..3bcb0c8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,8 @@ "prettier": "^3.5.3", "typescript": "~5.8.3", "typescript-eslint": "^8.30.1", - "vite": "^6.3.5" + "vite": "^6.3.5", + "vite-tsconfig-paths": "^5.1.4" } }, "node_modules/@ampproject/remapping": { @@ -2903,6 +2904,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true, + "license": "MIT" + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -4130,6 +4138,27 @@ "typescript": ">=4.8.4" } }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "dev": true, + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4295,6 +4324,26 @@ } } }, + "node_modules/vite-tsconfig-paths": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", + "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, "node_modules/vite/node_modules/fdir": { "version": "6.4.5", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", diff --git a/package.json b/package.json index e55118bb..bf0c1c7e 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "prettier": "^3.5.3", "typescript": "~5.8.3", "typescript-eslint": "^8.30.1", - "vite": "^6.3.5" + "vite": "^6.3.5", + "vite-tsconfig-paths": "^5.1.4" } } diff --git a/src/main.tsx b/src/main.tsx index 6608341e..e9a7f3a0 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,13 +1,13 @@ -import { StrictMode } from "react"; -import { createRoot } from "react-dom/client"; -import { RouterProvider } from "react-router-dom"; -import "./index.css"; -import createAppRouter from "./router"; +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import { RouterProvider } from 'react-router-dom'; +import '@/index.css'; +import createAppRouter from '@/router'; const router = createAppRouter(); -createRoot(document.getElementById("root")!).render( +createRoot(document.getElementById('root')!).render( - + , ); diff --git a/src/router.tsx b/src/router.tsx index a87929a2..71a1d572 100644 --- a/src/router.tsx +++ b/src/router.tsx @@ -1,10 +1,10 @@ -import { createBrowserRouter } from "react-router-dom"; -import App from "./App"; +import { createBrowserRouter } from 'react-router-dom'; +import App from '@/App'; export default function createAppRouter() { return createBrowserRouter([ { - path: "/", + path: '/', element: , }, ]); diff --git a/tsconfig.app.json b/tsconfig.app.json index c9ccbd4c..da3ae36f 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -7,6 +7,12 @@ "module": "ESNext", "skipLibCheck": true, + /* Path Alias */ + "baseUrl": "src", + "paths": { + "@/*": ["*"] + }, + /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, diff --git a/vite.config.ts b/vite.config.ts index 6e7f5280..10337632 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,8 +1,9 @@ import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import tailwindcss from '@tailwindcss/vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; // https://vite.dev/config/ export default defineConfig({ - plugins: [react(), tailwindcss()], + plugins: [react(), tailwindcss(), tsconfigPaths()], });