## [0.15.9] - 2025-02-01 ### Features -1a41181linter: Implement `eslint/prefer-object-spread` (#8216) (tbashiyy) -adb8ebdlinter: Implement no-useless-call rule (#8789) (keita hino) -3790933linter: Add vitest/prefer-lowercase-title rule (#8152) (Tyler Earls) -e8e6917linter: Unicorn/switch-cases-braces support options (#8704) (1zumii) ### Bug Fixes -8ce21d1linter: Can't disable `no-nested-ternary` rule anymore (#8600) (dalaoshu) -e929f26linter: Output `LintCommandInfo` for `CliRunResult::LintNoFilesFound` (#8714) (Sysix) -4f30a17linter: Unicorn/switch-case-braces mangles code when applying fix (#8758) (Tyler Earls) -9cc9d5flinter: `ignorePatterns` does not work when files are provided as command arguments (#8590) (dalaoshu) -1de6f85linter: No-lone-blocks erroring on block statements containing comments (#8720) (Tyler Earls) -77ef61alinter: Fix diagnostic spans for `oxc/no-async-await` (#8721) (camchenry) -f15bdcelinter: Catch `Promise` in `typescript/array-type` rule (#8702) (Rintaro Itokawa) -5041cb3vscode: Fix commands by reverting commit `259a47b` (#8819) (Alexander S.) ### Performance -d318238linter: Remove sorting of rules in cache (#8718) (camchenry) ### Documentation -57b7ca8ast: Add documentation for all remaining JS AST methods (#8820) (Cam McHenry) ### Refactor -c2fdfc4linter: Correctly handle loose options for `eslint/eqeqeq` (#8798) (dalaoshu) -0aeaeddlinter: Support loose options for `eslint/eqeqeq` (#8790) (dalaoshu) -194a5fflinter: Remove `LintResult` (#8712) (Sysix) -4a2f2a9linter: Move default `all_rules` output to trait (#8710) (Sysix) -741fb40linter: Move stdout outside LintRunner (#8694) (Sysix) -10e5920linter: Move finishing default diagnostic message to `GraphicalReporter` (#8683) (Sysix) -9731c56oxlint: Move output from `CliRunResult::InvalidOption` to outside and use more Enums for different invalid options (#8778) (Sysix) -fe45beeoxlint: Create different `CliRunResult` instead of passing `ExitCode` to it (#8777) (Sysix) -2378fefoxlint: Move ConfigFileInit output outside CliRunResult, exit code 1 when it fails (#8776) (Sysix) -f4cecb5oxlint: Remove unused `CliRunResult::PathNotFound` (#8775) (Sysix) ### Testing -ad35e82linter: Use snapshot testing instead of LintResult (#8711) (Sysix) -bf895eblinter: Add diagnostic format test snapshots (#8696) (Alexander S.) -34d3d72linter: Add snapshot tester for cli (#8695) (Sysix) -0bf2bcfoxlint: Test two real rules with same name but from different plugins (#8821) (dalaoshu) -2b83b71oxlint: Improve disabling "no-nested-ternary" tests (#8814) (Alexander S.) -45648e7oxlint: Fix InvalidOptionTsConfig tests for windows (#8791) (Alexander S.) -48bfed9oxlint: Ignore windows path mismatch (Boshen) -6f4a023oxlint: Remove "--print-config" test (#8792) (Sysix) -55c2025oxlint: Add `CliRunResult` to snapshot (#8780) (Sysix) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
125 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.
[0.15.9] - 2025-02-01
Features
1a41181linter: Implementeslint/prefer-object-spread(#8216) (tbashiyy)adb8ebdlinter: Implement no-useless-call rule (#8789) (keita hino)3790933linter: Add vitest/prefer-lowercase-title rule (#8152) (Tyler Earls)e8e6917linter: Unicorn/switch-cases-braces support options (#8704) (1zumii)
Bug Fixes
8ce21d1linter: Can't disableno-nested-ternaryrule anymore (#8600) (dalaoshu)4f30a17linter: Unicorn/switch-case-braces mangles code when applying fix (#8758) (Tyler Earls)1de6f85linter: No-lone-blocks erroring on block statements containing comments (#8720) (Tyler Earls)77ef61alinter: Fix diagnostic spans foroxc/no-async-await(#8721) (camchenry)f15bdcelinter: CatchPromiseintypescript/array-typerule (#8702) (Rintaro Itokawa)
Performance
d318238linter: Remove sorting of rules in cache (#8718) (camchenry)
Documentation
57b7ca8ast: Add documentation for all remaining JS AST methods (#8820) (Cam McHenry)
Refactor
c2fdfc4linter: Correctly handle loose options foreslint/eqeqeq(#8798) (dalaoshu)0aeaeddlinter: Support loose options foreslint/eqeqeq(#8790) (dalaoshu)
[0.15.8] - 2025-01-24
Features
dcaebe6linter: Add "strict" option topromise/prefer-await-to-thenrule (#8674) (Neil Fisher)
Refactor
a3dc4c3crates: Clean up snapshot files (#8680) (Boshen)e66da9fisolated_declarations, linter, minifier, prettier, semantic, transformer: Remove unnecessaryref/ref mutsyntax (#8643) (overlookmotel)23b49a6linter: Usecow_to_ascii_lowercaseinsteadcow_to_lowercase(#8678) (Boshen)b8d9a51span: Deal only in ownedAtoms (#8641) (overlookmotel)ac4f98espan: DeriveCopyonAtom(#8596) (branchseer)
[0.15.7] - 2025-01-19
4ce6329semantic: [BREAKING] Ensure program outlives semantic (#8455) (Valentinas Janeiko)
Features
01ac773linter: SupportignoreTypeOfTestNameforjest/valid-title(#8589) (dalaoshu)538b24alinter: Format the configuration documentation correctly (#8583) (Tapan Prakash)7ab14cclinter: Add more Vitest compatible Jest rules (#8445) (Anson Heung)d178360linter: Implementeslint/prefer-promise-reject-errors(#8254) (tbashiyy)
Bug Fixes
855c839codegen: Shorthand assignment target identifier consider mangled names (#8536) (Boshen)c15af02linter: False positive ineslint/no-lone-blocks(#8587) (dalaoshu)41f2070linter: Ruleno-restricted-importssupport missing options (#8076) (Alexander S.)869bc73linter: Enhancedefault_param_lastrule to handle optional parameters (#8563) (Tapan Prakash)c6260c2linter: Support rest params forprefer_promise_reject_errors(#8468) (Yuichiro Yamashita)2be1e82linter/no-unused-vars: False positives when variable and type have same name (#8465) (Dunqing)
Performance
250bbd1linter/react-exhaustive-deps: Use stack ofAstTypes instead ofAstKinds (#8522) (overlookmotel)
Refactor
40f5165linter: Improveeslint/no-lone-blocks(#8588) (dalaoshu)b4c87e2linter: Move DiagnosticsReporters to oxlint (#8454) (Alexander S.)bf00f82linter: Move ruleprefer-eachfrom vitest to jest + remapping (#8448) (Alexander S.)8dd0013linter/consistent-function-scoping: RemoveVisit::enter_nodeusage (#8538) (overlookmotel)30c0689linter/no-map-spread: RemoveVisit::enter_nodeusage (#8537) (overlookmotel)b5ed58espan: All methods take ownedSpan(#8297) (overlookmotel)
Styling
3789d2flinter/react-exhaustive-deps: Fix indentation (#8520) (overlookmotel)
[0.15.6] - 2025-01-13
Features
457aa31linter: Implementno-lone-blocksrule (#8145) (Yuichiro Yamashita)
Refactor
aea9551ast: Simplifyget_identifier_referenceofTSTypeandTSTypeName(#8273) (Dunqing)43ed3e1linter: Add output formatter (#8436) (Alexander S.)b19d809linter: Splitunicorn/prefer-spreadandeslint/prefer-spreadinto own rules (#8329) (Alexander S.)3c534aelinter: RefactorLintBuilderto prep for nested configs (#8034) (camc314)2f9fab9linter: Remove remapping for plugin name in diagnostics (#8223) (Alexander S.)
Testing
b6c1546linter: Use plugin name instead of category for finding rule (#8353) (Alexander S.)
[0.15.5] - 2025-01-02
Features
0e168b8linter: Catch more cases in const-comparisons (#8215) (Cameron)bde44a3linter: Addstatement_spantoModuleRecord/ImportEntry(#8195) (Alexander S.)ccaa9f7linter: Implementeslint/new-cap(#8146) (Alexander S.)
Bug Fixes
2b14a6flinter: FixignorePatternconfig for windows (#8214) (Alexander S.)
[0.15.4] - 2024-12-30
ed75e42semantic: [BREAKING] Make SymbolTable fieldspub(crate)instead ofpub(#7999) (Boshen)
Features
47cea9alinter: Implementeslint/no-extra-label(#8181) (Anson Heung)ef76e28linter: Implementeslint/no-multi-assign(#8158) (Anson Heung)384858blinter: Implementjsx-a11y/no-noninteractive-tabindex(#8167) (Tyler Earls)afc21a6linter: Implementeslint/vars-on-top(#8157) (Yuichiro Yamashita)65796c4linter: Implementeslint/prefer-rest-params(#8155) (Yuichiro Yamashita)5234d96linter: Implementeslint/no-nested-ternary(#8150) (Yuichiro Yamashita)1c5db72linter: Implement eslint/no-labels (#8131) (Anson Heung)0b04288linter: Moveimport/namedto nursery (#8068) (Boshen)
Bug Fixes
f3050d4linter: Exclude svelte files fromno_unused_varsrule (#8170) (Yuichiro Yamashita)faf7464linter: Disable rulereact/rules-of-hookby file extension (#8168) (Alexander S.)1171e00linter: Disablereact/rules-of-hooksfor vue and svelte files (#8165) (Alexander S.)1b9a5balinter: False positiver in private member expr in oxc/const-comparison (#8164) (camc314)6bd9ddblinter: False positive intypescript/ban-tslint-comment(#8094) (dalaoshu)10a1fd5linter: Rule:no-restricted-importssupport optionpatternswithgroupkey (#8050) (Alexander S.)b3f38aelinter: Ruleno-restricted-imports: support optionallowImportNames(#8002) (Alexander S.)340cc90linter: Ruleno-restricted-imports: fix option "importNames" (#7943) (Alexander S.)ec2128elinter: Fix line calculation foreslint/max-linesin diagnostics (#7962) (Dmitry Zakharov)79af100semantic: Reference flags not correctly resolved when after an export stmt (#8134) (camc314)
Performance
d8d2ec6linter: Run rules which require typescript syntax only when source type is actually typescript (#8166) (Alexander S.)2736657semantic: AllocateUnresolvedReferencesin allocator (#8046) (Boshen)
Refactor
774babblinter: Readexported_bindings_from_star_exportlazily (#8062) (Boshen)547c102linter: UseRwLock<FxHashMap>instead ofFxDashMapfor module record data (#8061) (Boshen)952d7e4linter: Renameflat.rstoconfig.rs(#8033) (camc314)50848edlinter: SimplifyConfigStoreto prep for nested configs (#8032) (camc314)b2a4a78linter: Remove unusedwith_rulesandset_rulemethods (#8029) (camc314)02f968dsemantic: ChangeBindingsto a plainFxHashMap(#8019) (Boshen)
[0.15.3] - 2024-12-17
Features
25ddb35linter: Add the import/no_named_default rule (#7902) (Guillaume Piedigrossi)ee26b44linter: Enhanceget_element_typeto resolve more element types (#7885) (dalaoshu)
Bug Fixes
6f41d92linter: False positive inunicorn/no-useless-spread(#7940) (dalaoshu)0867b40linter: Fix configuration parser forno-restricted-imports(#7921) (Alexander S.)9c9b73dlinter: Fix incorrect fixer forprefer-regexp-test(#7898) (Cameron)32935e6linter: False positive injsx-a11y/label-has-associated-control(#7881) (dalaoshu)14c51ffsemantic: Remove inhertingScopeFlags::Modifierfrom parent scope (#7932) (Dunqing)
Refactor
3858221global: Sort imports (#7883) (overlookmotel)b99ee37linter: Move rule "no-restricted-imports" to nursery (#7897) (Alexander S.)ff2a68flinter/yoda: Simplify code (#7941) (overlookmotel)
Styling
7fb9d47rust:cargo +nightly fmt(#7877) (Boshen)
[0.15.2] - 2024-12-14
Refactor
e55ab24linter: UseExpression::is_super(#7850) (overlookmotel)
[0.15.1] - 2024-12-13
Bug Fixes
2b187e5linter: Fix configuration casing fortypescript/no_this_alias(#7836) (Boshen)06e6d38linter: Fix unicorn/prefer-query-selector to use the correct replacement for getElementsByClassName (#7796) (Nicholas Rayburn)7a83230semantic: Missing reference whenexport defaultreferences a type alias binding (#7813) (Dunqing)
[0.15.0] - 2024-12-10
39b9c5dlinter: [BREAKING] Remove unmaintained security plugin (#7773) (Boshen)
Features
065f7dclinter: SupportexpectTypeOf,assertandassertTypeinvitest/expect-expect(#7742) (Yuichiro Yamashita)3d5f0a1linter/no_restricted_imports: Add the no_restricted_imports rules (#7629) (Guillaume Piedigrossi)
Bug Fixes
ad27b20linter: Only resolve esm files for import plugin (#7720) (Boshen)5e6053flinter: False positive ineslint/yoda(#7719) (dalaoshu)
Refactor
c6a19aalinter: Remove unusedserdefeatures (#7738) (Boshen)b9a2b35linter: Removeaho-corasick(#7718) (Boshen)
Testing
62f0a22linter: Portreact-jsx-uses-varsrules to no_unused_vars (#7731) (Tyler Earls)02f9903linter: Add regression tests forimport/namespace(#7723) (dalaoshu)
[0.14.1] - 2024-12-06
ebc80f6ast: [BREAKING] Change 'raw' from &str to Option (#7547) (Song Gao)
Features
fd0935clinter: Changereact/rules-of-hookscategory topedantic(#7691) (Boshen)e64fd95linter: Map.jsto.tswhen resolving with tsconfig.json (#7675) (Boshen)bd9d38alinter: Implement eslint:yoda (#7559) (tbashiyy)a14e76alinter: Report identical logical expressions in const-comparisons (#7630) (camc314)afe1e9blinter: Enhanceconst-comparisonsfor more cases (#7628) (camc314)4eb87ealinter: RulesOfHooks from nursery to correctness (#7607) (Boshen)275d625linter: Output rules to json array (#7574) (camc314)b8dc333syntax: AddExportEntry::is_type(#7676) (Boshen)
Bug Fixes
7cee065linter: Panic inyoda(#7679) (camc314)6ae178elinter: Ignore type references inno-undef(#7670) (Boshen)fcc2546linter: Moveno-unused-expressionsfrom TS to eslint (#7624) (camc314)29db060linter: Detect typescript eslint alias rules (#7622) (Alexander S.)e824501linter: False positive in exhaustive-deps (#7626) (camc314)8a68ef4linter: Update reporting spans for exhaustive-deps (#7625) (camc314)543df6elinter: Fix false positives in exhaustive-deps (#7615) (camc314)e80214clinter: Fix false positives in rules-of-hooks (#7606) (camc314)3dc46a8linter: No-unused-expressions false positive with arrow fn expressions (#7585) (Cameron)810671alinter: Detect vitest jest alias rules (#7567) (Alexander S.)4e3044elinter: Rules-of-hooks fix false positive with default export (#7570) (camc314)
Documentation
f029090linter: Update rule documentation (#7684) (camc314)4e489bdlinter: Update rule documentation (#7681) (camc314)56fe5f8linter: Update rule documentation (#7680) (Cameron)
Refactor
a0973dclinter: UseBigIntLiteral::rawfield (#7660) (overlookmotel)3711a8elinter: Renameis_same_referencetois_same_expression(#7654) (camc314)b445654linter: Useget_inner_expressioninconst-comparisons(#7627) (camc314)f0e7accsyntax: ChangeModuleRecord::not_esmtohas_module_syntax(#7579) (Boshen)18519desyntax: RemoveModuleRecord::export_default(#7578) (Boshen)d476660syntax: RemoveModuleRecord::exported_bindings_duplicatedbecause it is a syntax error (#7577) (Boshen)17663f5syntax: RemoveModuleRecord::export_default_duplicatedbecause it is a syntax error (#7576) (Boshen)79014ffsyntax: Clean upModuleRecord(#7568) (Boshen)
Testing
be9863alinter: Add more tests fo rules-of-hooks (#7683) (camc314)6dd71c6linter: Port eslint tests to no-unused-expressions (#7611) (camc314)
[0.14.0] - 2024-12-01
-
c2ced15parser,linter: [BREAKING] Use a differentModuleRecordfor linter (#7554) (Boshen) -
0be5233semantic: [BREAKING] RemoveModuleRecordfromSemantic(#7548) (Boshen) -
8a788b8parser: [BREAKING] BuildModuleRecorddirectly in parser (#7546) (Boshen)
Features
32f860dlinter: Add support for ignorePatterns property within config file (#7092) (Nicholas Rayburn)053bc08linter: Implement typescript/no-unused-expressions (#7498) (camc314)60b28fclinter: Implement typescript/consistent-generic-constructors (#7497) (camc314)bd0693blinter: Allow lint rules with the same name (#7496) (camc314)2ac9f96linter: Typescript/no-inferrable-types (#7438) (camc314)8d89fdclinter: Add eslint/prefer-spread (#7112) (tbashiyy)
Bug Fixes
123b5b7linter: False positive intypescript/consistent-type-definitions(#7560) (dalaoshu)cc078d6linter: Add missing error message prefix toeslint/no-const-assign(Boshen)17c0dd8linter: Fixjsx_no_script_urldoc failed to build (Boshen)
Performance
6cc7a48linter: UseOsStringfor module cache hash (#7558) (Boshen)6655345linter: UseFxDashMapfor module cache (#7522) (overlookmotel)
Documentation
a6b0100linter: Fix config example headings (#7562) (Boshen)
Refactor
0f3f67alinter: Add capability of adding semantic data to module record (#7561) (Boshen)8392177linter: Clean up the runtime after the module record change (#7557) (Boshen)823353alinter: Clean up APIs forModuleRecord(#7556) (Boshen)f847d0flinter: Callstr::ends_withwith array not slice (#7526) (overlookmotel)2077ff9linter: Removeonce_cell(#7510) (Boshen)169b8bflinter, syntax: Introduce type aliasFxDashMap(#7520) (overlookmotel)
[0.13.2] - 2024-11-26
Features
7236d14eslint/jsx_a11y: Implement anchor_ambiguous_text (#5729) (Jelle van der Waa)79ab8cclint-unicorn: Add rule prefer set has (#7075) (jordan boyer)87c893flinter: Add the eslint/no_duplicate_imports rule (#7309) (Guillaume Piedigrossi)0b9da38linter: Implementunicorn/prefer-negative-index(#6920) (Brian Liu)f0643c4linter: Implementjsx-no-script-url(#6995) (Radu Baston)00060calinter: Implement eslint/no-object-constructor (#7345) (Naoya Yoshizawa)
Bug Fixes
db6558flinter: False positive ineslint/prefer-object-has-own(#7463) (dalaoshu)
Refactor
d7d0735semantic: RemoveSymbolFlags::TypeLiteral(#7415) (Dunqing)
[0.13.1] - 2024-11-23
6f0fe38semantic: [BREAKING] Correct allReferenceFlags::Writeaccording to the spec (#7388) (Dunqing)
Features
4ad26b9linter: Addno-promise-in-callback(#7307) (no-yan)
Bug Fixes
8507464linter: Hanging when source has syntax/is flow (#7432) (Cameron)e88cf1blinter: Makeoverridesglobs relative to config path (#7407) (camchenry)9002e97linter: Add proper support for findIndex and findLastIndex forunicorn/prefer-array-some(#7405) (Dmitry Zakharov)
Documentation
6730e3elinter: Add more examples forunicorn/prefer-array-some(#7411) (Dmitry Zakharov)
Refactor
6c0d31blinter: Remove uselessconstdeclaration (#7430) (Song Gao)c8adc46linter/no-unused-vars: Improve implementation to remove using SymbolFlags::Export (#7412) (Dunqing)c90537flinter/only-used-in-recursion: Improve implementation to remove using SymbolFlags::Export (#7413) (Dunqing)
[0.13.0] - 2024-11-21
-
f059b0east: [BREAKING] Add missingChainExpressionfromTSNonNullExpression(#7377) (Boshen) -
878189cparser,linter: [BREAKING] AddParserReturn::is_flow_language; linter ignore flow error (#7373) (Boshen) -
7bf970alinter: [BREAKING] Remove tree_shaking plugin (#7372) (Boshen)
Features
7f8747dlinter: Implementreact/no-array-index-key(#6960) (BitterGourd)be152c0linter: Addtypescript/no-require-importsrule (#7315) (Dmitry Zakharov)849489elinter: Add suggestion for no-console (#4312) (DonIsaac)8cebdc8linter: Allow appending plugins in override (#7379) (camchenry)8cfea3coxc_cfg: Add implicit return instruction (#5568) (IWANABETHATGUY)e6922dfparser: Fix incorrect AST forx?.f<T>()(#7387) (Boshen)
Bug Fixes
e91c287linter: Fix panic in react/no-array-index-key (#7395) (Boshen)a32f5a7linter/no-array-index-key: Compile error due to it uses a renamed API (#7391) (Dunqing)666b6c1parser: Add missingChainExpressionin optionalTSInstantiationExpression(#7371) (Boshen)
Documentation
df143calinter: Add docs for config settings (#4827) (DonIsaac)ad44cfalinter: Import/first options (#7381) (Zak)
Refactor
c34d649linter: Usescope_idetc methods (#7394) (overlookmotel)
[0.12.0] - 2024-11-20
-
20d9080linter: [BREAKING] Override plugins array when passed in config file (#7303) (camchenry) -
44375a5ast: [BREAKING] RenameTSEnumMemberNameenum variants (#7250) (overlookmotel)
Features
1d9f528linter: Implementunicorn/prefer-string-rawlint rule (#7335) (Ryan Walker)d445e0flinter: Implementunicorn/consistent-existence-index-check(#7262) (Ryan Walker)01ddf37linter: AddallowRejectoption tono-useless-promise-resolve-reject(#7274) (no-yan)755a31blinter: Support bind function case for compatibility withpromise/no-return-wrap(#7232) (no-yan)428770elinter: Addimport/no-namespacerule (#7229) (Dmitry Zakharov)9c91151linter: Implement typescript/no-empty-object-type (#6977) (Orenbek)2268a0elinter: Supportoverridesconfig field (#6974) (DonIsaac)3dcac1alinter: React/exhaustive-deps (#7151) (camc314)
Bug Fixes
bc0e72clinter: Handle user variables correctly for import/no_commonjs (#7316) (Dmitry Zakharov)bf839c1linter: False positive injest/expect-expect(#7341) (dalaoshu)ff2a1d4linter: Moveexhaustive-depstoreact(#7251) (camc314)df5c535linter: Revert unmatched rule error (#7257) (Cameron A McHenry)c4ed230linter: Fix false positive in eslint/no-cond-assign (#7241) (camc314)ef847dalinter: False positive injsx-a11y/iframe-has-title(#7253) (dalaoshu)62b6327linter: React/exhaustive-deps update span for unknown deps diagnostic (#7249) (camc314)
Refactor
c6a4868linter: Temporarily remove unknown rules checking (#7260) (camchenry)
[0.11.1] - 2024-11-09
-
0e4adc1ast: [BREAKING] Remove invalid expressions fromTSEnumMemberName(#7219) (Boshen) -
d1d1874ast: [BREAKING] Changecomment.spanto real position that contain//and/*(#7154) (Boshen) -
843bce4ast: [BREAKING]IdentifierReference::reference_idreturnReferenceId(#7126) (overlookmotel)
Features
1fcd709linter: Add jsx support for only-used-in-recursion (#7120) (no-yan)4d577cflinter: Addimport/firstrule (#7180) (Dmitry Zakharov)9b8973flinter: Addimport/unambiguousrule (#7187) (Dmitry Zakharov)5ab1ff6linter: Implement @typescript-eslint/no-unsafe-function-type (#6989) (Orenbek)
Bug Fixes
b73cfd9linter: Fixis_method_callwith parentheses and chain expression (#7095) (tbashiyy)
Refactor
8c0a362linter: Usectx.source_range(comment.content_span())API (#7155) (Boshen)c5485aesemantic: Addancestor_kindsiterator function (#7217) (camchenry)abf1602semantic: Renameiter_parentstoancestors(#7216) (camchenry)42171ebsemantic: Renameancestorstoancestor_ids(#7215) (camchenry)
[0.11.0] - 2024-11-03
-
1f2a6c6linter: [BREAKING] Report unmatched rules with error exit code (#7027) (camchenry) -
9fd9f4flinter: [BREAKING] Sync sindresorhus/globals; removed Object.prototype properties from builtin and es* globals (#6991) (Boshen) -
9a6a2f9semantic: [BREAKING] RemoveSymbolTable::get_symbol_id_from_spanAPI (#6955) (Boshen)
Features
2184588linter: Do not bail for unmatched rules yet (#7093) (Boshen)a6fcd81linter: Addimport/no-commonjsrule (#6978) (Dmitry Zakharov)1691cablinter: Support user-configurable secrets foroxc-security/api-keys(#5938) (DonIsaac)610621clinter: Implementreact/style-prop-object(#6342) (Albert Kaaman)1e2f012linter: Addoxc/no-map-spread(#6751) (DonIsaac)1c66473linter: Implementeslint/prefer-object-has-own(#6905) (tomoya yanagibashi)
Bug Fixes
79bf74alinter: Check is_reference_to_global_variable inno-array-constructor(#7067) (Naoya Yoshizawa)147e2e4linter: Allow replacing rule when none are enabled yet (#7014) (camchenry)7aa496alinter: Remove unsafe fixer ofno-useless-spread(#6655) (dalaoshu)f5a7134linter/no-unused-vars: False positive for discarded reads within sequences (#6907) (DonIsaac)
Documentation
4551baalinter: Documentrules(#6983) (Boshen)
Refactor
8f1460elinter: MoveLintPluginsfromLintOptionstoLintConfig(#6932) (DonIsaac)
Testing
c35d3f2linter: Improve test failure output (#6975) (camchenry)
[0.10.3] - 2024-10-26
-
90c786cregular_expression: [BREAKING] Support ES2025 Duplicated named capture groups (#6847) (leaysgur) -
8032813regular_expression: [BREAKING] Migrate to new regexp parser API (#6741) (leaysgur)
Features
a73c5aflinter: Add fixer forjsx-a11y/no-access-keyrule (#6781) (Tapan Prakash)2aa763clinter: Warn unmatched rule names (#6782) (Tapan Prakash)0acca58linter: Support--print-config allto print config file for project (#6579) (mysteryven)
Bug Fixes
f49b3e2linter:react/iframe-missing-sandboxignores vanilla JS APIs (#6872) (DonIsaac)54a5032linter: Correct false positive inno-duplicates(#6748) (dalaoshu)a47c70eminifier: Fix remaining runtime bugs (#6855) (Boshen)
Documentation
3923e63linter: Add schema to config examples (#6838) (Dmitry Zakharov)
Refactor
a148023linter: Dereference IDs as soon as possible (#6821) (overlookmotel)423d54crust: Remove the annoyingclippy::wildcard_imports(#6860) (Boshen)
[0.10.2] - 2024-10-22
-
1248557ast: [BREAKING] RemoveAstKind::FinallyClause(#6744) (Boshen) -
202c7f6ast: [BREAKING] RemoveAstKind::ExpressionArrayElementandAstKind::ClassHeritage(#6740) (Boshen)
Features
dbe1972linter: Import/no-cycle should turn on ignore_types by default (#6761) (Boshen)619d06flinter: Fix suggestion foreslint:no_empty_static_blockrule (#6732) (Tapan Prakash)
Bug Fixes
Performance
8387baclinter: Apply small file optimization, up to 30% faster (#6600) (camchenry)
Refactor
b884577linter: All ast_util functions take Semantic (#6753) (DonIsaac)744aa74linter: ImplDeref<Target = Semantic>forLintContext(#6752) (DonIsaac)
[0.10.1] - 2024-10-21
Features
af25752linter: Addunicorn/prefer-math-min-max(#6621) (Brian Liu)5095f02linter: Added fixer for duplicate prefix in valid title jest rule (#6699) (Tapan Prakash)e9976d4linter: Add title whitespace fixer for jest valid title rule (#6669) (Tapan Prakash)45f02d5linter: Addunicorn/consistent-empty-array-spread(#6695) (Brian Liu)01a35bblinter/eslint: Show ignore patterns ineslint/no-unused-varsdiagnostic messages (#6696) (DonIsaac)
Bug Fixes
ce25c45linter: Panic indisable-directives(#6677) (dalaoshu)a5de230linter/import:import/no-duplicateshandles namespace imports correctly (#6694) (DonIsaac)b0b6ac7linter/no-cond-assign: False positive when assignment is in body statement (#6665) (camchenry)
Performance
6a76ea8linter/no-unused-vars: Use default IgnorePattern when /^_/ is provided as a pattern (#6697) (DonIsaac)
Refactor
d6609e9linter: Userun_on_jest_nodefor existing lint rules (#6722) (camchenry)97195eclinter: Addrun_on_jest_nodeto run rules on only jest nodes (#6721) (camchenry)155fe7elinter: AllowSemanticto be passed for collecting Jest nodes (#6720) (camchenry)ad8f281linter: Use iter for collecting jest nodes (#6719) (camchenry)dc19a8flinter: Use iterator for collecting jest imports (#6718) (camchenry)29c1447linter:jest/valid-titlefixer to useSpan::shrinkmethod (#6703) (Tapan Prakash)2eb984alinter: Add missingshould_runimplementations (#6666) (camchenry)23f88b3linter/import: Better diagnostic messages forimport/no-duplicates(#6693) (DonIsaac)
[0.10.0] - 2024-10-18
-
782f0a7codegen: [BREAKING] Renameprint_charmethod toprint_ascii_byte(#6512) (overlookmotel) -
7645e5ccodegen: [BREAKING] Remove CommentOptions API (#6451) (Boshen) -
5200960oxc: [BREAKING] Remove passingTriviasaround (#6446) (Boshen) -
80266d8linter: [BREAKING] Support plugins in oxlint config files (#6088) (DonIsaac)
Features
6f22538ecmascript: AddToBoolean,ToNumber,ToString(#6502) (Boshen)1e7fab3linter: Implementno-callback-in-promise(#6157) (dalaoshu)c56343dlinter: Promoteno_unsafe_optional_chainingto correctness (#6491) (Boshen)454874alinter: Implementreact/iframe-missing-sandbox(#6383) (Radu Baston)c8174e2linter: Add suggestions forno-plusplus(#6376) (camchenry)6e3224dlinter: Configure by category in config files (#6120) (DonIsaac)c5e66e1linter/no-unused-vars: Report own type references within class, interface, and type alias declarations (#6557) (DonIsaac)8c78f97linter/node: Implement no-new-require (#6165) (Jelle van der Waa)
Bug Fixes
e340424linter: Support import type with namespaced import inimport/no-duplicates(#6650) (Dmitry Zakharov)a668397linter: Panic inno-else-return(#6648) (dalaoshu)41dc8e3linter: Stack overflow inoxc/no-async-endpoint-handlers(#6614) (DonIsaac)d07a9b0linter: Panic inno-zero-fractions(#6607) (dalaoshu)d6a0d2elinter: Fix file name checking behavior ofunicorn/filename-case(#6463) (camchenry)0784e74linter: Error fixer ofswitch-case-braces(#6474) (dalaoshu)e811812linter: Error diagnostic message based on parameter length of valid-expect (#6455) (dalaoshu)f71c91elinter: Moveeslint/sort-keystostylecategory (#6377) (DonIsaac)2b86de9linter/no-control-regex: False negative for flags in template literals (#6531) (DonIsaac)685a590linter/no-control-regex: Better diagnostic messages (#6530) (DonIsaac)6d5a9f2linter/no-control-regex: Allow capture group references (#6529) (DonIsaac)ba53bc9linter/no-unused-vars: False positives in TS type assertions (#6397) (DonIsaac)d3e59c6linter/no-unused-vars: False positive in some default export cases (#6395) (DonIsaac)e08f956linter/no-unused-vars: False positive for functions and classes in arrays (#6394) (DonIsaac)b9d7c5fno-unused-vars: Consider functions within conditional expressions usable (#6553) (Brian Donovan)
Performance
0cbd4d0linter: Avoid megamorphism inRuleFixermethods (#6606) (DonIsaac)725f9f6linter: Get fewer parent nodes inunicorn/prefer-dom-node-text-content(#6467) (camchenry)c00f669linter: Use NonZeroUsize for pending module cache entries (#6439) (DonIsaac)a1a2721linter: ReplaceToString::to_stringwithCompactStrin remaining rules (#6407) (camchenry)c5c69d6linter: UseCompactStrinvalid-title(#6406) (camchenry)d66e826linter: UseCompactStrinprefer-lowercase-title(#6405) (camchenry)889400clinter: UseCompactStrforget_node_namein Jest rules (#6403) (camchenry)9906849linter: UseCompactStrinno-large-snapshots(#6402) (camchenry)c382ec4linter: UseCompactStrinno-hooks(#6401) (camchenry)24a5d9blinter: UseCompactStrinexpect-expect(#6400) (camchenry)71dbdadlinter: UseCompactStrinno-console(#6399) (camchenry)f5f00a1linter: UseCompactStrinno-bitwise(#6398) (camchenry)62afaa9linter/jsx-no-comment-textnodes: Remove regex for checking comment patterns (#6534) (camchenry)b3d0ccelinter/no-unescaped-entities: Add fast path to check if char should be replaced (#6594) (camchenry)ee73f56linter/no-unused-vars: Do not constructRegexfor default ignore pattern (#6590) (camchenry)77ddab8linter/numeric-separators-style: Replace regex with number parser (#6546) (camchenry)8f47cd0linter/react: Remove regex patterns inno-unknown-property(#6536) (camchenry)
Documentation
557f941linter: Add docs to no-unused-vars and Tester (#6558) (DonIsaac)
Refactor
ecce5c5linter: Improve recursive argument handling and diagnostics creation (#6513) (no-yan)f960e9elinter: Add suggested file names forunicorn/filename-case(#6465) (camchenry)7240ee2linter: Make advertised fix kinds consistent (#6461) (Alexander S.)b48c368linter:no_global_assignrule: reduce name lookups (#6460) (overlookmotel)2566ce7linter: Remove OxlintOptions (#6098) (DonIsaac)002078alinter: Make Runtime's members private (#6440) (DonIsaac)6a0a533linter: Move module cache logic out of Runtime (#6438) (DonIsaac)c18c6e9linter: Split service code into separate modules (#6437) (DonIsaac)5ea9ef7linter: Improve labels and help message foreslint/no-useless-constructor(#6389) (DonIsaac)2c32daclinter/no-control-regex: Remove duplicate code (#6527) (DonIsaac)435a89coxc: Remove uselessallocator.alloc(program)calls (#6571) (Boshen)f70e93boxc: Ban index methods on std::str::Chars (#6075) (dalaoshu)
Testing
a6cae98linter: Make sure all auto-fixing rules have fixer test (#6378) (DonIsaac)06b09b2linter/no-unused-vars: Enable now-passing tests (#6556) (DonIsaac)badd11clinter/no-unused-vars: Ignored catch parameters (#6555) (DonIsaac)84aa2a2linter/no-useless-constructor: Add cases for initializers in subclass constructors (#6390) (DonIsaac)
[0.9.10] - 2024-10-07
5a73a66regular_expression: [BREAKING] Simplify public APIs (#6262) (leaysgur)
Features
376cc09linter: Implementno-throw-literal(#6144) (dalaoshu)5957214linter: Allow fixing in files with source offsets (#6197) (camchenry)a089e19linter: Eslint/no-else-return (#4305) (yoho)183739flinter: Implement prefer-await-to-callbacks (#6153) (dalaoshu)ae539aflinter: Implement no-return-assign (#6108) (Radu Baston)
Bug Fixes
9e9808blinter: Fix regression when parsing ts in vue files (#6336) (Boshen)93c6db6linter: Improve docs and diagnostics message for no-else-return (#6327) (DonIsaac)e0a3378linter: Correct false positive inunicorn/prefer-string-replace-all(#6263) (H11)ea28ee9linter: Improve the fixer ofprefer-namespace-keyword(#6230) (dalaoshu)f6a3450linter: Get correct source offsets for astro files (#6196) (camchenry)be0030clinter: Allow whitespace control characters inno-control-regex(#6140) (camchenry)e7e8eadlinter: False positive inno-return-assign(#6128) (DonIsaac)
Performance
ac0a82alinter: Reuse allocator when there are multiple source texts (#6337) (Boshen)50a0029linter: Do not concat vec inno-useless-length-check(#6276) (camchenry)
Documentation
7ca70ddlinter: Add docs forContextHostandLintContext(#6272) (camchenry)a949ecblinter: Improve docs foreslint/getter-return(#6229) (DonIsaac)14ba263linter: Improve docs foreslint-plugin-importrules (#6131) (dalaoshu)
Refactor
642725clinter: Rename vars fromast_node_idtonode_id(#6305) (overlookmotel)8413175linter: Move shared function from utils to rule (#6127) (dalaoshu)ba9c372linter: Make jest/vitest rule mapping more clear (#6273) (camchenry)82b8f21linter: Add schemars and serde traits to AllowWarnDeny and RuleCategories (#6119) (DonIsaac)ea908f7linter: Consolidate file loading logic (#6130) (DonIsaac)db751f0linter: Use regexp AST visitor inno-control-regex(#6129) (camchenry)3aa7e42linter: Use RegExp AST visitor forno-hex-escape(#6117) (camchenry)9d5b44alinter: Use regex visitor inno-regex-spaces(#6063) (camchenry)0d44cf7linter: Use regex visitor inno-useless-escape(#6062) (camchenry)eeb8873linter: Use regex visitor inno-empty-character-class(#6058) (camchenry)
Testing
d883562linter: Invalideslint/no-unused-varsoptions (#6228) (DonIsaac)
[0.9.9] - 2024-09-27
Bug Fixes
bd8f786linter: Rule and generic filters do not re-configure existing rules (#6087) (DonIsaac)c5cdb4clinter: Disable all rules in a plugin when that plugin gets turned off (#6086) (DonIsaac)6c855aflinter: Only write fix results if source code has changed (#6096) (DonIsaac)8759528linter: Category filters not re-configuring already-enabled rules (#6085) (DonIsaac)c2616f7linter: Fix panic in fixer foroxc/only-used-in-recursion(#6070) (camc314)3da3845linter: Malformed snippets ineslint/for-directiondocs (#6060) (DonIsaac)c047d42linter:no-useless-escape: do not crash on backslash character (#6048) (camchenry)6f76ebelinter: Ignore invalid or partial disable directives (#6045) (camchenry)09a24cdlinter: Fix false positives for generics inno-unexpected-multiline(#6039) (camchenry)d05fd20linter: Newline in type parameters causing false positive inno-unexpected-multiline(#6031) (DonIsaac)
Performance
f8464a3linter:no-magic-numbersremove redudant checks inis_array_index(#6033) (Alexander S.)c16ae60linter:jest/prefer-hooks-in-order: rewrite rule to allocate less and iterate fewer times (#6030) (camchenry)
Documentation
a4fdf1blinter: Improve docs for promise rules (#6051) (dalaoshu)21cdb78linter: Fix incorrect "bad" example inonly-used-in-recursion(#6029) (Boshen)
Refactor
1f92d61linter:jest/prefer-hooks-in-order: improve diagnostic messages (#6036) (camchenry)
Testing
55949eblinter: AddOxlintRules::override_rulestests (#6081) (DonIsaac)1a6923alinter: Add filter parsing test cases (#6080) (DonIsaac)58d333alinter: Add more test cases for disable directives (#6047) (camchenry)
[0.9.8] - 2024-09-24
Bug Fixes
e3c8a12linter: Fix panic in sort-keys (#6017) (Boshen)4771492linter: Fiximport/no_cyclewithignoreTypes(#5995) (Boshen)
Performance
5ae3f36linter:no-fallthrough: Use string matching instead of Regex for default comment pattern (#6008) (camchenry)2b17003linter, prettier, diagnostics: UseFxHashMapinstead ofstd::collections::HashMap(#5993) (camchenry)
[0.9.7] - 2024-09-23
Features
d24985elinter: Addoxc-security/api-keys(#5906) (DonIsaac)f9b44c5linter: Add unicode sets support tono-useless-escaperule (#5974) (camchenry)0f19848linter: Implementno-unexpected-multilinerule (#5911) (camchenry)16fe383linter: Implementno-extend-nativerule (#5867) (Cam McHenry)
Bug Fixes
eed9ac7linter: Include actual span size inno-regex-spacesdiagnostic (#5957) (camchenry)40c89c2linter: Movepromise/avoid-newto style category (#5961) (DonIsaac)
Performance
608d637linter: Useaho-corasickinstead ofregexfor string matching injsx-a11y/img-redundant-alt(#5892) (camchenry)3148d4blinter: Check file path after checking node kind fornextjs/no-head-element(#5868) (Cam McHenry)
Refactor
0a5a4a9linter: Use parsed patterns forunicorn/no-hex-escape(#5985) (camchenry)2cf2eddlinter: Use parsed patterns inno-empty-character-classrule (#5980) (camchenry)a9a8e2alinter: Use regex parser ineslint/no-regex-spaces(#5952) (camchenry)05f592blinter: Use parsed patterns inunicorn/prefer-string-starts-ends-with(#5949) (camchenry)3273b64linter: Use parsed patterns forunicorn/prefer-string-replace-allrule (#5943) (camchenry)ba7b01flinter: AddLinterBuilder(#5714) (DonIsaac)db4f16asemantic: Callwith_triviasbeforebuild_with_jsdoc(#5875) (Boshen)3d13c6dsemantic: ImplIntoIteratorfor&AstNodes(#5873) (DonIsaac)
Testing
b681c9alinter: Import test cases forno-empty-character-class(#5981) (camchenry)767602blinter: Add regression test for #5227 (#5975) (camchenry)
[0.9.6] - 2024-09-18
Features
3bf7b24linter: Maketypescript/no-duplicate-enum-valuesacorrectnessrule (#5810) (DonIsaac)7799c06linter/react: Implementno-danger-with-childrenrule (#5420) (Cam McHenry)
Bug Fixes
f942485linter: Remove all* remaining "Disallow " messages (#5812) (DonIsaac)b5ad518linter: Improve diagnostic messages for various lint rules (#5808) (DonIsaac)858f7aflinter: Plugin prefix name for eslint-plugin-node (#5807) (DonIsaac)737ba1dlinter: Fix some cases onAssignmentExpressionforunicorn/consistent-function-scoping(#5675) (Arian94)148c7a8linter: Replace bitwise AND (&) with logical AND (&&) in explici… (#5780) (kaykdm)b4ed564linter/no-unused-vars: Writes to members triggering false positive (#5744) (Dunqing)e9c084alinter/no-unused-vars: False positive when a variable used as a computed member property (#5722) (Dunqing)
Performance
3725d5dlinter: Make all rules share a diagnostics vec (#5806) (DonIsaac)e978567linter: Shrink size ofDisableDirectives(#5798) (DonIsaac)1bfa515linter: Remove redundant clone of diagnostics in context (#5797) (DonIsaac)e413cadlinter: Move shared context info toContextHost(#5795) (DonIsaac)
Refactor
6dd6f7cast: ChangeCommentstruct (#5783) (Boshen)7caae5bcodegen: AddGetSpanrequirement toGentrait (#5772) (Boshen)026ee6alinter: Decouple module resolution from import plugin (#5829) (dalaoshu)50834bclinter: Moveoverride_ruletoOxlintRules(#5708) (DonIsaac)a438743linter: MoveOxlintConfigtoOxlintrc(#5707) (DonIsaac)f61e8b5linter: Impl serde and schemars traits forLintPlugins(#5706) (DonIsaac)20a7861linter: ShortenOptionsyntax (#5735) (overlookmotel)d8b612coxc_linter: Prefer pass Enum instead of strno_plus_plus(#5730) (IWANABETHATGUY)cc0408bsemantic: S/AstNodeId/NodeId (#5740) (Boshen)
[0.9.5] - 2024-09-12
Features
4b04f65linter: Implementno-plusplusrule (#5570) (Cam McHenry)
[0.9.4] - 2024-09-12
-
1fa3e56semantic: [BREAKING] RenameSymbolTable::itertosymbol_ids(#5621) (overlookmotel) -
4a8aec1span: [BREAKING] ChangeSourceType::jstoSourceType::cjsandSourceType::mjs(#5606) (Boshen)
Features
9ca2593linter: Eslint/sort-keys (#4845) (Na'aman Hirschfeld)023c160linter: ImplSerializeforOxlintConfig(#5594) (DonIsaac)24d6a47linter: Implementeslint/no-invalid-regexp(#5443) (Boshen)c6bbf94minifier: Constant fold unary expression (#5669) (Boshen)
Bug Fixes
af6d240linter: Panic in consistent-function-scoping (#5613) (DonIsaac)54e2e76linter:react/no_set_state+react/no_string_refsrules find correct parent (#5615) (overlookmotel)3b87ac4linter: Fix no_unused_vars panic when encountering unicode (#5582) (Boshen)
Performance
bfe9186linter: Usecow_replaceinstead ofreplace(#5643) (dalaoshu)e3ae5dblinter: Use cow_to_ascii_lowercase/uppercase (#5637) (heygsc)a0370bflinter: Use cow_utils in no_script_url (#5633) (heygsc)37e922clinter:eslint/no_shadow_restricted_namesuserun_on_symbol(#5618) (overlookmotel)0b7fccflinter:react/no_set_state+react/no_string_refsrules reduce iteration over ancestors (#5616) (overlookmotel)2c3f3felinter: Makejsx_keyslightly faster (#5585) (Boshen)cd81d12linter: Addshould_runto check path only once to nextjs/no_typos (#5584) (Boshen)d18c896rust: Usecow_utilsinstead (#5664) (dalaoshu)
Documentation
64f9575linter: Add plugin usage to example with configuration (Boshen)8c9179dlinter: Fix typos (#5591) (Brian Donovan)
Refactor
9e9435flinter: AddLintFilter(#5685) (DonIsaac)4f70fe5linter: Start internal/external split of LintPluginOptions (#5660) (DonIsaac)5ae9b48linter: Start internal/external split ofOxlintOptions(#5659) (DonIsaac)c8bc6f0linter: Usestd::ptr::eq(#5649) (overlookmotel)a37c064linter: UseContentHashforno_duplicate_case; removecalculate_hash(#5648) (Boshen)0b3c1d7linter: Start internal/external split ofOxlintConfig(#5595) (DonIsaac)89bdf55linter: InlineRuletrait default methods (#5619) (overlookmotel)afea8d5linter: RenameRuletrait method params (#5617) (overlookmotel)4e748b5linter: Replace ast "compare by hash" to "compare by content" (#5602) (dalaoshu)bac03e3linter: Make fields ofLintServiceOptionsprivate (#5593) (DonIsaac)2661d8blinter: Jest prefer_strict_equal (#5588) (IWANABETHATGUY)067f9b5semantic: IntroduceIsGlobalReferencetrait (#5672) (Boshen)-26d9235Enable clippy::ref_as_ptr (#5577) (夕舞八弦)
Testing
8e79f8dlinter: Add class method test cases foroxc/no-async-await(#5550) (DonIsaac)3835189linter: Add test case for no_unused_vars in3b87ac4(Boshen)5f27551linter: Add a passing case to no_undef (#5580) (Boshen)
[0.9.3] - 2024-09-07
-
b060525semantic: [BREAKING] Removesource_typeargument fromSemanticBuilder::new(#5553) (Boshen) -
cba93f5ast: [BREAKING] AddThisExpressionvariants toJSXElementNameandJSXMemberExpressionObject(#5466) (overlookmotel) -
87c5df2ast: [BREAKING] RenameExpression::without_parentheses(#5448) (overlookmotel) -
1aa49afast: [BREAKING] RemoveJSXMemberExpressionObject::Identifiervariant (#5358) (Dunqing)
Features
90facd3ast: AddContentHashtrait; remove noopHashimplementation fromSpan(#5451) (rzvxa)59abf27ast, parser: Addoxc_regular_expressiontypes to the parser and AST. (#5256) (rzvxa)be3a432linter: Implement typescript/no-magic-numbers (#4745) (Alexander S.)09aa86dlinter/eslint: Implementsort-varsrule (#5430) (Jelle van der Waa)2ec2f7dlinter/eslint: Implement no-alert (#5535) (Edwin Lim)a786acflinter/import: Add no-dynamic-require rule (#5389) (Jelle van der Waa)4473779linter/node: Implement no-exports-assign (#5370) (dalaoshu)b846432linter/oxc: Add fixer forerasing-op(#5377) (camc314)aff2c71linter/react: Implementself-closing-comp(#5415) (Jelle van der Waa)
Bug Fixes
0df1d9dast, codegen, linter: Panics in fixers. (#5431) (rzvxa)cdd1a91linter: Typescript/no-magic-numbers: remove double minus for reporting negative bigint numbers (#5565) (Alexander S.)ff88c1flinter: Don't mark binding rest elements as unused in TS function overloads (#5470) (Cam McHenry)088733blinter: Handle loops ingetter-returnrule (#5517) (Cam McHenry)82c0a16linter:tree_shaking/no_side_effects_in_initializationhandle JSX correctly (#5450) (overlookmotel)6285a02linter:eslint/radixrule correctly check for unbound symbols (#5446) (overlookmotel)c8ab353linter/tree-shaking: Align JSXMemberExpression's report (#5548) (mysteryven)5187f38linter/tree-shaking: Detect the correct export symbol resolution (#5467) (mysteryven)
Performance
8170954linter/react: Add should_run conditions for react rules (#5402) (Jelle van der Waa)
Documentation
a540215linter: Update docsExamplesfor linter rules (#5513) (dalaoshu)7414190linter: Update docsExamplefor linter rules (#5479) (heygsc)
Refactor
0ac420dlinter: Use meaningful names for diagnostic parameters (#5564) (Don Isaac)81a394dlinter: Deduplicate code inoxc/no-async-await(#5549) (DonIsaac)979c16clinter: Reduce nested if statements in eslint/no_this_before_super (#5485) (IWANABETHATGUY)1d3e973linter: Simplifyeslint/radixrule (#5445) (overlookmotel)fdb8857linter: Use "parsed pattern" inno_div_regexrule. (#5417) (rzvxa)2ccbd93linter:react/jsx_no_undefruleget_member_identdo not return Option (#5411) (overlookmotel)
Styling
2a43fa4linter: Introduce the writing style from PR #5491 and reduce the if nesting (#5512) (dalaoshu)-d8b29e7Add trailing line breaks to JSON files (#5544) (overlookmotel)-694f032Add trailing line breaks topackage.jsonfiles (#5542) (overlookmotel)
Testing
340b535linter/no-unused-vars: Arrow functions in tagged templates (#5510) (Don Isaac)af69393linter/no-useless-spread: Ensure spreads on identifiers pass (#5561) (DonIsaac)-dc92489Add trailing line breaks to conformance fixtures (#5541) (overlookmotel)
[0.9.2] - 2024-09-02
32f7300ast: [BREAKING] AddJSXElementName::IdentifierReferenceandJSXMemberExpressionObject::IdentifierReference(#5223) (Dunqing)
Features
180b1a1ast: AddFunction::name()(#5361) (DonIsaac)f81e8a1linter: Addoxc/no-async-endpoint-handlers(#5364) (DonIsaac)b103737linter: Improve no-accumulating-spread (#5302) (camc314)9c22ce9linter: Add hyperlinks to diagnostic messages (#5318) (DonIsaac)1967c67linter/eslint: Implement no-new-func (#5360) (dalaoshu)b867e5flinter/eslint-plugin-promise: Implement catch-or-return (#5121) (Jelle van der Waa)8d781e7linter/oxc: Differentiate between array/object inno-accumulating-spreadloop diagnostic (#5375) (camc314)db55444linter/oxc: Add fixer fordouble-comparisons(#5378) (camc314)e5c755alinter/promise: Addspec-onlyrule (#5124) (Jelle van der Waa)4c0861flinter/unicorn: Add fixer forprefer-type-error(#5311) (camc314)084c2d1linter/vitest: Implement prefer-to-be-object (#5321) (dalaoshu)
Bug Fixes
11b93aflinter/unicorn: Consistent-function-scoping false positive on assignment expression (#5312) (Arian94)
Performance
f052a6dlinter:react/jsx_no_undeffaster check for unbound references (#5349) (overlookmotel)05636b7linter: Avoid unnecessary work injsx_a11y/anchor_is_validrule (#5341) (overlookmotel)
Refactor
afb038elinter:react/jsx_no_undefuse loop instead of recursion (#5347) (overlookmotel)fe62687linter: Simplify skipping JSX elements inunicorn/consistent_function_scoping(#5351) (overlookmotel)381d9felinter: Shorten code inreact/jsx_no_useless_fragment(#5350) (overlookmotel)83b9a82linter: Fix indentation innextjs/no_script_component_in_headrule (#5338) (overlookmotel)89f0188linter: Improve docs forreact/jsx_no_target_blankrule (#5342) (overlookmotel)57050ablinter: Shorten code injsx_a11y/aria_activedescendant_has_tabindexrule (#5340) (overlookmotel)ed31d67linter/jest: Fix indentation in code comment (#5372) (camc314)2499cb9linter/oxc: Update rule docs forerasing-op(#5376) (camc314)69493d2linter/oxc: Improve diagnostic forno-accumulating-spreadin loops (#5374) (camc314)024b585linter/oxc: Improve code comment forno-accumulating-spread(#5373) (camc314)3ae94b8semantic: Changebuild_module_recordto accept &Path instead of PathBuf (Boshen)
[0.9.1] - 2024-08-29
234a24cast: [BREAKING] MergeUsingDeclarationintoVariableDeclaration(#5270) (Kevin Deng 三咲智子)
Features
6633972linter: Add fixer forno-empty(#5276) (camc314)a58e448linter/eslint: Add fixer tono-var(#5144) (camc314)a6e9769linter/jsx-a11y: Addlabel-has-associated-control(#5163) (Billy Levin)c8e8532linter/unicorn: Add fixer tothrow-new-error(#5275) (camc314)7ccde4blinter/unicorn: Add fixer toprefer-date-now(#5147) (camc314)
Bug Fixes
76e86f8linter: Eslint-plugin-unicorn prefer-spread wrong linter suggestion on variables of type string (#5265) (Arian94)b39544elinter/jest: Fixer forprefer-jest-mockedcreates invalid LHS expressions (#5243) (camc314)9953fa5linter/no-null: Incorrect fixer forNullLiteralwithinReturnStatement(#5247) (Dunqing)318479elinter/no-unused-vars: Mark the class/function in the new expression as used (#5306) (magic-akari)
Refactor
fa1d460linter: Clean up Fixer and Message (#5308) (DonIsaac)
[0.9.0] - 2024-08-26
-
5946748linter: [BREAKING] Parse and display syntax errors for regular expressions (#5214) (Boshen) -
b894d3blinter: [BREAKING] Makeno-unused-varscorrectness (#5081) (DonIsaac)
Features
1ce9630linter/config: Implement FromIterator for LintPluginOptions (#5102) (DonIsaac)34bfaf6linter/react: Add fixer tojsx-props-no-spread-multi(#5145) (camc314)982bd6elinter/unicorn: Add fixer torequire-array-join-separator(#5152) (camc314)a6704bdlinter/unicorn: Add fixer toprefer-set-size(#5149) (camc314)ac7edcclinter/unicorn: Add fixer toprefer-array-some(#5153) (camc314)1d01aa3linter/unicorn: Add partial fixer forprefer-array-flat(#5143) (camc314)22d57f9linter/unicorn: Add fixer toprefer-string-slice(#5150) (Cameron)2fe4415linter/unicorn: Add fixer tono-redundant-roles(#5146) (Cameron)d35c6f5linter/unicorn: Add fixer toprefer-regexp-test(#5151) (Cameron)27db769linter/unicorn: Add fixer totext-encoding-identifier-case(#5154) (Cameron)f7958c4linter/unicorn: Add prefer-structured-clone (#5095) (Jelle van der Waa)004ffa0linter/vitest: Implementprefer-each(#5203) (dalaoshu)
Bug Fixes
aaaf26clinter: Error in fixer for prefer-to-have-length (#5197) (dalaoshu)1f5b6b6linter: Bug in fixer for prefer-to-have-length (#5164) (dalaoshu)7eb052elinter:no-hex-escapefixer removing regex flags (#5137) (Cameron)76c66b4linter/max-lines: Point span to end of file for disable directive to work (#5117) (Boshen)8ff6f2clinter/no-unused-vars: Panic on UsingDeclarations (#5206) (DonIsaac)d29042elinter/no-unused-vars: Function expression in implicit arrow function return (#5155) (DonIsaac)36e4a28linter/no-unused-vars: Panic in variable declarator usage checks (#5160) (DonIsaac)ba62a71linter/react: Fixed false positive with missing key inside React.Children.toArray() for fragments (#5133) (Earl Chase)fd1031alinter/unicorn: Breaking fixer in case statements forno-null(#5176) (DonIsaac)7b86ed6linter/unicorn: Handle type casts and parens inno-null(#5175) (Don Isaac)b629e16linter/unicorn: Improve diagnostic message forno-null(#5172) (DonIsaac)
Performance
ce454cfUse simdutf8 to validate UTF-8 when reading files (#5196) (dalaoshu)
Refactor
543cad6codegen: Remove some pub APIs (Boshen)0d3661alinter: Remove meaninglessspan0(#5209) (dalaoshu)2a91ef1linter:eslint/no_redeclarerule userun_on_symbolnotrun_once(#5201) (overlookmotel)33599b0linter: Split options into multiple files (#5101) (DonIsaac)7ab6152linter/unicorn: Clean upno-null(#5174) (DonIsaac)
Testing
a877e5alinter/no-unused-vars: Ensure type annotations on property accessors are considered used (#5183) (DonIsaac)7886618linter/unicorn: Add fixer tests forno-null(#5173) (DonIsaac)
[0.8.0] - 2024-08-23
-
5f4c9absemantic: [BREAKING] RenameSymbolTable::get_flagtoget_flags(#5030) (overlookmotel) -
ce4d469codegen: [BREAKING] Remove const genericMINIFY(#5001) (Boshen) -
b2ff2dfparser: [BREAKING] Remove builder pattern fromParserstruct (#5000) (Boshen) -
f88970bast: [BREAKING] Change order of fields in CallExpression (#4859) (Burlin)
Features
2292606linter: Typescript-eslint/no-wrapper-object-types (#5022) (camc314)a0effablinter: Support more flexible config.globals values (#4990) (Don Isaac)cdbfcfblinter: Start import fixer for eslint/no-unused-vars (#4849) (DonIsaac)915cb4dlinter: Add dangerous fixer for oxc only used in recursion (#4805) (camc314)3f28c77linter/eslint: Improve no-dupe-keys (#4943) (DonIsaac)e1582a5linter/eslint: Improve no-duplicate-case rule (#4942) (DonIsaac)f1e4611linter/eslint-plugin-vitest: Implement no-conditional-in-test (#4971) (dalaoshu)14bf5d5linter/eslint-plugin-vitest: Implement no-restricted-vi-methods (#4956) (dalaoshu)ed9a1c4linter/eslint-plugin-vitest: Implement require-local-test-context-for-concurrent-snapshots (#4951) (dalaoshu)7859f58linter/eslint-plugin-vitest: Implement no-conditional-tests (#4955) (dalaoshu)841174flinter/no-unused-vars: Delete non-root arrows, skipawait(#5083) (Don Isaac)
Bug Fixes
86d0c0clinter: Change consistent-function-scoping to suspicious (#5010) (DonIsaac)7b99386linter: Missing closing ticks in some example blocks (#4994) (DonIsaac)9c64b12linter: Improve no-zero-fractions rule for member expressions and scientific notation (#4793) (Burlin)c43945clinter/consistent-function-scoping: Allow functions passed as arguments (#5011) (Don Isaac)9354779linter/no-unused-vars: GiveargsIgnorePatternthe same default behavior asvarsIgnorePattern(#5018) (DonIsaac)5a55dcflinter/no-unused-vars:typespecifier not deleted for type imports (#5029) (DonIsaac)4081293linter/no-unused-vars: Panic in fixer when removing destructures (#4923) (Don Isaac)ddf83fflinter/react: Fixed false positive with missing key inside React.Children.toArray() (#4945) (Earl Chase)508644alinter/tree-shaking: Correct the calculation of>>,<<and>>>(#4932) (mysteryven)e99836dlinter/unicorn: Allow set spreading in no-useless-spread (#4944) (Don Isaac)5f8a7c2oxlint: Rules in the configuration file are not being correctly … (#4949) (dalaoshu)
Documentation
e331ca0linter: Improve documentation for several rules (#4997) (DonIsaac)cd9f1cdlinter/consistent-function-scoping: Improve rule documentation (#5015) (DonIsaac)
Refactor
eca6fdblinter: Move plugin options into separate struct (#5100) (DonIsaac)06f2d81linter: Avoid unnecessary tempVecs (#4963) (overlookmotel)4cb8c37linter: Move default_true to utils (#4947) (Don Isaac)ca70cc7linter, mangler, parser, semantic, transformer, traverse, wasm: Rename variousflagvars toflags(#5028) (overlookmotel)59d15c7semantic:root_unresolved_referencescontain onlyReferenceId(#4959) (overlookmotel)
Testing
c21d735linter/no-unused-vars: Add ignored destructuring test cases (#4922) (Don Isaac)
[0.7.2] - 2024-08-15
Features
97e38cdlinter: Add fixer for unicorn/prefer-optional-catch-binding (#4867) (heygsc)93ae1c7linter: Eslint-plugin-react jsx-props-no-spread-multi (#4866) (keita hino)0a23610linter: Add fixer for unicorn/prefer-array-flat-map (#4844) (heygsc)13c7b1blinter/jsx-a11y: Add fixer for aria-unsupported-elements (#4854) (DonIsaac)a6195a6linter/jsx-a11y: Add fixer for anchor-has-content (#4852) (DonIsaac)4d28d03task/website: Support rendersubschemas.all_of(#4800) (mysteryven)
Bug Fixes
21f5762codegen: Minify large numbers (#4889) (Boshen)a08d7a7linter/jsx-a11y: Reduce false negatives for html-has-lang (#4855) (DonIsaac)a81ce3alinter/no-unused-vars: Do not delete function expressions when fixing (#4848) (DonIsaac)
Refactor
56f033clinter: Improve diagnostics for several jsx-a11y rules (#4853) (DonIsaac)c53c210linter/no-unused-vars: Split fixer logic into multiple files (#4847) (DonIsaac)
[0.7.1] - 2024-08-12
Features
3d40528linter: Add fix emoji to rules table and doc pages (#4715) (DonIsaac)d2734f3linter: Start fixer for no-unused-vars (#4718) (DonIsaac)070ae53linter: Add fixer for unicorn prefer-string-replace-all (#4801) (camc314)b3c3125linter: Overhaul unicorn/no-useless-spread (#4791) (DonIsaac)5992b75linter: Implementeslint-plugin-promise/no-return-in-finally, prefer-await-to-thenrule (#4318) (Jelle van der Waa)b259f47linter: Add fixer for unicorn/no-length-as-slice-end (#4780) (heygsc)abd83falinter: Add fixer for jsx_ally/no_aria_hidden_on_focusable (#4772) (heygsc)b20e335linter: Add fixer for eslint/no-eq-null (#4758) (heygsc)2f6c3b9linter: Add fixer for eslint/no-compare-neg-zero (#4748) (heygsc)eaddc8flinter: Add fixer for eslint/func_names (#4714) (DonIsaac)80557a9linter: Add fixer for eslint/for-direction (#4679) (heygsc)c3c5766linter/eslint-plugin-promise: Implement valid-params (#4598) (Jelle van der Waa)c509a21linter/eslint-plugin-vitest: Implement prefer-to-be-falsy (#4770) (dalaoshu)41f861flinter/eslint-plugin-vitest: Implement prefer-to-be-truthy (#4755) (dalaoshu)cc922f4vscode: Provide config's schema to oxlint config files (#4826) (Don Isaac)f629514website: Auto-generate rule docs pages (#4640) (DonIsaac)
Bug Fixes
b22ed45linter: Improve prefer_namespace_keyword rule (#4751) (Burlin)db68a6clinter: Fixer for eslint/for-direction (#4727) (heygsc)6273994linter: Block in eslint/no_cond_assign (#4721) (heygsc)b9d6aa5linter: Fix false positives in no-confusing-non-null-assertion (#4665) (Renée)cbf08d2linter: Skip no-multi-str on jsx attributes (#4666) (heygsc)a6f9f96linter: No unused errors should be warnings (Boshen)7345bc9linter/func-names: Handle ts accessibility when reporting missing names (#4713) (DonIsaac)
Performance
d191823linter: Optmize allocations in jest fn parsing (#4787) (lucab)e3abdfalinter: Reduce String allocations and clones (#4673) (DonIsaac)
Documentation
4b7dfd6linter: Correct docs for no-unused-vars (#4716) (Don Isaac)
Refactor
096ac7blinter: Clean up jsx-a11y/anchor-is-valid (#4831) (DonIsaac)15a0fd4linter: Use Option to reduce nested level ineslint/getter-return(#4814) (IWANABETHATGUY)63f274clinter: Simplify NoObjCalls resolution logic (#4765) (lucab)6708680linter: Replace Windows-style line breaks with Unix-style in test fixture (#4768) (overlookmotel)e285903linter: Clean up eslint/func_names (#4710) (DonIsaac)
Testing
8f2a566linter: Ensure rule docs have valid syntax (#4644) (DonIsaac)4dd29dblinter: Add fixer test for unicorn/no-zero-fractions (#4783) (heygsc)
[0.7.0] - 2024-08-05
85a7ceasemantic: [BREAKING] Remove name fromreference(#4329) (Dunqing)
Features
aaee07east: AddAstKind::AssignmentTargetPattern,AstKind::ArrayAssignmentTargetandAstKind::ObjectAssignmentTarget(#4456) (Dunqing)9df7b56jsx-a11y/no-autofocus: Implement fixer support (#4171) (Jelle van der Waa)b87bf70linter: Add fix capabilties to existing lint rules (#4560) (DonIsaac)ddd8b27linter: Support conditional fix capabilities (#4559) (DonIsaac)b952942linter: Add eslint/no-unused-vars (⭐ attempt 3.2) (#4445) (DonIsaac)6543958linter: Add auto-fix metadata to RuleMeta (#4557) (Don Isaac)85e8418linter: Add react/jsx-curly-brace-presence (#3949) (Don Isaac)4c4da56linter: Add typescript-eslint/prefer-keyword-namespce (#4438) (Aza Walker)d8c2a83linter: Eslint-plugin-vitest/no-import-node-test (#4440) (cinchen)e3b0c40linter: Eslint-plugin-vitest/no-identical-title (#4422) (cinchen)c936782linter: Eslint-plugin-vitest/no-conditional-expect (#4425) (cinchen)27fdd69linter: Eslint-plugin-vitest/no-commented-out-tests (#4424) (cinchen)51f5025linter: Add fixer for unicorn/prefer-string-starts-ends-with (#4378) (DonIsaac)3c0c709linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez)7afa1f0linter: Support suggestions and dangerous fixes (#4223) (DonIsaac)acc5729linter: Eslint-plugin-vitest/expect-expect (#4299) (cinchen)2213f93linter: Eslint-plugin-vitest/no-alias-methods (#4301) (cinchen)c296bc3linter/eslint: Implement func-names (#4618) (Alexander S.)e116ae0linter/eslint: Implement fixer for prefer-numeric-literals (#4591) (Jelle van der Waa)eaf834flinter/eslint: Implement prefer-numeric-literals (#4109) (Jelle van der Waa)db2fd70linter/eslint-plugin-promise: Implement no-webpack-loader-syntax (#4331) (Jelle van der Waa)5f1e070linter/eslint-plugin-unicorn: Add fixer for prefer-code-point (#4353) (Jelle van der Waa)ed49e16linter/eslint-plugin-unicorn: Implement fixer for prefer-dom-node-append (#4306) (Jelle van der Waa)e2b15aclinter/react: Implement react-jsx-boolean-value (#4613) (Jelle van der Waa)68efcd4linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac)
Bug Fixes
368112cast: Remove#[visit(ignore)]fromExportDefaultDeclarationKind'sTSInterfaceDeclaration(#4497) (Dunqing)d384f60ci: Remove unused(?) .html file (#4545) (Yuji Sugiura)06aec77linter: Invalid binary expression with overflow (#4647) (DonIsaac)b2da22blinter: Invalid tags in rule docs (#4646) (DonIsaac)94440adlinter: Panic on invalid lang ina11y/lang. (#4630) (rzvxa)e0b03f8linter: Improve the boundary for eslint/for-direction (#4590) (heygsc)70b8cfalinter: Missing return in no-obj-calls recursion (#4594) (DonIsaac)fe1356dlinter: Change no-unused-vars to nursery (#4588) (DonIsaac)72337b1linter: Change typescript-eslint/no-namespace to restriction (#4539) (Don Isaac)289dc39linter: Overflow in no-obj-calls (#4397) (DonIsaac)a664715linter/eslint: Fix invalid regexp in no_regex_spaces test (#4605) (Yuji Sugiura)74fa75alinter/eslint: Drop quotes around max-params lint warning (#4608) (Jelle van der Waa)9fcd9aelinter/eslint: Fix invalid regexp in no_control_regex test (#4544) (leaysgur)ac08de8linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac)73d2558oxlint: Fix oxlint failed to build due to missing feature (Boshen)
Performance
6ff200dlinter: Change react rules and utils to useCowandCompactStrinstead ofString(#4603) (DonIsaac)f259df0linter: Make img-redundant-alt only build a regex once (#4604) (DonIsaac)7585e16linter: Remove allocations for string comparisons (#4570) (DonIsaac)b60bdf1linter:no_shadow_restricted_namesonly look up name in hashmap once (#4472) (overlookmotel)81384f5linter: Avoid unnecessary work innextjs:no_duplicate_headrule (#4465) (overlookmotel)f7da22dlinter: Disable lint rules by file type (#4380) (DonIsaac)348c1adsemantic: Removespanfield fromReference(#4464) (overlookmotel)6a9f4dbsemantic: Reduce storage size for symbol redeclarations (#4463) (overlookmotel)-a207923Replace some CompactStr usages with Cows (#4377) (DonIsaac)
Refactor
7a75e0flinter: Use diagnostic codes in lint rules (#4349) (DonIsaac)ccb1835semantic: Methods takeSpanas param, not&Span(#4470) (overlookmotel)7cd53f3semantic: Var hoisting (#4379) (Dunqing)c99b3ebsyntax: GiveScopeIda niche (#4468) (overlookmotel)
[0.6.1] - 2024-07-17
Features
83c2c62codegen: Add option for choosing quotes; remove slowchoose_quotmethod (#4219) (Boshen)1f8968alinter: Add eslint-plugin-promise rules: avoid-new, no-new-statics, params-names (#4293) (Jelle van der Waa)a4dc56clinter: Add fixer for unicorn/no_useless_promise_resolve_reject (#4244) (Burlin)6fb808flinter: Add typescript-eslint/no-confusing-non-null-assertion (#4224) (Jaden Rodriguez)126b66clinter: Support eslint-plugin-vitest/valid-describe-callback (#4185) (cinchen)05b9a73linter: Support eslint-plugin-vitest/valid-expect (#4183) (cinchen)3e56b2blinter: Support eslint-plugin-vitest/no-test-prefixes (#4182) (cinchen)3016f03linter: Let fixer functions return aNonefix (#4210) (DonIsaac)bbe6137linter: Implement unicorn/no-useless-undefined (#4079) (Burlin)20cdb1fsemantic: Align class scope with typescript (#4195) (Dunqing)
Bug Fixes
9df60dalinter: Correct find first non whitespace logic in @typescript-eslint/consistent-type-imports (#4198) (mysteryven)67240dclinter: Not ignore adjacent spans when fixing (#4217) (mysteryven)dd07a54linter: Global variables should always check the builtin variables (#4209) (Jelle van der Waa)351ecf2semantic: Incorrect resolve references forTSTypeQuery(#4310) (Dunqing)1108f2asemantic: Resolve references to the incorrect symbol (#4280) (Dunqing)
Performance
0fdc88blinter: Optimize no-dupe-keys (#4292) (lucab)
Refactor
2c7bb9fast: Pass finalScopeFlagsintovisit_function(#4283) (overlookmotel)aa22073codegen: Improve print API (#4196) (Boshen)b5a8f3clinter: Use get_first_parameter_name from unicorn utils (#4255) (Jelle van der Waa)7089a3dlinter: Split up fixer code into separate files (#4222) (DonIsaac)ace4f1fsemantic: Update the order ofvisit_functionandVisitfields in the builder to be consistent (#4248) (Dunqing)7f1adddsemantic: Correct scope in CatchClause (#4192) (Dunqing)
[0.6.0] - 2024-07-11
5731e39ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)
Features
fb549e1linter: Add vitest/no-focused-tests rule (#4178) (mysteryven)6c49007linter: Add fixer for @typescript-eslint/consistent-type-imports (#3984) (mysteryven)278c3e9linter: Add fixer for jsx-a11y/aria-props (#4176) (DonIsaac)2188144linter: Eslint-plugin-jest/prefer-hooks-in-order (#4052) (cinchen)cc58614linter: Better schemas for allow/warn/deny (#4150) (DonIsaac)c5b4be0linter: Add fixer for prefer-node-protocol (#4129) (DonIsaac)7ec0c0blinter/eslint: Implement no-label-var (#4087) (Jelle van der Waa)
Bug Fixes
ed4c54ceslint/radix: Detect yield Number.parseInt variant (#4110) (Jelle van der Waa)e9ad03blinter: Fixer for no-debugger creates incorrect code (#4184) (DonIsaac)bd69571linter: Fix top level return panic in eslint/array_callback_return (#4167) (Boshen)c8f5664linter: Fix panic with unicode in unicorn/prefer_dom_node_dataset (#4166) (Boshen)f2b3273linter: Fix fixer panic in typescript/consistent_indexed_object_style (#4165) (Boshen)2334515linter: Panic inget_enclosing_function(#4121) (DonIsaac)1b91d40linter: Incorrect fixer forno-unused-labels(#4123) (Don Isaac)1729249linter: Incorrect fix inno-single-promise-in-promise-methodsrule; (#4094) (DonIsaac)cc7e893linter/tree-shaking: Avoid recursive function stackoverflow (#4191) (mysteryven)28eeee0parser: Fix asi error diagnostic pointing at invalid text causing crash (#4163) (Boshen)0f02608semantic: BindTSImportEqualsDeclarations (#4100) (Don Isaac)
Performance
ddfa343diagnostic: UseCow<'static, str>overString(#4175) (DonIsaac)
Refactor
2687ebcreact: Use find_binding helper for finding React binding (#4108) (Jelle van der Waa)
[0.5.3] - 2024-07-07
Features
1681b11linter: Eslint-plugin-jest/consistent-test-it (#4053) (cinchen)6876490linter: Add rule no-undefined (#4041) (jordan boyer)bf04deelinter: Implement unicorn/no-negation-in-equality-check (#4034) (Nissim Chekroun)aa45604linter/eslint: Implement no-multi-str (#4038) (Jelle van der Waa)
Bug Fixes
7b2dc3blinter: Fix panic in import/namespace (#4080) (Boshen)
[0.5.2] - 2024-07-02
Features
b257d53linter: Support report@typescript-eslint/consistent-type-imports(#3895) (mysteryven)2114475linter: Implement @typescript-eslint/no-dynamic-delete (#3971) (kaykdm)10a3c9alinter/eslint-plugin-react: Implement no-set-state (#3975) (Jelle van der Waa)
Bug Fixes
432d6d9linter: Find disabled directives using the message'sSpan. (#4010) (rzvxa)dbbb6fclinter: Global variable check should always check builtin variables (#3973) (Boshen)
[0.5.1] - 2024-06-29
Features
f64ad4bsemantic: Make jsdoc building optional (turned off by default) (#3955) (Boshen)
Bug Fixes
c26975alinter: Only show the filename for max-lines (#3966) (Boshen)94329e4linter: Handle useful but empty constructors in no-useless-constructor (#3951) (DonIsaac)6498a08linter: No-useless-spread fixer with multiple spread elements (#3950) (DonIsaac)
Refactor
1cca2a8eslint: Convert with_labels to with_label where applicable (#3946) (Jelle van der Waa)2705df9linter: Improve diagnostic labeling (#3960) (DonIsaac)
[0.5.0] - 2024-06-27
-
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa) -
ae09a97ast: [BREAKING] RemoveModifiersfrom ts nodes (#3846) (Boshen) -
1af5ed3ast: [BREAKING] ReplaceModifierswithdeclareandconstonEnumDeclaration(#3845) (Boshen) -
ee6ec4east: [BREAKING] ReplaceModifierswithdeclareandabstractonClass(#3841) (Boshen) -
4456034ast: [BREAKING] AddIdentifierReferencetoExportSpecifier(#3820) (Boshen) -
0537d29cfg: [BREAKING] Move control flow to its own crate. (#3728) (rzvxa) -
5c38a0fcodegen: [BREAKING] New code gen API (#3740) (Boshen) -
4bce59dsemantic/cfg: [BREAKING] Re-exportpetgraphascontrol_flow::graph. (#3722) (rzvxa)
Features
3ae2628linter: Changeno-import-assignto correctness (#3928) (Boshen)a89d501linter: Implement @typescript-eslint/no-non-null-asserted-nulli… (#3850) (kaykdm)fc48cb4linter: eslint-plugin-jest/prefer-jest-mocked (#3865) (cinchen)63b98bdlinter: Accept multiple fixes when fix code (#3842) (mysteryven)328445blinter: Supportvitest/no-disabled-tests(#3717) (mysteryven)8c61f9clinter: Implement @typescript-eslint/no-non-null-assertion (#3825) (kaykdm)080ecbdlinter: Addno-fallthrough. (#3673) (rzvxa)9493fbelinter: Addoxc/no-optional-chainingrule (#3700) (mysteryven)139adfelinter: Add@typescript-eslint/no-import-type-side_effects(#3699) (mysteryven)5f84500linter/eslint-plugin-react: Implement prefer-es6-class (#3812) (Jelle van der Waa)fafe67clinter/import: Implement max-dependencies (#3814) (Jelle van der Waa)d5f6aebsemantic: Check for illegal symbol modifiers (#3838) (Don Isaac)
Bug Fixes
4bd2c88linter: Fix and promotegetter-returnto correctness. (#3777) (rzvxa)1190deelinter: False positives with setters in thegetter-returnrule. (#3714) (rzvxa)de0690flinter: Do not run getter-return in typescript (#3693) (Boshen)cf71c23linter: Edge case with infinite loops. (#3672) (rzvxa)99a40cesemantic:export default fooshould haveExportLocalName::Default(NameSpan)entry (#3823) (Boshen)abd6ac8semantic/cfg: Discrete finalization path afterNewFunctions. (#3671) (rzvxa)
Performance
4f7ff7eDo not pass&Atomto functions (#3818) (overlookmotel)
Refactor
4d2b7f1linter:LintContextcan now only be constructed with a cfg enabled semantic. (#3761) (rzvxa)7302429linter/prefer_number_properties: Remove the unusedIdentifierNamecheck (#3822) (Boshen)d8ad321semantic: Make control flow generation optional. (#3737) (rzvxa)
Testing
887da40linter: Enableno-fallthroughtest withdisable-next-line. (#3766) (rzvxa)
[0.4.4] - 2024-06-14
Features
8f5655dlinter: Add eslint/no-useless-constructor (#3594) (Don Isaac)29c78dblinter: Implement @typescript-eslint/explicit-function-return-type (#3455) (kaykdm)21d3425linter: Typescript-eslint no-useless-empty-export (#3605) (keita hino)85c3b83linter: Eslint-plugin-jest/max-nested-describes (#3585) (cinchen)f6d9ca6linter: Addeslint/sort-importsrule (#3568) (Wang Wenzhe)046ff3flinter/eslint: Addno_unreachablerule. (#3238) (rzvxa)e32ce00linter/jsdoc: Implement require-param-name rule (#3636) (Yuji Sugiura)110661clinter/jsdoc: Implement require-param-description (#3621) (Yuji Sugiura)d6370f1linter/jsdoc: Implement require-param-type rule (#3601) (Yuji Sugiura)d9c5b33semantic/cfg: AddConditioninstruction. (#3567) (Ali Rezvani)f2dfd66semantic/cfg: Add iteration instructions. (#3566) (rzvxa)
Bug Fixes
f0b689dlinter: Panic in jsdoc/require-param (#3590) (Don Isaac)e148a32semantic/cfg: Correct unreachability propagation in try-finally. (#3667) (Ali Rezvani)
Refactor
84304b4linter: Add actx.module_record()method (#3637) (Boshen)f98f777linter: Add rule fixer (#3589) (Don Isaac)fa11644linter: PassRcby value (#3587) (overlookmotel)f702fb9semantic/cfg: Cleanup control flow and it's builder. (#3650) (rzvxa)5793ff1transformer: Replace&’a TriviaswithRc<Trivias>(#3580) (Dunqing)
[0.4.3] - 2024-06-07
Features
1fb9d23linter: Add fixer for no-useless-fallback-in-spread rule (#3544) (Don Isaac)6506d08linter: Add fixer for no-single-promise-in-promise-methods (#3531) (Don Isaac)daf559flinter: Eslint-plugin-jest/no-large-snapshot (#3436) (cinchen)4c17bc6linter: Eslint/no-constructor-return (#3321) (谭光志)4a075cclinter/jsdoc: Implement require-param rule (#3554) (Yuji Sugiura)747500alinter/jsdoc: Implement require-returns-type rule (#3458) (Yuji Sugiura)6b39654linter/tree-shaking: Support options (#3504) (Wang Wenzhe)0cdb45aoxc_codegen: Preserve annotate comment (#3465) (IWANABETHATGUY)
Bug Fixes
b188778linter/eslint: Fixrequire-awaitfalse positives inForOfStatement. (#3457) (rzvxa)350cd91parser: Should parser error when function declaration has no name (#3461) (Dunqing)
[0.4.2] - 2024-05-28
Features
14ef4dflint/eslint: Implement require-await (#3406) (Todor Andonov)e275659linter: Addoxc/no-rest-spread-propertiesrule (#3432) (Wang Wenzhe)0d2c977linter: Addoxc/no-const-enumrule (#3435) (Wang Wenzhe)085f917linter: Addoxc/no-async-awaitrule (#3438) (Wang Wenzhe)ded59bclinter: Eslint-plugin-jest/require-top-level-describe (#3439) (cinchen)edaa555linter: Eslint-plugin-jest/prefer-hooks-on-top (#3437) (cinchen)aa26ce9linter: @typescript-eslint/consistent-indexed-object-style (#3126) (Todor Andonov)b589fd6linter/eslint: Implement no-div-regex (#3442) (Jelle van der Waa)147864clinter/eslint: Implement no-useless-concat (#3363) (Jelle van der Waa)
Bug Fixes
5e06298linter: Memorize visited block id inneighbors_filtered_by_edge_weight(#3407) (mysteryven)74b06a7linter: Accept more valid regex (#3408) (magic-akari)19bb1c0website: Hackschemarsto render code snippet in markdown (#3417) (Boshen)
Documentation
5c7041blinter: Add docs for consistent-indexed-object-style (#3409) (Wang Wenzhe)
[0.4.0] - 2024-05-24
Features
e241136cli,linter: Add--disable-oxc-plugin(#3328) (Boshen)8ab9856cli,linter: Add--disable-react/unicorn/typescript-plugin(#3305) (Boshen)ecdffcflinter: Temporary move react/require-render-return to nursery (Boshen)b8997f5linter: Eslint/no-restricted-globals (#3390) (mysteryven)79811calinter: Change jsdoc/require-returns from correctness to pedantic (Boshen)8a1db67linter: Change jsdoc/require-render-return from correctness to pedantic (Boshen)fe208ddlinter: Start adding json schema for configuration file (#3375) (Boshen)aec613blinter: Eslint-plugin-jest/no-duplicate-hooks (#3358) (cinchen)e4b3a3clinter: Backward compability forreact-hooksanddeepscanplugins (#3334) (Boshen)9744707linter/eslint: Implement default_case rule (#3379) (Jelle van der Waa)74be8b1linter/eslint: Implement no-new (#3368) (Jelle van der Waa)c588e52linter/eslint: Implement prefer-exponentiation-operator (#3365) (Jelle van der Waa)283d6c7linter/eslint: Implement symbol-description (#3364) (Jelle van der Waa)b6e2d62linter/jsdoc: Implement require-returns-description (#3397) (Yuji Sugiura)3a5f088linter/jsdoc: Implement require-returns rule (#3218) (Yuji Sugiura)3671b5ctasks/website: Code generate the linter rules (Boshen)57d2bcatasks/website: Start generating linter config markdown from json schema (#3386) (Boshen)ead637bwebsite: Generate linter configuration page (Boshen)
Bug Fixes
c664c6clinter:no-newfalse positive when return from arrow expression (#3393) (Boshen)fbccd1flinter: Only report issues on top-level fragment (#3389) (Jovi De Croock)a23bbf9linter: Avoid infinite loop injest/expect-expect(#3332) (mysteryven)385965flinter: Avoid infinite loop when traverse ancestors injest/no_conditional_expect(#3330) (mysteryven)95e9b69linter: Fix panic in jest/expect-expect (#3324) (Boshen)6c3d99alinter/jsx-no-undef: Check for globals when an identifier is undefined (#3331) (Boshen)bb2221elinter/next: False positives for non-custom font link (#3383) (Dunqing)712ee0dlinter/react: Fix false positives for async components inrules_of_hooks(#3307) (rzvxa)0864cd0linter/react: Better detection for hooks in therules_of_hooks. (#3306) (rzvxa)9594441linter/react:rules_of_hooksadd support for property hooks/components. (#3300) (rzvxa)c8f1f79linter/react:rules_of_hooksresolve false positives with conditional hooks. (#3299) (rzvxa)d46538elinter/react: Fix loop hooks false positives. (#3297) (Ali Rezvani)
Performance
8388c7blinter: UseusizeforRuleEnumhash (#3336) (Boshen)
Refactor
c9d84afdiagnostics: S/warning/warn (Boshen)5bf595dlinter: Rename variable names prefixESLinttoOxlint(Boshen)d8c3187linter: Remove unnecessary check ineslint/no-global-assign(#3391) (mysteryven)d7849f8linter: Find return statement by using CFG inreact/require-render-return(#3353) (mysteryven)8383b6elinter: Removewith_rule_namefrom the tight loop (#3335) (Boshen)4f76cb6linter: Merge deepscan rules into oxc rules (#3327) (Boshen)78e6326semantic/cfg: Alias petgraph'sNodeIndexasBasicBlockId. (#3380) (rzvxa)
[0.3.5] - 2024-05-15
Features
5b2fc39linter: Add use-isnan fixer for (in)equality operations (#3284) (Don Isaac)3644400linter/eslint: Implement fixer for unicode-bom rule (#3259) (Jelle van der Waa)
Bug Fixes
e12323flinter/no-direct-mutation-state: False positive when class is declared inside aCallExpression(#3294) (Boshen)
Refactor
6128171linter: Rewrite react/require-render-return (#3276) (Wang Wenzhe)
[0.3.4] - 2024-05-13
Features
6edcae8linter: Move react/rules_of_hooks to nursery (Boshen)44b16eflinter/eslint: Implement max-classes-per-file (#3241) (Jelle van der Waa)
[0.3.3] - 2024-05-13
Features
c6874adlinter: Demoteno-inner-declarationsfrom correctness to pedantic (eslint v9) (Boshen)4ccc3eelinter: Demotereact/jsx-no-useless-fragmentfrom correctness to pedantic (Boshen)d45b28alinter: Unicorn/no-anonymous-default-export (#3220) (1zumii)7113e85linter: Addradixrule (#3167) (Kuba Jastrzębski)fa0093blinter: Eslint-plugin-next/no-page-custom-font (#3185) (Dunqing)4defe37linter: Remove deprecated eslint v9 rulesno-return-awaitandno-mixed-operators(#3188) (Boshen)ca9f13flinter: Eslint/no-new-native-nonconstructor (#3187) (Boshen)5514936linter: Eslint-plugin-next/no-styled-jsx-in-document (#3184) (Dunqing)cb2e651linter: Eslint-plugin-next/no-duplicate-head (#3174) (Boshen)8244d2blinter/eslint: Implement unicode-bom rule (#3239) (Jelle van der Waa)5081652linter/eslint: Implement no-empty-function rule (#3181) (Jelle van der Waa)f88f330linter/import: Improve multiple exports error message (#3160) (Dunqing)1f135celinter/react: Add therules_of_hooksrule. (#3071) (rzvxa)c0abbbdlinter/tree-shaking: AddisPureFunction(#3175) (Wang Wenzhe)
Bug Fixes
edb30e1linter: Handleimport { default as foo }in import/named (#3255) (Boshen)313fb83linter/default: Ignore unsupported files (e.g. .vue) (Boshen)0ba7778parser: Correctly parse cls.fn = x (#3208) (Dunqing)
Refactor
dbde5b3diagnostics: Remove export ofmiette(Boshen)551632adiagnostics: Remove thiserror (Boshen)312f74bdiagnostics: S/OxcDiagnostic::new/OxcDiagnostic::error (Boshen)f7a3773linter: Clean up diagnostics (Boshen)5671714linter: Clean up diagnostics in fixer (Boshen)6e90f67linter: Remove unnecessary usages ofCompactStr(Boshen)15f275flinter: Reduce llvm lines generated byRuleEnum::read_json(#3207) (Boshen)a84454clinter: Clean up prefer_node_protocol and move to restriction (#3171) (Boshen)f6f7adclinter,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3235) (Boshen)2064ae9parser,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3214) (Boshen)-893af23Clean up more diagnostics usages (Boshen)
[0.3.2] - 2024-05-04
Features
80cf0b2linter: @typescript-eslint/prefer-literal-enum-member (#3134) (kaykdm)cd600falinter: Add more "ban-ts-comment" test cases. (#3107) (谭光志)bef8a71linter: Eslint-plugin-jest/require-hook (#3110) (cinchen)388ee51linter: Typescript-eslint/prefer-enum-initializers (#3097) (Todor Andonov)be9cdfclinter: Eslint/no-await-in-loop (#3070) (谭光志)6f5df11linter/import: Move some rules out of nursery (#2841) (Dunqing)5a1d63alinter/jsdoc: Implement require-yields rule (#3150) (Yuji Sugiura)d7a8345linter/jsdoc: Support settings.ignore(Private|Internal) (#3147) (Yuji Sugiura)5866086linter/jsdoc: Implement no-defaults rule (#3098) (Yuji Sugiura)fa3d9d2linter/jsdoc: Implementimplements-on-classesrule (#3081) (Yuji Sugiura)d109767linter/jsdoc: Implement check-tag-names rule (#3029) (Yuji Sugiura)32df6d7linter/tree-shaking: Support While/Switch/Yield Statement (#3155) (Wang Wenzhe)8290421linter/tree-shaking: Support SequenceExpression (#3154) (Wang Wenzhe)5c21b7flinter/tree-shaking: Support UnaryExpression (#3153) (Wang Wenzhe)7333618linter/tree-shaking: Support JSX (#3139) (Wang Wenzhe)16a31e9linter/tree-shaking: Support import statement (#3138) (Wang Wenzhe)88ded0clinter/tree-shaking: Support ForStatement (#3078) (Wang Wenzhe)c3ec710linter/tree-shaking: Support ExportNamedDeclaration (#3072) (Wang Wenzhe)8cdd5b0linter/tree_shaking: Support LogicExpression and MemberExpression (#3148) (Wang Wenzhe)
Bug Fixes
fde7d65linter: Handle named export default in import-plugin/named (#3158) (Boshen)b1bddaclinter: Fix hang if a file fails to parse while using--import-plugin(Boshen)dcb2528semantic: Revert test code pushed to the main by accident. (#3085) (Ali Rezvani)8d17ab3semantic: Allowroot_nodeto be empty for empty trees. (#3084) (Ali Rezvani)
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)942b2baast: Add array elementElisiontype (#3074) (overlookmotel)222030clinter: Render--rulesin a table (Boshen)1f12aeelinter/jsdoc: Misc improvements (#3109) (Yuji Sugiura)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)ae65613syntax: UseFxHashMapforModuleRecord::request_modules(#3124) (Boshen)
[0.3.1] - 2024-04-22
Bug Fixes
a5a7351linter: Fix unwanted plugin rules being enabled (Boshen)
[0.3.0] - 2024-04-22
Features
92d709bast: AddCatchParameternode (#3049) (Boshen)8d17bb4linter: --deny all should not enable nursery rules (Boshen)c2ad8f8linter: Implement fixer fortypescript-eslint/consistent-type-definitions(#3045) (Todor Andonov)ae72be1linter: Remove all ESLint Stylistic rules (Boshen)58d6438linter: Change no-empty-static-block tocorrectness(Boshen)5cf55c2linter: No barrel file. (#3030) (Ali Rezvani)ae1f15alinter: Support eslint globals (#3038) (Boshen)1a1ba11linter/tree-shaking: SupportExportDefaultDeclaration(#3052) (Wang Wenzhe)
Bug Fixes
b88dfd7linter: Support-D all -D nursery(Boshen)598bbbalinter: Fix crashing withunwrapin import/no-cycle (#3035) (Boshen)
Performance
6c82961ast: Box typescript enum variants. (#3065) (Ali Rezvani)48e2088ast: Box enum variants (#3058) (overlookmotel)
Refactor
53c0ff5linter: Improve the ergonomics aroundESlintConfig(#3037) (Boshen)7e4beb0linter/import/no_cycle: Use ModuleGraphVisitor. (#3064) (Ali Rezvani)
[0.2.18] - 2024-04-19
Features
2bac1d5linter: Supportoxlint-disablealongsideeslint-disable(#3024) (Boshen)fa08abelinter: Remove import/no-unresolved (#3023) (Boshen)9b4e87alinter: Eslint/max-len (#2874) (谭光志)df2036elinter: Implement plugin-jsdoc/check-property-names (#2989) (Yuji Sugiura)aa62dbblinter: Add missing test cases to no-empty-interface and add config (#2973) (Jose)ba2121flinter: Add --jsdoc-plugin flag (#2935) (Yuji Sugiura)395ad76linter/jsdoc: Update settings.jsdoc method (#3016) (Yuji Sugiura)5d89e75linter/jsdoc: Implement require-property-(type|name|description) rules (#3013) (Yuji Sugiura)7de9c91linter/jsdoc: Implement require-property rule (#3011) (Yuji Sugiura)ac37d55linter/tree-shaking: Support DoWhileStatement and IfStatement (#2994) (Wang Wenzhe)5b02ae1linter/tree-shaking: Support ConditionalExpression (#2965) (Wang Wenzhe)da5ea41linter/tree-shaking: Support Class (#2964) (Wang Wenzhe)
Bug Fixes
627dd42linter/no-empty-interface: Add missing test (#2979) (Jose)
[0.2.17] - 2024-04-11
Features
6757dbalinter: Eslint-plugin-jest/prefer-lowercase-title (#2911) (cinchen)b4b471flinter: Typescript-eslint/consistent-type-definitions (#2885) (Todor Andonov)990eda6linter/tree-shaking: Support part BinaryExpression (#2922) (Wang Wenzhe)
Bug Fixes
5abbb0clinter: Import/no-cycle ignore type-only imports (#2924) (John Daly)
Refactor
0a77d62semantic/jsdoc: Rework JSDoc struct for better Span handling (#2917) (Yuji Sugiura)
[0.2.16] - 2024-04-08
Features
acb6eb2linter: @typescript-eslint/prefer-for-of (#2789) (Denis Gonchar)aa63b64linter: Implement jsdoc/check-access (#2642) (Yuji Sugiura)6823482linter: Implement jsdoc/empty-tags (#2893) (Yuji Sugiura)7bc638elinter: Eslint-plugin-jest/prefer-mock-promise-sorthand (#2864) (cinchen)6de1b77linter/import: AddignoreTypesoption for theimport/no-cyclerule (#2905) (John Daly)b053d54linter/tree-shaking: Support try-catch and AwaitExpression (#2902) (Wang Wenzhe)59869d0linter/tree-shaking: Checkthisin different environment (#2901) (Wang Wenzhe)ce34829linter/tree-shaking: Support ThisExpression and NewExpression (#2890) (Wang Wenzhe)15d08f6linter/tree-shaking: Support ArrowFunctionExpression (#2883) (Wang Wenzhe)4a86dcblinter/tree-shaking: SupportArrayExpressionandArrayPattern(#2882) (Wang Wenzhe)
Bug Fixes
5f8f7f8ast:FinallyClausewon't get visited asBlockStatementanymore. (#2881) (Ali Rezvani)79e2c95linter: Handle self closing script tags in astro partial loader (#2017) (#2907) (Kalven Schraut)1cd5e75linter: Svelte partial loader handle generics (#2875) (#2906) (Kalven Schraut)
[0.2.15] - 2024-03-30
Features
2365198cli: Add tsconfig file validation in LintRunner (#2850) (Dunqing)d63807elinter: Fallback to the default tsconfig path (#2842) (Dunqing)f6391f9linter: Eslint-plugin-jest/prefer-comparison-matcher (#2806) (cinchen)f131442linter: Eslint-plugin-jest/no-untyped-mock-factory (#2807) (cinchen)451162elinter: Eslint/no-iterator (#2758) (Jose)53ffbc6linter: Eslint-plugin-react checked-requires-onchange-or-readonly (#2754) (keita hino)1c07a99linter: Default_param_last (#2756) (Jose)291dc05linter: No_script_url (#2761) (Jose)76cc906linter/import: Ignore type-only imports and exports in no_unresolved (#2849) (Dunqing)0cae373linter/tree-shaking: Pass CallExpression cases (#2839) (Wang Wenzhe)fa39fa8linter/tree-shaking: Check CallExpression when called (#2809) (Wang Wenzhe)3c9e77dlinter/tree-shaking: Detect CallExpression in MemberExpression (#2772) (Wang Wenzhe)
Bug Fixes
df62828linter/import: Ignore export declaration in no-duplicates (#2863) (Dunqing)c452897linter/import: False positive for indirect export in namespace (#2862) (Dunqing)64e4de7linter/max-lines: Only report codes that exceed the line limit (#2778) (Wang Wenzhe)
Refactor
1b5e544semantic: Distinguish whether requested_modules is type imports/exports (#2848) (Dunqing)d9b77d8sourcemap: Change sourcemap name to take a reference (#2779) (underfin)
[0.2.14] - 2024-03-19
c3477deast: [BREAKING] Rename BigintLiteral to BigIntLiteral (#2659) (Arnaud Barré)
Features
ac813a6linter: No_template_curly_in_string (#2763) (Jose)134e15elinter: Eslint/no-proto (#2760) (Jose)39b98balinter: No_eq_null (#2757) (Jose)86d006elinter: Eslint/max-params (#2749) (Jose)22c84c5linter: Eslint/guard-for-in (#2746) (Jose)f5b4599linter: Eslint/no-ternary (#2744) (Jose)6189985linter: Eslint/no-continue (#2742) (Jose)91e8a71linter: Eslint/no-with (#2741) (Andi Pabst)81752b2linter: Eslint/max-lines (#2739) (Andi Pabst)0623a53linter: Eslint-plugin-jest:prefer-to-contain(#2735) (cinchen)9edda49linter: Eslint-plugin-jest:prefer-expect-resolves(#2703) (cinchen)53a8e7flinter: Add settings.jsdoc (#2706) (Yuji Sugiura)f8fe3aflinter: Eslint-plugin-jest: prefer-to-be (#2702) (cinchen)265030dlinter: Eslint-plugin-jest: prefer-spy-on (#2666) (cinchen)3ae9479linter: Report side effect for array element in node_side_effects rule (#2683) (Wang Wenzhe)366a879linter: Resolve ESM star exports (#2682) (Boshen)9b56134linter: Support check ImportNamespaceSpecifier in no_import_assign (#2617) (Dunqing)7605cd3linter: Change ban-ts-comment to pedantic (Boshen)95ac265linter/import: Check ObjectPattern syntax in namespace (#2691) (Dunqing)e86cd62linter/import: Support check reexport binding in namespace (#2678) (Dunqing)4947809linter/jest: Add new property forparse_jest_fn(#2715) (cinchen)2ef4762linter/tree-shaking: Add cache for checking mutating identifiers (#2743) (Wang Wenzhe)11219d4linter/tree_shaking: Check assignment of identifier (#2697) (Wang Wenzhe)57ce737semantic: Move redeclare varaibles to symbol table (#2614) (Dunqing)8b3de77span:impl<'a> PartialEq<str> for Atom<'a>(#2649) (Boshen)4f9dd98span: RemoveFrom<String>andFrom<Cow>API because they create memory leak (#2628) (Boshen)f8e8af2task: Init eslint-plugin-tree-shaking rule (#2662) (Wang Wenzhe)-265b2fbMiette v7 (#2465) (Boshen)
Bug Fixes
a671d75linter: Fix guard_for_in span error (#2755) (Jose)09d4c7dlinter: Correct example for no-obj-calls rule (#2618) (overlookmotel)b453a07parser: Parse named rest element in type tuple (#2655) (Arnaud Barré)
Refactor
0f86333ast: RefactorTriviasAPI - have less noise around it (#2692) (Boshen)220eba1lint: Split files for no_side_effects rule (#2684) (Wang Wenzhe)47e735alinter: Improve the implementation of no_shadow_restricted_names based on symbols (#2615) (Dunqing)240ff19parser: Improve parsing ofBindingPatternin TypeScript (#2624) (Boshen)798a6dfspan: Disallow struct expression constructor forSpan(#2625) (Boshen)-8001b2fMakeCompactStrimmutable (#2620) (overlookmotel)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.2.13] - 2024-03-05
Features
35ce3cclinter: Eslint-plugin-jest: prefer-to-have-length (#2580) (cinchen)212f128linter: Eslint-plugin-jest: prefer-strict-equal (#2581) (cinchen)fe777f3linter/import: Partial support namespace check (#2538) (Dunqing)
Bug Fixes
951297elinter: Avoid crash if no members in TSTypeLiteral in typescript/prefer-function-type (#2604) (Wenzhe Wang)c09c602linter: Exclude typescript syntax function in only_used_in_recursion (#2595) (Dunqing)f00834dlinter: Fix getter return rule false positives in TypeScript (#2543) (BlackSoulHub)24d46bcparser: Fix span start for TSModuleDeclaration (#2593) (Arnaud Barré)37de80dsemantic: Jsx reference with an incorrect node id (#2546) (Dunqing)-7cc9013Broken build from codegen API change (Boshen)
Refactor
ef932a3codegen: Clean up API around building sourcemaps (#2602) (Boshen)1391e4asemantic/jsdoc: Misc fixes for JSDoc related things (#2531) (Yuji Sugiura)
[0.2.12] - 2024-02-28
Features
3efbbb2ast: Add "abstract" type toMethodDefinitionandPropertyDefinition(#2536) (Boshen)02c82c3cli,linter: Provide tsconfig path from the cli (#2526) (Boshen)d41dcc3linter: Remove all commonjs logic for import plugin (#2537) (Boshen)
[0.2.11] - 2024-02-26
Features
f5aadc7linter: Handle cjs `module.exports = {} as default export (#2493) (Boshen)f64c7e0linter: Handle cjsmodule.exports.foo = barandexports.foo = bar(#2492) (Boshen)d0a9c46linter: Handle top-levelrequirefor import plugin (#2491) (Boshen)696818alinter: Implement @typescript-eslint/prefer-ts-expect-error (#2435) (Alex Yip)6aa8c2dlinter: Initialize resolver lazily and automatically read tsconfig.json for now (#2482) (Boshen)135e56alinter: Ignore unsupported extensions in import/no_unresolved (#2481) (Boshen)7f86722linter: Handle built-in modules in import/no_unresolved (#2479) (Boshen)015b2eelinter: Eslint-plugin-react void-dom-elements-no-children (#2477) (keita hino)c5f67felinter: Add boilerplate for eslint-plugin-import/no_duplicates (#2476) (Boshen)f1e364flinter: Eslint-plugin-import/no_unresolved (#2475) (Boshen)2714a32linter: Continue working on no_cycle (#2471) (Boshen)6527bfdlinter: Add boilerplace code for import/namespace,no_deprecated,no_unused_modules (#2470) (Boshen)ff6a337linter: Typescript-eslint: prefer-function-type (#2337) (zhangrunzhao)
Bug Fixes
93742f8linter: Correct configuration file parsing for jsx-no-useless-fragment (#2512) (keita hino)fba66dclinter: Improve import/no-named-as-default (#2494) (Boshen)d741d72linter: Fix import plugin hanging when ignored modules are imported (#2478) (Boshen)35a0f89linter: Handle cases where createElement is an Identifier in is_create_element_call (#2474) (keita hino)bc22ae5semantic: Refactor jsdoc finding (#2437) (Yuji Sugiura)
Refactor
540f917ast: RemoveTSEnumBody(#2509) (Boshen)9087f71ast: S/TSThisKeyword/TSThisType to align with estree (Boshen)d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)e6b391aast: S/ArrowExpression/ArrowFunctionExpression to align estree (Boshen)
[0.2.10] - 2024-02-21
Features
e6d536ccodegen: Configurable typescript codegen (#2443) (Andrew McClenaghan)f7e1576linter: Eslint no-nonoctal-decimal-escape (#2428) (tudorbarbu)
Bug Fixes
5bd2ce6semantic: Incorrect reference flag for MemberExpression assign (#2433) (Dunqing)
Refactor
cd48e1elinter: Simplify getting ImportDefaultSpecifier (#2453) (Dunqing)2a2bb2blinter: Improve implementation of no_dupe_class_members based on ClassTable (#2446) (Dunqing)-a2c173dRemovepanic!from examples (#2454) (Boshen)
[0.2.9] - 2024-02-18
Features
0b9e122linter: Implementunicorn/no-process-exitrule (#2410) (Yuji Sugiura)d9f073elinter: Detect jest file by default glob pattern (#2408) (Wenzhe Wang)8d6202flinter: Eslint-plugin-jest require-to-throw-message (#2384) (keita hino)92afbb1linter: Eslint-plugin-jest: prefer-equality-matcher (#2358) (cinchen)40e9541semantic: Add export binding for ExportDefaultDeclarations in module record (#2329) (Dunqing)-8e0277eAdd Typescript ban-tslint-comment (#2371) (tudorbarbu)
Bug Fixes
f49ffb2linter:getter-returnfalse positive with TypeScript syntax (#2363) (Boshen)ebc08d4linter: Add missing typescript-eslint(_) prefix for some errors (#2342) (Maurice Nicholson)6a25864linter/jsx_a11y: Refactor jsx-a11y related utils and its usage (#2389) (Yuji Sugiura)2521b52linter/jsx_a11y: Ensure plugin settings are used (#2359) (Yuji Sugiura)
Performance
7d7a3fclint/no_var_requires: Quicker way to check if theIdentifierReferencepoint to a global variable (#2376) (Yunfei He)
Refactor
67d7a46linter: Get arrow expression by scope_id in no_render_return_value (#2424) (Dunqing)63b4741linter/config: Use serde::Deserialize for config parsing (#2325) (Yuji Sugiura)
[0.2.8] - 2024-02-06
Features
d571839ast: Enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317) (Dunqing)a762d17linter: Promoteno-this-before-superto correctness (#2313) (Boshen)0060d6alinter: Implement no_this_before_super with cfg (#2254) (Tzvi Melamed)f3035f1semantic: Apply ImportSpecifier's binder and remove ModuleDeclaration's binder (#2307) (Dunqing)-8771c64Add typescript-eslint rule array-type (#2292) (luhc228)
Bug Fixes
b5e43fblinter: Fix no_dupe_keys false postive on similar key names (#2291) (Boshen)
Refactor
1822cfeast: Fix BigInt memory leak by removing it (#2293) (Boshen)
[0.2.7] - 2024-02-03
Features
2578bb3ast: Remove generator property from ArrowFunction (#2260) (Dunqing)a95a16clinter: Complete custom components setting (#2234) (hjio)da3b305linter: Implement @next/next/no-before-interactive-script-outsi… (#2203) (kaykdm)b694a6alinter: Implement @next/next/no-unwanted-polyfillio (#2197) (kaykdm)e561457semantic: Track cfg index per ast node (#2210) (Tzvi Melamed)
Bug Fixes
2beacd3lexer: Correct the span for irregular whitespaces (#2245) (Boshen)37a2676linter: AllowFunction doesn't support generator (#2277) (Dunqing)f039ad6linter: Ban--fixfor variety files(vue, astro, svelte) (#2189) (Wenzhe Wang)f32228elinter: Jsx no undef match scope should check with ancestors (#2027) (西了意)73ccf8aoxc_semantic: Proper traversal of try statements (#2250) (Tzvi Melamed)
Refactor
1de3518linter: Remove Regex and change error position (#2188) (Wenzhe Wang)-650f6c9Use our forked version of miette::Reporter for tests (#2266) (Boshen)-87b9978Move all miette usages tooxc_diagnostics(Boshen)
[0.2.6] - 2024-01-26
Features
ee5b968linter: Support read env from eslintrc (#2130) (fi3ework)8898377semantic: Cfg prototype (#2019) (Boshen)2794064transfrom: Transform-json-strings (#2168) (underfin)
Bug Fixes
2e3153elinter: Rename react_perf/jsx_no_new_function_as_props to jsx_no_new_function_as_prop (#2175) (Yuji Sugiura)
Refactor
a17e43elinter: Move settings and env to the config module (#2181) (Boshen)
[0.2.5] - 2024-01-25
Features
ac1d318linter: Eslint-plugin-jest: prefer-called-with (#2163) (cin)3891430linter: Eslint: no-void (#2162) (cin)
Bug Fixes
989ab88codegen: PrintDirectiveoriginal string (#2157) (underfin)c18619elinter: Use correct rule name (#2169) (Yuji Sugiura)2602232linter: Explicit-length-check inside ternary (#2165) (Maurice Nicholson)
[0.2.3] - 2024-01-23
Features
6d808a6linter: Linter-eslint-plugin-import/no-named-as-default (#2109) (Valerii Smirnov)d90db3alinter: Promote no-new-array to correctness with better help message (#2123) (Boshen)69fecaclinter: Eslint config jsonc support (#2121) (Boshen)5ca07bclinter: Eslint-plugin-react-perf (#2086) (Hulk)b160842linter: Support eslint config in nextjs eslint (#2107) (kaykdm)16b3261linter: Eslint-plugin-jest: no-restricted-jest-methods (#2091) (cin)-20a34b5Introduce --react-perf-plugin CLI flag, update rules to correctness (#2119) (Hulk)-4adce6f(eslint-plugin-jest): no-restricted-matchers (#2090) (cin)
Bug Fixes
d00c44clinter: Allow[...new Array(n)]in no-useless-spread (#2124) (Boshen)2228aa8linter: Jsx_a11y/img-redundant linter enable test case(#2112) (msdlisper)142f84flinter: Not usenew_inlinewith flexible str (#2106) (Wenzhe Wang)
Refactor
766ca63ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)8bccdabsemantic: Add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114) (Dunqing)
[0.2.2] - 2024-01-20
Features
721a869linter: Improve no_redeclare rule implementation (#2084) (Dunqing)-2f1e1e2Expose linter RULES and use it for listing (#2083) (Yuji Sugiura)
Bug Fixes
d7ecd21linter: Eslint-plugin-import no-named-as-default-member rule (#2071) (Valerii Smirnov)3faa2aalinter: S/consistent-type-export/consistent-type-exports (#2065) (Boshen)
Refactor
a368134linter: Perfect the scope linter (#2092) (msdlisper)
[0.2.1] - 2024-01-16
Features
9e06bd7linter: Remove the--timingsfeature (#2049) (Boshen)c60c315linter: Eslint-plugin-import no-named-as-default-member rule (#1988) (Valerii Smirnov)530d1belinter: Eslint-plugin-jsx-a11y no-redundant-roles rule (#1981) (Yuto Yoshino)198f0e5linter: Eslint-plugin-jsx-a11y aria-activedescendant-has-tabindex (#2012) (keita hino)a356918linter: Eslint-plugin-next: no-document-import-in-page (#1997) (kaykdm)c70a065linter: Eslint-plugin-next: no-head-element (#2006) (kaykdm)8f0f824linter: Eslint-plugin-next: no-typos (#1978) (kaykdm)04540f7linter: Eslint-plugin-jsx-a11y click-events-have-key-events (#1976) (Yuji Sugiura)
Bug Fixes
3b40fbdlinter: False positive for filename_case where filename doesn't have a proper casing (#2032) (Boshen)68606c4linter: Keep rules disabled if the rule is not enabled in the config (#2031) (Boshen)107a32elinter: Fix false positive forerasing-opin0/0case (#2009) (Cameron)
Refactor
f514410linter: MoveLintSettingsto its own file (#2052) (Boshen)ae4e714linter: Remove theLintSettingsparameter fromLintContext::new. (#2051) (Boshen)b386177linter: Move away from tuples for test cases (#2011) (Boshen)
[0.2.0] - 2024-01-12
Features
d51c9f1linter: Eslint-plugin-jest: no-test-return-statement (#1979) (cin)fb5d0a7linter: Add support for same rule name but different plugin names (#1992) (Boshen)b7ea4e5linter: Support vue generic component (#1989) (Boshen)c5887bclinter: Implement @typescript-eslint/triple-slash-reference (#1903) (kaykdm)ac704cclinter: Eslint-plugin-jsx-a11y autocomplete-valid (#1901) (Yuto Yoshino)40dbfaelinter: Eslint-plugin-react: no-direct-mutation-state (#1892) (zhangrunzhao)856b9a5linter: Support overriding oxlint rules by eslint config (#1966) (Boshen)7891670linter: Eslint-plugin-react: require-render-return (#1946) (kaykdm)2b7ca59linter: Eslint-plugin-jsx-a11y role-has-required-aria-props (#1881) (Yuto Yoshino)f6047b6linter: Eslint-plugin-jsx-a11y role-support-aria-props (#1961) (Rintaro Itokawa)fd5856elinter: Eslint-plugin-jsx-a11y role-support-aria-props (#1949) (Rintaro Itokawa)c6eb519linter: Eslint-plugin-react: no-unknown-property (#1875) (Valerii Smirnov)fe48bfalsp: Support vue, astro and svelte (#1923) (IWANABETHATGUY)-ac3b44bNextjs plugin (#1948) (Cameron)
Bug Fixes
e0da12alinter: Allow eslintrc to add rule when overriding (#1984) (fi3ework)d4acd14linter: Jsx-key: handle anonymous functional components in arrays that have a function body (#1983) (Maurice Nicholson)b5f4f1elinter: Fix plugin name parsing when reading config file (#1972) (Hao Cheng)8d9894alinter: Support cases where aria-hidden includes expressions (#1964) (keita hino)66e95a5linter: Change severity of no-sparse-arrays to warnings (Boshen)
Refactor
a6717dbformatter,linter,codegen: Remove oxc_formatter (#1968) (Boshen)64310falinter: Remove duplicateget_jsx_attribute_name(#1971) (Cameron)