Skip to content

fix(ast): swcify#934

Open
avivkeller wants to merge 1 commit into
mainfrom
swcify
Open

fix(ast): swcify#934
avivkeller wants to merge 1 commit into
mainfrom
swcify

Conversation

@avivkeller

Copy link
Copy Markdown
Member

OXC does not work on all node.js CI runners. Until they support all our runners, rely on a WASM-based alternative, @swc/wasm

@avivkeller
avivkeller requested a review from a team as a code owner July 22, 2026 18:18
Copilot AI review requested due to automatic review settings July 22, 2026 18:18
@cursor

cursor Bot commented Jul 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes the parser and AST shape for metadata type-link resolution; behavior should match but subtle parse or span differences could affect generated doc links until validated in CI.

Overview
Replaces oxc-parser with @swc/wasm so TypeScript type parsing works on all Node.js CI runners without native bindings.

resolveTypes.mjs now calls parseSync from SWC, maps positions via span offsets, and uses a small custom walk helper instead of OXC’s Visitor. Visitor hooks were renamed to SWC node types (TsTypeReference, TsKeywordType, etc.), and keyword handling now treats null as a keyword kind.

Adds src/utils/swc.mjs as a generic SWC AST walker (with a note to switch back to OXC when WASM/bindings are available). Includes a patch changeset for @node-core/doc-kit.

Reviewed by Cursor Bugbot for commit 43141cd. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
api-docs-tooling Ready Ready Preview, Comment Jul 22, 2026 6:19pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
nodejs-doc-kit Ignored Ignored Jul 22, 2026 6:19pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

api-links Generator

Performance

Metric Base Head Diff
Elapsed time 1.53 s 1.53 s 0.00 ms (0.00%)
User CPU time 2.82 s 2.79 s -30.00 ms (-1.06%)
System CPU time 350.00 ms 390.00 ms +40.00 ms (+11.43%)
Peak resident memory 347.15 MB 369.50 MB +22.35 MB (+6.44%)

legacy-html Generator

Output size

| File | Base | Head | Diff |

|-|-|-|-|

| fs.html | 1.06 MB | 1.06 MB | +5.08 KB (+0.47%) |
| sqlite.html | 231.71 KB | 233.63 KB | +1.93 KB (+0.83%) |
| quic.html | 424.09 KB | 425.51 KB | +1.42 KB (+0.34%) |
| stream.html | 854.55 KB | 855.26 KB | +728.00 B (+0.08%) |
| child_process.html | 443.89 KB | 444.50 KB | +624.00 B (+0.14%) |
| module.html | 344.89 KB | 345.50 KB | +624.00 B (+0.18%) |
| crypto.html | 1.08 MB | 1.08 MB | +416.00 B (+0.04%) |
| net.html | 251.88 KB | 252.28 KB | +416.00 B (+0.16%) |
| process.html | 702.32 KB | 702.73 KB | +416.00 B (+0.06%) |
| worker_threads.html | 402.11 KB | 402.51 KB | +416.00 B (+0.10%) |
| ffi.html | 91.43 KB | 91.73 KB | +312.00 B (+0.33%) |
| tls.html | 278.37 KB | 278.68 KB | +312.00 B (+0.11%) |
| modules.html | 157.71 KB | 157.92 KB | +208.00 B (+0.13%) |
| stream_iter.html | 464.96 KB | 465.16 KB | +208.00 B (+0.04%) |
| test.html | 928.08 KB | 928.28 KB | +208.00 B (+0.02%) |
| url.html | 331.77 KB | 331.98 KB | +208.00 B (+0.06%) |
| webcrypto.html | 342.62 KB | 342.82 KB | +208.00 B (+0.06%) |
| http.html | 639.60 KB | 639.70 KB | +104.00 B (+0.02%) |
| http2.html | 770.96 KB | 771.06 KB | +104.00 B (+0.01%) |
| util.html | 742.60 KB | 742.70 KB | +104.00 B (+0.01%) |

Performance

Metric Base Head Diff
Elapsed time 18.06 s 19.50 s +1.44 s (+7.97%)
User CPU time 59.20 s 61.87 s +2.67 s (+4.51%)
System CPU time 2.71 s 2.22 s -490.00 ms (-18.08%)
Peak resident memory 2.32 GB 2.20 GB -124.73 MB (-5.25%)

legacy-json Generator

Output

