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

Build: Force prerelease peer dep for Node 16 in CI #14933

Merged
merged 2 commits into from Aug 15, 2021

Conversation

btmills
Copy link
Member

@btmills btmills commented Aug 15, 2021

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofixing to a rule
[ ] Add a CLI option
[ ] Add something to the core
[x] Other, please explain: Fix CI peerdep issues during prereleases

What changes did you make? (Give an overview)

Several dev dependencies have a peer dependency on the local ESLint. Prereleases don't satisfy regular version range constraints, so the new peer dependency resolution algorithm in Node 16 rejects v8.0.0-beta.0 as a valid peer dependency. Until we're done with prereleases, we can use the --force flag to force npm to accept that the prerelease satisfies the peer dependency.

Is there anything you'd like reviewers to focus on?

Is there a better way to do this? Yarn has resolutions that might allow fixing this, but I don't see any equivalent for npm.

Several dev dependencies have a peer dependency on the local ESLint.
Prereleases don't satisfy regular version range constraints, so the new
peer dependency resolution algorithm in Node 16 rejects `v8.0.0-beta.0`
as a valid peer dependency. Until we're done with prereleases, we can
use the `--force` flag to force npm to accept that the prerelease
satisfies the peer dependency.
@eslint-github-bot eslint-github-bot bot added the triage An ESLint team member will look at this issue soon label Aug 15, 2021
@btmills btmills added build This change relates to ESLint's build process evaluating The team will evaluate this issue to decide whether it meets the criteria for inclusion and removed triage An ESLint team member will look at this issue soon labels Aug 15, 2021
Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I’d suggest opening an issue to remind us to revert this change when the final release happens.

@btmills btmills merged commit c74fe08 into master Aug 15, 2021
@btmills btmills deleted the node-16-prerelease-peer-dep branch August 15, 2021 19:37
btmills added a commit that referenced this pull request Aug 15, 2021
btmills added a commit that referenced this pull request Oct 9, 2021
btmills added a commit that referenced this pull request Oct 25, 2021
This reverts the change from #14933 now that all peer dependencies are
valid with ESLint v8.0.0.
mdjermanovic pushed a commit that referenced this pull request Oct 26, 2021
Refs #14933

* Build: Upgrade to v8-compatible JSDoc plugin

* Build: Remove npm force install in CI

This reverts the change from #14933 now that all peer dependencies are
valid with ESLint v8.0.0.
@eslint-github-bot eslint-github-bot bot locked and limited conversation to collaborators Feb 12, 2022
@eslint-github-bot eslint-github-bot bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label Feb 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
archived due to age This issue has been archived; please open a new issue for any further discussion build This change relates to ESLint's build process evaluating The team will evaluate this issue to decide whether it meets the criteria for inclusion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants