madec-project / ezvis

A dashboard to visualize a synthesis on a structured corpus, using several charts (pies, histograms, ...)
https://ezvis.readthedocs.org/
17 stars 5 forks source link

shrinkwrap does not take optionalDependencies into account #85

Open parmentf opened 9 years ago

parmentf commented 9 years ago

fsevents 0.3.8 is an optional dependency of chokidar 0.12.6, which is a dependency of castor-load 4.4.0, which is a dependency of castor-core 2.6.4.

For stability reasons, we fixed dependencies using npm shrinkwrap in version 6.8.1.

Unfortunately, shrinkwrap does not amke any difference between optionalDependencies and raw dependencies. fsevents is necessary to chokidar on MacOS (darwin), but cannot compile on any other OS.

When fsevents was considered by npm as an optionalDependency, there was no problem, the install went on. But now that fsevents is in npm-shrinkwrap.json like any other normal dependency, the install stops on it.

This is known by npm team, and on its roadmap, but this will not be addressed until the next major version of npm (which means 6 to 12 months, see issue 2679.

Removing

    "fsevents": {
      "version": "0.3.8",
      "from": "fsevents@>=0.3.1 <0.4.0",
      "resolved": "http://registry.npmjs.org/fsevents/-/fsevents-0.3.8.tgz"
    },

from npm-shrinkwrap.json file allow ezvis to be properly installed on Linux, and surely Windows, but would break the Mac install!

parmentf commented 9 years ago

Note that installing ezvis 6.8.1-6.8.2 with npm@3.0.0 works on Linux, without removing fsevents from npm-shrinkwrap.json.