module.json
Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines

  {
    modules: [
      {
        displayName: 'Modules: `node:module` API',
        introduced_in: 'v12.20.0',
...
                      '<ul>\n' +
+                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> A hint to the <code>load</code> hook (it might be ignored). It can be a\n' +
-                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> A hint to the <code>load</code> hook (it might be ignored). It can be a\n' +
                      "module format (such as <code>'commonjs'</code> or <code>'module'</code>) or an arbitrary value like <code>'css'</code> or\n" +
                      "<code>'yaml'</code>.</li>\n" +
                      '<li><code>importAttributes</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link">Object</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> The import attributes to use when\n' +
                      'caching the module (optional; if excluded the input will be used)</li>\n' +
                      '<li><code>shortCircuit</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type" class="type-link">boolean</a></code> A signal that this hook intends to\n' +
...
                      '<li><code>conditions</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>[]</code> Export conditions of the relevant <code>package.json</code></li>\n' +
+                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> The format optionally supplied by the\n' +
-                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> The format optionally supplied by the\n' +
                      '<code>resolve</code> hook chain. This can be any string value as an input; input values do not need to\n' +
                      'conform to the list of acceptable return values described below.</li>\n' +
                      '<li><code>importAttributes</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link">Object</a></code></li>\n' +
                      '</ul>\n' +
                      '</li>\n' +
...
                          '<td>Load a Node.js CommonJS module with TypeScript syntax</td>\n' +
+                         '<td><code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer" class="type-link">ArrayBuffer</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="type-link">TypedArray</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code></td>\n' +
-                         '<td><code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer" class="type-link">ArrayBuffer</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="type-link">TypedArray</a>|null|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code></td>\n' +
                          '</tr>\n' +
                          '<tr>\n' +
                          "<td><code>'commonjs'</code></td>\n" +
                          '<td>Load a Node.js CommonJS module</td>\n' +
+                         '<td><code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer" class="type-link">ArrayBuffer</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="type-link">TypedArray</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code></td>\n' +
-                         '<td><code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer" class="type-link">ArrayBuffer</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="type-link">TypedArray</a>|null|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code></td>\n' +
                          '</tr>\n' +
                          '<tr>\n' +
                          "<td><code>'json'</code></td>\n" +
                          '<td>Load a JSON file</td>\n' +
                          '<td><code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer" class="type-link">ArrayBuffer</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="type-link">TypedArray</a></code></td>\n' +
...
                      '<ul>\n' +
+                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> A hint to the <code>load</code> hook (it might be ignored). It can be a\n' +
-                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> A hint to the <code>load</code> hook (it might be ignored). It can be a\n' +
                      "module format (such as <code>'commonjs'</code> or <code>'module'</code>) or an arbitrary value like <code>'css'</code> or\n" +
                      "<code>'yaml'</code>.</li>\n" +
                      '<li><code>importAttributes</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link">Object</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> The import attributes to use when\n' +
                      'caching the module (optional; if excluded the input will be used)</li>\n' +
                      '<li><code>shortCircuit</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type" class="type-link">boolean</a></code> A signal that this hook intends to\n' +
...
                      '<li><code>conditions</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>[]</code> Export conditions of the relevant <code>package.json</code></li>\n' +
+                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> The format optionally supplied by the\n' +
-                     '<li><code>format</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#undefined_type" class="type-link">undefined</a></code> The format optionally supplied by the\n' +
                      '<code>resolve</code> hook chain. This can be any string value as an input; input values do not need to\n' +
                      'conform to the list of acceptable return values described below.</li>\n' +
                      '<li><code>importAttributes</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link">Object</a></code></li>\n' +
                      '</ul>\n' +
                      '</li>\n' +
quic.json
Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines

  {
    modules: [
      {
        classes: [
          {
...
                  '<li><code>newRemoteAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a></code> The remote address of the validated path.</li>\n' +
+                 '<li><code>oldLocalAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code> The local address of the previous\n' +
-                 '<li><code>oldLocalAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a> | null</code> The local address of the previous\n' +
                  'path, or <code>null</code> if this is the first path validation (e.g., preferred address\n' +
                  "migration from the client's perspective).</li>\n" +
+                 '<li><code>oldRemoteAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code> The remote address of the previous\n' +
-                 '<li><code>oldRemoteAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a> | null</code> The remote address of the previous\n' +
                  'path, or <code>null</code>.</li>\n' +
                  '<li><code>preferredAddress</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type" class="type-link">boolean</a></code> <code>true</code> if the path validation was triggered by\n' +
                  'a preferred address migration on the client side. <code>undefined</code> on the server side.</li>\n' +
                  '</ul>',
                displayName: 'Callback: `OnPathValidationCallback`',
...
                  '<li><code>newRemoteAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a></code></li>\n' +
+                 '<li><code>oldLocalAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code></li>\n' +
+                 '<li><code>oldRemoteAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code></li>\n' +
-                 '<li><code>oldLocalAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a>|null</code></li>\n' +
-                 '<li><code>oldRemoteAddress</code> <code class="type"><a href="net.html#class-netsocketaddress" class="type-link">net.SocketAddress</a>|null</code></li>\n' +
                  '<li><code>preferredAddress</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#boolean_type" class="type-link">boolean</a></code></li>\n' +
                  '<li><code>session</code> <code class="type"><a href="quic.html#class-quicquicsession" class="type-link">quic.QuicSession</a></code></li>\n' +
                  '</ul>\n' +
                  '<p>Published when a path validation attempt completes.</p>',
                displayName: 'Channel: `quic.session.path.validation`',
sqlite.json
Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines

  {
    modules: [
      {
        classes: [
          {
...
                  '<code>SQLITE_INSERT</code>, <code>SQLITE_UPDATE</code>, <code>SQLITE_SELECT</code>).</li>\n' +
+                 '<li><code>arg1</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code> The first argument (context-dependent, often a table name).</li>\n' +
+                 '<li><code>arg2</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code> The second argument (context-dependent, often a column name).</li>\n' +
+                 '<li><code>dbName</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code> The name of the database.</li>\n' +
+                 '<li><code>triggerOrView</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|<a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#null_type" class="type-link">null</a></code> The name of the trigger or view causing the access.</li>\n' +
-                 '<li><code>arg1</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null</code> The first argument (context-dependent, often a table name).</li>\n' +
-                 '<li><code>arg2</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null</code> The second argument (context-dependent, often a column name).</li>\n' +
-                 '<li><code>dbName</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null</code> The name of the database.</li>\n' +
-                 '<li><code>triggerOrView</code> <code class="type"><a href="https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#string_type" class="type-link">string</a>|null</code> The name of the trigger or view causing the access.</li>\n' +
                  '</ul>\n' +
                  '<p>The callback must return one of the following constants:</p>\n' +
                  '<ul>\n' +
                  '<li><code>SQLITE_OK</code> - Allow the operation.</li>\n' +
                  '<li><code>SQLITE_DENY</code> - Deny the operation (causes an error).</li>\n' +

Performance

Metric Base Head Diff
Elapsed time 9.04 s 9.06 s +20.00 ms (+0.22%)
User CPU time 27.57 s 28.56 s +990.00 ms (+3.59%)
System CPU time 1.93 s 1.99 s +60.00 ms (+3.11%)
Peak resident memory 1.64 GB 1.68 GB +35.63 MB (+2.12%)

llms-txt Generator

Performance

Metric Base Head Diff
Elapsed time 8.21 s 7.77 s -440.00 ms (-5.36%)
User CPU time 24.97 s 23.71 s -1.26 s (-5.05%)
System CPU time 1.74 s 2.06 s +320.00 ms (+18.39%)
Peak resident memory 1.58 GB 1.80 GB +227.29 MB (+14.05%)

orama-db Generator

Output size

| File | Base | Head | Diff |

|-|-|-|-|

| orama-db.json | 8.90 MB | 8.90 MB | +1.34 KB (+0.01%) |

Performance

Metric Base Head Diff
Elapsed time 8.66 s 8.53 s -130.00 ms (-1.50%)
User CPU time 25.41 s 25.35 s -60.00 ms (-0.24%)
System CPU time 1.83 s 1.87 s +40.00 ms (+2.19%)
Peak resident memory 1.64 GB 1.75 GB +112.79 MB (+6.73%)

web Generator

Output size

| File | Base | Head | Diff |

|-|-|-|-|

| all.js | 21.96 MB | 21.99 MB | +23.63 KB (+0.11%) |
| all.html | 21.24 MB | 21.26 MB | +19.19 KB (+0.09%) |
| fs.js | 1.51 MB | 1.52 MB | +8.35 KB (+0.54%) |
| fs.html | 1.66 MB | 1.66 MB | +6.74 KB (+0.40%) |
| sqlite.js | 284.31 KB | 287.48 KB | +3.17 KB (+1.12%) |
| sqlite.html | 311.82 KB | 314.38 KB | +2.56 KB (+0.82%) |
| quic.js | 554.71 KB | 557.09 KB | +2.38 KB (+0.43%) |
| quic.html | 826.71 KB | 828.63 KB | +1.92 KB (+0.23%) |
| stream.js | 930.69 KB | 932.00 KB | +1.31 KB (+0.14%) |
| module.js | 358.97 KB | 360.25 KB | +1.28 KB (+0.36%) |
| child_process.js | 487.20 KB | 488.34 KB | +1.14 KB (+0.23%) |
| stream.html | 922.95 KB | 923.99 KB | +1.04 KB (+0.11%) |
| module.html | 349.31 KB | 350.31 KB | +1.01 KB (+0.29%) |
| child_process.html | 404.87 KB | 405.77 KB | +930.00 B (+0.22%) |
| process.js | 731.84 KB | 732.60 KB | +780.00 B (+0.10%) |
| crypto.js | 1.35 MB | 1.35 MB | +732.00 B (+0.05%) |
| net.js | 347.92 KB | 348.58 KB | +684.00 B (+0.19%) |
| worker_threads.js | 420.27 KB | 420.93 KB | +684.00 B (+0.16%) |
| process.html | 718.89 KB | 719.49 KB | +620.00 B (+0.08%) |
| crypto.html | 1.20 MB | 1.20 MB | +586.00 B (+0.05%) |
| net.html | 456.11 KB | 456.65 KB | +552.00 B (+0.12%) |
| worker_threads.html | 393.99 KB | 394.53 KB | +552.00 B (+0.14%) |
| ffi.js | 108.40 KB | 108.90 KB | +513.00 B (+0.46%) |
| tls.js | 353.89 KB | 354.39 KB | +513.00 B (+0.14%) |
| ffi.html | 143.95 KB | 144.35 KB | +414.00 B (+0.28%) |
| tls.html | 413.89 KB | 414.29 KB | +414.00 B (+0.10%) |
| modules.js | 151.47 KB | 151.80 KB | +342.00 B (+0.22%) |
| stream_iter.js | 493.21 KB | 493.55 KB | +342.00 B (+0.07%) |
| test.js | 1.00 MB | 1.00 MB | +342.00 B (+0.03%) |
| url.js | 350.59 KB | 350.92 KB | +342.00 B (+0.10%) |
| webcrypto.js | 422.96 KB | 423.29 KB | +342.00 B (+0.08%) |
| modules.html | 185.38 KB | 185.65 KB | +276.00 B (+0.15%) |
| stream_iter.html | 395.33 KB | 395.60 KB | +276.00 B (+0.07%) |
| test.html | 895.25 KB | 895.52 KB | +276.00 B (+0.03%) |
| url.html | 364.07 KB | 364.34 KB | +276.00 B (+0.07%) |
| webcrypto.html | 562.27 KB | 562.54 KB | +276.00 B (+0.05%) |
| http.js | 759.99 KB | 760.16 KB | +171.00 B (+0.02%) |
| http2.js | 875.36 KB | 875.53 KB | +171.00 B (+0.02%) |
| util.js | 796.14 KB | 796.31 KB | +171.00 B (+0.02%) |
| http.html | 815.66 KB | 815.79 KB | +138.00 B (+0.02%) |
| http2.html | 838.34 KB | 838.48 KB | +138.00 B (+0.02%) |
| util.html | 735.87 KB | 736.01 KB | +138.00 B (+0.02%) |

Performance

Metric Base Head Diff
Elapsed time 77.41 s 79.75 s +2.34 s (+3.02%)
User CPU time 166.46 s 170.84 s +4.38 s (+2.63%)
System CPU time 4.75 s 4.80 s +50.00 ms (+1.05%)
Peak resident memory 5.69 GB 5.78 GB +83.27 MB (+1.43%)

@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.17647% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.90%. Comparing base (6a217f0) to head (43141cd).

Files with missing lines Patch % Lines
src/generators/metadata/utils/resolveTypes.mjs 91.17% 3 Missing ⚠️
src/utils/swc.mjs 91.17% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #934      +/-   ##
==========================================
+ Coverage   84.89%   84.90%   +0.01%     
==========================================
  Files         193      194       +1     
  Lines       17512    17553      +41     
  Branches     1551     1558       +7     
==========================================
+ Hits        14867    14904      +37     
- Misses       2639     2643       +4     
  Partials        6        6              

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

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AugustinMauroy

Copy link
Copy Markdown
Member

why wasm build work for SWC but not for OXC ? it's should

@avivkeller

Copy link
Copy Markdown
Member Author

why wasm build work for SWC but not for OXC ? it's should

OXC's WASM only installs on specific machines, whereas swc's installs on all.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants