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.10 age adoption passing confidence devDependencies patch
@stacksjs/bunpress (source) ^0.1.4^0.1.20 age adoption passing confidence devDependencies patch
@stacksjs/clapp ^0.2.0^0.2.12 age adoption passing confidence dependencies patch
@stacksjs/clapp ^0.2.0^0.2.12 age adoption passing confidence devDependencies patch
@stacksjs/gitlint ^0.1.5^0.1.6 age adoption passing confidence devDependencies patch
@stacksjs/logsmith ^0.2.1^0.2.3 age adoption passing confidence devDependencies patch
@types/bun (source) ^1.3.11^1.3.14 age adoption passing confidence devDependencies patch
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.9.22 age adoption passing confidence devDependencies patch
bun-git-hooks ^0.3.1^0.3.2 age adoption passing confidence devDependencies patch
bunfig ^0.15.6^0.15.15 age adoption passing confidence devDependencies patch
esbuild >=0.27.4>=0.28.1 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.141.0 age adoption passing confidence devDependencies minor
oxc-transform (source) ^0.121.0^0.141.0 age adoption passing confidence devDependencies minor
pickier ^0.1.20^0.1.40 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.108.4 age adoption passing confidence peerDependencies minor

Release Notes

stacksjs/bumpx (@​stacksjs/bumpx)

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.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.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.6

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.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.2

Compare Source

stacksjs/bunfig (bunfig)

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.1

