NPM deprecated errors

Hi there,

I am starting the JavaScript Backend BeatMix project: https://www.codecademy.com/paths/create-a-back-end-app-with-javascript/tracks/bapi-javascript-arrays-loops-and-iterators/modules/project-beat-mix/informationals/bapi-p2-beat-mix

And when I run NPM install I get deprecated errors for most of the packages.

$ npm install
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

> nodemon@1.19.4 postinstall C:\CAProjects\BeatMix\node_modules\nodemon
> node bin/postinstall || exit 0

I managed to install chokidir manually by running NPM install chokidir, and I believe it installed version 3.5.1

$ npm install chokidar
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\nodemon\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN build-apis-beat-mix@1.0.0 No repository field.

+ chokidar@3.5.1
added 19 packages from 18 contributors, removed 3 packages, updated 10 packages, moved 5 packages and audited 315 packages in 12.903s

1 package is looking for funding
  run `npm fund` for details

found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

I was also able to install makdirp manually at version 1.0.4, however, it looks like resolve-url is still on version 0.2.1 which it says is deprecated, and I was unable to install fsevents at all. I am going to continue with the project, because this won’t stop be from writing the javascript methods, but in the meant time, for one, staff, please update this project so that it does not rely on deprecated dependencies, and two, how do I fix fsevents and resolve-url?

thanks.

In a production environment, sure you’d probably want to keep on top of outdated or deprecated dependencies because not resolving those issues would potentially result in risks (ranging from the minor risk of functionality issues to the more serious security problems) to your environment or application.

However, in this context - where you are completing learning material - the use of deprecated libraries is not as large a problem. The boilerplate code you’re provided with to setup the project is a snapshot in time, and whilst some of the dependencies may have been updated in the meantime we ought to be able to safely say that the overall project works OK with the specified versions.

A periodic review of the material would be great, sure; but watching every project on the site for every change to dependencies, then going through the process of making sure those updates don’t break the overall project, is more work than perhaps you realise…

Yes, because you are running a Windows machine (from the error output) and fsevents is an optional dependency - it’s a module for providing access to Mac OS FSEvents within Node. Not using a Mac, you don’t need this one.

1 Like