diff --git a/package.json b/package.json index b3287cf..a8b8fcb 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,13 @@ "@types/better-sqlite3": "^7.6.11", "@types/express": "^4.17.21", "@types/node": "^20.12.12", + "@types/react": "^18.3.0", + "@types/react-dom": "^18.3.0", "@vitejs/plugin-react-swc": "^3.10.2", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.14", + "tailwindcss-animate": "^1.0.7", "tsx": "^4.16.2", "typescript": "^5.5.4", "vite": "6.3.5" diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..b593c74 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,19 @@ +/** @type {import('tailwindcss').Config} */ +export default { + darkMode: ["class"], + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", + }, + colors: {}, + }, + }, + plugins: [require("tailwindcss-animate")], +} diff --git a/tsconfig.json b/tsconfig.json index 79e903a..c20738e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,25 @@ { "compilerOptions": { - "target": "ES2022", - "module": "ES2022", - "moduleResolution": "Bundler", - "outDir": "dist", - "rootDir": "src", - "strict": true, - "esModuleInterop": true, + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, "resolveJsonModule": true, - "declaration": true, - "declarationMap": true, - "sourceMap": true + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } }, - "include": ["src/**/*.ts"], - "exclude": ["node_modules", "dist", "tests"] + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +}