From 31207b551e19a2181bef75432dec0a0cd656b41d Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Mon, 2 May 2022 08:58:31 -0700 Subject: [PATCH 1/2] feat: supporting react 18 --- .github/workflows/ci.yml | 18 +++++++----------- package-lock.json | 4 ++-- package.json | 4 ++-- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1465839..1474a47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,32 +7,28 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: - - 14 - - 16 - - 18 - react: [16, 17] + node: [14, 16, 18] + react: [16, 17, 18] - name: build (${{ matrix.node-version }} w/ React ${{ matrix.react }} + name: build (${{ matrix.node }} w/ React ${{ matrix.react }} steps: - uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js ${{ matrix.node }} uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ matrix.node }} # Node 14 ships with npm@6 which doesn't install peerDeps by default. - name: Install npm@7 - if: matrix.node-version == '14' + if: matrix.node == '14' run: npm install -g npm@7 - name: Install deps run: npm ci - - name: Install React 16 - if: matrix.react == '16' + - name: Install React ${{ matrix.react }} run: npm i react@${{ matrix.react }} react-dom@${{ matrix.react }} - name: Run tests diff --git a/package-lock.json b/package-lock.json index f6a2fb3..ed6f96c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,8 +37,8 @@ "node": ">=14" }, "peerDependencies": { - "react": "16.x || 17.x", - "react-dom": "16.x || 17.x" + "react": "16.x || 17.x || 18.x", + "react-dom": "16.x || 17.x || 18.x" } }, "node_modules/@babel/code-frame": { diff --git a/package.json b/package.json index 023d084..dc2d258 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,8 @@ "prop-types": "^15.8.1" }, "peerDependencies": { - "react": "16.x || 17.x", - "react-dom": "16.x || 17.x" + "react": "16.x || 17.x || 18.x", + "react-dom": "16.x || 17.x || 18.x" }, "devDependencies": { "@babel/preset-env": "^7.16.11", From c20556e61de2ed1b5128879e6e678f3cd985d1ae Mon Sep 17 00:00:00 2001 From: Jon Ursenbach Date: Mon, 2 May 2022 09:02:03 -0700 Subject: [PATCH 2/2] ci: install testing-library/react for react 18 --- .github/workflows/ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1474a47..70e9292 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,5 +31,11 @@ jobs: - name: Install React ${{ matrix.react }} run: npm i react@${{ matrix.react }} react-dom@${{ matrix.react }} + # `@testing-library/react@13` dropped support for React 16 and 17 so to ensure that we run + # fine under React 18 we should upgrade it if we're testing React 18. + - name: Install testing-library react for React 18 + if: matrix.react == '18' + run: npm i @testing-library/react@13 + - name: Run tests run: npm test