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

BREAKING CHANGE(spec): Normalize x, x@ & x@* #460

Closed
Tracked by #443
darcyclarke opened this issue Mar 18, 2022 · 0 comments · Fixed by npm/npm-package-arg#97
Closed
Tracked by #443

BREAKING CHANGE(spec): Normalize x, x@ & x@* #460

darcyclarke opened this issue Mar 18, 2022 · 0 comments · Fixed by npm/npm-package-arg#97
Assignees
Labels
Milestone

Comments

@darcyclarke
Copy link
Contributor

darcyclarke commented Mar 18, 2022

Original issue: npm/npm-package-arg#45

@darcyclarke darcyclarke mentioned this issue Mar 18, 2022
32 tasks
@darcyclarke darcyclarke changed the title Normalize x, x@ & x@* BREAKING CHANGE(spec): Normalize x, x@ & x@* Mar 23, 2022
@wraithgar wraithgar self-assigned this Sep 1, 2022
wraithgar added a commit to npm/npm-package-arg that referenced this issue Sep 1, 2022
BREAKING CHANGE: `x` and `x@` now return the same spec as `x@*`

From #45:

Right now, `name@` and `name` are parsed with
`{type:'tag', fetchSpec: 'latest'}`, but `name@*` is parsed as
`{type: 'range'}`.

But since `''` is a valid semver range, it should be parsed the same as
`*`.

This also saves npm-package-arg from guessing the default tag, which
currently poses some semantic hazards.  npm (via npm-pick-manifest) will
prefer its default tag if given a range that includes it.  But
`name@latest` should always and only resolve to that specific version in
the dist-tags.  So npm-pick-manifest and pacote have to detect this and
do some extra work to figure out if `latest` was actually specified or
just guessed as a default.

Closes npm/statusboard#460
@lukekarrys lukekarrys added this to the v9.0.0 milestone Sep 2, 2022
wraithgar added a commit to npm/npm-package-arg that referenced this issue Sep 29, 2022
BREAKING CHANGE: `x` and `x@` now return the same spec as `x@*`

From #45:

Right now, `name@` and `name` are parsed with
`{type:'tag', fetchSpec: 'latest'}`, but `name@*` is parsed as
`{type: 'range'}`.

But since `''` is a valid semver range, it should be parsed the same as
`*`.

This also saves npm-package-arg from guessing the default tag, which
currently poses some semantic hazards.  npm (via npm-pick-manifest) will
prefer its default tag if given a range that includes it.  But
`name@latest` should always and only resolve to that specific version in
the dist-tags.  So npm-pick-manifest and pacote have to detect this and
do some extra work to figure out if `latest` was actually specified or
just guessed as a default.

Closes npm/statusboard#460
wraithgar added a commit to npm/npm-package-arg that referenced this issue Oct 12, 2022
BREAKING CHANGE: `x` and `x@` now return the same spec as `x@*`

From #45:

Right now, `name@` and `name` are parsed with
`{type:'tag', fetchSpec: 'latest'}`, but `name@*` is parsed as
`{type: 'range'}`.

But since `''` is a valid semver range, it should be parsed the same as
`*`.

This also saves npm-package-arg from guessing the default tag, which
currently poses some semantic hazards.  npm (via npm-pick-manifest) will
prefer its default tag if given a range that includes it.  But
`name@latest` should always and only resolve to that specific version in
the dist-tags.  So npm-pick-manifest and pacote have to detect this and
do some extra work to figure out if `latest` was actually specified or
just guessed as a default.

Closes npm/statusboard#460
ghiscoding added a commit to lerna-lite/lerna-lite that referenced this issue Oct 21, 2022
- npa will no longer return "latest" when passing `*` but instead it will return empty string "" as per their new v10 PR: npm/statusboard#460
ghiscoding added a commit to lerna-lite/lerna-lite that referenced this issue Oct 21, 2022
* fix(deps): npm-package-arg now normalize x, x@, x@*
- npa will no longer return "latest" when passing `*` but instead it will return empty string "" as per their new v10 PR: npm/statusboard#460
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants