oxc-project
oxc-resolver
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore: release v11.23.0
release-plz-2026-07-01T23-42-22Z
1 minute ago
chore: remove test and JS-side leftovers (#1271) Small leftovers found while sweeping the test suite and the JS side: - `src/tests/resolve.rs`: the "file in module with query and fragment" table row appeared twice, byte-identical — the upstream enhanced-resolve `resolve.test.js` has the case exactly once, so the second row was a copy-paste in the port. The loop just ran the same assertion twice. - `src/tests/alias.rs`: `#[allow(clippy::too_many_lines)]` no longer suppresses anything (verified by removing it and running the CI clippy command). The same allow in `imports_field.rs` is still load-bearing (1191/100) and stays. - `vite.config.ts`: `"napi/browser.js"` was listed twice in `fmt.ignorePatterns`. - `napi/test.mjs`: removed a stale comment about a `.ts` extension next to code that adds `.mjs` and resolves an already-suffixed specifier. - `napi/webcontainer-fallback.js`: removed an inert lint directive (`// eslint-disable-next-line: no-console`) — the project lints with oxlint, the syntax is invalid even for ESLint, and `no-console` isn't enabled. Part of a second cleanup pass; follows #1264–#1268.
main
5 minutes ago
chore(bench): move specifier allocation out of the timed symlink loop (#1270) The two "resolve from symlinks" benches did, per timed iteration, 10,000 eager `format!("./file{i}")` allocations plus an `assert!(.. .is_ok())` branch — unlike every sibling bench in the file, which iterates precomputed data and discards results with `_ =`. The asserts also re-checked an invariant already validated once before the benchmark group runs. This precomputes the specifiers once (mirroring the `find tsconfig` bench's hoisting pattern) and drops the in-loop asserts, so the benches measure symlink resolution rather than resolution + allocation noise. The validation pass also now constructs one resolver instead of 10,000. **Heads-up:** this will step-change the CodSpeed series for `resolver_memory/resolve from symlinks` and `resolver_real/resolve from symlinks` downward — that's the removed allocation/assert overhead, not a resolver perf change. Part of a second cleanup pass; follows #1264–#1268.
main
6 minutes ago
Merge branch 'main' into chore/test-js-leftovers
chore/test-js-leftovers
21 minutes ago
chore: release v11.23.0
release-plz-2026-07-01T23-42-22Z
28 minutes ago
refactor: deduplicate cross-file helpers, drop stale lint allows (#1269) Two cross-file dedups plus stale-allow removal: - **`push_normalized_component`** existed twice — `path.rs` and `cache/cached_path.rs` — identical except the cached-path copy trims the trailing `\0` that uvwasi appends to directory entries on wasm ([nodejs/uvwasi#262](https://github.com/nodejs/uvwasi/issues/262)). This keeps one `pub` wasm-aware version in `path.rs`. Note this means `path.rs` callers (tsconfig path joins) now also get the `\0`-trim on wasm; on native targets the generated code is unchanged, and the helper stays `#[inline]` so the hot `normalize_with` path keeps its codegen. - **`manual_tsconfig()`**: the "manually configured tsconfig, deliberately skipping `Auto` discovery" match block was duplicated verbatim in `lib.rs` (`resolve`) and `dts_resolver.rs` (`dts_resolve_tsconfig_paths`). One helper in `tsconfig_resolver.rs` now owns it, and `find_tsconfig_manual` drops its `pub(crate)`. - **Stale allows**: `clippy::cognitive_complexity` on `extend_tsconfig` and `clippy::too_many_lines` on `dts_try_extensions`' neighbor no longer suppress anything (verified by removing them and running the CI clippy command); `extend_tsconfig` keeps `too_many_lines` (139/100). Part of a second cleanup pass; follows #1264–#1268.
main
31 minutes ago
chore: remove test and JS-side leftovers - Delete a byte-identical duplicated row in the resolve() test table (the upstream enhanced-resolve test has the case exactly once). - Drop a `clippy::too_many_lines` allow in the alias test that no longer suppresses anything. - Dedupe a repeated "napi/browser.js" fmt ignore entry, remove a stale copy-pasted comment in napi/test.mjs, and an inert eslint-disable directive in webcontainer-fallback.js.
chore/test-js-leftovers
34 minutes ago
refactor: deduplicate cross-file helpers, drop stale lint allows - Share one wasm-aware `push_normalized_component` from `path.rs` instead of maintaining a near-identical copy in `cached_path.rs`. The shared version keeps the uvwasi \0-trim, which `path.rs` callers previously lacked on wasm; on native targets the code is identical. - Add `manual_tsconfig()` for the identical "manually configured tsconfig, skipping Auto discovery" match duplicated in `lib.rs` and `dts_resolver.rs`; `find_tsconfig_manual` becomes private. - Drop lint allows that no longer suppress anything: `clippy::cognitive_complexity` on `extend_tsconfig` and `clippy::too_many_lines` on the dts resolver (the function shrank below the threshold).
refactor/dedupe-cross-file-helpers
36 minutes ago
Latest Branches
CodSpeed Performance Gauge
+5%
chore: release v11.23.0
#1259
7 minutes ago
d7582aa
release-plz-2026-07-01T23-42-22Z
CodSpeed Performance Gauge
-2%
chore: remove test and JS-side leftovers
#1271
31 minutes ago
883ff6f
chore/test-js-leftovers
CodSpeed Performance Gauge
-5%
refactor: deduplicate cross-file helpers, drop stale lint allows
#1269
46 minutes ago
e9b5f18
refactor/dedupe-cross-file-helpers
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs