Skip to content

chore(deps): update all non-major dependencies - #3085

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-minor-patch
Open

chore(deps): update all non-major dependencies#3085
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
@stacksjs/bumpx ^0.2.4^0.2.17 age adoption passing confidence devDependencies patch
@stacksjs/bunpress (source) ^0.1.4^0.2.14 age adoption passing confidence devDependencies minor
@stacksjs/clapp ^0.2.0^0.2.15 age adoption passing confidence dependencies patch
@stacksjs/clapp ^0.2.0^0.2.15 age adoption passing confidence devDependencies patch
@stacksjs/gitlint ^0.1.5^0.1.8 age adoption passing confidence devDependencies patch
@stacksjs/logsmith ^0.2.1^0.2.11 age adoption passing confidence devDependencies patch
@types/bun (source) ^1.3.11^1.4.0 age adoption passing confidence devDependencies minor
actions/cache v5.0.3v5.1.0 age adoption passing confidence action minor
actions/checkout v6.0.2v6.1.0 age adoption passing confidence action minor
buddy-bot ^0.9.18^0.10.5 age adoption passing confidence devDependencies minor
bun-git-hooks ^0.3.1^0.3.3 age adoption passing confidence devDependencies patch
bunfig ^0.15.6^0.15.19 age adoption passing confidence devDependencies patch
esbuild >=0.27.4>=0.28.2 age adoption passing confidence peerDependencies minor
oven-sh/setup-bun v2.1.2v2.2.0 age adoption passing confidence action minor
oxc-parser (source) ^0.121.0^0.148.0 age adoption passing confidence devDependencies minor
oxc-transform (source) ^0.121.0^0.148.0 age adoption passing confidence devDependencies minor
pickier ^0.1.20^0.1.65 age adoption passing confidence devDependencies patch
vite (source) ^7.3.1^7.3.6 age adoption passing confidence devDependencies patch
webpack ^5.105.4^5.110.3 age adoption passing confidence peerDependencies minor

Release Notes

stacksjs/bumpx (@​stacksjs/bumpx)

v0.2.17

Compare Source

v0.2.16

Compare Source

v0.2.15

Compare Source

v0.2.14

Compare Source

v0.2.13

Compare Source

v0.2.12

Compare Source

v0.2.11

Compare Source

v0.2.10

Compare Source

v0.2.9

Compare Source

v0.2.8

Compare Source

v0.2.7

Compare Source

v0.2.6

Compare Source

v0.2.5

Compare Source

stacksjs/bunpress (@​stacksjs/bunpress)

v0.2.14

Compare Source

v0.2.13

Compare Source

v0.2.12

Compare Source

v0.2.11

Compare Source

v0.2.10

Compare Source

v0.2.9

Compare Source

v0.2.8

Compare Source

v0.2.7

Compare Source

v0.2.6

Compare Source

v0.2.5

Compare Source

v0.2.4

Compare Source

v0.2.3

Compare Source

v0.2.2

Compare Source

v0.2.1

Compare Source

v0.2.0

Compare Source

v0.1.21

Compare Source

v0.1.20

Compare Source

v0.1.19

Compare Source

v0.1.18

Compare Source

v0.1.17

Compare Source

v0.1.16

Compare Source

v0.1.15

Compare Source

v0.1.14

Compare Source

v0.1.13

Compare Source

v0.1.12

Compare Source

v0.1.11

Compare Source

v0.1.10

Compare Source

v0.1.9

Compare Source

v0.1.8

Compare Source

v0.1.7

Compare Source

v0.1.6

Compare Source

