Boshen
8e7556f842
feat(parser): calculate leading and trailing position for comments ( #5785 )
2024-09-16 16:37:35 +00:00
overlookmotel
31e9db442d
refactor(parser): shorten UniquePromise code ( #5805 )
...
Pure refactor. Shorten code a little.
2024-09-16 15:37:01 +00:00
overlookmotel
2322b8b713
refactor(parser): remove dead code warning when running tests ( #5804 )
...
`UniquePromise::new_for_tests` is not used in tests, so produces a dead code warning when running tests. Prevent that.
Also, rename it to `new_for_benchmarks`, since that's where it's used.
2024-09-16 15:37:00 +00:00
Boshen
6dd6f7ca26
refactor(ast): change Comment struct ( #5783 )
2024-09-15 09:22:58 +00:00
Boshen
4abfa7682a
refactor(parser): add --ast and --comments to example
2024-09-14 09:02:23 +08:00
Boshen
e8bf30a125
feat(ast): add Comment::real_span ( #5764 )
2024-09-13 15:28:34 +00:00
Boshen
a4b55bf00e
refactor(parser): use AstBuilder ( #5743 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-09-13 22:39:48 +08:00
oxc-bot
bd48dfbf8b
release(crates): v0.29.0 ( #5763 )
...
## [0.29.0] - 2024-09-13
- 71116a1 index: [**BREAKING**] Remove ability to index `IndexVec` with
`usize` (#5733 ) (overlookmotel)
- c3dd2a0 ast: [**BREAKING**] Revert: reduce byte size of
`TaggedTemplateExpression::quasi` by `Boxing` it (#5679 ) (#5715 )
(overlookmotel)
### Features
- 953fe17 ast: Provide `NONE` type for AST builder calls (#5737 )
(overlookmotel)
- a362f51 index: Add `IndexVec::shrink_to` (#5713 ) (overlookmotel)
- e968e9f minifier: Constant fold nullish coalescing operator (#5761 )
(Boshen)
- 6bc13f6 minifier: Add `MinimizeConditions` pass (#5747 ) (Boshen)
- 805fbac oxc_cfg: Better control flow graph dot dot repr (#5731 )
(IWANABETHATGUY)
- f3baa49 semantic: Add `SemanticBuilder::with_stats` (#5757 )
(overlookmotel)
- 7fa0cb3 semantic: Expose `Stats` (#5755 ) (overlookmotel)
### Bug Fixes
- 8ff013a minifier: Handle dce CallExpression::callee (#5752 ) (Boshen)
- 608b7d3 napi/transformer: Refresh plugin doesn't work even after
passing the refresh option (#5702 ) (Dunqing)
- 042afa9 syntax: Correctly check for valid `RedeclarationId`s (#5759 )
(overlookmotel)
- 77d9170 transformer/react: IsStaticChildren should be false when there
is only one child (#5745 ) (Dunqing)
### Performance
- 333e2e0 index: Remove `Idx` bounds-checks from `first` + `last`
methods (#5726 ) (overlookmotel)
- d18c896 rust: Use `cow_utils` instead (#5664 ) (dalaoshu)
### Refactor
- 2890c98 minifier: Add tests for `remove_syntax` (#5749 ) (Boshen)
- 9a9d8f6 minifier: Replace `self.ast` with `ctx.ast` (#5748 ) (Boshen)
- 746f7b3 minifier: Align code with closure compiler (#5717 ) (Boshen)
- 21e2df5 minifier: Replace `VisitMut` with `Traverse` for inject and
define plugins (#5705 ) (Boshen)
- 4bdc202 rust: Remove some #[allow(unused)] (#5716 ) (Boshen)
- a35fb14 semantic: `Stats::assert_accurate` take `self` (#5758 )
(overlookmotel)
- 4b896f1 semantic: Make `Stats` `Copy` (#5756 ) (overlookmotel)
- b4b460f semantic: `Stats` store counts as `u32` (#5754 )
(overlookmotel)
- 667170c semantic: Rename `Counts` to `Stats` (#5753 ) (overlookmotel)
- cc0408b semantic: S/AstNodeId/NodeId (#5740 ) (Boshen)
- 7dfcdfc semantic: Remove `more-asserts` dependency (#5739 )
(overlookmotel)
- 6436524 semantic: Fix dead code warning in release mode (#5728 )
(overlookmotel)
- e02621d semantic: Re-order use statements (#5712 ) (overlookmotel)
- ac6203c semantic: Move `Counts` code into counter module (#5710 )
(overlookmotel)
- 339fcfc semantic: Rename `Counts` in transform checker (#5709 )
(overlookmotel)
- d8ec781 semantic: Remove `record_ast_node` call for `Program` (#5701 )
(overlookmotel)
### Styling
- 1857ff0 semantic: Rename vars for node IDs (#5699 ) (overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-13 21:43:23 +08:00
overlookmotel
953fe17f0e
feat(ast): provide NONE type for AST builder calls ( #5737 )
...
Closes #5736 .
Introduce a `NONE` type which can be used for any `AstBuilder` method call param which expects an `IntoIn<'a, Something<'a>>`, where otherwise you have to provide a verbose type annotation.
Before:
```rs
ast.arrow_function_expression(
SPAN,
is_expression,
is_async,
None::<TSTypeParameterDeclaration>,
params,
None::<TSTypeAnnotation>,
body,
)
```
After:
```rs
ast.arrow_function_expression(SPAN, is_expression, is_async, NONE, params, NONE, body)
```
2024-09-13 02:42:01 +00:00
dalaoshu
d18c896a2c
perf(rust): use cow_utils instead ( #5664 )
...
Related to #5586 and #5662
---------
Co-authored-by: Boshen <boshenc@gmail.com>
2024-09-11 18:39:30 +08:00
oxc-bot
a727ee8aca
release(oxc): crates v0.28.0 ( #5696 )
...
## [0.28.0] - 2024-09-11
- afc4548 ast: [**BREAKING**] Educe byte size of
`TaggedTemplateExpression::quasi` by `Boxing` it (#5679 ) (Boshen)
- 7415e85 ast: [**BREAKING**] Reduce byte size of
`TSImportType::attributes` by `Box`ing it (#5678 ) (Boshen)
- ee4fb42 ast: [**BREAKING**] Reduce size of `WithClause` by `Box`ing it
(#5677 ) (Boshen)
- 1fa3e56 semantic: [**BREAKING**] Rename `SymbolTable::iter` to
`symbol_ids` (#5621 ) (overlookmotel)
- 96a1552 semantic: [**BREAKING**] Remove `SymbolTable::iter_rev`
(#5620 ) (overlookmotel)
- 4a8aec1 span: [**BREAKING**] Change `SourceType::js` to
`SourceType::cjs` and `SourceType::mjs` (#5606 ) (Boshen)
- 603817b oxc: [**BREAKING**] Add `SourceType::Unambiguous`; parse `.js`
as unambiguous (#5557 ) (Boshen)
- b060525 semantic: [**BREAKING**] Remove `source_type` argument from
`SemanticBuilder::new` (#5553 ) (Boshen)
### Features
- 2da5ad1 ast: Add `JSXElementName::get_identifier` method (#5556 )
(overlookmotel)
- 2016bae coverage: Add regular expression idempotency test (#5676 )
(Boshen)
- 68c3cf5 minifier: Fold `void 1` -> `void 0` (#5670 ) (Boshen)
- c6bbf94 minifier: Constant fold unary expression (#5669 ) (Boshen)
- 86256ea minifier: Constant fold `typeof` (#5666 ) (Boshen)
- e698418 napi/transform: Align output `SourceMap` with Rollup's
`ExistingRawSourceMap` (#5657 ) (Boshen)
- aba9194 napi/transform: Export react refresh options (#5533 )
(underfin)
- 642295c semantic: Add `SymbolTable::delete_resolved_reference` method
(#5558 ) (overlookmotel)
- b3cbd56 span: `format_compact_str!` macro (#5610 ) (overlookmotel)
- 95a6d99 transformer: Enable the react refresh plugin in enable_all
(#5630 ) (Dunqing)
- 7b543df transformer/react: Handle `refresh_sig` and `refresh_reg`
options correctly (#5638 ) (Dunqing)
- 17226dd traverse: Add methods for deleting references (#5559 )
(overlookmotel)
### Bug Fixes
- d62defb codegen: Do not print trailing commas for `ArrayExpression`
(#5551 ) (Boshen)
- 1bc08e2 coverage: Parse babel unambiguously (#5579 ) (Boshen)
- 28b934c coverage: Apply `always_strict` to test262 and typescript per
the specifcation (#5555 ) (Boshen)
- b9bf544 isolated-declarations: False positive for setter method in
`interface` (#5681 ) (Dunqing)
- 6e8409a isolated-declarations: Bindings referenced in
`TSModuleDeclaration` are removed incorrectly (#5680 ) (Dunqing)
- b8f8dd6 minifier/replace_global_defines: Do not replace shadowed
identifiers (#5691 ) (Boshen)
- 304ce25 regular_expression: Keep LegacyOctalEscape raw digits for
`to_string` (#5692 ) (leaysgur)
- 0511d55 regular_expression: Report more MayContainStrings error in
(nested)class (#5661 ) (leaysgur)
- 41582ea regular_expression: Improve RegExp `to_string()` results
(#5635 ) (leaysgur)
- 28aad28 regular_expression: Handle `-` in `/[\-]/u` as escaped
character (#5631 ) (leaysgur)
- f9e3a41 semantic: Bind `SymbolId` to function name in `if (foo)
function id() {}` (#5673 ) (Boshen)
- f49e6eb span: Treat `.js` as `module` file (reverts the previous
breaking change) (#5612 ) (Boshen)
- 919d17f transform_conformance: Only print semantic mismatch errors
when output is correct (#5589 ) (Boshen)
- 505d064 transformer: JSX transform delete references for
`JSXClosingElement`s (#5560 ) (overlookmotel)
- 9b7ecc7 transformer: RegExp transform only set span on final
expression (#5508 ) (overlookmotel)
- d1ece19 transformer: RegExp transform handle `Term::Quantifier`
(#5501 ) (overlookmotel)
- a1afd48 transformer/react: Incorrect scope_id for var hoisted in fast
refresh plugin (#5695 ) (Dunqing)
- f2f5e5a transformer/react: Missing scope_id for function in fast
refresh plugin (#5693 ) (Dunqing)
- a891c31 transformer/react: Refresh plugin has incorrect reference
flags (#5656 ) (Dunqing)
- 3e8b96f transformer/react: The refresh plugin cannot handle member
expressions with React hooks (#5655 ) (Dunqing)
- 0739b5f transformer/react: Don't transform declaration of function
overloads (#5642 ) (Dunqing)
- 3bf6aaf transformer/react: Support `emit_full_signatures` option in
refresh plugin (#5629 ) (Dunqing)
- 36d864a transformer/react: Don't transform if the variable does not
have a value reference (#5528 ) (Dunqing)
### Performance
- e8013d2 traverse: Faster string operations generating UIDs (#5626 )
(overlookmotel)
- 4996874 traverse: `generate_uid` cache available binding names (#5611 )
(overlookmotel)
### Documentation
- fefbbc1 sourcemap: Add trailing newline to README (#5539 )
(overlookmotel)
- 9282647 transformer: Comment on RegExp transform for potential
improvement (#5514 ) (overlookmotel)
- 1c051ae traverse: Correct code comment 2 (#5607 ) (overlookmotel)
- 2e24a15 traverse: Correct code comment (#5604 ) (overlookmotel)
### Refactor
- 14ee086 ast: Inline `AstKind::as_*` methods (#5547 ) (overlookmotel)
- 2de6ea0 index, traverse: Remove unnecessary type annotations (#5650 )
(overlookmotel)
- 0ac420d linter: Use meaningful names for diagnostic parameters (#5564 )
(Don Isaac)
- 2da42ef regular_expression: Improve AST docs with refactoring
may_contain_strings (#5665 ) (leaysgur)
- dec1395 regular_expression: Align diagnostics (#5543 ) (leaysgur)
- 731ffaa semantic: Compare nodes by pointer equality (#5686 )
(overlookmotel)
- 067f9b5 semantic: Introduce `IsGlobalReference` trait (#5672 ) (Boshen)
- d22a9b7 semantic: `SymbolTable::is_empty` use `is_empty` (#5622 )
(overlookmotel)
- 3d190a5 span: Move `CompactStr` into separate file (#5609 )
(overlookmotel)
- 5532628 span: Put types and impl in the same mod file (Boshen)
- ce71982 transformer: Shorten code in JSX transform (#5554 )
(overlookmotel)
- 758a10c transformer: RegExp transform reuse var (#5527 )
(overlookmotel)
- fad0a05 transformer: RegExp transform unbox early (#5504 )
(overlookmotel)
- 19cdcc5 traverse: Revert changes to `walk.rs` (#5652 ) (overlookmotel)-
26d9235 Enable clippy::ref_as_ptr (#5577 ) (夕舞八弦)
### Styling
- e52d006 traverse: Fix formatting of traverse codegen (#5651 )
(overlookmotel)
- 97e99bd traverse: Remove excess line break (#5603 ) (overlookmotel)-
694f032 Add trailing line breaks to `package.json` files (#5542 )
(overlookmotel)
### Testing
- 2e367c9 traverse: Enable tests for `oxc_traverse` crate (#5625 )
(overlookmotel)- dc92489 Add trailing line breaks to conformance
fixtures (#5541 ) (overlookmotel)
---------
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-09-11 17:57:55 +08:00
Boshen
ee4fb42d70
perf(ast)!: reduce size of WithClause by Boxing it ( #5677 )
...
relates #5601
2024-09-10 14:01:36 +00:00
Boshen
4a8aec1605
feat(span)!: change SourceType::js to SourceType::cjs and SourceType::mjs ( #5606 )
2024-09-08 14:11:02 +00:00
Boshen
63a830e08c
chore(dprint): format toml files ( #5599 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-08 14:26:16 +08:00
Boshen
603817bef9
feat(oxc)!: add SourceType::Unambiguous; parse .js as unambiguous ( #5557 )
...
See https://babel.dev/docs/options#misc-options for background on `unambiguous`
Once `SourceType::Unambiguous` is parsed, it will correctly set the returned `Program::source_type` to either `module` or `script`.
2024-09-07 10:48:58 +00:00
Don Isaac
0ac420d6f9
refactor(linter): use meaningful names for diagnostic parameters ( #5564 )
...
Also add `pending` fix labels to many rules.
2024-09-06 18:14:56 -04:00
oxc-bot
64eb2cccb7
release: crates v0.27.0 ( #5538 )
...
## [0.27.0] - 2024-09-06
- bd820f9 semantic: [**BREAKING**] Remove
`SymbolTable::get_symbol_id_from_name` and
`SymbolTable::get_scope_id_from_name` (#5480 ) (overlookmotel)
- cba93f5 ast: [**BREAKING**] Add `ThisExpression` variants to
`JSXElementName` and `JSXMemberExpressionObject` (#5466 ) (overlookmotel)
- 87c5df2 ast: [**BREAKING**] Rename `Expression::without_parentheses`
(#5448 ) (overlookmotel)
### Features
- e8bdd12 allocator: Add `AsMut` impl for `Box` (#5515 ) (overlookmotel)
- 90facd3 ast: Add `ContentHash` trait; remove noop `Hash`
implementation from `Span` (#5451 ) (rzvxa)
- 23285f4 ast: Add `ContentEq` trait. (#5427 ) (rzvxa)
- 59abf27 ast, parser: Add `oxc_regular_expression` types to the parser
and AST. (#5256 ) (rzvxa)
- 68a1c01 ast_tools: Add dedicated `Derive` trait. (#5278 ) (rzvxa)
- c782916 codegen: Print `type_parameters` in `TaggedTemplateExpression`
(#5438 ) (Dunqing)
- 4cb63fe index: Impl rayon related to trait for IndexVec (#5421 )
(IWANABETHATGUY)
- ba4b68c minifier: Remove parenthesized expression for dce (#5439 )
(Boshen)
- ed8ab6d oxc: Conditional expose `oxc_cfg` in `oxc` crate (#5524 )
(IWANABETHATGUY)
- 91b39c4 oxc_diagnostic: Impl DerefMut for OxcDiagnostic (#5474 )
(IWANABETHATGUY)
- 10279f5 parser: Add syntax error for hyphen in `JSXMemberExpression`
`<Foo.bar-baz />` (#5440 ) (Boshen)
- 0f50b1e semantic: Check for initializers in ambient
`VariableDeclaration`s (#5463 ) (DonIsaac)
- 62f7fff semantic: Check for non-declared, non-abstract object
accessors without bodies (#5461 ) (DonIsaac)
- 5407143 semantic: Check for non-declared, non-abstract class accessors
without bodies (#5460 ) (DonIsaac)
- 052e94c semantic: Check for parameter properties in constructor
overloads (#5459 ) (DonIsaac)
- 32d4bbb transformer: Add `TransformOptions::enable_all` method (#5495 )
(Boshen)
- c59d8b3 transformer: Support all /regex/ to `new RegExp` transforms
(#5387 ) (Dunqing)
- cedf7a4 xtask: Impl `as_ast_kind` method for each variant (#5491 )
(IWANABETHATGUY)
### Bug Fixes
- 0df1d9d ast, codegen, linter: Panics in fixers. (#5431 ) (rzvxa)
- fce549e diagnostics: Ignore `Interrupted` and `BrokenPipe` errors
while printing (#5526 ) (Boshen)
- ea7a52f napi/transform: Fix test (Boshen)
- 9b984b3 regex: Panic on displaying surrogated `UnicodeEscape`
characters. (#5469 ) (rzvxa)
- 88b7ddb regular_expression: Handle unterminated character class
(#5523 ) (leaysgur)
- 7a797ac semantic: Incorrect reference when `MemberExpression` used in
`TSPropertySignature` (#5525 ) (Dunqing)
- d8b9909 semantic: `IdentifierReference` within `TSPropertySignature`
cannot reference type-only import binding (#5441 ) (Dunqing)
- 8f9627d transformer: RegExp transform do not transform invalid regexps
(#5494 ) (overlookmotel)
- 2060efc transformer: RegExp transform don't transform all RegExps
(#5486 ) (overlookmotel)
- cfe5497 transformer: Do not create double reference in JSX transform
(#5414 ) (overlookmotel)
- 0617249 transformer/nullish-coalescing-operator: Incorrect reference
flags (#5408 ) (Dunqing)
- 0eb32a6 traverse: Invalid variable name generated by
`generate_uid_based_on_node` (#5407 ) (Dunqing)- b96bea4 Add back
lifetime (#5507 ) (IWANABETHATGUY)
### Performance
- bfabd8f syntax: Further optimize `is_identifier_name` (#5426 )
(overlookmotel)
- aeda84f syntax: Optimize `is_identifier_name` (#5425 ) (overlookmotel)
- ed8937e transformer: Memoize rope instance (#5518 ) (Dunqing)
- bfab091 transformer: Store needed options only on `RegExp` (#5484 )
(overlookmotel)
- b4765af transformer: Pre-calculate if unsupported patterns in RegExp
transform (#5483 ) (overlookmotel)
- 182ab91 transformer: Pre-calculate unsupported flags in RegExp
transform (#5482 ) (overlookmotel)
### Documentation
- 64db1b4 ast: Clarify docs for `RegExpPattern` (#5497 ) (overlookmotel)
- 3f204a9 span: Update docs about `ContentEq` `Vec` comparison speed
(#5478 ) (overlookmotel)- 00511fd Use `oxc_index` instead of `index_vec`
in doc comments (#5423 ) (IWANABETHATGUY)
### Refactor
- 9f6e0ed ast: Simplify `ContentEq` trait definition. (#5468 ) (rzvxa)
- a43e951 ast: Use loop instead of recursion (#5447 ) (overlookmotel)
- 2224cc4 ast: Renumber `JSXMemberExpressionObject` discriminants
(#5464 ) (overlookmotel)
- a952c47 ast: Use loop not recursion (#5449 ) (overlookmotel)
- d9d7e7c ast: Remove `IdentifierName` from `TSThisParameter` (#5327 )
(overlookmotel)
- ccc8a27 ast, ast_tools: Use full method path for generated derives
trait calls. (#5462 ) (rzvxa)
- fdb8857 linter: Use "parsed pattern" in `no_div_regex` rule. (#5417 )
(rzvxa)
- e7bd49d regular_expression: Correct typo (#5429 ) (overlookmotel)
- e4ed41d semantic: Change the reference flag to `ReferenceFlags::Type`
if it is used within a `TSTypeQuery` (#5444 ) (Dunqing)
- 94a6ac6 span: Use `Hasher` from `std` (#5476 ) (overlookmotel)
- b47aca0 syntax: Use `generate_derive` for `CloneIn` in types outside
of `oxc_ast` crate. (#5280 ) (rzvxa)
- a96866d transformer: Re-order imports (#5499 ) (overlookmotel)
- 6abde0a transformer: Clarify match in RegExp transform (#5498 )
(overlookmotel)
- 09c522a transformer: RegExp transform report pattern parsing errors
(#5496 ) (overlookmotel)
- dd19823 transformer: RegExp transform do not take ownership of
`Pattern` then reallocate it (#5492 ) (overlookmotel)
- 2514cc9 transformer/react: Move all entry points to implementation of
Traverse trait (#5473 ) (Dunqing)
- c984219 transformer/typescript: Move all entry points to
implementation of Traverse trait (#5422 ) (Dunqing)
### Styling
- 2a43fa4 linter: Introduce the writing style from PR #5491 and reduce
the if nesting (#5512 ) (dalaoshu)
### Testing
- 340b535 linter/no-unused-vars: Arrow functions in tagged templates
(#5510 ) (Don Isaac)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-06 19:06:29 +08:00
Boshen
1bed5ce2a5
chore: run cargo +nightly fmt to sort imports ( #5503 )
...
They are never going to be stable are they ... cedf7a4daa/.rustfmt.toml (L8-L16)
2024-09-06 04:04:26 +00:00
overlookmotel
cba93f52d0
feat(ast)!: add ThisExpression variants to JSXElementName and JSXMemberExpressionObject ( #5466 )
...
Close #5352 .
Add to AST:
* `JSXElementName::ThisExpression` (`<this>`)
* `JSXMemberExpressionObject::ThisExpression` (`<this.foo>`, `<this.foo.bar>`)
2024-09-05 02:06:20 +00:00
Boshen
10279f55d9
feat(parser): add syntax error for hyphen in JSXMemberExpression <Foo.bar-baz /> ( #5440 )
...
closes #5355
2024-09-04 14:09:06 +00:00
overlookmotel
d9d7e7c596
refactor(ast): remove IdentifierName from TSThisParameter ( #5327 )
...
`TSThisParameter` does not need to include an `IdentifierName` which is always "this". Just storing the `Span` is sufficient.
2024-09-04 12:46:53 +00:00
rzvxa
59abf27d95
feat(ast, parser): add oxc_regular_expression types to the parser and AST. ( #5256 )
...
closes #5060
2024-09-03 02:36:37 +00:00
oxc-bot
be1a6d4c84
Release crates v0.26.0 ( #5418 )
...
## [0.26.0] - 2024-09-03
- 1aa49af ast: [**BREAKING**] Remove
`JSXMemberExpressionObject::Identifier` variant (#5358 ) (Dunqing)
- 01cc2ce semantic: [**BREAKING**] Add `ScopeTree:get_child_ids` API
behind a runtime flag (#5403 ) (Boshen)
- b1d0075 napi/transform: [**BREAKING**] Align output API `sourceText`
-> `code` with babel (#5398 ) (Boshen)
- 32f7300 ast: [**BREAKING**] Add `JSXElementName::IdentifierReference`
and `JSXMemberExpressionObject::IdentifierReference` (#5223 ) (Dunqing)
- 23e8456 traverse: [**BREAKING**] `TraverseCtx::ancestor` with level 0
= equivalent to `parent` (#5294 ) (overlookmotel)
- 582ce9e traverse: [**BREAKING**] `TraverseCtx::ancestor` return
`Ancestor::None` if out of bounds (#5286 ) (overlookmotel)
- 234a24c ast: [**BREAKING**] Merge `UsingDeclaration` into
`VariableDeclaration` (#5270 ) (Kevin Deng 三咲智子)
- c100826 semantic: [**BREAKING**] Always create a scope for `for`
statements (#5110 ) (overlookmotel)
- d304d6f semantic: [**BREAKING**] Always create a scope for
`CatchClause` (#5109 ) (overlookmotel)
### Features
- 180b1a1 ast: Add `Function::name()` (#5361 ) (DonIsaac)
- 5505749 ast: Add `accessibility` field to `AccessorProperty` (#5290 )
(Dunqing)
- 49cd5db ast,parser: Add `definite` flag to `AccessorProperty` node
(#5182 ) (DonIsaac)
- c2fa725 ast,parser: Parse `TSTypeAnnotations` on `AccessorProperty`
(#5179 ) (DonIsaac)
- 292d162 codegen: Print missing fields for `AccessorProperty` (#5291 )
(Dunqing)
- 72740b3 isolated_declaration: Support sourcemap option (#5170 )
(dalaoshu)
- f81e8a1 linter: Add `oxc/no-async-endpoint-handlers` (#5364 )
(DonIsaac)
- 9c22ce9 linter: Add hyperlinks to diagnostic messages (#5318 )
(DonIsaac)
- d22bd20 module_lexer: Distinguish for types-only imports and exports
(#5184 ) (Kevin Deng 三咲智子)
- 7dfd51a parser: Report class properties that are both definite and
optional (#5181 ) (DonIsaac)
- a563968 parser: Report errors on optional accessor properties (#5180 )
(DonIsaac)
- 46b641b regular_expression: Validate max quantifier value (#5218 )
(leaysgur)
- be4642f semantic: Transform checker check child scope IDs (#5410 )
(overlookmotel)
- 6e969f9 semantic: Add `ScopeTree::delete_root_unresolved_reference`
(#5305 ) (overlookmotel)
- 1b20ceb span: Add `CompactStr::to_compact_string` method (#5385 )
(Boshen)
- 5a137f0 span/source-type: Add SourceType factory methods (#5242 )
(DonIsaac)
- f5e05db span/source-type: Impl `Display` and `Error` for
`UnknownExtension` (#5240 ) (DonIsaac)
- d04857b transformer: Support `Targets::from_query` method (#5336 )
(Dunqing)
- 3d4a64c transformer: Make `Targets` public (#5335 ) (Dunqing)
- 0eb7602 transformer: Support `TransformOptions::from_preset_env` API
(#5323 ) (Dunqing)
- 08dc0ad transformer: Add `object-spread` plugin (#3133 ) (magic-akari)
- 01c0c3e transformer: Add remaining options to transformer options
(#5169 ) (Boshen)
- 056c667 transformer/arrow-functions: The output that uses `this`
inside blocks doesn't match Babel (#5188 ) (Dunqing)
- 0abfc50 transformer/typescript: Support `rewrite_import_extensions`
option (#5399 ) (Dunqing)
### Bug Fixes
- 8ebc23f ast: Serialize `TSParenthesizedType` with camelCase (#5199 )
(Kevin Deng 三咲智子)
- 5c4c001 codegen: Print `export @decorator declare abstract class Foo`
correctly (#5303 ) (Boshen)
- 7b1546b codegen: Do not print comments when `--minify` (Boshen)
- ff7fa98 diagnostics: Improve "file is too long to fit on the screen"
(#5120 ) (Boshen)
- 8a17807 parser: Treat JSX element tags starting with `_` or `$` as
`IdentifierReference`s (#5343 ) (overlookmotel)
- d4c06ef parser: Revert "check for `@flow` with recoverable errors as
well" (#5297 ) (overlookmotel)
- e1d8b92 parser: Check for `@flow` with recoverable errors as well
(Boshen)
- e6fd52e parser: Change unterminated regex error to be non-recoverable
(#5285 ) (Boshen)
- 1686920 parser: Span for invalid regex flags (#5225 ) (leaysgur)
- cffce11 regular_expression: Prevent panic on too large number (#5282 )
(leaysgur)
- 293413f semantic: Implicit return `UpdateExpression` in
`ArrowFunctionExpression` does not as read reference (#5161 ) (Dunqing)
- a6bb3b1 span/source-type: Consider `.cjs` and `.cts` files as
`ModuleKind::Script` (#5239 ) (DonIsaac)
- 35f03db transformer: `ArrowfunctionExpression`'s expression is true
but has more than one body statement (#5366 ) (Dunqing)
- 8d6b05c transformer: Class property with typescript value should not
be removed (#5298 ) (Boshen)
- 47e69a8 transformer-optional-catch-binding: The `unused` binding is
not in the correct scope (#5066 ) (Dunqing)
- 94ff94c transformer/arrow-functions: Reaches `unreachable` when
`<this.foo>` is inside an arrow function (#5356 ) (Dunqing)
- f8bb022 transformer/arrow-functions: Remove
`SymbolFlags::ArrowFunction` (#5190 ) (Dunqing)
- d9ba5ad transformer/arrow-functions: Correct scope for `_this` (#5189 )
(Dunqing)
- 3acb3f6 transformer/react: Mismatch output caused by incorrect
transformation ordering (#5255 ) (Dunqing)
- 5754c89 transformer/typescript: Remove accessibility from
`AccessorProperty` (#5292 ) (Dunqing)
- d594818 traverse: `insert_scope_below` update child scopes records
(#5409 ) (overlookmotel)
- 25d6e20 traverse: Add missing visitors to `ChildScopeCollector`
(#5118 ) (overlookmotel)
### Performance
- 292f217 ast: Optimize `JSXIdentifier::is_reference` (#5344 )
(overlookmotel)
- 12a7607 codegen: Inline `Codegen::print_list` (#5221 ) (overlookmotel)
- fb847bd codegen: Slightly faster `print_list` (#5192 ) (Boshen)
- a1523c6 transformer: Remove an allocation from arrow functions
transform (#5412 ) (overlookmotel)
### Documentation
- 8334bd4 transformer: Add documentation for `Targets::get_targets`
(#5337 ) (Dunqing)
- d51a954 transformer: Add documentation for arrow-functions plugin
(#5186 ) (Dunqing)
### Refactor
- c2d8c9e ast: Reduce allocations in
`AstBuilder::move_assignment_target` (#5367 ) (overlookmotel)
- 946c867 ast: Box `TSThisParameter` (#5325 ) (overlookmotel)
- 960e1d5 ast: Rename `IdentifierReference::new_with_reference_id`
(#5157 ) (overlookmotel)
- f63b568 ast: Remove `#[non_exhaustive]` attr from `AstBuilder` (#5130 )
(overlookmotel)
- d4c3778 codegen: Rename vars (#5222 ) (overlookmotel)
- 543cad6 codegen: Remove some pub APIs (Boshen)
- cd63336 diagnostic: Change how diagnostic codes are rendered (#5317 )
(DonIsaac)
- d236554 parser: Move `JSXIdentifier` conversion code into parser
(#5345 ) (overlookmotel)
- bc59dd2 parser: Improve example for `byte_search!` macro usage (#5234 )
(overlookmotel)
- a3ddfdd parser: Improve lexer pointer maths (#5233 ) (overlookmotel)
- 3ae94b8 semantic: Change `build_module_record` to accept &Path instead
of PathBuf (Boshen)
- 05d25e2 semantic: Combine add scope methods (#5262 ) (overlookmotel)
- fdedc0f semantic: Transform checker: rename `SemanticData` to
`Scoping` (#5261 ) (overlookmotel)
- 1086109 semantic: Transform checker do not output spans in errors
(#5260 ) (overlookmotel)
- af5713e semantic: Transform checker continue checks if missing IDs
(#5259 ) (overlookmotel)
- 943454f semantic: Update transform checker for no conditional scopes
(#5252 ) (overlookmotel)
- 892a7fa semantic: Replace `ref` syntax (#5253 ) (overlookmotel)
- cbb4725 semantic: Add comment to transform checker (#5250 )
(overlookmotel)
- a17cf33 semantic: Remove `ScopeTree::child_ids` (#5232 ) (Boshen)
- d5a4940 semantic: Rewrite handling of label statement errors (#5138 )
(Boshen)
- 94f60e7 span/source-type: Make `SourceType` factories `const` (#5241 )
(DonIsaac)
- 0de844d transformer: Remove unnecessary code from JSX transform
(#5339 ) (overlookmotel)
- 5136f01 transformer: Remove unnecessary type annotation (#5131 )
(overlookmotel)
- 260c9d2 transformer/es2015: Move all entry points to implementation of
Traverse trait (#5187 ) (Dunqing)
- 1645115 transformer/object-reset-spread: Make plugin initialization
unconditional (#5319 ) (Dunqing)
- d2666fe transformer/object-rest-spread: Move plugin-relates files to
`object_rest_spread` mod (#5320 ) (Dunqing)
- 7e2a7af transformer/react: Remove `CalculateSignatureKey`
implementation from refresh (#5289 ) (Dunqing)
- b43a394 traverse: Correct code comments (#5293 ) (overlookmotel)
- d71f0ed traverse: Inline all passthrough methods (#5279 )
(overlookmotel)
- 188ce07 traverse: Improve safety via type system (#5277 )
(overlookmotel)
- 0f4a8b3 traverse: Add debug asserts for safety invariants (#5272 )
(overlookmotel)
- 341e42a traverse: Make `Ancestor` an owned type (#5269 )
(overlookmotel)
- eba5033 traverse: Codegen `ChildScopeCollector` (#5119 )
(overlookmotel)
- f771d7c traverse: Remove unnecessary imports (#5116 ) (overlookmotel)
- c6590ae traverse: Move generated files into separate folder (#5115 )
(overlookmotel)
- fc2e9ad traverse: Remove support for `#[scope(if(...))]` attr (#5114 )
(overlookmotel)
- 1ba11a3 traverse: Refactor `ChildScopeCollector` (#5112 )
(overlookmotel)
- 40e2f6e traverse: Remove unnecessary branch in `ChildScopeCollector`
(#5111 ) (overlookmotel)
- b39c0d6 wasm: Add `source_type` for parser, replace class options with
plain object (#5217 ) (Kevin Deng 三咲智子)
### Testing
- 7009177 parser: Fix incorrect flow error test (Boshen)
- be7b8c6 semantic: Add `JSXIdentifierReference`-related tests (#5224 )
(Dunqing)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-03 10:36:02 +08:00
Dunqing
1aa49af010
feat(ast)!: remove JSXMemberExpressionObject::Identifier variant ( #5358 )
...
close : #5353
`JSXMemberExpressionObject::Identifier` is dead code.
2024-09-02 18:35:39 +00:00
_lmmmmmm
3864eb42ce
chore: typo fix ( #5380 )
...
fixed #5379
Fix typos so `just ready` works
2024-09-01 15:10:40 +08:00
overlookmotel
d236554512
refactor(parser): move JSXIdentifier conversion code into parser ( #5345 )
...
Outside of the parser, a `JSXIdentifier` in a `JSXElementName::Identifier` will never be a identifier reference. So move the code for deciding if a `JSXElementName` is `JSXElementName::Identifier` or `JSXElementName::IdentifierReference`, and the code for converting from one to the other, into the parser - which is only place it should be used.
2024-08-30 14:47:09 +00:00
Dunqing
32f730085c
feat(ast)!: add JSXElementName::IdentifierReference and JSXMemberExpressionObject::IdentifierReference ( #5223 )
...
close : #3528
part of #4746
2024-08-30 11:11:04 +00:00
Boshen
70091771b6
test(parser): fix incorrect flow error test
2024-08-28 20:53:32 +08:00
Boshen
fb75d2576b
Revert "fix(parser): Revert "check for @flow with recoverable errors as well" ( #5297 )"
...
This reverts commit d4c06ef093 .
2024-08-28 20:53:13 +08:00
overlookmotel
d4c06ef093
fix(parser): Revert "check for @flow with recoverable errors as well" ( #5297 )
...
e1d8b92080 caused CI to fail. Revert it.
2024-08-28 12:48:37 +00:00
Boshen
e1d8b92080
fix(parser): check for @flow with recoverable errors as well
2024-08-28 19:39:07 +08:00
Boshen
5e27798dc3
chore(parser): parse regular expression in example
2024-08-28 19:32:44 +08:00
Dunqing
550574982f
feat(ast): add accessibility field to AccessorProperty ( #5290 )
2024-08-28 08:42:37 +00:00
Kevin Deng 三咲智子
234a24c14d
fix(ast)!: merge UsingDeclaration into VariableDeclaration ( #5270 )
...
relate #2854
2024-08-28 11:26:05 +08:00
Boshen
e6fd52e2a6
fix(parser): change unterminated regex error to be non-recoverable ( #5285 )
...
closes #5257
2024-08-28 01:57:31 +00:00
overlookmotel
bc59dd2b29
refactor(parser): improve example for byte_search! macro usage ( #5234 )
...
It's more efficient when reading 2 bytes to use `read2()` than 2 x `read()` calls. Reflect that in example for using `byte_search!` macro.
2024-08-26 14:22:37 +00:00
overlookmotel
a3ddfdd9d7
refactor(parser): improve lexer pointer maths ( #5233 )
...
Small tweaks to pointer maths in lexer which may result in slightly more compact assembly.
2024-08-26 14:22:36 +00:00
leaysgur
1686920e23
fix(parser): Span for invalid regex flags ( #5225 )
...
### Before
```
x Flag u is mentioned twice in regular expression literal
,-[1:20]
1 | const a = /\2(.)/uuxig;
: ^
2 | debugger;
`----
x Unexpected flag x in regular expression literal
,-[1:21]
1 | const a = /\2(.)/uuxig;
: ^
2 | debugger;
`----
```
### After
```
x Flag u is mentioned twice in regular expression literal
,-[1:19]
1 | const a = /\2(.)/uuxig;
: ^
2 | debugger;
`----
x Unexpected flag x in regular expression literal
,-[1:20]
1 | const a = /\2(.)/uuxig;
: ^
2 | debugger;
`----
```
2024-08-26 10:24:47 +00:00
DonIsaac
49cd5db54f
feat(ast,parser): add definite flag to AccessorProperty node ( #5182 )
2024-08-25 01:02:50 +00:00
DonIsaac
7dfd51a62b
feat(parser): report class properties that are both definite and optional ( #5181 )
2024-08-25 01:02:49 +00:00
DonIsaac
a563968386
feat(parser): report errors on optional accessor properties ( #5180 )
2024-08-25 01:02:49 +00:00
DonIsaac
c2fa72571f
feat(ast,parser): parse TSTypeAnnotations on AccessorProperty ( #5179 )
...
Closes #5177
While making this, I noticed an uncaught parse error for accessors: accessors cannot be optional. I'll add a fix for this in an up-stack PR.
2024-08-25 01:02:48 +00:00
Boshen
dd3ad4d68e
chore(regular_expression): remove circular dependency
...
Error: Circular dependency detected: oxc_parser -> oxc_regular_expression
2024-08-23 16:16:10 +08:00
oxc-bot
0b900110a2
Release crates v0.25.0 ( #5107 )
...
## [0.25.0] - 2024-08-23
- 78f135d ast: [**BREAKING**] Remove `ReferenceFlag` from
`IdentifierReference` (#5077 ) (Boshen)
- f2b8d82 semantic: [**BREAKING**] `ScopeTree::get_child_ids` +
`get_child_ids_mut` return value not `Option` (#5058 ) (overlookmotel)
- 5f4c9ab semantic: [**BREAKING**] Rename `SymbolTable::get_flag` to
`get_flags` (#5030 ) (overlookmotel)
- 58bf215 semantic: [**BREAKING**] Rename `Reference::flag` and
`flag_mut` methods to plural (#5025 ) (overlookmotel)
- c4c08a7 ast: [**BREAKING**] Rename
`IdentifierReference::reference_flags` field (#5024 ) (overlookmotel)
- d262a58 syntax: [**BREAKING**] Rename `ReferenceFlag` to
`ReferenceFlags` (#5023 ) (overlookmotel)
- c30e2e9 semantic: [**BREAKING**] `Reference::flag` method return
`ReferenceFlag` (#5019 ) (overlookmotel)
- ce4d469 codegen: [**BREAKING**] Remove const generic `MINIFY` (#5001 )
(Boshen)
- b2ff2df parser: [**BREAKING**] Remove builder pattern from `Parser`
struct (#5000 ) (Boshen)
- f88970b ast: [**BREAKING**] Change order of fields in CallExpression
(#4859 ) (Burlin)
### Features
- 714373d ast: `inherit_variants!` macro add `into_*` methods (#5005 )
(overlookmotel)
- 6800e69 oxc: Add `Compiler` and `CompilerInterface` (#4954 ) (Boshen)
- 2b21be3 oxc_minifier: Define plugin with postfix wildcard (#4979 )
(IWANABETHATGUY)
- afe728a parser: Parse regular expression with regex parser (#4998 )
(Boshen)
- 4b49cf8 transformer: Always pass in symbols and scopes (#5087 )
(Boshen)
- f51d3f9 transformer/nullish-coalescing-operator: Handles nullish
coalescing expression in the FormalParamter (#4975 ) (Dunqing)
- f794870 transformer/nullish-coalescing-operator: Generate the correct
binding name (#4974 ) (Dunqing)
- 72ff2c6 transformer/nullish-coalescing-operator: Add comments in top
of file (#4972 ) (Dunqing)
- 6b885fe traverse: Expose `generate_uid_based_on_node` and
`generate_uid_in_current_scope_based_on_node` from `TraverseCtx` (#4965 )
(Dunqing)
### Bug Fixes
- 7f3129e ast: Correct code comment (#5004 ) (overlookmotel)
- 1bd9365 coverage: Correctly check semantic data after transform
(#5035 ) (Boshen)
- 185eb20 isolated_declarations: Namespaces that are default exported
should be considered for expando functions (#4935 ) (michaelm)
- 2a5e15d npm: `libc` field should not be `null` (Boshen)
- efbdced parser: Only show flow error if it's a flow file (#5069 )
(Boshen)
- ad2be97 semantic: Incorrect semantic check for label has same name
(#5041 ) (heygsc)
- d5de97d semantic: Transform checker check reference flags (#5092 )
(overlookmotel)
- 90c74ee semantic: Transform checker check reference symbol IDs (#5090 )
(overlookmotel)
- a8005b9 semantic: Transform checker check symbol redeclarations
(#5089 ) (overlookmotel)
- 205bff7 semantic: Transform checker check symbol references (#5088 )
(overlookmotel)
- 4a57086 semantic: Transform checker check symbol IDs (#5078 )
(overlookmotel)
- ea7d216 semantic: Transform checker check symbol spans (#5076 )
(overlookmotel)
- 1b6b27a semantic: Transform checker check symbol flags (#5074 )
(overlookmotel)
- 6d87b0f semantic: Fix error message for duplicated label (#5071 )
(Boshen)
- 05fff16 semantic: Transform checker compare binding symbol IDs (#5057 )
(overlookmotel)
- f187b71 semantic: Transform checker compare scope children (#5056 )
(overlookmotel)
- b52c6a4 semantic: Transform checker compare scope parents (#5055 )
(overlookmotel)
- da64014 semantic: Transform checker catch more scope flags mismatches
(#5054 ) (overlookmotel)
- 67d1a96 semantic: Transform checker compare scope flags (#5052 )
(overlookmotel)
- 863b9cb semantic: Transform checker handle conditional scopes (#5040 )
(overlookmotel)
- 47029c4 semantic: Transform checker output symbol names in errors
(#5038 ) (overlookmotel)
- 6ffbd78 transformer: Remove an `AstBuilder::copy` call from TS
namespace transform (#4987 ) (overlookmotel)
- a8dfdda transformer: Remove an `AstBuilder::copy` call from TS module
transform (#4986 ) (overlookmotel)
- 1467eb3 transformer: Remove an `AstBuilder::copy` call from TS enum
transform (#4985 ) (overlookmotel)
- 1365feb transformer: Remove an `AstBuilder::copy` call for TS
`AssignmentTarget` transform (#4984 ) (overlookmotel)
- edacf93 transformer: Remove an `AstBuilder::copy` call (#4983 )
(overlookmotel)
- 3b35332 transformer/logical-assignment-operators: Fix semantic errors
(#5047 ) (Dunqing)- b7db235 Comments gen regression (#5003 )
(IWANABETHATGUY)
### Documentation
- 178d1bd transformer: Add documentation for exponentiation-operator
plugin (#5084 ) (Dunqing)
- d50eb72 transformer: Add documentation for `optional-catch-binding`
plugin (#5064 ) (Dunqing)
- 4425b17 transformer: Add documentation for
`logical-assignment-operators` plugin (#5012 ) (Dunqing)
- 1bd5853 transformer: Updated README re: order of methods (#4993 )
(overlookmotel)
### Refactor
- a4247e9 allocator: Move `Box` and `Vec` into separate files (#5034 )
(overlookmotel)
- cca7440 ast: Replace `AstBuilder::move_statement_vec` with `move_vec`
(#4988 ) (overlookmotel)
- 4012260 ast: `AstBuilder::move_identifier_reference` do not allocate
empty string (#4977 ) (overlookmotel)
- 96422b6 ast: Make AstBuilder non-exhaustive (#4925 ) (DonIsaac)
- ca70cc7 linter, mangler, parser, semantic, transformer, traverse,
wasm: Rename various `flag` vars to `flags` (#5028 ) (overlookmotel)
- 0f64d10 minifier: Remove duplicated helper `move_out_expression`
(#5007 ) (IWANABETHATGUY)
- cd9cf5e oxc: Remove `remove_whitespace` (Boshen)
- b4407c4 oxc,mangler: `oxc` crate add mangler; mangler use options API
(Boshen)
- 9da6a21 semantic: Rename transform checker output for reference symbol
mismatches (#5091 ) (overlookmotel)
- fb46eaf semantic: Add remap functions to transform checker (#5082 )
(overlookmotel)
- a00bf18 semantic: Add `IdMapping` to transform checker (#5079 )
(overlookmotel)
- b14a302 semantic: Transform checker: change symbol name mismatch error
(#5075 ) (overlookmotel)
- b8c6ce5 semantic: Rename vars in transform checker (#5072 )
(overlookmotel)
- 7156fd2 semantic: Transform checker `Pair` structure (#5053 )
(overlookmotel)
- 0ba6f50 semantic: Simplify raising errors in transform checker (#5051 )
(overlookmotel)
- ee7ac8b semantic: Store all data in `PostTransformChecker` in
transform checker (#5050 ) (overlookmotel)
- 4e1f4ab semantic: Add `SemanticIds` to transformer checker (#5048 )
(overlookmotel)
- c1da574 semantic: Add comments to transformer checker (#5045 )
(overlookmotel)
- 8cded08 semantic: Rename error labels in transformer checker snapshots
(#5044 ) (overlookmotel)
- 602244f semantic: Rename vars in transformer checker (#5043 )
(overlookmotel)
- ae94b9a semantic: Remove unused function params in transformer checker
(#5042 ) (overlookmotel)
- 586e15c semantic: Reformat transform checker errors (#5039 )
(overlookmotel)
- d69e34e semantic: Fix indentation (#5037 ) (overlookmotel)
- 4336a32 semantic: Rename fields in snapshots from `flag` to `flags`
(#5032 ) (overlookmotel)
- 83dfb14 semantic: Rename vars from `flag` to `flags` (#5031 )
(overlookmotel)
- 3b7de18 semantic: Rename `SemanticBuilder::current_reference_flags`
field (#5027 ) (overlookmotel)
- 0bacdd8 semantic: Rename `Reference::flag` field to `flags` (#5026 )
(overlookmotel)
- 896b92f semantic: Correct typo in doc comment (#5009 ) (overlookmotel)
- d677b8e semantic: Do not reserve space in `resolved_references`
(#4962 ) (overlookmotel)
- a7ef30d semantic: `UnresolvedReferencesStack` contain only
`ReferenceId` (#4960 ) (overlookmotel)
- 59d15c7 semantic: `root_unresolved_references` contain only
`ReferenceId` (#4959 ) (overlookmotel)
- 7706523 span: Clarify `Atom` conversion methods lifetimes (#4978 )
(overlookmotel)
- 4fdf26d transform_conformance: Add driver (#4969 ) (Boshen)
- 8d15e65 transformer: Use `into_member_expression` (#5006 )
(overlookmotel)
- 4796ece transformer: TS annotations transform use `move_expression`
(#4982 ) (overlookmotel)
- a9fcf29 transformer/es2016: Move all entry points to implementation of
Traverse trait (#5085 ) (Dunqing)
- deda6ac transformer/es2019: Move all entry points to implementation of
Traverse trait (#5065 ) (Dunqing)
- 9df2f80 transformer/es2020: Move all entry points to implementation of
Traverse trait (#4973 ) (Dunqing)
- 3f9433c transformer/es2021: Move all entry points to implementation of
Traverse trait (#5013 ) (Dunqing)
- c60a50d transformer/exponentiation-operator: Use built-in
`ctx.clone_identifier_reference` (#5086 ) (Dunqing)
- bcc8da9 transformer/logical-assignment-operator: Use
`ctx.clone_identifier_reference` (#5014 ) (Dunqing)
- 38d4434 transformer/nullish-coalescing-operator: Move internal methods
to bottom of the file (#4996 ) (Dunqing)
### Testing
- 0df1a94 semantic: Add more symbol and reference checks to
`PostTransformChecker` (Boshen)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-23 15:37:36 +08:00
Boshen
efbdced597
fix(parser): only show flow error if it's a flow file ( #5069 )
...
Otherwise we get a mixture of confusing error messages.
2024-08-22 12:19:45 +00:00
Boshen
afe728a73a
feat(parser): parse regular expression with regex parser ( #4998 )
...
Many false positives and incorrect errors. @leaysgur Enjoy 😁
Run `just conformance` to update the snapshot.
2024-08-22 03:09:55 +00:00
overlookmotel
ca70cc7c03
refactor(linter, mangler, parser, semantic, transformer, traverse, wasm): rename various flag vars to flags ( #5028 )
...
Part of #4991 .
2024-08-21 00:19:58 +00:00
Boshen
b2ff2df5af
refactor(parser)!: remove builder pattern from Parser struct ( #5000 )
...
part of #4455
use `with_options(ParseOptions { ..ParseOptions::default() })` API instead.
2024-08-20 07:40:25 +00:00
Burlin
f88970bc79
refactor(ast)!: Change order of fields in CallExpression ( #4859 )
...
fix : #4821
---------
Co-authored-by: Dunqing <dengqing0821@gmail.com>
2024-08-20 09:47:12 +08:00
Boshen
6800e694e3
feat(oxc): add Compiler and CompilerInterface ( #4954 )
...
This PR adds a full compiler pipeline to the `oxc` crate, to stop us
from implementing the same pipeline over and over again.
relates #4455
2024-08-19 10:20:05 +08:00