Skip to content

v48.3.9

Choose a tag to compare

@flowzone-app flowzone-app released this 30 Jul 15:00
0adda4a

Update dependency lint-staged to v17.2.0

Notable changes

  • #​1823 ee156cc - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:
  • #​1820 a626a9f - It's now possible to set --max-arg-length=Infinity to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options --max-arg-length and --concurrency has been improved.
  • #​1816 7568d4f - The console output of lint-staged has been simplified so that there's less interactive spinners and more explicit messages like "Started…" -> "Done!". The primary purpose of this was to remove Listr2, a very large dependency.
  • #​1816 c19079d - Try to restore hidden unstaged changes when using --no-revert.
  • #​1818 efb23a2 - Console output colors are enabled/disabled more consistently.
  • #​1818 26112a1 - Failed JS function tasks now properly kill other tasks, unless --continue-on-error is used. Previously their failure didn't affect other tasks.
lint-staged/lint-staged (lint-staged)

v17.2.0

Compare Source

Minor Changes
  • #​1823 ee156cc - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:

    /** @​type {import('lint-staged').Configuration} */
    export default {
      '*.ts': () => 'tsc', // Run "tsc" when any TS file is changed (for entire project)
    }

    Where the spawned command is literally "tsc" without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.

    Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:

    /** @​type {import('lint-staged').Configuration} */
    export default {
      '*.js': {
        title: 'Log staged JS files to console',
        task: async (files) => {
          console.log('Staged JS files:', files)
        },
      },
    }

v17.1.1

Compare Source

Patch Changes
  • #​1820 a626a9f - It's now possible to set --max-arg-length=Infinity to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options --max-arg-length and --concurrency has been improved.

v17.1.0

Compare Source

Minor Changes
  • #​1816 7568d4f - The console output of lint-staged has been simplified so that there's less interactive spinners and more explicit messages like "Started…" -> "Done!". The primary purpose of this was to remove Listr2, a very large dependency.

    Before:

    Size of node_modules/ after installing: 1561.7 kB with 29 packages.

    Fancy interactive spinners, but output dynamically changes:

    ✔ Backed up original state in git stash (0b191303)
    ✔ Running tasks for staged files...
    ✔ Staging changes from tasks...
    ✔ Cleaning up temporary files...

    After:

    Size of node_modules/ after installing: 974.0 kB with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).

    Simpler but more explicit output:

    ⋯ Backing up original state…
    ✔ Done backing up original state (35b38ed1)!
    ⋯ Running tasks for staged files…
        *.js — 1 file
          ⋯ oxlint --fix
        *.{json,md} — 1 file
          ⋯ oxfmt --write
    
    ✔ oxfmt --write
    ✔ oxlint --fix
    
    ✔ Done running tasks for staged files!
    ⋯ Staging changes from tasks…
    ✔ Done staging changes from tasks!
    ⋯ Cleaning up temporary files…
    ✔ Done cleaning up temporary files!
Patch Changes
  • #​1816 c19079d - Try to restore hidden unstaged changes when using --no-revert.

  • #​1818 efb23a2 - Console output colors are enabled/disabled more consistently.

  • #​1818 26112a1 - Failed JS function tasks now properly kill other tasks, unless --continue-on-error is used. Previously their failure didn't affect other tasks.

List of commits

f49b04c (Update dependency lint-staged to v17.2.0, 2026-07-30)