🐛 Bug Fixes
  • serve: strip mounted basePath from incoming request paths so /docs/** routing works behind path-based reverse proxies

v0.1.5

Compare Source

stacksjs/clapp (@​stacksjs/clapp)

v0.2.15

Compare Source

v0.2.14

Compare Source

v0.2.13

Compare Source

v0.2.12

Compare Source

v0.2.11

Compare Source

v0.2.10

Compare Source

v0.2.9

Compare Source

v0.2.8

Compare Source

v0.2.7

Compare Source

v0.2.6

Compare Source

v0.2.5

Compare Source

v0.2.4

Compare Source

v0.2.3

Compare Source

stacksjs/gitlint (@​stacksjs/gitlint)

v0.1.8

Compare Source

v0.1.7

Compare Source

v0.1.6

Compare Source

stacksjs/logsmith (@​stacksjs/logsmith)

v0.2.11

Compare Source

v0.2.10

Compare Source

v0.2.9

Compare Source

v0.2.8

Compare Source

v0.2.7

Compare Source

v0.2.6

Compare Source

v0.2.5

Compare Source

v0.2.4

Compare Source

actions/cache (actions/cache)

v5.1.0

Compare Source

What's Changed

Full Changelog: actions/cache@v5...v5.1.0

v5.0.5

Compare Source

What's Changed

Full Changelog: actions/cache@v5...v5.0.5

v5.0.4

Compare Source

What's Changed
New Contributors

Full Changelog: actions/cache@v5...v5.0.4

actions/checkout (actions/checkout)

v6.1.0

Compare Source

v6.0.3

Compare Source

stacksjs/buddy-bot (buddy-bot)

v0.10.5

Compare Source

Compare changes

⚡ Performance Improvements

  • ai: make the Anthropic SDK an optional peer, resolved on first use (a316c78) (by Chris <chrisbreuer93@​gmail.com>)

🔧 Chores

Contributors

v0.10.4

Compare Source

Compare changes

🐛 Bug Fixes

  • build: bump bun-plugin-dtsx so the published types parse (cedc389) (by Chris <chrisbreuer93@​gmail.com>)

🔧 Chores

Contributors

v0.10.3

Compare Source

Compare changes

🐛 Bug Fixes

💚 Continuous Integration

  • keep release binaries only on the latest release (2536249) (by Chris <chrisbreuer93@​gmail.com>)

🔧 Chores

Contributors

v0.10.2

Compare Source

Compare changes

💚 Continuous Integration

  • bump the pantry action so the changelog actually extracts (e9a1066) (by Chris <chrisbreuer93@​gmail.com>)

🔧 Chores

  • release v0.10.2 (214bd82) (by Chris <chrisbreuer93@​gmail.com>)

Contributors

  • Chris <chrisbreuer93@​gmail.com>

v0.10.1

Compare Source

Compare changes

💚 Continuous Integration

  • build release binaries and let pantry attach them (aeae408) (by Chris <chrisbreuer93@​gmail.com>)
  • let pantry create the GitHub release so it carries the changelog (481ad7a) (by Chris <chrisbreuer93@​gmail.com>)

🔧 Chores

  • release v0.10.1 (60fa734) (by Chris <chrisbreuer93@​gmail.com>)

Contributors

  • Chris <chrisbreuer93@​gmail.com>

v0.10.0

Compare Source

Compare changes

✨ Features

  • setup: detect the provider from the git remote (2a6872d) (by Chris <chrisbreuer93@​gmail.com>) (#​115, #​116)
  • git: implement GitLab and Bitbucket providers (acdd885) (by Chris <chrisbreuer93@​gmail.com>) (#​115, #​116, #​1390)
  • agent: deliver finishing touches as stacked pull requests (a66a329) (by Chris <chrisbreuer93@​gmail.com>) (#​1394, #​1394)
  • scanner: pnpm catalogs, engines, overrides awareness and base-image EOL (bc1a59f) (by Chris <chrisbreuer93@​gmail.com>) (#​1385, #​1385, #​1386, #​1386, #​107, #​117)
  • ecosystems: add Python, Rust, Go and Ruby behind an adapter interface (48e81ff) (by Chris <chrisbreuer93@​gmail.com>) (#​1385)
  • gates: AI pre-merge checks, post-merge actions and issue quick-links (dec1a7a) (by Chris <chrisbreuer93@​gmail.com>) (#​1394)
  • reports: scheduled dependency-health and activity reports (42b151d) (by Chris <chrisbreuer93@​gmail.com>) (#​1389)
  • docker: support every OCI registry, and index Actions advisories (f0470ec) (by Chris <chrisbreuer93@​gmail.com>) (#​1386)
  • cli: local review, doctor, and headless runs (f0e93d2) (by Chris <chrisbreuer93@​gmail.com>) (#​1391)
  • analysis: add six analyzers covering the rest of the first tier (be91aea) (by Chris <chrisbreuer93@​gmail.com>) (#​1392, #​1378)
  • rules: complete the packageRules engine (12d282f) (by Chris <chrisbreuer93@​gmail.com>) (#​1395, #​1384)
  • upgrades: wire major-upgrade analysis into pull request creation (b5255e1) (by Chris <chrisbreuer93@​gmail.com>) (#​1396, #​1388)
  • events: add runtime event bus and notifications (11ddd52) (by Chris <chrisbreuer93@​gmail.com>) (#​1387)
  • upgrades: add AI-assisted major upgrade analysis and migration (39c5abc) (by Chris <chrisbreuer93@​gmail.com>) (#​1388)
  • rules: add packageRules engine (4332bf0) (by Chris <chrisbreuer93@​gmail.com>) (#​1384)
  • workflow: wire AI features to GitHub events (1256078) (by Chris <chrisbreuer93@​gmail.com>) (#​1393)
  • issues: add enrichment and finishing-touch tasks (4d93b82) (by Chris <chrisbreuer93@​gmail.com>) (#​1380, #​1383)
  • gates: add pre-merge checks (bc8f8f7) (by Chris <chrisbreuer93@​gmail.com>) (#​1382)
  • ci: add CI failure analysis and auto-fix (1567193) (by Chris <chrisbreuer93@​gmail.com>) (#​1381)
  • ai: add learnings and memory (ab35028) (by Chris <chrisbreuer93@​gmail.com>) (#​1379)
  • commands: add @​buddy-bot comment commands (c3f74c8) (by Chris <chrisbreuer93@​gmail.com>) (#​1376)
  • analysis: add static-analysis orchestration (bfa2329) (by Chris <chrisbreuer93@​gmail.com>) (#​1378)
  • review: add path filters, path instructions and guideline ingestion (48eb08f) (by Chris <chrisbreuer93@​gmail.com>) (#​1377)
  • review: add AI pull request review engine (ca7a0d0) (by Chris <chrisbreuer93@​gmail.com>) (#​1375)
  • agent: add secure agent runtime (fb09bf6) (by Chris <chrisbreuer93@​gmail.com>) (#​1374)
  • ai: add model-agnostic provider layer (5c87092) (by Chris <chrisbreuer93@​gmail.com>) (#​1373)
  • scanner: finish the ecosystems that were scan-only (8663565) (by Chris <chrisbreuer93@​gmail.com>) (#​1372)
  • config: honor options that were typed but never read (3bb8f50) (by Chris <chrisbreuer93@​gmail.com>) (#​1371)
  • dashboard: make checkboxes and pinning functional (6e1db3b) (by Chris <chrisbreuer93@​gmail.com>) (#​1370)
  • pr: wire auto-merge into PR creation and update-check (bcf1d45) (by Chris <chrisbreuer93@​gmail.com>) (#​1369)
  • pr: add auto-merge condition evaluator (721c395) (by Chris <chrisbreuer93@​gmail.com>) (#​1369)
  • pr: embed the metadata manifest in generated PR bodies (d05578e) (by Chris <chrisbreuer93@​gmail.com>) (#​1368)
  • pr: add structured PR metadata manifest (3b09ec6) (by Chris <chrisbreuer93@​gmail.com>) (#​1368)

🐛 Bug Fixes

  • dashboard: stop duplicates when a dashboard loses its labels (20e4685) (by Chris <chrisbreuer93@​gmail.com>) (#​104, #​1355, #​1356, #​1397)
  • wire up the features that were built but unreachable (349623d) (by Chris <chrisbreuer93@​gmail.com>)

♻️ Code Refactoring

  • git: extract GitProvider abstraction with capability flags (6517353) (by Chris <chrisbreuer93@​gmail.com>) (#​1390, #​115, #​116)
  • pr: read PR state from the manifest instead of markdown (5a364c4) (by Chris <chrisbreuer93@​gmail.com>) (#​1368)

📝 Documentation

  • agent: tag fenced blocks with a language (ded7219) (by Chris <chrisbreuer93@​gmail.com>) (#​1374)
  • agent: document modes, tiers and the security model (6a8e159) (by Chris <chrisbreuer93@​gmail.com>) (#​1374)
  • ai: document provider setup, aliases and budgets (67e3a3a) (by Chris <chrisbreuer93@​gmail.com>) (#​1373)
  • document capped dependencies and pantry.lock's role (c6e2228) (by Chris <chrisbreuer93@​gmail.com>) (#​1372)
  • config: document PR template tokens and package pinning (9bfc471) (by Chris <chrisbreuer93@​gmail.com>) (#​1371)
  • dashboard: document working checkboxes and pinning (b88b51c) (by Chris <chrisbreuer93@​gmail.com>) (#​1370)
  • document auto-merge conditions and safety rails (a2dbe05) (by Chris <chrisbreuer93@​gmail.com>) (#​1369)

🔧 Chores

  • release v0.10.0 (b4e6f25) (by Chris <chrisbreuer93@​gmail.com>)
  • add release:minor and release:major scripts (aa946d2) (by Chris <chrisbreuer93@​gmail.com>)

Contributors

  • Chris <chrisbreuer93@​gmail.com>

v0.9.27

Compare Source

v0.9.26

Compare Source

v0.9.25

Compare Source

v0.9.24

Compare Source

v0.9.23

Compare Source

v0.9.22

Compare Source

v0.9.21

Compare Source

v0.9.20

Compare Source

v0.9.19

Compare Source

stacksjs/bun-git-hooks (bun-git-hooks)

v0.3.3

Compare Source

v0.3.2

Compare Source

stacksjs/bunfig (bunfig)

v0.15.19

Compare Source

v0.15.18

Compare Source

v0.15.17

Compare Source

v0.15.16

Compare Source

v0.15.15

Compare Source

v0.15.14

Compare Source

v0.15.13

Compare Source

v0.15.12

Compare Source

v0.15.11

Compare Source

v0.15.10

Compare Source

v0.15.9

Compare Source

v0.15.8

Compare Source

v0.15.7

Compare Source

evanw/esbuild (esbuild)

v0.28.2

Compare Source

  • Fix tree shaking bug due to TypeScript import alias (#​4507)

    This release fixes a bug that could cause esbuild to incorrectly tree-shake imports that are used in a TypeScript type alias under certain circumstances. Affected code uses a TypeScript-specific import assignment and looks something like this:

    import Base from './dep.js';
    import Alias = Base.SomeType;
  • Fix CSS minification bug involving & (#​4497)

    This release fixes a bug where esbuild's CSS minifier incorrectly removed a & when it was unsafe to do so. Here is an example:

    /* Original code */
    .a .b {
      & .b:not(& .c) {
        color: red;
      }
    }
    
    /* Old output (with --minify) */
    .a .b{.b:not(& .c){color:red}}
    
    /* New output (with --minify) */
    .a .b{& .b:not(& .c){color:red}}

    This should match <span class="a"><span class="b"><span class="b">yes</span></span></span> but not <span class="a"><span class="b">no</span></span>. The old output incorrectly matched both.

  • Avoid overwriting input files without --allow-overwrite (#​4484)

    For example: esbuild input.js --outfile=input.js tells esbuild to overwrite input.js with the output of running esbuild on it. This was supposed to already be prevented by default, but it accidentally regressed in version 0.17.0 and apparently didn't have any test coverage. The error message was being printed but the input file was still being overwritten. Oops.

    This release puts the original behavior back. With this release, esbuild should now actually avoid overwriting input files unless --allow-overwrite is explicitly present. This is done by not writing out any files when a build error is encountered.

  • Fix incorrect code generated when using top-level await (#​4498)

    Previously esbuild could generate code containing a syntax error in complex scenarios involving top-level await used in a dependency cycle. The problem was a missing async on one or more module wrapper closures. With this release, esbuild now uses a fixed-point iteration algorithm to correctly annotate all dependencies in the cycle as needing an async module wrapper.

  • Fix a minification bug with lowered logical assignment operators (#​4508)

    This release fixes a bug that could cause esbuild to generate incorrect code for logical assignment operators when lowering them to an older target environment. Specifically the lowering process requires duplicating the left-hand side, but esbuild incorrectly failed to count the duplicate as a new usage when the left-hand side is an identifier. That then caused the minifier to believe that the left-hand side was only used once and could attempt to incorrectly inline an initializer into the first usage. This bug has now been fixed:

    // Original code
    function foo() {
      let x
      bar(x ||= {})
    }
    
    // Old output (with --minify-syntax --target=es6)
    function foo() {
      bar(void 0 || (x = {}));
    }
    
    // New output (with --minify-syntax --target=es6)
    function foo() {
      let x;
      bar(x || (x = {}));
    }
  • Fix a potential deadlock when the JavaScript API is used incorrectly (#​4503, #​4506)

    The JavaScript API runs the native esbuild executable as a long-lived child process and communicates with it over stdin/stdout/stderr. Each API request is asynchronous and the executable stays open as long as it has work to do, which is as long as either stdin is still open (meaning there may be more API requests) or there are currently requests being processed.

    Previously esbuild's tracking of outstanding API requests missed decrementing a reference count in an edge case where esbuild's JavaScript API was used incorrectly and the API request returned an error. This could in some cases cause esbuild's native executable to exit with an error message about a deadlock. This release fixes the reference counting bug.

    This fix was submitted by @​ZuBB.

  • Handle target collisions (#​4509)

    It's possible to specify the same target engine multiple times, such as with --target=chrome1,chrome99. This edge case wasn't anticipated and previously took the last version for the duplicated target engine instead of the minimum version (so chrome99 in this case instead of chrome1). With this release, esbuild will now pick the minimum version between all duplicated target engines.

  • Force .mp3 files to use the audio/mpeg MIME type (#​4485)

    MIME type detection for esbuild's data URLs uses Go's built-in MIME type detection, which is based on the MIME sniffing standard. This works correctly for MP3 files that start with the byte sequence ID3, which is commonly the case. However, it's possible to construct valid MP3 files that do not start with ID3, and that perhaps Go's built-in MIME type detection doesn't implement the "Signature for MP3 without ID3" part of the algorithm. This results in some .mp3 files incorrectly using the application/octet-stream MIME type instead of audio/mpeg. With this release, esbuild will now always use the audio/mpeg MIME type for files ending in .mp3.

  • Add a new TypeScript syntax warning

    TypeScript 7 turned some previously-valid TypeScript syntax into a syntax error because it was confusing. TypeScript 6 accepts 1 + 2 as number * 3 as valid syntax but confusingly converts it to (1 + 2) * 3 instead of the more intuitive conversion to 1 + (2 * 3). This syntax is now an error in TypeScript 7+. With this release, esbuild will now warn about the use of this syntax:

     [WARNING] Operator "*" should not directly follow a TypeScript type cast after the "+" operator [confusing-typescript-cast]
    
        example.ts:1:28:
          1  console.log(1 + 2 as number * 3)
                                         ^
    
      This is a syntax error in newer versions of TypeScript because the type cast has unintuitive
      precedence in this case. Surround the inner expression in parentheses to silence this warning:
    
        example.ts:1:12:
          1  console.log(1 + 2 as number * 3)
                         ~~~~~~~~~~~~~~~
                         (             )

    See microsoft/TypeScript#63527 for more information

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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.

@netlify

netlify Bot commented Mar 30, 2026

Copy link
Copy Markdown

Deploy Preview for dtsx failed. Why did it fail? →

Name Link
🔨 Latest commit 5eec577
🔍 Latest deploy log https://app.netlify.com/projects/dtsx/deploys/6a70afe4a4da540008cc17e4

@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 12 times, most recently from bb08315 to 5cb054c Compare April 6, 2026 12:26
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 13 times, most recently from c237a9f to 86058f1 Compare April 13, 2026 19:34
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 15 times, most recently from c0bfea0 to 598586f Compare April 28, 2026 00:56
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from f6fd716 to d580213 Compare April 29, 2026 08:55
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 8 times, most recently from ae2827f to a2fa540 Compare May 1, 2026 14:31
@github-actions

github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Platform: linux x64 | Runtime: Bun 1.4.0 | Date: 2026-09-01

isolatedDeclarations vs Semantic Generation

Uncached end-to-end declaration generation over identical, fully annotated sources.

Workload Input isolatedDeclarations Semantic Speedup
Small typed initializers 256 KiB 403.5 µs 1.91 ms 🟢 4.7x
Medium typed initializers 1318 KiB 719.0 µs 7.13 ms 🟢 9.9x
Large typed initializers 5321 KiB 1.26 ms 28.36 ms 🟢 22.5x

In-Process API — Cached

Smart caching (hash check + cache hit) for watch mode, incremental builds, and CI.

Tool Small (~50 lines) Medium (~100 lines) Large (~330 lines) XLarge (~1050 lines) XXLarge (~2000 lines) Huge (~5000 lines)
dtsx (cached) 2.7 µs 1.8 µs 1.8 µs 3.5 µs 6.2 µs 14.0 µs
zig-dtsx 9.5 µs (3.5x) 15.0 µs (8.4x) 55.8 µs (31.8x) 348.4 µs (99.1x) 372.0 µs (60.4x) 865.6 µs (61.7x)
oxc-transform 15.6 µs (5.8x) 44.7 µs (24.9x) 113.8 µs (64.7x) 484.4 µs (137.8x) 762.9 µs (123.9x) 1.92 ms (137.0x)
TypeScript 7 (CLI) 81.11 ms (30202.3x) 84.96 ms (47428.6x) 88.43 ms (50300.5x) 106.98 ms (30442.4x) 98.96 ms (16073.9x) 122.35 ms (8724.8x)

In-Process API — No Cache

Raw single-transform comparison (cache cleared every iteration).

Tool Small (~50 lines) Medium (~100 lines) Large (~330 lines) XLarge (~1050 lines) XXLarge (~2000 lines) Huge (~5000 lines)
zig-dtsx 9.5 µs (3.1x) 15.0 µs (6.8x) 55.8 µs (31.2x) 348.4 µs (103.0x) 372.0 µs (65.4x) 865.6 µs (58.4x)
oxc-transform 15.6 µs (5.2x) 44.7 µs (20.2x) 113.8 µs (63.5x) 484.4 µs (143.3x) 762.9 µs (134.1x) 1.92 ms (129.5x)
dtsx (no-cache) 3.0 µs 2.2 µs 1.8 µs 3.4 µs 5.7 µs 14.8 µs
TypeScript 7 (CLI) 81.11 ms (26814.4x) 84.96 ms (38423.8x) 88.43 ms (49375.4x) 106.98 ms (31639.9x) 98.96 ms (17388.6x) 122.35 ms (8250.2x)

Note: TypeScript 7 is CLI-only. Each measurement includes ~40ms process spawn overhead, so it is not directly comparable to the in-process tools above. It is reported separately from the in-process tools.

Multi-File Project

All tools processing files in-process sequentially.

Tool 50 files 100 files
zig-dtsx 5.61 ms (51.0x) 11.54 ms (22.8x)
dtsx 109.9 µs 506.4 µs
oxc-transform 9.48 ms (86.3x) 19.30 ms (38.1x)
tsc 435.55 ms (3963.8x) 837.38 ms (1653.5x)

No previous benchmark found for regression comparison

zig-dtsx vs oxc-transform

Input Size zig-dtsx oxc-transform Speedup
Small (~50 lines) 9.5 µs 15.6 µs 🟢 1.65x
Medium (~100 lines) 15.0 µs 44.7 µs 🟢 2.98x
Large (~330 lines) 55.8 µs 113.8 µs 🟢 2.04x
XLarge (~1050 lines) 348.4 µs 484.4 µs 🟢 1.39x
XXLarge (~2000 lines) 372.0 µs 762.9 µs 🟢 2.05x
Huge (~5000 lines) 865.6 µs 1.92 ms 🟢 2.22x
Internal Benchmark Details

Extraction

Benchmark Avg Min Max Throughput Memory
Simple (0001.ts) 1.2 µs 901 ns 3.1 µs 605.3 M chars/s 0.0 MB
Medium (0002.ts) 4.5 µs 992 ns 20.1 µs 216.3 M chars/s 0.0 MB
Complex (0003.ts) 🏆 910 ns 571 ns 5.5 µs 1.5 G chars/s 0.0 MB
Very Complex (0005.ts) 9.1 µs 7.6 µs 26.5 µs 9.2 G chars/s 0.0 MB
Lodash-like (real-world) 5.4 µs 2.9 µs 34.2 µs 4.8 G chars/s 0.0 MB
React-like (real-world) 4.0 µs 3.8 µs 5.0 µs 8.4 G chars/s 0.0 MB

Synthetic

Benchmark Avg Min Max Throughput Memory
100 lines 🏆 1.5 µs 891 ns 16.5 µs 4.8 G chars/s 0.0 MB
500 lines 4.7 µs 3.8 µs 15.6 µs 7.7 G chars/s 0.0 MB
1000 lines 5.5 µs 5.2 µs 6.7 µs 13.2 G chars/s 0.0 MB
5000 lines 37.0 µs 32.8 µs 56.6 µs 10.1 G chars/s 0.0 MB
10000 lines 50.2 µs 49.3 µs 52.5 µs 15.0 G chars/s 0.0 MB

Memory

Benchmark Avg Min Max Throughput Memory
Large File Memory 🏆 18.07 ms 18.07 ms 18.07 ms 41.5 M chars/s 2.0 MB

Real-World

Benchmark Avg Min Max Throughput Memory
Lodash-like 🏆 2.4 µs 2.2 µs 4.4 µs 10.6 G chars/s 0.0 MB
React-like 3.9 µs 2.8 µs 12.9 µs 8.6 G chars/s 0.0 MB

Generation

Benchmark Avg Min Max Throughput Memory
Single File (100 lines) 🏆 1.01 ms 770.2 µs 1.44 ms 7.0 M chars/s 0.0 MB
Medium File (1000 lines) 3.45 ms 2.74 ms 4.90 ms 20.9 M chars/s 2.6 MB
Large File (5000 lines) 17.55 ms 12.65 ms 20.23 ms 21.2 M chars/s 6.1 MB

Phase Timing

File Phase Avg Time % of Total
500 lines Processing 1.09 ms ████████████████████ 99.3%
500 lines Extraction 5.9 µs █ 0.5%
500 lines Formatting 225 ns █ 0.0%
500 lines File Read 106 ns █ 0.0%
2000 lines Processing 2.70 ms ████████████████████ 99.4%
2000 lines Extraction 14.5 µs █ 0.5%
2000 lines Formatting 213 ns █ 0.0%
2000 lines File Read 130 ns █ 0.0%
5000 lines Processing 7.51 ms ████████████████████ 99.6%
5000 lines Extraction 28.4 µs █ 0.4%
5000 lines Formatting 303 ns █ 0.0%
5000 lines File Read 105 ns █ 0.0%
Metric Value
Total benchmarks 23
Avg time 3.48 ms
Total time 1.2 s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants