From aab6c18e09e90453a893772753a617ec33597581 Mon Sep 17 00:00:00 2001 From: Brent Vatne Date: Mon, 29 Apr 2024 14:11:04 -0700 Subject: [PATCH] [router] Switch from react-helmet-async to react-native-helmet-async (#28532) Fix https://github.com/expo/expo/issues/28471 @byCedric published react-native-helmet-async, a fork of react-helmet-async, with no peer dependency on react-dom. --- packages/expo-router/CHANGELOG.md | 1 + packages/expo-router/build/head/ExpoHead.d.ts | 2 +- .../expo-router/build/head/ExpoHead.d.ts.map | 2 +- packages/expo-router/build/head/ExpoHead.js | 6 ++-- .../expo-router/build/head/ExpoHead.js.map | 2 +- packages/expo-router/package.json | 2 +- packages/expo-router/src/head/ExpoHead.tsx | 2 +- yarn.lock | 28 +++++++++---------- 8 files changed, 22 insertions(+), 23 deletions(-) diff --git a/packages/expo-router/CHANGELOG.md b/packages/expo-router/CHANGELOG.md index 223666023c588..7db962b5ccada 100644 --- a/packages/expo-router/CHANGELOG.md +++ b/packages/expo-router/CHANGELOG.md @@ -10,6 +10,7 @@ - Fix `useLocalSearchParams` not passing all parameters to nested navigators. ([#28468](https://github.com/expo/expo/pull/28468) by [@marklawlor](https://github.com/marklawlor)) - Fix incorrect require.context regex for Android ([#28490](https://github.com/expo/expo/pull/28490) by [@marklawlor](https://github.com/marklawlor)) +- Switch to react-native-helmet-async (fork of react-helmet-async) in order remove react-dom peer dependency. ([#28532](https://github.com/expo/expo/pull/28532) by [@brentvatne](https://github.com/brentvatne)) ### 💡 Others diff --git a/packages/expo-router/build/head/ExpoHead.d.ts b/packages/expo-router/build/head/ExpoHead.d.ts index ad0df04303aca..a271fa44eda61 100644 --- a/packages/expo-router/build/head/ExpoHead.d.ts +++ b/packages/expo-router/build/head/ExpoHead.d.ts @@ -1,5 +1,5 @@ import React from 'react'; -import { HelmetProvider } from 'react-helmet-async'; +import { HelmetProvider } from 'react-native-helmet-async'; export declare const Head: React.FC<{ children?: React.ReactNode; }> & { diff --git a/packages/expo-router/build/head/ExpoHead.d.ts.map b/packages/expo-router/build/head/ExpoHead.d.ts.map index bbf6c1a75a603..526db7493a348 100644 --- a/packages/expo-router/build/head/ExpoHead.d.ts.map +++ b/packages/expo-router/build/head/ExpoHead.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ExpoHead.d.ts","sourceRoot":"","sources":["../../src/head/ExpoHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAU,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE5D,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,GAAG;IAC5D,QAAQ,EAAE,OAAO,cAAc,CAAC;CAGjC,CAAC"} \ No newline at end of file +{"version":3,"file":"ExpoHead.d.ts","sourceRoot":"","sources":["../../src/head/ExpoHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAU,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,GAAG;IAC5D,QAAQ,EAAE,OAAO,cAAc,CAAC;CAGjC,CAAC"} \ No newline at end of file diff --git a/packages/expo-router/build/head/ExpoHead.js b/packages/expo-router/build/head/ExpoHead.js index 8ffae025afee0..8f889ac8b92f0 100644 --- a/packages/expo-router/build/head/ExpoHead.js +++ b/packages/expo-router/build/head/ExpoHead.js @@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.Head = void 0; const react_1 = __importDefault(require("react")); -const react_helmet_async_1 = require("react-helmet-async"); +const react_native_helmet_async_1 = require("react-native-helmet-async"); const Head = ({ children }) => { - return {children}; + return {children}; }; exports.Head = Head; -exports.Head.Provider = react_helmet_async_1.HelmetProvider; +exports.Head.Provider = react_native_helmet_async_1.HelmetProvider; //# sourceMappingURL=ExpoHead.js.map \ No newline at end of file diff --git a/packages/expo-router/build/head/ExpoHead.js.map b/packages/expo-router/build/head/ExpoHead.js.map index 07bba492ed466..e75b9eb639120 100644 --- a/packages/expo-router/build/head/ExpoHead.js.map +++ b/packages/expo-router/build/head/ExpoHead.js.map @@ -1 +1 @@ -{"version":3,"file":"ExpoHead.js","sourceRoot":"","sources":["../../src/head/ExpoHead.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,2DAA4D;AAErD,MAAM,IAAI,GAEb,CAAC,EAAE,QAAQ,EAAsB,EAAE,EAAE;IACvC,OAAO,CAAC,2BAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,2BAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAJW,QAAA,IAAI,QAIf;AAEF,YAAI,CAAC,QAAQ,GAAG,mCAAc,CAAC","sourcesContent":["import React from 'react';\nimport { Helmet, HelmetProvider } from 'react-helmet-async';\n\nexport const Head: React.FC<{ children?: React.ReactNode }> & {\n Provider: typeof HelmetProvider;\n} = ({ children }: { children?: any }) => {\n return {children};\n};\n\nHead.Provider = HelmetProvider;\n"]} \ No newline at end of file +{"version":3,"file":"ExpoHead.js","sourceRoot":"","sources":["../../src/head/ExpoHead.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yEAAmE;AAE5D,MAAM,IAAI,GAEb,CAAC,EAAE,QAAQ,EAAsB,EAAE,EAAE;IACvC,OAAO,CAAC,kCAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,kCAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAJW,QAAA,IAAI,QAIf;AAEF,YAAI,CAAC,QAAQ,GAAG,0CAAc,CAAC","sourcesContent":["import React from 'react';\nimport { Helmet, HelmetProvider } from 'react-native-helmet-async';\n\nexport const Head: React.FC<{ children?: React.ReactNode }> & {\n Provider: typeof HelmetProvider;\n} = ({ children }: { children?: any }) => {\n return {children};\n};\n\nHead.Provider = HelmetProvider;\n"]} \ No newline at end of file diff --git a/packages/expo-router/package.json b/packages/expo-router/package.json index d18ef5733c43c..208d1455a48ba 100644 --- a/packages/expo-router/package.json +++ b/packages/expo-router/package.json @@ -99,7 +99,7 @@ "@react-navigation/native": "~6.1.6", "@react-navigation/native-stack": "~6.9.12", "expo-splash-screen": "0.27.2", - "react-helmet-async": "^1.3.0", + "react-native-helmet-async": "2.0.4", "schema-utils": "^4.0.1" } } diff --git a/packages/expo-router/src/head/ExpoHead.tsx b/packages/expo-router/src/head/ExpoHead.tsx index 7d67d6d44fefa..5e7d86817fca3 100644 --- a/packages/expo-router/src/head/ExpoHead.tsx +++ b/packages/expo-router/src/head/ExpoHead.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Helmet, HelmetProvider } from 'react-helmet-async'; +import { Helmet, HelmetProvider } from 'react-native-helmet-async'; export const Head: React.FC<{ children?: React.ReactNode }> & { Provider: typeof HelmetProvider; diff --git a/yarn.lock b/yarn.lock index 7795089e53d65..a8c3e1448e8b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16723,27 +16723,16 @@ react-fast-compare@^2.0.0: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-fast-compare@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.1.tgz#53933d9e14f364281d6cba24bfed7a4afb808b5f" - integrity sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg== +react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== react-freeze@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.0.tgz#b21c65fe1783743007c8c9a2952b1c8879a77354" integrity sha512-yQaiOqDmoKqks56LN9MTgY06O0qQHgV4FUrikH357DydArSZHQhl0BJFqGKIZoTqi8JizF9Dxhuk1FIZD6qCaw== -react-helmet-async@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz#7bd5bf8c5c69ea9f02f6083f14ce33ef545c222e" - integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== - dependencies: - "@babel/runtime" "^7.12.5" - invariant "^2.2.4" - prop-types "^15.7.2" - react-fast-compare "^3.2.0" - shallowequal "^1.1.0" - "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" @@ -16804,6 +16793,15 @@ react-native-gesture-handler@~2.16.0: lodash "^4.17.21" prop-types "^15.7.2" +react-native-helmet-async@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-native-helmet-async/-/react-native-helmet-async-2.0.4.tgz#93f53a1ff22d6898039688a541653a2d6b6866bb" + integrity sha512-m3CkXWss6B1dd6mCMleLpzDCJJGGaHOLQsUzZv8kAASJmMfmVT4d2fx375iXKTRWT25ThBfae3dECuX5cq/8hg== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + react-native-infinite-scroll-view@^0.4.5: version "0.4.5" resolved "https://registry.yarnpkg.com/react-native-infinite-scroll-view/-/react-native-infinite-scroll-view-0.4.5.tgz#5200590519716ee0694f12b81d2f091b6df4571f"