fix(linter/expect-expect): validate assertion regex - #25504
Conversation
|
@codex review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Merging this PR will not alter performance
Comparing Footnotes
|
# Oxlint ### 💥 BREAKING CHANGES - 8c4552d linter: [**BREAKING**] Split react/react-compiler into per-category rules (#25500) (Boshen) ### 🚀 Features - 9b7394e linter/typescript/no-empty-object-type: Implement suggestion (#25833) (Mikhail Baev) ### 🐛 Bug Fixes - 345f981 react_compiler: Skip node_modules by default (#25859) (Boshen) - 2f40afa linter/unicorn/no-array-callback-reference: Ignore effect library imports (#25857) (Michaël Bitard) - 7b565a0 linter: Align React Compiler rule categories (#25840) (Boshen) - 228e8e0 linter: Resolve inactive React compiler rules (#25830) (Boshen) - f8e4884 linter/eslint/no-useless-constructor: Allow parameter properties (#25811) (camc314) - e4b6993 linter: Report exhaustive effect dependencies (#25829) (Boshen) - 742e25f linter/eslint/no-return-assign: Anchor diagnostic on return stmt (#25803) (camc314) - b831ca8 react-compiler: Improve derived state diagnostic (#25804) (Boshen) - 5908c87 linter/jest/prefer-mock-return-shorthand: Preserve implementations using this (#25802) (camc314) - f6b2265 linter/eslint/no-redeclare: Run in ES modules, skipping only the globals check (#25691) (Hamody We) - ca9f553 linter/unicorn/prefer-default-parameters: Mark fixer as a suggestion (#25801) (camc314) - aa49d86 linter: Allow spread rule options in config types (#25675) (ch3rry) - d5483f8 linter/typescript/no-useless-empty-export: Skip TS declaration files (#25789) (Evyatar Daud) - 57f2199 linter/typescript/no-useless-empty-export: Report after imports (#25786) (camc314) - 633bc19 linter/typescript/no-unnecessary-type-conversion: Mark fixer as `suggestion` (#25787) (camc314) - dea3339 linter/typescript/explicit-module-boundary-types: Anchor diagnostics on arrows (#25779) (camc314) - 5cd6f02 linter/eslint/array-callback-return: Anchor diagnostic on callback (#25780) (camc314) - ef8cebf linter/eslint/preserve-caught-error: Handle AggregateError options (#25775) (camc314) - c108d5c linter: Improve React Compiler diagnostics (#25742) (Boshen) - c9ec55e react-compiler: Improve diagnostic spans (#25731) (Boshen) - 1cbbcb7 linter/unicorn/prefer-string-replace-all: Apply fixes in one pass (#25709) (Mikhail Baev) - dec0a86 react-compiler: Standardize diagnostics (#25702) (Boshen) - 5fd77f7 linter/react/display-name: Report curried HOC inner component (#25662) (camc314) - 4dbb80e linter/import/no-named-as-default: Report local export conflicts (#25658) (camc314) - e8a7214 linter/react/rules-of-hooks: Report hooks inside try blocks (#25670) (camc314) - 36f8451 linter/eslint/no-eval: Align indirect default with ESLint (#25656) (camc314) - d901d24 linter/react/exhaustive-deps: Handle destructured object dependencies (#25669) (camc314) - beb724d linter/eslint/no-unused-vars: Report bare underscore parameters (#25663) (camc314) - fa36f26 linter/react/no-this-in-sfc: Detect this in nested arrow callbacks (#25653) (camc314) - 44d1be3 linter/typescript/no-var-requires: Run rule on JavaScript (#25664) (camc314) - 4004c10 linter/eslint/no-irregular-whitespace: Check comments by default (#25660) (camc314) - 625401d linter/import/no-named-default: Flag type-only named defaults (#25661) (camc314) - 8eacb2d linter/typescript/no-non-null-asserted-optional-chain: Detect assertions after continued optional chains (#25659) (camc314) - d55b76c linter/react/no-direct-mutation-state: Detect computed state mutations (#25654) (camc314) - f92c651 linter/unicorn/no-abusive-eslint-disable: Use directive prefix in diagnostic (#25657) (camc314) - ee44996 linter/eslint/max-classes-per-file: Anchor diagnostic at program start (#25652) (camc314) - 403ec40 linter/eslint/no-multi-assign: Handle parenthesized declarator initializers (#25651) (camc314) - 6c9ba37 linter/jest/expect-expect: Detect assertions in nested function declarations (#25650) (camc314) - 285820e linter/no-large-snapshots: Precompile and document allowed snapshot matchers (#25611) (Mikhail Baev) - 1be1e20 linter/eslint/prefer-promise-reject-errors: Report on spread arguments (#25648) (Mikhail Baev) - a38f7b3 oxlint,oxfmt: Apply .gitignore only to walk targets, not explicitly named files (#25531) (leaysgur) - 509931b semantic: Classify global references per identifier (#25608) (camc314) - 0c68b7f estree: Emit `decorators` on `FormalParameterRest` (#25582) (camc314) - 1d22912 linter/plugins: Parse rule-less directive justifications (#25559) (camc314) - eaf80d8 linter/unicorn/prefer-node-protocol: Validate exact Node.js built-in specifiers (#25558) (camc314) - 57b94af linter/promise/no-multiple-resolved: Ignore unresolved globals (#25530) (Tushar Singh) - 80e64c2 linter/expect-expect: Validate assertion regex (#25504) (Mikhail Baev) - 7830604 linter/react/exhaustive-deps: Treat binary expressions as a stable dependency (#25508) (Hamody We) - 4df5835 linter: Allow capitalized built-in calls (#25516) (Boshen) - 9d49d27 react_compiler: Bail out instead of panicking on "Expected a node for all scopes" (#25506) (Boshen) - d43b562 linter/vitest/prefer-expect-assertions: Handle parameterized Vitest assertion suggestions (#25476) (camc314) ### ⚡ Performance - e8303d6 linter: Shrink rule serialization dispatch (#25818) (Boshen) - c84ede3 estree_tokens: Share JS token update entry point (#25826) (Boshen) - 35c8eb2 linter: Compute sort keys once with sort_by_cached_key (#25821) (Boshen) - f0121ed linter: Share config deserialization entry point (#25820) (Boshen) - 2dacf7a oxlint: Reduce debug formatting code size (#25797) (Boshen) - 9ed10b7 linter: Use unstable sorts for unique keys (#25778) (Boshen) - 63ff8ef linter: Outline diagnostic construction (#25762) (Boshen) - 2dd7446 diagnostics: Preallocate graphical output (#25721) (Boshen) - 9c8abab diagnostics: Batch graphical reports (#25710) (Boshen) - 8e9b95f linter: Use table for rule names (#25458) (Boshen) # Oxfmt ### 🚀 Features - c07fe7c oxfmt: Support `experimentalOperatorPosition` (#25643) (leaysgur) - 2adb8fb formatter: Implement `operatorPosition` option (#25581) (leaysgur) ### 🐛 Bug Fixes - 44231fb formatter: Fix comment and indent issues around unions (#25665) (leaysgur) - 2465e87 formatter: Keep comments in place when dropping `EmptyStatement` (#25730) (leaysgur) - 7e4f3b7 formatter: Print `JSDocUnknownType` (#25729) (leaysgur) - 5238d9e formatter: Keep nested awaited-paren member chain grouped in call arguments (#25646) (leaysgur) - a38f7b3 oxlint,oxfmt: Apply .gitignore only to walk targets, not explicitly named files (#25531) (leaysgur) - 5c0a5ff formatter_css: Fill own-line block comments inside space-separated values (#25578) (leaysgur) - 53debfa formatter_css: Keep trailing comma and indent after comment-preceded last map value (#25577) (leaysgur) - 1a83a8d oxfmt: Mirror printer line suppression and restore dedent-to-root (#25573) (leaysgur) - 7f350d1 formatter: Keep unary comment and print only needed parens (#25526) (leaysgur) - f405789 formatter_yaml: Consistent chomped eos behavior (#25523) (leaysgur) - a243311 formatter_yaml: Bump oxc-yaml-parser for contentless block scalar (#25519) (leaysgur) - 40d38a0 formatter_css: Keep multi value function args intact after leading comment (#25518) (leaysgur) ### 📚 Documentation - 223e785 oxfmt/conformance: Update notes on conformance (#25757) (Yuji Sugiura) - 673dc6d oxfmt: Move some docs from AGENTS.md to code comment (#25649) (leaysgur) - fed6681 oxfmt: Skip expanding overrides options (#25572) (leaysgur) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
this PR adds validation for regex for
jest/expect-expectrule, issue #23594 (issue tracks matches_assert_function_name as affecting expect-expect, but the rule had moved its regex logic into its own implementation, so it was missed by the earlier fix)