From 5dae5c31b7bb6f57a22ce2d79764ac8a758d47e6 Mon Sep 17 00:00:00 2001 From: Jacob Marshall Date: Sat, 18 Jan 2025 19:44:45 +0000 Subject: [PATCH] feat: add a `with-tailwind` example (#359) Co-authored-by: Marco Pasqualetti --- Cargo.toml | 15 +- .../documentation/styles/tailwind-css.mdx | 9 +- examples/with-tailwind/.gitignore | 13 + examples/with-tailwind/Cargo.toml | 11 + examples/with-tailwind/README.md | 9 + examples/with-tailwind/package.json | 17 + examples/with-tailwind/public/favicon.ico | Bin 0 -> 39529 bytes .../with-tailwind/src/routes/__layout.tsx | 18 + examples/with-tailwind/src/routes/index.tsx | 26 + examples/with-tailwind/src/styles/global.css | 1 + examples/with-tailwind/tsconfig.json | 24 + examples/with-tailwind/tuono.config.ts | 10 + pnpm-lock.yaml | 476 ++++++++++++++---- 13 files changed, 534 insertions(+), 95 deletions(-) create mode 100644 examples/with-tailwind/.gitignore create mode 100644 examples/with-tailwind/Cargo.toml create mode 100644 examples/with-tailwind/README.md create mode 100644 examples/with-tailwind/package.json create mode 100644 examples/with-tailwind/public/favicon.ico create mode 100644 examples/with-tailwind/src/routes/__layout.tsx create mode 100644 examples/with-tailwind/src/routes/index.tsx create mode 100644 examples/with-tailwind/src/styles/global.css create mode 100644 examples/with-tailwind/tsconfig.json create mode 100644 examples/with-tailwind/tuono.config.ts diff --git a/Cargo.toml b/Cargo.toml index b12ffa85..e6a350c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,13 +1,10 @@ [workspace] resolver = "2" -members = [ - "crates/tuono", - "crates/tuono_lib", - "crates/tuono_lib_macros", -] +members = ["crates/tuono", "crates/tuono_lib", "crates/tuono_lib_macros"] exclude = [ - "apps/documentation", - "examples/with-mdx", - "examples/tuono-app", - "examples/tuono-tutorial" + "apps/documentation", + "examples/with-mdx", + "examples/tuono-app", + "examples/tuono-tutorial", + "examples/with-tailwind", ] diff --git a/apps/documentation/src/routes/documentation/styles/tailwind-css.mdx b/apps/documentation/src/routes/documentation/styles/tailwind-css.mdx index d93a7028..4e655e7d 100644 --- a/apps/documentation/src/routes/documentation/styles/tailwind-css.mdx +++ b/apps/documentation/src/routes/documentation/styles/tailwind-css.mdx @@ -11,7 +11,14 @@ import Breadcrumbs from '@/components/Breadcrumbs' # Tailwind CSS -[Tailwind CSS](https://tailwindcss.com) is a popular utility-first CSS framework. Tuono support starts from Tailwind CSS v4. +[Tailwind CSS](https://tailwindcss.com) is a popular utility-first CSS framework. +Tuono support begins with Tailwind CSS v4. + +You can start using it right away with the `with-tailwind` template: + +```sh +tuono new tuono-with-tailwind --template with-tailwind +``` ## Installation diff --git a/examples/with-tailwind/.gitignore b/examples/with-tailwind/.gitignore new file mode 100644 index 00000000..071acad0 --- /dev/null +++ b/examples/with-tailwind/.gitignore @@ -0,0 +1,13 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.tuono +out +target diff --git a/examples/with-tailwind/Cargo.toml b/examples/with-tailwind/Cargo.toml new file mode 100644 index 00000000..f81a1356 --- /dev/null +++ b/examples/with-tailwind/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "with-tailwind" +version = "0.0.1" +edition = "2021" + +[[bin]] +name = "tuono" +path = ".tuono/main.rs" + +[dependencies] +tuono_lib = { path = "../../crates/tuono_lib/" } diff --git a/examples/with-tailwind/README.md b/examples/with-tailwind/README.md new file mode 100644 index 00000000..03b50ca9 --- /dev/null +++ b/examples/with-tailwind/README.md @@ -0,0 +1,9 @@ +# Tuono with Tailwind CSS starter + +This is the starter project for using Tuono and Tailwind CSS. To download it run in your terminal: + +```shell +tuono new [NAME] --template with-tailwind +``` + +To learn about how to set this up yourself, read our [Tailwind CSS documentation page](https://tuono.dev/documentation/styles/tailwind-css). diff --git a/examples/with-tailwind/package.json b/examples/with-tailwind/package.json new file mode 100644 index 00000000..51c93756 --- /dev/null +++ b/examples/with-tailwind/package.json @@ -0,0 +1,17 @@ +{ + "name": "with-tailwind", + "description": "Basic tuono application with tailwind", + "version": "0.0.1", + "dependencies": { + "@tailwindcss/vite": "^4.0.0-beta.9", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwindcss": "^4.0.0-beta.9", + "tuono": "link:../../packages/tuono" + }, + "devDependencies": { + "@types/react": "^19.0.2", + "@types/react-dom": "^19.0.2", + "typescript": "^5.6.3" + } +} diff --git a/examples/with-tailwind/public/favicon.ico b/examples/with-tailwind/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d03bcc6640d69649846a0028bcfff9950c261789 GIT binary patch literal 39529 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 literal 0 HcmV?d00001 diff --git a/examples/with-tailwind/src/routes/__layout.tsx b/examples/with-tailwind/src/routes/__layout.tsx new file mode 100644 index 00000000..c8d467b2 --- /dev/null +++ b/examples/with-tailwind/src/routes/__layout.tsx @@ -0,0 +1,18 @@ +import type { ReactNode, JSX } from 'react' + +interface RootLayoutProps { + children: ReactNode +} + +export default function RootLayout({ children }: RootLayoutProps): JSX.Element { + return ( + + + + + +
{children}
+ + + ) +} diff --git a/examples/with-tailwind/src/routes/index.tsx b/examples/with-tailwind/src/routes/index.tsx new file mode 100644 index 00000000..fb9682bf --- /dev/null +++ b/examples/with-tailwind/src/routes/index.tsx @@ -0,0 +1,26 @@ +import type { JSX } from 'react' + +export default function IndexPage(): JSX.Element { + return ( +
+
+

+ Welcome to Tuono +

+

+ This is a simple example of how to use Tailwind CSS utility classes in + Tuono. +

+ +
+
+ ) +} diff --git a/examples/with-tailwind/src/styles/global.css b/examples/with-tailwind/src/styles/global.css new file mode 100644 index 00000000..d4b50785 --- /dev/null +++ b/examples/with-tailwind/src/styles/global.css @@ -0,0 +1 @@ +@import 'tailwindcss'; diff --git a/examples/with-tailwind/tsconfig.json b/examples/with-tailwind/tsconfig.json new file mode 100644 index 00000000..39d76807 --- /dev/null +++ b/examples/with-tailwind/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src", "tuono.config.ts"] +} diff --git a/examples/with-tailwind/tuono.config.ts b/examples/with-tailwind/tuono.config.ts new file mode 100644 index 00000000..b283b28a --- /dev/null +++ b/examples/with-tailwind/tuono.config.ts @@ -0,0 +1,10 @@ +import type { TuonoConfig } from 'tuono/config' +import tailwindcss from '@tailwindcss/vite' + +const config: TuonoConfig = { + vite: { + plugins: [tailwindcss()], + }, +} + +export default config diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a8fec8a..80d713c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,19 +16,19 @@ importers: version: 22.10.6 eslint: specifier: 9.18.0 - version: 9.18.0 + version: 9.18.0(jiti@2.4.2) eslint-import-resolver-typescript: specifier: 3.7.0 - version: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0) + version: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0(jiti@2.4.2)) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0) + version: 2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0(jiti@2.4.2)) eslint-plugin-react: specifier: 7.37.4 - version: 7.37.4(eslint@9.18.0) + version: 7.37.4(eslint@9.18.0(jiti@2.4.2)) eslint-plugin-react-hooks: specifier: 5.1.0 - version: 5.1.0(eslint@9.18.0) + version: 5.1.0(eslint@9.18.0(jiti@2.4.2)) prettier: specifier: 3.4.2 version: 3.4.2 @@ -40,7 +40,7 @@ importers: version: 5.7.3 typescript-eslint: specifier: 8.20.0 - version: 8.20.0(eslint@9.18.0)(typescript@5.7.3) + version: 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) apps/documentation: dependencies: @@ -73,7 +73,7 @@ importers: version: 4.0.0 tuono: specifier: npm:tuono@0.16.9 - version: 0.16.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.25.0)(sugarss@4.0.1(postcss@8.5.0)) + version: 0.16.9(lightningcss@1.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.25.0)(sugarss@4.0.1(postcss@8.5.0)) devDependencies: '@mdx-js/rollup': specifier: 3.1.0 @@ -166,6 +166,34 @@ importers: specifier: ^5.6.3 version: 5.7.3 + examples/with-tailwind: + dependencies: + '@tailwindcss/vite': + specifier: ^4.0.0-beta.9 + version: 4.0.0-beta.9(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + tailwindcss: + specifier: ^4.0.0-beta.9 + version: 4.0.0-beta.9 + tuono: + specifier: link:../../packages/tuono + version: link:../../packages/tuono + devDependencies: + '@types/react': + specifier: ^19.0.2 + version: 19.0.6 + '@types/react-dom': + specifier: ^19.0.2 + version: 19.0.3(@types/react@19.0.6) + typescript: + specifier: ^5.6.3 + version: 5.7.3 + packages/tuono: dependencies: '@babel/core': @@ -182,7 +210,7 @@ importers: version: 5.0.5(rollup@4.25.0) '@vitejs/plugin-react-swc': specifier: ^3.7.0 - version: 3.7.2(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + version: 3.7.2(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) fast-text-encoding: specifier: ^1.0.6 version: 1.0.6 @@ -194,14 +222,14 @@ importers: version: link:../tuono-router vite: specifier: ^5.2.11 - version: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + version: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) web-streams-polyfill: specifier: ^4.0.0 version: 4.0.0 devDependencies: '@tanstack/config': specifier: 0.7.13 - version: 0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + version: 0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) '@types/babel__core': specifier: 7.20.5 version: 7.20.5 @@ -225,7 +253,7 @@ importers: version: 19.0.0(react@19.0.0) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(sugarss@4.0.1(postcss@8.5.0)) + version: 2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) packages/tuono-fs-router-vite-plugin: dependencies: @@ -240,17 +268,17 @@ importers: version: 3.4.2 vite: specifier: ^5.2.11 - version: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + version: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) devDependencies: '@tanstack/config': specifier: 0.7.13 - version: 0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + version: 0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(sugarss@4.0.1(postcss@8.5.0)) + version: 2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) packages/tuono-router: dependencies: @@ -260,7 +288,7 @@ importers: devDependencies: '@tanstack/config': specifier: 0.7.13 - version: 0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + version: 0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) '@testing-library/jest-dom': specifier: 6.6.3 version: 6.6.3 @@ -272,7 +300,7 @@ importers: version: 19.0.6 '@vitejs/plugin-react-swc': specifier: 3.7.2 - version: 3.7.2(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + version: 3.7.2(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) jsdom: specifier: 25.0.1 version: 25.0.1 @@ -281,10 +309,10 @@ importers: version: 19.0.0 vite: specifier: 5.4.11 - version: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + version: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(sugarss@4.0.1(postcss@8.5.0)) + version: 2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) packages: @@ -942,6 +970,84 @@ packages: '@tabler/icons@3.22.0': resolution: {integrity: sha512-IfgGzhFph5OBr2wTieWL/hyAs0FThnq9O155a6kfGYxqx7h5LQw91wnRswhEaGhXCcfmR7ZVDUr9H+x4b9Pb8g==} + '@tailwindcss/node@4.0.0-beta.9': + resolution: {integrity: sha512-KuKNhNVU5hd2L5BkXE/twBKkMnHG4wQiHes6axhDbdcRew0/YZtvlWvMIy7QmtBWnR1lM8scPhp0RXmxK/hZdw==} + + '@tailwindcss/oxide-android-arm64@4.0.0-beta.9': + resolution: {integrity: sha512-MiDpTfYvRozM+40mV2wh7GCxyEj7zIOtX3bRNaJgu0adxzZaKkylks46kBY8X91NV3ch6CQSf9Zlr0vi4U5qdw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.0.0-beta.9': + resolution: {integrity: sha512-SjdLul42NElqSHO5uINXylMNDx4KjtN3iB2o5nv0dFJV119DB0rxSCswgSEfigqyMXLyOAw3dwdoJIUFiw5Sdg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.0.0-beta.9': + resolution: {integrity: sha512-pmAs3H+pYUxAYbz2y7Q2tIfcNVlnPiikZN0SejF7JaDROg4PhQsWWpvlzHZZvD6CuyFCRXayudG8PwpJSk29dg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.0.0-beta.9': + resolution: {integrity: sha512-l39LttvdeeueMxuVNn1Z/cNK1YMWNzoIUgTsHCgF2vhY9tl4R+QcSwlviAkvw4AkiAC4El84pGBBVGswyWa8Rw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0-beta.9': + resolution: {integrity: sha512-sISzLGpVXNqOYJTo7KcdtUWQulZnW7cqFanBNbe8tCkS1KvlIuckC3MWAihLxpLrmobKh/Wv+wB1aE08VEfCww==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.0-beta.9': + resolution: {integrity: sha512-8nmeXyBchcqzQtyqjnmMxlLyxBPd+bwlnr5tDr3w6yol0z7Yrfz3T6L4QoZ4TbfhE26t6qWsUa+WQlzMJKsazg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.0.0-beta.9': + resolution: {integrity: sha512-x+Vr4SnZayMj5PEFHL7MczrvjK7fYuv2LvakPfXoDYnAOmjhrjX5go3I0Q65uUPWiZxGcS/y0JgAtQqgHSKU8A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.0.0-beta.9': + resolution: {integrity: sha512-4HpvDn3k5P623exDRbo9rjEXcIuHBj3ZV9YcnWJNE9QZ2vzKXGXxCxPuShTAg25JmH8z+b2whmFsnbxDqtgKhA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.0.0-beta.9': + resolution: {integrity: sha512-RgJrSk7uAt5QC7ez0p0uNcd/Z0yoXuBL9VvMnZVdEMDA7dcf1/zMCcFt3p2nGsGY7q2qp0hULdBEhsRP2Gq0cw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.0-beta.9': + resolution: {integrity: sha512-FCpprAxJqDT27C2OaJTAR06+BsmHS2gW7Wu0lC9E6DwiizYP0YjSVFeYvnkluE5O2J4uVR3X2GAaqxbtG4z9Ug==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.0.0-beta.9': + resolution: {integrity: sha512-KOf2YKFwrvFVX+RNJsYVC6tsWBxDMTX7/u4SpUepqkwVgq2yCObx/Sqt820lXuKgGJ9dKsTYF2wvMUGom7B71A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.0.0-beta.9': + resolution: {integrity: sha512-1bpui84CDnrjB6TI3AGR9jYUA28+VIfkrM4BH3+VXA9B80+cARtd3ON06ouA5/r/2xs4qe+T85Z1c0k5X6vLeA==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.0.0-beta.9': + resolution: {integrity: sha512-Hf28QkwSLM6bbOkcTQk1iEEOB37v+9vfqdpHUaLSluZpEGCVAFc0i+p2Gvp6MlK840tyixQu5L39VjL2lAZFFQ==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@tanstack/config@0.7.13': resolution: {integrity: sha512-pMUrUNI8ZV0WHS/rJRf/ZC7HB0/pHalYVJNYVB//i/tbW6MahpGQd7Pjlb0WLe8RnrMGlm8lmCEEqgwS4MsENA==} engines: {node: '>=18'} @@ -1501,6 +1607,11 @@ packages: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -1532,6 +1643,10 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.18.0: + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} + engines: {node: '>=10.13.0'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2156,6 +2271,10 @@ packages: resolution: {integrity: sha512-x4WH0BWmrMmg4oHHl+duwubhrvczGlyuGAZu3nvrf0UXOfPu8IhZObFEr7DE/iv01YgVZrsOiRcqw2srkKEDIA==} engines: {node: '>= 0.4'} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -2226,6 +2345,70 @@ packages: resolution: {integrity: sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==} engines: {node: '>=10.13.0'} + lightningcss-darwin-arm64@1.29.1: + resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.29.1: + resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.29.1: + resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.29.1: + resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.29.1: + resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.29.1: + resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.29.1: + resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.29.1: + resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.29.1: + resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.29.1: + resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.29.1: + resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} + engines: {node: '>= 12.0.0'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -3054,6 +3237,9 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwindcss@4.0.0-beta.9: + resolution: {integrity: sha512-96KpsfQi+/sFIOfyFnGzyy5pobuzf1iMBD9NVtelerPM/lPI2XUS4Kikw9yuKRniXXw77ov1sl7gCSKLsn6CJA==} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -3797,9 +3983,9 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.18.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.18.0(jiti@2.4.2))': dependencies: - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -4194,7 +4380,68 @@ snapshots: '@tabler/icons@3.22.0': {} - '@tanstack/config@0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)))': + '@tailwindcss/node@4.0.0-beta.9': + dependencies: + enhanced-resolve: 5.18.0 + jiti: 2.4.2 + tailwindcss: 4.0.0-beta.9 + + '@tailwindcss/oxide-android-arm64@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.0.0-beta.9': + optional: true + + '@tailwindcss/oxide@4.0.0-beta.9': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.0.0-beta.9 + '@tailwindcss/oxide-darwin-arm64': 4.0.0-beta.9 + '@tailwindcss/oxide-darwin-x64': 4.0.0-beta.9 + '@tailwindcss/oxide-freebsd-x64': 4.0.0-beta.9 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.0-beta.9 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.0-beta.9 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.0-beta.9 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.0-beta.9 + '@tailwindcss/oxide-linux-x64-musl': 4.0.0-beta.9 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.0-beta.9 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.0-beta.9 + + '@tailwindcss/vite@4.0.0-beta.9(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)))': + dependencies: + '@tailwindcss/node': 4.0.0-beta.9 + '@tailwindcss/oxide': 4.0.0-beta.9 + lightningcss: 1.29.1 + tailwindcss: 4.0.0-beta.9 + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) + + '@tanstack/config@0.7.13(@types/node@22.10.6)(esbuild@0.21.5)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)))': dependencies: '@commitlint/parse': 19.5.0 commander: 12.1.0 @@ -4208,9 +4455,9 @@ snapshots: semver: 7.6.3 simple-git: 3.27.0 v8flags: 4.0.1 - vite-plugin-dts: 3.9.1(@types/node@22.10.6)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) - vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) - vite-tsconfig-paths: 4.3.2(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + vite-plugin-dts: 3.9.1(@types/node@22.10.6)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) + vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) + vite-tsconfig-paths: 4.3.2(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) transitivePeerDependencies: - '@types/node' - esbuild @@ -4344,15 +4591,15 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) '@typescript-eslint/scope-manager': 8.20.0 - '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) '@typescript-eslint/visitor-keys': 8.20.0 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -4361,14 +4608,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3)': + '@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: '@typescript-eslint/scope-manager': 8.20.0 '@typescript-eslint/types': 8.20.0 '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 8.20.0 debug: 4.4.0 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -4378,12 +4625,12 @@ snapshots: '@typescript-eslint/types': 8.20.0 '@typescript-eslint/visitor-keys': 8.20.0 - '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0)(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) debug: 4.4.0 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) ts-api-utils: 2.0.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: @@ -4405,13 +4652,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.20.0(eslint@9.18.0)(typescript@5.7.3)': + '@typescript-eslint/utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.20.0 '@typescript-eslint/types': 8.20.0 '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -4423,10 +4670,10 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react-swc@3.7.2(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)))': + '@vitejs/plugin-react-swc@3.7.2(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)))': dependencies: '@swc/core': 1.9.3 - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) transitivePeerDependencies: - '@swc/helpers' @@ -4437,13 +4684,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) '@vitest/pretty-format@2.1.8': dependencies: @@ -4851,6 +5098,8 @@ snapshots: detect-file@1.0.0: {} + detect-libc@1.0.3: {} + detect-node-es@1.1.0: {} devlop@1.1.0: @@ -4882,6 +5131,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.18.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + entities@4.5.0: {} es-abstract@1.23.7: @@ -5040,34 +5294,34 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0): + eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0(jiti@2.4.2)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0 enhanced-resolve: 5.17.1 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.3) - eslint: 9.18.0 + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.18.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0) + eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -5076,9 +5330,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -5090,17 +5344,17 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.3) + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-react-hooks@5.1.0(eslint@9.18.0): + eslint-plugin-react-hooks@5.1.0(eslint@9.18.0(jiti@2.4.2)): dependencies: - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) - eslint-plugin-react@7.37.4(eslint@9.18.0): + eslint-plugin-react@7.37.4(eslint@9.18.0(jiti@2.4.2)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -5108,7 +5362,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.18.0 + eslint: 9.18.0(jiti@2.4.2) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -5131,9 +5385,9 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.18.0: + eslint@9.18.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.0 '@eslint/core': 0.10.0 @@ -5167,6 +5421,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color @@ -5694,6 +5950,8 @@ snapshots: reflect.getprototypeof: 1.0.9 set-function-name: 2.0.2 + jiti@2.4.2: {} + jju@1.4.0: {} js-tokens@4.0.0: {} @@ -5784,6 +6042,51 @@ snapshots: rechoir: 0.8.0 resolve: 1.22.8 + lightningcss-darwin-arm64@1.29.1: + optional: true + + lightningcss-darwin-x64@1.29.1: + optional: true + + lightningcss-freebsd-x64@1.29.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.29.1: + optional: true + + lightningcss-linux-arm64-gnu@1.29.1: + optional: true + + lightningcss-linux-arm64-musl@1.29.1: + optional: true + + lightningcss-linux-x64-gnu@1.29.1: + optional: true + + lightningcss-linux-x64-musl@1.29.1: + optional: true + + lightningcss-win32-arm64-msvc@1.29.1: + optional: true + + lightningcss-win32-x64-msvc@1.29.1: + optional: true + + lightningcss@1.29.1: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.1 + lightningcss-darwin-x64: 1.29.1 + lightningcss-freebsd-x64: 1.29.1 + lightningcss-linux-arm-gnueabihf: 1.29.1 + lightningcss-linux-arm64-gnu: 1.29.1 + lightningcss-linux-arm64-musl: 1.29.1 + lightningcss-linux-x64-gnu: 1.29.1 + lightningcss-linux-x64-musl: 1.29.1 + lightningcss-win32-arm64-msvc: 1.29.1 + lightningcss-win32-x64-msvc: 1.29.1 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -6963,6 +7266,8 @@ snapshots: tabbable@6.2.0: {} + tailwindcss@4.0.0-beta.9: {} + tapable@2.2.1: {} text-extensions@2.4.0: {} @@ -7018,12 +7323,12 @@ snapshots: tslib@2.8.1: {} - tuono-fs-router-vite-plugin@0.16.9(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)): + tuono-fs-router-vite-plugin@0.16.9(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)): dependencies: '@babel/core': 7.26.0 '@babel/types': 7.26.3 prettier: 3.4.2 - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) transitivePeerDependencies: - '@types/node' - less @@ -7035,11 +7340,11 @@ snapshots: - supports-color - terser - tuono-lazy-fn-vite-plugin@0.16.9(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)): + tuono-lazy-fn-vite-plugin@0.16.9(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)): dependencies: '@babel/core': 7.26.0 '@babel/types': 7.26.3 - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) transitivePeerDependencies: - '@types/node' - less @@ -7058,7 +7363,7 @@ snapshots: transitivePeerDependencies: - react-dom - tuono@0.16.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.25.0)(sugarss@4.0.1(postcss@8.5.0)): + tuono@0.16.9(lightningcss@1.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.25.0)(sugarss@4.0.1(postcss@8.5.0)): dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -7072,15 +7377,15 @@ snapshots: '@rollup/plugin-inject': 5.0.5(rollup@4.25.0) '@types/babel__core': 7.20.5 '@types/node': 22.10.6 - '@vitejs/plugin-react-swc': 3.7.2(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + '@vitejs/plugin-react-swc': 3.7.2(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) fast-text-encoding: 1.0.6 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-helmet-async: 2.0.5(react@18.3.1) - tuono-fs-router-vite-plugin: 0.16.9(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) - tuono-lazy-fn-vite-plugin: 0.16.9(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + tuono-fs-router-vite-plugin: 0.16.9(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) + tuono-lazy-fn-vite-plugin: 0.16.9(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) tuono-router: 0.16.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) web-streams-polyfill: 4.0.0 transitivePeerDependencies: - '@swc/helpers' @@ -7160,12 +7465,12 @@ snapshots: possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.9 - typescript-eslint@8.20.0(eslint@9.18.0)(typescript@5.7.3): + typescript-eslint@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3) - '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.7.3) - '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.7.3) - eslint: 9.18.0 + '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -7286,13 +7591,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)): + vite-node@2.1.8(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) transitivePeerDependencies: - '@types/node' - less @@ -7304,7 +7609,7 @@ snapshots: - supports-color - terser - vite-plugin-dts@3.9.1(@types/node@22.10.6)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))): + vite-plugin-dts@3.9.1(@types/node@22.10.6)(rollup@4.25.0)(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))): dependencies: '@microsoft/api-extractor': 7.43.0(@types/node@22.10.6) '@rollup/pluginutils': 5.1.3(rollup@4.25.0) @@ -7315,28 +7620,28 @@ snapshots: typescript: 5.7.3 vue-tsc: 1.8.27(typescript@5.7.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))): + vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))): dependencies: - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) - vite-tsconfig-paths@4.3.2(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))): + vite-tsconfig-paths@4.3.2(typescript@5.7.3)(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.7.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) transitivePeerDependencies: - supports-color - typescript - vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)): + vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)): dependencies: esbuild: 0.21.5 postcss: 8.5.0 @@ -7344,12 +7649,13 @@ snapshots: optionalDependencies: '@types/node': 22.10.6 fsevents: 2.3.3 + lightningcss: 1.29.1 sugarss: 4.0.1(postcss@8.5.0) - vitest@2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(sugarss@4.0.1(postcss@8.5.0)): + vitest@2.1.8(@types/node@22.10.6)(jsdom@25.0.1)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0))) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0))) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -7365,8 +7671,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) - vite-node: 2.1.8(@types/node@22.10.6)(sugarss@4.0.1(postcss@8.5.0)) + vite: 5.4.11(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) + vite-node: 2.1.8(@types/node@22.10.6)(lightningcss@1.29.1)(sugarss@4.0.1(postcss@8.5.0)) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.6