Open
Conversation
1a9d506 to
19d87c5
Compare
19d87c5 to
b1b20c1
Compare
b1b20c1 to
438700e
Compare
644461c to
7d3e8e7
Compare
7d3e8e7 to
568c9ac
Compare
568c9ac to
d3e7d7e
Compare
d3e7d7e to
9209cfd
Compare
9209cfd to
3d40288
Compare
a44071a to
4c4a70a
Compare
f7d157e to
bf0f27d
Compare
2db5444 to
fadedb3
Compare
eada424 to
6e5c95f
Compare
e989bbf to
54a663f
Compare
54a663f to
36aa50c
Compare
36aa50c to
6e35d4a
Compare
6e35d4a to
893cb71
Compare
893cb71 to
156c749
Compare
156c749 to
da57aae
Compare
da57aae to
ee6d9c5
Compare
ee6d9c5 to
3b90481
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
15.2.10→15.5.20.9.3→0.18.1Release Notes
lint-staged/lint-staged (lint-staged)
v15.5.2Compare Source
Patch Changes
5561321Thanks @YimingIsCOLD! - Correctly handle colon (:) characters in staged filenames.v15.5.1Compare Source
Patch Changes
#1533
5d53534Thanks @iiroj! - Improve listing of staged files so that lint-staged doesn't crash when encountering an uninitialized submodule. This should result in less errors like:v15.5.0Compare Source
Minor Changes
630af5fThanks @iiroj! - Lint-staged no longer resets to the original state when preventing an empty git commit. This happens when your configured tasks reset all the staged changes, typically when trying to commit formatting changes which conflict with your linter setup like ESLint or Prettier.Example with Prettier
By default Prettier prefers double quotes.
Previously
file.jswith only double quotes"changed to'git commit -am "I don't like double quotes"prettier --write file.js, converting all the'back to"'are stagedNow
file.jswith only double-quotes"changed to'git commit -am "I don't like double quotes"prettier --write file.js, converting all the'back to"v15.4.3Compare Source
Patch Changes
cbfed1dThanks @tarik02! - Adjust TypeScript types for the default export so that it can be used as a value without error TS2693.v15.4.2Compare Source
Patch Changes
8827ebfThanks @iiroj! - Change lint-staged's dependencies to use caret (^) ranges instead of tilde (~). This makes it easier for package managers to perform dependency management when minor-level updates are also permitted instead of just patch-level.v15.4.1Compare Source
Patch Changes
#1504
1c7a45eThanks @iiroj! - Default TypeScript config filenames match JS equivalents.#1504
9cc18c9Thanks @iiroj! - Add missing conditional exports syntax for TypeScript types.v15.4.0Compare Source
Minor Changes
#1500
a8ec1ddThanks @iiroj! - Lint-staged now provides TypeScript types for the configuration and main Node.js API. You can use the JSDoc syntax in your JS configuration files:It's also possible to use the
.tsfile extension for the configuration if your Node.js version supports it. The--experimental-strip-typesflag was introduced in Node.js v22.6.0 and unflagged in v23.6.0, enabling Node.js to execute TypeScript files without additional configuration.Patch Changes
9b79364Thanks @iiroj! - Handle possible failures when logging user shell for debug info.v15.3.0Compare Source
Minor Changes
#1495
e69da9eThanks @iiroj! - Added more info to the debug logs so that "environment" info doesn't need to be added separately to GitHub issues.#1493
fa0fe98Thanks @iiroj! - Added more help messages around the automaticgit stashthat lint-staged creates as a backup (by default). The console output also displays the short git hash of the stash so that it's easier to recover lost files in case some fatal errors are encountered, or the process is killed before completing.For example:
where the backup can be seen with
git show 20addf8, orgit stash list:v15.2.11Compare Source
Patch Changes
#1484
bcfe309Thanks @wormsik! - Escape paths containing spaces when using the "shell" option.#1487
7dd8caaThanks @iiroj! - Do not treat submodule root paths as "staged files". This caused lint-staged to fail to a Git error when only updating the revision of a submodule.oxc-project/oxc (oxlint)
v0.18.1: oxlint v0.18.1Compare Source
[0.18.1] - 2025-06-09
🐛 Bug Fixes
6d68568linter: False negative in typescript/array-type (#11574) (camc314)6a856a0linter/no-magic-numbers: Fix typo in error message (#11560) (overlookmotel)3952e01linter: False negative in jsx-a11y/aria-role (#11547) (camc314)b0e3e08linter: Misplaced quote in jsx-curly-brace-presence test case (#11546) (camc314)a833ed1linter: Misplaced quote in anchor-is-valid test case (#11545) (camc314)4e53b80linter: Misplaced backtick in exhaustive-deps test case (#11544) (camc314)e8a04b6linter: Misplaced backtick in no-object-constructor test case (#11543) (camc314)65311d0linter: Remove duplicate rule/scope from diagnostic (#11531) (camc314)🚜 Refactor
7ab84c2editor: Use pattern for textDocument filter (#11559) (Sysix)9b475adlinter: Use one instance of rope per file (#11552) (Sysix)📚 Documentation
e13ed51editor/vscode: Fix typo in README (#11572) (David)fa924ablinter: Cleanup docs for multiple linter rules (#11551) (Ulrich Stark)⚡ Performance
7bf25cblanguage_server: TransformMessageWithPositiontoDiagnosticwith less allocations (#11561) (Sysix)v0.18.0: oxlint v0.18.0Compare Source
[0.18.0] - 2025-06-06
bd9dd88linter: [BREAKING] Add more info to json reporter (#11524) (camc314)Features
825d40clinter: Fix casing in unicorn/no-useless-promise-resolve-reject (#11528) (camc314)2faee3dlinter: Fix grammer in react/exhaustive-deps (#11527) (camc314)Bug Fixes
1a71d7clinter: Misplaced backtick in unicorn/no-array-for-each diagnostic (#11529) (camc314)7430b14linter: Grammer in jest/valid-expect diagnostic (#11522) (camc314)b92ac41linter: Grammer in eslint/no-redeclare diagnostic (#11521) (camc314)17883e3linter: Improve eslint/no-unsafe-negation diagnostic (#11520) (camc314)8c89937linter: Improve eslint/no-shadow-restricted-names diagnostic (#11519) (camc314)3f0d889linter: Add missing article to oxc/bad-array-method-on-arguments diagnostic (#11518) (camc314)cf0c24clinter: Improve message in react/prefer-es6-class diagnostic (#11516) (camc314)91855dflinter: Fix message in react/rules-of-hooks diagnostic (#11515) (camc314)b272194linter: Misplaced backtick in jest/no-conditional-expect diagnostic (#11514) (camc314)3403303linter: Misplaced backtick in unicorn/prefer-dom-node-dataset diagnostic (#11513) (camc314)d5ca872linter: Misplaced backtick in eslint/radix diagnostic (#11512) (camc314)2dcf8belinter: Improve diagnostic message when function name is referenced (#11509) (camc314)0de0c9clinter: Improve diagnostic message for no-unsafe-declaration-merging (#11508) (camc314)0946daclinter: Correctly inherit categories when plugins are enabled (#11353) (Cameron)510c1c6linter: Add missingallowArrowFunctionsoption for eslint/func-style (#11455) (yefan)c77787clinter: Improveeslint/no-loss-of-precision(#11437) (magic-akari)11d4523linter: False positive in react/exhaustive-deps (#11438) (camc314)616b613linter/switch-case-braces: Align the logic withunicorn(#11405) (shulaoda)Refactor
db0b099language_server: Convert only once uri to path when creatingServerLinter(#11503) (Sysix)ccceb52language_server: Simplifyworkspace/didChangeConfigurationcall (#11462) (Sysix)0fdc51elinter: SimplifyOxlintRules::override_rules(#11510) (camc314)Testing
2ba2893editor: Fix test for autofixAllon save (#11448) (Sysix)v0.17.0: oxlint v0.17.0Compare Source
[0.17.0] - 2025-05-30
ead5309linter: [BREAKING] Remove react from default plugin set (#11382) (camc314)Features
2d25bd8linter: Removeunicorn/no-for-loopovertypescript/prefer-for-of(#11354) (camc314)bbb7eb1linter: Add auto-fix to react/forward-ref-uses-ref (#11342) (yefan)590c27blinter: Add auto-fix to unicorn/no-await-expression-member (#11306) (yefan)7824f01linter: Implement suggestion forjsx/no-useless-fragment(#10800) (Cam McHenry)2083d33linter/language_server: Add second editor suggestion forreact/forward-ref-uses-ref(#11375) (Sysix)Bug Fixes
f6424ddlinter: Reflect react plugin is disabled by default in cli (#11397) (camc314)25ecbfelinter: Remove use ofFrameworkFlags::Reactto decide whether rules should run (#11383) (camc314)0d240e4linter: False positive in react/exhaustive-deps with default formal parameter (#11395) (camc314)c91697elinter: Fix panic in multi byte char inTryFromaria (#11350) (camc314)9798ef1linter: Stack overflow in no-async-endpoint-handlers (#11317) (camc314)348ad97linter: Skip no-unused-vars on astro files (#11303) (camc314)183d7f0linter: Makejest/no-large-snapshotserror easier to comprehend (#11294) (Ulrich Stark)4e606a5linter: Improvejest/no-large-snapshots(#11291) (Ulrich Stark)14f790flinter: Improvejest/no-restricted-matchers(#11292) (Ulrich Stark)a2c82belinter/block-scoped-var: Better diagnostic messages (#11290) (DonIsaac)19772e5linter/no-unused-vars: Panic when variable is redeclared as function in same scope (#11280) (Dunqing)7af5bb1oxc_language_server: Include save option for text document sync capability (#11297) (Nicholas Rayburn)Performance
0ed6c1alanguage_server: UseArc<RwLock>instead ofMutexfor workspace workers (#11328) (Sysix)a0ee946linter: Reduce code size inglobals(#11333) (shulaoda)c90c5e9linter/no-unused-vars: Simplify checking self call usage (#11281) (Dunqing)Documentation
eae51calinter: Clarify jsdoc/check-tag-names configuration (#11394) (Rägnar O'ock)cd354d4oxlint: Remove incorrect doc comment (#11326) (camc314)Refactor
42738f0linter: Shorten code of match arms (#11389) (Ulrich Stark)8a34447linter: Improveunicorn/text-encoding-identifier-case(#11386) (shulaoda)eaa605elinter: Avoid someArc::clonein linter runtime (#11388) (Boshen)1cd8b9clinter: Fixes inreact/forward-ref-uses-refare suggestions (#11376) (Sysix)50ef691linter: Adddiagnostics_with_multiple_fixestoLintContext(#11357) (Sysix)606bb34linter: AcceptPossibleFixesinstead ofFixforMessages(#11295) (Sysix)042a3f3linter: UsePossibleFixesinstead ofOption<Fix>(#11284) (Sysix)ffcfb46linter: Improveunicorn/throw-new-error(#11364) (shulaoda)8fb55c3linter: Cleanup docs and simplify code ofeslint/no-fallthrough(#11331) (Ulrich Stark)e2f0f0alinter: Improve docs and simplify code ofeslint/no-duplicate-imports(#11320) (Ulrich Stark)b53b053linter: Simplify accessing span of NameSpan (#11305) (Ulrich Stark)4bc2650linter: Improveeslint/no-void(#11285) (shulaoda)Styling
49b664clinter: Remove needless newline indeclare_oxc_lint(#11400) (camc314)Testing
c4f64aalinter: Explicitly disable correctness for clarity (#11327) (camc314)a404b2clinter:eslint/no-duplicate-importsshouldn't report the same span (#11324) (Ulrich Stark)v0.16.12Compare Source
Features
6a7018elinter: Generate stricter json schema for lint plugins (#11219) (camc314)Bug Fixes
e8470d9linter: Delay merging of oxlintrc configs (#10835) (camc314)v0.16.11: oxlint v0.16.11Compare Source
[0.16.11] - 2025-05-16
Features
078bf0blanguage_server: Better fallback handling when passing invalidOptionsvalues (#10930) (Sysix)be7f7e1language_server/editor: Support multi workspace folders (#10875) (Sysix)eef93b4linter: Add import/no-unassigned-import (#10970) (yefan)cc0112flinter: No-unused-vars add setting forreportVarsOnlyUsedAsTypes(#11009) (camc314)17e49c3linter: Implement configuration and checking loops foreslint/no_constant_condition(#10949) (Ulrich Stark)21117aclinter: Implement react/forbid-elements (#10928) (Thomas BOCQUEZ)466c24alinter: Add gitlab reporter output format (#10927) (Connor Pearson)a064082linter: Add import/consistent-type-specifier-style rule (#10858) (yefan)4733b52linter/no-extraneous-class: Add conditional fixer (#10798) (DonIsaac)Bug Fixes
87bf2a8editor: Send onlyworkspace/didChangeConfigurationwhen some workspace configuration is effected (#11017) (Sysix)ed5708deditor: Detect all workspaces config path changes (#11016) (Sysix)89cc21blanguage_server: Normalize oxlintrc config path (#10982) (Sysix)c52a9balinter: Fix plugins inside overrides not being applied (#11057) (camc314)b12bd48linter: Fix rule config not being correctly applied (#11055) (camc314)9a368belinter: False negative in no-restriced-imports withpatternsand side effects (#11027) (camc314)8c2cfbclinter: False negative in no-restricted-imports (#11026) (camc314)8956870linter: False positive in no-unused-vars (#11002) (camc314)33a60d2linter: Skip eslint/no-redeclare when running on modules (#11004) (camc314)39063celinter: Reword diagnostic message for no-control-regex (#10993) (camc314)9eedb58linter: False positive with negative matches in no-restricted-imports (#10976) (camc314)10e77d7linter: Improve diagnostics for no-control-regex (#10959) (camc314)0961296linter: Addgitlabto linter--helpdocs (#10932) (camc314)82889aelinter/no-extraneous-class: Improve docs, reporting and code refactor (#10797) (DonIsaac)11c34e7linter/no-img-element: Improve diagnostic and docs (#10908) (DonIsaac)584d8b9napi: Enable mimallocno_opt_archfeature on linux aarch64 (#11053) (Boshen)126ae75semantic: Distinguish class private elements (#11044) (magic-akari)773d0desemantic: Correctly handle nested brackets in jsdoc parsing (#10922) (camc314)b215b6csemantic: Dont parse@as jsdoc tags inside[/](#10919) (camc314)Documentation
db6afb9linter: Improve docs of no-debugger (#11033) (camc314)16541delinter: Improve docs of default-param-last (#11032) (camc314)2c2f3c4linter: Improve docs of default-case-last (#11031) (camc314)56bb9celinter: Improve docs of array-callback-return (#11030) (camc314)13dbcc6linter: Correct docs for default config for no-redeclare (#10995) (camc314)a86cbb3linter: Fix incorrect backticks of fenced code blocks (#10947) (Ulrich Stark)Refactor
3cc1466language_server: New configuration structure forinitializeandworkspace/didChangeConfiguration(#10890) (Sysix)bd2ef7dlanguage_server: UseArcfordiagnostic_report_map(#10940) (Sysix)bb999a3language_server: Avoid cloning linter by taking reference in LintService (#10907) (Ulrich Stark)d1b0c83linter: Remove overrides index vec (#11058) (camc314)7ad6cf8linter: Store severity separately, removeRuleWithSeverity(#11051) (camchenry)e31c361linter: Remove nested match statements in no-restricted-imports (#10975) (camc314)6ad9d4flinter: Tidyeslint/func-names(#10923) (camc314)faf0a95syntax: RenameNameSpaceModuletoNamespaceModule(#10917) (Dunqing)Testing
76b6b33editor: Add tests for multi workspace folder setup (#10904) (Sysix)v0.16.10: oxlint v0.16.10Compare Source
[0.16.10] - 2025-05-09
Features
e1bc037language_server: Request for workspace configuration when client did not send them ininitialize(#10789) (Sysix)3bd339blanguage_server: Provide commands / code actions for unopened files (#10815) (Sysix)4c62348linter: Regex/no-useless-backreference (#10773) (camc314)d7ebdd7linter: Add unicorn/no-unnecessary-slice-end rule (#10826) (yefan)Bug Fixes
f3cc3a2language_server: Request client for configuration when no configuration is passed inworkspace/didChangeConfiguration(#10871) (Sysix)24fcb1elanguage_server: Return server versioninitializeresponse (#10810) (Sysix)7d09973linter: False positive withwithResolversin prefer-await-to-then (#10896) (camc314)9b94300linter: Mark fixer as dangerous for erasing-op (#10868) (camc314)ae70cc1linter: Add missing option tono-shadow-restricted-names(#10827) (camc314)b2c287flinter/no-unused-vars: Fixer cannot delete usused for in/of iterators (#10824) (DonIsaac)5ce0a68linter/no-unused-vars: Recognize parameters used in await/yield expressions within comma expressions (#10808) (magic-akari)Performance
00ffbc9language_server: Do not request for configuration when all workers are ready (#10897) (Sysix)96cca22language_server: Usesimdutf8when reading files from file system (#10814) (Sysix)Documentation
efaadd3linter: Fix a few incorrect backticks inno_restricted_imports(#10914) (Boshen)ccda8f0linter: Improve no-plusplus docs (#10885) (Peter Cardenas)5f15809linter: Improve docs for jsdoc/require-property (#10705) (camc314)Refactor
553ab5blanguage_server: RemoveOnceCellfromWorkspaceWorker.root_uri(#10898) (Sysix)f43fd18language_server: Move the initialization ofServerLinterinto a separate call (#10776) (Sysix)39e0463language_server: Movenested_configstoServerLinter(#10775) (Sysix)9ec13f6language_server: Movegitignore_globtoServerLinter(#10762) (Sysix)3d47159language_server: UseIsolatedLintHandlerFileSystem(#10830) (Sysix)3d794f6language_server: Move functions related toServerLintertoServerLinter(#10761) (Sysix)79819cclinter: Move around some config store logic (#10861) (camc314)e132abalinter: Extract nested config searching to a fn (#10860) (camc314)243c247linter: Able to use custom file system in runtime (#10828) (Sysix)efb4fb8oxlint: Avoid result unwrap (#10836) (camc314)Testing
47b946dlinter: UseTesterFileSystemforRuntimes filesystem (#10829) (Sysix)v0.16.9: oxlint v0.16.9Compare Source
[0.16.9] - 2025-05-03
Features
63f02a8linter: Add react/forward_ref_uses_ref (#10506) (x6eull)a3ada34linter: Implement fixer for unicorn/prefer-number-properties (#10693) (camc314)e97a4e0linter: Add fixer to unicorn/prefer-spread (#10691) (camc314)a69a0eelinter: Add eslint/block-scoped-var (#10237) (yefan)387af3alinter: Report vars only used as types (#10664) (camc314)eac205flinter: Add unicorn/consistent-assert rule (#10653) (Shota Kitahara)0e6a727linter: Add autofixer for eslint/radix (#10652) (yefan)fb070c4linter/no-extra-boolean-cast: Implement auto-fixer (#10682) (DonIsaac)432cd77linter/no-new-wrapper: Implement auto-fixer (#10680) (DonIsaac)Bug Fixes
4ee95eceditor: Activate extension when astro files are opened too (#10725) (Sysix)46665bdlangage_server: Fix initialize nested configs (#10698) (Sysix)eb3f37clanguage_server: On configuration change, send updated diagnostics to the client (#10764) (Sysix)8c499c6linter: Fix panic when doing code gen on regexp (#10769) (camc314)8e99abflinter: Fix grammer in no unused vars diagnostic msg (#10770) (camc314)b38338alinter: Make require post message target origin a fixer a suggestion (#10754) (camc314)48c542dlinter: Skip linting vue <script> wherelangis not js / ts (#10740) (Boshen)c9575f6linter: Fix false positive in react/exhaustive deps (#10727) (camc314)d8d8f64linter: Shorten span of promise/prefer-await-to-then (#10717) (camc314)a88e349linter: MarkisNanandisFiniteas dangerous fixes inunicorn/prefer-number-properties(#10706) (Sysix)f4ab05flinter: Panic in unicorn/no-useless-spread (#10715) (camc314)06f1717linter: False positive in no unused vars when importing value used as type (#10690) (camc314)746b318linter: False positive in typescript/explicit-function-return-type withsatisfies(#10668) (camc314)cce1043linter: False positive in typescript/explicit-function-return-type (#10667) (camc314)c89da93linter: False positive in eslint/curly on windows (#10671) (camc314)374e19elinter: False positive in react/jsx-curly-brace-presence (#10663) (camc314)e7c2b32linter: Moveconsistent-asserttopedantic(#10665) (camc314)344ef88linter: False positive ineslint/no-unused-varswhen calling inside sequence expression (#10646) (Ulrich Stark)98bcd5flsp: Incorrect quick fix offset in vue files (#10742) (camc314)Documentation
275fe71editor:oxc.flagsare not related tooxlint(#10645) (Sysix)Refactor
2efe3f0linter: Move run on regex node to utils (#10772) (camc314)Testing
1c4f90feditor: Add test for nested config serverity (#10697) (Sysix)9ebf3d4language_server: Refactor tester to use WorkspaceWorker (#10730) (Sysix)5a709adlanguage_server: Add test forinit_nested_configs(#10728) (Sysix)2615758language_server: Fix slow test (#10659) (Alexander S.)fd18aaalanguage_server: Skip slow test (#10658) (overlookmotel)f6f1c5clsp: Include fixed content in lsp snapshots (#10744) (camc314)v0.16.8: oxlint v0.16.8Compare Source
[0.16.8] - 2025-04-27
Features
53394a7linter: Add auto-fix for eslint/require-await (#10624) (yefan)6908bc3linter: Add autofix for react/self-closing-comp (#10512) (x6eull)e228840parser: Fast forward lexer to EOF if errors are encountered (#10579) (Boshen)Bug Fixes
966fb03editor: Fix memory leaks when server or watchers restarted (#10628) (Sysix)f3eac51language_server: Fix max integer values for range position (#10623) (Alexander S.)d309e07language_server: Fix panics when paths contains specials characters like[or](#10622) (Alexander S.)91ce77alanguage_server: Temporary ignore tests that panic on Windows (#10583) (Yuji Sugiura)723b4c6linter: Cross_module of LintService not being enabled despite enabled import plugin (#10597) (Ulrich Stark)39adefelinter: Handle re-exporting of type correctly inimport/no-cycle(#10606) (Ulrich Stark)e67901blinter: Incorrect fix for prefer start ends with (#10533) (camc314)7c85ae7linter/no-empty-function: Support 'allow' option (#10605) (Don Isaac)9a02066oxlint: Current dir as arg (#9382) (Ben Jones)a9785e3parser,linter: Consider typescript declarations for named exports (#10532) (Ulrich Stark)Performance
3c27d0deditor: Avoid sendingworkspace/didChangeConfigurationrequest when the server needs a restarts (#10550) (Sysix)Refactor
e903ba2editor: Split Config to VSCodeConfig and WorkspaceConfig (#10572) (Sysix)f6c6969language_server: Make linter independent ofBackend(#10497) (Sysix)db05a15language_server: Do not request for worspace configuration when the client does not support it (#10507) (Sysix)9f9e0e5language_server: Move code actions into own file (#10479) (Sysix)Testing
9f43a58languageConfiguration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.