diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 5cce791f4..665480ebf 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -39,4 +39,7 @@ jobs:
- name: Install dependencies
run: pnpm install
+ - name: Build packages
+ run: pnpm build --filter=shadcn
+
- run: pnpm test
diff --git a/package.json b/package.json
index 5c8d25327..7573c27c8 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,8 @@
"release": "changeset version",
"pub:beta": "cd packages/shadcn && pnpm pub:beta",
"pub:release": "cd packages/shadcn && pnpm pub:release",
- "test": "turbo run test --filter=!shadcn-ui --force"
+ "test": "turbo run test --filter=!shadcn-ui --force",
+ "tests:test": "pnpm --filter=tests test"
},
"packageManager": "pnpm@9.0.6",
"dependencies": {
diff --git a/packages/tests/.eslintignore b/packages/tests/.eslintignore
new file mode 100644
index 000000000..293ff1092
--- /dev/null
+++ b/packages/tests/.eslintignore
@@ -0,0 +1,2 @@
+fixtures/
+temp/
\ No newline at end of file
diff --git a/packages/tests/.gitignore b/packages/tests/.gitignore
new file mode 100644
index 000000000..d853ae73f
--- /dev/null
+++ b/packages/tests/.gitignore
@@ -0,0 +1,3 @@
+temp/
+*.log
+.cache/
\ No newline at end of file
diff --git a/packages/tests/README.md b/packages/tests/README.md
new file mode 100644
index 000000000..3d11972b5
--- /dev/null
+++ b/packages/tests/README.md
@@ -0,0 +1,34 @@
+# Tests
+
+This package contains integration tests that verify the shadcn CLI works correctly with a local registry. The tests run actual CLI commands against test fixtures to ensure files are created and updated properly.
+
+## Running Tests
+
+Run the following command from the root of the workspace:
+
+```bash
+pnpm tests:test
+```
+
+## Writing Tests
+
+```typescript
+import {
+ createFixtureTestDirectory,
+ fileExists,
+ npxShadcn,
+} from "../utils/helpers"
+
+describe("my test suite", () => {
+ it("should do something", async () => {
+ // Create a test directory from a fixture
+ const testDir = await createFixtureTestDirectory("next-app")
+
+ // Run CLI command
+ await npxShadcn(testDir, ["init", "--base-color=neutral"])
+
+ // Make assertions
+ expect(await fileExists(path.join(testDir, "components.json"))).toBe(true)
+ })
+})
+```
diff --git a/packages/tests/fixtures/next-app/app/favicon.ico b/packages/tests/fixtures/next-app/app/favicon.ico
new file mode 100644
index 000000000..718d6fea4
Binary files /dev/null and b/packages/tests/fixtures/next-app/app/favicon.ico differ
diff --git a/packages/tests/fixtures/next-app/app/globals.css b/packages/tests/fixtures/next-app/app/globals.css
new file mode 100644
index 000000000..f1d8c73cd
--- /dev/null
+++ b/packages/tests/fixtures/next-app/app/globals.css
@@ -0,0 +1 @@
+@import "tailwindcss";
diff --git a/packages/tests/fixtures/next-app/app/layout.tsx b/packages/tests/fixtures/next-app/app/layout.tsx
new file mode 100644
index 000000000..ae8456212
--- /dev/null
+++ b/packages/tests/fixtures/next-app/app/layout.tsx
@@ -0,0 +1,22 @@
+import './globals.css'
+import type { Metadata } from 'next'
+import { Inter } from 'next/font/google'
+
+const inter = Inter({ subsets: ['latin'] })
+
+export const metadata: Metadata = {
+ title: 'Create Next App',
+ description: 'Generated by create next app',
+}
+
+export default function RootLayout({
+ children,
+}: {
+ children: React.ReactNode
+}) {
+ return (
+
+
{children}
+
+ )
+}
diff --git a/packages/tests/fixtures/next-app/app/other.css b/packages/tests/fixtures/next-app/app/other.css
new file mode 100644
index 000000000..aa1634c25
--- /dev/null
+++ b/packages/tests/fixtures/next-app/app/other.css
@@ -0,0 +1,3 @@
+body {
+ background-color: red;
+}
diff --git a/packages/tests/fixtures/next-app/app/page.tsx b/packages/tests/fixtures/next-app/app/page.tsx
new file mode 100644
index 000000000..7a8286b57
--- /dev/null
+++ b/packages/tests/fixtures/next-app/app/page.tsx
@@ -0,0 +1,113 @@
+import Image from 'next/image'
+
+export default function Home() {
+ return (
+
+
+
+ Get started by editing
+ app/page.tsx
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/packages/tests/fixtures/next-app/next.config.ts b/packages/tests/fixtures/next-app/next.config.ts
new file mode 100644
index 000000000..767719fc4
--- /dev/null
+++ b/packages/tests/fixtures/next-app/next.config.ts
@@ -0,0 +1,4 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {}
+
+module.exports = nextConfig
diff --git a/packages/tests/fixtures/next-app/package.json b/packages/tests/fixtures/next-app/package.json
new file mode 100644
index 000000000..6da9f4c8c
--- /dev/null
+++ b/packages/tests/fixtures/next-app/package.json
@@ -0,0 +1,32 @@
+{
+ "name": "my-app",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev --turbopack",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "class-variance-authority": "^0.7.1",
+ "clsx": "^2.1.1",
+ "lucide-react": "^0.527.0",
+ "next": "15.4.4",
+ "react": "19.1.0",
+ "react-dom": "19.1.0",
+ "tailwind-merge": "^3.3.1"
+ },
+ "devDependencies": {
+ "@eslint/eslintrc": "^3",
+ "@tailwindcss/postcss": "^4",
+ "@types/node": "^20",
+ "@types/react": "^19",
+ "@types/react-dom": "^19",
+ "eslint": "^9",
+ "eslint-config-next": "15.4.4",
+ "tailwindcss": "^4",
+ "tw-animate-css": "^1.3.6",
+ "typescript": "^5"
+ }
+}
diff --git a/packages/tests/fixtures/next-app/postcss.config.mjs b/packages/tests/fixtures/next-app/postcss.config.mjs
new file mode 100644
index 000000000..c7bcb4b1e
--- /dev/null
+++ b/packages/tests/fixtures/next-app/postcss.config.mjs
@@ -0,0 +1,5 @@
+const config = {
+ plugins: ["@tailwindcss/postcss"],
+};
+
+export default config;
diff --git a/packages/tests/fixtures/next-app/tsconfig.json b/packages/tests/fixtures/next-app/tsconfig.json
new file mode 100644
index 000000000..c71469637
--- /dev/null
+++ b/packages/tests/fixtures/next-app/tsconfig.json
@@ -0,0 +1,27 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": ["./*"]
+ }
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/tests/fixtures/registry/example-component.json b/packages/tests/fixtures/registry/example-component.json
new file mode 100644
index 000000000..03faa6340
--- /dev/null
+++ b/packages/tests/fixtures/registry/example-component.json
@@ -0,0 +1,12 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "example-component",
+ "type": "registry:component",
+ "files": [
+ {
+ "path": "example/hello-world.tsx",
+ "type": "registry:component",
+ "content": "console.log('Hello, world!')"
+ }
+ ]
+}
diff --git a/packages/tests/fixtures/registry/example-env-vars.json b/packages/tests/fixtures/registry/example-env-vars.json
new file mode 100644
index 000000000..f64015239
--- /dev/null
+++ b/packages/tests/fixtures/registry/example-env-vars.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "example-env-vars",
+ "type": "registry:item",
+ "envVars": {
+ "APP_URL": "https://example.com",
+ "EMPTY_VAR": "",
+ "MULTILINE_VAR": "\"line1\nline2\nline3\""
+ }
+}
diff --git a/packages/tests/fixtures/registry/example-item-to-root.json b/packages/tests/fixtures/registry/example-item-to-root.json
new file mode 100644
index 000000000..f8b8cb091
--- /dev/null
+++ b/packages/tests/fixtures/registry/example-item-to-root.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "example-item-to-root",
+ "type": "registry:item",
+ "files": [
+ {
+ "path": "example/config.json",
+ "type": "registry:item",
+ "content": "{\"foo\": \"bar\"}",
+ "target": "~/config.json"
+ }
+ ]
+}
diff --git a/packages/tests/fixtures/registry/example-item.json b/packages/tests/fixtures/registry/example-item.json
new file mode 100644
index 000000000..34142272c
--- /dev/null
+++ b/packages/tests/fixtures/registry/example-item.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "example-item",
+ "type": "registry:item",
+ "files": [
+ {
+ "path": "example/foo.txt",
+ "type": "registry:item",
+ "content": "Foo Bar",
+ "target": "path/to/foo.txt"
+ }
+ ]
+}
diff --git a/packages/tests/fixtures/registry/example-style.json b/packages/tests/fixtures/registry/example-style.json
new file mode 100644
index 000000000..bf41b4658
--- /dev/null
+++ b/packages/tests/fixtures/registry/example-style.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "example-style",
+ "type": "registry:style",
+ "dependencies": ["@tabler/icons-react"],
+ "cssVars": {
+ "theme": {
+ "font-sans": "Inter, sans-serif"
+ },
+ "light": {
+ "brand": "oklch(20 14.3% 4.1%)",
+ "brand-foreground": "oklch(24 1.3% 10%)"
+ },
+ "dark": {
+ "brand": "oklch(24 1.3% 10%)"
+ }
+ }
+}
diff --git a/packages/tests/fixtures/vite-app/eslint.config.js b/packages/tests/fixtures/vite-app/eslint.config.js
new file mode 100644
index 000000000..d94e7deb7
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/eslint.config.js
@@ -0,0 +1,23 @@
+import js from '@eslint/js'
+import globals from 'globals'
+import reactHooks from 'eslint-plugin-react-hooks'
+import reactRefresh from 'eslint-plugin-react-refresh'
+import tseslint from 'typescript-eslint'
+import { globalIgnores } from 'eslint/config'
+
+export default tseslint.config([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ js.configs.recommended,
+ tseslint.configs.recommended,
+ reactHooks.configs['recommended-latest'],
+ reactRefresh.configs.vite,
+ ],
+ languageOptions: {
+ ecmaVersion: 2020,
+ globals: globals.browser,
+ },
+ },
+])
diff --git a/packages/tests/fixtures/vite-app/index.html b/packages/tests/fixtures/vite-app/index.html
new file mode 100644
index 000000000..e4b78eae1
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite + React + TS
+
+
+
+
+
+
diff --git a/packages/tests/fixtures/vite-app/package.json b/packages/tests/fixtures/vite-app/package.json
new file mode 100644
index 000000000..408085598
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/package.json
@@ -0,0 +1,37 @@
+{
+ "name": "vite-project",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@tailwindcss/vite": "^4.1.11",
+ "class-variance-authority": "^0.7.1",
+ "clsx": "^2.1.1",
+ "lucide-react": "^0.525.0",
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "tailwind-merge": "^3.3.1",
+ "tailwindcss": "^4.1.11"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.30.1",
+ "@types/node": "^24.1.0",
+ "@types/react": "^19.1.8",
+ "@types/react-dom": "^19.1.6",
+ "@vitejs/plugin-react": "^4.6.0",
+ "eslint": "^9.30.1",
+ "eslint-plugin-react-hooks": "^5.2.0",
+ "eslint-plugin-react-refresh": "^0.4.20",
+ "globals": "^16.3.0",
+ "tw-animate-css": "^1.3.5",
+ "typescript": "~5.8.3",
+ "typescript-eslint": "^8.35.1",
+ "vite": "^7.0.4"
+ }
+}
diff --git a/packages/tests/fixtures/vite-app/src/App.css b/packages/tests/fixtures/vite-app/src/App.css
new file mode 100644
index 000000000..b9d355df2
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/src/App.css
@@ -0,0 +1,42 @@
+#root {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+ text-align: center;
+}
+
+.logo {
+ height: 6em;
+ padding: 1.5em;
+ will-change: filter;
+ transition: filter 300ms;
+}
+.logo:hover {
+ filter: drop-shadow(0 0 2em #646cffaa);
+}
+.logo.react:hover {
+ filter: drop-shadow(0 0 2em #61dafbaa);
+}
+
+@keyframes logo-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ a:nth-of-type(2) .logo {
+ animation: logo-spin infinite 20s linear;
+ }
+}
+
+.card {
+ padding: 2em;
+}
+
+.read-the-docs {
+ color: #888;
+}
diff --git a/packages/tests/fixtures/vite-app/src/App.tsx b/packages/tests/fixtures/vite-app/src/App.tsx
new file mode 100644
index 000000000..3d7ded3ff
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/src/App.tsx
@@ -0,0 +1,35 @@
+import { useState } from 'react'
+import reactLogo from './assets/react.svg'
+import viteLogo from '/vite.svg'
+import './App.css'
+
+function App() {
+ const [count, setCount] = useState(0)
+
+ return (
+ <>
+
+ Vite + React
+
+
+
+ Edit src/App.tsx and save to test HMR
+
+
+
+ Click on the Vite and React logos to learn more
+
+ >
+ )
+}
+
+export default App
diff --git a/packages/tests/fixtures/vite-app/src/index.css b/packages/tests/fixtures/vite-app/src/index.css
new file mode 100644
index 000000000..f1d8c73cd
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/src/index.css
@@ -0,0 +1 @@
+@import "tailwindcss";
diff --git a/packages/tests/fixtures/vite-app/src/main.tsx b/packages/tests/fixtures/vite-app/src/main.tsx
new file mode 100644
index 000000000..bef5202a3
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/src/main.tsx
@@ -0,0 +1,10 @@
+import { StrictMode } from 'react'
+import { createRoot } from 'react-dom/client'
+import './index.css'
+import App from './App.tsx'
+
+createRoot(document.getElementById('root')!).render(
+
+
+ ,
+)
diff --git a/packages/tests/fixtures/vite-app/src/vite-env.d.ts b/packages/tests/fixtures/vite-app/src/vite-env.d.ts
new file mode 100644
index 000000000..11f02fe2a
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/packages/tests/fixtures/vite-app/tsconfig.app.json b/packages/tests/fixtures/vite-app/tsconfig.app.json
new file mode 100644
index 000000000..c905193c7
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/tsconfig.app.json
@@ -0,0 +1,33 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2022",
+ "useDefineForClassFields": true,
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true,
+
+ /* Paths */
+ "baseUrl": ".",
+ "paths": {
+ "#custom/*": ["./src/*"]
+ }
+ },
+ "include": ["src"]
+}
diff --git a/packages/tests/fixtures/vite-app/tsconfig.json b/packages/tests/fixtures/vite-app/tsconfig.json
new file mode 100644
index 000000000..433eaa2fe
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "files": [],
+ "references": [
+ { "path": "./tsconfig.app.json" },
+ { "path": "./tsconfig.node.json" }
+ ],
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "#custom/*": ["./src/*"]
+ }
+ }
+}
diff --git a/packages/tests/fixtures/vite-app/tsconfig.node.json b/packages/tests/fixtures/vite-app/tsconfig.node.json
new file mode 100644
index 000000000..f85a39906
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/tsconfig.node.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "target": "ES2023",
+ "lib": ["ES2023"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/packages/tests/fixtures/vite-app/vite.config.ts b/packages/tests/fixtures/vite-app/vite.config.ts
new file mode 100644
index 000000000..ed509f6a7
--- /dev/null
+++ b/packages/tests/fixtures/vite-app/vite.config.ts
@@ -0,0 +1,14 @@
+import path from "path";
+import tailwindcss from "@tailwindcss/vite";
+import react from "@vitejs/plugin-react";
+import { defineConfig } from "vite";
+
+// https://vite.dev/config/
+export default defineConfig({
+ plugins: [react(), tailwindcss()],
+ resolve: {
+ alias: {
+ "#custom": path.resolve(__dirname, "./src"),
+ },
+ },
+});
diff --git a/packages/tests/package.json b/packages/tests/package.json
new file mode 100644
index 000000000..eb2434eee
--- /dev/null
+++ b/packages/tests/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "tests",
+ "version": "0.0.1",
+ "private": true,
+ "description": "Integration tests for shadcn CLI",
+ "type": "module",
+ "scripts": {
+ "test": "vitest run",
+ "test:watch": "vitest"
+ },
+ "dependencies": {
+ "shadcn": "workspace:*"
+ },
+ "devDependencies": {
+ "@types/fs-extra": "^11.0.1",
+ "@types/node": "^20.11.27",
+ "execa": "^7.0.0",
+ "fs-extra": "^11.1.0",
+ "rimraf": "^6.0.1",
+ "typescript": "^5.5.3",
+ "vite-tsconfig-paths": "^4.2.0",
+ "vitest": "^2.1.9",
+ "wait-port": "^1.1.0"
+ }
+}
\ No newline at end of file
diff --git a/packages/tests/src/tests/add.test.ts b/packages/tests/src/tests/add.test.ts
new file mode 100644
index 000000000..dc015420c
--- /dev/null
+++ b/packages/tests/src/tests/add.test.ts
@@ -0,0 +1,273 @@
+import path from "path"
+import fs from "fs-extra"
+import { describe, expect, it } from "vitest"
+
+import {
+ createFixtureTestDirectory,
+ cssHasProperties,
+ fileExists,
+ npxShadcn,
+} from "../utils/helpers"
+
+describe("shadcn add", () => {
+ it("should add item to project", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, ["add", "button"])
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/button.tsx"))
+ ).toBe(true)
+ })
+
+ it("should add multiple items to project", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, ["add", "button", "card"])
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/button.tsx"))
+ ).toBe(true)
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/card.tsx"))
+ ).toBe(true)
+ })
+
+ it("should add item with registryDependencies", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, ["add", "alert-dialog"])
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/alert-dialog.tsx"))
+ ).toBe(true)
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/button.tsx"))
+ ).toBe(true)
+ })
+
+ it("should add item from url", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "https://ui.shadcn.com/r/styles/new-york-v4/login-01.json",
+ ])
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/button.tsx"))
+ ).toBe(true)
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/card.tsx"))
+ ).toBe(true)
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/input.tsx"))
+ ).toBe(true)
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/label.tsx"))
+ ).toBe(true)
+ expect(
+ await fileExists(path.join(fixturePath, "components/login-form.tsx"))
+ ).toBe(true)
+ })
+
+ it("should add component from local file", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-component.json",
+ ])
+
+ const helloWorldContent = await fs.readFile(
+ path.join(fixturePath, "components/hello-world.tsx"),
+ "utf-8"
+ )
+ expect(helloWorldContent).toBe("console.log('Hello, world!')")
+ })
+
+ it("should add registry:page to the correct path", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, ["add", "login-03"])
+ expect(await fileExists(path.join(fixturePath, "app/login/page.tsx"))).toBe(
+ true
+ )
+ })
+
+ it("should add item with npm dependencies", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-style.json",
+ "--yes",
+ ])
+ const packageJson = await fs.readJson(
+ path.join(fixturePath, "package.json")
+ )
+ expect(packageJson.dependencies["@tabler/icons-react"]).toBeDefined()
+ })
+
+ it("should install cssVars", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-style.json",
+ "--yes",
+ ])
+
+ const globalCssContent = await fs.readFile(
+ path.join(fixturePath, "app/globals.css"),
+ "utf-8"
+ )
+
+ expect(
+ cssHasProperties(globalCssContent, [
+ {
+ selector: "@theme inline",
+ properties: {
+ "--font-sans": "Inter, sans-serif",
+ "--color-brand": "var(--brand)",
+ "--color-brand-foreground": "var(--brand-foreground)",
+ },
+ },
+ {
+ selector: ":root",
+ properties: {
+ "--brand": "oklch(20 14.3% 4.1%)",
+ "--brand-foreground": "oklch(24 1.3% 10%)",
+ },
+ },
+ {
+ selector: ".dark",
+ properties: {
+ "--brand": "oklch(24 1.3% 10%)",
+ },
+ },
+ ])
+ ).toBe(true)
+ })
+
+ it("should add item with target", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-item.json",
+ ])
+ expect(await fileExists(path.join(fixturePath, "path/to/foo.txt"))).toBe(
+ true
+ )
+ expect(
+ await fs.readFile(path.join(fixturePath, "path/to/foo.txt"), "utf-8")
+ ).toBe("Foo Bar")
+ })
+
+ it("should add item with target to src", async () => {
+ const fixturePath = await createFixtureTestDirectory("vite-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-item.json",
+ ])
+ expect(
+ await fileExists(path.join(fixturePath, "src/path/to/foo.txt"))
+ ).toBe(true)
+ expect(
+ await fs.readFile(path.join(fixturePath, "src/path/to/foo.txt"), "utf-8")
+ ).toBe("Foo Bar")
+ })
+
+ it("should add item with target to root", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-item-to-root.json",
+ ])
+ expect(await fileExists(path.join(fixturePath, "config.json"))).toBe(true)
+ expect(await fs.readJson(path.join(fixturePath, "config.json"))).toEqual({
+ foo: "bar",
+ })
+ })
+
+ it("should add item with target to root when src", async () => {
+ const fixturePath = await createFixtureTestDirectory("vite-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-item-to-root.json",
+ ])
+ expect(await fileExists(path.join(fixturePath, "config.json"))).toBe(true)
+ expect(await fs.readJson(path.join(fixturePath, "config.json"))).toEqual({
+ foo: "bar",
+ })
+ })
+
+ it("should add item with envVars", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-env-vars.json",
+ ])
+ expect(await fileExists(path.join(fixturePath, ".env.local"))).toBe(true)
+ expect(await fs.readFile(path.join(fixturePath, ".env.local"), "utf-8"))
+ .toMatchInlineSnapshot(`
+ "APP_URL=https://example.com
+ EMPTY_VAR=
+ MULTILINE_VAR="line1
+ line2
+ line3"
+ "
+ `)
+ })
+
+ it("should add NOT update existing envVars", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+
+ await fs.writeFile(
+ path.join(fixturePath, ".env.local"),
+ "APP_URL=https://foo.com"
+ )
+
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-env-vars.json",
+ ])
+
+ expect(await fileExists(path.join(fixturePath, ".env.local"))).toBe(true)
+ expect(await fs.readFile(path.join(fixturePath, ".env.local"), "utf-8"))
+ .toMatchInlineSnapshot(`
+ "APP_URL=https://foo.com
+
+ EMPTY_VAR=
+ MULTILINE_VAR=line1
+ "
+ `)
+ })
+
+ it("should use existing .env if it exists", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+
+ await fs.writeFile(
+ path.join(fixturePath, ".env"),
+ "APP_URL=https://foo.com"
+ )
+
+ await npxShadcn(fixturePath, [
+ "add",
+ "../../fixtures/registry/example-env-vars.json",
+ ])
+
+ expect(await fileExists(path.join(fixturePath, ".env.local"))).toBe(false)
+ expect(await fs.readFile(path.join(fixturePath, ".env"), "utf-8"))
+ .toMatchInlineSnapshot(`
+ "APP_URL=https://foo.com
+
+ EMPTY_VAR=
+ MULTILINE_VAR=line1
+ "
+ `)
+ })
+})
diff --git a/packages/tests/src/tests/init.test.ts b/packages/tests/src/tests/init.test.ts
new file mode 100644
index 000000000..08aecb96b
--- /dev/null
+++ b/packages/tests/src/tests/init.test.ts
@@ -0,0 +1,131 @@
+import path from "path"
+import fs from "fs-extra"
+import { describe, expect, it } from "vitest"
+
+import {
+ createFixtureTestDirectory,
+ fileExists,
+ npxShadcn,
+ readJson,
+} from "../utils/helpers"
+
+describe("shadcn init - next-app", () => {
+ it("should init with default configuration", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral"])
+
+ const componentsJsonPath = path.join(fixturePath, "components.json")
+ expect(await fileExists(componentsJsonPath)).toBe(true)
+
+ const componentsJson = await readJson(componentsJsonPath)
+ expect(componentsJson).toMatchObject({
+ style: "new-york",
+ rsc: true,
+ tsx: true,
+ tailwind: {
+ config: "",
+ css: "app/globals.css",
+ baseColor: "neutral",
+ cssVariables: true,
+ },
+ aliases: {
+ components: "@/components",
+ utils: "@/lib/utils",
+ ui: "@/components/ui",
+ lib: "@/lib",
+ hooks: "@/hooks",
+ },
+ })
+
+ expect(await fileExists(path.join(fixturePath, "lib/utils.ts"))).toBe(true)
+
+ const cssPath = path.join(fixturePath, "app/globals.css")
+ const cssContent = await fs.readFile(cssPath, "utf-8")
+ expect(cssContent).toContain("@layer base")
+ expect(cssContent).toContain(":root")
+ expect(cssContent).toContain(".dark")
+ expect(cssContent).toContain("tw-animate-css")
+ expect(cssContent).toContain("--background")
+ expect(cssContent).toContain("--foreground")
+ })
+
+ it("should init with custom base color", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=zinc"])
+
+ const componentsJson = await readJson(
+ path.join(fixturePath, "components.json")
+ )
+ expect(componentsJson.style).toBe("new-york")
+ expect(componentsJson.tailwind.baseColor).toBe("zinc")
+ })
+
+ it("should init without CSS variables", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, [
+ "init",
+ "--base-color=stone",
+ "--no-css-variables",
+ ])
+
+ const componentsJson = await readJson(
+ path.join(fixturePath, "components.json")
+ )
+ expect(componentsJson.tailwind.cssVariables).toBe(false)
+
+ const cssPath = path.join(fixturePath, "app/globals.css")
+ const cssContent = await fs.readFile(cssPath, "utf-8")
+ expect(cssContent).not.toContain("--background")
+ expect(cssContent).not.toContain("--foreground")
+ })
+
+ it("should init with components", async () => {
+ const fixturePath = await createFixtureTestDirectory("next-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=neutral", "button"])
+
+ expect(
+ await fileExists(path.join(fixturePath, "components/ui/button.tsx"))
+ ).toBe(true)
+ })
+})
+
+describe("shadcn init - vite-app", () => {
+ it("should init with custom alias and src", async () => {
+ const fixturePath = await createFixtureTestDirectory("vite-app")
+ await npxShadcn(fixturePath, ["init", "--base-color=gray", "alert-dialog"])
+
+ const componentsJson = await readJson(
+ path.join(fixturePath, "components.json")
+ )
+ expect(componentsJson.style).toBe("new-york")
+ expect(componentsJson.tailwind.baseColor).toBe("gray")
+ expect(componentsJson.aliases).toMatchObject({
+ components: "#custom/components",
+ utils: "#custom/lib/utils",
+ ui: "#custom/components/ui",
+ lib: "#custom/lib",
+ hooks: "#custom/hooks",
+ })
+
+ expect(
+ await fileExists(
+ path.join(fixturePath, "src/components/ui/alert-dialog.tsx")
+ )
+ ).toBe(true)
+
+ expect(
+ await fileExists(path.join(fixturePath, "src/components/ui/button.tsx"))
+ ).toBe(true)
+
+ const alertDialogContent = await fs.readFile(
+ path.join(fixturePath, "src/components/ui/alert-dialog.tsx"),
+ "utf-8"
+ )
+ expect(alertDialogContent).toContain(
+ 'import { buttonVariants } from "#custom/components/ui/button"'
+ )
+ expect(alertDialogContent).toContain(
+ 'import { cn } from "#custom/lib/utils"'
+ )
+ })
+})
diff --git a/packages/tests/src/utils/helpers.ts b/packages/tests/src/utils/helpers.ts
new file mode 100644
index 000000000..b7ba643dd
--- /dev/null
+++ b/packages/tests/src/utils/helpers.ts
@@ -0,0 +1,106 @@
+import path from "path"
+import { fileURLToPath } from "url"
+import { execa } from "execa"
+import fs from "fs-extra"
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url))
+const FIXTURES_DIR = path.join(__dirname, "../../fixtures")
+const TEMP_DIR = path.join(__dirname, "../../temp")
+const CACHE_DIR = path.join(__dirname, "../../.cache")
+const SHADCN_CLI_PATH = path.join(__dirname, "../../../shadcn/dist/index.js")
+
+export async function fileExists(filePath: string): Promise {
+ try {
+ await fs.access(filePath)
+ return true
+ } catch {
+ return false
+ }
+}
+
+export async function readJson(filePath: string): Promise {
+ return fs.readJSON(filePath)
+}
+
+export async function createFixtureTestDirectory(fixtureName: string) {
+ const fixturePath = path.join(FIXTURES_DIR, fixtureName)
+ const testDir = path.join(
+ TEMP_DIR,
+ `test-${Date.now()}-${Math.random().toString(36).substring(7)}`
+ )
+
+ await fs.ensureDir(TEMP_DIR)
+ await fs.copy(fixturePath, testDir)
+
+ return testDir
+}
+
+export async function runCommand(
+ cwd: string,
+ args: string[],
+ options?: {
+ env?: Record
+ input?: string
+ }
+) {
+ try {
+ const childProcess = execa("node", [SHADCN_CLI_PATH, ...args], {
+ cwd,
+ env: {
+ ...process.env,
+ FORCE_COLOR: "0",
+ CI: "true",
+ ...options?.env,
+ },
+ input: options?.input,
+ reject: false,
+ timeout: 30000,
+ })
+
+ const result = await childProcess
+
+ return {
+ stdout: result.stdout || "",
+ stderr: result.stderr || "",
+ exitCode: result.exitCode ?? 0,
+ }
+ } catch (error: any) {
+ return {
+ stdout: error.stdout || "",
+ stderr: error.stderr || error.message || "",
+ exitCode: error.exitCode ?? 1,
+ }
+ }
+}
+
+export async function npxShadcn(cwd: string, args: string[]) {
+ const { getRegistryUrl } = await import("./setup")
+
+ await fs.ensureDir(CACHE_DIR)
+
+ return runCommand(cwd, args, {
+ env: {
+ REGISTRY_URL: getRegistryUrl(),
+ SHADCN_CACHE_DIR: CACHE_DIR,
+ },
+ })
+}
+
+export function cssHasProperties(
+ cssContent: string,
+ checks: Array<{
+ selector: string
+ properties: Record
+ }>
+): boolean {
+ return checks.every(({ selector, properties }) => {
+ const escapedSelector = selector.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
+ const regex = new RegExp(`${escapedSelector}\\s*{([^}]+)}`, "s")
+ const match = cssContent.match(regex)
+ const block = match ? match[1] : ""
+
+ return Object.entries(properties).every(([property, value]) =>
+ block.includes(`${property}: ${value};`)
+ )
+ })
+}
diff --git a/packages/tests/src/utils/registry.ts b/packages/tests/src/utils/registry.ts
new file mode 100644
index 000000000..a90f758bd
--- /dev/null
+++ b/packages/tests/src/utils/registry.ts
@@ -0,0 +1,67 @@
+import path from "path"
+import { fileURLToPath } from "url"
+import { execa, type ExecaChildProcess } from "execa"
+import waitPort from "wait-port"
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url))
+const ROOT_DIR = path.join(__dirname, "../../../..")
+const PORT = 4000
+
+export class Registry {
+ private process?: ExecaChildProcess
+ private _url?: string
+
+ get url(): string {
+ if (!this._url) {
+ throw new Error("Registry not started. Call start() first.")
+ }
+ return this._url
+ }
+
+ async start(): Promise {
+ if (this.process) {
+ return
+ }
+
+ this.process = execa("pnpm", ["v4:dev"], {
+ cwd: ROOT_DIR,
+ env: {
+ ...process.env,
+ NODE_ENV: "development",
+ },
+ stdio: "pipe",
+ reject: false,
+ })
+
+ try {
+ await waitPort({
+ port: PORT,
+ host: "localhost",
+ timeout: 60000,
+ interval: 1000,
+ })
+
+ this._url = `http://localhost:${PORT}/r`
+ } catch (error) {
+ this.process.kill()
+ this.process = undefined
+ throw new Error(`Registry failed to start on port ${PORT}: ${error}`)
+ }
+ }
+
+ async stop(): Promise {
+ if (!this.process) {
+ return
+ }
+
+ this.process.kill("SIGTERM")
+ await new Promise((resolve) => setTimeout(resolve, 1000))
+
+ if (!this.process.killed) {
+ this.process.kill("SIGKILL")
+ }
+
+ this.process = undefined
+ this._url = undefined
+ }
+}
diff --git a/packages/tests/src/utils/setup.ts b/packages/tests/src/utils/setup.ts
new file mode 100644
index 000000000..d2f2b0b3e
--- /dev/null
+++ b/packages/tests/src/utils/setup.ts
@@ -0,0 +1,37 @@
+/* eslint-disable turbo/no-undeclared-env-vars */
+import path from "path"
+import { fileURLToPath } from "url"
+import { rimraf } from "rimraf"
+import { afterAll, beforeAll } from "vitest"
+
+import { Registry } from "./registry"
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url))
+const TEMP_DIR = path.join(__dirname, "../../temp")
+
+let globalRegistry: Registry | null = null
+
+beforeAll(async () => {
+ await rimraf(TEMP_DIR)
+
+ if (!globalRegistry) {
+ globalRegistry = new Registry()
+ await globalRegistry.start()
+
+ process.env.TEST_REGISTRY_URL = globalRegistry.url
+ }
+}, 120000)
+
+afterAll(async () => {
+ if (globalRegistry) {
+ await globalRegistry.stop()
+ globalRegistry = null
+ }
+
+ // Also clean up temp directory after all tests
+ await rimraf(TEMP_DIR)
+})
+
+export function getRegistryUrl(): string {
+ return process.env.TEST_REGISTRY_URL || "http://localhost:4000/r"
+}
diff --git a/packages/tests/tsconfig.json b/packages/tests/tsconfig.json
new file mode 100644
index 000000000..62fa1c876
--- /dev/null
+++ b/packages/tests/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "module": "ESNext",
+ "target": "ES2022",
+ "lib": ["ES2022"],
+ "moduleResolution": "bundler",
+ "noEmit": true,
+ "strict": true,
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "types": ["vitest/globals", "node"]
+ },
+ "include": ["src/**/*.ts"],
+ "exclude": ["node_modules", "temp", "fixtures"]
+}
\ No newline at end of file
diff --git a/packages/tests/vitest.config.ts b/packages/tests/vitest.config.ts
new file mode 100644
index 000000000..e090c86a7
--- /dev/null
+++ b/packages/tests/vitest.config.ts
@@ -0,0 +1,19 @@
+import tsconfigPaths from "vite-tsconfig-paths"
+import { defineConfig } from "vitest/config"
+
+export default defineConfig({
+ test: {
+ testTimeout: 60000,
+ hookTimeout: 120000,
+ globals: true,
+ environment: "node",
+ setupFiles: ["./src/utils/setup.ts"],
+ maxConcurrency: 4,
+ isolate: true,
+ },
+ plugins: [
+ tsconfigPaths({
+ ignoreConfigErrors: true,
+ }),
+ ],
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bcb596238..f9e3235ed 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -88,13 +88,13 @@ importers:
version: 1.13.4
vite:
specifier: ^5.4.15
- version: 5.4.15(@types/node@20.17.16)(lightningcss@1.29.1)
+ version: 5.4.15(@types/node@20.17.16)(lightningcss@1.30.1)
vite-tsconfig-paths:
specifier: ^4.2.0
- version: 4.3.2(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.29.1))
+ version: 4.3.2(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.30.1))
vitest:
specifier: ^2.1.9
- version: 2.1.9(@types/node@20.17.16)(lightningcss@1.29.1)(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))
+ version: 2.1.9(@types/node@20.17.16)(lightningcss@1.30.1)(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))
devDependencies:
'@types/hast':
specifier: ^3.0.4
@@ -742,7 +742,7 @@ importers:
version: 4.1.5
msw:
specifier: ^2.7.1
- version: 2.7.1(@types/node@22.13.0)(typescript@4.9.5)
+ version: 2.7.1(@types/node@24.1.0)(typescript@4.9.5)
node-fetch:
specifier: ^3.3.0
version: 3.3.2
@@ -794,7 +794,7 @@ importers:
version: 6.0.1
tsup:
specifier: ^6.6.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.0)(typescript@4.9.5))(typescript@4.9.5)
+ version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@24.1.0)(typescript@4.9.5))(typescript@4.9.5)
type-fest:
specifier: ^3.8.0
version: 3.13.1
@@ -802,6 +802,40 @@ importers:
specifier: ^4.9.3
version: 4.9.5
+ packages/tests:
+ dependencies:
+ shadcn:
+ specifier: workspace:*
+ version: link:../shadcn
+ devDependencies:
+ '@types/fs-extra':
+ specifier: ^11.0.1
+ version: 11.0.4
+ '@types/node':
+ specifier: ^20.11.27
+ version: 20.17.16
+ execa:
+ specifier: ^7.0.0
+ version: 7.2.0
+ fs-extra:
+ specifier: ^11.1.0
+ version: 11.3.0
+ rimraf:
+ specifier: ^6.0.1
+ version: 6.0.1
+ typescript:
+ specifier: ^5.5.3
+ version: 5.7.3
+ vite-tsconfig-paths:
+ specifier: ^4.2.0
+ version: 4.3.2(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.30.1))
+ vitest:
+ specifier: ^2.1.9
+ version: 2.1.9(@types/node@20.17.16)(lightningcss@1.30.1)(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))
+ wait-port:
+ specifier: ^1.1.0
+ version: 1.1.0
+
packages:
'@alloc/quick-lru@5.2.0':
@@ -878,22 +912,22 @@ packages:
resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.24.6':
- resolution: {integrity: sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-string-parser@7.25.9':
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.24.6':
- resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==}
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.25.9':
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-option@7.25.9':
resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
engines: {node: '>=6.9.0'}
@@ -907,6 +941,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.28.0':
+ resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-syntax-typescript@7.25.9':
resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
engines: {node: '>=6.9.0'}
@@ -935,14 +974,14 @@ packages:
resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.24.6':
- resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.26.7':
resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.28.2':
+ resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
+ engines: {node: '>=6.9.0'}
+
'@bundled-es-modules/cookie@2.0.1':
resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==}
@@ -2289,9 +2328,12 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
+ '@jridgewell/gen-mapping@0.3.12':
+ resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
'@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
@@ -2305,15 +2347,15 @@ packages:
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- '@jridgewell/sourcemap-codec@1.4.15':
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
-
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ '@jridgewell/trace-mapping@0.3.29':
+ resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
+
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
@@ -3948,77 +3990,89 @@ packages:
peerDependencies:
tailwindcss: '>=3.2.0'
- '@tailwindcss/node@4.0.2':
- resolution: {integrity: sha512-/q5HXvgEc5GaaAhoVj8oeAw1TPRlZtRAnzWz2ChpFdKsEAVoHUAW6EX/tDr3tkUfQ1VVSBpxeGUg0V0gPZSs1A==}
+ '@tailwindcss/node@4.1.11':
+ resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==}
- '@tailwindcss/oxide-android-arm64@4.0.2':
- resolution: {integrity: sha512-GQZjJzFpCBDlb5GjS5weTCqjC38kOR0IsUEZ+TNLxLP593Lu6hdxNaYtkwSmN03B92mzT0kkwmYKbsFS0u3Z8g==}
+ '@tailwindcss/oxide-android-arm64@4.1.11':
+ resolution: {integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
- '@tailwindcss/oxide-darwin-arm64@4.0.2':
- resolution: {integrity: sha512-EVd0UZ8sUl4Eycw9iWLQdaKBDSyrr3OMIMPcgWyDM1iLDAR2Ws0EbT/zsXl8OW3b291ElbiDbNvvnPvQkEhICg==}
+ '@tailwindcss/oxide-darwin-arm64@4.1.11':
+ resolution: {integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@tailwindcss/oxide-darwin-x64@4.0.2':
- resolution: {integrity: sha512-LDo96FeSTyFNtuGxoBkRjjbPbVcnq3VAPb0Nxrn5DvGq5jxauwnUzEnNAiP4hbQWLOAfCLwcO7q+kGX1clVj1w==}
+ '@tailwindcss/oxide-darwin-x64@4.1.11':
+ resolution: {integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@tailwindcss/oxide-freebsd-x64@4.0.2':
- resolution: {integrity: sha512-TyBNTI5ye1nV35Ycxst5NLsa9ux+I6fEBuy2VBA8FCJaAbsMIhj+t0U9rlZ1SNy9bEDDV8mgH/R99EJO5onqaw==}
+ '@tailwindcss/oxide-freebsd-x64@4.1.11':
+ resolution: {integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.2':
- resolution: {integrity: sha512-rv3RtH0Di6ijWCT1i20Cju9ZFx+Nhl3cv+Ix5n0UiomfN0sZRg8jUz12MqJIOeCdwqo4r3VvMYbF7A6+p66nzA==}
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
+ resolution: {integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@tailwindcss/oxide-linux-arm64-gnu@4.0.2':
- resolution: {integrity: sha512-GNuVpsb0M4OejM27PlFWM2A+8v/jWusCK25g17CnIESvq5hZvHYCzBvla6V8XCk5G0x/WwLc/H8NurLuBgjLCw==}
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
+ resolution: {integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@tailwindcss/oxide-linux-arm64-musl@4.0.2':
- resolution: {integrity: sha512-0Rlln/bs2dVzB2kYQee1bxHxlFO7yoaOkFuIBkWeoEtACTrzqhaceRRaGSPlcucye9ZpRuoBCGCG/ZCPUf3eJg==}
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.11':
+ resolution: {integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@tailwindcss/oxide-linux-x64-gnu@4.0.2':
- resolution: {integrity: sha512-pBeqHB0dbwztF7PaKqW32b2v9lNdardjJjBISeqZMotdUrMtDf7MeIQ1w6/WIr2xMvZpMl76dz02KZlUVWiiXg==}
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.11':
+ resolution: {integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@tailwindcss/oxide-linux-x64-musl@4.0.2':
- resolution: {integrity: sha512-jZXgEIxacVjm2ByzLNpJPcuWzXUtfxX8J2mxePqVfUhb0jP8zEeEGpFV8skX5FRAfakR6htEaxEsoGA4MS7zVA==}
+ '@tailwindcss/oxide-linux-x64-musl@4.1.11':
+ resolution: {integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@tailwindcss/oxide-win32-arm64-msvc@4.0.2':
- resolution: {integrity: sha512-7SXjWupT8FTeTHVQUrckxXwWWaFsareruW8ZdaLEYoVtA8TjfdUdDVj9xGjfVB6C1lwvC3Ok5fkVLdmfbeMBzw==}
+ '@tailwindcss/oxide-wasm32-wasi@4.1.11':
+ resolution: {integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
+ resolution: {integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@tailwindcss/oxide-win32-x64-msvc@4.0.2':
- resolution: {integrity: sha512-mZv1nq3OiVzpW3r2/S21I4ZJAanVXf40R7sQUBvl+63Xiycn9EYbtzgJJ+VEaLGstTfZmBI9PS+8wu41dhm7rw==}
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.11':
+ resolution: {integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@tailwindcss/oxide@4.0.2':
- resolution: {integrity: sha512-q8YHIs0qNlMjgwiJc6nqwCJLsJrjCh7osKISoQ4Dh+tYnSSsHTzjgDt5caVz4B7PvUvVEga8xZaxXmgRV9O0AA==}
+ '@tailwindcss/oxide@4.1.11':
+ resolution: {integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==}
engines: {node: '>= 10'}
'@tailwindcss/postcss@4.0.2':
@@ -4170,8 +4224,8 @@ packages:
'@types/node@20.5.1':
resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==}
- '@types/node@22.13.0':
- resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==}
+ '@types/node@24.1.0':
+ resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -4494,10 +4548,6 @@ packages:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
- array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
-
array-buffer-byte-length@1.0.2:
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'}
@@ -4536,10 +4586,6 @@ packages:
resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
engines: {node: '>= 0.4'}
- arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
-
arraybuffer.prototype.slice@1.0.4:
resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
engines: {node: '>= 0.4'}
@@ -4710,10 +4756,6 @@ packages:
resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==}
engines: {node: '>= 0.4'}
- call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
-
call-bind@1.0.8:
resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
engines: {node: '>= 0.4'}
@@ -4802,6 +4844,10 @@ packages:
chownr@1.1.4:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
chromium-bidi@0.11.0:
resolution: {integrity: sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==}
peerDependencies:
@@ -4909,6 +4955,10 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
+ commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+
comment-json@4.2.5:
resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==}
engines: {node: '>= 6'}
@@ -5097,26 +5147,14 @@ packages:
resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
engines: {node: '>= 14'}
- data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
-
data-view-buffer@1.0.2:
resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
engines: {node: '>= 0.4'}
- data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
-
data-view-byte-length@1.0.2:
resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
engines: {node: '>= 0.4'}
- data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
-
data-view-byte-offset@1.0.1:
resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
engines: {node: '>= 0.4'}
@@ -5233,11 +5271,6 @@ packages:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
- detect-libc@1.0.3:
- resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
- engines: {node: '>=0.10'}
- hasBin: true
-
detect-libc@2.0.3:
resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
engines: {node: '>=8'}
@@ -5367,12 +5400,8 @@ packages:
end-of-stream@1.4.4:
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
- enhanced-resolve@5.16.1:
- resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==}
- engines: {node: '>=10.13.0'}
-
- enhanced-resolve@5.18.0:
- resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==}
+ enhanced-resolve@5.18.2:
+ resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==}
engines: {node: '>=10.13.0'}
enquirer@2.4.1:
@@ -5390,18 +5419,10 @@ packages:
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
- engines: {node: '>= 0.4'}
-
es-abstract@1.23.9:
resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
engines: {node: '>= 0.4'}
- es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
-
es-define-property@1.0.1:
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
@@ -5417,18 +5438,10 @@ packages:
es-module-lexer@1.6.0:
resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
- es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
-
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
- es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
-
es-set-tostringtag@2.1.0:
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
@@ -5436,10 +5449,6 @@ packages:
es-shim-unscopables@1.0.2:
resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
- es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
-
es-to-primitive@1.3.0:
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
@@ -5792,8 +5801,8 @@ packages:
fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
- fdir@6.4.5:
- resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==}
+ fdir@6.4.6:
+ resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
@@ -5842,9 +5851,6 @@ packages:
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
- for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
-
for-each@0.3.4:
resolution: {integrity: sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==}
engines: {node: '>= 0.4'}
@@ -5971,10 +5977,6 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
-
function.prototype.name@1.1.8:
resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
engines: {node: '>= 0.4'}
@@ -5995,10 +5997,6 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
- get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
-
get-intrinsic@1.2.7:
resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==}
engines: {node: '>= 0.4'}
@@ -6027,10 +6025,6 @@ packages:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
- get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
-
get-symbol-description@1.1.0:
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
@@ -6110,9 +6104,6 @@ packages:
globrex@0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
-
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
@@ -6139,9 +6130,6 @@ packages:
resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
engines: {node: '>=6'}
- has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
-
has-bigints@1.1.0:
resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
engines: {node: '>= 0.4'}
@@ -6161,18 +6149,10 @@ packages:
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
-
has-proto@1.2.0:
resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
engines: {node: '>= 0.4'}
- has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
-
has-symbols@1.1.0:
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
@@ -6374,10 +6354,6 @@ packages:
react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
- internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
-
internal-slot@1.1.0:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
@@ -6400,10 +6376,6 @@ packages:
is-alphanumerical@2.0.1:
resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
- is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
-
is-array-buffer@3.0.5:
resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
engines: {node: '>= 0.4'}
@@ -6418,9 +6390,6 @@ packages:
resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
engines: {node: '>= 0.4'}
- is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
-
is-bigint@1.1.0:
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
engines: {node: '>= 0.4'}
@@ -6429,10 +6398,6 @@ packages:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
- is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
-
is-boolean-object@1.2.1:
resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==}
engines: {node: '>= 0.4'}
@@ -6445,25 +6410,14 @@ packages:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
- is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
-
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
- is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
-
is-data-view@1.0.2:
resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
engines: {node: '>= 0.4'}
- is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
-
is-date-object@1.1.0:
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
@@ -6506,17 +6460,9 @@ packages:
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
- is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
-
is-node-process@1.2.0:
resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
- is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
-
is-number-object@1.1.1:
resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
engines: {node: '>= 0.4'}
@@ -6548,10 +6494,6 @@ packages:
is-promise@4.0.0:
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
- is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
-
is-regex@1.2.1:
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
@@ -6564,10 +6506,6 @@ packages:
resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
engines: {node: '>= 0.4'}
- is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
-
is-shared-array-buffer@1.0.4:
resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
engines: {node: '>= 0.4'}
@@ -6580,10 +6518,6 @@ packages:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
-
is-string@1.1.1:
resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
engines: {node: '>= 0.4'}
@@ -6592,10 +6526,6 @@ packages:
resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
engines: {node: '>=4'}
- is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
-
is-symbol@1.1.1:
resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
engines: {node: '>= 0.4'}
@@ -6604,10 +6534,6 @@ packages:
resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
engines: {node: '>=0.10.0'}
- is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
-
is-typed-array@1.1.15:
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
engines: {node: '>= 0.4'}
@@ -6620,9 +6546,6 @@ packages:
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
engines: {node: '>= 0.4'}
- is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
-
is-weakref@1.1.0:
resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==}
engines: {node: '>= 0.4'}
@@ -6775,68 +6698,68 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lightningcss-darwin-arm64@1.29.1:
- resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==}
+ lightningcss-darwin-arm64@1.30.1:
+ resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
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==}
+ lightningcss-darwin-x64@1.30.1:
+ resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
- lightningcss-freebsd-x64@1.29.1:
- resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==}
+ lightningcss-freebsd-x64@1.30.1:
+ resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
- lightningcss-linux-arm-gnueabihf@1.29.1:
- resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==}
+ lightningcss-linux-arm-gnueabihf@1.30.1:
+ resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
- lightningcss-linux-arm64-gnu@1.29.1:
- resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==}
+ lightningcss-linux-arm64-gnu@1.30.1:
+ resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
- lightningcss-linux-arm64-musl@1.29.1:
- resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==}
+ lightningcss-linux-arm64-musl@1.30.1:
+ resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
- lightningcss-linux-x64-gnu@1.29.1:
- resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==}
+ lightningcss-linux-x64-gnu@1.30.1:
+ resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
- lightningcss-linux-x64-musl@1.29.1:
- resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==}
+ lightningcss-linux-x64-musl@1.30.1:
+ resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
- lightningcss-win32-arm64-msvc@1.29.1:
- resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==}
+ lightningcss-win32-arm64-msvc@1.30.1:
+ resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
- lightningcss-win32-x64-msvc@1.29.1:
- resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==}
+ lightningcss-win32-x64-msvc@1.30.1:
+ resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
- lightningcss@1.29.1:
- resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==}
+ lightningcss@1.30.1:
+ resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
engines: {node: '>= 12.0.0'}
lilconfig@2.1.0:
@@ -7333,6 +7256,10 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minizlib@3.0.2:
+ resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+ engines: {node: '>= 18'}
+
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
@@ -7404,11 +7331,6 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
nanoid@4.0.2:
resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==}
engines: {node: ^14 || ^16 || >=18}
@@ -7557,9 +7479,6 @@ packages:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
- object-inspect@1.13.1:
- resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
-
object-inspect@1.13.3:
resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
engines: {node: '>= 0.4'}
@@ -7568,10 +7487,6 @@ packages:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
- object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
-
object.assign@4.1.7:
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'}
@@ -7792,8 +7707,8 @@ packages:
resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==}
engines: {node: '>=10'}
- picomatch@4.0.2:
- resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
pify@2.3.0:
@@ -7877,6 +7792,10 @@ packages:
resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
prebuild-install@7.1.3:
resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
engines: {node: '>=10'}
@@ -8223,10 +8142,6 @@ packages:
regex@6.0.1:
resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
- regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
- engines: {node: '>= 0.4'}
-
regexp.prototype.flags@1.5.4:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
@@ -8350,10 +8265,6 @@ packages:
engines: {node: '>= 0.4'}
hasBin: true
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
-
resolve@2.0.0-next.5:
resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
hasBin: true
@@ -8408,10 +8319,6 @@ packages:
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
engines: {node: '>=6'}
- safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
-
safe-array-concat@1.1.3:
resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
engines: {node: '>=0.4'}
@@ -8423,10 +8330,6 @@ packages:
resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
engines: {node: '>= 0.4'}
- safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
-
safe-regex-test@1.1.0:
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
engines: {node: '>= 0.4'}
@@ -8714,13 +8617,6 @@ packages:
resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
engines: {node: '>= 0.4'}
- string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
-
- string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
-
string.prototype.trimend@1.0.9:
resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
engines: {node: '>= 0.4'}
@@ -8859,6 +8755,9 @@ packages:
tailwindcss@4.0.2:
resolution: {integrity: sha512-cjWQjZEbzQNqH4IiSjRcYg96zjlu+rjzTFkqTc/fN3FNnIU4CoNlQvwCsIomwG/2EPWYT9ysFL1QF6Av3fZeNg==}
+ tailwindcss@4.1.11:
+ resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==}
+
tailwindcss@4.1.8:
resolution: {integrity: sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==}
@@ -8879,6 +8778,10 @@ packages:
tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
+ tar@7.4.3:
+ resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
+ engines: {node: '>=18'}
+
term-size@2.2.1:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'}
@@ -8944,10 +8847,6 @@ packages:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
to-gatsby-remark-plugin@0.1.0:
resolution: {integrity: sha512-blmhJ/gIrytWnWLgPSRCkhCPeki6UBK2daa3k9mGahN7GjwHu8KrS7F70MvwlsG7IE794JLgwAdCbi4hU4faFQ==}
@@ -8999,12 +8898,6 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- ts-api-utils@2.0.0:
- resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
-
ts-api-utils@2.1.0:
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
engines: {node: '>=18.12'}
@@ -9173,34 +9066,18 @@ packages:
resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
engines: {node: '>= 0.6'}
- typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
-
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
- typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
-
typed-array-byte-length@1.0.3:
resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
engines: {node: '>= 0.4'}
- typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
-
typed-array-byte-offset@1.0.4:
resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
engines: {node: '>= 0.4'}
- typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
-
typed-array-length@1.0.7:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
@@ -9218,9 +9095,6 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
- unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
-
unbox-primitive@1.1.0:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
@@ -9231,8 +9105,8 @@ packages:
undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
- undici-types@6.20.0:
- resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
+ undici-types@7.8.0:
+ resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
unified@10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
@@ -9474,6 +9348,11 @@ packages:
jsdom:
optional: true
+ wait-port@1.1.0:
+ resolution: {integrity: sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==}
+ engines: {node: '>=10'}
+ hasBin: true
+
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
@@ -9496,9 +9375,6 @@ packages:
whatwg-url@7.1.0:
resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
- which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
-
which-boxed-primitive@1.1.1:
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
engines: {node: '>= 0.4'}
@@ -9511,10 +9387,6 @@ packages:
resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
engines: {node: '>= 0.4'}
- which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
-
which-typed-array@1.1.18:
resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==}
engines: {node: '>= 0.4'}
@@ -9577,6 +9449,10 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
+
yaml@1.10.2:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
@@ -9643,8 +9519,8 @@ snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
'@antfu/ni@23.3.1': {}
@@ -9754,14 +9630,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-string-parser@7.24.6': {}
-
'@babel/helper-string-parser@7.25.9': {}
- '@babel/helper-validator-identifier@7.24.6': {}
+ '@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.25.9': {}
+ '@babel/helper-validator-identifier@7.27.1': {}
+
'@babel/helper-validator-option@7.25.9': {}
'@babel/helpers@7.26.7':
@@ -9773,6 +9649,10 @@ snapshots:
dependencies:
'@babel/types': 7.26.7
+ '@babel/parser@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.2
+
'@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.7)':
dependencies:
'@babel/core': 7.26.7
@@ -9815,17 +9695,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/types@7.24.6':
- dependencies:
- '@babel/helper-string-parser': 7.24.6
- '@babel/helper-validator-identifier': 7.24.6
- to-fast-properties: 2.0.0
-
'@babel/types@7.26.7':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
+ '@babel/types@7.28.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
'@bundled-es-modules/cookie@2.0.1':
dependencies:
cookie: 0.7.2
@@ -11013,12 +10892,12 @@ snapshots:
'@types/node': 20.17.16
optional: true
- '@inquirer/confirm@5.1.6(@types/node@22.13.0)':
+ '@inquirer/confirm@5.1.6(@types/node@24.1.0)':
dependencies:
- '@inquirer/core': 10.1.7(@types/node@22.13.0)
- '@inquirer/type': 3.0.4(@types/node@22.13.0)
+ '@inquirer/core': 10.1.7(@types/node@24.1.0)
+ '@inquirer/type': 3.0.4(@types/node@24.1.0)
optionalDependencies:
- '@types/node': 22.13.0
+ '@types/node': 24.1.0
'@inquirer/core@10.1.7(@types/node@20.17.16)':
dependencies:
@@ -11034,10 +10913,10 @@ snapshots:
'@types/node': 20.17.16
optional: true
- '@inquirer/core@10.1.7(@types/node@22.13.0)':
+ '@inquirer/core@10.1.7(@types/node@24.1.0)':
dependencies:
'@inquirer/figures': 1.0.10
- '@inquirer/type': 3.0.4(@types/node@22.13.0)
+ '@inquirer/type': 3.0.4(@types/node@24.1.0)
ansi-escapes: 4.3.2
cli-width: 4.1.0
mute-stream: 2.0.0
@@ -11045,7 +10924,7 @@ snapshots:
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.13.0
+ '@types/node': 24.1.0
'@inquirer/figures@1.0.10': {}
@@ -11054,9 +10933,9 @@ snapshots:
'@types/node': 20.17.16
optional: true
- '@inquirer/type@3.0.4(@types/node@22.13.0)':
+ '@inquirer/type@3.0.4(@types/node@24.1.0)':
optionalDependencies:
- '@types/node': 22.13.0
+ '@types/node': 24.1.0
'@isaacs/cliui@8.0.2':
dependencies:
@@ -11067,11 +10946,14 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@jridgewell/gen-mapping@0.3.5':
+ '@isaacs/fs-minipass@4.0.1':
dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.25
+ minipass: 7.1.2
+
+ '@jridgewell/gen-mapping@0.3.12':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.29
'@jridgewell/gen-mapping@0.3.8':
dependencies:
@@ -11083,14 +10965,17 @@ snapshots:
'@jridgewell/set-array@1.2.1': {}
- '@jridgewell/sourcemap-codec@1.4.15': {}
-
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@jridgewell/trace-mapping@0.3.29':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping@0.3.9':
dependencies:
@@ -13437,66 +13322,77 @@ snapshots:
dependencies:
tailwindcss: 3.4.6(ts-node@10.9.2(@types/node@17.0.45)(typescript@5.7.3))
- '@tailwindcss/node@4.0.2':
+ '@tailwindcss/node@4.1.11':
dependencies:
- enhanced-resolve: 5.18.0
+ '@ampproject/remapping': 2.3.0
+ enhanced-resolve: 5.18.2
jiti: 2.4.2
- tailwindcss: 4.0.2
+ lightningcss: 1.30.1
+ magic-string: 0.30.17
+ source-map-js: 1.2.1
+ tailwindcss: 4.1.11
- '@tailwindcss/oxide-android-arm64@4.0.2':
+ '@tailwindcss/oxide-android-arm64@4.1.11':
optional: true
- '@tailwindcss/oxide-darwin-arm64@4.0.2':
+ '@tailwindcss/oxide-darwin-arm64@4.1.11':
optional: true
- '@tailwindcss/oxide-darwin-x64@4.0.2':
+ '@tailwindcss/oxide-darwin-x64@4.1.11':
optional: true
- '@tailwindcss/oxide-freebsd-x64@4.0.2':
+ '@tailwindcss/oxide-freebsd-x64@4.1.11':
optional: true
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.2':
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
optional: true
- '@tailwindcss/oxide-linux-arm64-gnu@4.0.2':
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
optional: true
- '@tailwindcss/oxide-linux-arm64-musl@4.0.2':
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.11':
optional: true
- '@tailwindcss/oxide-linux-x64-gnu@4.0.2':
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.11':
optional: true
- '@tailwindcss/oxide-linux-x64-musl@4.0.2':
+ '@tailwindcss/oxide-linux-x64-musl@4.1.11':
optional: true
- '@tailwindcss/oxide-win32-arm64-msvc@4.0.2':
+ '@tailwindcss/oxide-wasm32-wasi@4.1.11':
optional: true
- '@tailwindcss/oxide-win32-x64-msvc@4.0.2':
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
optional: true
- '@tailwindcss/oxide@4.0.2':
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide@4.1.11':
+ dependencies:
+ detect-libc: 2.0.4
+ tar: 7.4.3
optionalDependencies:
- '@tailwindcss/oxide-android-arm64': 4.0.2
- '@tailwindcss/oxide-darwin-arm64': 4.0.2
- '@tailwindcss/oxide-darwin-x64': 4.0.2
- '@tailwindcss/oxide-freebsd-x64': 4.0.2
- '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.2
- '@tailwindcss/oxide-linux-arm64-gnu': 4.0.2
- '@tailwindcss/oxide-linux-arm64-musl': 4.0.2
- '@tailwindcss/oxide-linux-x64-gnu': 4.0.2
- '@tailwindcss/oxide-linux-x64-musl': 4.0.2
- '@tailwindcss/oxide-win32-arm64-msvc': 4.0.2
- '@tailwindcss/oxide-win32-x64-msvc': 4.0.2
+ '@tailwindcss/oxide-android-arm64': 4.1.11
+ '@tailwindcss/oxide-darwin-arm64': 4.1.11
+ '@tailwindcss/oxide-darwin-x64': 4.1.11
+ '@tailwindcss/oxide-freebsd-x64': 4.1.11
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.11
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.11
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.11
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.11
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.11
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.11
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.11
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.11
'@tailwindcss/postcss@4.0.2':
dependencies:
'@alloc/quick-lru': 5.2.0
- '@tailwindcss/node': 4.0.2
- '@tailwindcss/oxide': 4.0.2
- lightningcss: 1.29.1
- postcss: 8.5.1
+ '@tailwindcss/node': 4.1.11
+ '@tailwindcss/oxide': 4.1.11
+ lightningcss: 1.30.1
+ postcss: 8.5.6
tailwindcss: 4.0.2
'@tanstack/react-table@8.20.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -13543,24 +13439,24 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.26.7
- '@babel/types': 7.24.6
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
'@types/babel__generator@7.6.8':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.28.2
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.26.7
- '@babel/types': 7.26.7
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
'@types/babel__traverse@7.20.6':
dependencies:
- '@babel/types': 7.26.7
+ '@babel/types': 7.28.2
'@types/cookie@0.6.0': {}
@@ -13655,9 +13551,9 @@ snapshots:
'@types/node@20.5.1': {}
- '@types/node@22.13.0':
+ '@types/node@24.1.0':
dependencies:
- undici-types: 6.20.0
+ undici-types: 7.8.0
optional: true
'@types/normalize-package-data@2.4.4': {}
@@ -13734,7 +13630,7 @@ snapshots:
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
- ts-api-utils: 2.0.0(typescript@5.7.3)
+ ts-api-utils: 2.1.0(typescript@5.7.3)
typescript: 5.7.3
transitivePeerDependencies:
- supports-color
@@ -13797,7 +13693,7 @@ snapshots:
'@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)
debug: 4.4.0
eslint: 9.19.0(jiti@2.4.2)
- ts-api-utils: 2.0.0(typescript@5.7.3)
+ ts-api-utils: 2.1.0(typescript@5.7.3)
typescript: 5.7.3
transitivePeerDependencies:
- supports-color
@@ -13830,8 +13726,8 @@ snapshots:
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.7.1
- ts-api-utils: 2.0.0(typescript@5.7.3)
+ semver: 7.7.2
+ ts-api-utils: 2.1.0(typescript@5.7.3)
typescript: 5.7.3
transitivePeerDependencies:
- supports-color
@@ -13846,7 +13742,7 @@ snapshots:
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.7.1
+ semver: 7.7.2
ts-api-utils: 2.1.0(typescript@5.7.3)
typescript: 5.7.3
transitivePeerDependencies:
@@ -13903,14 +13799,14 @@ snapshots:
chai: 5.2.0
tinyrainbow: 1.2.0
- '@vitest/mocker@2.1.9(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.29.1))':
+ '@vitest/mocker@2.1.9(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.30.1))':
dependencies:
'@vitest/spy': 2.1.9
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
msw: 2.7.1(@types/node@20.17.16)(typescript@5.7.3)
- vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.29.1)
+ vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.30.1)
'@vitest/pretty-format@2.1.9':
dependencies:
@@ -14016,11 +13912,6 @@ snapshots:
aria-query@5.3.2: {}
- array-buffer-byte-length@1.0.1:
- dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
-
array-buffer-byte-length@1.0.2:
dependencies:
call-bound: 1.0.3
@@ -14030,12 +13921,12 @@ snapshots:
array-includes@3.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
- get-intrinsic: 1.2.4
- is-string: 1.0.7
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.2.7
+ is-string: 1.1.1
array-timsort@1.0.3: {}
@@ -14052,18 +13943,18 @@ snapshots:
array.prototype.findlastindex@1.2.5:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
es-shim-unscopables: 1.0.2
array.prototype.flat@1.3.2:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-shim-unscopables: 1.0.2
array.prototype.flatmap@1.3.3:
@@ -14075,23 +13966,12 @@ snapshots:
array.prototype.tosorted@1.1.4:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
es-errors: 1.3.0
es-shim-unscopables: 1.0.2
- arraybuffer.prototype.slice@1.0.3:
- dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
-
arraybuffer.prototype.slice@1.0.4:
dependencies:
array-buffer-byte-length: 1.0.2
@@ -14269,14 +14149,6 @@ snapshots:
es-errors: 1.3.0
function-bind: 1.1.2
- call-bind@1.0.7:
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- set-function-length: 1.2.2
-
call-bind@1.0.8:
dependencies:
call-bind-apply-helpers: 1.0.1
@@ -14367,6 +14239,8 @@ snapshots:
chownr@1.1.4: {}
+ chownr@3.0.0: {}
+
chromium-bidi@0.11.0(devtools-protocol@0.0.1367902):
dependencies:
devtools-protocol: 0.0.1367902
@@ -14471,6 +14345,8 @@ snapshots:
commander@4.1.1: {}
+ commander@9.5.0: {}
+
comment-json@4.2.5:
dependencies:
array-timsort: 1.0.3
@@ -14669,36 +14545,18 @@ snapshots:
data-uri-to-buffer@6.0.2: {}
- data-view-buffer@1.0.1:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
-
data-view-buffer@1.0.2:
dependencies:
call-bound: 1.0.3
es-errors: 1.3.0
is-data-view: 1.0.2
- data-view-byte-length@1.0.1:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
-
data-view-byte-length@1.0.2:
dependencies:
call-bound: 1.0.3
es-errors: 1.3.0
is-data-view: 1.0.2
- data-view-byte-offset@1.0.0:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-data-view: 1.0.1
-
data-view-byte-offset@1.0.1:
dependencies:
call-bound: 1.0.3
@@ -14770,7 +14628,7 @@ snapshots:
define-data-property@1.1.4:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
es-errors: 1.3.0
gopd: 1.2.0
@@ -14792,12 +14650,9 @@ snapshots:
detect-indent@6.1.0: {}
- detect-libc@1.0.3: {}
-
detect-libc@2.0.3: {}
- detect-libc@2.0.4:
- optional: true
+ detect-libc@2.0.4: {}
detect-node-es@1.1.0: {}
@@ -14900,12 +14755,7 @@ snapshots:
dependencies:
once: 1.4.0
- enhanced-resolve@5.16.1:
- dependencies:
- graceful-fs: 4.2.11
- tapable: 2.2.1
-
- enhanced-resolve@5.18.0:
+ enhanced-resolve@5.18.2:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
@@ -14923,55 +14773,6 @@ snapshots:
dependencies:
is-arrayish: 0.2.1
- es-abstract@1.23.3:
- dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- data-view-buffer: 1.0.1
- data-view-byte-length: 1.0.1
- data-view-byte-offset: 1.0.0
- es-define-property: 1.0.0
- es-errors: 1.3.0
- es-object-atoms: 1.0.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
- globalthis: 1.0.4
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
- is-callable: 1.2.7
- is-data-view: 1.0.1
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.1
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- safe-array-concat: 1.1.2
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.9
- string.prototype.trimend: 1.0.8
- string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.6
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.15
-
es-abstract@1.23.9:
dependencies:
array-buffer-byte-length: 1.0.2
@@ -15026,10 +14827,6 @@ snapshots:
unbox-primitive: 1.1.0
which-typed-array: 1.1.18
- es-define-property@1.0.0:
- dependencies:
- get-intrinsic: 1.2.4
-
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
@@ -15055,20 +14852,10 @@ snapshots:
es-module-lexer@1.6.0: {}
- es-object-atoms@1.0.0:
- dependencies:
- es-errors: 1.3.0
-
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
- es-set-tostringtag@2.0.3:
- dependencies:
- get-intrinsic: 1.2.4
- has-tostringtag: 1.0.2
- hasown: 2.0.2
-
es-set-tostringtag@2.1.0:
dependencies:
es-errors: 1.3.0
@@ -15080,12 +14867,6 @@ snapshots:
dependencies:
hasown: 2.0.2
- es-to-primitive@1.2.1:
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
-
es-to-primitive@1.3.0:
dependencies:
is-callable: 1.2.7
@@ -15308,14 +15089,14 @@ snapshots:
dependencies:
debug: 3.2.7
is-core-module: 2.16.1
- resolve: 1.22.8
+ resolve: 1.22.10
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.61.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1):
dependencies:
debug: 4.4.0
- enhanced-resolve: 5.16.1
+ enhanced-resolve: 5.18.2
eslint: 8.57.1
eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.61.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.61.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
@@ -15332,7 +15113,7 @@ snapshots:
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.33.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)):
dependencies:
debug: 4.4.0
- enhanced-resolve: 5.16.1
+ enhanced-resolve: 5.18.2
eslint: 9.19.0(jiti@2.4.2)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.19.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.19.0(jiti@2.4.2))
@@ -15596,7 +15377,7 @@ snapshots:
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.1
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.7
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
@@ -15842,9 +15623,9 @@ snapshots:
dependencies:
pend: 1.2.0
- fdir@6.4.5(picomatch@4.0.2):
+ fdir@6.4.6(picomatch@4.0.3):
optionalDependencies:
- picomatch: 4.0.2
+ picomatch: 4.0.3
fetch-blob@3.2.0:
dependencies:
@@ -15899,10 +15680,6 @@ snapshots:
flatted@3.3.1: {}
- for-each@0.3.3:
- dependencies:
- is-callable: 1.2.7
-
for-each@0.3.4:
dependencies:
is-callable: 1.2.7
@@ -16059,13 +15836,6 @@ snapshots:
function-bind@1.1.2: {}
- function.prototype.name@1.1.6:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- functions-have-names: 1.2.3
-
function.prototype.name@1.1.8:
dependencies:
call-bind: 1.0.8
@@ -16085,14 +15855,6 @@ snapshots:
get-caller-file@2.0.5: {}
- get-intrinsic@1.2.4:
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.2
-
get-intrinsic@1.2.7:
dependencies:
call-bind-apply-helpers: 1.0.1
@@ -16125,12 +15887,6 @@ snapshots:
get-stream@6.0.1: {}
- get-symbol-description@1.0.2:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
-
get-symbol-description@1.1.0:
dependencies:
call-bound: 1.0.3
@@ -16239,10 +15995,6 @@ snapshots:
globrex@0.1.2: {}
- gopd@1.0.1:
- dependencies:
- get-intrinsic: 1.2.4
-
gopd@1.2.0: {}
got@9.6.0:
@@ -16276,8 +16028,6 @@ snapshots:
hard-rejection@2.1.0: {}
- has-bigints@1.0.2: {}
-
has-bigints@1.1.0: {}
has-flag@3.0.0: {}
@@ -16290,14 +16040,10 @@ snapshots:
dependencies:
es-define-property: 1.0.1
- has-proto@1.0.3: {}
-
has-proto@1.2.0:
dependencies:
dunder-proto: 1.0.1
- has-symbols@1.0.3: {}
-
has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
@@ -16643,12 +16389,6 @@ snapshots:
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
- internal-slot@1.0.7:
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.1.0
-
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
@@ -16671,11 +16411,6 @@ snapshots:
is-alphabetical: 2.0.1
is-decimal: 2.0.1
- is-array-buffer@3.0.4:
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
-
is-array-buffer@3.0.5:
dependencies:
call-bind: 1.0.8
@@ -16694,10 +16429,6 @@ snapshots:
has-tostringtag: 1.0.2
safe-regex-test: 1.1.0
- is-bigint@1.0.4:
- dependencies:
- has-bigints: 1.0.2
-
is-bigint@1.1.0:
dependencies:
has-bigints: 1.1.0
@@ -16706,11 +16437,6 @@ snapshots:
dependencies:
binary-extensions: 2.3.0
- is-boolean-object@1.1.2:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
is-boolean-object@1.2.1:
dependencies:
call-bound: 1.0.3
@@ -16720,28 +16446,16 @@ snapshots:
is-callable@1.2.7: {}
- is-core-module@2.13.1:
- dependencies:
- hasown: 2.0.2
-
is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
- is-data-view@1.0.1:
- dependencies:
- is-typed-array: 1.1.13
-
is-data-view@1.0.2:
dependencies:
call-bound: 1.0.3
get-intrinsic: 1.2.7
is-typed-array: 1.1.15
- is-date-object@1.0.5:
- dependencies:
- has-tostringtag: 1.0.2
-
is-date-object@1.1.0:
dependencies:
call-bound: 1.0.3
@@ -16776,14 +16490,8 @@ snapshots:
is-map@2.0.3: {}
- is-negative-zero@2.0.3: {}
-
is-node-process@1.2.0: {}
- is-number-object@1.0.7:
- dependencies:
- has-tostringtag: 1.0.2
-
is-number-object@1.1.1:
dependencies:
call-bound: 1.0.3
@@ -16803,11 +16511,6 @@ snapshots:
is-promise@4.0.0: {}
- is-regex@1.1.4:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
is-regex@1.2.1:
dependencies:
call-bound: 1.0.3
@@ -16819,10 +16522,6 @@ snapshots:
is-set@2.0.3: {}
- is-shared-array-buffer@1.0.3:
- dependencies:
- call-bind: 1.0.7
-
is-shared-array-buffer@1.0.4:
dependencies:
call-bound: 1.0.3
@@ -16831,10 +16530,6 @@ snapshots:
is-stream@3.0.0: {}
- is-string@1.0.7:
- dependencies:
- has-tostringtag: 1.0.2
-
is-string@1.1.1:
dependencies:
call-bound: 1.0.3
@@ -16844,10 +16539,6 @@ snapshots:
dependencies:
better-path-resolve: 1.0.0
- is-symbol@1.0.4:
- dependencies:
- has-symbols: 1.0.3
-
is-symbol@1.1.1:
dependencies:
call-bound: 1.0.3
@@ -16858,10 +16549,6 @@ snapshots:
dependencies:
text-extensions: 1.9.0
- is-typed-array@1.1.13:
- dependencies:
- which-typed-array: 1.1.15
-
is-typed-array@1.1.15:
dependencies:
which-typed-array: 1.1.18
@@ -16870,10 +16557,6 @@ snapshots:
is-weakmap@2.0.2: {}
- is-weakref@1.0.2:
- dependencies:
- call-bind: 1.0.7
-
is-weakref@1.1.0:
dependencies:
call-bound: 1.0.3
@@ -16981,7 +16664,7 @@ snapshots:
dependencies:
array-includes: 3.1.8
array.prototype.flat: 1.3.2
- object.assign: 4.1.5
+ object.assign: 4.1.7
object.values: 1.2.1
keyv@3.1.0:
@@ -17009,50 +16692,50 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- lightningcss-darwin-arm64@1.29.1:
+ lightningcss-darwin-arm64@1.30.1:
optional: true
- lightningcss-darwin-x64@1.29.1:
+ lightningcss-darwin-x64@1.30.1:
optional: true
- lightningcss-freebsd-x64@1.29.1:
+ lightningcss-freebsd-x64@1.30.1:
optional: true
- lightningcss-linux-arm-gnueabihf@1.29.1:
+ lightningcss-linux-arm-gnueabihf@1.30.1:
optional: true
- lightningcss-linux-arm64-gnu@1.29.1:
+ lightningcss-linux-arm64-gnu@1.30.1:
optional: true
- lightningcss-linux-arm64-musl@1.29.1:
+ lightningcss-linux-arm64-musl@1.30.1:
optional: true
- lightningcss-linux-x64-gnu@1.29.1:
+ lightningcss-linux-x64-gnu@1.30.1:
optional: true
- lightningcss-linux-x64-musl@1.29.1:
+ lightningcss-linux-x64-musl@1.30.1:
optional: true
- lightningcss-win32-arm64-msvc@1.29.1:
+ lightningcss-win32-arm64-msvc@1.30.1:
optional: true
- lightningcss-win32-x64-msvc@1.29.1:
+ lightningcss-win32-x64-msvc@1.30.1:
optional: true
- lightningcss@1.29.1:
+ lightningcss@1.30.1:
dependencies:
- detect-libc: 1.0.3
+ detect-libc: 2.0.4
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
+ lightningcss-darwin-arm64: 1.30.1
+ lightningcss-darwin-x64: 1.30.1
+ lightningcss-freebsd-x64: 1.30.1
+ lightningcss-linux-arm-gnueabihf: 1.30.1
+ lightningcss-linux-arm64-gnu: 1.30.1
+ lightningcss-linux-arm64-musl: 1.30.1
+ lightningcss-linux-x64-gnu: 1.30.1
+ lightningcss-linux-x64-musl: 1.30.1
+ lightningcss-win32-arm64-msvc: 1.30.1
+ lightningcss-win32-x64-msvc: 1.30.1
lilconfig@2.1.0: {}
@@ -17897,6 +17580,10 @@ snapshots:
minipass@7.1.2: {}
+ minizlib@3.0.2:
+ dependencies:
+ minipass: 7.1.2
+
mitt@3.0.1: {}
mkdirp-classic@0.5.3: {}
@@ -17956,12 +17643,12 @@ snapshots:
- '@types/node'
optional: true
- msw@2.7.1(@types/node@22.13.0)(typescript@4.9.5):
+ msw@2.7.1(@types/node@24.1.0)(typescript@4.9.5):
dependencies:
'@bundled-es-modules/cookie': 2.0.1
'@bundled-es-modules/statuses': 1.0.1
'@bundled-es-modules/tough-cookie': 0.1.6
- '@inquirer/confirm': 5.1.6(@types/node@22.13.0)
+ '@inquirer/confirm': 5.1.6(@types/node@24.1.0)
'@mswjs/interceptors': 0.37.6
'@open-draft/deferred-promise': 2.2.0
'@open-draft/until': 2.1.0
@@ -17991,8 +17678,6 @@ snapshots:
nanoid@3.3.11: {}
- nanoid@3.3.8: {}
-
nanoid@4.0.2: {}
napi-build-utils@2.0.0: {}
@@ -18140,19 +17825,10 @@ snapshots:
object-hash@3.0.0: {}
- object-inspect@1.13.1: {}
-
object-inspect@1.13.3: {}
object-keys@1.1.1: {}
- object.assign@4.1.5:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- has-symbols: 1.0.3
- object-keys: 1.1.1
-
object.assign@4.1.7:
dependencies:
call-bind: 1.0.8
@@ -18164,22 +17840,22 @@ snapshots:
object.entries@1.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
object.fromentries@2.0.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
object.groupby@1.0.3:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.9
object.values@1.2.1:
dependencies:
@@ -18399,7 +18075,7 @@ snapshots:
picomatch@3.0.1: {}
- picomatch@4.0.2: {}
+ picomatch@4.0.3: {}
pify@2.3.0: {}
@@ -18423,13 +18099,13 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.5.1
- postcss-load-config@3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.0)(typescript@4.9.5)):
+ postcss-load-config@3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@24.1.0)(typescript@4.9.5)):
dependencies:
lilconfig: 2.1.0
yaml: 1.10.2
optionalDependencies:
postcss: 8.5.1
- ts-node: 10.9.2(@types/node@22.13.0)(typescript@4.9.5)
+ ts-node: 10.9.2(@types/node@24.1.0)(typescript@4.9.5)
postcss-load-config@4.0.2(postcss@8.5.1)(ts-node@10.9.2(@types/node@17.0.45)(typescript@5.7.3)):
dependencies:
@@ -18472,7 +18148,13 @@ snapshots:
postcss@8.5.1:
dependencies:
- nanoid: 3.3.8
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -18927,13 +18609,6 @@ snapshots:
dependencies:
regex-utilities: 2.3.0
- regexp.prototype.flags@1.5.2:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-errors: 1.3.0
- set-function-name: 2.0.2
-
regexp.prototype.flags@1.5.4:
dependencies:
call-bind: 1.0.8
@@ -19157,15 +18832,9 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- resolve@1.22.8:
- dependencies:
- is-core-module: 2.16.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
resolve@2.0.0-next.5:
dependencies:
- is-core-module: 2.13.1
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -19245,13 +18914,6 @@ snapshots:
dependencies:
mri: 1.2.0
- safe-array-concat@1.1.2:
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- isarray: 2.0.5
-
safe-array-concat@1.1.3:
dependencies:
call-bind: 1.0.8
@@ -19267,12 +18929,6 @@ snapshots:
es-errors: 1.3.0
isarray: 2.0.5
- safe-regex-test@1.0.3:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-regex: 1.1.4
-
safe-regex-test@1.1.0:
dependencies:
call-bound: 1.0.3
@@ -19323,8 +18979,7 @@ snapshots:
semver@7.7.1: {}
- semver@7.7.2:
- optional: true
+ semver@7.7.2: {}
send@1.2.0:
dependencies:
@@ -19356,7 +19011,7 @@ snapshots:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
+ get-intrinsic: 1.2.7
gopd: 1.2.0
has-property-descriptors: 1.0.2
@@ -19682,31 +19337,18 @@ snapshots:
es-object-atoms: 1.1.1
has-property-descriptors: 1.0.2
- string.prototype.trim@1.2.9:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.23.3
- es-object-atoms: 1.0.0
-
- string.prototype.trimend@1.0.8:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-object-atoms: 1.0.0
-
string.prototype.trimend@1.0.9:
dependencies:
call-bind: 1.0.8
call-bound: 1.0.3
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
string.prototype.trimstart@1.0.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-object-atoms: 1.0.0
+ es-object-atoms: 1.1.1
string_decoder@1.3.0:
dependencies:
@@ -19868,6 +19510,8 @@ snapshots:
tailwindcss@4.0.2: {}
+ tailwindcss@4.1.11: {}
+
tailwindcss@4.1.8: {}
tapable@2.2.1: {}
@@ -19903,6 +19547,15 @@ snapshots:
fast-fifo: 1.3.2
streamx: 2.22.0
+ tar@7.4.3:
+ dependencies:
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.0.2
+ mkdirp: 3.0.1
+ yallist: 5.0.0
+
term-size@2.2.1: {}
text-decoder@1.2.3:
@@ -19941,8 +19594,8 @@ snapshots:
tinyglobby@0.2.14:
dependencies:
- fdir: 6.4.5(picomatch@4.0.2)
- picomatch: 4.0.2
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
tinypool@1.0.2: {}
@@ -19954,8 +19607,6 @@ snapshots:
dependencies:
os-tmpdir: 1.0.2
- to-fast-properties@2.0.0: {}
-
to-gatsby-remark-plugin@0.1.0:
dependencies:
to-vfile: 6.1.0
@@ -20000,10 +19651,6 @@ snapshots:
trough@2.2.0: {}
- ts-api-utils@2.0.0(typescript@5.7.3):
- dependencies:
- typescript: 5.7.3
-
ts-api-utils@2.1.0(typescript@5.7.3):
dependencies:
typescript: 5.7.3
@@ -20057,14 +19704,14 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
- ts-node@10.9.2(@types/node@22.13.0)(typescript@4.9.5):
+ ts-node@10.9.2(@types/node@24.1.0)(typescript@4.9.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 22.13.0
+ '@types/node': 24.1.0
acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
@@ -20101,7 +19748,7 @@ snapshots:
tslib@2.8.1: {}
- tsup@6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.0)(typescript@4.9.5))(typescript@4.9.5):
+ tsup@6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@24.1.0)(typescript@4.9.5))(typescript@4.9.5):
dependencies:
bundle-require: 4.2.1(esbuild@0.17.19)
cac: 6.7.14
@@ -20111,7 +19758,7 @@ snapshots:
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
- postcss-load-config: 3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.0)(typescript@4.9.5))
+ postcss-load-config: 3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@24.1.0)(typescript@4.9.5))
resolve-from: 5.0.0
rollup: 3.29.5
source-map: 0.8.0-beta.0
@@ -20197,26 +19844,12 @@ snapshots:
media-typer: 1.1.0
mime-types: 3.0.1
- typed-array-buffer@1.0.2:
- dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- is-typed-array: 1.1.13
-
typed-array-buffer@1.0.3:
dependencies:
call-bound: 1.0.3
es-errors: 1.3.0
is-typed-array: 1.1.15
- typed-array-byte-length@1.0.1:
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
-
typed-array-byte-length@1.0.3:
dependencies:
call-bind: 1.0.8
@@ -20225,15 +19858,6 @@ snapshots:
has-proto: 1.2.0
is-typed-array: 1.1.15
- typed-array-byte-offset@1.0.2:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
-
typed-array-byte-offset@1.0.4:
dependencies:
available-typed-arrays: 1.0.7
@@ -20244,15 +19868,6 @@ snapshots:
is-typed-array: 1.1.15
reflect.getprototypeof: 1.0.10
- typed-array-length@1.0.6:
- dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-proto: 1.0.3
- is-typed-array: 1.1.13
- possible-typed-array-names: 1.0.0
-
typed-array-length@1.0.7:
dependencies:
call-bind: 1.0.8
@@ -20268,13 +19883,6 @@ snapshots:
typescript@5.7.3: {}
- unbox-primitive@1.0.2:
- dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
-
unbox-primitive@1.1.0:
dependencies:
call-bound: 1.0.3
@@ -20289,7 +19897,7 @@ snapshots:
undici-types@6.19.8: {}
- undici-types@6.20.0:
+ undici-types@7.8.0:
optional: true
unified@10.1.2:
@@ -20538,13 +20146,13 @@ snapshots:
d3-time: 3.1.0
d3-timer: 3.0.1
- vite-node@2.1.9(@types/node@20.17.16)(lightningcss@1.29.1):
+ vite-node@2.1.9(@types/node@20.17.16)(lightningcss@1.30.1):
dependencies:
cac: 6.7.14
debug: 4.4.0
es-module-lexer: 1.6.0
pathe: 1.1.2
- vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.29.1)
+ vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.30.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -20556,18 +20164,18 @@ snapshots:
- supports-color
- terser
- vite-tsconfig-paths@4.3.2(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.29.1)):
+ vite-tsconfig-paths@4.3.2(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.30.1)):
dependencies:
debug: 4.4.0
globrex: 0.1.2
tsconfck: 3.1.4(typescript@5.7.3)
optionalDependencies:
- vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.29.1)
+ vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.30.1)
transitivePeerDependencies:
- supports-color
- typescript
- vite@5.4.15(@types/node@20.17.16)(lightningcss@1.29.1):
+ vite@5.4.15(@types/node@20.17.16)(lightningcss@1.30.1):
dependencies:
esbuild: 0.21.5
postcss: 8.5.1
@@ -20575,12 +20183,12 @@ snapshots:
optionalDependencies:
'@types/node': 20.17.16
fsevents: 2.3.3
- lightningcss: 1.29.1
+ lightningcss: 1.30.1
- vitest@2.1.9(@types/node@20.17.16)(lightningcss@1.29.1)(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3)):
+ vitest@2.1.9(@types/node@20.17.16)(lightningcss@1.30.1)(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3)):
dependencies:
'@vitest/expect': 2.1.9
- '@vitest/mocker': 2.1.9(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.29.1))
+ '@vitest/mocker': 2.1.9(msw@2.7.1(@types/node@20.17.16)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.16)(lightningcss@1.30.1))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
@@ -20596,8 +20204,8 @@ snapshots:
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
- vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.29.1)
- vite-node: 2.1.9(@types/node@20.17.16)(lightningcss@1.29.1)
+ vite: 5.4.15(@types/node@20.17.16)(lightningcss@1.30.1)
+ vite-node: 2.1.9(@types/node@20.17.16)(lightningcss@1.30.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 20.17.16
@@ -20612,6 +20220,14 @@ snapshots:
- supports-color
- terser
+ wait-port@1.1.0:
+ dependencies:
+ chalk: 4.1.2
+ commander: 9.5.0
+ debug: 4.4.0
+ transitivePeerDependencies:
+ - supports-color
+
wcwidth@1.0.1:
dependencies:
defaults: 1.0.4
@@ -20635,14 +20251,6 @@ snapshots:
tr46: 1.0.1
webidl-conversions: 4.0.2
- which-boxed-primitive@1.0.2:
- dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
-
which-boxed-primitive@1.1.1:
dependencies:
is-bigint: 1.1.0
@@ -20674,14 +20282,6 @@ snapshots:
is-weakmap: 2.0.2
is-weakset: 2.0.4
- which-typed-array@1.1.15:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-tostringtag: 1.0.2
-
which-typed-array@1.1.18:
dependencies:
available-typed-arrays: 1.0.7
@@ -20736,6 +20336,8 @@ snapshots:
yallist@4.0.0: {}
+ yallist@5.0.0: {}
+
yaml@1.10.2: {}
yaml@2.7.0: {}
diff --git a/vitest.config.ts b/vitest.config.ts
index 4b6962888..459948639 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -8,6 +8,7 @@ export default defineConfig({
"**/node_modules/**",
"**/fixtures/**",
"**/templates/**",
+ "**/packages/tests/**",
],
},
plugins: [
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
index 83509f471..0c002a976 100644
--- a/vitest.workspace.ts
+++ b/vitest.workspace.ts
@@ -1,3 +1,6 @@
import { defineWorkspace } from "vitest/config"
-export default defineWorkspace(["./vitest.config.ts"])
+export default defineWorkspace([
+ "./vitest.config.ts",
+ "./packages/tests/vitest.config.ts",
+])