FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

☂️ Transformer Milestone 1 · Issue #2859 · oxc-project/oxc · GitHub

☂️ Transformer Milestone 1 #2859

Description

Call for help

This is a call for help; we need assistance from experts who are proficient in Babel and Rust to help us achieve the fastest and most feature-complete JavaScript transformer. The contributor need to adhere to the project rules outlined at https://oxc-project.github.io/docs/contribute/rules.html.

Background

When I prototyped and created the current transformer (https://github.com/oxc-project/oxc/tree/main/crates/oxc_transformer), I was working alone and porting Babel without planning ahead. The result was a dead end - @Dunqing and I became stuck and burned out.

Fortunately, @milesj and @rzvxa showed up and offered help. After some consideration and discussion, we (@Boshen, @Dunqing, @milesj, and @rzvxa) formed a working group to tackle the transformer together.

Restart from scratch

Although we have a significant amount of code in https://github.com/oxc-project/oxc/tree/main/crates/oxc_transformer, with 320 out of 1415 tests passing (as indicated in https://github.com/oxc-project/oxc/blob/main/tasks/transform_conformance/babel.snap.md), let's proceed as if none of this code exists. This will allow us to restart with shared knowledge within the working group.


Milestone 1

The first milestone is to complete @babel/preset-react and @babel/preset-typescript so that tools can transform .jsx and .ts(x) files to the latest ECMAScript version.

Here's the plan:

  • Completely discard the current transformer implementation.
  • Begin anew to avoid carrying any technical debt.
  • Lay out the architecture with placeholders.
  • Proceed from both ends:
  • Ensure that all code is reviewed by at least two people to facilitate knowledge sharing and enable concurrent progress towards the next milestones.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

A-transformerArea - Transformer / Transpiler

Type

No type

Fields

Priority

None yet

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


    Back | FazBrowse Home | New Git URL