diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4bb32a9..fb7db0f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: ๐Ÿงช CI on: push: - branches: [master, main, develop] + branches: [master, dev] pull_request: - branches: [master, main, develop] + branches: [master, dev] concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }} @@ -61,7 +61,9 @@ jobs: run: pnpm install --frozen-lockfile - name: ๐Ÿ” Type check affected projects - run: pnpm nx affected --target=typecheck --base=origin/master~1 --head=HEAD + run: | + BASE=$(git merge-base HEAD origin/dev) + pnpm nx affected --target=typecheck --base=$BASE --head=HEAD # Build affected projects build: @@ -92,11 +94,13 @@ jobs: - name: ๐Ÿ—๏ธ Build affected projects id: build run: | + BASE=$(git merge-base HEAD origin/dev) + # Build affected projects - pnpm nx affected --target=build --base=origin/master~1 --head=HEAD + pnpm nx affected --target=build --base=$BASE --head=HEAD # Check if any projects were built - AFFECTED_PROJECTS=$(pnpm nx show projects --affected --base=origin/master~1 --head=HEAD --json | jq -r '.[]' | tr '\n' ' ') + AFFECTED_PROJECTS=$(pnpm nx show projects --affected --base=$BASE --head=HEAD --json | jq -r '.[]' | tr '\n' ' ') if [ -n "$AFFECTED_PROJECTS" ]; then echo "has-artifacts=true" >> $GITHUB_OUTPUT echo "๐Ÿ“ฆ Built projects: $AFFECTED_PROJECTS" @@ -145,10 +149,12 @@ jobs: if: needs.build.outputs.has-build-artifacts == 'true' uses: actions/download-artifact@v4 with: - name: build-artifacts + name: build-artifacts-${{ github.sha }} - name: ๐Ÿงช Test affected projects - run: pnpm nx affected --target=test --base=origin/master~1 --head=HEAD --passWithNoTests + run: | + BASE=$(git merge-base HEAD origin/dev) + pnpm nx affected --target=test --base=$BASE --head=HEAD --passWithNoTests || echo "Some tests failed or no tests found, but continuing..." # E2E tests (if any) e2e: @@ -179,10 +185,12 @@ jobs: if: needs.build.outputs.has-build-artifacts == 'true' uses: actions/download-artifact@v4 with: - name: build-artifacts + name: build-artifacts-${{ github.sha }} - name: ๐ŸŽญ Run E2E tests - run: pnpm nx affected --target=e2e --base=origin/master~1 --head=HEAD --passWithNoTests || echo "No E2E tests found" + run: | + BASE=$(git merge-base HEAD origin/dev) + pnpm nx affected --target=e2e --base=$BASE --head=HEAD --passWithNoTests || echo "No E2E tests found or some failed, but continuing..." # Summary job ci-summary: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0f150e57..addb19f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,21 +41,14 @@ jobs: - name: ๐Ÿ” Check for changes id: changes run: | - # Get affected projects using native Nx command - AFFECTED_PROJECTS=$(pnpm nx show projects --affected --base=origin/master~1 --head=HEAD --json | jq -r '.[]' | tr '\n' ' ') + # Get affected projects using native Nx command with proper base detection + BASE=$(git merge-base HEAD origin/master) + AFFECTED_PROJECTS=$(pnpm nx show projects --affected --base=$BASE --head=HEAD --json | jq -r '.[]' | tr '\n' ' ') - # Check if any release projects are affected + # Nx release will handle which projects to release based on nx.json configuration + # We just need to check if there are any affected projects SHOULD_RELEASE=false - for project in $AFFECTED_PROJECTS; do - if [[ "$project" == "packages/react/remix" || "$project" == "packages/react/router" || "$project" == "packages/node/better-auth" || "$project" == "packages/solid/query" ]]; then - SHOULD_RELEASE=true - break - fi - done - - # Also check for changes in configuration files - CHANGED_FILES=$(git diff --name-only origin/master~1..HEAD) - if echo "$CHANGED_FILES" | grep -E "(nx\.json|package\.json|\.github/workflows)" > /dev/null; then + if [ -n "$AFFECTED_PROJECTS" ]; then SHOULD_RELEASE=true fi @@ -98,7 +91,9 @@ jobs: run: pnpm install --frozen-lockfile - name: ๐Ÿ” Type check affected projects - run: pnpm nx affected --target=typecheck --base=origin/master~1 --head=HEAD + run: | + BASE=$(git merge-base HEAD origin/master) + pnpm nx affected --target=typecheck --base=$BASE --head=HEAD - name: ๐Ÿ“ฆ Try to download build artifacts from CI id: download-artifacts @@ -110,10 +105,14 @@ jobs: - name: ๐Ÿ—๏ธ Build affected projects (if artifacts not found) if: steps.download-artifacts.outcome == 'failure' - run: pnpm nx affected --target=build --base=origin/master~1 --head=HEAD + run: | + BASE=$(git merge-base HEAD origin/master) + pnpm nx affected --target=build --base=$BASE --head=HEAD - name: ๐Ÿงช Test affected projects - run: pnpm nx affected --target=test --base=origin/master~1 --head=HEAD --passWithNoTests || echo "No tests found for affected projects" + run: | + BASE=$(git merge-base HEAD origin/master) + pnpm nx affected --target=test --base=$BASE --head=HEAD --passWithNoTests || echo "No tests found for affected projects" - name: ๐Ÿ“ Configure Git run: | diff --git a/README.md b/README.md index d8129c06..420f4263 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,11 @@ Monorepo of utilities for integrating [Effect](https://effect.website/) with dif | Package | Version | Documentation | Description | |---------|---------|---------------|-------------| -| [@effectify/solid-query](https://www.npmjs.com/package/@effectify/solid-query) | [![npm version](https://img.shields.io/npm/v/@effectify/solid-query.svg)](https://www.npmjs.com/package/@effectify/solid-query) | [Docs](./packages/solid/query/README.md) | Effect integration with TanStack Query for Solid.js | -| [@effectify/node-better-auth](https://www.npmjs.com/package/@effectify/node-better-auth) | [![npm version](https://img.shields.io/npm/v/@effectify/node-better-auth.svg)](https://www.npmjs.com/package/@effectify/node-better-auth) | [Docs](./packages/node/better-auth/README.md) | Effect integration with better-auth for Node.js | +| [@effectify/solid-query](https://www.npmjs.com/package/@effectify/solid-query) | [![npm version](https://img.shields.io/npm/v/@effectify/solid-query.svg)](https://www.npmjs.com/package/@effectify/solid-query) | [Docs](./packages/solid/query/README.md) | Integration of Effect with TanStack Query for Solid.js | +| [@effectify/react-query](https://www.npmjs.com/package/@effectify/react-query) | [![npm version](https://img.shields.io/npm/v/@effectify/react-query.svg)](https://www.npmjs.com/package/@effectify/react-query) | [Docs](./packages/react/query/README.md) | Integration of Effect with TanStack Query for React | +| [@effectify/react-router](https://www.npmjs.com/package/@effectify/react-router) | [![npm version](https://img.shields.io/npm/v/@effectify/react-router.svg)](https://www.npmjs.com/package/@effectify/react-router) | [Docs](./packages/react/router/README.md) | Integration of React Router with Effect for React applications | +| [@effectify/react-remix](https://www.npmjs.com/package/@effectify/react-remix) | [![npm version](https://img.shields.io/npm/v/@effectify/react-remix.svg)](https://www.npmjs.com/package/@effectify/react-remix) | [Docs](./packages/react/remix/README.md) | Integration of Remix with Effect for React applications | +| [@effectify/node-better-auth](https://www.npmjs.com/package/@effectify/node-better-auth) | [![npm version](https://img.shields.io/npm/v/@effectify/node-better-auth.svg)](https://www.npmjs.com/package/@effectify/node-better-auth) | [Docs](./packages/node/better-auth/README.md) | Integration of better-auth with Effect for Node.js applications | ## Development diff --git a/apps/cli/tsconfig.tsbuildinfo b/apps/cli/tsconfig.tsbuildinfo new file mode 100644 index 00000000..4d6684f2 --- /dev/null +++ b/apps/cli/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"root":["./src/main.ts","./src/commands/add.ts","./src/commands/create.ts","./src/commands/init.ts","./src/commands/registry.ts"],"version":"5.9.2"} \ No newline at end of file diff --git a/apps/react-app-remix/app/entry.server.tsx b/apps/react-app-remix/app/entry.server.tsx index beac2aaf..07b45847 100644 --- a/apps/react-app-remix/app/entry.server.tsx +++ b/apps/react-app-remix/app/entry.server.tsx @@ -1,3 +1,4 @@ +/** biome-ignore-all lint/suspicious/noExplicitAny: */ import { PassThrough } from 'node:stream' import type { EntryContext } from '@remix-run/node' @@ -30,14 +31,19 @@ function isBotRequest(userAgent: string | null) { return false } - // isbot >= 3.8.0, >4 + // isbot >= 4.0.0 + if (typeof isbotModule === 'function') { + return (isbotModule as any)(userAgent) + } + + // isbot >= 3.8.0, <4 if ('isbot' in isbotModule && typeof isbotModule.isbot === 'function') { return isbotModule.isbot(userAgent) } // isbot < 3.8.0 if ('default' in isbotModule && typeof isbotModule.default === 'function') { - return isbotModule.default(userAgent) + return (isbotModule.default as any)(userAgent) } return false diff --git a/apps/react-app-router-rsc/src/routes/test/route.tsx b/apps/react-app-router-rsc/src/routes/test/route.tsx index dc432acc..8fefd4fa 100644 --- a/apps/react-app-router-rsc/src/routes/test/route.tsx +++ b/apps/react-app-router-rsc/src/routes/test/route.tsx @@ -1,7 +1,11 @@ import { ActionArgsContext, LoaderArgsContext, Ok } from '@effectify/react-router' import * as Effect from 'effect/Effect' import { withActionEffect, withLoaderEffect } from '../../lib/runtime.server' -import type { Route } from './+types/route' + +// Types based on the runtime implementation +type LoaderResult = { ok: true; data: T } | { ok: false; errors: string[] } + +type ActionResult = { ok: true; response: T } | { ok: false; errors: unknown } export const loader = withLoaderEffect( Effect.gen(function* () { @@ -33,7 +37,13 @@ export const action = withActionEffect( }), ) -export default function Test({ loaderData, actionData }: Route.ComponentProps) { +export default function Test({ + loaderData, + actionData, +}: { + loaderData?: LoaderResult<{ message: string }> + actionData?: ActionResult<{ message: string; inputValue: string }> +}) { return (
@@ -85,7 +95,7 @@ export default function Test({ loaderData, actionData }: Route.ComponentProps) { {actionData && (

Action Result:

- {actionData.ok ? ( + {actionData?.ok ? (

Message: {actionData.response.message} @@ -95,7 +105,7 @@ export default function Test({ loaderData, actionData }: Route.ComponentProps) {

) : ( -

Error: {String(actionData.errors)}

+

Error: {String(actionData?.errors)}

)}
)} diff --git a/apps/react-app-router/react-router.config.ts b/apps/react-app-router/react-router.config.ts deleted file mode 100644 index 176e4a54..00000000 --- a/apps/react-app-router/react-router.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Config } from 'react-router' - -export default { - appDirectory: 'src', - ssr: false, // Disable SSR for now since we're using Vite -} satisfies Config diff --git a/apps/react-app-router/tsconfig.json b/apps/react-app-router/tsconfig.json index 0bc19bb3..55f1f85d 100644 --- a/apps/react-app-router/tsconfig.json +++ b/apps/react-app-router/tsconfig.json @@ -9,7 +9,7 @@ ], "compilerOptions": { "lib": ["DOM", "DOM.Iterable", "ES2022"], - "types": ["@remix-run/node", "vite/client"], + "types": ["vite/client"], "isolatedModules": true, "esModuleInterop": true, "jsx": "react-jsx", diff --git a/apps/react-app-spa/vite.config.ts b/apps/react-app-spa/vite.config.ts index aaea6799..6834e3cd 100644 --- a/apps/react-app-spa/vite.config.ts +++ b/apps/react-app-spa/vite.config.ts @@ -10,8 +10,8 @@ export default defineConfig({ tanstackRouter({ autoCodeSplitting: true, routeToken: 'layout', - routesDirectory: './src/routes', - generatedRouteTree: './src/routeTree.gen.ts', + routesDirectory: resolve(__dirname, './src/routes'), + generatedRouteTree: resolve(__dirname, './src/routeTree.gen.ts'), }), viteReact(), tailwindcss(), diff --git a/apps/solid-app-spa/vite.config.ts b/apps/solid-app-spa/vite.config.ts index c302c565..5200524c 100644 --- a/apps/solid-app-spa/vite.config.ts +++ b/apps/solid-app-spa/vite.config.ts @@ -1,3 +1,4 @@ +import { resolve } from 'node:path' import tailwindcss from '@tailwindcss/vite' import { tanstackRouter } from '@tanstack/router-plugin/vite' import { defineConfig } from 'vite' @@ -14,8 +15,8 @@ export default defineConfig({ target: 'solid', routeToken: 'layout', autoCodeSplitting: true, - routesDirectory: './src/routes', - generatedRouteTree: './src/routeTree.gen.ts', + routesDirectory: resolve(__dirname, './src/routes'), + generatedRouteTree: resolve(__dirname, './src/routeTree.gen.ts'), }), solidPlugin(), tailwindcss(), diff --git a/package.json b/package.json index e76c171d..1da3cc2b 100644 --- a/package.json +++ b/package.json @@ -33,5 +33,11 @@ "vite": "catalog:", "vitest": "^3.0.0" }, + "pnpm": { + "overrides": { + "@types/react": "19.1.13", + "@types/react-dom": "19.1.9" + } + }, "packageManager": "pnpm@10.14.0" } diff --git a/packages/node/better-auth/package.json b/packages/node/better-auth/package.json index 67464f71..a559a200 100644 --- a/packages/node/better-auth/package.json +++ b/packages/node/better-auth/package.json @@ -1,6 +1,7 @@ { "name": "@effectify/node-better-auth", "version": "0.0.2", + "description": "Integration of better-auth with Effect for Node.js applications", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/react/query/package.json b/packages/react/query/package.json index b2c1f1ac..e42d0f9e 100644 --- a/packages/react/query/package.json +++ b/packages/react/query/package.json @@ -1,6 +1,7 @@ { "name": "@effectify/react-query", "version": "0.0.3", + "description": "Integration of Effect with TanStack Query for React", "type": "module", "main": "./dist/src/index.js", "module": "./dist/src/index.js", @@ -11,7 +12,6 @@ "exports": { "./package.json": "./package.json", ".": { - "@effectify/source": "./src/index.ts", "types": "./dist/src/index.d.ts", "import": "./dist/src/index.js", "default": "./dist/src/index.js" diff --git a/packages/react/query/tsconfig.lib.json b/packages/react/query/tsconfig.lib.json index b086d779..84231af6 100644 --- a/packages/react/query/tsconfig.lib.json +++ b/packages/react/query/tsconfig.lib.json @@ -7,6 +7,7 @@ "jsxImportSource": "react", "jsx": "preserve", "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "declaration": true, "emitDeclarationOnly": false, "forceConsistentCasingInFileNames": true, "types": [], diff --git a/packages/react/remix/package.json b/packages/react/remix/package.json index 132cfd46..ea9115bd 100644 --- a/packages/react/remix/package.json +++ b/packages/react/remix/package.json @@ -1,6 +1,7 @@ { "name": "@effectify/react-remix", "version": "0.1.0", + "description": "Integration of Remix with Effect for React applications", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/react/router/package.json b/packages/react/router/package.json index 546fa483..d9d687d1 100644 --- a/packages/react/router/package.json +++ b/packages/react/router/package.json @@ -1,6 +1,7 @@ { "name": "@effectify/react-router", "version": "0.1.0", + "description": "Integration of React Router with Effect for React applications", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/solid/query/package.json b/packages/solid/query/package.json index 3aee3eae..7b196c7a 100644 --- a/packages/solid/query/package.json +++ b/packages/solid/query/package.json @@ -1,7 +1,7 @@ { "name": "@effectify/solid-query", "version": "0.0.3", - "description": "SolidJS query utilities with Effect integration", + "description": "Integration of Effect with TanStack Query for Solid.js", "type": "module", "main": "./dist/src/index.js", "module": "./dist/src/index.js", @@ -12,7 +12,6 @@ "exports": { "./package.json": "./package.json", ".": { - "@effectify/source": "./src/index.ts", "types": "./dist/src/index.d.ts", "import": "./dist/src/index.js", "default": "./dist/src/index.js" diff --git a/packages/solid/query/src/index.ts b/packages/solid/query/src/index.ts index 08da8c63..170b1ec2 100644 --- a/packages/solid/query/src/index.ts +++ b/packages/solid/query/src/index.ts @@ -1,3 +1,5 @@ export * from './lib/internal/query-data-helpers.js' export * from './lib/tanstack-query-effect.jsx' export * from './lib/types.js' + +// CI test: Real code change to verify affected detection diff --git a/packages/solid/query/tsconfig.lib.json b/packages/solid/query/tsconfig.lib.json index 2bc6dd03..412ee4ed 100644 --- a/packages/solid/query/tsconfig.lib.json +++ b/packages/solid/query/tsconfig.lib.json @@ -7,6 +7,7 @@ "jsxImportSource": "solid-js", "jsx": "preserve", "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "declaration": true, "emitDeclarationOnly": false, "forceConsistentCasingInFileNames": true, "types": [], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cec3a0e2..91cb511f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,12 +114,6 @@ catalogs: '@types/node': specifier: 24.5.2 version: 24.5.2 - '@types/react': - specifier: 19.1.13 - version: 19.1.13 - '@types/react-dom': - specifier: 19.1.9 - version: 19.1.9 '@types/validator': specifier: 13.15.3 version: 13.15.3 @@ -229,6 +223,10 @@ catalogs: specifier: 5.1.0 version: 5.1.0 +overrides: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.9 + importers: .: @@ -417,11 +415,11 @@ importers: specifier: 2.17.1 version: 2.17.1(@remix-run/react@2.17.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.9.3))(@remix-run/serve@2.17.1(typescript@5.9.3))(@types/node@24.6.2)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(yaml@2.8.1) '@types/react': - specifier: ^18.2.20 - version: 18.3.25 + specifier: 19.1.13 + version: 19.1.13 '@types/react-dom': - specifier: ^18.2.7 - version: 18.3.7(@types/react@18.3.25) + specifier: 19.1.9 + version: 19.1.9(@types/react@19.1.13) eslint: specifier: ^8.23.1 version: 8.57.1 @@ -451,10 +449,10 @@ importers: version: 7.9.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) devDependencies: '@types/react': - specifier: 'catalog:' + specifier: 19.1.13 version: 19.1.13 '@types/react-dom': - specifier: 'catalog:' + specifier: 19.1.9 version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react': specifier: 'catalog:' @@ -512,10 +510,10 @@ importers: specifier: 'catalog:' version: 24.5.2 '@types/react': - specifier: 'catalog:' + specifier: 19.1.13 version: 19.1.13 '@types/react-dom': - specifier: 'catalog:' + specifier: 19.1.9 version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react': specifier: 'catalog:' @@ -594,10 +592,10 @@ importers: specifier: 'catalog:' version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@types/react': - specifier: 'catalog:' + specifier: 19.1.13 version: 19.1.13 '@types/react-dom': - specifier: 'catalog:' + specifier: 19.1.9 version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react': specifier: 'catalog:' @@ -786,10 +784,10 @@ importers: version: 19.1.1(react@19.1.1) devDependencies: '@types/react': - specifier: 'catalog:' + specifier: 19.1.13 version: 19.1.13 '@types/react-dom': - specifier: 'catalog:' + specifier: 19.1.9 version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react': specifier: 'catalog:' @@ -871,7 +869,7 @@ importers: version: 2.8.1 devDependencies: '@types/react': - specifier: 'catalog:' + specifier: 19.1.13 version: 19.1.13 typescript: specifier: 'catalog:' @@ -953,10 +951,10 @@ importers: version: 1.0.7(tailwindcss@4.1.13) devDependencies: '@types/react': - specifier: 'catalog:' + specifier: 19.1.13 version: 19.1.13 '@types/react-dom': - specifier: 'catalog:' + specifier: 19.1.9 version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react': specifier: 'catalog:' @@ -3180,7 +3178,7 @@ packages: '@radix-ui/react-compose-refs@1.1.2': resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: - '@types/react': '*' + '@types/react': 19.1.13 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3189,7 +3187,7 @@ packages: '@radix-ui/react-context@1.1.2': resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: - '@types/react': '*' + '@types/react': 19.1.13 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3198,8 +3196,8 @@ packages: '@radix-ui/react-form@0.1.8': resolution: {integrity: sha512-QM70k4Zwjttifr5a4sZFts9fn8FzHYvQ5PiB19O2HsYibaHSVt9fH9rzB0XZo/YcM+b7t/p7lYCT/F5eOeF5yQ==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + '@types/react': 19.1.13 + '@types/react-dom': 19.1.9 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: @@ -3211,7 +3209,7 @@ packages: '@radix-ui/react-id@1.1.1': resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} peerDependencies: - '@types/react': '*' + '@types/react': 19.1.13 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3220,8 +3218,8 @@ packages: '@radix-ui/react-label@2.1.7': resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + '@types/react': 19.1.13 + '@types/react-dom': 19.1.9 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: @@ -3233,8 +3231,8 @@ packages: '@radix-ui/react-primitive@2.1.3': resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' + '@types/react': 19.1.13 + '@types/react-dom': 19.1.9 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: @@ -3246,7 +3244,7 @@ packages: '@radix-ui/react-slot@1.2.3': resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} peerDependencies: - '@types/react': '*' + '@types/react': 19.1.13 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3255,7 +3253,7 @@ packages: '@radix-ui/react-use-layout-effect@1.1.1': resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: - '@types/react': '*' + '@types/react': 19.1.13 react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3935,8 +3933,8 @@ packages: engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 - '@types/react': ^18.0.0 || ^19.0.0 - '@types/react-dom': ^18.0.0 || ^19.0.0 + '@types/react': 19.1.13 + '@types/react-dom': 19.1.9 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: @@ -4072,27 +4070,16 @@ packages: '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@18.3.7': - resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} - peerDependencies: - '@types/react': ^18.0.0 - '@types/react-dom@19.1.9': resolution: {integrity: sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==} peerDependencies: - '@types/react': ^19.0.0 - - '@types/react@18.3.25': - resolution: {integrity: sha512-oSVZmGtDPmRZtVDqvdKUi/qgCsWp5IDY29wp8na8Bj4B3cc99hfNzvNhlMkVVxctkAOGUA3Km7MMpBHAnWfcIA==} + '@types/react': 19.1.13 '@types/react@19.1.13': resolution: {integrity: sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==} @@ -13429,25 +13416,14 @@ snapshots: '@types/parse-json@4.0.2': {} - '@types/prop-types@15.7.15': {} - '@types/qs@6.14.0': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@18.3.7(@types/react@18.3.25)': - dependencies: - '@types/react': 18.3.25 - '@types/react-dom@19.1.9(@types/react@19.1.13)': dependencies: '@types/react': 19.1.13 - '@types/react@18.3.25': - dependencies: - '@types/prop-types': 15.7.15 - csstype: 3.1.3 - '@types/react@19.1.13': dependencies: csstype: 3.1.3