Skip to content

Get rid of "^" dependency HELL  #5554

@montella1507

Description

@montella1507

Hello,

can you please stop use that JavaScript NPM hell of Carrot versioning?

I think the users of CLI / Angular spent 30% of their time with fixing new BUGS and breaking changes in new "submodules" - their uncompatibility.. You can USE "not latest" CLI and what worked DAY 1 doesnt work in DAY 2 after NPM REINSTALL, because of changes @webpack/devtools, or another HIDDEN dependency in a dependent sub-module of another dependent sub-module,...

I really didnt get that purpose of not-concrete versioning of submodules in JavaScript world,.. My experience is that 99% of JS developers have not good manner of semantic versioning so there is a breaking change and tons of bugs in every new Patch/minor version...

I think it should be changed everywhere to CONCRETE version, why to have NOT-concrete version in dependencies? It only leads to changed behavior EVERY day,.. I think it is common way to use some kind of Continuous Integration server with Clean Install Every build, so it is little bit unproductive to have broken solution with every new version of any sub-dependency...

I think it should be STABLE = be able to build solution ANYTIME, any COMMIT in a project, because you have concrete dependencies in your package.json. Current behavior is, you are able to BUILD a project only several days, then you have to spend several hours to fix dependencies and usually - you have to upgrade your project everytime to the LATEST CLI, because of uncompatibility in @ngtools... as "^" dependency in compiler-cli and so on...

Please discuss about it, we all want to make the usage of CLI / Angular better and this benevolent versioning is the bad way in JS world, it only leads to unstable behavior with every build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions