Giter VIP home page Giter VIP logo

Comments (6)

guybedford avatar guybedford commented on August 17, 2024

@speigg we apply the semver range - which is defined as https://github.com/npm/node-semver#caret-ranges-123-025-004.

r71 won't apply to r70 because it isn't a valid semver. Major versions don't count. Also prereleases don't count either.

from registry.

speigg avatar speigg commented on August 17, 2024

Hmm. That doesn't really answer my questions. I understand how semver compatability works, just not what it's role is with overrides. the main thing I'm tying to figure out: if an old override is compatible with a newer version of a library (not semver compatible necesarilly but functionally compatible) does it need to be updated in the registry every time there is a new version of the package?

For example, let's say we have an override for package X version 0.0.1 in the registry. Is this override used in each of the following situations?

jspm install [email protected]
jspm install [email protected]
jspm install [email protected]

The answer (still) isn't clear to me.

from registry.

guybedford avatar guybedford commented on August 17, 2024

Right, so an override at version 0.0.1 will only apply for version 0.0.1. An override at 0.1.5 will apply for all >=0.1.5<0.2.0-. And an override at 1.0.0 will apply for all <2. Prereleases are excluded, although perhaps we should consider allowing them actually.

from registry.

speigg avatar speigg commented on August 17, 2024

Okay thanks for clarifying, but that doesn't really make sense to me.

Assuming that an override for version 0.1.5 would apply for all >=0.1.5<0.2.0

Wouldnt an override for version 0.0.1 apply for all >=0.0.1<0.1.0 ?

Likewise, wouldn't an override for version 1.0.0 apply for all >=1.0.0<1.1.0 ?

I believe the above is what you meant to say. If so, that means overrides are currently tied to the minor version number.

from registry.

guybedford avatar guybedford commented on August 17, 2024

No, the ranges I've given are the ranges defined by semver (https://github.com/npm/node-semver#caret-ranges-123-025-004).

The reason everyone publishes version 1 from day 1 is exactly because of this fact that the ranges are reduced below 1, and everyone gets confused about it. It's a pretty simple rule though - we just need someone to share the actual info clearly.

from registry.

speigg avatar speigg commented on August 17, 2024

Okay, I think I understand now. Thanks for explaining.

from registry.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.