From f015dd75277fd1c9807cdc957ac0c7bb989714a2 Mon Sep 17 00:00:00 2001 From: Phillip Barta Date: Tue, 28 Jan 2025 12:03:05 +0100 Subject: [PATCH] cleanup(react-native): use native fetch for isPackagerRunning check and remove `node-fetch` dependency (#29568) Removes the `node-fetch` dependency and uses the native fetch global for the `isPackagerRunning()` check ## Current Behavior - Dependency `node-fetch` is used. ## Expected Behavior - Removed the `node-fetch` dependency. - Used the native `fetch` global. --------- Co-authored-by: Colum Ferry --- .eslintrc.json | 16 +++++++++++++++- package.json | 1 - packages/expo/package.json | 1 - .../executors/serve/lib/is-packager-running.ts | 2 -- packages/react-native/package.json | 1 - .../executors/start/lib/is-packager-running.ts | 2 -- pnpm-lock.yaml | 7 ++----- 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 255bb572a5..0d868553f7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -9,7 +9,21 @@ "extends": ["plugin:storybook/recommended"], "rules": { "@typescript-eslint/explicit-module-boundary-types": "off", - "no-restricted-imports": ["error", "create-nx-workspace"], + "no-restricted-imports": [ + "error", + { + "paths": [ + { + "name": "create-nx-workspace", + "message": "Please import utils from nx or @nx/devkit instead." + }, + { + "name": "node-fetch", + "message": "Please default to native fetch instead of 'node-fetch'." + } + ] + } + ], "@typescript-eslint/no-restricted-imports": [ "error", { diff --git a/package.json b/package.json index 74a7b47efa..4b35371f9f 100644 --- a/package.json +++ b/package.json @@ -247,7 +247,6 @@ "minimatch": "9.0.3", "next-sitemap": "^3.1.10", "ng-packagr": "~19.1.0", - "node-fetch": "^2.6.7", "npm-package-arg": "11.0.1", "nuxt": "^3.10.0", "nx": "20.4.0-beta.2", diff --git a/packages/expo/package.json b/packages/expo/package.json index f25c80bd9f..dd46d887cb 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -38,7 +38,6 @@ "enhanced-resolve": "^5.8.3", "metro-config": "~0.80.4", "metro-resolver": "~0.80.4", - "node-fetch": "^2.6.7", "picocolors": "^1.1.0", "tsconfig-paths": "^4.1.2", "tslib": "^2.3.0" diff --git a/packages/expo/src/executors/serve/lib/is-packager-running.ts b/packages/expo/src/executors/serve/lib/is-packager-running.ts index 4ea543fb7a..0feb6690aa 100644 --- a/packages/expo/src/executors/serve/lib/is-packager-running.ts +++ b/packages/expo/src/executors/serve/lib/is-packager-running.ts @@ -1,5 +1,3 @@ -import fetch from 'node-fetch'; - export async function isPackagerRunning( packagerPort: number ): Promise<'running' | 'not_running' | 'unrecognized'> { diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 829a027d49..9621df08bb 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -32,7 +32,6 @@ "ignore": "^5.0.4", "metro-config": "~0.80.4", "metro-resolver": "~0.80.4", - "node-fetch": "^2.6.7", "picocolors": "^1.1.0", "tsconfig-paths": "^4.1.2", "tslib": "^2.3.0", diff --git a/packages/react-native/src/executors/start/lib/is-packager-running.ts b/packages/react-native/src/executors/start/lib/is-packager-running.ts index 4ea543fb7a..0feb6690aa 100644 --- a/packages/react-native/src/executors/start/lib/is-packager-running.ts +++ b/packages/react-native/src/executors/start/lib/is-packager-running.ts @@ -1,5 +1,3 @@ -import fetch from 'node-fetch'; - export async function isPackagerRunning( packagerPort: number ): Promise<'running' | 'not_running' | 'unrecognized'> { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db8c07c73f..f4590f1a18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -817,9 +817,6 @@ importers: ng-packagr: specifier: ~19.1.0 version: 19.1.0(@angular/compiler-cli@19.1.1(@angular/compiler@19.1.1(@angular/core@19.1.1(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.7.3))(tailwindcss@3.4.4(ts-node@10.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@types/node@20.16.10)(typescript@5.7.3)))(tslib@2.7.0)(typescript@5.7.3) - node-fetch: - specifier: ^2.6.7 - version: 2.7.0(encoding@0.1.13) npm-package-arg: specifier: 11.0.1 version: 11.0.1 @@ -22525,9 +22522,9 @@ snapshots: '@nx/module-federation@20.4.0-beta.2(@babel/traverse@7.25.9)(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/helpers@0.5.11)(@types/node@20.16.10)(bufferutil@4.0.7)(esbuild@0.19.5)(next@14.2.16(@babel/core@7.25.2)(@playwright/test@1.47.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.55.0))(nx@20.4.0-beta.2(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(verdaccio@5.32.2(encoding@0.1.13)(typanion@3.14.0))(webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.88.0))': dependencies: - '@module-federation/enhanced': 0.8.8(@rspack/core@1.1.6(@swc/helpers@0.5.11))(bufferutil@4.0.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.88.0(@swc/core@1.5.7(@swc/helpers@0.5.11))(esbuild@0.19.5)(webpack-cli@5.1.4)) + '@module-federation/enhanced': 0.8.9(@rspack/core@1.1.6(@swc/helpers@0.5.11))(bufferutil@4.0.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.88.0(@swc/core@1.5.7(@swc/helpers@0.5.11))(esbuild@0.19.5)(webpack-cli@5.1.4)) '@module-federation/node': 2.6.22(@rspack/core@1.1.6(@swc/helpers@0.5.11))(bufferutil@4.0.7)(next@14.2.16(@babel/core@7.25.2)(@playwright/test@1.47.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.55.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.88.0(@swc/core@1.5.7(@swc/helpers@0.5.11))(esbuild@0.19.5)(webpack-cli@5.1.4)) - '@module-federation/sdk': 0.8.8 + '@module-federation/sdk': 0.8.9 '@nx/devkit': 20.4.0-beta.2(nx@20.4.0-beta.2(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11))) '@nx/js': 20.4.0-beta.2(@babel/traverse@7.25.9)(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11))(@types/node@20.16.10)(nx@20.4.0-beta.2(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11)))(typescript@5.7.3)(verdaccio@5.32.2(encoding@0.1.13)(typanion@3.14.0)) '@nx/web': 20.4.0-beta.2(@babel/traverse@7.25.9)(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11))(@types/node@20.16.10)(nx@20.4.0-beta.2(@swc-node/register@1.9.1(@swc/core@1.5.7(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.7.3))(@swc/core@1.5.7(@swc/helpers@0.5.11)))(typescript@5.7.3)(verdaccio@5.32.2(encoding@0.1.13)(typanion@3.14.0))