diff --git a/.github/workflows/ci-e2e.yaml b/.github/workflows/ci-e2e.yaml index ab4d0502..544dec8d 100644 --- a/.github/workflows/ci-e2e.yaml +++ b/.github/workflows/ci-e2e.yaml @@ -20,6 +20,11 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false + # Running in a container causes git "dubious ownership" errors because the + # workspace owner differs from the container user. Mark it as safe so that + # lefthook install (triggered by pnpm prepare) can run git commands. + - name: Fix git ownership + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 with: run_install: false diff --git a/e2e/package.json b/e2e/package.json index 55518ba4..5ef4a268 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -18,8 +18,8 @@ "@types/react-dom": "catalog:", "@vitejs/plugin-react": "catalog:", "dotenv": "^16.5.0", - "react": "^19.2.5", - "react-dom": "^19.2.5", + "react": "catalog:", + "react-dom": "catalog:", "tailwindcss": "catalog:", "typescript": "catalog:", "vite": "catalog:" diff --git a/examples/nextjs-app/package.json b/examples/nextjs-app/package.json index 532d2fdc..a3f8aa2c 100644 --- a/examples/nextjs-app/package.json +++ b/examples/nextjs-app/package.json @@ -12,8 +12,8 @@ "@hookform/resolvers": "^5.2.2", "@tailor-platform/app-shell": "workspace:*", "next": "16.2.6", - "react": "^19.2.5", - "react-dom": "^19.2.5", + "react": "catalog:", + "react-dom": "catalog:", "react-hook-form": "^7.71.2", "zod": "^4.4.3" }, diff --git a/examples/vite-app/package.json b/examples/vite-app/package.json index d9cdd9fa..cbddfbea 100644 --- a/examples/vite-app/package.json +++ b/examples/vite-app/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tailor-platform/app-shell": "workspace:*", "lucide-react": "^1.8.0", - "react": "^19.2.5", - "react-dom": "^19.2.5", + "react": "catalog:", + "react-dom": "catalog:", "tailwindcss": "catalog:" }, "devDependencies": { diff --git a/packages/core/package.json b/packages/core/package.json index 895b9ff7..b61f1fa0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -77,8 +77,8 @@ "@vitejs/plugin-react": "catalog:", "happy-dom": "^20.6.2", "postcss": "^8", - "react": "^19.2.5", - "react-dom": "^19.2.5", + "react": "catalog:", + "react-dom": "catalog:", "tailwindcss": "catalog:", "tw-animate-css": "^1.4.0", "typescript": "^5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f53c37a7..fef32ddb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,6 +27,12 @@ catalogs: oxlint: specifier: ^1.64.0 version: 1.64.0 + react: + specifier: ^19.2.6 + version: 19.2.6 + react-dom: + specifier: ^19.2.6 + version: 19.2.6 tailwindcss: specifier: ^4.2.4 version: 4.2.4 @@ -87,11 +93,11 @@ importers: specifier: ^16.5.0 version: 16.6.1 react: - specifier: ^19.2.5 - version: 19.2.5 + specifier: 'catalog:' + version: 19.2.6 react-dom: - specifier: ^19.2.5 - version: 19.2.5(react@19.2.5) + specifier: 'catalog:' + version: 19.2.6(react@19.2.6) tailwindcss: specifier: 'catalog:' version: 4.2.4 @@ -106,22 +112,22 @@ importers: dependencies: '@hookform/resolvers': specifier: ^5.2.2 - version: 5.2.2(react-hook-form@7.71.2(react@19.2.5)) + version: 5.2.2(react-hook-form@7.71.2(react@19.2.6)) '@tailor-platform/app-shell': specifier: workspace:* version: link:../../packages/core next: specifier: 16.2.6 - version: 16.2.6(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 16.2.6(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: - specifier: ^19.2.5 - version: 19.2.5 + specifier: 'catalog:' + version: 19.2.6 react-dom: - specifier: ^19.2.5 - version: 19.2.5(react@19.2.5) + specifier: 'catalog:' + version: 19.2.6(react@19.2.6) react-hook-form: specifier: ^7.71.2 - version: 7.71.2(react@19.2.5) + version: 7.71.2(react@19.2.6) zod: specifier: ^4.4.3 version: 4.4.3 @@ -158,13 +164,13 @@ importers: version: link:../../packages/core lucide-react: specifier: ^1.8.0 - version: 1.8.0(react@19.2.5) + version: 1.8.0(react@19.2.6) react: - specifier: ^19.2.5 - version: 19.2.5 + specifier: 'catalog:' + version: 19.2.6 react-dom: - specifier: ^19.2.5 - version: 19.2.5(react@19.2.5) + specifier: 'catalog:' + version: 19.2.6(react@19.2.6) tailwindcss: specifier: 'catalog:' version: 4.2.4 @@ -192,7 +198,7 @@ importers: dependencies: '@base-ui/react': specifier: ^1.4.1 - version: 1.4.1(@types/react@19.2.13)(date-fns@4.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 1.4.1(@types/react@19.2.13)(date-fns@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@standard-schema/spec': specifier: ^1.1.0 version: 1.1.0 @@ -222,19 +228,19 @@ importers: version: 16.14.0 lucide-react: specifier: ^1.8.0 - version: 1.8.0(react@19.2.5) + version: 1.8.0(react@19.2.6) papaparse: specifier: ^5.5.3 version: 5.5.3 react-hook-form: specifier: ^7.71.2 - version: 7.71.2(react@19.2.5) + version: 7.71.2(react@19.2.6) react-router: specifier: ^7.14.1 - version: 7.14.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 7.14.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) sonner: specifier: ^2.0.7 - version: 2.0.7(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) tailwind-merge: specifier: ^3.5.0 version: 3.5.0 @@ -244,7 +250,7 @@ importers: version: 4.2.4 '@testing-library/react': specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) @@ -273,11 +279,11 @@ importers: specifier: ^8 version: 8.5.12 react: - specifier: ^19.2.5 - version: 19.2.5 + specifier: 'catalog:' + version: 19.2.6 react-dom: - specifier: ^19.2.5 - version: 19.2.5(react@19.2.5) + specifier: 'catalog:' + version: 19.2.6(react@19.2.6) tailwindcss: specifier: 'catalog:' version: 4.2.4 @@ -4471,10 +4477,10 @@ packages: peerDependencies: react: ^19.1.1 - react-dom@19.2.5: - resolution: {integrity: sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==} + react-dom@19.2.6: + resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} peerDependencies: - react: ^19.2.5 + react: ^19.2.6 react-hook-form@7.71.2: resolution: {integrity: sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA==} @@ -4512,8 +4518,8 @@ packages: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} - react@19.2.5: - resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==} + react@19.2.6: + resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} engines: {node: '>=0.10.0'} read-yaml-file@1.1.0: @@ -5443,27 +5449,27 @@ snapshots: '@badgateway/oauth2-client@3.3.1': {} - '@base-ui/react@1.4.1(@types/react@19.2.13)(date-fns@4.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@base-ui/react@1.4.1(@types/react@19.2.13)(date-fns@4.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@babel/runtime': 7.29.2 - '@base-ui/utils': 0.2.8(@types/react@19.2.13)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@base-ui/utils': 0.2.8(@types/react@19.2.13)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@floating-ui/utils': 0.2.11 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - use-sync-external-store: 1.6.0(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + use-sync-external-store: 1.6.0(react@19.2.6) optionalDependencies: '@types/react': 19.2.13 date-fns: 4.1.0 - '@base-ui/utils@0.2.8(@types/react@19.2.13)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@base-ui/utils@0.2.8(@types/react@19.2.13)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@babel/runtime': 7.29.2 '@floating-ui/utils': 0.2.11 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) reselect: 5.1.1 - use-sync-external-store: 1.6.0(react@19.2.5) + use-sync-external-store: 1.6.0(react@19.2.6) optionalDependencies: '@types/react': 19.2.13 @@ -5740,18 +5746,18 @@ snapshots: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 - '@floating-ui/react-dom@2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@floating-ui/react-dom@2.1.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@floating-ui/dom': 1.7.6 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) '@floating-ui/utils@0.2.11': {} - '@hookform/resolvers@5.2.2(react-hook-form@7.71.2(react@19.2.5))': + '@hookform/resolvers@5.2.2(react-hook-form@7.71.2(react@19.2.6))': dependencies: '@standard-schema/utils': 0.3.0 - react-hook-form: 7.71.2(react@19.2.5) + react-hook-form: 7.71.2(react@19.2.6) '@img/colour@1.1.0': optional: true @@ -7242,12 +7248,12 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.13))(@types/react@19.2.13)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@babel/runtime': 7.28.6 '@testing-library/dom': 10.4.1 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) optionalDependencies: '@types/react': 19.2.13 '@types/react-dom': 19.2.3(@types/react@19.2.13) @@ -8636,9 +8642,9 @@ snapshots: dependencies: yallist: 4.0.0 - lucide-react@1.8.0(react@19.2.5): + lucide-react@1.8.0(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 lz-string@1.5.0: {} @@ -8766,16 +8772,16 @@ snapshots: optionalDependencies: '@rollup/rollup-linux-x64-gnu': 4.60.2 - next@16.2.6(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + next@16.2.6(@opentelemetry/api@1.9.1)(@playwright/test@1.51.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: '@next/env': 16.2.6 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.10.30 caniuse-lite: 1.0.30001793 postcss: 8.4.31 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - styled-jsx: 5.1.6(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + styled-jsx: 5.1.6(react@19.2.6) optionalDependencies: '@next/swc-darwin-arm64': 16.2.6 '@next/swc-darwin-x64': 16.2.6 @@ -9135,14 +9141,14 @@ snapshots: react: 19.1.1 scheduler: 0.26.0 - react-dom@19.2.5(react@19.2.5): + react-dom@19.2.6(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 scheduler: 0.27.0 - react-hook-form@7.71.2(react@19.2.5): + react-hook-form@7.71.2(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 react-is@16.13.1: {} @@ -9155,17 +9161,17 @@ snapshots: react-refresh@0.18.0: {} - react-router@7.14.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + react-router@7.14.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: cookie: 1.1.1 - react: 19.2.5 + react: 19.2.6 set-cookie-parser: 2.7.2 optionalDependencies: - react-dom: 19.2.5(react@19.2.5) + react-dom: 19.2.6(react@19.2.6) react@19.1.1: {} - react@19.2.5: {} + react@19.2.6: {} read-yaml-file@1.1.0: dependencies: @@ -9468,10 +9474,10 @@ snapshots: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 - sonner@2.0.7(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + sonner@2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) source-map-js@1.2.1: {} @@ -9553,10 +9559,10 @@ snapshots: strip-json-comments@3.1.1: {} - styled-jsx@5.1.6(react@19.2.5): + styled-jsx@5.1.6(react@19.2.6): dependencies: client-only: 0.0.1 - react: 19.2.5 + react: 19.2.6 stylus-lookup@6.1.2: dependencies: @@ -9746,9 +9752,9 @@ snapshots: dependencies: punycode: 2.3.1 - use-sync-external-store@1.6.0(react@19.2.5): + use-sync-external-store@1.6.0(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 util-deprecate@1.0.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a41e4468..15e04d56 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -11,6 +11,8 @@ catalog: "@vitejs/plugin-react": ^5.2.0 oxfmt: ^0.47.0 oxlint: ^1.64.0 + react: ^19.2.6 + react-dom: ^19.2.6 tailwindcss: ^4.2.4 tsdown: ^0.21.7 typescript: ^5