Commit Graph

79 Commits

Author SHA1 Message Date
Boshen 0c4e9cf50d chore(submodules): update submodule SHAs to latest commits (#17456)
Updates submodule dependencies to their latest commits.

## Changes

- babel: `cbdc42f` → `761c250`
- TypeScript: `2dfdbba` → `f3770c9`
- estree-conformance: `2e7394c` → `87a8e99`


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>
2025-12-29 19:57:32 +08:00
Boshen 58323b0b93 chore(submodules): update submodule SHAs to latest commits (#17287)
Updates submodule dependencies to their latest commits.

## Changes

- babel: `a6b5863` → `cbdc42f`
- estree-conformance: `18b46dd` → `2e7394c`


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: graphite-app <96075541+graphite-app@users.noreply.github.com>
2025-12-23 11:18:31 +08:00
Boshen 66b47b1a5b chore(submodules): update submodule SHAs to latest commits (#17274)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `84082e2` → `9079aee`
- babel: `84d21e4` → `a6b5863`
- TypeScript: `b78f089` → `2dfdbba`
- estree-conformance: `4f260c1` → `18b46dd`


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>
2025-12-22 21:38:11 +08:00
overlookmotel d1ce274d39 test(estree): update estree-conformance submodule (#17066)
Bump `estree-conformance` and `test262` submodules.

`estree-conformance` submodule now contains snapshots for tokens conformance testing: https://github.com/oxc-project/estree-conformance/pull/131 & https://github.com/oxc-project/estree-conformance/pull/134
2025-12-18 16:03:24 +00:00
Boshen e7edd492dc chore(submodules): update submodule SHAs to latest commits (#16922) 2025-12-16 11:17:56 +08:00
Boshen 3bd05545af chore(submodules): update submodule SHAs to latest commits (#16909)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `c0cf527` → `947fee3`
- babel: `3591b24` → `84d21e4`
- TypeScript: `c21f73f` → `0a07132`
- estree-conformance: `1f2816b` → `e0aa1b4`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2025-12-15 15:45:25 +00:00
Boshen 0a3bb7bede chore(submodules): update submodule SHAs to latest commits (#16617)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `d0994d6` → `c0cf527`
- babel: `7958603` → `3591b24`
- TypeScript: `669c25c` → `c21f73f`
- estree-conformance: `3e67aec` → `1f2816b`


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: graphite-app <96075541+graphite-app@users.noreply.github.com>
2025-12-10 15:28:16 +08:00
Boshen 3827464d2e chore(submodules): update submodule SHAs to latest commits (#16454)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `26058a0` → `d0994d6`
- babel: `99dcba5` → `7958603`
- estree-conformance: `21042b0` → `3e67aec`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2025-12-03 15:59:20 +00:00
Boshen 481fe8171a ci: update node-compat-table repository from williamkapke to compat-table org
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:45:35 +08:00
Boshen 3f6387dd3b ci(workflows): add workflow_call support to update_submodules.yml (#16431)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-12-03 19:47:57 +08:00
Boshen 7452e08cb0 chore(ci): Check npm packages exist before publishing (#16397)
npm Trusted Publishing requires the package to already exist on npm
before it can be published in a “trusted” workflow.

The current workflow looks like this, for example, if we have 10 NAPI
packages:

* I added a new NAPI package and forgot about it.
* During release, CI tries to release 5 packages.
* CI encounters the missing package, errors out with “package not
found,” and exits.
* I then publish the missing package locally.
* I can’t retry the CI publish process, because the retry immediately
fails with “package already published.”

So we need to check that *all* packages exist on npm **before**
publishing anything. This allows us to publish any missed packages
without breaking the entire release process.

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-03 12:48:08 +08:00
leaysgur e056f1e273 ci(prettier): Update prettier 3.7.0 -> 3.7.3 (#16369)
While we're pinning the version, I also think it's OK to update anything that can be update safely.
2025-12-02 07:54:59 +00:00
leaysgur 36558bdf6b ci(prettier): Update prettier version (#16226)
Fixes #16219
2025-11-28 04:50:00 +00:00
leaysgur 996450cc46 ci(prettier): Stop auto update prettier version (#16220)
Fixes #16219
2025-11-28 03:16:56 +00:00
overlookmotel 1d70bab10a test(ast/estree): bump acorn-test262 submodule (#16108)
Bump `acorn-test262` submodule to latest. It aligns its version of `test262` and `TypeScript` submodules to same versions as used in this repo, which fixes a bunch of erroneous ESTree conformance test failures.

It also updates to latest version of TS-ESLint parser, which altered the shape of `TSImportType` (https://github.com/typescript-eslint/typescript-eslint/pull/11591). The test cases broken by this are fixed in next PR (#16109).
2025-11-25 14:11:12 +00:00
Boshen 523a30a016 style(all): apply oxfmt default options (#16091)
Embrace the defaults!

---------

Co-authored-by: Yuji Sugiura <y.sugiura.0316@gmail.com>
2025-11-25 15:56:24 +09:00
Boshen f25f031fbf chore(submodules): update submodule SHAs to latest commits (#16084)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `c125a8d` → `26058a0`
- babel: `c92c491` → `99dcba5`
- TypeScript: `cc2610f` → `669c25c`
- prettier: `d7fe2da` → `864bb7c`
- acorn-test262: `fd0b12c` → `0435714`


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: graphite-app <96075541+graphite-app@users.noreply.github.com>
2025-11-25 13:19:40 +08:00
overlookmotel 5877752586 ci(lint): enable no-console rule (#16053)
Enable `no-console` rule in our linting setup. Add `oxlint-disable` comments where we do want to log (in scripts).
2025-11-24 12:06:00 +00:00
camc314 0c3acc42c8 fix(ci): run conformance test suite on JS dep changes (#15835)
Transformer CI runs node, and produces snapshots that include the dependency version inside the snapshot:

https://github.com/oxc-project/oxc/blob/82471c8d5a22e3a07c275eea79a07b61f8827875/tasks/transform_conformance/snapshots/babel_exec.snap.md#L51-L56

Therefore we should re-run conformance CI when these dependencies change to ensure the snapshots remain up to date.
2025-11-18 13:42:15 +00:00
Boshen 82471c8d5a chore(submodules): update submodule SHAs to latest commits (#15825)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `fd594a0` → `c125a8d`
- babel: `777ded7` → `c92c491`
- TypeScript: `48244d8` → `cc2610f`
- prettier: `9e9f65e` → `d7fe2da`
- acorn-test262: `9cce4c9` → `fd0b12c`
- node-compat-table: `6822522` → `499beb6`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2025-11-18 03:31:03 +00:00
Boshen 9b8f41459e chore(submodules): update submodule SHAs to latest commits (#15586)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `d2940bd` → `fd594a0`
- babel: `4cc3d88` → `777ded7`
- TypeScript: `8ea03f8` → `48244d8`
- prettier: `011791f` → `9e9f65e`
- acorn-test262: `994d763` → `9cce4c9`
- node-compat-table: `17ac85c` → `6822522`


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>
2025-11-11 17:43:08 +08:00
Boshen bf09033cf6 chore(submodules): update submodule SHAs to latest commits (#15012)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `baa48a4` → `d2940bd`
- babel: `41d9651` → `4cc3d88`
- TypeScript: `261630d` → `8ea03f8`
- prettier: `7584432` → `011791f`
- acorn-test262: `090bba4` → `994d763`
- node-compat-table: `ed0d6ba` → `17ac85c`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2025-10-28 02:38:20 +00:00
leaysgur a8e5181ab7 chore(infra): dogfooding oxfmt (#14979)
Fixes #14803

- Added `oxfmt` and `oxfmtrc.jsonc`
- Remove `dprint` plugin and useless ignore paths
- Apply `dprint` again
- Apply `oxfmt`
2025-10-28 01:16:46 +00:00
Boshen 7bcc6b0ac5 refactor(ci): expand submodule update workflow to handle all 6 conformance test repos (#14990)
- Rename workflow: update_compat_table.yml → update_submodules.yml
- Extract hardcoded SHAs in clone-parallel.sh into variables at the top
- Expand workflow to automatically update all 6 submodules:
  - test262 (tc39/test262)
  - babel (babel/babel)
  - TypeScript (microsoft/TypeScript)
  - prettier (prettier/prettier)
  - acorn-test262 (oxc-project/acorn-test262)
  - node-compat-table (williamkapke/node-compat-table)
- Workflow now fetches latest SHAs from all repos, compares with current, and updates clone-parallel.sh
- Creates single PR with summary of all updated submodules

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-10-27 12:44:10 +00:00
Boshen 7b9594f0a2 refactor(justfile): centralize submodule cloning script and improve existing directory handling (#14988)
## Summary

- Moved `clone-parallel.sh` from `.github/actions/clone-submodules/` to `.github/scripts/` for better organization and reusability
- Updated justfile `submodules` recipe to use the centralized script, eliminating duplication
- Fixed issue where script would fail with "destination path already exists" error when directories already exist
- Script now properly handles existing directories by initializing or updating git repos instead of failing

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-10-27 09:03:58 +00:00
camc314 8353108e10 fix(ci): run conformance test on changes to transform/prettier conformance tasks (#14961) 2025-10-27 08:53:25 +00:00
Boshen 632652d18f refactor(ci): use cargo tree for conformance job detection (#14269)
## Summary

- Replace `dorny/paths-filter` with `cargo tree`-based detection for more accurate dependency tracking in the conformance CI job
- Extract common file detection and utility functions into reusable modules
- Eliminate code duplication across CI scripts

## Changes

### New Files
- **`.github/scripts/get-changed-files.js`** - Reusable module for detecting changed files from GitHub events (PR/push)
- **`.github/scripts/check-conformance-changes.js`** - Conformance detection using `cargo tree -p oxc_coverage -p oxc_transform_conformance -p oxc_prettier_conformance`
- **`.github/scripts/utils.js`** - Shared utilities:
  - `exec()` - Shell command execution with error handling
  - `getCrateDependencies()` - Generic cargo tree wrapper
  - `checkFilesAffectCrates()` - File-to-crate impact checking

### Modified Files
- **`.github/scripts/generate-benchmark-matrix.js`** - Refactored to use shared modules
- **`.github/workflows/ci.yml`** - Conformance job now uses `check-conformance-changes.js` instead of `dorny/paths-filter`

## Benefits

- **More accurate**: Uses actual crate dependencies from `cargo tree` instead of static path patterns
- **Maintainable**: Shared utilities eliminate code duplication
- **Extensible**: Easy to add new scripts that need similar functionality
- **Consistent**: Same file detection logic across all CI scripts

## Test Plan

- [x] Verify CI workflow syntax is valid
- [ ] Monitor first PR run to ensure conformance detection works correctly
- [ ] Check that conformance is skipped when appropriate (e.g., linter-only changes)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-09-30 17:01:40 +00:00
Boshen 2c3d144b12 refactor(benchmark): consolidate features into compiler and linter (#14108)
closes https://github.com/oxc-project/oxc/issues/14007

- Replace 8 individual benchmark features with 2: compiler and linter
- Update matrix script to return objects with component and feature
fields
- Simplify workflow to use cargo codspeed build/run with feature mapping

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

This balances build speed and cache size, it was saving 7 separate
caches of 280MB each component + 400MB for the linter, it's now
200-300MB for the "compiler".

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-25 17:10:52 +08:00
Boshen 07a0c86821 chore(ci): skip benchmarks for unaffected components (#14088) 2025-09-25 13:56:21 +08:00