8000 This week in Oxc · Issue #10329 · oxc-project/oxc · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

This week in Oxc #10329

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Boshen opened this issue Apr 9, 2025 · 9 comments
Open

This week in Oxc #10329

Boshen opened this issue Apr 9, 2025 · 9 comments
Assignees

Comments

@Boshen
Copy link
Member
Boshen commented Apr 9, 2025

This thread serves as our weekly update channel for sharing project developments with the community.

Click the subscribe button on the right for updates.

For inquiries, please find me on Discord, x, bluesky, or use the Void Zero reach out form.

@Boshen Boshen self-assigned this Apr 9, 2025
@oxc-project oxc-project locked and limited conversation to collaborators Apr 9, 2025
@Boshen
Copy link
Member Author
Boshen commented Apr 9, 2025

2025 Mar 31 Week 14

Oxlint v0.16.5

@camchenry reduced the binary size from 6.32 MB to 5.8 MB by removing documentation texts.

Oxlint plugin written in JS

@Boshen and @overlookmotel are researching and gathering the requirements for custom JavaScript custom plugins, tracking in #9905

Formatter

@Boshen and @leaysgur started a new oxc_formatter crate, where the foundation is based on Biome's formatter. @Boshen is filling in formatting implementations.

ESTree compatibility

@overlookmotel, @leaysgur and @therewillbecode are aligning our Typescript ESTree to typescript-eslint's implementation. Currently passing 75% test cases.

Note our JS ESTree is 100% compatible with acorn's output.

Better and smaller Allocator Vec implementation

@Dunqing is working on a side project to change oxc_allocator's vec implementation, the current version is an outdated std::vec version exposed by bumpalo. The next step is to reduce AST memory consumption and improve performance by replacing u64 fields with u32.

Minifier

Progress has stopped since the alpha version.

8000

@Boshen Boshen pinned this issue Apr 9, 2025
@Boshen
Copy link
Member Author
Boshen commented Apr 13, 2025

2025 Apr 7 Week 15

Oxlint plugin written in JS

We started a discussion to gather requirements: Oxlint plugin written in JS.

@Boshen and @overlookmotel will decide on the prototype and roadmap this week.

Formatter

@Boshen continues to work on the formatter, passing js 61/645 (9.46%) and ts 20/573 (3.49%) in the prettier conformance suite.

Transformer

@Dunqing improved Oxc's TypeScript semantic data to resolve several outstanding transform issues. PR stack: #10343

Language Server

@Sysix is refactoring the language server's code to enable import plugin: #10268

Switched the unmaintained tower-lsp crate to a a community fork tower-lsp-server: #10298

@Boshen
Copy link
Member Author
Boshen commented Apr 20, 2025

2025 Apr 14 Week 16

Oxlint plugin written in JS

@Boshen and @overlookmotel started working on the initial prototype, learning and researching napi and node.js worker threads.

Formatter

@Boshen continues to work on the formatter, passing js js 61/645 (9.46%) -> 189/699 (27.04%) and ts 20/573 (3.49%) -> 110/573 (19.20%) in the prettier conformance suite.

ESTree compatibility

TypeScript estree conformance increased from 75% to 9097/10725 (84.82%). Thank you @leaysgur for reporting where the incompatibilities are.

Transformer

@Dunqing continues to fix issues reported from Rolldown.

@Boshen
Copy link
Member Author
Boshen commented Apr 27, 2025

2025 Apr 21 Week 17

Oxlint plugin written in JS

ESTree compatibility

TypeScript estree conformance increased from 9097/10725 (84.82%) to 6458/6493 (99.46%). All remaining issues are tracked in #9705 (comment)

Transformer

Added alignment to TypeScript's useDefineForClassFields: false. Need to set both set_public_class_fields and remove_class_fields_without_initializer to true.

See issue and PR stack

Formatter

No progress.

Parser

~5% performance improvement

@Boshen
Copy link
Member Author
Boshen commented May 4, 2025

2025 Apr 28 Week 18

Oxlint plugin written in JS

No progress.

Formatter

@Boshen continues to work on the formatter, passing 189/699 (27.04%) -> 236/699 (33.76%) and ts 110/573 (19.20%) -> 143/573 (24.96%) in the prettier conformance suite.

ESTree compatibility

TypeScript estree conformance increased from 6458/6493 (99.46%) to 6478/6481 (99.95%).

Achieving ESTree compatibility is leading to a prettier plugin with oxc parser, which is almost complete and waiting to be released.

Transformer

@Boshen
Copy link
Member Author
Boshen commented May 12, 2025

2025 May 5 Week 19

Parser

3% performance improvement

Oxlint 1.0

We are working towards oxlint v1.0. @camc314 and @Sysix are fixing issues for stability.

Oxlint plugin written in JS

No progress.

Formatter

No progress. @Dunqing will pick up the formatter starting from this week.

ESTree compatibility

Most works are done. We now have a working prettier plugin: https://github.com/ArnaudBarre/prettier-oxc-parser waiting for 1.0.

@Boshen
Copy link
Member Author
Boshen commented May 18, 2025

2025 May 12 Week 20

Parser

2% performance improvement

Oxlint 1.0

@camc314 released oxlint v0.16.11, and is continuing to stabilize the linter for 1.0.

Formatter

@Dunqing started working on the formatter. js 245/699 (35.05%)-> 257/699 (36.77%) ts 157/573 (24.96%) -> 180/573 (31.41%)

ESTree compatibility

All work are done, prettier is integrating oxc parser, with a few blocking issues. PR: https://github.com/prettier/prettier/pull/17472

Resolver

knip adopted oxc-resolver, increased its weekly download count to over 1.3 million. PR: https://github.com/webpro-nl/knip/pull/1081

@Boshen
Copy link
Member Author
Boshen commented May 25, 2025

2025 May 19 Week 21

Oxlint 1.0

Released oxlint v0.16.12, we continue to stabilize the linter for 1.0.

Parser

We intend to improve the parser by:

Formatter

@Dunqing finished printing BinaryExpression and LogicalExpression, js 257/699 (36.77%) -> 281/699 (40.20%), ts 180/573 (31.41%) -> 181/573 (31.59%).

@Boshen
Copy link
Member Author
Boshen commented Jun 2, 2025

2025 May 26 Week 22

Oxlint v1.0

Final v0.17.0 release. Now in feature freeze phase until final v1.0 release.

Parser

Formatter

@Dunqing continues to work on the formatter.

estree conformance

@overlookmotel completed conformance testing and fixed problems that would block prettier adopting oxc.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant
0