Commit Graph

21 Commits

Author SHA1 Message Date
overlookmotel 696bf3db81 chore(codeowners): attribute ownership of allocation tracking snapshots to the relevant crate owners (#26330)
I am the codeowner of memory allocation tracking infra. However, this has meant that I get added as a reviewer on every PR which alters the snapshot files (notably a torrent of PRs on minifier, which I know nothing about). This makes it harder to track what PRs I _should_ actually be looking at.

Attribute ownership of the snapshot files to the codeowners of the relevant crates. This seems more logical.
2026-09-04 15:32:05 +00:00
overlookmotel 613bc92c2e chore(codeowners): add @overlookmotel as codeowner of oxc_lexer (#26329)
I'm not actually the primary owner of this code - @ShanonJackson is. But add me to codeowners file, so I get added as a reviewer on any PRs touching the crate, so I don't miss them.
2026-09-04 13:25:58 +00:00
Boshen 1c4f519e36 feat(napi): add Relay transform plugin (#25503)
## What

Ports the Relay `graphql` tagged template transform (babel-plugin-relay / swc_relay) as an individual napi transform, per #24914:

- **`crates/oxc_relay`** — the core transform as its own crate (modeled on `oxc_react_compiler`): replaces `graphql` tagged templates with references to relay-compiler artifacts. Definition names are extracted textually like `swc_relay` (equivalent to `\b(fragment|mutation|query|subscription)\s+(\w+)` with `#` comments stripped; hand-rolled scanner, no regex dependency).
- **`napi/transform-relay`** (`oxc-transform-relay`) — standalone napi package copied from the `napi/transform-react` template: parse → semantic → relay traverse → codegen. Only `graphql` tags are rewritten; TypeScript/JSX syntax is preserved untouched, so the output composes with any downstream toolchain.

## Options

| option | default | behavior |
|---|---|---|
| `artifactDirectory` | unset | when set, the import path is computed lexically relative to the transformed file (babel-plugin-relay `getRelativeImportPath` semantics — swc emits absolute paths instead); unset → `./__generated__/` next to the file |
| `language` | `javascript` | `typescript` imports `Name.graphql.ts`, otherwise `Name.graphql.js` |
| `eagerEsModules` | `true` | hoisted default imports (babel-plugin-relay ≥ v17 parity); `false` emits inline `require()` (`@swc/plugin-relay` / Next.js behavior) |

A `graphql` tag with no extractable definition name produces an error diagnostic (babel throws; swc silently skips).

Not supported, documented in both READMEs: dev-mode artifact hash validation, `jsModuleFormat: "haste"`, `isDevVariableName`, swc's Next.js-specific `projects`/`pagesDir`, and GraphQL document validation.

closes #24914

---

Implemented with Claude Code.
2026-08-13 13:56:01 +00:00
leaysgur b297fb1cb8 refactor(formatter,formatter_tests): fix up (#25478)
Cleaning up after the series of migrations.

- Docs clean up
- More strict `jsdoc` option handling in fixture tests
2026-08-12 00:48:33 +00:00
Boshen bea68c6a47 chore(ci): assign React Compiler code ownership (#25443)
Assign React Compiler-specific paths to `@Boshen` for explicit review
ownership.

Validated with `git diff --check`.

AI-assisted.
2026-08-10 00:01:00 +08:00
Boshen 85d0f4dd1f feat(napi): add React Compiler transform binding (#24934)
Adds the `oxc-transform-react` N-API binding and its public CI and publish workflows.

AI-assisted.
2026-07-29 09:08:58 +00:00
leaysgur 2357a10dfa feat(formatter_yaml): implement YAML formatter (#24534)
Add `oxc_formatter_yaml` crate using `oxc_yaml_parser`.
2026-07-23 05:02:59 +00:00
leaysgur 32674e279e chore(ci): update CODEOWNERS (#23925)
- Added new formatters
- Update shared crates
2026-06-29 05:29:40 +00:00
Boshen 9465cb853f chore(ci): assign CODEOWNERS across crates, apps, and tasks (#23657)
Reworks `.github/CODEOWNERS` to assign ownership by area. Only the
exceptions are listed explicitly; everything else falls through to the
default owner @Boshen.

## Explicit ownership

- **Linter → @camc314**: `oxc_linter`, `oxc_config`,
`oxc_language_server` (+ @sysix), `apps/oxlint`, `npm/oxlint*`, linter
tasks, and the repo's `oxlintrc.json`.
- **Formatter → @leaysgur**: `oxc_formatter{,_core,_json}`, `oxc_jsdoc`,
`oxc_regular_expression`, `apps/oxfmt`, `npm/oxfmt`, formatter tasks,
and the repo's `oxfmtrc.jsonc`.
- **Transformer / Minifier / Semantic → @dunqing**:
`oxc_transformer{,_plugins}`, `oxc_minifier`, `oxc_mangler`,
`oxc_semantic`, `oxc_isolated_declarations`, `oxc_ecmascript`,
`oxc_cfg`, `oxc_compat`, `oxc_codegen`, `oxc_napi`,
`napi/{transform,minify}`, `npm/runtime`, and transform/minify tasks.
- **Core infrastructure crates → @overlookmotel**: `oxc_allocator`,
`oxc_data_structures`, `oxc_traverse`, `oxc_ast{,_macros,_visit}`,
`oxc_macros`, `oxc_span`, `oxc_str`, `oxc_syntax`,
`oxc_estree{,_tokens}`, `npm/oxc-types`, and the AST/memory tasks.
- **Shared app tooling**: `apps/shared` → @camc314 @leaysgur.

## Falls through to the default (@Boshen)

Everything not listed above, including: parser (`crates/oxc_parser`,
`napi/parser`), umbrella crates (`crates/oxc`,
`crates/oxc_react_compiler`), `crates/oxc_diagnostics`, CI/release
config, `.github`, build/dev toolchain configs, and project
documentation.
2026-06-20 13:03:22 +08:00
camc314 146241b03f fix(ci): exclude generated oxlint config from CODEOWNERS (#23230)
This excludes the generated oxlint config from @overlookmotel ownership because it is updated by linter config changes and creates very noisy review requests.
2026-06-10 11:57:35 +00:00
overlookmotel c659b6002b ci(codeowners): add @leaysgur to codeowners for oxfmt (#20979)
Not sure why he was missing...
2026-04-03 09:56:55 +09:00
Sysix 60d9020bd8 ci(codeowners): remove codeowners for removed "editors" folder (#20984)
The folder "editors" does not exist anymore on this project. The source code was moved to `oxc-vscode` repo
2026-04-02 19:44:30 +00:00
overlookmotel bb9e2a1dd3 ci(codeowners): add @overlookmotel to codeowners for all oxlint plugins directories (#20980) 2026-04-02 17:15:52 +00:00
Alexander S. b1f49843bf chore(codeowners): add @overlookmotel to /apps/oxlint/src-js (#16061) 2025-11-24 22:32:11 +08:00
Alexander S. 45e3aa468e chore(CODEOWNERS): add @sysix to oxc_language_server (#10865)
My LSP knowledge should help on the `Backend` and `Worker` part of the
language server
2025-05-07 22:13:52 +08:00
Boshen f9f5240734 chore(CODEOWNERS): update (#10847) 2025-05-07 07:24:23 +00:00
Boshen d82dff91c8 feat(formatter): new implementation based on biome formatter (#10108)
Part of #5068, suggested by @ematipico and @MichaReiser, where @leaysgur
and I explored using biome formatter as the base and made a success. All
credits to the old Rome and the new Biome team.

This PR is in a boilerplate state where some of the functions are marked
as `todo!()`.

I also made the following changes:

* changed the base to be less generic, removed the `Language` and
`Context` generics
* expanded the formatter lifetime to include an `'ast` lifetime
* added access to the source text and comments
* added a mechanism for tracking and accessing parent ast nodes (done by
our codegen)
* removed most of the unit tests because they no longer compile
* removed the `oxc_prettier` crate
2025-03-30 16:54:37 +08:00
Boshen 9257d9d8ea chore(CODEOWNERS): assign crates/oxc_transformer/src/plugins to me 2024-12-07 19:22:07 +08:00
Boshen 4f23689e79 chore(CODEOWNERS): add @leaysgur to oxc_prettier and oxc_regular_expression 2024-11-26 19:19:56 +08:00
overlookmotel 42496ed16f chore: assign ast_tools to @overlookmotel code owner (#7378)
In the absence of Rez, it's mine! 😄
2024-11-21 00:01:02 +08:00
Boshen ddb2ced5dd chore: add CODEOWNERS (#7374) 2024-11-20 21:14:43 +08:00