oxc-project
oxc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore(lsp): add `ResolvedPath` struct (#21192) > Adds a `ResolvedPath` wrapper and new fixtures/tests intended to validate consistent path resolution across mixed-case `file://` URIs (notably from VS Code), to avoid mismatches when mapping URIs to filesystem/workspace entities. Canonicalized only on windows macOS where case-sensitive file are present. Not only linux, because `Text.txt` and `test.txt` in the same directory are different files.
main
50 seconds ago
fix(linter/unicorn): handle optional chaining in `prefer-array-flat` and `no-invalid-remove-event-listener` (#21299) fixes commented out tests with optionals in in `unicorn/prefer-array-flat` and `unicorn/no-invalid-remove-event-listener` rules --------- Co-authored-by: Cameron <cameron.clark@hey.com>
main
2 minutes ago
Merge branch 'main' into fix-unicorn-optionals-in-rules
baevm:fix-unicorn-optionals-in-rules
5 minutes ago
fix(transformer): preserve execution order for accessor with `useDefineForClassFields: false` When `useDefineForClassFields: false` (TypeScript's `set_public_class_fields`), public/TS-private field initializers are moved into the constructor. However, accessor backing fields created by the legacy decorator transform were left as class field declarations, causing them to execute before the constructor body. This broke execution order when the accessor initializer depended on other fields (e.g., `accessor util = this.input.foo()` where `input` was already moved to the constructor). The fix uses the `definite` flag on the backing field's PropertyDefinition as a marker from the decorator transform to the TypeScript transform. When `transform_class_fields` encounters a private instance PropertyDefinition with `definite: true`, it moves the initializer into the constructor alongside other field assignments, preserving source order. The marker is cleared after processing. This matches TypeScript and esbuild behavior. Fixes #21365 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix/transformer-accessor-use-define-for-class-fields
9 minutes ago
feat(linter): add release version for existing rules (#21363) Backfilling all existing rule versions using @connorshea's script here: https://github.com/oxc-project/oxc/issues/19890#issuecomment-3980559039 Things we still need to do after this PR: - Have a workflow for setting `version = "next"` and updating automatically on a release - Set `version = "next"` in rulegen template
main
14 minutes ago
feat(linter): allow tagging rules with release version (#21362) Allows `version = "foo"` setting in `declare_oxc_lint`.
main
19 minutes ago
fix(transformer): preserve execution order for accessor with `useDefineForClassFields: false` When `useDefineForClassFields: false` (TypeScript's `set_public_class_fields`), public/TS-private field initializers are moved into the constructor. However, accessor backing fields created by the legacy decorator transform were left as class field declarations, causing them to execute before the constructor body. This broke execution order when the accessor initializer depended on other fields (e.g., `accessor util = this.input.foo()` where `input` was already moved to the constructor). The fix uses the `definite` flag on the backing field's PropertyDefinition as a marker from the decorator transform to the TypeScript transform. When `transform_class_fields` encounters a private instance PropertyDefinition with `definite: true`, it moves the initializer into the constructor alongside other field assignments, preserving source order. The marker is cleared after processing. This matches TypeScript and esbuild behavior. Fixes #21365 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix/transformer-accessor-use-define-for-class-fields
34 minutes ago
fix(transformer): preserve execution order for accessor with `useDefineForClassFields: false` When `useDefineForClassFields: false` (TypeScript's `set_public_class_fields`), public/TS-private field initializers are moved into the constructor. However, accessor backing fields created by the legacy decorator transform were left as class field declarations, causing them to execute before the constructor body. This broke execution order when the accessor initializer depended on other fields (e.g., `accessor util = this.input.foo()` where `input` was already moved to the constructor). The fix uses the `definite` flag on the backing field's PropertyDefinition as a marker from the decorator transform to the TypeScript transform. When `transform_class_fields` encounters a private instance PropertyDefinition with `definite: true`, it moves the initializer into the constructor alongside other field assignments, preserving source order. The marker is cleared after processing. This matches TypeScript and esbuild behavior. Fixes #21365 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix/transformer-accessor-use-define-for-class-fields
1 hour ago
Latest Branches
CodSpeed Performance Gauge
0%
fix(linter/unicorn): handle optional chaining in `prefer-array-flat` and `no-invalid-remove-event-listener`
#21299
11 minutes ago
6d51fb6
baevm:fix-unicorn-optionals-in-rules
CodSpeed Performance Gauge
0%
fix(transformer): preserve execution order for accessor with `useDefineForClassFields: false`
#21369
1 hour ago
6e80161
fix/transformer-accessor-use-define-for-class-fields
CodSpeed Performance Gauge
0%
fix(allocator): fix unfulfilled clippy lint expectation
#21368
1 hour ago
3619c61
fix/allocator-clippy
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs