Commit Graph
85 Commits
Author SHA1 Message Date
oxc-guard[bot] 0c4f29ea55 chore(submodules): update submodule SHAs to latest commits (#27321)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `0a888ef` → `7ab7faf`
- babel: `fd66590` → `4f4ef5d`
- TypeScript: `f29aeb9` → `4f5ddae`
- estree-conformance: `1e8b221` → `4c2814a`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-10-04 21:16:40 +01:00
overlookmotel 8d8c1fc288 test(estree): update estree-conformance submodule to latest (#27104)
Update `estree-conformance` submodule to latest.

On latest commit, TS-ESLint parser dependency has been bumped including a bug fix for tokens (https://github.com/typescript-eslint/typescript-eslint/pull/12821).

We already made the corresponding fix in `oxc_parser` in #26328. Now we can remove the workaround to skip 2 conformance test cases where TS-ESLint previously produced the wrong tokens.
2026-09-27 11:29:43 +00:00
Boshen dc352fd9c8 fix(release): wait for npm subpackages before publishing (#27030)
## Summary
- Wait for N-API platform packages to expose metadata and downloadable tarballs before publishing their parent package
- Poll npm with exact-version metadata requests and ranged tarball requests
- Apply the ordering guard to Oxlint, Oxfmt, and reusable N-API releases
- Run affected publish jobs on `ubuntu-latest` instead of the 15-minute `ubuntu-slim` runner

## Testing
- `node --check .github/scripts/wait-for-npm-packages.mjs`
- `oxfmt --check` on the changed script and workflows
- Targeted Oxlint check on the new script
- Live registry checks for six already-published scoped and unscoped packages
- GitHub Actions PR title and Lint checks pass
2026-09-25 07:53:09 +00:00
oxc-guard[bot] f2d621eea4 chore(submodules): update submodule SHAs to latest commits (#26922)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `35d5666` → `0a888ef`
- babel: `68b6a2a` → `fd66590`
- TypeScript: `c975de5` → `f29aeb9`
- estree-conformance: `81ec100` → `3eb6986`


This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-09-22 10:30:39 +00:00
oxc-guard 360397612b chore(submodules): update submodule SHAs to latest commits (#26789)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `419d3e0` → `35d5666`
- babel: `1eac448` → `68b6a2a`
- TypeScript: `f3b04fe` → `c975de5`
- estree-conformance: `97c0812` → `81ec100`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-09-18 08:58:14 +00:00
camc314 1fac65563b feat(coverage): support new TypeScript fixture layout (#26226)
Update the coverage harness and fixture consumers for TypeScript's merged `tsc/testdata` layout, including separate compiler and conformance baseline directories. Handle strict/checkJs baseline variants and exclude fixtures without any reference baseline. Update fixture revisions, conformance snapshots, and the existing NAPI token-test exclusion paths. Remove the temporary snapshot path translation from the parent PR.

Local conformance reproduced the updated snapshots, and all 237,025 parser NAPI tests passed with token, range/parent, and lazy-transfer modes enabled. The snapshots retain the false failures for the two TS2339 fixtures without special-case exclusions.
2026-09-18 08:35:21 +00:00
leaysgur 6ef3984410 refactor(ci): self-provision prettier suite in oxc_formatter_tests (#25467)
Remove the Prettier related stuff from the conformance, which is purely aimed at JS/TS.

Instead, `oxc_formatter_tests` manage Prettier's test fixtures along with Oxfmt.
2026-08-12 00:40:59 +00:00
oxc-guard 7ebbdddce7 chore(submodules): update submodule SHAs to latest commits (#25505)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `b363f29` → `be13516`
- babel: `06b6eae` → `1eac448`
- estree-conformance: `f7a4e0c` → `8d4e1fa`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-08-11 16:17:31 +00:00
oxc-guard[bot] 4e7007118d chore(submodules): update submodule SHAs to latest commits (#25261)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `d1d583d` → `b363f29`
- babel: `c86e9e4` → `06b6eae`
- TypeScript: `637d574` → `b465fdb`
- estree-conformance: `e8fd120` → `f7a4e0c`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-08-03 22:09:18 +01:00
leaysgur 77a0200f68 chore(prettier_conformance): update prettier to 3.9.6 (#24879)
https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396
2026-07-24 05:39:15 +00:00
Boshen d174661221 ci(benchmark): add CodSpeed memory measurement for pipeline benchmarks (#24559)
Adds CodSpeed's [Memory Instrument](https://codspeed.io/docs/instruments/memory) for the `pipeline` benchmarks: peak memory, total allocated bytes, allocation count, and a memory timeline per benchmark case, tracked with baseline comparison on PRs alongside the existing CPU simulation runs.

## Changes

- `generate-benchmark-matrix.js`: entry construction is factored into a `buildMatrixEntries()` helper used by all five construction sites. All entries now carry an explicit `mode`: `simulation` for every component, `simulation,memory` for `pipeline` — so the pipeline job runs both instruments and inherits the existing changed-file affection logic.
- `benchmark.yml`: the action's `mode:` input comes from the matrix. Job names and count are unchanged.

No build-step changes needed: `cargo-codspeed` maps memory mode to the same `analysis` build the workflow already stages (`MeasurementMode::Memory` → `BuildMode::Analysis`), and the pinned action v4.18.5 supports memory mode (added in v4.17.0) including comma-separated multi-mode runs.

Notes:

- The first memory numbers on this PR will have no baseline; comparisons start after the post-merge main run.
- Memory metrics reflect the bench crate's deliberate `NeverGrowInPlaceAllocator` worst-case realloc behavior — consistent run-to-run, which is what matters for regression tracking.

AI Disclosure: This was generated with Claude Code, Fable 5. It has been tested and reviewed by me for correctness.
2026-07-15 16:12:52 +00:00
oxc-guard[bot] 17cb5c13c5 chore(submodules): update submodule SHAs to latest commits (#24463)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `de8e621` → `d1d583d`
- babel: `1fb0b77` → `c86e9e4`
- TypeScript: `7964e22` → `637d574`
- estree-conformance: `6514ad7` → `e8fd120`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-07-13 14:24:36 +01:00
leaysgur 0fac7fe935 chore(prettier_conformance): update prettier to 3.9.5 (#24423) 2026-07-13 00:13:32 +00:00
leaysgur dad42879c7 chore(ci): run measurement jobs when Cargo.lock or rust-toolchain changes (#24199)
### Summary

The include-mode filter in `check-changes.js` short-circuits to "skip" when no changed files are under `crates/`, so it never reaches the cargo tree dependency check for `Cargo.lock`-only dependency updates or `rust-toolchain.toml` bumps. Conformance, Minsize, Allocations, and Linter timings are all gated on this filter.

This is how #24192 (`num-bigint` 0.4.6 → 0.5.1) landed with a stale parser allocation snapshot: the update changed BigInt-literal parsing allocation counts, the Allocations job never re-measured on main, and the mismatch surfaced on an unrelated PR (#24098). The snapshot itself is fixed in #24198.

This PR treats `Cargo.lock` and `rust-toolchain.toml` changes as affecting every crate, so measurement jobs always re-run on dependency and toolchain updates. The cost is that renovate dependency PRs now run these four jobs; dependency updates are exactly the class of change that can shift measured behavior, so that is the intended behavior. Exclude-mode and paths-only jobs are unaffected (exclude mode already runs on such changes by construction).

### Trade-off

For Conformance specifically this closes a correctness gap, not just a snapshot-staleness one: a dependency update that changes parser/transformer behavior currently skips conformance entirely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-07-06 07:49:06 +00:00
leaysgur 1a3bd5a3ce chore(prettier_conformance): update prettier to 3.9.4 (#24200)
https://github.com/prettier/prettier/compare/3.9.1...3.9.4
2026-07-06 02:00:30 +00:00
leaysgur b389dd3df9 chore(prettier_conformance): update prettier to 3.9.1 (#23930)
Part of #23923

Updated diffs should be handled in later PRs.
2026-07-03 07:12:06 +00:00
oxc-guard 9e72aa0312 chore(submodules): update submodule SHAs to latest commits (#23451)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `05bb032` → `de8e621`
- babel: `2688fbd` → `1fb0b77`
- TypeScript: `7539c04` → `7964e22`
- estree-conformance: `ca42c3d` → `6514ad7`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-06-15 14:31:01 +00:00
leaysgur 4503faa630 chore(oxfmt): update prettier@3.8.4 (#23312)
> https://github.com/prettier/prettier/releases/tag/3.8.4

Only fixes bug in markdown.
2026-06-12 02:30:03 +00:00
oxc-guard b4f9cb9d8c chore(submodules): update submodule SHAs to latest commits (#23118)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `7e115f4` → `05bb032`
- babel: `d9fe348` → `2688fbd`
- TypeScript: `e5509e2` → `7539c04`
- estree-conformance: `faf089d` → `ca42c3d`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-06-08 14:49:36 +00:00
Boshen b846ab2d9a feat(react_compiler): integrate the Rust port of the React Compiler (#22942)
Closes https://github.com/oxc-project/oxc/issues/10048

Integrates the Rust port of the React Compiler ([facebook/react#36173](https://github.com/facebook/react/pull/36173)) into oxc.

## Notes (resolved)

- Published crates can't reference Git URLs, so using this from Rolldown needs the React Compiler crates on crates.io. ✅ Published as a fork at https://crates.io/crates/forked_react_compiler; this PR depends on those `forked_react_compiler*` crates so people can get earlier access.
- The React Compiler crates had no license field. ✅ The published fork carries `license = "MIT"` (per the React repo's MIT license), so Cargo Deny and Security Analysis pass.

## Benchmark

**Wall-clock overhead vs plain transform** (release `transformSync`, same `jsx: automatic`, toggling only `reactCompiler`):

| fixture | without | with | overhead |
| --- | --- | --- | --- |
| RadixUIAdoptionSection.jsx (2.5 KiB) | 0.03 ms | 1.81 ms | +1.8 ms |
| excalidraw `App.tsx` (406 KiB) | 4.09 ms | 14.49 ms | +10.4 ms (3.5×) |

So roughly a fixed ~1.8 ms floor per file plus a per-size cost — about **3.5× the transform time** on a large real-world component.

## Binary size

Linking the React Compiler pulls the whole compiler pipeline (HIR, lowering, inference, SSA, optimization, reactive scopes, validation) plus the oxc⇄Babel AST conversion into the binding. Release build of the napi transform addon (`transform.darwin-arm64.node`, `--release`, stripped), darwin-arm64:

| build | size |
| --- | --- |
| baseline (`main`) | 3.51 MiB |
| with React Compiler | 8.66 MiB |
| **delta** | **+5.14 MiB (+146%, 2.46×)** |
2026-06-08 13:32:56 +00:00
oxc-guard[bot] 50baca037c chore(submodules): update submodule SHAs to latest commits (#22721)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `78fc3f8` → `7e115f4`
- babel: `3d34928` → `d9fe348`
- TypeScript: `f350b52` → `e5509e2`
- estree-conformance: `576e7d8` → `faf089d`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-05-25 22:16:39 +08:00
oxc-guard[bot] ec7de07b08 chore(submodules): update submodule SHAs to latest commits (#22550)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `ccaac10` → `78fc3f8`
- babel: `4079bcd` → `3d34928`
- estree-conformance: `9c67f5e` → `576e7d8`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-05-19 10:46:02 +08:00
oxc-guard e68f4fa1c3 chore(submodules): update submodule SHAs to latest commits (#22417)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `d0c1b45` → `ccaac10`
- babel: `6402dbb` → `4079bcd`
- estree-conformance: `d968f2c` → `9c67f5e`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-05-14 10:36:57 +00:00
oxc-guard[bot] 550052a096 chore(submodules): update submodule SHAs to latest commits (#22170)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `2b2ecea` → `d0c1b45`
- babel: `c543b03` → `6402dbb`
- TypeScript: `c7a0ae1` → `f350b52`
- estree-conformance: `e4104a1` → `d968f2c`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-05-06 09:19:12 +01:00
fe23965191 feat(linter/release): automate oxlint rule version updates (#21392)
## Summary

This PR covers the release automation follow-up from #19890.

It replaces the earlier Rust-based prototype with a small Node script,
`.github/scripts/update-rule-versions.js`, that scans
`declare_oxc_lint!` declarations under `crates/oxc_linter/src/rules/**`
and:

- rewrites stable `version = "next"` entries to the actual oxlint
release version during release prep
- leaves `nursery` rules on `version = "next"`
- reuses the same script during release CI and fails if rerunning it
would still rewrite tracked rule files, so no stable `version = "next"`
remains at release time
- prints a simple change report
- supports `--dry-run` for local verification

The implementation also now hardens a few failure modes that came up
during review:

- comment-only lines inside `declare_oxc_lint!` blocks are ignored when
parsing metadata
- trailing `// ...` and single-line `/* ... */` comments on metadata
lines are handled correctly
- multi-line block comments on metadata lines and macro terminators are
handled correctly
- doc examples inside the macro block that mention `version = "next"`
are not misclassified as invalid matches
- symlinked entries under the lint rules tree are rejected instead of
being silently skipped
- the script still fails if `version = "next"` is found outside a
`declare_oxc_lint!` block

Workflow changes:

- `.github/workflows/prepare_release_apps.yml` sets up Node and runs the
rewrite script after `cargo release-oxc update`
- `.github/workflows/release_apps.yml` sets up Node, reruns the script
with the released oxlint version, and then checks `git diff --exit-code
-- crates/oxc_linter/src/rules`

## Testing

```bash
node --test .github/scripts/update-rule-versions.test.js
node .github/scripts/update-rule-versions.js --root . --release-version 1.61.0 --dry-run
cargo check -p oxc_linter --locked
```

## Notes

This PR intentionally does not include the docs/website wiring from
#19890.
That should stay in a follow-up PR since it touches a different data
flow and also involves `oxc-project/website#937`.

## AI Usage Disclosure

I used AI assistance to help inspect the release workflows, compare the
implementation direction against the maintainer feedback, and draft the
initial automation changes. I manually reviewed the final
implementation, added the regression tests for the workflow guard and
parser edge cases above, ran the checks listed here, and remain
responsible for the final code and submission.

---------

Co-authored-by: Cam McHenry <camchenry@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-04-20 17:53:52 +01:00
BoshenandClaude Opus 4.6 65f9195ff8 ci: eliminate redundant network round-trip in clone-parallel.mjs (#20593)
## Summary

- Replace `git clone --depth 1` with `git init` + `git remote add` for
fresh submodule directories, so `git fetch --depth 1 origin <sha>` is
the only network operation
- Remove redundant `remote set-url` that ran after a fresh clone (the
URL was already correct from the clone command)
- Merge the "directory exists but no .git" and "directory doesn't exist"
branches into a single code path

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 11:51:10 +08:00
Boshen 3fca6febc6 chore(submodules): update submodule SHAs to latest commits (#21455)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `ff0d161` → `2b2ecea`
- babel: `91b4ce3` → `c543b03`
- TypeScript: `7b8cb3b` → `c7a0ae1`
- estree-conformance: `d5e48e7` → `e4104a1`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-04-15 09:08:25 +00:00
leaysgur 1e0f86b766 chore(submodules): Update prettier to 3.8.3 (#21450)
https://github.com/prettier/prettier/releases/tag/3.8.3

Only fixes SCSS formatting.
2026-04-15 01:40:33 +00:00
leaysgur 0ab9d2afb9 chore(submodules): Update prettier to 3.8.2 (#21293) 2026-04-10 03:30:26 +00:00
leaysgur 32f3be56e1 chore(submodules): Update prettier to 3.8.1 (#21158)
Close #17241
2026-04-08 07:18:59 +00:00
Boshen 5f6ce21874 chore(submodules): update submodule SHAs to latest commits (#21105)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `5c82069` → `ff0d161`
- babel: `0124e7c` → `91b4ce3`
- TypeScript: `4f7b417` → `7b8cb3b`
- estree-conformance: `dc0f79b` → `d5e48e7`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-04-07 06:54:12 +00:00
Boshen 75f4a3e593 chore(submodules): update submodule SHAs to latest commits (#20651) 2026-03-23 18:23:15 +08:00
BoshenandClaude Opus 4.6 10a1478417 ci: consolidate conformance change detection into reusable action (#20569)
## Summary

- Replace bespoke check-conformance-changes.js with the reusable
check-changes action, eliminating 126 lines of duplicated
change-detection logic

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:32:50 +08:00
BoshenandClaude Opus 4.6 512ecdae67 ci: support paths-only mode in check-changes.js (#20567)
## Summary

- 4 NAPI jobs (`test-napi-oxlint`, `test-napi-oxfmt`, and their Windows
variants) pass only `--paths` without `--packages` or `--exclude`, which
hit the error fallback in `check-changes.js` and always returned `true`
— causing them to run on every PR regardless of changed files
- Add a paths-only code path that checks changed files against trigger
paths without cargo tree dependency resolution
- Estimated savings: ~145s (oxlint) + ~96s (oxfmt) on PRs; ~741s
(oxlint-windows) + ~476s (oxfmt-windows) on main

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:53:28 +08:00
Boshen 29f9fb3dae ci: more CI low-hanging fruit optimizations (#20560) 2026-03-20 22:46:28 +08:00
Boshen a93de959d0 ci: skip cargo tree in change detection when no crate files changed (#20559) 2026-03-20 21:50:44 +08:00
BoshenandBoshen f42be37c91 chore(submodules): update submodule SHAs to latest commits (#20518)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `63829c6` → `3a9ecbe`
- babel: `87a048d` → `31b3d95`
- TypeScript: `c9e7428` → `9059e5b`
- estree-conformance: `4daa9d7` → `9a4ddfb`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2026-03-20 13:13:40 +08:00
Boshen 7e83da9f2f chore(submodules): update submodule SHAs to latest commits (#20268) 2026-03-12 19:07:19 +08:00
BoshenandClaude Opus 4.6 4da5da8eed fix(ci): skip already-published npm packages instead of erroring (#20173)
## Summary

- CI publish workflow fails when re-run after a partial publish because
npm rejects republishing an existing version
- Add version-published checks to `check-npm-packages.js` so
already-published packages are skipped in the dry-run step
- Extract a shared `publish-if-needed.sh` script that checks the npm
registry before publishing, used by all three trusted publish steps
- Consolidate the old `checkPackageExists` and new version check into a
single `npmViewVersion` helper to avoid redundant npm registry calls

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 13:20:59 +08:00
BoshenandClaude Opus 4.6 2af70844d4 refactor(ci): replace dorny/paths-filter with cargo tree-based change detection (#20109)
## Summary

- Replace `dorny/paths-filter` in 6 CI jobs with a unified
`check-changes.js` script that uses `cargo tree` to resolve transitive
dependencies, fixing silent CI skips when upstream crates change
- Add a reusable `check-changes` composite action to eliminate
boilerplate across jobs
- Add change detection to Miri workflow to skip expensive steps when
unrelated code changes

### Key improvements over old `dorny/paths-filter`

- **Transitive dependency tracking**: uses `cargo tree` so e.g.
`oxc_parser` changes correctly trigger minification checks
- **Task crate resolution**: uses actual task crates (`oxc_minsize`,
`oxc_track_memory_allocations`) instead of library crates, catching
dev-dependencies like `oxc_codegen` that `cargo tree -e normal` on
`oxc_minifier` alone would miss
- **Self-validation**: `.github/workflows/ci.yml` and
`.github/workflows/miri.yml` are included in trigger paths so workflow
edits exercise the affected jobs

### Modes

**Include mode** (`--packages`): resolves transitive deps via `cargo
tree`, runs if changes affect any dep crate or additional paths.

**Exclude mode** (`--exclude`): skips only if ALL changed files are in
excluded crate directories (intentionally shallow — no `cargo tree`).

### Jobs updated
`test-wasm32-wasip1-threads`, `test-napi`, `test-napi-windows`,
`minification`, `allocs`, `lintgen`, `miri`

### Jobs intentionally unchanged
`conformance` (already uses `cargo tree`), `benchmark` (already uses
`cargo tree`), `ast_changes` (uses auto-generated watch list),
`test-ubuntu` (primary gate, runs everything), `typos`/`lint` (always
run)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:45:38 +08:00
Boshen f467298373 chore(submodules): update submodule SHAs to latest commits (#19951) 2026-03-06 14:45:41 +08:00
overlookmotel 3569aabc5c test(estree): ESTree conformance check files with hashbangs (#19680)
Oxc's AST on JS side has a non-standard `hashbang` property. Previously in ESTree conformance tests, we skipped files with a hashbang.

Bump `estree-conformance` submodule to include https://github.com/oxc-project/estree-conformance/pull/183 which adds `hashbang` property to AST in snapshots.

We can now enable the tests which we previously skipped.
2026-02-24 16:04:11 +00:00
overlookmotel f5694ced32 fix(estree/tokens): reverse field order of regex object in tokens (#19679)
Our convention is that object properties are in source code order. Reverse `pattern` and `flags` properties of `regex` objects in ESTree tokens to align with this pattern.

Bump `estree-conformance` submodule to include https://github.com/oxc-project/estree-conformance/pull/182 which makes the same change in snapshots for conformance tests.
2026-02-24 16:04:11 +00:00
Boshen 529fbac105 chore(submodules): update submodule SHAs to latest commits (#19662) 2026-02-24 15:34:23 +08:00
Cameron 9cec27f8e5 fix(ci): avoid ENOBUFS error in conformance change filter (#19547)
example:
https://github.com/oxc-project/oxc/actions/runs/22186779233/job/64162682319?pr=19502
2026-02-24 14:24:48 +08:00
camc314 08b0218dd6 chore(submodules): update submodule SHAs to latest commits (#19518) 2026-02-18 14:56:36 +00:00
Boshen 16fbd43f12 chore(submodules): update submodule SHAs to latest commits (#18877) 2026-02-03 16:46:48 +08:00
Boshen 333d4fb167 chore(submodules): update submodule SHAs to latest commits (#18841)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `fff41f0` → `dd6138f`
- babel: `6ef16ca` → `92c052d`
- TypeScript: `7f6a846` → `95e3aaa`
- estree-conformance: `389cb2a` → `6611520`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-02-03 04:30:00 +00:00
camc314 69d0b432ac fix(ci): throw on cargo tree errors (#18709) 2026-01-30 01:02:14 +00:00
Boshen dcc4be8259 feat(benchmark): add pipeline benchmark for full compilation flow (#18484) 2026-01-24 22:13:14 +08:00