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()],
});