• Stars
    star
    1,902
  • Rank 24,386 (Top 0.5 %)
  • Language
    Rust
  • License
    MIT License
  • Created almost 2 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

βš“ A suite of high-performance tools for JavaScript and TypeScript written in Rust.

OXC Logo

The Oxidation Compiler is creating a suite of high-performance tools for the JavaScript / TypeScript language re-written in Rust:

Philosophy

This project follows philosophies from the Rome and Ruff projects.

  1. JavaScript tooling could be rewritten in a more performant language
  2. An integrated toolchain can tap into efficiencies that are not available to a disparate set of tools

Milestone

This project currently has a fully working parser, a prototype for the linter as well as the minifier.

The current objectives are:

  • Publish the linter as a product
  • Finish the minifier

Contributing

This project is an invitation for you to come and learn Rust with us, any contributions to this project are appreciated.

To get started, check out some of the good first issues or ask us on Discord.

If you are unable to contribute by code, you can still participate by:

Linter

The linter is fast to the extent that it feels broken.

With 45 rules implemented, testing in the VSCode repo on a Mac M2:

vscode ξ‚  main ❯ npx oxlint@latest src
Finished in 388ms on 3477 files with 45 rules using 8 threads.
Found 798 warnings.

And also in a huge monorepo using Mac i7:

Finished in 5568ms on 51931 files with 45 rules using 12 threads.

On my Intel i7 6-core, the linter is around 80 times faster than ESLint.

See benchmark for details.

Try it out yourself!

The linter is currently usable and it can potentially catch a few mistakes for you:

npx oxlint@latest path

Parser Conformance

The cargo coverage command reports the following conformance summary

Test262 Summary:
AST Parsed     : 44000/44000 (100.00%)
Positive Passed: 44000/44000 (100.00%)
Negative Passed: 3915/3915 (100.00%)

Babel Summary:
AST Parsed     : 2065/2071 (99.71%)
Positive Passed: 2062/2071 (99.57%)
Negative Passed: 1332/1502 (88.68%)

TypeScript Summary:
AST Parsed     : 2337/2337 (100.00%)
Positive Passed: 2331/2337 (99.74%)
Negative Passed: 673/2535 (26.55%)

Test262 conformance is complete. TypeScript parsing is complete.

Only unstable stage 3 json-modules and stage 3 decorators tests are skipped.

Learning Resources

Maintainers

Credits

This project was incubated with the assistance of these exceptional mentors and their projects:

License

MIT

Third Party Licenses

Licenses are listed in THIRD-PARTY-LICENSE

This project partially copies code from the following projects:

Project License
eslint/eslint MIT
typescript-eslint/typescript-eslint MIT
import-js/eslint-plugin-import MIT
jest-community/eslint-plugin-jest MIT
microsoft/TypeScript Apache 2.0
rome/tools MIT
mozilla-spidermonkey/jsparagus MIT Apache 2.0
acorn MIT
zkat/miette Apache 2.0
sindresorhus/globals MIT
terser BSD
evanw/esbuild MIT
google/closure-compiler Apache 2.0
tdewolff/minify MIT

More Repositories

1

rspack

The fast Rust-based web bundler with webpack-compatible API πŸ¦€οΈ
Rust
9,468
star
2

modern.js

Modern.js is a web engineering system, including a web framework and a npm package solution.
TypeScript
4,421
star
3

garfish

A powerful micro front-end framework 🚚
TypeScript
2,498
star
4

rspress

πŸ¦€πŸ’¨ A fast Rspack-based static site generator.
TypeScript
1,366
star
5

rsbuild

The Rspack-based build tool. It's fast, out-of-the-box and extensible.
TypeScript
1,241
star
6

rsdoctor

A one-stop build analyzer for Rspack and Webpack.
TypeScript
384
star
7

rslib

The Rsbuild powered package build tool.
TypeScript
340
star
8

midscene

An AI-powered automation SDK can control the page, perform assertions, and extract data in JSON format using natural language.
HTML
309
star
9

rspack-sources

Rusty webpack-sources port.
Rust
119
star
10

awesome-rspack

A curated list of awesome things related to Rspack, Rsbuild and Rspress
107
star
11

webpack-inspector

Devtool for webpack.
TypeScript
96
star
12

mdx-rs

Rust MDX compilation binding for Rspress
Rust
83
star
13

reduck

A Redux-based state management library
TypeScript
75
star
14

rspack-website

Website of Rspack
TypeScript
60
star
15

swc-plugins

SWC plugins and binding
Rust
55
star
16

blogs

Web Infra team working group
36
star
17

modern-js-examples

Examples for Modern.js web engineering system
30
star
18

unport

A Universal Port with strict type inference capability for cross-JSContext communication.
TypeScript
29
star
19

nodejs_resolver

Rust
27
star
20

codesmith

Micro generator for development life-cycle.
TypeScript
23
star
21

electron-sprout

A front-end friendly desktop framework based on Electron.
TypeScript
20
star
22

rspack-dev-guide

A guide to how Rspack works and how to contribute to it.
17
star
23

deep-dive-into-tla

Blog Post - Deep Dive into Top-level await
16
star
24

rspack-resolver

Rust Port of enhanced-resolve
Rust
14
star
25

napi-template

Template for generating rust-based native projects
JavaScript
13
star
26

bundler-benchmark

JavaScript
10
star
27

web-infra-QoS

Web Infra QoS
TypeScript
10
star
28

rspack-ecosystem-ci

Rspack Ecosystem CI
TypeScript
9
star
29

rspack-repro

A GitHub template for create reproduction with Rspack fastly.
JavaScript
9
star
30

rspack-ecosystem-benchmark

JavaScript
8
star
31

rspack-migration-showcase

migration showcase for rspack
TypeScript
8
star
32

midscene-example

Examples for midscene
TypeScript
8
star
33

nde

A tool to speed up the deployment of node.js project and reduce the size of deployment products.
TypeScript
8
star
34

libuild

The home for various projects about libuild
TypeScript
7
star
35

webinfra.org

HTML
7
star
36

.github

The profile of Web Infra organization.
6
star
37

actions

TypeScript
6
star
38

rfcs

RFC for changes to web-infra projects
3
star
39

with-rspack-demo

Demo application that bundle with rspack
CSS
2
star
40

modern-js-dev.github.io

modernjs.dev
HTML
2
star
41

rspack-demo

A demo for rspack bundler
JavaScript
2
star
42

rspack-compat

JavaScript
2
star
43

module-tools-examples

module-tools examples
TypeScript
1
star
44

clabot-config

1
star
45

rspack-dev-server

Dev server of rspack
JavaScript
1
star
46

media

media resources for Rspack
1
star