0

I am new to React Native. After running "npx create-expo-app@latest", npm is throwing multiple package related warnings.

npm warn deprecated [email protected]: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm warn deprecated [email protected]: Use your platform's native atob() and btoa() methods instead
npm warn deprecated [email protected]: Use your platform's native DOMException instead
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported

Is it okay to proceed with the current installation or should I wait until all of the dependency issues are resolved by the RN team?

1 Answer 1

0

TL;DR It's fine. Don't really worry about it.

Something major to understand about this is that all the packages you're using in your project, react-native, node, expo, etc. are all built on top of other packages. In most situations, those packages too depend on some other package.

Try running

npm ls --all

in your repository, you'll see what I'm talking about. So sometimes, the underlying packages are out-of-date, and the package making use of it just hasn't updated it to the latest version, or sometimes, the package maintainers deprecate the entire project, in that case, people need to find a new package that does something similar or write their own, or they could just continue using the older one (for the time being).

Generally, when there's a major package release, they make sure that their dependencies are not deprecated, but while they're just doing regular maintenance, it can get difficult to refactor large parts of the codebase for a newer package without breaking some stuff.

So to answer your question, yes it is fine and usually pretty common to see the npm deprecated package warnings.

Sign up to request clarification or add additional context in comments.

2 Comments

Tomorrow if they fix the dependency errors, is there a possibility of breaking changes that will require me to re-write my entire code?
It can never be that you have to re-write your entire code. But with dependency errors, that's generally what happens, which is why LTS versions exist. Ideally, when they actually do a new release with the dependency errors fixed, it should work, but they may have released new features/changed certain props on some component or something similar, which might result in breaking changes. However, you're not pushing buggy code to users, you should make sure that it's all running properly on your end before doing that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.