fix: Remove hardcoded npm registry url #2520
Merged
blakef merged 3 commits intoreact-native-community:mainfrom Feb 4, 2025
Merged
fix: Remove hardcoded npm registry url #2520blakef merged 3 commits intoreact-native-community:mainfrom
blakef merged 3 commits intoreact-native-community:mainfrom
Conversation
packages/cli/src/tools/npm.ts
Outdated
| reactNativeVersion: string, | ||
| ): Promise<TemplateVersion | undefined> { | ||
| const json = await fetch(TEMPLATE_VERSIONS_URL).then( | ||
| const json = await fetch(getNpmRegistryUrl() + '@react-native-community/template').then( |
Collaborator
There was a problem hiding this comment.
I'd prefer leveraging here new URL() to make sure URL is always in a correct format, e.g. when getNpmRegistryUrl()'d return value without / at the end, previous would've fail.
Suggested change
| const json = await fetch(getNpmRegistryUrl() + '@react-native-community/template').then( | |
| const json = await fetch(new URL('@react-native-community/template', getNpmRegistryUrl())).then( |
szymonrybczak
approved these changes
Oct 7, 2024
Collaborator
szymonrybczak
left a comment
There was a problem hiding this comment.
Makes a lot of sense, thanks! 👍
Collaborator
|
cc @blakef |
blakef
requested changes
Oct 7, 2024
Contributor
blakef
left a comment
There was a problem hiding this comment.
This is a really nice change. Couple of small things before you land it:
- update the URL handling to use
URLas @szymonrybczak suggested - fix the formatting
|
There hasn't been any activity on this pull request in the past 3 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 7 days. |
blakef
approved these changes
Feb 4, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
fixes: #2519
Official npm registry url is hardcoded, the "cli" can't run successfully in a closed environment.
Following error is displayed when running
npx @react-native-community/cli@latest init AwesomeProject --verbose.My solution is using
getNpmRegistryUrl()to get real npm registry url in user's local environment, then it can avoid using official npm registry directly.Test Plan:
Build and run
node /path/to/react-native-cli/packages/cli/build/bin.js init AwesomeProjectChecklist