NeoPy commited on
Commit
9d69ba4
·
verified ·
1 Parent(s): 78df5b6

Upload folder using huggingface_hub

Browse files
Files changed (21) hide show
  1. .dockerignore +8 -0
  2. .gitignore +24 -0
  3. Dockerfile +13 -0
  4. README.md +50 -10
  5. biome.json +54 -0
  6. bun.lock +0 -0
  7. components.json +21 -0
  8. index.html +14 -0
  9. netlify.toml +11 -0
  10. nginx.conf +10 -0
  11. package.json +88 -0
  12. postcss.config.js +6 -0
  13. public/_redirects +1 -0
  14. src/App.tsx +5 -0
  15. src/index.css +73 -0
  16. src/lib/utils.ts +6 -0
  17. src/main.tsx +10 -0
  18. src/vite-env.d.ts +1 -0
  19. tailwind.config.js +106 -0
  20. tsconfig.json +26 -0
  21. vite.config.ts +13 -0
.dockerignore ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ node_modules
2
+ *.log
3
+ dist
4
+ .git
5
+ .gitignore
6
+ Dockerfile
7
+ .dockerignore
8
+ .env
.gitignore ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ dist
12
+ dist-ssr
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .idea
19
+ .DS_Store
20
+ *.suo
21
+ *.ntvs*
22
+ *.njsproj
23
+ *.sln
24
+ *.sw?
Dockerfile ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use the official Bun image for building
2
+ FROM oven/bun:1.2 as builder
3
+ WORKDIR /app
4
+ COPY . .
5
+ RUN bun install --frozen-lockfile && bun run build
6
+
7
+ # Use Nginx to serve the build output statically
8
+ FROM nginx:alpine as production
9
+ COPY --from=builder /app/dist /usr/share/nginx/html
10
+ # Custom nginx config to support client-side routing
11
+ COPY ./nginx.conf /etc/nginx/conf.d/default.conf
12
+ EXPOSE 80
13
+ CMD ["nginx", "-g", "daemon off;"]
README.md CHANGED
@@ -1,10 +1,50 @@
1
- ---
2
- title: Neopy Yiutubedl
3
- emoji: 📈
4
- colorFrom: yellow
5
- colorTo: pink
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## Expanding the ESLint configuration
11
+
12
+ If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
13
+
14
+ - Configure the top-level `parserOptions` property like this:
15
+
16
+ ```js
17
+ export default tseslint.config({
18
+ languageOptions: {
19
+ // other options...
20
+ parserOptions: {
21
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
22
+ tsconfigRootDir: import.meta.dirname,
23
+ },
24
+ },
25
+ })
26
+ ```
27
+
28
+ - Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
29
+ - Optionally add `...tseslint.configs.stylisticTypeChecked`
30
+ - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
31
+
32
+ ```js
33
+ // eslint.config.js
34
+ import react from 'eslint-plugin-react'
35
+
36
+ export default tseslint.config({
37
+ // Set the react version
38
+ settings: { react: { version: '18.3' } },
39
+ plugins: {
40
+ // Add the react plugin
41
+ react,
42
+ },
43
+ rules: {
44
+ // other rules...
45
+ // Enable its recommended rules
46
+ ...react.configs.recommended.rules,
47
+ ...react.configs['jsx-runtime'].rules,
48
+ },
49
+ })
50
+ ```
biome.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3
+ "vcs": {
4
+ "enabled": false,
5
+ "clientKind": "git",
6
+ "useIgnoreFile": false
7
+ },
8
+ "files": {
9
+ "ignoreUnknown": false,
10
+ "ignore": ["dist", ".next", "node_modules", "build", "src/generated/**"],
11
+ "include": ["src/**/*.ts", "src/**/*.tsx"]
12
+ },
13
+ "formatter": {
14
+ "enabled": true,
15
+ "indentStyle": "space"
16
+ },
17
+ "organizeImports": {
18
+ "enabled": true
19
+ },
20
+ "linter": {
21
+ "enabled": true,
22
+ "rules": {
23
+ "recommended": true,
24
+ "correctness": {
25
+ "noUnusedVariables": "off"
26
+ },
27
+ "nursery": {
28
+ "noImgElement": "off"
29
+ },
30
+ "a11y": {
31
+ "noAutofocus": "off",
32
+ "noDistractingElements": "off",
33
+ "noHeaderScope": "off",
34
+ "noInteractiveElementToNoninteractiveRole": "off",
35
+ "noLabelWithoutControl": "off",
36
+ "noNoninteractiveElementToInteractiveRole": "off",
37
+ "noNoninteractiveTabindex": "off",
38
+ "noPositiveTabindex": "off",
39
+ "noRedundantAlt": "off",
40
+ "noRedundantRoles": "off",
41
+ "noSvgWithoutTitle": "off",
42
+ "useAltText": "off",
43
+ "useKeyWithClickEvents": "off",
44
+ "useKeyWithMouseEvents": "off",
45
+ "useButtonType": "off"
46
+ }
47
+ }
48
+ },
49
+ "javascript": {
50
+ "formatter": {
51
+ "quoteStyle": "double"
52
+ }
53
+ }
54
+ }
bun.lock ADDED
The diff for this file is too large to render. See raw diff
 
components.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "rsc": false,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "tailwind.config.js",
8
+ "css": "src/index.css",
9
+ "baseColor": "zinc",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "aliases": {
14
+ "components": "@/components",
15
+ "utils": "@/lib/utils",
16
+ "ui": "@/components/ui",
17
+ "lib": "@/lib",
18
+ "hooks": "@/hooks"
19
+ },
20
+ "iconLibrary": "lucide"
21
+ }
index.html ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ </head>
8
+
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+
14
+ </html>
netlify.toml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [images]
2
+ remote_images = ["https://source.unsplash.com/.*", "https://images.unsplash.com/.*", "https://ext.same-assets.com/.*", "https://ugc.same-assets.com/.*"]
3
+
4
+ [build]
5
+ command = "bun run build"
6
+ publish = "dist"
7
+
8
+ [[redirects]]
9
+ from = "/*"
10
+ to = "/index.html"
11
+ status = 200
nginx.conf ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ server {
2
+ listen 80;
3
+ server_name localhost;
4
+ root /usr/share/nginx/html;
5
+ index index.html;
6
+
7
+ location / {
8
+ try_files $uri $uri/ /index.html;
9
+ }
10
+ }
package.json ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "react-vite-tailwind",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite --host 0.0.0.0",
8
+ "build": "tsc -b && vite build --outDir dist",
9
+ "lint": "bunx biome lint --write && bunx tsc --noEmit",
10
+ "format": "bunx biome format --write",
11
+ "preview": "vite preview"
12
+ },
13
+ "dependencies": {
14
+ "@hookform/resolvers": "^3.10.0",
15
+ "@radix-ui/react-accordion": "^1.2.2",
16
+ "@radix-ui/react-alert-dialog": "^1.1.4",
17
+ "@radix-ui/react-aspect-ratio": "^1.1.1",
18
+ "@radix-ui/react-avatar": "^1.1.2",
19
+ "@radix-ui/react-checkbox": "^1.1.3",
20
+ "@radix-ui/react-collapsible": "^1.1.2",
21
+ "@radix-ui/react-context-menu": "^2.2.4",
22
+ "@radix-ui/react-dialog": "^1.1.4",
23
+ "@radix-ui/react-dropdown-menu": "^2.1.4",
24
+ "@radix-ui/react-hover-card": "^1.1.4",
25
+ "@radix-ui/react-label": "^2.1.1",
26
+ "@radix-ui/react-menubar": "^1.1.4",
27
+ "@radix-ui/react-navigation-menu": "^1.2.3",
28
+ "@radix-ui/react-popover": "^1.1.4",
29
+ "@radix-ui/react-progress": "^1.1.1",
30
+ "@radix-ui/react-radio-group": "^1.2.2",
31
+ "@radix-ui/react-scroll-area": "^1.2.2",
32
+ "@radix-ui/react-select": "^2.1.4",
33
+ "@radix-ui/react-separator": "^1.1.1",
34
+ "@radix-ui/react-slider": "^1.2.2",
35
+ "@radix-ui/react-slot": "^1.1.1",
36
+ "@radix-ui/react-switch": "^1.1.2",
37
+ "@radix-ui/react-tabs": "^1.1.2",
38
+ "@radix-ui/react-toast": "^1.2.4",
39
+ "@radix-ui/react-toggle": "^1.1.1",
40
+ "@radix-ui/react-toggle-group": "^1.1.1",
41
+ "@radix-ui/react-tooltip": "^1.1.6",
42
+ "cmdk": "^1.0.0",
43
+ "date-fns": "^3.6.0",
44
+ "embla-carousel-react": "^8.5.2",
45
+ "input-otp": "^1.4.2",
46
+ "next-themes": "^0.4.4",
47
+ "react": "^18.3.1",
48
+ "react-day-picker": "^8.10.1",
49
+ "react-dom": "^18.3.1",
50
+ "react-hook-form": "^7.54.2",
51
+ "react-resizable-panels": "^2.1.7",
52
+ "recharts": "^2.15.0",
53
+ "sonner": "^1.7.2",
54
+ "vaul": "^1.1.2",
55
+ "zod": "^3.24.2"
56
+ },
57
+ "devDependencies": {
58
+ "@eslint/js": "^9.18.0",
59
+ "@biomejs/biome": "1.9.4",
60
+ "@types/node": "^22.10.7",
61
+ "@types/react": "^18.3.18",
62
+ "@types/react-dom": "^18.3.5",
63
+ "@typescript-eslint/eslint-plugin": "^8.20.0",
64
+ "@typescript-eslint/parser": "^8.20.0",
65
+ "@vitejs/plugin-react": "^4.3.4",
66
+ "autoprefixer": "^10.4.20",
67
+ "class-variance-authority": "^0.7.1",
68
+ "clsx": "^2.1.1",
69
+ "eslint": "^9.18.0",
70
+ "eslint-config-prettier": "^10.0.1",
71
+ "eslint-import-resolver-typescript": "^3.7.0",
72
+ "eslint-plugin-import": "^2.31.0",
73
+ "eslint-plugin-react": "^7.37.4",
74
+ "eslint-plugin-react-hooks": "^5.1.0",
75
+ "eslint-plugin-react-refresh": "^0.4.18",
76
+ "globals": "^15.14.0",
77
+ "lucide-react": "^0.471.2",
78
+ "postcss": "^8.5.1",
79
+ "prettier": "^3.4.2",
80
+ "prettier-plugin-tailwindcss": "^0.6.10",
81
+ "tailwind-merge": "^2.6.0",
82
+ "tailwindcss": "^3.4.17",
83
+ "tailwindcss-animate": "^1.0.7",
84
+ "typescript": "~5.6.2",
85
+ "typescript-eslint": "^8.20.0",
86
+ "vite": "^6.0.5"
87
+ }
88
+ }
postcss.config.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
public/_redirects ADDED
@@ -0,0 +1 @@
 
 
1
+ /* /index.html 200
src/App.tsx ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ function App() {
2
+ return <></>;
3
+ }
4
+
5
+ export default App;
src/index.css ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ body {
6
+ font-family: Arial, Helvetica, sans-serif;
7
+ }
8
+
9
+ @layer base {
10
+ :root {
11
+ --background: 0 0% 100%;
12
+ --foreground: 240 10% 3.9%;
13
+ --card: 0 0% 100%;
14
+ --card-foreground: 240 10% 3.9%;
15
+ --popover: 0 0% 100%;
16
+ --popover-foreground: 240 10% 3.9%;
17
+ --primary: 240 5.9% 10%;
18
+ --primary-foreground: 0 0% 98%;
19
+ --secondary: 240 4.8% 95.9%;
20
+ --secondary-foreground: 240 5.9% 10%;
21
+ --muted: 240 4.8% 95.9%;
22
+ --muted-foreground: 240 3.8% 46.1%;
23
+ --accent: 240 4.8% 95.9%;
24
+ --accent-foreground: 240 5.9% 10%;
25
+ --destructive: 0 84.2% 60.2%;
26
+ --destructive-foreground: 0 0% 98%;
27
+ --border: 240 5.9% 90%;
28
+ --input: 240 5.9% 90%;
29
+ --ring: 240 5.9% 10%;
30
+ --radius: 0.5rem;
31
+ --chart-1: 12 76% 61%;
32
+ --chart-2: 173 58% 39%;
33
+ --chart-3: 197 37% 24%;
34
+ --chart-4: 43 74% 66%;
35
+ --chart-5: 27 87% 67%;
36
+ }
37
+
38
+ .dark {
39
+ --background: 240 10% 3.9%;
40
+ --foreground: 0 0% 98%;
41
+ --card: 240 10% 3.9%;
42
+ --card-foreground: 0 0% 98%;
43
+ --popover: 240 10% 3.9%;
44
+ --popover-foreground: 0 0% 98%;
45
+ --primary: 0 0% 98%;
46
+ --primary-foreground: 240 5.9% 10%;
47
+ --secondary: 240 3.7% 15.9%;
48
+ --secondary-foreground: 0 0% 98%;
49
+ --muted: 240 3.7% 15.9%;
50
+ --muted-foreground: 240 5% 64.9%;
51
+ --accent: 240 3.7% 15.9%;
52
+ --accent-foreground: 0 0% 98%;
53
+ --destructive: 0 62.8% 30.6%;
54
+ --destructive-foreground: 0 0% 98%;
55
+ --border: 240 3.7% 15.9%;
56
+ --input: 240 3.7% 15.9%;
57
+ --ring: 240 4.9% 83.9%;
58
+ --chart-1: 220 70% 50%;
59
+ --chart-2: 160 60% 45%;
60
+ --chart-3: 30 80% 55%;
61
+ --chart-4: 280 65% 60%;
62
+ --chart-5: 340 75% 55%;
63
+ }
64
+ }
65
+
66
+ @layer base {
67
+ * {
68
+ @apply border-border;
69
+ }
70
+ body {
71
+ @apply bg-background text-foreground;
72
+ }
73
+ }
src/lib/utils.ts ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ import { clsx, type ClassValue } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs));
6
+ }
src/main.tsx ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import { createRoot } from "react-dom/client";
2
+ import "./index.css";
3
+ import App from "./App.tsx";
4
+
5
+ const rootElement = document.getElementById("root");
6
+ if (!rootElement) {
7
+ throw new Error("Failed to find root element");
8
+ }
9
+
10
+ createRoot(rootElement).render(<App />);
src/vite-env.d.ts ADDED
@@ -0,0 +1 @@
 
 
1
+ /// <reference types="vite/client" />
tailwind.config.js ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ darkMode: ["class"],
4
+ content: ["./index.html", "./src/**/*.{ts,tsx,js,jsx}"],
5
+ theme: {
6
+ extend: {
7
+ borderRadius: {
8
+ lg: 'var(--radius)',
9
+ md: 'calc(var(--radius) - 2px)',
10
+ sm: 'calc(var(--radius) - 4px)'
11
+ },
12
+ colors: {
13
+ background: 'hsl(var(--background))',
14
+ foreground: 'hsl(var(--foreground))',
15
+ card: {
16
+ DEFAULT: 'hsl(var(--card))',
17
+ foreground: 'hsl(var(--card-foreground))'
18
+ },
19
+ popover: {
20
+ DEFAULT: 'hsl(var(--popover))',
21
+ foreground: 'hsl(var(--popover-foreground))'
22
+ },
23
+ primary: {
24
+ DEFAULT: 'hsl(var(--primary))',
25
+ foreground: 'hsl(var(--primary-foreground))'
26
+ },
27
+ secondary: {
28
+ DEFAULT: 'hsl(var(--secondary))',
29
+ foreground: 'hsl(var(--secondary-foreground))'
30
+ },
31
+ muted: {
32
+ DEFAULT: 'hsl(var(--muted))',
33
+ foreground: 'hsl(var(--muted-foreground))'
34
+ },
35
+ accent: {
36
+ DEFAULT: 'hsl(var(--accent))',
37
+ foreground: 'hsl(var(--accent-foreground))'
38
+ },
39
+ destructive: {
40
+ DEFAULT: 'hsl(var(--destructive))',
41
+ foreground: 'hsl(var(--destructive-foreground))'
42
+ },
43
+ border: 'hsl(var(--border))',
44
+ input: 'hsl(var(--input))',
45
+ ring: 'hsl(var(--ring))',
46
+ chart: {
47
+ '1': 'hsl(var(--chart-1))',
48
+ '2': 'hsl(var(--chart-2))',
49
+ '3': 'hsl(var(--chart-3))',
50
+ '4': 'hsl(var(--chart-4))',
51
+ '5': 'hsl(var(--chart-5))'
52
+ },
53
+ sidebar: {
54
+ DEFAULT: 'hsl(var(--sidebar-background))',
55
+ foreground: 'hsl(var(--sidebar-foreground))',
56
+ primary: 'hsl(var(--sidebar-primary))',
57
+ 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
58
+ accent: 'hsl(var(--sidebar-accent))',
59
+ 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
60
+ border: 'hsl(var(--sidebar-border))',
61
+ ring: 'hsl(var(--sidebar-ring))'
62
+ }
63
+ },
64
+ keyframes: {
65
+ 'accordion-down': {
66
+ from: {
67
+ height: '0'
68
+ },
69
+ to: {
70
+ height: 'var(--radix-accordion-content-height)'
71
+ }
72
+ },
73
+ 'accordion-up': {
74
+ from: {
75
+ height: 'var(--radix-accordion-content-height)'
76
+ },
77
+ to: {
78
+ height: '0'
79
+ }
80
+ }
81
+ },
82
+ animation: {
83
+ 'accordion-down': 'accordion-down 0.2s ease-out',
84
+ 'accordion-up': 'accordion-up 0.2s ease-out'
85
+ },
86
+ container: {
87
+ center: true,
88
+ padding: {
89
+ DEFAULT: '1rem',
90
+ sm: '2rem',
91
+ lg: '4rem',
92
+ xl: '5rem',
93
+ '2xl': '6rem',
94
+ },
95
+ screens: {
96
+ sm: '640px',
97
+ md: '768px',
98
+ lg: '1024px',
99
+ xl: '1280px',
100
+ '2xl': '1536px',
101
+ },
102
+ },
103
+ }
104
+ },
105
+ plugins: [require("tailwindcss-animate")],
106
+ };
tsconfig.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+ "baseUrl": ".",
9
+ "paths": {
10
+ "@/*": ["./src/*"]
11
+ },
12
+
13
+ /* Bundler mode */
14
+ "moduleResolution": "bundler",
15
+ "allowImportingTsExtensions": true,
16
+ "resolveJsonModule": true,
17
+ "isolatedModules": true,
18
+ "noEmit": true,
19
+ "jsx": "react-jsx",
20
+
21
+ /* Linting */
22
+ "strict": true,
23
+ "noFallthroughCasesInSwitch": true
24
+ },
25
+ "include": ["src", "vite.config.ts"]
26
+ }
vite.config.ts ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import path from "path";
2
+ import react from "@vitejs/plugin-react";
3
+ import { defineConfig } from "vite";
4
+
5
+ // https://vitejs.dev/config/
6
+ export default defineConfig({
7
+ plugins: [react()],
8
+ resolve: {
9
+ alias: {
10
+ "@": path.resolve(__dirname, "./src"),
11
+ },
12
+ },
13
+ });