Compare Source

  • Disallow \ in local development server HTTP requests (GHSA-g7r4-m6w7-qqqr)

    This release fixes a security issue where HTTP requests to esbuild's local development server could traverse outside of the serve directory on Windows using a \ backslash character. It happened due to the use of Go's path.Clean() function, which only handles Unix-style / characters. HTTP requests with paths containing \ are no longer allowed.

    Thanks to @​dellalibera for reporting this issue.

  • Add integrity checks to the Deno API (GHSA-gv7w-rqvm-qjhr)

    The previous release of esbuild added integrity checks to esbuild's npm install script. This release also adds integrity checks to esbuild's Deno install script. Now esbuild's Deno API will also fail with an error if the downloaded esbuild binary contains something other than the expected content.

    Note that esbuild's Deno API installs from registry.npmjs.org by default, but allows the NPM_CONFIG_REGISTRY environment variable to override this with a custom package registry. This change means that the esbuild executable served by NPM_CONFIG_REGISTRY must now match the expected content.

    Thanks to @​sondt99 for reporting this issue.

  • Avoid inlining using and await using declarations (#​4482)

    Previously esbuild's minifier sometimes incorrectly inlined using and await using declarations into subsequent uses of that declaration, which then fails to dispose of the resource correctly. This bug happened because inlining was done for let and const declarations by avoiding doing it for var declarations, which no longer worked when more declaration types were added. Here's an example:

    // Original code
    {
      using x = new Resource()
      x.activate()
    }
    
    // Old output (with --minify)
    new Resource().activate();
    
    // New output (with --minify)
    {using e=new Resource;e.activate()}
  • Fix module evaluation when an error is thrown (#​4461, #​4467)

    If an error is thrown during module evaluation, esbuild previously didn't preserve the state of the module for subsequent module references. This was observable if import() or require() is used to import a module multiple times. The thrown error is supposed to be thrown by every call to import() or require(), not just the first. With this release, esbuild will now throw the same error every time you call import() or require() on a module that throws during its evaluation.

  • Fix some edge cases around the new operator (#​4477)

    Previously esbuild incorrectly printed certain edge cases involving complex expressions inside the target of a new expression (specifically an optional chain and/or a tagged template literal). The generated code for the new target was not correctly wrapped with parentheses, and either contained a syntax error or had different semantics. These edge cases have been fixed so that they now correctly wrap the new target in parentheses. Here is an example of some affected code:

    // Original code
    new (foo()`bar`)()
    new (foo()?.bar)()
    
    // Old output
    new foo()`bar`();
    new (foo())?.bar();
    
    // New output
    new (foo())`bar`();
    new (foo()?.bar)();
  • Fix renaming of nested var declarations (#​4471)

    This release fixes a bug where var declarations in nested scopes that are hoisted up to module scope were not correctly being renamed during bundling. That could previously lead to name collisions when minification was disabled, which could potentially cause a behavior change. The bug has been fixed so that these hoisted declarations are now considered to be module-level symbols during the name collision avoidance pass.

  • Emit var instead of const for certain TypeScript-only constructs for ES5 (#​4448)

    While esbuild doesn't generally support converting const to var for ES5 due to nested scoping rules (which is currently a build-time error), esbuild previously incorrectly converted TypeScript-only import assignment constructs into a const declaration even when targeting ES5. With this release, esbuild will now use var for this case instead:

    // Original code
    import x = require('y')
    
    // Old output (with --target=es5)
    const x = require("y");
    
    // New output (with --target=es5)
    var x = require("y");

v0.28.0

Compare Source

  • Add support for with { type: 'text' } imports (#​4435)

    The import text proposal has reached stage 3 in the TC39 process, which means that it's recommended for implementation. It has also already been implemented by Deno and Bun. So with this release, esbuild also adds support for it. This behaves exactly the same as esbuild's existing text loader. Here's an example:

    import string from './example.txt' with { type: 'text' }
    console.log(string)
  • Add integrity checks to fallback download path (#​4343)

    Installing esbuild via npm is somewhat complicated with several different edge cases (see esbuild's documentation for details). If the regular installation of esbuild's platform-specific package fails, esbuild's install script attempts to download the platform-specific package itself (first with the npm command, and then with a HTTP request to registry.npmjs.org as a last resort).

    This last resort path previously didn't have any integrity checks. With this release, esbuild will now verify that the hash of the downloaded binary matches the expected hash for the current release. This means the hashes for all of esbuild's platform-specific binary packages will now be embedded in the top-level esbuild package. Hopefully this should work without any problems. But just in case, this change is being done as a breaking change release.

  • Update the Go compiler from 1.25.7 to 1.26.1

    This upgrade should not affect anything. However, there have been some significant internal changes to the Go compiler, so esbuild could potentially behave differently in certain edge cases:

    • It now uses the new garbage collector that comes with Go 1.26.
    • The Go compiler is now more aggressive with allocating memory on the stack.
    • The executable format that the Go linker uses has undergone several changes.
    • The WebAssembly build now unconditionally makes use of the sign extension and non-trapping floating-point to integer conversion instructions.

    You can read the Go 1.26 release notes for more information.

v0.27.7

Compare Source

  • Fix lowering of define semantics for TypeScript parameter properties (#​4421)

    The previous release incorrectly generated class fields for TypeScript parameter properties even when the configured target environment does not support class fields. With this release, the generated class fields will now be correctly lowered in this case:

    // Original code
    class Foo {
      constructor(public x = 1) {}
      y = 2
    }
    
    // Old output (with --loader=ts --target=es2021)
    class Foo {
      constructor(x = 1) {
        this.x = x;
        __publicField(this, "y", 2);
      }
      x;
    }
    
    // New output (with --loader=ts --target=es2021)
    class Foo {
      constructor(x = 1) {
        __publicField(this, "x", x);
        __publicField(this, "y", 2);
      }
    }

v0.27.5

Compare Source

  • Fix for an async generator edge case (#​4401, #​4417)

    Support for transforming async generators into the equivalent state machine was added in version 0.19.0. However, the generated state machine didn't work correctly when polling async generators concurrently, such as in the following code:

    async function* inner() { yield 1; yield 2 }
    async function* outer() { yield* inner() }
    let gen = outer()
    for await (let x of [gen.next(), gen.next()]) console.log(x)

    Previously esbuild's output of the above code behaved incorrectly when async generators were transformed (such as with --supported:async-generator=false). The transformation should be fixed starting with this release.

    This fix was contributed by @​2767mr.

  • Fix a regression when metafile is enabled (#​4420, #​4418)

    This release fixes a regression introduced by the previous release. When metafile: true was enabled in esbuild's JavaScript API, builds with build errors were incorrectly throwing an error about an empty JSON string instead of an object containing the build errors.

  • Use define semantics for TypeScript parameter properties (#​4421)

    Parameter properties are a TypeScript-specific code generation feature that converts constructor parameters into class fields when they are prefixed by certain keywords. When "useDefineForClassFields": true is present in tsconfig.json, the TypeScript compiler automatically generates class field declarations for parameter properties. Previously esbuild didn't do this, but esbuild will now do this starting with this release:

    // Original code
    class Foo {
      constructor(public x: number) {}
    }
    
    // Old output (with --loader=ts)
    class Foo {
      constructor(x) {
        this.x = x;
      }
    }
    
    // New output (with --loader=ts)
    class Foo {
      constructor(x) {
        this.x = x;
      }
      x;
    }
  • Allow es2025 as a target in tsconfig.json (#​4432)

    TypeScript recently added es2025 as a compilation target, so esbuild now supports this in the target field of tsconfig.json files, such as in the following configuration file:

    {
      "compilerOptions": {
        "target": "ES2025"
      }
    }

    As a reminder, the only thing that esbuild uses this field for is determining whether or not to use legacy TypeScript behavior for class fields. You can read more in the documentation.

oven-sh/setup-bun (oven-sh/setup-bun)

v2.2.0

Compare Source

oven-sh/setup-bun is the github action for setting up Bun.

What's Changed
New Contributors

Full Changelog: oven-sh/setup-bun@v2...v2.2.0

v2.1.3

Compare Source

oven-sh/setup-bun is the github action for setting up Bun.

What's Changed
New Contributors

Full Changelog: oven-sh/setup-bun@v2...v2.1.3

oxc-project/oxc (oxc-parser)

v0.141.0

💥 BREAKING CHANGES
  • 54cc121 ast: [BREAKING] Split MetaProperty into ImportMeta and NewTarget (#​24557) (camc314)
🚀 Features

v0.138.0

🛡️ Security

v0.137.0

💥 BREAKING CHANGES
  • 7a76cd3 estree: [BREAKING] Make whether to include TS fields a runtime option (#​23574) (overlookmotel)
🚀 Features
  • 53509a8 minifier: Treeshake pure typed arrays and Set/Map array literals (#​23469) (Dunqing)
🐛 Bug Fixes

v0.136.0

⚡ Performance
  • da1a6c6 diagnostics: Migrate to allocation-optimized oxc-miette (#​23094) (Boshen)

v0.135.0

v0.134.0

v0.133.0

v0.132.0

v0.131.0

v0.130.0

📚 Documentation

v0.129.0

🐛 Bug Fixes
  • 429deac napi/parser: Export visitorKeys from wasm entrypoint (#​21996) (NullVoxPopuli)

v0.128.0

💥 BREAKING CHANGES
  • 502e804 ast: [BREAKING] Reduce size of TSTypePredicateName (#​21711) (overlookmotel)
  • 5651539 ast: [BREAKING] Reduce size of JSXExpression (#​21710) (overlookmotel)
  • c44e280 ast: [BREAKING] Reduce size of ArrayExpressionElement (#​21709) (overlookmotel)
⚡ Performance
  • 9fa362e napi/parser: Do not generate tokens except in tests (#​21811) (overlookmotel)
🛡️ Security

v0.127.0

🐛 Bug Fixes
  • 00fc136 codegen: Preserve coverage comments before object properties (#​21312) (bab)

v0.125.0

💥 BREAKING CHANGES
  • 382958a span: [BREAKING] Remove re-exports of string types from oxc_span crate (#​21246) (overlookmotel)
⚡ Performance
  • addcd02 napi/parser, linter/plugins: Raw transfer deserializer for Vecs use shift instead of multiply where possible (#​21142) (overlookmotel)
  • 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (#​21141) (overlookmotel)
  • eb400b8 napi/parser, linter/plugins: Remove uint32 buffer view (#​21140) (overlookmotel)
  • 2675085 napi/parser: Lazy deserialization use only Int32Array (#​21139) (overlookmotel)
  • 5b35a53 napi/parser: Deserializing tokens use only int32 array (#​21138) (overlookmotel)
  • f163d10 parser: Tokens raw deserialization use Int32Array (#​21137) (overlookmotel)
  • 7a86613 linter/plugins: Use Int32Arrays for tokens and comments buffers (#​21136) (overlookmotel)
  • 8c51121 napi/parser, linter/plugins: Raw transfer deserialize Span fields as i32s (#​21135) (overlookmotel)
  • bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (#​21134) (overlookmotel)
  • c0278ab napi/parser, linter/plugins: Use Int32Array in raw transfer deserializer (#​21132) (overlookmotel)
  • 43482c7 linter/plugins: Use >> not >>> in binary search loops (#​21129) (overlookmotel)

v0.124.0

⚡ Performance
  • fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (#​21025) (overlookmotel)
  • 3b7dec4 napi/parser, linter/plugins: Use utf8Slice for decoding UTF-8 strings (#​21022) (overlookmotel)
  • 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (#​21021) (overlookmotel)
  • 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (#​21020) (overlookmotel)
  • c25ef02 napi/parser, linter/plugins: Simplify branch condition in deserializeStr (#​21019) (overlookmotel)
  • 9f494c3 napi/parser, linter/plugins: Raw transfer use String.fromCharCode in string decoding (#​21018) (overlookmotel)
  • 0503a78 napi/parser, linter/plugins: Faster deserialization of raw fields (#​20923) (overlookmotel)
  • a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (#​20834) (Joshua Tuddenham)
oxc-project/oxc (oxc-transform)

v0.136.0

💥 BREAKING CHANGES
  • 7a24911 codegen: [BREAKING] Borrow sourcemaps from codegen (#​23422) (Boshen)
  • bb0ed44 transformer: [BREAKING] Disable styled-components transpileTemplateLiterals by default (#​23171) (Boshen)
🚀 Features
  • ec266bb transformer: Run React Compiler as a feature-gated transform pass (#​23201) (Boshen)

v0.135.0

🚀 Features
  • b846ab2 react_compiler: Integrate the Rust port of the React Compiler (#​22942) (Boshen)

v0.133.0

🚀 Features
  • ee659b6 transformer/legacy-decorator: Add strictNullChecks option for nullable-union design:type (#​22266) (Kyle Cannon)

v0.128.0

📚 Documentation
  • e4cea25 transform: Use the node: namespace in the example (#​19998) (루밀LuMir)
🛡️ Security

v0.126.0

🚀 Features
  • f5deb55 napi/transform: Expose optimizeConstEnums and optimizeEnums options (#​21388) (Dunqing)

v0.125.0

🚀 Features
  • e7e1aea transformer/typescript: Add optimize_enums option for regular enum inlining (#​20539) (Dunqing)
pickier/pickier (pickier)

v0.1.40

Compare Source

v0.1.39

Compare Source

v0.1.38

Compare Source

v0.1.37

Compare Source

v0.1.36

Compare Source

v0.1.35

Compare Source

v0.1.34

Compare Source

v0.1.33

Compare Source

v0.1.32

Compare Source

v0.1.30

Compare Source

v0.1.29

Compare Source

v0.1.28

Compare Source

v0.1.27

Compare Source

v0.1.26

Compare Source

v0.1.25

Compare Source

v0.1.24

Compare Source

v0.1.23

Compare Source

[v0.1.22](https://redirect.github.

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 30eb7ff
🔍 Latest deploy log https://app.netlify.com/projects/dtsx/deploys/6a6063e44caeff0009fb3f1c

@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.3.14 | Date: 2026-07-22

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 644.3 µs 2.26 ms 🟢 3.5x
Medium typed initializers 1318 KiB 658.6 µs 7.13 ms 🟢 10.8x
Large typed initializers 5321 KiB 861.3 µs 27.10 ms 🟢 31.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) 3.5 µs 1.9 µs 1.2 µs 3.1 µs 5.9 µs 12.0 µs
zig-dtsx 13.1 µs (3.7x) 25.3 µs (13.6x) 63.0 µs (51.4x) 339.5 µs (108.5x) 365.5 µs (62.4x) 952.8 µs (79.4x)
oxc-transform 16.8 µs (4.8x) 59.2 µs (31.8x) 167.9 µs (136.9x) 691.6 µs (221.1x) 779.9 µs (133.2x) 1.93 ms (161.2x)
TypeScript 7 (CLI) 101.35 ms (28814.1x) 105.37 ms (56541.3x) 109.75 ms (89495.3x) 134.33 ms (42941.2x) 124.32 ms (21226.1x) 160.50 ms (13367.4x)

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 13.1 µs (3.6x) 25.3 µs (9.5x) 63.0 µs (35.5x) 339.5 µs (115.7x) 365.5 µs (62.8x) 952.8 µs (74.4x)
oxc-transform 16.8 µs (4.6x) 59.2 µs (22.3x) 167.9 µs (94.6x) 691.6 µs (235.6x) 779.9 µs (134.0x) 1.93 ms (151.1x)
dtsx (no-cache) 3.6 µs 2.7 µs 1.8 µs 2.9 µs 5.8 µs 12.8 µs
TypeScript 7 (CLI) 101.35 ms (27912.5x) 105.37 ms (39703.6x) 109.75 ms (61795.8x) 134.33 ms (45756.9x) 124.32 ms (21352.6x) 160.50 ms (12535.3x)

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.85 ms (51.4x) 12.25 ms (18.3x)
dtsx 113.8 µs 670.7 µs
oxc-transform 12.62 ms (110.9x) 26.49 ms (39.5x)
tsc 549.08 ms (4824.2x) 1.06 s (1576.8x)

No previous benchmark found for regression comparison

zig-dtsx vs oxc-transform

Input Size zig-dtsx oxc-transform Speedup
Small (~50 lines) 13.1 µs 16.8 µs 🟢 1.28x
Medium (~100 lines) 25.3 µs 59.2 µs 🟢 2.34x
Large (~330 lines) 63.0 µs 167.9 µs 🟢 2.67x
XLarge (~1050 lines) 339.5 µs 691.6 µs 🟢 2.04x
XXLarge (~2000 lines) 365.5 µs 779.9 µs 🟢 2.13x
Huge (~5000 lines) 952.8 µs 1.93 ms 🟢 2.03x
Internal Benchmark Details

Extraction

Benchmark Avg Min Max Throughput Memory
Simple (0001.ts) 1.7 µs 982 ns 4.5 µs 417.5 M chars/s 0.0 MB
Medium (0002.ts) 6.9 µs 2.1 µs 19.8 µs 142.9 M chars/s 0.0 MB
Complex (0003.ts) 🏆 1.6 µs 652 ns 6.6 µs 838.8 M chars/s 0.0 MB
Very Complex (0005.ts) 7.8 µs 7.1 µs 10.6 µs 10.7 G chars/s 0.0 MB
Lodash-like (real-world) 4.5 µs 2.1 µs 23.0 µs 5.7 G chars/s 0.0 MB
React-like (real-world) 3.8 µs 3.4 µs 6.1 µs 8.7 G chars/s 0.0 MB

Synthetic

Benchmark Avg Min Max Throughput Memory
100 lines 🏆 1.3 µs 942 ns 13.2 µs 5.6 G chars/s 0.0 MB
500 lines 4.2 µs 2.6 µs 27.2 µs 8.5 G chars/s 0.0 MB
1000 lines 4.8 µs 4.5 µs 7.1 µs 14.9 G chars/s 0.0 MB
5000 lines 26.1 µs 21.4 µs 52.6 µs 14.3 G chars/s 0.0 MB
10000 lines 49.7 µs 48.2 µs 53.3 µs 15.1 G chars/s 0.0 MB

Memory

Benchmark Avg Min Max Throughput Memory
Large File Memory 🏆 27.36 ms 27.36 ms 27.36 ms 27.4 M chars/s 0.0 MB

Real-World

Benchmark Avg Min Max Throughput Memory
Lodash-like 🏆 2.2 µs 2.0 µs 4.2 µs 11.8 G chars/s 0.0 MB
React-like 3.6 µs 2.4 µs 10.8 µs 9.3 G chars/s 0.0 MB

Generation

Benchmark Avg Min Max Throughput Memory
Single File (100 lines) 🏆 1.05 ms 796.3 µs 1.73 ms 6.7 M chars/s 0.6 MB
Medium File (1000 lines) 3.81 ms 3.38 ms 4.07 ms 19.0 M chars/s 0.0 MB
Large File (5000 lines) 19.33 ms 14.46 ms 23.99 ms 19.3 M chars/s 13.2 MB

Phase Timing

File Phase Avg Time % of Total
500 lines Processing 942.3 µs ████████████████████ 99.4%
500 lines Extraction 4.7 µs █ 0.5%
500 lines Formatting 183 ns █ 0.0%
500 lines File Read 89 ns █ 0.0%
2000 lines Processing 3.32 ms ████████████████████ 99.6%
2000 lines Extraction 13.1 µs █ 0.4%
2000 lines Formatting 213 ns █ 0.0%
2000 lines File Read 81 ns █ 0.0%
5000 lines Processing 8.25 ms ████████████████████ 99.6%
5000 lines Extraction 30.9 µs █ 0.4%
5000 lines Formatting 622 ns █ 0.0%
5000 lines File Read 120 ns █ 0.0%
Metric Value
Total benchmarks 23
Avg time 3.93 ms
Total time 1.3 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