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
feat!: check for parsing errors in suggestion fixes #16639
Conversation
✅ Deploy Preview for docs-eslint canceled.
|
Oops! It looks like we lost track of this pull request. What do we want to do here? This pull request will auto-close in 7 days without an update. |
Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update. |
This pull request was auto-closed due to inactivity. While we wish we could keep working on every request, we unfortunately don't have the bandwidth to continue here and need to focus on other things. You can resubmit this pull request if you would like to continue working on it. |
bb50f15
to
62681aa
Compare
@bmish can you provide a status update on this? |
I believe this is still ready for review. It's one of several breaking changes I'm trying to have lined up ready to go when ESLint v9 comes around. |
Okay, we generally ignore PRs that are drafts until they marked as ready for review. Given that this is a breaking change, maybe we want to hold off on reviewing until we're ready for v9? |
* main: (285 commits) 8.55.0 Build: changelog update for 8.55.0 chore: upgrade @eslint/js@8.55.0 (eslint#17811) chore: package.json update for @eslint/js release chore: upgrade @eslint/eslintrc@2.1.4 (eslint#17799) feat: importNamePattern option in no-restricted-imports (eslint#17721) docs: fix typo `--rules` -> `--rule` (eslint#17806) ci: pin Node.js 21.2.0 (eslint#17809) chore: fix several `cli` tests to run in the intended flat config mode (eslint#17797) docs: remove "Open in Playground" buttons for removed rules (eslint#17791) docs: fix correct/incorrect examples of rules (eslint#17789) docs: update and fix examples for `no-unused-vars` (eslint#17788) docs: add specific stylistic rule for each deprecated rule (eslint#17778) chore: remove unused config-extends fixtures (eslint#17781) chore: remove formatting/stylistic rules from new rule templates (eslint#17780) chore: check rule examples for syntax errors (eslint#17718) 8.54.0 Build: changelog update for 8.54.0 chore: upgrade @eslint/js@8.54.0 (eslint#17773) chore: package.json update for @eslint/js release ...
This PR is ready, except there is a failure with one rule we need to fix, see: |
* main: fix: suggestion with invalid syntax in no-promise-executor-return rule (eslint#17812)
Converted back to draft as we keep breaking changes as drafts to prevent accidental merging before we decide to start with v9 prereleases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are going to be removing RuleTester
in v9, so can you revert those changes? I'd like to avoid merge conflicts as go through the process of removing RuleTester
.
@nzakas done! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks! Leaving it in the "Implementing" status in the v9.0.0 project for @nzakas to verify before we move it to "Ready for Merge".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
* main: (25 commits) test: ensure that CLI tests run with FlatESLint (eslint#17884) fix!: Behavior of CLI when no arguments are passed (eslint#17644) docs: Update README Revert "feat!: Remove CodePath#currentSegments" (eslint#17890) feat!: Update shouldUseFlatConfig and CLI so flat config is default (eslint#17748) feat!: Remove CodePath#currentSegments (eslint#17756) chore: update dependency markdownlint-cli to ^0.38.0 (eslint#17865) feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (eslint#17710) feat!: check for parsing errors in suggestion fixes (eslint#16639) feat!: assert suggestion messages are unique in rule testers (eslint#17532) feat!: `no-invalid-regexp` make allowConstructorFlags case-sensitive (eslint#17533) fix!: no-sequences rule schema correction (eslint#17878) feat!: Update `eslint:recommended` configuration (eslint#17716) feat!: drop support for string configurations in flat config array (eslint#17717) feat!: Remove `SourceCode#getComments()` (eslint#17715) feat!: Remove deprecated context methods (eslint#17698) feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (eslint#17823) feat!: remove formatters except html, json(-with-metadata), and stylish (eslint#17531) feat!: Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` (eslint#17725) fix: allow circular references in config (eslint#17752) ...
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[x] Add something to the core
[ ] Other, please explain:
What changes did you make? (Give an overview)
Fixes #15735.
RFC (approved): eslint/rfcs#101
In rule tester, check for parsing errors in suggestion fixes, and throw an error if a suggestion yielded invalid output.
This is a breaking change for plugin developers who may have had invalid suggestions.
Is there anything you'd like reviewers to focus on?
This PR is ready on my side. I'm lining this PR up now so that it's ready for the v9 release.