-
-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Environment
ESLint version: 9.39.2
@eslint/json version: 0.14.0
Node version: 20.19.6
npm version: 10.9.2
Operating System: Windows 11
What problem do you want to solve?
In this issue, I'd like to suggest two changes for the upcoming @eslint/json@1.0.0 and @eslint/css@1.0.0.
(I write this issue only in the JSON repository to avoid duplication. I can open a separate issue in the CSS repo if necessary.)
The two changes are as follows:
- Stop rolling up package. (Remove
rollup). - Migrate to ESM only.
Stop rolling up package. (Remove rollup).
First of all, we've gone through dropping rollup in the Markdown repository in issue eslint/markdown#374 and PR eslint/markdown#383.
This change needs to be considered a breaking change, as discussed in eslint/markdown#383 (comment), because it removes extraneous types that users might depend on.
However, this change also needs to be considered when migrating to an ESM-only package, since without rollup, CommonJS support may be tricky.
Migrate to ESM only
As discussed in issue eslint/eslint#19969 and in the ongoing conversation at eslint/eslint#20411 (review), it seems the reason for adopting the Node.js version range ^20.19.0 || ^22.13.0 || >=24 is to migrate to an ESM-only package to reduce maintenance complexity. (The exact reference would be: #130 (comment))
Migrating to ESM-only may not be a breaking change within the ^20.19.0 || ^22.13.0 || >=24 range. However, an ESM-only package makes it easier to stop using rollup for bundling, so I'd like to suggest this as part of the upcoming v1.0.0 changes for both the JSON and CSS plugins.
What do you think is the correct solution?
- Stop rolling up package. (Remove
rollup). - Migrate to ESM only.
Participation
- I am willing to submit a pull request for this change.
Additional comments
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status