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

🐛 Bug: eslint.config.js used with ESM even if package type is "commonjs" #2111

Closed
3 tasks done
JoshuaKGoldberg opened this issue Apr 2, 2025 · 1 comment · Fixed by #2112
Closed
3 tasks done
Assignees
Labels
status: accepting prs Please, send a pull request to resolve this! type: bug Something isn't working :(

Comments

@JoshuaKGoldberg
Copy link
Owner

Bug Report Checklist

  • I have tried restarting my IDE and the issue persists.
  • I have pulled the latest main branch of the repository.
  • I have searched for related issues and found none that matched my issue.

Expected

If a repo defines "type": "commonjs" in its package.json, then the ESLint config should either be eslint.config.mjs or use CJS.

Actual

It's still printed as eslint.config.js with ESM.

Additional Info

Example: https://github.com/JoshuaKGoldberg/package-json-validator/pull/178/files#r2025645674

@JoshuaKGoldberg JoshuaKGoldberg added status: accepting prs Please, send a pull request to resolve this! type: bug Something isn't working :( labels Apr 2, 2025
@JoshuaKGoldberg JoshuaKGoldberg self-assigned this Apr 2, 2025
JoshuaKGoldberg added a commit that referenced this issue Apr 3, 2025
## PR Checklist

- [x] Addresses an existing open issue: fixes #2111
- [x] That issue was marked as [`status: accepting
prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in
[CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md)
were taken

## Overview

Goes a different, more comprehensive direction than #2110. Instead of
encouraging a `blockPackageJson` it promotes `type` to a top-level
option. `--type commonjs` will now work if a user really wants.

`blockESLint` will now print its config as `eslint.config.mjs` if
`options.type` is `"commonjs"`. It's still `eslint.config.js` otherwise.

🎁
Copy link

github-actions bot commented Apr 3, 2025

🎉 This is included in version v2.23.0 🎉

The release is available on:

Cheers! 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: accepting prs Please, send a pull request to resolve this! type: bug Something isn't working :(
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant