Skip to content
This repository was archived by the owner on Aug 11, 2022. It is now read-only.
This repository was archived by the owner on Aug 11, 2022. It is now read-only.

Breaking changes with *npm*@3.5.0? #10612

Closed

Description

@Martii

These warning messages appear new since the last time a full download of all dependencies from the npmjs.com registry was done:

npm WARN In dom-serializer@0.1.0 replacing bundled version of domelementtype with domelementtype@1.1.3
npm WARN In dom-serializer@0.1.0 replacing bundled version of entities with entities@1.1.1
npm WARN In method-override@2.3.5 replacing bundled version of vary with vary@1.0.1
npm WARN In morgan@1.6.1 replacing bundled version of depd with depd@1.0.1
npm WARN In send@0.13.0 replacing bundled version of depd with depd@1.0.1
npm WARN In passport-reddit@0.2.4 replacing bundled version of pkginfo with pkginfo@0.3.1
npm WARN In passport-google-oauth@0.2.0 replacing bundled version of pkginfo with pkginfo@0.3.1
npm WARN In passport-persona@0.1.7 replacing bundled version of passport with passport@0.1.18
npm WARN In passport-openid@0.3.1 replacing bundled version of passport with passport@0.1.18
npm WARN In express-session@1.12.1 replacing bundled version of cookie with cookie@0.2.3
npm WARN In bl@1.0.0 replacing bundled version of readable-stream with readable-stream@2.0.4
npm WARN In passport-tumblr@0.1.2 replacing bundled version of passport-oauth with passport-oauth@0.1.15
npm WARN In passport-tumblr@0.1.2 replacing bundled version of passport with passport@0.1.18
npm WARN In express@4.13.3 replacing bundled version of cookie with cookie@0.1.3
npm WARN In express@4.13.3 replacing bundled version of vary with vary@1.0.1
npm WARN In express@4.13.3 replacing bundled version of accepts with accepts@1.2.13
npm WARN In express@4.13.3 replacing bundled version of depd with depd@1.0.1
npm WARN In express@4.13.3 replacing bundled version of qs with qs@4.0.0
npm WARN In express@4.13.3 replacing bundled version of negotiator with negotiator@0.5.3
npm WARN In request@2.67.0 replacing bundled version of qs with qs@5.2.0
npm WARN In sshpk@1.7.0 replacing bundled version of assert-plus with assert-plus@0.2.0
npm WARN In uglify-js@2.6.1 replacing bundled version of async with async@0.2.10
npm WARN In htmlparser2@3.8.3 replacing bundled version of readable-stream with readable-stream@1.1.13
npm WARN In mongoose@4.2.8 replacing bundled version of async with async@0.9.0
npm WARN In less@2.4.0 replacing bundled version of source-map with source-map@0.2.0

Has this always been the case? If so please cite... if not won't this cause massive breakage in all affected dependencies?

TIA.

Activity

  1. trusktr commented on Dec 1, 2015

    @trusktr

    What do these warnings mean?

  2. othiym23 commented on Dec 1, 2015

    @othiym23
    Contributor

    Most of them are spurious warnings in npm@3.5.0, which is something fixed in npm@3.5.1, currently the next release. This isn't a breaking change, and in fact is addressing a long-standing bug in npm: previously, it was possible for the bundleDependencies included in a package tarball to be invalid with respect to the semver ranges declared in that package's package.json. The change to which this warning is attached is that npm will now fix those invalid dependencies.

    Unfortunately, due to a misplaced conditional and message, it prints out far more commonly than it should. If you want to see the actual number of times this warning is displayed, run npm -g install npm@next and try your install again. You should see many fewer of these warnings, or none at all.

  3. Martii commented on Dec 1, 2015

    @Martii
    Author

    @othiym23

    Most of them are spurious warnings in npm@3.5.0, which is something fixed in npm@3.5.1,

    That's great news and I greatly appreciate the citations... however it still appears that npm@3.5.1 is downgrading a dependency or two... for example the one below has a sub-tree of:

    (clipped for brevity)

    ├─┬ less-middleware@2.0.1 
    │ ├─┬ less@2.4.0 
    │ │ ├─┬ errno@0.1.4 
    │ │ │ └── prr@0.0.0 
    │ │ ├── graceful-fs@3.0.8 
    │ │ ├── image-size@0.3.5 
    │ │ ├─┬ promise@6.1.0 
    │ │ │ └── asap@1.0.0 
    │ │ └─┬ source-map@0.2.0 
    │ │   └── amdefine@1.0.0 
    │ ├─┬ mkdirp@0.5.1 
    │ │ └── minimist@0.0.8 
    │ └─┬ node.extend@1.1.5 
    │   └── is@3.1.0 

    ... as reported at less/less.js#2739 . If I'm not mistaken less.js-middleware is asking for 2.5.0 and npm is giving it 2.4.0 ... the same goes with downgrading source-map in less to an older release. These are also not on bundledDependencies but on dependencies and optionalDependencies respectively.

    Thank you for taking the time to see if this is a bug which I believe that it still may be... and at the very least extremely confusing to the node community by displaying source-map@0.2.0 and definitely installing less@2.4.0.

  4. Martii commented on Dec 1, 2015

    @Martii
    Author

    Here's a spotlight screen cap of the manual confirmation that npm@3.5.1 did in fact download less@2.4.0 :

    npm npm 10612

    ... so shouldn't this be still open?

    Why wouldn't npm be honoring semver with the requested less@2.5.0 (tilde included)?


    ~1.2.3 := >=1.2.3 <1.(2+1).0 := >=1.2.3 <1.3.0

    ... translated to that middlewares request...

    ~2.5.0 := >=2.5.0 <2.(5+1).0 := >=2.5.0 <2.6.0

    ... in which 2.4.0 doesn't fall within this range...

    ... and is the logic of semver as quoted from npmjs.com and semver directly as:

    Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. It MUST be incremented if any public API functionality is marked as deprecated. It MAY be incremented if substantial new functionality or improvements are introduced within the private code. It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.

    Did we all miss something with the decrements that npm@3.5.0 and npm@3.5.1 appears to be doing now?

  5. ChALkeR commented on Dec 1, 2015

    @ChALkeR
    Contributor

    If I'm not mistaken less.js-middleware is asking for 2.5.0 and npm is giving it 2.4.0

    You are mistaken. You are installing less-middleware@2.0.1 but are referencing to the package.json in the master branch. The correct file would be: https://github.com/emberfeather/less.js-middleware/blob/2.0.1/package.json#L12 (note the 2.0.1 tag).

    There were no less-middleware releases with the bumped dependency.
    This has nothing to do with npm, everything is correct from the npm side.

  6. Martii commented on Dec 1, 2015

    @Martii
    Author

    You are installing less-middleware@2.0.1 but are referencing to the package.json in the master branch.

    I usually reference the latest commit... it appears that emberfeather/less.js-middleware#137 is open. I appreciate the additional check... would be nice if everyone did dep updates a little more often... and stated "working on next version". (if they are using that style)

    Thanks and officially closed from our end for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions