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

Upgrade core dependencies #855

Open
1 of 8 tasks
Belco90 opened this issue Dec 12, 2023 · 5 comments
Open
1 of 8 tasks

Upgrade core dependencies #855

Belco90 opened this issue Dec 12, 2023 · 5 comments
Assignees

Comments

@Belco90
Copy link
Member

Belco90 commented Dec 12, 2023

I'm creating this issue to keep discussing the upgrade of some core dependencies of this plugin, originated in #852 (@lesha1201).

typescript-eslint

We could support both v5 and v6, actually. I think it will make things more complicated, so let me think about it. There are other things more critical to be updated now.

Prettier

I already tried to upgrade to v3, but had to revert it because of breaking changes introduced. You can find more details in the revert PR.

TypeScript

Definitely interested in upgrading this one, and it's actually needed to upgrade prettier to v3 as described in the previous revert PR.

Jest

Not sure why this was updated in #852, but we need to upgrade it anyway. Shouldn't be blocked by anything This is blocked by Node.js v12 which is not supported by Jest v29.

So our priorities should be:

  • Upgrade TS to v5 --> chore: upgrade TypeScript to v5.0 #858
  • Upgrade Prettier to v3
  • Upgrade typescript-eslint to v7 (breaking change)
  • Update Node.js engine requirement to ^18.18.0 || >=20.0.0 (breaking change)

Other improvements

When Node.js compatibility for non-supported versions is dropped, we can apply more improvements:

  • Upgrade Jest to v29
  • Upgrade TypeScript to the last v5.X (enabling pending things from chore: upgrade TypeScript to v5.0 #858 )
  • Replace npm with pnpm as the package manager
  • Use tsup for bundling in both CJS and ESM formats
@Belco90
Copy link
Member Author

Belco90 commented Dec 12, 2023

Just thinking out loud: another migration update plan for this plugin could be releasing a new major that upgrades typescript-eslint to v6 + drops Node.js support for the same versions as the future ESLint v9. Then when ESLint v9 gets released we don't release another major but a minor supporting both ESLint v8 and v9.

@lesha1201
Copy link
Contributor

@Belco90 Do you want to upgrade TS or I can open PR? I saw your notes about updating tsconfig in this PR #826 but not sure what exactly you want to update. I can open PR with these changes - 20c87e8 and you can either ask me to add some changes to tsconfig or push them directly.

@Belco90
Copy link
Member Author

Belco90 commented Dec 13, 2023

@Belco90 Do you want to upgrade TS or I can open PR? I saw your notes about updating tsconfig in this PR #826 but not sure what exactly you want to update. I can open PR with these changes - 20c87e8 and you can either ask me to add some changes to tsconfig or push them directly.

Feel free to create a PR! I can ask for some changes to tsconfig if needed.

@Belco90 Belco90 pinned this issue Jan 14, 2024
@Belco90 Belco90 self-assigned this Jan 14, 2024
@Belco90
Copy link
Member Author

Belco90 commented Feb 25, 2024

I've updated the description, so we release a v7 dropping support for older Node.js versions similar to typescript-eslint v7.

@Belco90
Copy link
Member Author

Belco90 commented Apr 16, 2024

ESLint v9 has been released, so all the planned changes here can be done under the new major of the plugin.

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

No branches or pull requests

2 participants