Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commitlint uses "exact" dependency versions #856

Closed
4 tasks done
Artoria2e5 opened this issue Nov 11, 2019 · 2 comments
Closed
4 tasks done

Commitlint uses "exact" dependency versions #856

Artoria2e5 opened this issue Nov 11, 2019 · 2 comments

Comments

@Artoria2e5
Copy link

Artoria2e5 commented Nov 11, 2019

Some commitlint subpackages use "exact" dependency versions, i.e. those of the form "chalk": "3.0.0", instead of the "caret" form which allows for upgrading within a major version that are compatible under semver, the pervasive versioning system in Node. This is bad for several reasons:

  • It causes unnecessary downloads when users have some other packages that depend on a newer, compatible version
  • It complicates security upgrades: several references to lodash are still locked at an exact-resolution to a version vulnerable to prototype pollution, whereas a caret notation will allow the package manager to take a newer one on install
  • It makes other upgrades harder too: because of the exact nature of these definitions, a "dependency bot" is required to continuously bump the version spec so that people will use them, even when commitlint is using none of the new features.

Affected packages

  • cli
  • core
  • prompt
  • config-angular

Possible Solution

Replace all semver dependency versions with one starting with a caret ^.

@escapedcat
Copy link
Member

Relates to #840. There's a PR for lodash already in that issue.

@byCedric byCedric mentioned this issue Jan 28, 2020
1 task
@marionebl
Copy link
Contributor

We are slowly moving towards caret ranges for most dependencies.

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

No branches or pull requests

3 participants