From e6485b066dfd73f5d930d821fe460ad0cc559831 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Mon, 5 Jan 2026 17:38:05 +0700 Subject: [PATCH] feat: init commit for setup monorepo --- .prettierignore | 8 + .prettierrc | 8 + apps/docs-dev/.eslintrc.cjs | 5 + apps/docs-dev/index.html | 13 + apps/docs-dev/package.json | 29 + apps/docs-dev/public/typescript.svg | 1 + apps/docs-dev/public/vite.svg | 1 + apps/docs-dev/src/main.css | 1 + apps/docs-dev/src/main.tsx | 22 + apps/docs-dev/src/vite-env.d.ts | 1 + apps/docs-dev/tsconfig.json | 7 + apps/docs-dev/vite.config.ts | 7 + apps/web/package.json | 14 +- apps/web/src/apps/auth/index.tsx | 3 + apps/web/src/apps/index.tsx | 21 + apps/web/src/apps/modules/index.tsx | 9 + apps/web/src/main.css | 1 + apps/web/src/main.tsx | 31 +- apps/web/src/style.css | 97 --- apps/web/vite.config.ts | 7 +- package.json | 4 +- packages/ui/components/counter.tsx | 11 - packages/ui/package.json | 24 +- packages/ui/src/assets/fonts/.gitkeep | 0 packages/ui/src/assets/images/.gitkeep | 0 packages/ui/src/assets/styles/globals.css | 17 + packages/ui/src/components/counter.tsx | 16 + packages/ui/{ => src}/components/header.tsx | 2 +- packages/ui/{ => src}/components/index.ts | 0 packages/ui/{ => src}/index.ts | 0 packages/ui/vite.config.ts | 8 + pnpm-lock.yaml | 644 ++++++++++++++++---- pnpm-workspace.yaml | 5 +- turbo.json | 29 +- 34 files changed, 785 insertions(+), 261 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 apps/docs-dev/.eslintrc.cjs create mode 100644 apps/docs-dev/index.html create mode 100644 apps/docs-dev/package.json create mode 100644 apps/docs-dev/public/typescript.svg create mode 100644 apps/docs-dev/public/vite.svg create mode 100644 apps/docs-dev/src/main.css create mode 100644 apps/docs-dev/src/main.tsx create mode 100644 apps/docs-dev/src/vite-env.d.ts create mode 100644 apps/docs-dev/tsconfig.json create mode 100644 apps/docs-dev/vite.config.ts create mode 100644 apps/web/src/apps/auth/index.tsx create mode 100644 apps/web/src/apps/index.tsx create mode 100644 apps/web/src/apps/modules/index.tsx create mode 100644 apps/web/src/main.css delete mode 100644 apps/web/src/style.css delete mode 100644 packages/ui/components/counter.tsx create mode 100644 packages/ui/src/assets/fonts/.gitkeep create mode 100644 packages/ui/src/assets/images/.gitkeep create mode 100644 packages/ui/src/assets/styles/globals.css create mode 100644 packages/ui/src/components/counter.tsx rename packages/ui/{ => src}/components/header.tsx (87%) rename packages/ui/{ => src}/components/index.ts (100%) rename packages/ui/{ => src}/index.ts (100%) create mode 100644 packages/ui/vite.config.ts diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..e4f12fb --- /dev/null +++ b/.prettierignore @@ -0,0 +1,8 @@ +node_modules +public +dist +nginx +build +*.hbs +package-lock.json +README.md \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..aed6467 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": true, + "trailingComma": "all", + "singleQuote": true, + "printWidth": 120, + "tabWidth": 2, + "endOfLine": "lf" +} diff --git a/apps/docs-dev/.eslintrc.cjs b/apps/docs-dev/.eslintrc.cjs new file mode 100644 index 0000000..02f791d --- /dev/null +++ b/apps/docs-dev/.eslintrc.cjs @@ -0,0 +1,5 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + extends: ["@repo/eslint-config/index.js"], +}; diff --git a/apps/docs-dev/index.html b/apps/docs-dev/index.html new file mode 100644 index 0000000..2d58552 --- /dev/null +++ b/apps/docs-dev/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + docs + + +
+ + + diff --git a/apps/docs-dev/package.json b/apps/docs-dev/package.json new file mode 100644 index 0000000..129a64b --- /dev/null +++ b/apps/docs-dev/package.json @@ -0,0 +1,29 @@ +{ + "name": "docs-dev", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite --clearScreen false", + "build": "tsc && vite build", + "preview": "vite preview", + "lint": "eslint \"src/**/*.ts\"" + }, + "dependencies": { + "@repo/ui": "workspace:*", + "@tailwindcss/vite": "^4.1.18", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "tailwindcss": "^4.1.18" + }, + "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^3.1.0", + "eslint": "^8.57.0", + "typescript": "5.5.4", + "vite": "^5.1.4" + } +} \ No newline at end of file diff --git a/apps/docs-dev/public/typescript.svg b/apps/docs-dev/public/typescript.svg new file mode 100644 index 0000000..d91c910 --- /dev/null +++ b/apps/docs-dev/public/typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs-dev/public/vite.svg b/apps/docs-dev/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/apps/docs-dev/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs-dev/src/main.css b/apps/docs-dev/src/main.css new file mode 100644 index 0000000..7ca3c1a --- /dev/null +++ b/apps/docs-dev/src/main.css @@ -0,0 +1 @@ +@import '@repo/ui/global.css'; diff --git a/apps/docs-dev/src/main.tsx b/apps/docs-dev/src/main.tsx new file mode 100644 index 0000000..ea5a225 --- /dev/null +++ b/apps/docs-dev/src/main.tsx @@ -0,0 +1,22 @@ +import { createRoot } from 'react-dom/client'; +import typescriptLogo from '/typescript.svg'; +import { Header, Counter } from '@repo/ui'; +import './main.css'; + +const App = () => ( +
+ + Vite logo + + + TypeScript logo + +
+
+

Hello world! docs

+ +
+
+); + +createRoot(document.getElementById('app')!).render(); diff --git a/apps/docs-dev/src/vite-env.d.ts b/apps/docs-dev/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/apps/docs-dev/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/apps/docs-dev/tsconfig.json b/apps/docs-dev/tsconfig.json new file mode 100644 index 0000000..9e7332d --- /dev/null +++ b/apps/docs-dev/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "@repo/typescript-config/vite.json", + "include": ["src"], + "compilerOptions": { + "jsx": "react-jsx" + } +} \ No newline at end of file diff --git a/apps/docs-dev/vite.config.ts b/apps/docs-dev/vite.config.ts new file mode 100644 index 0000000..da17daf --- /dev/null +++ b/apps/docs-dev/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import tailwindcss from '@tailwindcss/vite'; + +export default defineConfig({ + plugins: [react(), tailwindcss()], +}); diff --git a/apps/web/package.json b/apps/web/package.json index 4406b2e..705b108 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,18 +10,22 @@ "lint": "eslint \"src/**/*.ts\"" }, "dependencies": { + "@module/template": "workspace:*", "@repo/ui": "workspace:*", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "@tailwindcss/vite": "^4.1.18", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "react-router-dom": "^7.11.0", + "tailwindcss": "^4.1.18" }, "devDependencies": { "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", - "@types/react": "^19.0.1", - "@types/react-dom": "^19.0.2", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^3.1.0", "eslint": "^8.57.0", "typescript": "5.5.4", "vite": "^5.1.4" } -} +} \ No newline at end of file diff --git a/apps/web/src/apps/auth/index.tsx b/apps/web/src/apps/auth/index.tsx new file mode 100644 index 0000000..c86aca0 --- /dev/null +++ b/apps/web/src/apps/auth/index.tsx @@ -0,0 +1,3 @@ +export default function AuthModule() { + return
auth module
; +} diff --git a/apps/web/src/apps/index.tsx b/apps/web/src/apps/index.tsx new file mode 100644 index 0000000..b2c76be --- /dev/null +++ b/apps/web/src/apps/index.tsx @@ -0,0 +1,21 @@ +import { lazy, Suspense } from 'react'; +import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'; + +const AuthModule = lazy(() => import('./auth')); +const AppModule = lazy(() => import('./modules')); + +export default function App() { + return ( + + Loading...}> + + } /> + } /> + {/* } /> + } /> */} + } /> + + + + ); +} diff --git a/apps/web/src/apps/modules/index.tsx b/apps/web/src/apps/modules/index.tsx new file mode 100644 index 0000000..7c14b18 --- /dev/null +++ b/apps/web/src/apps/modules/index.tsx @@ -0,0 +1,9 @@ +import { Route, Routes } from 'react-router-dom'; + +export default function AppModule() { + return ( + + 1} /> + + ); +} diff --git a/apps/web/src/main.css b/apps/web/src/main.css new file mode 100644 index 0000000..7ca3c1a --- /dev/null +++ b/apps/web/src/main.css @@ -0,0 +1 @@ +@import '@repo/ui/global.css'; diff --git a/apps/web/src/main.tsx b/apps/web/src/main.tsx index 2af81b7..4d924f8 100644 --- a/apps/web/src/main.tsx +++ b/apps/web/src/main.tsx @@ -1,25 +1,10 @@ -import { createRoot } from "react-dom/client"; -import "./style.css"; -import typescriptLogo from "/typescript.svg"; -import { Header, Counter } from "@repo/ui"; +import './main.css'; +import { lazy, StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +const App = lazy(() => import('./apps')); -const App = () => ( -
- - Vite logo - - - TypeScript logo - -
-
- -
-
+createRoot(document.getElementById('app')!).render( + + + , ); - -createRoot(document.getElementById("app")!).render(); diff --git a/apps/web/src/style.css b/apps/web/src/style.css deleted file mode 100644 index 1232080..0000000 --- a/apps/web/src/style.css +++ /dev/null @@ -1,97 +0,0 @@ -:root { - font-family: Inter, Avenir, Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 24px; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.vanilla:hover { - filter: drop-shadow(0 0 2em #f7df1eaa); -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 081c8d9..da17daf 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -1,6 +1,7 @@ -import { defineConfig } from "vite"; -import react from "@vitejs/plugin-react"; +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import tailwindcss from '@tailwindcss/vite'; export default defineConfig({ - plugins: [react()], + plugins: [react(), tailwindcss()], }); diff --git a/package.json b/package.json index d4a9ab0..8f215ea 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,8 @@ "scripts": { "build": "turbo run build", "dev": "turbo run dev", + "dev:web": "turbo run dev --filter=web", + "dev:docs-dev": "turbo run dev --filter=docs-dev", "lint": "turbo run lint", "format": "prettier --write \"**/*.{ts,tsx,md}\"" }, @@ -13,4 +15,4 @@ }, "packageManager": "pnpm@8.15.6", "name": "with-vite-react" -} +} \ No newline at end of file diff --git a/packages/ui/components/counter.tsx b/packages/ui/components/counter.tsx deleted file mode 100644 index 3904438..0000000 --- a/packages/ui/components/counter.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React, { useState } from "react"; - -export const Counter: React.FC = () => { - const [count, setCount] = useState(0); - - return ( - - ); -}; diff --git a/packages/ui/package.json b/packages/ui/package.json index 991c4e6..62821c9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -2,25 +2,29 @@ "name": "@repo/ui", "version": "0.0.0", "exports": { - ".": "./index.ts", - "./counter": "./components/counter.ts", - "./header": "./components/header.ts", - "./setup-counter": "./utils/counter.ts" + ".": "./src/index.ts", + "./global.css": "./src/assets/styles/globals.css" }, "license": "MIT", "scripts": { "lint": "eslint \"**/*.ts\"" }, "dependencies": { - "react": "^18.2.0", - "react-dom": "^18.2.0" + "@tailwindcss/vite": "^4.1.18", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "tailwind-merge": "^3.4.0", + "tailwind-variants": "^3.2.2", + "tailwindcss": "^4.1.18" }, "devDependencies": { - "@types/react": "^19.0.1", - "@types/react-dom": "^19.0.2", "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^3.1.0", "eslint": "^8.57.0", - "typescript": "5.5.4" + "typescript": "5.5.4", + "vite": "^5.1.4" } -} +} \ No newline at end of file diff --git a/packages/ui/src/assets/fonts/.gitkeep b/packages/ui/src/assets/fonts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/packages/ui/src/assets/images/.gitkeep b/packages/ui/src/assets/images/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/packages/ui/src/assets/styles/globals.css b/packages/ui/src/assets/styles/globals.css new file mode 100644 index 0000000..983ca7e --- /dev/null +++ b/packages/ui/src/assets/styles/globals.css @@ -0,0 +1,17 @@ +@import 'tailwindcss'; + +@source "../../../src"; + +@theme { + --color-brand-50: #f5f3fd; /* sangat terang, hampir lavender */ + --color-brand-100: #e6dbfb; + --color-brand-200: #d0b6f8; + --color-brand-300: #b78ff5; + --color-brand-400: #9f64f1; + --color-brand-500: #7d39ed; /* warna utama purple */ + --color-brand-600: #652ed9; + --color-brand-700: #4a23a5; + --color-brand-800: #321a7a; + --color-brand-900: #1b0f4a; + --color-brand-950: #0d0726; /* paling gelap */ +} diff --git a/packages/ui/src/components/counter.tsx b/packages/ui/src/components/counter.tsx new file mode 100644 index 0000000..8a7a76e --- /dev/null +++ b/packages/ui/src/components/counter.tsx @@ -0,0 +1,16 @@ +import React, { useState } from 'react'; + +export const Counter: React.FC = () => { + const [count, setCount] = useState(0); + + return ( +
+
100
+
sdsa
+
sada
+ +
+ ); +}; diff --git a/packages/ui/components/header.tsx b/packages/ui/src/components/header.tsx similarity index 87% rename from packages/ui/components/header.tsx rename to packages/ui/src/components/header.tsx index b2a6598..c142845 100644 --- a/packages/ui/components/header.tsx +++ b/packages/ui/src/components/header.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React from 'react'; interface HeaderProps { title: string; diff --git a/packages/ui/components/index.ts b/packages/ui/src/components/index.ts similarity index 100% rename from packages/ui/components/index.ts rename to packages/ui/src/components/index.ts diff --git a/packages/ui/index.ts b/packages/ui/src/index.ts similarity index 100% rename from packages/ui/index.ts rename to packages/ui/src/index.ts diff --git a/packages/ui/vite.config.ts b/packages/ui/vite.config.ts new file mode 100644 index 0000000..6e7f528 --- /dev/null +++ b/packages/ui/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import tailwindcss from '@tailwindcss/vite'; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react(), tailwindcss()], +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef1365d..dafb49c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,17 +18,23 @@ importers: specifier: ^2.7.2 version: 2.7.2 - apps/web: + apps/docs-dev: dependencies: '@repo/ui': specifier: workspace:* version: link:../../packages/ui + '@tailwindcss/vite': + specifier: ^4.1.18 + version: 4.1.18(vite@5.4.17) react: - specifier: ^18.2.0 - version: 18.3.1 + specifier: ^19.2.3 + version: 19.2.3 react-dom: - specifier: ^18.2.0 - version: 18.3.1(react@18.3.1) + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) + tailwindcss: + specifier: ^4.1.18 + version: 4.1.18 devDependencies: '@repo/eslint-config': specifier: workspace:* @@ -37,11 +43,60 @@ importers: specifier: workspace:* version: link:../../packages/typescript-config '@types/react': - specifier: ^19.0.1 - version: 19.1.0 + specifier: ^19.2.7 + version: 19.2.7 '@types/react-dom': - specifier: ^19.0.2 - version: 19.1.1(@types/react@19.1.0) + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.7) + '@vitejs/plugin-react': + specifier: ^3.1.0 + version: 3.1.0(vite@5.4.17) + eslint: + specifier: ^8.57.0 + version: 8.57.1 + typescript: + specifier: 5.5.4 + version: 5.5.4 + vite: + specifier: ^5.1.4 + version: 5.4.17 + + apps/web: + dependencies: + '@module/template': + specifier: workspace:* + version: link:../../packages/modules/templates + '@repo/ui': + specifier: workspace:* + version: link:../../packages/ui + '@tailwindcss/vite': + specifier: ^4.1.18 + version: 4.1.18(vite@5.4.17) + react: + specifier: ^19.2.3 + version: 19.2.3 + react-dom: + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) + react-router-dom: + specifier: ^7.11.0 + version: 7.11.0(react-dom@19.2.3)(react@19.2.3) + tailwindcss: + specifier: ^4.1.18 + version: 4.1.18 + devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + '@types/react': + specifier: ^19.2.7 + version: 19.2.7 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.7) '@vitejs/plugin-react': specifier: ^3.1.0 version: 3.1.0(vite@5.4.17) @@ -67,16 +122,80 @@ importers: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.1) + packages/modules/templates: + dependencies: + '@repo/ui': + specifier: workspace:* + version: link:../../ui + '@tailwindcss/vite': + specifier: ^4.1.18 + version: 4.1.18(vite@5.4.17) + react: + specifier: ^19.2.3 + version: 19.2.3 + react-dom: + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) + react-router-dom: + specifier: ^7.11.0 + version: 7.11.0(react-dom@19.2.3)(react@19.2.3) + tailwind-merge: + specifier: ^3.4.0 + version: 3.4.0 + tailwind-variants: + specifier: ^3.2.2 + version: 3.2.2(tailwind-merge@3.4.0)(tailwindcss@4.1.18) + tailwindcss: + specifier: ^4.1.18 + version: 4.1.18 + devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../../eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../../typescript-config + '@types/react': + specifier: ^19.2.7 + version: 19.2.7 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.7) + '@vitejs/plugin-react': + specifier: ^3.1.0 + version: 3.1.0(vite@5.4.17) + eslint: + specifier: ^8.57.0 + version: 8.57.1 + typescript: + specifier: 5.5.4 + version: 5.5.4 + vite: + specifier: ^5.1.4 + version: 5.4.17 + packages/typescript-config: {} packages/ui: dependencies: + '@tailwindcss/vite': + specifier: ^4.1.18 + version: 4.1.18(vite@5.4.17) react: - specifier: ^18.2.0 - version: 18.3.1 + specifier: ^19.2.3 + version: 19.2.3 react-dom: - specifier: ^18.2.0 - version: 18.3.1(react@18.3.1) + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) + tailwind-merge: + specifier: ^3.4.0 + version: 3.4.0 + tailwind-variants: + specifier: ^3.2.2 + version: 3.2.2(tailwind-merge@3.4.0)(tailwindcss@4.1.18) + tailwindcss: + specifier: ^4.1.18 + version: 4.1.18 devDependencies: '@repo/eslint-config': specifier: workspace:* @@ -85,17 +204,23 @@ importers: specifier: workspace:* version: link:../typescript-config '@types/react': - specifier: ^19.0.1 - version: 19.1.0 + specifier: ^19.2.7 + version: 19.2.7 '@types/react-dom': - specifier: ^19.0.2 - version: 19.1.1(@types/react@19.1.0) + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.7) + '@vitejs/plugin-react': + specifier: ^3.1.0 + version: 3.1.0(vite@5.4.17) eslint: specifier: ^8.57.0 version: 8.57.1 typescript: specifier: 5.5.4 version: 5.5.4 + vite: + specifier: ^5.1.4 + version: 5.4.17 packages: @@ -283,7 +408,6 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64@0.21.5: @@ -292,7 +416,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm@0.21.5: @@ -301,7 +424,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64@0.21.5: @@ -310,7 +432,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64@0.21.5: @@ -319,7 +440,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64@0.21.5: @@ -328,7 +448,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64@0.21.5: @@ -337,7 +456,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64@0.21.5: @@ -346,7 +464,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64@0.21.5: @@ -355,7 +472,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm@0.21.5: @@ -364,7 +480,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32@0.21.5: @@ -373,7 +488,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64@0.21.5: @@ -382,7 +496,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el@0.21.5: @@ -391,7 +504,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64@0.21.5: @@ -400,7 +512,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64@0.21.5: @@ -409,7 +520,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x@0.21.5: @@ -418,7 +528,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64@0.21.5: @@ -427,7 +536,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64@0.21.5: @@ -436,7 +544,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64@0.21.5: @@ -445,7 +552,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64@0.21.5: @@ -454,7 +560,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64@0.21.5: @@ -463,7 +568,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32@0.21.5: @@ -472,7 +576,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64@0.21.5: @@ -481,7 +584,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint-community/eslint-utils@4.5.1(eslint@8.57.1): @@ -541,28 +643,34 @@ packages: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 - dev: true + + /@jridgewell/remapping@2.3.5: + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + dev: false /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.2.1: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/sourcemap-codec@1.5.0: resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - dev: true + + /@jridgewell/sourcemap-codec@1.5.5: + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + dev: false /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - dev: true /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -587,7 +695,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@rollup/rollup-android-arm64@4.39.0: @@ -595,7 +702,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@rollup/rollup-darwin-arm64@4.39.0: @@ -603,7 +709,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@rollup/rollup-darwin-x64@4.39.0: @@ -611,7 +716,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@rollup/rollup-freebsd-arm64@4.39.0: @@ -619,7 +723,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@rollup/rollup-freebsd-x64@4.39.0: @@ -627,7 +730,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm-gnueabihf@4.39.0: @@ -635,7 +737,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm-musleabihf@4.39.0: @@ -643,7 +744,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm64-gnu@4.39.0: @@ -651,7 +751,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm64-musl@4.39.0: @@ -659,7 +758,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-loongarch64-gnu@4.39.0: @@ -667,7 +765,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-powerpc64le-gnu@4.39.0: @@ -675,7 +772,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-riscv64-gnu@4.39.0: @@ -683,7 +779,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-riscv64-musl@4.39.0: @@ -691,7 +786,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-s390x-gnu@4.39.0: @@ -699,7 +793,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-x64-gnu@4.39.0: @@ -707,7 +800,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-x64-musl@4.39.0: @@ -715,7 +807,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-arm64-msvc@4.39.0: @@ -723,7 +814,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-ia32-msvc@4.39.0: @@ -731,7 +821,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-x64-msvc@4.39.0: @@ -739,25 +828,178 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true + /@tailwindcss/node@4.1.18: + resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.4 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.1.18 + dev: false + + /@tailwindcss/oxide-android-arm64@4.1.18: + resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-darwin-arm64@4.1.18: + resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-darwin-x64@4.1.18: + resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-freebsd-x64@4.1.18: + resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18: + resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-linux-arm64-gnu@4.1.18: + resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-linux-arm64-musl@4.1.18: + resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-linux-x64-gnu@4.1.18: + resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-linux-x64-musl@4.1.18: + resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-wasm32-wasi@4.1.18: + resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + requiresBuild: true + dev: false + optional: true + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + /@tailwindcss/oxide-win32-arm64-msvc@4.1.18: + resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide-win32-x64-msvc@4.1.18: + resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@tailwindcss/oxide@4.1.18: + resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} + engines: {node: '>= 10'} + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-x64': 4.1.18 + '@tailwindcss/oxide-freebsd-x64': 4.1.18 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-x64-musl': 4.1.18 + '@tailwindcss/oxide-wasm32-wasi': 4.1.18 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 + dev: false + + /@tailwindcss/vite@4.1.18(vite@5.4.17): + resolution: {integrity: sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 + dependencies: + '@tailwindcss/node': 4.1.18 + '@tailwindcss/oxide': 4.1.18 + tailwindcss: 4.1.18 + vite: 5.4.17 + dev: false + /@types/estree@1.0.7: resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - dev: true - /@types/react-dom@19.1.1(@types/react@19.1.0): - resolution: {integrity: sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==} + /@types/react-dom@19.2.3(@types/react@19.2.7): + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: - '@types/react': ^19.0.0 + '@types/react': ^19.2.0 dependencies: - '@types/react': 19.1.0 + '@types/react': 19.2.7 dev: true - /@types/react@19.1.0: - resolution: {integrity: sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==} + /@types/react@19.2.7: + resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} dependencies: - csstype: 3.1.3 + csstype: 3.2.3 dev: true /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.5.4): @@ -1006,6 +1248,11 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true + /cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + dev: false + /cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1014,8 +1261,8 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + /csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} dev: true /debug@4.4.0: @@ -1032,6 +1279,11 @@ packages: /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + /detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + dev: false + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1049,6 +1301,14 @@ packages: resolution: {integrity: sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA==} dev: true + /enhanced-resolve@5.18.4: + resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + dev: false + /esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -1077,7 +1337,6 @@ packages: '@esbuild/win32-arm64': 0.21.5 '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - dev: true /escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} @@ -1090,6 +1349,7 @@ packages: /eslint-config-prettier@9.1.0(eslint@8.57.1): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: @@ -1244,7 +1504,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /gensync@1.0.0-beta.2: @@ -1298,6 +1557,10 @@ packages: slash: 3.0.0 dev: false + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: false + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -1351,8 +1614,14 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -1390,6 +1659,124 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 + /lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 + dev: false + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1399,12 +1786,6 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - dependencies: - js-tokens: 4.0.0 - dev: false - /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -1418,6 +1799,12 @@ packages: '@jridgewell/sourcemap-codec': 1.5.0 dev: true + /magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + dev: false + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1449,7 +1836,6 @@ packages: /nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - dev: true /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -1511,7 +1897,6 @@ packages: /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - dev: true /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1525,7 +1910,6 @@ packages: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 - dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -1543,14 +1927,13 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /react-dom@18.3.1(react@18.3.1): - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + /react-dom@19.2.3(react@19.2.3): + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} peerDependencies: - react: ^18.3.1 + react: ^19.2.3 dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.2.3 + scheduler: 0.27.0 dev: false /react-refresh@0.14.2: @@ -1558,11 +1941,37 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} + /react-router-dom@7.11.0(react-dom@19.2.3)(react@19.2.3): + resolution: {integrity: sha512-e49Ir/kMGRzFOOrYQBdoitq3ULigw4lKbAyKusnvtDu2t4dBX4AGYPrzNvorXmVuOyeakai6FUPW5MmibvVG8g==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' dependencies: - loose-envify: 1.4.0 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + react-router: 7.11.0(react-dom@19.2.3)(react@19.2.3) + dev: false + + /react-router@7.11.0(react-dom@19.2.3)(react@19.2.3): + resolution: {integrity: sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + dependencies: + cookie: 1.1.1 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + set-cookie-parser: 2.7.2 + dev: false + + /react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} dev: false /resolve-from@4.0.0: @@ -1605,17 +2014,14 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.39.0 '@rollup/rollup-win32-x64-msvc': 4.39.0 fsevents: 2.3.3 - dev: true /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - /scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - dependencies: - loose-envify: 1.4.0 + /scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} dev: false /semver@6.3.1: @@ -1627,6 +2033,10 @@ packages: engines: {node: '>=10'} dev: false + /set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + dev: false + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1645,7 +2055,6 @@ packages: /source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - dev: true /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -1663,6 +2072,33 @@ packages: dependencies: has-flag: 4.0.0 + /tailwind-merge@3.4.0: + resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} + dev: false + + /tailwind-variants@3.2.2(tailwind-merge@3.4.0)(tailwindcss@4.1.18): + resolution: {integrity: sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwind-merge: '>=3.0.0' + tailwindcss: '*' + peerDependenciesMeta: + tailwind-merge: + optional: true + dependencies: + tailwind-merge: 3.4.0 + tailwindcss: 4.1.18 + dev: false + + /tailwindcss@4.1.18: + resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} + dev: false + + /tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} + dev: false + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -1755,9 +2191,11 @@ packages: /typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} + hasBin: true /update-browserslist-db@1.1.3(browserslist@4.24.4): resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -1774,6 +2212,7 @@ packages: /vite@5.4.17: resolution: {integrity: sha512-5+VqZryDj4wgCs55o9Lp+p8GE78TLVg0lasCH5xFZ4jacZjtqZa6JUw9/p0WeAojaOfncSM6v77InkFPGnvPvg==} engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 less: '*' @@ -1806,7 +2245,6 @@ packages: rollup: 4.39.0 optionalDependencies: fsevents: 2.3.3 - dev: true /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3ff5faa..7715f33 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,4 @@ packages: - - "apps/*" - - "packages/*" + - 'apps/*' + - 'packages/*' + - 'packages/modules/*' diff --git a/turbo.json b/turbo.json index 936c556..e688ac3 100644 --- a/turbo.json +++ b/turbo.json @@ -1,15 +1,34 @@ { "$schema": "https://turborepo.com/schema.json", + "ui": "tui", "tasks": { "build": { - "dependsOn": ["^build"], - "inputs": ["$TURBO_DEFAULT$", ".env*"], - "outputs": ["dist/**"] + "dependsOn": [ + "^build" + ], + "inputs": [ + "$TURBO_DEFAULT$", + ".env*" + ], + "outputs": [ + "dist/**", + ".next/**", + "!.next/cache/**" + ] + }, + "lint": { + "dependsOn": [ + "^lint" + ] + }, + "check-types": { + "dependsOn": [ + "^check-types" + ] }, - "lint": {}, "dev": { "cache": false, "persistent": true } } -} +} \ No newline at end of file