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

Set resolution for eslint-plugin-deprecation plugin #191

Merged
merged 1 commit into from
Jan 7, 2022

Conversation

jfaltermeier
Copy link
Contributor

@jfaltermeier jfaltermeier commented Jan 3, 2022

What it does

The recent update of eslint-plugin-deprecation pulls in a newer version of @typescript-eslint/experimental-utils.
This version is not compatible with the node versions available on the shared windows and mac build nodes.
(For Linux we could update the docker image):

error @typescript-eslint/[email protected]: The engine "node" is incompatible with this module. Expected version "^12.22.0 || ^14.17.0 || >=16.0.0". Got "12.20.0"

https://ci.eclipse.org/theia/job/Theia2/job/master/16/consoleText

For now set a resolution for eslint-plugin-deprecation to the version known to work.

How to test

Build with a node version lower than 12.22 and check whether the build succeeds

Review checklist

Reminder for reviewers

package.json Outdated
Comment on lines 35 to 37
"resolutions": {
"**/eslint-plugin-deprecation": "1.2.1"
},
Copy link
Member

Choose a reason for hiding this comment

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

@jfaltermeier rather than add a resolution, why do we not simply update the dependency to use 1.2.1 directly?

https://github.com/eclipse-theia/theia-blueprint/blob/f6e2116b802b18b4dfee756ef639b814362b5d20/package.json#L24

to:

"eslint-plugin-deprecation": "1.2.1"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So usually I like resolution for issues like this because it also works for transient dependencies. I started with restricting typescript-eslint/experimental-utils which led me to eslint-plugin-deprecation.
But in this case we only have a direct dependency, so I'll update this

The recent update of eslint-plugin-deprecation pulls in a newer version
of @typescript-eslint/experimental-utils.
This version is not compatible with the node versions available on the
shared windows and mac build nodes. (For Linux we could update the
docker image):

error @typescript-eslint/[email protected]: The engine "node" is
incompatible with this module. Expected version "^12.22.0 || ^14.17.0 ||
>=16.0.0". Got "12.20.0"

For now set eslint-plugin-deprecation to the version known to work.
Copy link
Member

@vince-fugnitto vince-fugnitto left a comment

Choose a reason for hiding this comment

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

I confirmed that the change works, the build passes again and the application starts 👍

On master using node v12.18.3:

$ yarn
yarn install v1.22.4
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
error @typescript-eslint/[email protected]: The engine "node" is incompatible with this module. Expected version "^12.22.0 || ^14.17.0 || >=16.0.0". Got "12.18.3"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

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

Successfully merging this pull request may close these issues.

2 participants