eslint-plugin-eslint-plugin icon indicating copy to clipboard operation
eslint-plugin-eslint-plugin copied to clipboard

V7 Planned Changes

Open aladdin-add opened this issue 1 year ago • 3 comments

Starting a list of my desired breaking changes, feedback welcome. We can perform this release once we have compiled enough changes.

Planned:

  • Enable additional recommended rules:
    • TODO
  • Change rule options
    • TODO
  • Supported Node.js versions
    • TODO
  • Supported ESLint versions
    • TODO

Maybe:

  • Convert package to ESM or TypeScript?

For reference, V6 was released 2024-04-10 (CHANGELOG, discussion in #269).

aladdin-add avatar Nov 20 '24 06:11 aladdin-add

+1 for TS config support 👍

azat-io avatar Feb 10 '25 21:02 azat-io

Convert package to ESM or TypeScript

yes please

we're currently in the process of moving quite a few eslint plugins to esm-only, so let me know if you want any help

43081j avatar Mar 19 '25 11:03 43081j

TS or not, it should ship with types. If you're making a breaking change anyways, I would personally ship it in TS, ESM only, and ESLint >=9.

I'm happy to help with this effort!

drake-nathan avatar Apr 06 '25 17:04 drake-nathan

Need any help with this work?

michaelfaith avatar Jun 14 '25 18:06 michaelfaith

here's the ESM conversion if its of any use: https://github.com/eslint-community/eslint-plugin-eslint-plugin/compare/main...43081j:eslint-plugin-eslint-plugin:esm-only

happy to open it as a PR if its a direction we want to go in

43081j avatar Jun 14 '25 21:06 43081j

Nice, yes I'd be interested in moving to both ESM and TypeScript (separately is fine). Would there be any user-facing impact from the ESM conversion?

bmish avatar Jun 15 '25 14:06 bmish

It should only affect people who use commonjs and node <20. But they can just migrate to eslint.config.mjs without having to migrate their entire project, or they can use newer node.

Other than that, everything should be pretty much the same

43081j avatar Jun 15 '25 15:06 43081j

If https://github.com/eslint-community/eslint-plugin-eslint-plugin/pull/516 lands, i'd be happy to help with the migration to TypeScript, if needed.

michaelfaith avatar Jun 15 '25 21:06 michaelfaith

Curious what you think about re-organizing the configs in this release, removing the flat/ prefix. Would this be included in the plans to drop support for eslint v8?

michaelfaith avatar Jun 20 '25 18:06 michaelfaith

We can remove the flat/ prefix at this point and make flat the default.

ESLint v9 was released over a year ago in April 2024. So I'm open to dropping ESLint v8/eslintrc support at this point if it will make our lives easier.

bmish avatar Jun 20 '25 19:06 bmish

Great. I can take that up. I'd like to land that first before the typescript migration, since there'd be less cruft to migrate.

michaelfaith avatar Jun 20 '25 22:06 michaelfaith

https://github.com/eslint-community/eslint-plugin-eslint-plugin/pull/528

michaelfaith avatar Jun 20 '25 22:06 michaelfaith

Completed release:

  • https://github.com/eslint-community/eslint-plugin-eslint-plugin/releases/tag/v7.0.0

Thanks @michaelfaith @43081j!

Please be sure to test the final result.

bmish avatar Aug 04 '25 15:08 bmish

Is this pull request included? https://github.com/eslint-community/eslint-plugin-eslint-plugin/pull/495

azat-io avatar Aug 04 '25 15:08 azat-io

@azat-io sorry, it's not included in v7. I'm open to considering it for the next release if the PR (https://github.com/eslint-community/eslint-plugin-eslint-plugin/pull/495) is fixed up and we have consensus on it:

  • https://github.com/eslint-community/eslint-plugin-eslint-plugin/issues/538

bmish avatar Aug 04 '25 15:08 bmish

That's sad.

azat-io avatar Aug 04 '25 15:08 azat-io

@bmish tried it out in TSESLint and all looks good!

works well 🎉

43081j avatar Aug 04 '25 16:08 43081j

This was a big release already. We can definitely consider another major release as soon as we have a few changes lined up for it in #538.

bmish avatar Aug 04 '25 16:08 bmish