Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 20, 2025

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
@eslint/js (source) 9.39.1 -> 9.39.2 age confidence devDependencies patch
@types/node (source) 24.10.1 -> 24.10.4 age confidence devDependencies patch
@typescript-eslint/eslint-plugin (source) 8.48.0 -> 8.50.0 age confidence devDependencies minor
@typescript-eslint/parser (source) 8.48.0 -> 8.50.0 age confidence devDependencies minor
@vitest/coverage-v8 (source) 4.0.14 -> 4.0.16 age confidence devDependencies patch
esbuild 0.27.0 -> 0.27.2 age confidence devDependencies patch
eslint (source) 9.39.1 -> 9.39.2 age confidence devDependencies patch
node (source) 24.11.1 -> 24.12.0 age confidence minor
pnpm (source) 10.24.0 -> 10.26.1 age confidence minor
prettier (source) 3.7.3 -> 3.7.4 age confidence devDependencies patch
typescript-eslint (source) 8.48.0 -> 8.50.0 age confidence devDependencies minor
vitest (source) 4.0.14 -> 4.0.16 age confidence devDependencies patch

Release Notes

eslint/eslint (@​eslint/js)

v9.39.2

Compare Source

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v8.50.0

Compare Source

🚀 Features
  • eslint-plugin: [no-useless-default-assignment] add rule (#​11720)
❤️ Thank You
  • Josh Goldberg ✨
  • Ulrich Stark

You can read about our versioning strategy and releases on our website.

v8.49.0

Compare Source

🚀 Features
  • eslint-plugin: use Intl.Segmenter instead of graphemer (#​11804)
🩹 Fixes
  • deps: update dependency prettier to v3.7.2 (#​11820)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.48.1

Compare Source

🩹 Fixes
  • eslint-plugin: [restrict-template-expressions] check base types in allow list (#​11764, #​11759)
  • eslint-plugin: honor ignored base types on generic classes (#​11767)
  • eslint-plugin: [consistent-type-exports] check value flag before resolving alias (#​11769)
❤️ Thank You

You can read about our versioning strategy and releases on our website.

typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

v8.50.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.49.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v8.48.1

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

vitest-dev/vitest (@​vitest/coverage-v8)

v4.0.16

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.15

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub
evanw/esbuild (esbuild)

v0.27.2

Compare Source

  • Allow import path specifiers starting with #/ (#​4361)

    Previously the specification for package.json disallowed import path specifiers starting with #/, but this restriction has recently been relaxed and support for it is being added across the JavaScript ecosystem. One use case is using it for a wildcard pattern such as mapping #/* to ./src/* (previously you had to use another character such as #_* instead, which was more confusing). There is some more context in nodejs/node#49182.

    This change was contributed by @​hybrist.

  • Automatically add the -webkit-mask prefix (#​4357, #​4358)

    This release automatically adds the -webkit- vendor prefix for the mask CSS shorthand property:

    /* Original code */
    main {
      mask: url(x.png) center/5rem no-repeat
    }
    
    /* Old output (with --target=chrome110) */
    main {
      mask: url(x.png) center/5rem no-repeat;
    }
    
    /* New output (with --target=chrome110) */
    main {
      -webkit-mask: url(x.png) center/5rem no-repeat;
      mask: url(x.png) center/5rem no-repeat;
    }

    This change was contributed by @​BPJEnnova.

  • Additional minification of switch statements (#​4176, #​4359)

    This release contains additional minification patterns for reducing switch statements. Here is an example:

    // Original code
    switch (x) {
      case 0:
        foo()
        break
      case 1:
      default:
        bar()
    }
    
    // Old output (with --minify)
    switch(x){case 0:foo();break;case 1:default:bar()}
    
    // New output (with --minify)
    x===0?foo():bar();
  • Forbid using declarations inside switch clauses (#​4323)

    This is a rare change to remove something that was previously possible. The Explicit Resource Management proposal introduced using declarations. These were previously allowed inside case and default clauses in switch statements. This had well-defined semantics and was already widely implemented (by V8, SpiderMonkey, TypeScript, esbuild, and others). However, it was considered to be too confusing because of how scope works in switch statements, so it has been removed from the specification. This edge case will now be a syntax error. See tc39/proposal-explicit-resource-management#215 and rbuckton/ecma262#14 for details.

    Here is an example of code that is no longer allowed:

    switch (mode) {
      case 'read':
        using readLock = db.read()
        return readAll(readLock)
    
      case 'write':
        using writeLock = db.write()
        return writeAll(writeLock)
    }

    That code will now have to be modified to look like this instead (note the additional { and } block statements around each case body):

    switch (mode) {
      case 'read': {
        using readLock = db.read()
        return readAll(readLock)
      }
      case 'write': {
        using writeLock = db.write()
        return writeAll(writeLock)
      }
    }

    This is not being released in one of esbuild's breaking change releases since this feature hasn't been finalized yet, and esbuild always tracks the current state of the specification (so esbuild's previous behavior was arguably incorrect).

v0.27.1

Compare Source

  • Fix bundler bug with var nested inside if (#​4348)

    This release fixes a bug with the bundler that happens when importing an ES module using require (which causes it to be wrapped) and there's a top-level var inside an if statement without being wrapped in a { ... } block (and a few other conditions). The bundling transform needed to hoist these var declarations outside of the lazy ES module wrapper for correctness. See the issue for details.

  • Fix minifier bug with for inside try inside label (#​4351)

    This fixes an old regression from version v0.21.4. Some code was introduced to move the label inside the try statement to address a problem with transforming labeled for await loops to avoid the await (the transformation involves converting the for await loop into a for loop and wrapping it in a try statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to for loops that esbuild itself generates internally as part of the for await transform. Here is an example of some affected code:

    // Original code
    d: {
      e: {
        try {
          while (1) { break d }
        } catch { break e; }
      }
    }
    
    // Old output (with --minify)
    a:try{e:for(;;)break a}catch{break e}
    
    // New output (with --minify)
    a:e:try{for(;;)break a}catch{break e}
  • Inline IIFEs containing a single expression (#​4354)

    Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single return statement. Now it should also work if the body contains a single expression statement instead:

    // Original code
    const foo = () => {
      const cb = () => {
        console.log(x())
      }
      return cb()
    }
    
    // Old output (with --minify)
    const foo=()=>(()=>{console.log(x())})();
    
    // New output (with --minify)
    const foo=()=>{console.log(x())};
  • The minifier now strips empty finally clauses (#​4353)

    This improvement means that finally clauses containing dead code can potentially cause the associated try statement to be removed from the output entirely in minified builds:

    // Original code
    function foo(callback) {
      if (DEBUG) stack.push(callback.name);
      try {
        callback();
      } finally {
        if (DEBUG) stack.pop();
      }
    }
    
    // Old output (with --minify --define:DEBUG=false)
    function foo(a){try{a()}finally{}}
    
    // New output (with --minify --define:DEBUG=false)
    function foo(a){a()}
  • Allow tree-shaking of the Symbol constructor

    With this release, calling Symbol is now considered to be side-effect free when the argument is known to be a primitive value. This means esbuild can now tree-shake module-level symbol variables:

    // Original code
    const a = Symbol('foo')
    const b = Symbol(bar)
    
    // Old output (with --tree-shaking=true)
    const a = Symbol("foo");
    const b = Symbol(bar);
    
    // New output (with --tree-shaking=true)
    const b = Symbol(bar);
eslint/eslint (eslint)

v9.39.2

Compare Source

nodejs/node (node)

v24.12.0: 2025-12-10, Version 24.12.0 'Krypton' (LTS), @​targos

Compare Source

Notable Changes
  • [1a00b5f68a] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #​59778
  • [ff5754077d] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #​59982
  • [8987159234] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #​60600
  • [92c484ebf4] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #​59953
  • [b11bc5984e] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #​60217
  • [e7da5b4b7d] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #​60178
  • [a7f7d10c06] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #​58797
  • [92ea669240] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #​59711
  • [05d7509bd2] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #​59807
Commits

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) in timezone Pacific/Auckland, 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Dec 20, 2025
@coderabbitai
Copy link

coderabbitai bot commented Dec 20, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.72%. Comparing base (fe61e45) to head (b393b6c).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #319   +/-   ##
=======================================
  Coverage   91.72%   91.72%           
=======================================
  Files           7        7           
  Lines         266      266           
  Branches       66       66           
=======================================
  Hits          244      244           
  Misses          3        3           
  Partials       19       19           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Codex- Codex- merged commit 2211e45 into main Dec 20, 2025
7 checks passed
@Codex- Codex- deleted the renovate/all-minor-patch branch December 20, 2025 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants