Skip to content

Commit 137ce72

Browse files
fix: replace JSX.Element with React types for React 19 compatibility (#732)
* fix: replace JSX.Element with React.ReactElement for React 19 compat JSX.Element was removed from the global JSX namespace in React 19 types. Components returning JSX.Element are no longer assignable to the updated ReactNode return type, causing type errors for users on React 19. Fixes #637 * Update src/storage.tsx Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Update src/storage.tsx Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * docs: regenerate API reference after React 19 type fixes * ci: trigger checks * docs: regenerate API reference without skipErrorChecking flag * ci: add React 18/19 type-check matrix job --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent 38c8ab7 commit 137ce72

17 files changed

Lines changed: 49 additions & 28 deletions

.github/workflows/test.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,27 @@ jobs:
7979
./reactfire-${{ github.run_id }}/unpack.sh
8080
- name: Run tests
8181
run: npm run test
82+
type-check:
83+
runs-on: ubuntu-latest
84+
strategy:
85+
matrix:
86+
react: ["18", "19"]
87+
fail-fast: false
88+
name: Type check (React ${{ matrix.react }})
89+
steps:
90+
- name: Checkout
91+
uses: actions/checkout@v4
92+
- name: Setup node
93+
uses: actions/setup-node@v4
94+
with:
95+
node-version: '24'
96+
cache: 'npm'
97+
- name: Install deps
98+
run: npm ci
99+
- name: Install React ${{ matrix.react }} types
100+
run: npm install --no-save react@${{ matrix.react }} react-dom@${{ matrix.react }} @types/react@${{ matrix.react }} @types/react-dom@${{ matrix.react }}
101+
- name: Type check
102+
run: npx tsc --noEmit
82103
publish:
83104
runs-on: ubuntu-latest
84105
name: Publish (NPM)

docs/reference/functions/AuthCheck.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/functions/SuspenseWithPerf.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/type-aliases/StorageImageProps.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/variables/AnalyticsProvider.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/variables/AppCheckProvider.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/variables/AuthProvider.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/variables/DatabaseProvider.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/variables/FirestoreProvider.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/variables/FunctionsProvider.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)