oxc/crates
Boshen 32303b20fb
New tool: oxc_module_lexer (#2650)
# Oxc Module Lexer

This is not a lexer. The name "lexer" is used for easier recognition.

## [es-module-lexer](https://github.com/guybedford/es-module-lexer)

Outputs the list of exports and locations of import specifiers,
including dynamic import and import meta handling.

Does not have any
[limitations](https://github.com/guybedford/es-module-lexer?tab=readme-ov-file#limitations)
mentioned in `es-module-lexer`.

I'll also work on the following cases to make this feature complete.

- [ ] get imported variables
https://github.com/guybedford/es-module-lexer/issues/163
- [ ] track star exports as imports as well
https://github.com/guybedford/es-module-lexer/issues/76
- [ ] TypeScript specific syntax
- [ ] TypeScript `type` import / export keyword

## [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer)

- [ ] TODO

## Benchmark

This is 2 times slower than `es-module-lexer`, but will be significantly
faster when TypeScript is processed.

The difference is around 10ms vs 20ms on a large file (700k).
2024-03-09 23:23:55 +08:00
..
oxc Release crates v0.9.0 2024-03-05 15:57:31 +08:00
oxc_allocator Release crates v0.9.0 2024-03-05 15:57:31 +08:00
oxc_ast fix(ast): add RestElements in serialized AST to elements array (#2567) 2024-03-08 02:56:12 +00:00
oxc_cli chore: Rust v1.76.0 (#2643) 2024-03-08 20:54:36 +08:00
oxc_codegen chore: Rust v1.76.0 (#2643) 2024-03-08 20:54:36 +08:00
oxc_diagnostics feat: miette v7 (#2465) 2024-03-08 15:50:00 +08:00
oxc_index Release crates v0.9.0 2024-03-05 15:57:31 +08:00
oxc_js_regex refactor: rename CompactString to CompactStr (#2619) 2024-03-06 12:24:23 +08:00
oxc_language_server chore(deps): update rust crates (#2589) 2024-03-04 11:23:06 +08:00
oxc_linter feat(linter) eslint: no-useless-rename (#2648) 2024-03-09 21:37:48 +08:00
oxc_macros feat(linter): remove the --timings feature (#2049) 2024-01-16 14:21:04 +08:00
oxc_minifier feat(span): remove From<String> and From<Cow> API because they create memory leak (#2628) 2024-03-06 20:38:21 +08:00
oxc_module_lexer New tool: oxc_module_lexer (#2650) 2024-03-09 23:23:55 +08:00
oxc_parser New tool: oxc_module_lexer (#2650) 2024-03-09 23:23:55 +08:00
oxc_prettier feat(prettier): print with_clause in reexport declaration (#2635) 2024-03-07 14:24:16 +08:00
oxc_semantic fix(semantic/jsdoc): Fix up builder (#2623) 2024-03-08 10:49:51 +08:00
oxc_span feat(span): impl<'a> PartialEq<str> for Atom<'a> (#2649) 2024-03-09 09:30:14 +00:00
oxc_syntax refactor: "wasm" feature enable "serde" feature (#2639) 2024-03-08 10:06:49 +08:00
oxc_transformer feat(transformer/decorators): handling the coexistence of class decorators and member decorators (#2636) 2024-03-07 16:52:30 +08:00
oxc_wasm refactor(codegen): clean up API around building sourcemaps (#2602) 2024-03-04 16:03:33 +08:00