diff --git a/.changeset/selfish-cats-mix.md b/.changeset/selfish-cats-mix.md new file mode 100644 index 0000000000..8471a2e304 --- /dev/null +++ b/.changeset/selfish-cats-mix.md @@ -0,0 +1,32 @@ +--- +'@shopify/react-app-bridge-universal-provider': minor +'@shopify/react-async': minor +'@shopify/react-bugsnag': minor +'@shopify/react-compose': minor +'@shopify/react-cookie': minor +'@shopify/react-csrf': minor +'@shopify/react-csrf-universal-provider': minor +'@shopify/react-effect': minor +'@shopify/react-form': minor +'@shopify/react-form-state': minor +'@shopify/react-google-analytics': minor +'@shopify/react-graphql': minor +'@shopify/react-graphql-universal-provider': minor +'@shopify/react-hooks': minor +'@shopify/react-html': minor +'@shopify/react-hydrate': minor +'@shopify/react-i18n': minor +'@shopify/react-i18n-universal-provider': minor +'@shopify/react-idle': minor +'@shopify/react-import-remote': minor +'@shopify/react-intersection-observer': minor +'@shopify/react-network': minor +'@shopify/react-performance': minor +'@shopify/react-router': minor +'@shopify/react-shortcuts': minor +'@shopify/react-testing': minor +'@shopify/react-universal-provider': minor +'@shopify/react-web-worker': minor +--- + +Drop support for React 17 diff --git a/.github/workflows/node-ci.yml b/.github/workflows/node-ci.yml index 13399ac150..5332b30d04 100644 --- a/.github/workflows/node-ci.yml +++ b/.github/workflows/node-ci.yml @@ -20,7 +20,7 @@ jobs: # directly from node dist. # https://github.com/actions/setup-node node-version: ['18', '20'] - react-version: ['17', '18'] + react-version: ['18'] timeout-minutes: 15 steps: diff --git a/package.json b/package.json index fc048c59ce..ac91cc33c2 100644 --- a/package.json +++ b/package.json @@ -74,10 +74,6 @@ "puppeteer": "^13.2.0", "react": "^18.1.0", "react-dom": "^18.1.0", - "react-dom17": "npm:react-dom@^17.0.2", - "react-dom18": "npm:react-dom@^18.1.0", - "react17": "npm:react@^17.0.2", - "react18": "npm:react@^18.1.0", "rimraf": "^2.6.2", "rollup": "^2.60.1", "rollup-plugin-node-externals": "^2.2.0", diff --git a/packages/react-app-bridge-universal-provider/package.json b/packages/react-app-bridge-universal-provider/package.json index 6f2a68d5b6..de4743d7fb 100644 --- a/packages/react-app-bridge-universal-provider/package.json +++ b/packages/react-app-bridge-universal-provider/package.json @@ -28,7 +28,7 @@ "@shopify/react-html": "^13.0.8" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/jest-dom-mocks": "^5.0.1" diff --git a/packages/react-async/package.json b/packages/react-async/package.json index 6a3eeab9d4..76f92d2935 100644 --- a/packages/react-async/package.json +++ b/packages/react-async/package.json @@ -40,7 +40,7 @@ "@shopify/useful-types": "^5.1.2" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "files": [ "build/", diff --git a/packages/react-bugsnag/package.json b/packages/react-bugsnag/package.json index 17acc4af5e..9db1183850 100644 --- a/packages/react-bugsnag/package.json +++ b/packages/react-bugsnag/package.json @@ -28,7 +28,7 @@ "@bugsnag/plugin-react": "^7.18.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-testing": "^5.2.0" diff --git a/packages/react-compose/package.json b/packages/react-compose/package.json index ea74b144e6..fb1011157a 100644 --- a/packages/react-compose/package.json +++ b/packages/react-compose/package.json @@ -27,7 +27,7 @@ "hoist-non-react-statics": "^3.0.1" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-testing": "^5.2.0" diff --git a/packages/react-cookie/package.json b/packages/react-cookie/package.json index f95d884cab..1319f8177e 100644 --- a/packages/react-cookie/package.json +++ b/packages/react-cookie/package.json @@ -29,7 +29,7 @@ "cookie": "^0.4.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0", + "react": ">=18.0.0 <19.0.0", "react-dom": ">=16.8.0 <19.0.0" }, "files": [ diff --git a/packages/react-csrf-universal-provider/package.json b/packages/react-csrf-universal-provider/package.json index 8d09c74b2b..e239beaa11 100644 --- a/packages/react-csrf-universal-provider/package.json +++ b/packages/react-csrf-universal-provider/package.json @@ -29,7 +29,7 @@ "@shopify/react-universal-provider": "^3.0.15" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-effect": "^5.0.3" diff --git a/packages/react-csrf/package.json b/packages/react-csrf/package.json index dc2251b149..c18fccb5b1 100644 --- a/packages/react-csrf/package.json +++ b/packages/react-csrf/package.json @@ -24,7 +24,7 @@ "node": ">=18.12.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-testing": "^5.2.0" diff --git a/packages/react-effect/package.json b/packages/react-effect/package.json index afa21cca1d..f9abc1fd2c 100644 --- a/packages/react-effect/package.json +++ b/packages/react-effect/package.json @@ -42,7 +42,7 @@ "server.esnext" ], "peerDependencies": { - "react": ">=16.8.0 <19.0.0", + "react": ">=18.0.0 <19.0.0", "react-dom": ">=16.8.0 <19.0.0" }, "devDependencies": { diff --git a/packages/react-form-state/package.json b/packages/react-form-state/package.json index 161d1fc3a6..232c5a0852 100644 --- a/packages/react-form-state/package.json +++ b/packages/react-form-state/package.json @@ -27,7 +27,7 @@ "fast-deep-equal": "^3.1.3" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-testing": "^5.2.0" diff --git a/packages/react-form/package.json b/packages/react-form/package.json index 8d7d8e2b96..ce6c51eff7 100644 --- a/packages/react-form/package.json +++ b/packages/react-form/package.json @@ -24,7 +24,7 @@ "node": ">=18.12.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "files": [ "build/", diff --git a/packages/react-google-analytics/package.json b/packages/react-google-analytics/package.json index 5cc01296e0..cf9a0c582f 100644 --- a/packages/react-google-analytics/package.json +++ b/packages/react-google-analytics/package.json @@ -27,7 +27,7 @@ "@shopify/react-import-remote": "^4.1.8" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "files": [ "build/", diff --git a/packages/react-graphql-universal-provider/package.json b/packages/react-graphql-universal-provider/package.json index 3f4b0fdad7..d7777521ae 100644 --- a/packages/react-graphql-universal-provider/package.json +++ b/packages/react-graphql-universal-provider/package.json @@ -31,7 +31,7 @@ }, "peerDependencies": { "@apollo/client": ">=3.5.8 || <4.0.0", - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-effect": "^5.0.3" diff --git a/packages/react-graphql/package.json b/packages/react-graphql/package.json index f138d4c6dd..59b9cfdcac 100644 --- a/packages/react-graphql/package.json +++ b/packages/react-graphql/package.json @@ -46,7 +46,7 @@ ], "peerDependencies": { "@apollo/client": ">=3.5.8 || <4.0.0", - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "module": "index.mjs", "esnext": "index.esnext", diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index 15088ce2df..2c7493686f 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -20,7 +20,7 @@ "url": "https://github.com/Shopify/quilt/issues" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "homepage": "https://github.com/Shopify/quilt/blob/main/packages/react-hooks/README.md", "engines": { diff --git a/packages/react-html/package.json b/packages/react-html/package.json index 9fa5df1272..4f272d7d0b 100644 --- a/packages/react-html/package.json +++ b/packages/react-html/package.json @@ -37,7 +37,7 @@ "serialize-javascript": "^3.0.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0", + "react": ">=18.0.0 <19.0.0", "react-dom": ">=16.8.0 <19.0.0" }, "devDependencies": { diff --git a/packages/react-hydrate/package.json b/packages/react-hydrate/package.json index 9238c2bf8e..f3eb7cde68 100644 --- a/packages/react-hydrate/package.json +++ b/packages/react-hydrate/package.json @@ -28,7 +28,7 @@ "@shopify/react-hooks": "^3.1.1" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "files": [ "build/", diff --git a/packages/react-i18n-universal-provider/package.json b/packages/react-i18n-universal-provider/package.json index e6b4993888..5ba96af266 100644 --- a/packages/react-i18n-universal-provider/package.json +++ b/packages/react-i18n-universal-provider/package.json @@ -29,7 +29,7 @@ "@shopify/react-i18n": "^7.10.3" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/react-effect": "^5.0.3" diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json index e5295a9254..65f8b3f948 100644 --- a/packages/react-i18n/package.json +++ b/packages/react-i18n/package.json @@ -64,7 +64,7 @@ }, "sideEffects": false, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "optionalDependencies": { "@babel/template": "^7.0.0", diff --git a/packages/react-idle/package.json b/packages/react-idle/package.json index 662753585a..e781042bca 100644 --- a/packages/react-idle/package.json +++ b/packages/react-idle/package.json @@ -27,7 +27,7 @@ "@shopify/async": "^4.0.4" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/jest-dom-mocks": "^5.0.1", diff --git a/packages/react-import-remote/package.json b/packages/react-import-remote/package.json index fa45b86e7e..96eb9d7a44 100644 --- a/packages/react-import-remote/package.json +++ b/packages/react-import-remote/package.json @@ -29,7 +29,7 @@ "@shopify/react-intersection-observer": "^4.0.4" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "sideEffects": false, "files": [ diff --git a/packages/react-intersection-observer/package.json b/packages/react-intersection-observer/package.json index b266bbbf5a..fb83cf4d74 100644 --- a/packages/react-intersection-observer/package.json +++ b/packages/react-intersection-observer/package.json @@ -32,7 +32,7 @@ "index.esnext" ], "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/jest-dom-mocks": "^5.0.1", diff --git a/packages/react-network/package.json b/packages/react-network/package.json index ffbda96019..b5f6883402 100644 --- a/packages/react-network/package.json +++ b/packages/react-network/package.json @@ -46,7 +46,7 @@ }, "peerDependencies": { "koa": "^2.5.0", - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "files": [ "build/", diff --git a/packages/react-performance/package.json b/packages/react-performance/package.json index db5e6a6abb..16e1e9b46c 100644 --- a/packages/react-performance/package.json +++ b/packages/react-performance/package.json @@ -27,7 +27,7 @@ "@shopify/performance": "^4.2.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/jest-dom-mocks": "^5.0.1", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index f1c99677b2..09d6635501 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": { "react-router-dom": "^6.4.0", - "react": ">=16.8.0 <19.0.0", + "react": ">=18.0.0 <19.0.0", "react-dom": ">=16.8.0 <19.0.0" }, "devDependencies": { diff --git a/packages/react-shortcuts/package.json b/packages/react-shortcuts/package.json index c6b4befa09..02d485d42f 100644 --- a/packages/react-shortcuts/package.json +++ b/packages/react-shortcuts/package.json @@ -23,7 +23,7 @@ "node": ">=18.12.0" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "devDependencies": { "@shopify/jest-dom-mocks": "^5.0.1", diff --git a/packages/react-testing/package.json b/packages/react-testing/package.json index a6adfc7914..2a3c24ec1e 100644 --- a/packages/react-testing/package.json +++ b/packages/react-testing/package.json @@ -48,7 +48,7 @@ "matchers.esnext" ], "peerDependencies": { - "react": ">=16.8.0 <19.0.0", + "react": ">=18.0.0 <19.0.0", "react-dom": ">=16.8.0 <19.0.0" }, "module": "index.mjs", diff --git a/packages/react-universal-provider/package.json b/packages/react-universal-provider/package.json index a5b1a0c508..709efd9fc5 100644 --- a/packages/react-universal-provider/package.json +++ b/packages/react-universal-provider/package.json @@ -28,7 +28,7 @@ "@shopify/react-html": "^13.0.8" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "react": ">=18.0.0 <19.0.0" }, "files": [ "build/", diff --git a/packages/react-web-worker/package.json b/packages/react-web-worker/package.json index a89f02c44c..996dc64754 100644 --- a/packages/react-web-worker/package.json +++ b/packages/react-web-worker/package.json @@ -29,7 +29,7 @@ "@shopify/web-worker": "^6.1.2" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0", + "react": ">=18.0.0 <19.0.0", "react-dom": ">=16.8.0 <19.0.0" }, "files": [