Boshen
294da86283
fix(napi/transform): fix index.d.ts
2024-10-03 08:52:10 +08:00
Boshen
099ff3a033
refactor(napi/transform): remove "Binding" from types; fix type error ( #6260 )
...
closes #6254
closes #6255
2024-10-03 00:44:07 +00:00
overlookmotel
4f6bc79734
refactor(transformer)!: remove source_type param from Transformer::new ( #6251 )
...
Closes #6248 .
2024-10-03 00:21:01 +00:00
Boshen
f98e12c13a
feat(napi/transform): add inject plugin ( #6250 )
2024-10-02 15:15:51 +00:00
Boshen
291891e71a
feat(napi/transform): add define option ( #6212 )
...
part of #6156
2024-10-01 12:57:29 +00:00
Boshen
afc3ccbece
feat(napi/transform)!: rename TransformOptions::react to jsx. ( #6211 )
2024-10-01 10:25:21 +00:00
Boshen
54c1c53e69
refactor(napi/transform): remove a call on TransformOptions::clone ( #6210 )
2024-10-01 09:52:39 +00:00
Boshen
51a78d5946
feat(napi/transform): rename all mention of React to Jsx; remove mention of Binding ( #6198 )
...
This does not alter field names nor file names.
part of #6156
2024-10-01 11:52:50 +08:00
oxc-bot
6c01fd7480
release(crates): v0.30.5 ( #6163 )
...
## [0.30.5] - 2024-09-29
### Features
- 15552ac napi/transform: Display semantic error (#6160 ) (Boshen)
- f50fdcd napi/transform: Make react refresh option take a boolean
(#6146 ) (Boshen)
### Bug Fixes
- f27d59f napi/transform: Remove confusing `jsx` option (#6159 ) (Boshen)
- bfd1988 transformer/react: Should not collect use-hooks if it's a
nested member expression (#6143 ) (Dunqing)
### Refactor
- ab187d1 codegen: Restrict visibility of internal methods (#6145 )
(DonIsaac)
- 375bebe transformer: Improve parsing React pragmas (#6138 )
(overlookmotel)
- 0836f6b transformer: Move parsing pragmas into TS transform (#6137 )
(overlookmotel)
- 30424fa transformer: TS transforms only store options they need
(#6135 ) (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-29 15:20:19 +08:00
Boshen
15552ac499
feat(napi/transform): display semantic error ( #6160 )
2024-09-29 04:17:26 +00:00
Boshen
f27d59f748
fix(napi/transform): remove confusing jsx option ( #6159 )
2024-09-29 04:09:53 +00:00
Boshen
f50fdcd0f9
feat(napi/transform): make react refresh option take a boolean ( #6146 )
2024-09-28 14:52:46 +00:00
oxc-bot
73098a43ff
release(crates): v0.30.4 ( #6134 )
...
## [0.30.4] - 2024-09-28
### Bug Fixes
- 8582ae3 codegen: Missing parentheses if there is a pure comment before
a NewExpression as a ComputedMemberExpression's callee (#6105 ) (Dunqing)
- fd6798f parser: Remove unintended `pub Kind` (#6109 ) (Boshen)
- 6f98aad sourcemap: Align sourcemap type with Rollup (#6133 ) (Boshen)
- 64d4756 transformer: Fix debug assertion in `Stack` (#6106 )
(overlookmotel)
### Performance
- 05852a0 codegen: Do not check whether there are annotation comments or
not if we don't preserve annotation comments (#6107 ) (Dunqing)
### Documentation
- 26a273a oxc-transform: Update README (Boshen)
- e2c5baf transformer: Fix formatting of README (#6111 ) (overlookmotel)
### Refactor
- 2090fce semantic: Fix lint warning in nightly (#6110 ) (overlookmotel)
- 7bc3988 transformer: Remove dead code (#6124 ) (overlookmotel)
- 07fe45b transformer: Exponentiation operator: convert to match (#6123 )
(overlookmotel)
- 4387845 transformer: Share `TypeScriptOptions` with ref not `Rc`
(#6121 ) (overlookmotel)
- 09e41c2 transformer: Share `TransformCtx` with ref not `Rc` (#6118 )
(overlookmotel)
- 58fd6eb transformer: Pre-allocate more stack space (#6095 )
(overlookmotel)
- 9ac80bd transformer: Add wrapper around `NonNull` (#6115 )
(overlookmotel)
- c50500e transformer: Move common stack functionality into
`StackCommon` trait (#6114 ) (overlookmotel)
- 9839059 transformer: Simplify `StackCapacity` trait (#6113 )
(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-28 13:08:44 +08:00
Boshen
6f98aadc7f
fix(sourcemap): align sourcemap type with Rollup ( #6133 )
...
closes #5578
2024-09-28 04:24:05 +00:00
oxc-bot
d56264ee9a
release(crates): v0.30.3 ( #6104 )
...
## [0.30.3] - 2024-09-27
### Bug Fixes
- a8338dd isolated-declarations: Accidentally collected references of
original ast (#6102 ) (Dunqing)
- 933a743 semantic: Add interfaces and functions to
`SymbolFlags::ClassExcludes` (#6057 ) (DonIsaac)
### Documentation
- 6167f29 oxc-transform: Modify the example code in the `Readme` file
(#6103 ) (loong.woo)
---------
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-27 14:23:48 +08:00
oxc-bot
60d02a61f9
release(crates): v0.30.2 ( #6100 )
...
## [0.30.2] - 2024-09-27
### Features
- 60c52ba ast: Allow passing span to `void_0` method (#6065 ) (Dunqing)
- cca433f codegen: Print `vite` / `webpack` special comments (#6021 )
(Dunqing)
- 8d026e1 regular_expression: Implement `GetSpan` for RegExp AST nodes
(#6056 ) (camchenry)
- 7764793 regular_expression: Implement visitor pattern trait for regex
AST (#6055 ) (camchenry)
- f866781 semantic: Check for type annotations on left side of `for..in`
and `for..of` iterators (#6043 ) (DonIsaac)
- 8b2e9aa semantic: Check for JSDoc types in TS type annotations (#6042 )
(DonIsaac)
- 28da771 transformer: Do not transform `**` with bigint literals
(#6023 ) (Boshen)
### Bug Fixes
- a88504c diagnostics: Check for terminal when displaying links (#6018 )
(Boshen)
- 418ae25 isolated-declarations: Report uninferrable types in arrays
(#6084 ) (michaelm)
- e0a8959 minifier: Compute `void number` as `undefined` (#6028 )
(Boshen)
- 0658576 paresr: Do not report missing initializer error in ambient
context (#6020 ) (Boshen)
- b1af73d semantic: Do not create a `global` symbol for `declare global
{}` (#6040 ) (DonIsaac)
- c8682e9 semantic,codegen,transformer: Handle definite `!` operator in
variable declarator (#6019 ) (Boshen)
### Performance
- 6b7d3ed isolated-declarations: Should clone transformed AST rather
than original AST (#6078 ) (Dunqing)
- 85aff19 transformer: Introduce `Stack` (#6093 ) (overlookmotel)
- ad4ef31 transformer: Introduce `NonEmptyStack` (#6092 ) (overlookmotel)
### Documentation
- 3099709 allocator: Document `oxc_allocator` crate (#6037 ) (DonIsaac)
- d60ceb4 oxc: Add README.md and crate-level docs (#6035 ) (DonIsaac)
- efabfc8 semantic: Improve doc comments on `Reference` methods (#6076 )
(overlookmotel)
### Refactor
- 1fc80d1 ast: Move all ts ast related impl methods to `ast_impl`
(#6015 ) (Dunqing)
- fe696f0 codegen: Simplify printing annotation comments (#6027 )
(Dunqing)
- e60ce50 transformer: Add `SparseStack::with_capacity` method (#6094 )
(overlookmotel)
- 1399d2c transformer: Move `SparseStack` definition into folder (#6091 )
(overlookmotel)
- 6bd29dd transformer: Add more debug assertions (#6090 ) (overlookmotel)
- c90b9bf transformer: Rename `SparseStack` methods (#6089 )
(overlookmotel)
- 2b380c8 transformer: Remove unsued `self.ctx` (#6022 ) (Boshen)
### Testing
- 93575cd semantic: Add comprehensive regression test suite (#5976 )
(DonIsaac)
- a4cec75 transformer: Enable tests (#6032 ) (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-27 13:28:12 +08:00
oxc-bot
7f0e27afd9
release(crates): v0.30.1 ( #6016 )
...
## [0.30.1] - 2024-09-24
### Features
- 5c323a2 minifier: Loop compressor passes (#6013 ) (Boshen)
### Bug Fixes
- 9ca202a codegen: Preserve newlines between comments (#6014 ) (Boshen)
- 4a99372 codegen: Print jsdoc comments for `TSEnumMember`s (#6007 )
(camc314)
- 97a2c41 isolated-declarations: False positive for class private getter
with non-inferrable return type (#5987 ) (michaelm)
### Performance
- 2b17003 linter, prettier, diagnostics: Use `FxHashMap` instead of
`std::collections::HashMap` (#5993 ) (camchenry)
- 7b90d79 transformer: `SparseStack` always keep minimum 1 entry (#5962 )
(overlookmotel)
- 28fe80a transformer: Logical assignment operator transform use
`SparseStack` (#5960 ) (overlookmotel)
- 9f7d4b7 transformer: Exponentiation operator transform use
`SparseStack` (#5959 ) (overlookmotel)
- 5dc0154 transformer: Nullish coalescing operator transform use
`SparseStack` (#5942 ) (overlookmotel)
- 618e89e transformer: Arrow function transform: reduce stack memory
usage (#5940 ) (overlookmotel)
### Documentation
- 5a0d17c ast: Document more AST nodes (#6000 ) (DonIsaac)
- 18371dd oxc: Include feature-guarded modules in docs.rs (#6012 )
(DonIsaac)
- 1abfe8f semantic: Document `SymbolTable` (#5998 ) (DonIsaac)
- f5eee72 semantic: Correct docs for `Reference` (#5992 ) (overlookmotel)
- 860f108 transformer: Add to arrow functions transform docs (#5989 )
(overlookmotel)
### Refactor
- 0a2f687 minifier: Move dce conditional expression to `RemoveDeadCode`
(#5971 ) (Boshen)
- f02bf51 transformer: Arrow function transform: remove unnecessary
assertion (#6002 ) (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-24 14:03:03 +08:00
oxc-bot
b9178cc5ae
release(crates): v0.30.0 ( #5986 )
...
## [0.30.0] - 2024-09-23
- c96b712 syntax: [**BREAKING**] Remove `SymbolFlags::ArrowFunction`
(#5857 ) (overlookmotel)
### Features
- ae89145 ast: Revert `#[non_exhaustive]` change (#5885 ) (Boshen)
- e8bf30a ast: Add `Comment::real_span` (#5764 ) (Boshen)
- d901772 codegen: Implement minify number from terser (#5929 ) (Boshen)
- 9f6696a codegen: Add new lines to `TSTypeParameterDeclaration` (#5853 )
(Boshen)
- bcdbba3 codegen: Print jsdoc comments that are attached to statements
and class elements (#5845 ) (Boshen)
- 26386da codegen: Have `with_source_text` reserve memory for code
buffer (#5823 ) (DonIsaac)
- 4a62703 isolated-declarations: Handle `export` in the `namespace`
correctly (#5950 ) (Dunqing)
- 84a5816 isolated_declarations: Add `stripInternal` (#5878 ) (Boshen)
- dfbde2c isolated_declarations: Print jsdoc comments (#5858 ) (Boshen)
- 3bf7b24 linter: Make `typescript/no-duplicate-enum-values` a
`correctness` rule (#5810 ) (DonIsaac)
- 9076dee minifier: Implement part of `StatementFusion` (#5936 ) (Boshen)
- a111bb6 oxc_wasm: Add `verbse` option to `debug_dot` (#5879 )
(IWANABETHATGUY)
- 8e7556f parser: Calculate leading and trailing position for comments
(#5785 ) (Boshen)
- 65c337a prettier: Improve ts compatibility (#5900 ) (Alexander S.)
- 6d9ccdd prettier: Support TSMappedType (#5834 ) (Alexander S.)
- b5ac5a6 prettier: Support TSModuleDeclaration (#5813 ) (Alexander S.)
- 74d8714 semantic: Add help message for invalid `let x?: number`
(#5969 ) (DonIsaac)
- 3230ae5 semantic: Add `SemanticBuilder::with_excess_capacity` (#5762 )
(overlookmotel)
- a5f2e9a span: Impl `From<Atom<'a>>` for `Atom` (#5809 ) (DonIsaac)
- a07f03a transformer: Sync `Program::source_type` after transform
(#5887 ) (Boshen)
- 635e918 traverse: `generate_uid_name` method (#5839 ) (overlookmotel)
### Bug Fixes
- 66e919e ast: Correct TS types for JSX (#5884 ) (overlookmotel)
- 0d10521 ast: Serialize `JSXMemberExpressionObject` to estree (#5883 )
(overlookmotel)
- a822c9d ast: Serialize `JSXElementName` to estree (#5882 ) (Boshen)
- f4aefb5 codegen: Print `let[0]` as `(let)[0]` (#5947 ) (Boshen)
- cee9d0b codegen: Fix spacing of `for await (x of y)` (#5890 ) (Boshen)
- 5901d2a codegen: Various spacing issues (#5820 ) (Boshen)
- fd1c46c isolated-declarations: Infer failed if there are two
setter/getter methods that need to be inferred (#5967 ) (Dunqing)
- 6df82ee isolated-declarations: False positive for class private method
that has arguments without type annotations (#5964 ) (Dunqing)
- 6a9e71d isolated-declarations: Wrap TSFunctionType in parentheses if
it is inside the `TSUnionType` (#5963 ) (Dunqing)
- ea32d5b isolated-declarations: Should print constructor assignments
first (#5934 ) (Dunqing)
- 0f96b59 isolated-declarations: Missing print comments in class's
private method (#5931 ) (Dunqing)
- 8780c54 isolated-declarations: Do not union a undefined when the param
type is any or unknown (#5930 ) (Dunqing)
- f07ff14 isolated-declarations: Should not transform signature that has
type annotation (#5927 ) (Dunqing)
- b6a9178 isolated-declarations: Don't collect references when
`ExportNamedDeclaration` has source (#5926 ) (Dunqing)
- 756a571 isolated-declarations: Missing empty export when has an export
declare (#5925 ) (Dunqing)
- e148c80 isolated_declarations: Try fix fixtures (Boshen)
- 9b3f763 isolated_declarations: Try fix new line issue (Boshen)
- ee748b0 isolated_declarations: Fix fixture spacing (Boshen)
- 362c427 mangler,codegen: Do not mangle top level symbols (#5965 )
(Boshen)
- 127c881 napi/transform: Fix jsdoc links (#5886 ) (Boshen)
- 6c04fa1 napi/transform: Make isolated_declaration options optional
(#5880 ) (Boshen)
- 42dcadf parser: Hashbang comment should not keep the end newline char
(#5844 ) (Boshen)
- f1551d6 semantic: `?` on variable declaration type annotations is a
syntax error (#5956 ) (DonIsaac)
- a23879c semantic: Analyze `ReferenceFlags` incorrectly when there are
nested `AssignmentTarget` (#5847 ) (Dunqing)
- 87323c6 transformer: Arrow function transform: prevent stack getting
out of sync (#5941 ) (overlookmotel)
- 4e9e838 transformer: Fix arrow function transform (#5933 )
(overlookmotel)
- 4d5c4f6 transformer: Fix reference flags in logical assignment
operator transform (#5903 ) (overlookmotel)
- d335a67 transformer: Fix references in logical assignment operator
transform (#5896 ) (overlookmotel)
- 9758c1a transformer: JSX source: add `var _jsxFileName` statement
(#5894 ) (overlookmotel)
- 49ee1dc transformer: Arrow function transform handle `this` in arrow
function in class static block (#5848 ) (overlookmotel)
- 172fa03 transformer: Fix stacks in arrow function transform (#5828 )
(overlookmotel)
- d74c7fa transformer: Remove `AstBuilder::copy` from arrow functions
transform (#5825 ) (overlookmotel)
- 3cc38df transformer/react: React refresh panics when encounter `use`
hook (#5768 ) (Dunqing)
### Performance
- cd34f07 isolated-declarations: Combine type/value bindings and
type/value references into one (#5968 ) (Dunqing)
- c477424 mangler: Use `sort_unstable_by_key` instead of `sort_by`
(#5948 ) (Boshen)
- c3e0fb6 semantic: Simplify resetting ReferenceFlags in
`AssignmentExpression` (#5846 ) (Dunqing)
- ff7d9c1 transformer: Arrow function transform: calculate whether
`this` is in arrow function lazily (#5850 ) (Dunqing)
- fd70c4b transformer: Arrow function transform more efficient scope
search (#5842 ) (overlookmotel)
- 56703a3 transformer: Make branch more predictable in arrow function
transform (#5833 ) (overlookmotel)
- 36e698b transformer: Call `transform_jsx` in `exit_expression` rather
than `enter_expression` (#5751 ) (Dunqing)
- aac8316 transformer/react: Improve `is_componentish_name`'s
implementation (#5769 ) (Dunqing)
### Documentation
- acc2d16 ast: Document most TypeScript AST nodes (#5983 ) (DonIsaac)
- 47c2faa ast: Document TryStatement and related nodes (#5970 )
(DonIsaac)
- 83ca7f5 diagnostics: Fully document `oxc_diagnostics` (#5865 )
(DonIsaac)
- bacfbb8 oxc: Add submodule documentation (#5984 ) (DonIsaac)
- 3120c6c parser: Add module and struct level documentation (#5831 )
(DonIsaac)
- 1ccf290 semantic: Document `AstNode` and `AstNodes` (#5872 ) (DonIsaac)
- e04841c syntax: Add ModuleRecord documentation (#5818 ) (DonIsaac)
- 7085829 transformer: Arrow function transform: comment about
incomplete implementation (#5945 ) (overlookmotel)
- 66b4688 transformer: React: convert docs to standard format (#5891 )
(overlookmotel)
- 7f05eed transformer: Add comment about missing features in arrow
function transform (#5855 ) (overlookmotel)
- 8770647 transformer: Correct docs for arrow function transform (#5854 )
(overlookmotel)
### Refactor
- f4fac0f ast: Remove `.iter()` where not needed (#5904 ) (camchenry)
- 17cd903 ast: Move functions to top level in `ast` macro (#5793 )
(overlookmotel)
- cf97f6d ast: Import `syn` types in `ast` macro (#5792 ) (overlookmotel)
- dc10eaf ast: Split `ast` macro into multiple files (#5791 )
(overlookmotel)
- 6dd6f7c ast: Change `Comment` struct (#5783 ) (Boshen)
- bb95306 codegen: Change annotation comment tests to snapshot (#5800 )
(Boshen)
- e613a3d codegen: Prepare to add leading comments by adding a template
method pattern (#5784 ) (Boshen)
- 7caae5b codegen: Add `GetSpan` requirement to `Gen` trait (#5772 )
(Boshen)
- c84bd28 isolated-declarations: Simplify to infer the getter and setter
methods (#5966 ) (Dunqing)
- 67b4220 isolated-declarations: Simplify handling VariableDeclaration
transform (#5916 ) (Dunqing)
- 2fd5c2a isolated-declarations: Pre-filter statements that do not need
to be transformed (#5909 ) (Dunqing)
- 943bd76 minifier: Move tests to their src files (#5912 ) (Boshen)
- cbaeea6 minifier: Clean up some tests (#5910 ) (Boshen)
- 144611e minifier: Align ast pass names with closure compiler (#5908 )
(Boshen)
- 31e9db4 parser: Shorten `UniquePromise` code (#5805 ) (overlookmotel)
- 2322b8b parser: Remove dead code warning when running tests (#5804 )
(overlookmotel)
- 4abfa76 parser: Add `--ast` and `--comments` to example (Boshen)
- a4b55bf parser: Use AstBuilder (#5743 ) (Boshen)
- d910304 semantic: Rename lifetime on `impl IntoIterator for &AstNodes`
(#5881 ) (overlookmotel)
- f360e2c semantic: Remove redundunt is_leading check for JSDoc (#5877 )
(leaysgur)
- 9115dd9 semantic: Use `Comment::attached_to` for jsdoc attachment
(#5876 ) (Boshen)
- db4f16a semantic: Call `with_trivias` before `build_with_jsdoc`
(#5875 ) (Boshen)
- 3d13c6d semantic: Impl `IntoIterator` for `&AstNodes` (#5873 )
(DonIsaac)
- 47d9ad8 semantic: Remove unused vars warning in release mode (#5803 )
(overlookmotel)
- 155d7fc transformer: Arrow function transform: ignore type fields when
finding enclosing arrow function (#5944 ) (overlookmotel)
- 2cf5607 transformer: Split up logical assignment operator transform
into functions (#5902 ) (overlookmotel)
- 41fbe15 transformer: Internal functions not `pub` in logical
assignment operator transform (#5898 ) (overlookmotel)
- b11d91c transformer: Remove nested match in logical assignment
operator transform (#5897 ) (overlookmotel)
- 52c9903 transformer: JSX: use `AstBuilder::vec_from_iter` (#5862 )
(overlookmotel)
- 74364ad transformer: JSX: merge `transform_jsx_attribute_item` into
`transform_jsx` (#5861 ) (overlookmotel)
- d2eaa7d transformer: Reorder match arms in JSX transform (#5860 )
(overlookmotel)
- 58a8327 transformer: Simplify match in JSX transform (#5859 )
(overlookmotel)
- b9c4564 transformer: Transformer example output semantic + transformer
errors (#5852 ) (overlookmotel)
- 03e02a0 transformer: Comment about potential improvement to arrow
function transform (#5841 ) (overlookmotel)
- 40cdad5 transformer: Remove repeat code in arrow function transform
(#5837 ) (overlookmotel)
- 3dd188c transformer: Deref `SymbolId` immediately (#5836 )
(overlookmotel)
- 03a9e1a transformer: Reorder methods in arrow function transform
(#5830 ) (overlookmotel)
- 4d97184 transformer: Rename vars in arrow function transform (#5827 )
(overlookmotel)
- 01c5b7c transformer: Shorten code in arrow functions transform (#5826 )
(overlookmotel)
- 85ac3f7 transformer: Arrow functions transform do not wrap function
expressions in parentheses (#5824 ) (overlookmotel)
- 1c1353b transformer: Use AstBuilder instead of using struct
constructor (#5778 ) (Boshen)
### Testing
- 84b7d1a index: Add unit tests to `oxc_index` (#5979 ) (DonIsaac)
- d6cbbe7 isolated-declarations: Arrow function unions in return
signature (#5973 ) (DonIsaac)
---------
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-23 11:20:12 +08:00
Boshen
84a5816d03
feat(isolated_declarations): add stripInternal ( #5878 )
...
closes #3906
closes #5687
closes #3958
---------
Co-authored-by: Dunqing <dengqing0821@gmail.com>
2024-09-19 23:14:47 +08:00
Boshen
127c88134e
fix(napi/transform): fix jsdoc links ( #5886 )
2024-09-19 13:55:29 +00:00
Boshen
6c04fa1e46
fix(napi/transform): make isolated_declaration options optional ( #5880 )
...
closes #5871
2024-09-19 08:07:54 +00:00
Boshen
dfbde2c602
feat(isolated_declarations): print jsdoc comments ( #5858 )
2024-09-18 14:09:00 +00:00
overlookmotel
3230ae5842
feat(semantic): add SemanticBuilder::with_excess_capacity ( #5762 )
...
Add `SemanticBuilder::with_excess_capacity` method to request that `SemanticBuilder` over-allocate space in `Semantic`'s `Vec`s.
Use this method to reserve 200% extra capacity for transformer to create more scopes, symbols and references.
200% is an unscientific guess of how much extra capacity is required. Obviously it depends on what transforms are enabled and content of the source code.
2024-09-14 15:02:16 +00: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
Dunqing
608b7d37d6
fix(napi/transformer): refresh plugin doesn't work even after passing the refresh option ( #5702 )
2024-09-11 12:39:51 +00: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
e698418d1a
feat(napi/transform): align output SourceMap with Rollup's ExistingRawSourceMap ( #5657 )
...
closes #5578
2024-09-09 15:55:23 +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
dc741e471f
chore: do not format napi generated files
2024-09-08 13:42:15 +08:00
Boshen
d00a1f6511
chore: use dprint to format js, json and markdown
2024-09-08 13:24:58 +08:00
underfin
aba9194ebc
feat(napi/transform): export react refresh options ( #5533 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2024-09-08 08:42:17 +08:00
Boshen
b06052501a
refactor(semantic)!: remove source_type argument from SemanticBuilder::new ( #5553 )
...
Realized we can get the source type from the AST.
The next PR will introduce `unambiguous` to `SourceType` and directly set `Program::source_type` to either `script` or `module`.
2024-09-06 16:40:10 +00: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
Boshen
a03b24d94e
ci: add napi tests ( #5419 )
2024-09-03 12:24:58 +08:00
Boshen
ea7a52f1b4
fix(napi/transform): fix test
2024-09-03 11:03:44 +08: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
0abfc5049f
feat(transformer/typescript): support rewrite_import_extensions option ( #5399 )
...
close : #5395
Babel only supports `rewrite`, we also support `remove`
2024-09-03 01:57:42 +00:00
Boshen
b1d0075359
feat(napi/transform)!: align output API sourceText -> code with babel ( #5398 )
...
And `sourceMap` -> `map`
closes #5397
2024-09-02 07:53:46 +00:00
Kevin Deng 三咲智子
bf49f339d0
chore: pin pnpm version & upgrade lockfile version ( #5200 )
2024-08-25 22:57:33 +08:00
dalaoshu
72740b3f78
feat(isolated_declaration): support sourcemap option ( #5170 )
...
closes #4313
2024-08-25 13:32:47 +08:00
Boshen
01c0c3e4b2
feat(transformer): add remaining options to transformer options ( #5169 )
...
closes #5168
2024-08-24 14:52:03 +00: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
4b49cf8ce4
feat(transformer): always pass in symbols and scopes ( #5087 )
...
We no longer need to build semantic data inside the transformer.
The caller should be responsible for handling semantic data and its
errors.
The best way to achieve this in via `CompilerInterface`.
closes #3565
2024-08-22 16:06:31 +00:00
Boshen
ce4d4698b4
feat(codegen)!: remove const generic MINIFY ( #5001 )
...
This is a premature optimization, makes the code complicated, and bloats the final binary size.
The minify option is moved to `CodegenOptions`
2024-08-20 08:13:27 +00:00
oxc-bot
5d0fb979cb
Release crates v0.24.3 ( #4950 )
...
## [0.24.3] - 2024-08-18
### Features
- d49fb16 oxc_codegen: Support generate range leading comments (#4898 )
(IWANABETHATGUY)
- 80d0d1f semantic: Check for invalid interface heritage clauses (#4928 )
(DonIsaac)
- 48821c0 semantic,syntax: Add SymbolFlags::ArrowFunction (#4946 )
(DonIsaac)
- f1fcdde transformer: Support react fast refresh (#4587 ) (Dunqing)
- 0d79122 transformer: Support logical-assignment-operators plugin
(#4890 ) (Dunqing)
- ab1d08c transformer: Support `optional-catch-binding` plugin (#4885 )
(Dunqing)
- 69da9fd transformer: Support nullish-coalescing-operator plugin
(#4884 ) (Dunqing)
- 3a66e58 transformer: Support exponentiation operator plugin (#4876 )
(Dunqing)
- f88cbcd transformer: Add `BoundIdentifier::new_uid_in_current_scope`
method (#4903 ) (overlookmotel)
- 1e6d0fe transformer: Add methods to `BoundIdentifier` (#4897 )
(overlookmotel)
- fd34640 traverse: Support `generate_uid_based_on_node` method in
`TraverseCtx` (#4940 ) (Dunqing)
- 72a37fc traverse: Support `clone_identifier_reference` method in
`TraverseCtx` (#4880 ) (Dunqing)
### Bug Fixes
- c0b26f4 ast: Do not include `scope_id` fields in JSON AST (#4858 )
(overlookmotel)
- bbf9ec0 codegen: Add missing `declare` to `PropertyDefinition` (#4937 )
(Boshen)
- f210cf7 codegen: Print `TSSatisfiesExpression` and
`TSInstantiationExpression` (#4936 ) (Boshen)
- 21f5762 codegen: Minify large numbers (#4889 ) (Boshen)
- e8de4bd codegen: Fix whitespace issue when minifying `x in new
Error()` (#4886 ) (Boshen)
- a226962 codegen: Print `TSNonNullExpression` (#4869 ) (Boshen)
- 3da33d3 codegen: Missing parenthesis for `PrivateInExpression` (#4865 )
(Boshen)
- 1808529 codegen: Dedupe pure annotation comments (#4862 )
(IWANABETHATGUY)
- d3bbc62 isolated-declarations: Declare modifier of PropertyDefinition
should not be retained (#4941 ) (Dunqing)
- 8e80f59 isolated_declarations: Class properties should still be lifted
from private constructors (#4934 ) (michaelm)
- b3ec9e5 isolated_declarations: Always emit module declarations that
perform augmentation (#4919 ) (michaelm)
- 0fb0b71 isolated_declarations: Always emit module declarations (#4911 )
(michaelm)
- 4a16916 isolated_declarations: Support expando functions (#4910 )
(michaelm)
- 508644a linter/tree-shaking: Correct the calculation of `>>`, `<<` and
`>>>` (#4932 ) (mysteryven)
- 46cb1c1 minifier: Handle `Object.definedPropert(exports` for
@babel/types/lib/index.js (#4933 ) (Boshen)
- 81fd637 minifier: Do not fold `0 && (module.exports = {})` for
`cjs-module-lexer` (#4878 ) (Boshen)
- 879a271 minifier: Do not join `require` calls for `cjs-module-lexer`
(#4875 ) (Boshen)
- 1bdde2c parser: Detect @flow in `/** @flow */ comment (#4861 ) (Boshen)
- 2476dce transformer: Remove an `ast.copy` from
`NullishCoalescingOperator` transform (#4913 ) (overlookmotel)
- 248a757 transformer/typescript: Typescript syntax within
`SimpleAssignmentTarget` with `MemberExpressions` is not stripped
(#4920 ) (Dunqing)
### Documentation
- 47c9552 ast, ast_macros, ast_tools: Better documentation for `Ast`
helper attributes. (#4856 ) (rzvxa)
- 0a01a47 semantic: Improve documentation (#4850 ) (DonIsaac)
- 9c700ed transformer: Add README including style guide (#4899 )
(overlookmotel)
### Refactor
- a6967b3 allocator: Correct code comment (#4904 ) (overlookmotel)
- 90d0b2b allocator, ast, span, ast_tools: Use `allocator` as var name
for `Allocator` (#4900 ) (overlookmotel)
- 1eb59d2 ast, isolated_declarations, transformer: Mark
`AstBuilder::copy` as an unsafe function (#4907 ) (overlookmotel)
- 8e8fcd0 ast_tools: Rename `oxc_ast_codegen` to `oxc_ast_tools`.
(#4846 ) (rzvxa)
- 786bf07 index: Shorten code and correct comment (#4905 )
(overlookmotel)
- ea1e64a semantic: Make SemanticBuilder opaque (#4851 ) (DonIsaac)
- 5fd1701 sourcemap: Lower the `msrv`. (#4873 ) (rzvxa)
- 48a1c32 syntax: Inline trivial bitflags methods (#4877 )
(overlookmotel)
- 452187a transformer: Rename `BoundIdentifier::new_uid_in_root_scope`
(#4902 ) (overlookmotel)
- 707a01f transformer: Re-order `BoundIdentifier` methods (#4896 )
(overlookmotel)
- 117dff2 transformer: Improve comments for `BoundIdentifier` helper
(#4895 ) (overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-18 14:16:25 +08:00
oxc-bot
977b74af2d
Release crates v0.24.2 ( #4841 )
...
## [0.24.2] - 2024-08-12
### Features
- 8e10e25 allocator: Introduce `Address` (#4810 ) (overlookmotel)
### Bug Fixes
- 62f759c transformer/typescript: Generated assignment for constructor
arguments with access modifiers should be injected to the top of the
constructor (#4808 ) (Dunqing)
### Performance
- 504ac0b minifier: `InjectGlobalVariables` only add to
`replaced_dot_defines` once for each (#4803 ) (overlookmotel)
- 35f2742 minifier: Avoid repeated `Atom` creation in
`InjectGlobalVariables` (#4802 ) (overlookmotel)
### Documentation
- 8827659 ast: More doc comments for JSX nodes (#4830 ) (DonIsaac)
- 559baa5 parser: Clean up doc regarding performance; remove conformance
(Boshen)
### Refactor
- 0ea697b ast, ast_codegen: `CloneIn` implementations now initialize
semantic related cells with `Default` value. (#4819 ) (rzvxa)
- ecfa124 ast_codegen: Add line break to generated code (#4829 )
(overlookmotel)
- 096ac7b linter: Clean up jsx-a11y/anchor-is-valid (#4831 ) (DonIsaac)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-12 16:02:07 +08:00
oxc-bot
857bc73302
Release crates v0.24.1 ( #4798 )
...
## [0.24.1] - 2024-08-10
### Features
- b3c3125 linter: Overhaul unicorn/no-useless-spread (#4791 ) (DonIsaac)
- c519295 minifier: Add `InjectGlobalVariables` plugin
(`@rollup/plugin-inject`) (#4759 ) (Boshen)
### Bug Fixes
- fff9da3 ast, ast_codegen: Use `generate_derive` instead of visitable
for generating span derives. (#4747 ) (rzvxa)
- f5eeebd ast_macros: Raise compile error on invalid `generate_derive`
input. (#4766 ) (rzvxa)
- 4d0b40a napi/transform: Fix wrong isolated declarations emit (Boshen)
### Refactor
- daa0b2e ast: `oxc_ast` crate re-export AST types from other crates
(#4773 ) (overlookmotel)
- d4a3be8 ast_codegen: Line breaks between types in layout assertions
(#4781 ) (overlookmotel)
- dbb5f4c ast_codegen: Remove unnecessary imports from generated files
(#4774 ) (overlookmotel)
- 7ea058d ast_codegen: Replace Windows-style line breaks with Unix-style
(#4769 ) (overlookmotel)
- 2dea0ca ast_codegen: Consistent import order (#4761 ) (overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-10 15:26:40 +08:00
Boshen
4d0b40ad10
fix(napi/transform): fix wrong isolated declarations emit
2024-08-08 14:36:41 +08:00
oxc-bot
69dc6c9cb1
Release crates v0.24.0 ( #4749 )
...
## [0.24.0] - 2024-08-08
- 75f2207 traverse: [**BREAKING**] Replace `find_scope` with
`ancestor_scopes` returning iterator (#4693 ) (overlookmotel)
- 506709f traverse: [**BREAKING**] Replace `find_ancestor` with
`ancestors` returning iterator (#4692 ) (overlookmotel)
### Features
- 23b0040 allocator: Introduce `CloneIn` trait. (#4726 ) (rzvxa)
- 51c1ca0 ast: Derive `CloneIn` for AST types, using `generate_derive`.
(#4732 ) (rzvxa)
- e12bd1e ast: Allow conversion from TSAccessibility into &'static str
(#4711 ) (DonIsaac)
- fd2d9da ast: Improve `AstKind::debug_name` (#4553 ) (DonIsaac)
- b3b7028 ast: Implement missing Clone, Hash, and Display traits for
literals (#4552 ) (DonIsaac)
- 54047e0 ast: `GetSpanMut` trait (#4609 ) (overlookmotel)
- eae401c ast, ast_macros: Apply stable repr to all `#[ast]` enums
(#4373 ) (rzvxa)
- ec0b4cb ast_codegen: Add `derive_clone_in` generator. (#4731 ) (rzvxa)
- 2e91ad6 ast_codegen: Support for `generate_derive` marker. (#4728 )
(rzvxa)
- 82e2f6b ast_codegen: Process AST-related `syntax` types. (#4694 )
(rzvxa)
- 0c52c0d ast_codegen: Add alignment and size data to the schema.
(#4615 ) (rzvxa)
- 07607d3 ast_codegen, span: Process `Span` through ast_codegen (#4703 )
(overlookmotel)
- 125c5fd ast_codegen, span: Process `SourceType` through ast_codegen.
(#4696 ) (rzvxa)
- eaddc8f linter: Add fixer for eslint/func_names (#4714 ) (DonIsaac)
- 229a0e9 minifier: Implement dot define for member expressions (#3959 )
(camc314)
- 33f1312 semantic: Impl GetSpan for AstNode (#4717 ) (DonIsaac)
- e42ac3a sourcemap: Add `ConcatSourceMapBuilder::from_sourcemaps`
(#4639 ) (overlookmotel)
- 2e63618 span: Implement `CloneIn` for the AST-related items. (#4729 )
(rzvxa)
- 6a36616 syntax: Derive `CloneIn` for the AST-related items. (#4730 )
(rzvxa)
### Bug Fixes
- 4a56954 codegen: Print raw if value is number is Infinity (#4676 )
(Boshen)
- 94d3c31 minifier: Avoid removing function declaration from `KeepVar`
(#4722 ) (Boshen)
- bf43148 minifier: Do not `remove_syntax` in dead_code_elimination
(Boshen)
- bf48c7f minifier: Fix `keep_var` keeping vars from arrow functions
(#4680 ) (Boshen)
- 9be29af minifier: Temporarily fix shadowed `undefined` variable
(#4678 ) (Boshen)
- e8b662a minifier: Various fixes to pass minifier conformance (#4667 )
(Boshen)
- 01d85de napi/transform: Update napi files (Boshen)
- f290191 oxc_ast_macros: Fix `syn` lacking features to build (Boshen)
- a40a217 parser: Parse `assert` keyword in `TSImportAttributes` (#4610 )
(Boshen)
- 03c643a semantic: Incorrect `scope_id` for catch parameter symbols
(#4659 ) (Dunqing)
- 6c612d1 semantic/jsdoc: Handle whitespace absence (#4642 ) (leaysgur)
- 0d2c41a semantic/jsdoc: Panic on parsing `type_name_comment`. (#4632 )
(rzvxa)
- 9f8f299 syntax: Prevent creating invalid u32 IDs (#4675 )
(overlookmotel)
- 4797eaa transformer: Strip TS statements from for in/of statement
bodies (#4686 ) (overlookmotel)
- 5327acd transformer/react: The `require` IdentifierReference does not
have a `reference_id` (#4658 ) (Dunqing)
- 3987665 transformer/typescript: Incorrect enum-related
`symbol_id`/`reference_id` (#4660 ) (Dunqing)
- 4efd54b transformer/typescript: Incorrect `SymbolFlags` for jsx
imports (#4549 ) (Dunqing)
### Performance
- 8dd76e4 codegen: Reduce size of `LineOffsetTable` (#4643 )
(overlookmotel)
- b8e6753 codegen: `u32` indexes in `LineOffsetTable` for source maps
(#4641 ) (overlookmotel)
- 6ff200d linter: Change react rules and utils to use `Cow` and
`CompactStr` instead of `String` (#4603 ) (DonIsaac)
- 0f5e982 minifier: Only visit arrow expression after dropping
`console.log` (#4677 ) (Boshen)
- ff43dff sourcemap: Speed up VLQ encoding (#4633 ) (overlookmotel)
- a330773 sourcemap: Reduce string copying in `ConcatSourceMapBuilder`
(#4638 ) (overlookmotel)
- 372316b sourcemap: `ConcatSourceMapBuilder` extend `source_contents`
in separate loop (#4634 ) (overlookmotel)
- c7f1d48 sourcemap: Keep local copy of previous token in VLQ encode
(#4596 ) (overlookmotel)
- 590d795 sourcemap: Shorten main loop encoding VLQ (#4586 )
(overlookmotel)
### Documentation
- c69ada4 ast: Improve AST node documentation (#4051 ) (Rintaro Itokawa)
### Refactor
- 579b797 ast: Use type identifier instead of `CloneIn::Cloned` GAT.
(#4738 ) (rzvxa)
- 475266d ast: Use correct lifetimes for name-related methods (#4712 )
(DonIsaac)
- 83b6ca9 ast: Add explicit enum discriminants. (#4689 ) (rzvxa)
- ba70001 ast: Put `assert_layouts.rs` behind `debug_assertions` (#4621 )
(rzvxa)
- 3f53b6f ast: Make AST structs `repr(C)`. (#4614 ) (rzvxa)
- 452e0ee ast: Remove defunct `visit_as` + `visit_args` attrs from
`#[ast]` macro (#4599 ) (overlookmotel)
- 2218340 ast, ast_codegen: Use `generate_derive` for implementing
`GetSpan` and `GetSpanMut` traits. (#4735 ) (rzvxa)
- fbfd852 minifier: Add `NodeUtil` trait for accessing symbols on ast
nodes (#4734 ) (Boshen)
- e0832f8 minifier: Use `oxc_traverse` for AST passes (#4725 ) (Boshen)
- 17602db minifier: Move tests and files around (Boshen)
- 3289477 minifier: Clean up tests (#4724 ) (Boshen)
- e78cba6 minifier: Ast passes infrastructure (#4625 ) (Boshen)
- d25dea7 parser: Use `ast_builder` in more places. (#4612 ) (rzvxa)
- 09d9822 semantic: Simplify setting scope flags (#4674 ) (overlookmotel)
- 6e453db semantic: Simplify inherit scope flags from parent scope
(#4664 ) (Dunqing)
- e1429e5 span: Reduce #[cfg_attr] boilerplate in type defs (#4702 )
(overlookmotel)
- e24fb5b syntax: Add explicit enum discriminants to AST related types.
(#4691 ) (rzvxa)
- 3f3cb62 syntax, span: Reduce #[cfg_attr] boilerplate in type defs
(#4698 ) (overlookmotel)
- 54f9897 traverse: Simpler code for entering/exiting unconditional
scopes (#4685 ) (overlookmotel)
- 83546d3 traverse: Enter node before entering scope (#4684 )
(overlookmotel)- 9b51e04 Overhaul napi transformer package (#4592 )
(DonIsaac)
### Testing
- 49d5196 ast: Fix `assert_layouts.rs` offset tests on 32bit platforms.
(#4620 ) (rzvxa)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-08 14:00:57 +08:00