DonIsaac
6e3224d5fa
feat(linter): configure by category in config files ( #6120 )
...
> closes #5454
Adds a `categories` property to config files, where each key is a `RuleCategory` and each value is `"allow"/"off"`, `"warn"`, or `"deny"/"error"`.
Note that this change won't come into effect until after #6088 is merged.
2024-10-08 22:19:07 +00:00
oxc-bot
6921d50371
release(crates): v0.31.0 ( #6360 )
...
## [0.31.0] - 2024-10-08
- 01b878e parser: [**BREAKING**] Use `BindingIdentifier` for `namespace`
declaration names (#6003 ) (DonIsaac)
- 95ca01c cfg: [**BREAKING**] Make BasicBlock::unreachable private
(#6321 ) (DonIsaac)
- 020bb80 codegen: [**BREAKING**] Change to `CodegenReturn::code` and
`CodegenReturn::map` (#6310 ) (Boshen)
- 409dffc traverse: [**BREAKING**] `generate_uid` return a
`BoundIdentifier` (#6294 ) (overlookmotel)
- 5a73a66 regular_expression: [**BREAKING**] Simplify public APIs
(#6262 ) (leaysgur)
- 32d972e parser: [**BREAKING**] Treat unambiguous files containing TS
export assignments as modules (#6253 ) (overlookmotel)
- 4f6bc79 transformer: [**BREAKING**] Remove `source_type` param from
`Transformer::new` (#6251 ) (overlookmotel)
- afc3ccb napi/transform: [**BREAKING**] Rename
`TransformOptions::react` to `jsx`. (#6211 ) (Boshen)
- 82ab689 transformer,minifier: [**BREAKING**] Move define and inject
plugin from minifier to transformer (#6199 ) (Boshen)
### Features
- fa4d505 cfg: Derive more base traits for CFG blocks (#6320 ) (DonIsaac)
- 14275b1 cfg: Color-code edges in CFG dot diagrams (#6314 ) (DonIsaac)
- 7566c2d data_structures: Add `as_slice` + `as_mut_slice` methods to
stacks (#6216 ) (overlookmotel)
- c3c3447 data_structures: Add `oxc_data_structures` crate; add stack
(#6206 ) (Boshen)
- e304e8c minifier: Minify exponential arithmetic operation. (#6281 )
(7086cmd)
- f9ae70c minifier: Minify basic arithmetic calculations. (#6280 )
(7086cmd)
- 4008afe minifier: Fold array and object constructors (#6257 )
(camchenry)
- 115ccc9 minifier: Bitwise not in exceeded value. (#6235 ) (7086cmd)
- ee6c850 minifier: Scaffold peephole replace known methods. (#6245 )
(7086cmd)
- c32af57 minifier: Fold demical bitwise not for bigint. (#6233 )
(7086cmd)
- 23b6464 minifier: Fold true / false comparison. (#6225 ) (7086cmd)
- 585ccda minifier: Support subtraction assignment. (#6214 ) (7086cmd)
- cca0034 minifier: Handle positive `NaN` and `Infinity`. (#6207 )
(7086cmd)
- dac8f09 minifier: Minify unary plus negation. (#6203 ) (7086cmd)
- 3b79e1b minifier: Evaluate bigint in fold constant (#6178 ) (Boshen)
- abd3a9f napi/transform: Perform dce after define plugin (#6312 )
(Boshen)
- a0ccc26 napi/transform: Add `lang` option to change source type
(#6309 ) (Boshen)
- f98e12c napi/transform: Add inject plugin (#6250 ) (Boshen)
- 291891e napi/transform: Add `define` option (#6212 ) (Boshen)
- 51a78d5 napi/transform: Rename all mention of React to Jsx; remove
mention of `Binding` (#6198 ) (Boshen)
- 2f888ed oxc: Add napi transform options (#6268 ) (Boshen)
- 8729755 oxc,napi/transform: Napi/transform use oxc compiler pipeline
(#6298 ) (Boshen)
- f6e42b6 sourcemap: Add support for sourcemap debug IDs (#6221 ) (Tim
Fish)
- 9e62396 syntax_operations: Add crate `oxc_syntax_operations` (#6202 )
(Boshen)
- cf20f3a transformer: Exponentiation transform: support private fields
(#6345 ) (overlookmotel)
### Bug Fixes
- 84b2d07 codegen: Converts line comment to block comment if it is a
`PURE` comment (#6356 ) (Dunqing)
- e9eeae0 isolated-declarations: False positive for function with a type
asserted parameters (#6181 ) (Dunqing)
- d953a6b minifier: Correct the reference link (#6283 ) (dalaoshu)
- 37cbabb minifier: Should not handle the strict operation for bool
comparison. (#6261 ) (7086cmd)
- e29c067 minifier: Handle exceeded shifts. (#6237 ) (7086cmd)
- 294da86 napi/transform: Fix index.d.ts (Boshen)
- 9736aa0 oxc_transformer: Define `import.meta` and `import.meta.*`
(#6277 ) (IWANABETHATGUY)
- 6159560 parser: String `ImportSpecifier`s for type imports (#6352 )
(DonIsaac)
- 1380d8b parser: Should regard comments where after `=` as leading
comments of next token (#6355 ) (Dunqing)
- 2bcd12a transformer: Exponentiation transform: fix reference flags
(#6330 ) (overlookmotel)
- 28cbfa7 transformer: Exponentiation transform: fix temp var names
(#6329 ) (overlookmotel)
- 3a4bcc7 transformer: Exponentiation transform: fix temp var names
(#6318 ) (overlookmotel)
- ccb7bdc transformer: Exponentiation transform: do not replace object
when private property (#6313 ) (overlookmotel)
- 56d50cf transformer: Exponentiation transform: do not assume `Math` is
not a local var (#6302 ) (overlookmotel)
- bd81c51 transformer: Exponentiation transform: fix duplicate symbols
(#6300 ) (overlookmotel)
- 06797b6 transformer: Logical assignment operator transform: fix
reference IDs (#6289 ) (overlookmotel)
- 4b42047 transformer: Fix memory leak in `ReplaceGlobalDefines` (#6224 )
(overlookmotel)
- a28926f transformer: Fix inserting `require` with `front` option
(#6188 ) (overlookmotel)
- b92fe84 transformer: `NonEmptyStack::push` write value before updating
cursor (#6169 ) (overlookmotel)
### Performance
- 5db9b30 allocator: Use lower bound of size hint when creating Vecs
from an iterator (#6194 ) (DonIsaac)
- 788e444 transformer: Parse options from comments only once (#6152 )
(overlookmotel)
- da2b2a4 transformer: Look up `SymbolId` for `require` only once
(#6192 ) (overlookmotel)
- 40bd919 transformer: Faster parsing JSX pragmas from comments (#6151 )
(overlookmotel)
### Documentation
- eb1d0b8 transformer: Exponentiation transform: update doc comments
(#6315 ) (overlookmotel)
- c7636d7 traverse: Remove erroneous doc comment (#6328 ) (overlookmotel)
### Refactor
- f7d1136 allocator: Remove unnecessary `Vec` impl (#6213 )
(overlookmotel)
- 40932f7 cfg: Use IndexVec for storing basic blocks (#6323 ) (DonIsaac)
- a1e0d30 cfg: Add type alias for Graph (#6322 ) (DonIsaac)
- 7672793 cfg: Move block data types to separate file (#6319 ) (DonIsaac)
- cc57541 data_structures: `NonEmptyStack::len` hint that `len` is never
0 (#6220 ) (overlookmotel)
- 147a5d5 data_structures: Remove `is_empty` methods for non-empty
stacks (#6219 ) (overlookmotel)
- 61805fd data_structures: Add debug assertion to `SparseStack` (#6218 )
(overlookmotel)
- dbfa0bc data_structures: Add `len` method to `StackCommon` trait
(#6215 ) (overlookmotel)
- ac5a23f minifier: Use ctx.ast.vec instead of Vec::new. (#6331 )
(7086cmd)
- 1cee207 minifier: Some boilerplate work for PeepholeFoldConstants
(#6054 ) (Boshen)
- 5b5daec napi: Use vitest (#6307 ) (Boshen)
- 58a8615 napi/transform: Remove context (#6306 ) (Boshen)
- 099ff3a napi/transform: Remove "Binding" from types; fix type error
(#6260 ) (Boshen)
- 54c1c53 napi/transform: Remove a call on `TransformOptions::clone`
(#6210 ) (Boshen)
- aa0dbb6 oxc: Add `napi` feature, change napi parser to use `oxc` crate
(#6265 ) (Boshen)
- 3b53dd4 parser: Provide better error messages for `const` modifiers on
class elements (#6353 ) (DonIsaac)
- acab777 regular_expression: Misc fixes (#6234 ) (leaysgur)
- bdd9e92 semantic: Rename vars from `ast_node_id` to `node_id` (#6304 )
(overlookmotel)
- d110700 semantic: Dereference IDs as quickly as possible (#6303 )
(overlookmotel)
- 03bc041 syntax: Remove some unsafe code creating IDs (#6324 )
(overlookmotel)
- bd5fb5a transformer: Exponentiation transform: rename methods (#6344 )
(overlookmotel)
- 4aa4e6b transformer: Exponentiation transform: do not wrap in
`SequenceExpression` if not needed (#6343 ) (overlookmotel)
- a15235a transformer: Exponentiation transform: no cloning (#6338 )
(overlookmotel)
- 7d93b25 transformer: Exponentiation transform: split into 2 paths
(#6316 ) (overlookmotel)
- 15cc8af transformer: Exponentiation transform: break up into functions
(#6301 ) (overlookmotel)
- 7f5a94b transformer: Use `Option::get_or_insert_with` (#6299 )
(overlookmotel)
- 0cea6e9 transformer: Exponentiation transform: reduce identifier
cloning (#6297 ) (overlookmotel)
- ac7a3ed transformer: Logical assignment transform: reduce identifier
cloning (#6296 ) (overlookmotel)
- 527f7c8 transformer: Nullish coalescing transform: no cloning
identifier references (#6295 ) (overlookmotel)
- 7b62966 transformer: Move `BoundIdentifier` into `oxc_traverse` crate
(#6293 ) (overlookmotel)
- c7fbf68 transformer: Logical assignment operator transform: no cloning
identifier references (#6290 ) (overlookmotel)
- f0a74ca transformer: Prefer `create_bound_reference_id` to
`create_reference_id` (#6282 ) (overlookmotel)
- ba3e85b transformer: Fix spelling (#6279 ) (overlookmotel)
- bc757c8 transformer: Move functionality of common transforms into
stores (#6243 ) (overlookmotel)
- 1c31932 transformer: Rename var in `VarDeclarations` common transform
(#6242 ) (overlookmotel)
- 0400ff9 transformer: `VarDeclarations` common transform: check if at
top level with `ctx.parent()` (#6231 ) (overlookmotel)
- 235cdba transformer: Use AstBuilder instance from TraverseCtx (#6209 )
(overlookmotel)
- a7ed29e transformer: Insert `import` statement or `require` depending
on source type (#6191 ) (overlookmotel)
- 4c63f0e transformer: Rename methods (#6190 ) (overlookmotel)
- 900cb46 transformer: Convert `ModuleImports` into common transform
(#6186 ) (overlookmotel)
- 00e2802 transformer: Introduce `TopLevelStatements` common transform
(#6185 ) (overlookmotel)
- 70d4c56 transformer: Rename `VarDeclarationsStore` methods (#6184 )
(overlookmotel)
- 81be545 transformer: Export `var_declarations` module from `common`
module (#6183 ) (overlookmotel)
- 02fedf5 transformer: Shorten import (#6180 ) (overlookmotel)
- f2ac584 transformer: Use TraverseCtx's ast in ModuleImports (#6175 )
(Dunqing)
- 21b08ba transformer: Shared `VarDeclarations` (#6170 ) (overlookmotel)
- 0dd9a2e traverse: Add helper methods to `BoundIdentifier` (#6341 )
(overlookmotel)
- c0e2fef traverse: Function to get var name from node (#6317 )
(overlookmotel)
- adc5381 traverse: `TraverseAncestry` use `NonEmptyStack` (#6217 )
(overlookmotel)
### Testing
- 964d71e minifier: Add arithmetic tests for fold constants. (#6269 )
(7086cmd)
- fcb4651 minifier: Enable null comparison with bigint. (#6252 )
(7086cmd)
- d4f2ee9 transformer: Tidy up transform checker (#6287 ) (overlookmotel)
- 0f5afd7 transformer: Transform checker output symbol name for
mismatches (#6286 ) (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-10-08 20:55:24 +08:00
oxc-bot
62d45bf14e
release(oxlint): v0.9.10 ( #6340 )
...
## [0.9.10] - 2024-10-07
### Features
- f272137 editors/vscode: Clear diagnostics on file deletion (#6326 )
(dalaoshu)
- 1a5f293 editors/vscode: Update VSCode extention to use project's
language server (#6132 ) (dalaoshu)
- 376cc09 linter: Implement `no-throw-literal` (#6144 ) (dalaoshu)
- 5957214 linter: Allow fixing in files with source offsets (#6197 )
(camchenry)
- a089e19 linter: Eslint/no-else-return (#4305 ) (yoho)
- 183739f linter: Implement prefer-await-to-callbacks (#6153 ) (dalaoshu)
- ae539af linter: Implement no-return-assign (#6108 ) (Radu Baston)
### Bug Fixes
- 9e9808b linter: Fix regression when parsing ts in vue files (#6336 )
(Boshen)
- 93c6db6 linter: Improve docs and diagnostics message for
no-else-return (#6327 ) (DonIsaac)
- e0a3378 linter: Correct false positive in
`unicorn/prefer-string-replace-all` (#6263 ) (H11)
- ea28ee9 linter: Improve the fixer of `prefer-namespace-keyword`
(#6230 ) (dalaoshu)
- f6a3450 linter: Get correct source offsets for astro files (#6196 )
(camchenry)
- be0030c linter: Allow whitespace control characters in
`no-control-regex` (#6140 ) (camchenry)
- e7e8ead linter: False positive in `no-return-assign` (#6128 )
(DonIsaac)
### Performance
- ac0a82a linter: Reuse allocator when there are multiple source texts
(#6337 ) (Boshen)
- 50a0029 linter: Do not concat vec in `no-useless-length-check` (#6276 )
(camchenry)
### Documentation
- 7ca70dd linter: Add docs for `ContextHost` and `LintContext` (#6272 )
(camchenry)
- a949ecb linter: Improve docs for `eslint/getter-return` (#6229 )
(DonIsaac)
- 14ba263 linter: Improve docs for `eslint-plugin-import` rules (#6131 )
(dalaoshu)
### Refactor
- 642725c linter: Rename vars from `ast_node_id` to `node_id` (#6305 )
(overlookmotel)
- 8413175 linter: Move shared function from utils to rule (#6127 )
(dalaoshu)
- ba9c372 linter: Make jest/vitest rule mapping more clear (#6273 )
(camchenry)
- 82b8f21 linter: Add schemars and serde traits to AllowWarnDeny and
RuleCategories (#6119 ) (DonIsaac)
- ea908f7 linter: Consolidate file loading logic (#6130 ) (DonIsaac)
- db751f0 linter: Use regexp AST visitor in `no-control-regex` (#6129 )
(camchenry)
- 3aa7e42 linter: Use RegExp AST visitor for `no-hex-escape` (#6117 )
(camchenry)
- 9d5b44a linter: Use regex visitor in `no-regex-spaces` (#6063 )
(camchenry)
- 0d44cf7 linter: Use regex visitor in `no-useless-escape` (#6062 )
(camchenry)
- eeb8873 linter: Use regex visitor in `no-empty-character-class`
(#6058 ) (camchenry)
### Testing
- d883562 linter: Invalid `eslint/no-unused-vars` options (#6228 )
(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-10-08 12:14:54 +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
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
overlookmotel
e2c5baf868
docs(transformer): fix formatting of README ( #6111 )
2024-09-27 14:27:21 +01:00
Boshen
26a273a462
docs(oxc-transform): update README
2024-09-27 21:11:17 +08:00
oxc-bot
3ef248afbd
release(oxlint): v0.9.9 ( #6101 )
...
## [0.9.9] - 2024-09-27
### Bug Fixes
- bd8f786 linter: Rule and generic filters do not re-configure existing
rules (#6087 ) (DonIsaac)
- c5cdb4c linter: Disable all rules in a plugin when that plugin gets
turned off (#6086 ) (DonIsaac)
- 6c855af linter: Only write fix results if source code has changed
(#6096 ) (DonIsaac)
- 8759528 linter: Category filters not re-configuring already-enabled
rules (#6085 ) (DonIsaac)
- c2616f7 linter: Fix panic in fixer for `oxc/only-used-in-recursion`
(#6070 ) (camc314)
- 3da3845 linter: Malformed snippets in `eslint/for-direction` docs
(#6060 ) (DonIsaac)
- c047d42 linter: `no-useless-escape`: do not crash on backslash
character (#6048 ) (camchenry)
- 6f76ebe linter: Ignore invalid or partial disable directives (#6045 )
(camchenry)
- 09a24cd linter: Fix false positives for generics in
`no-unexpected-multiline` (#6039 ) (camchenry)
- d05fd20 linter: Newline in type parameters causing false positive in
`no-unexpected-multiline` (#6031 ) (DonIsaac)
- 01b9c4b npm/oxlint: Make bin/oxc_language_server an executable (#6066 )
(Boshen)
### Performance
- f8464a3 linter: `no-magic-numbers` remove redudant checks in
`is_array_index` (#6033 ) (Alexander S.)
- c16ae60 linter: `jest/prefer-hooks-in-order`: rewrite rule to allocate
less and iterate fewer times (#6030 ) (camchenry)
### Documentation
- a4fdf1b linter: Improve docs for promise rules (#6051 ) (dalaoshu)
- 21cdb78 linter: Fix incorrect "bad" example in
`only-used-in-recursion` (#6029 ) (Boshen)
### Refactor
- 1f92d61 linter: `jest/prefer-hooks-in-order`: improve diagnostic
messages (#6036 ) (camchenry)
### Testing
- 55949eb linter: Add `OxlintRules::override_rules` tests (#6081 )
(DonIsaac)
- 1a6923a linter: Add filter parsing test cases (#6080 ) (DonIsaac)
- 58d333a linter: Add more test cases for disable directives (#6047 )
(camchenry)
---------
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:41:55 +08: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
loong.woo
6167f29022
docs(oxc-transform): Modify the example code in the Readme file ( #6103 )
2024-09-27 14:12:30 +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
Boshen
01b9c4bedc
fix(npm/oxlint): make bin/oxc_language_server an executable ( #6066 )
...
closes #6064
2024-09-26 06:02:01 +00:00
oxc-bot
539751cd13
release(oxlint): v0.9.8 ( #6025 )
...
## [0.9.8] - 2024-09-24
### Bug Fixes
- e3c8a12 linter: Fix panic in sort-keys (#6017 ) (Boshen)
- 4771492 linter: Fix `import/no_cycle` with `ignoreTypes` (#5995 )
(Boshen)
### Performance
- 5ae3f36 linter: `no-fallthrough`: Use string matching instead of Regex
for default comment pattern (#6008 ) (camchenry)
- 2b17003 linter, prettier, diagnostics: Use `FxHashMap` instead of
`std::collections::HashMap` (#5993 ) (camchenry)
---------
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 19:43:11 +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
859227e457
release(oxlint): v0.9.7 ( #5988 )
...
## [0.9.7] - 2024-09-23
### Features
- d24985e linter: Add `oxc-security/api-keys` (#5906 ) (DonIsaac)
- f9b44c5 linter: Add unicode sets support to `no-useless-escape` rule
(#5974 ) (camchenry)
- 0f19848 linter: Implement `no-unexpected-multiline` rule (#5911 )
(camchenry)
- 16fe383 linter: Implement `no-extend-native` rule (#5867 ) (Cam
McHenry)
### Bug Fixes
- eed9ac7 linter: Include actual span size in `no-regex-spaces`
diagnostic (#5957 ) (camchenry)
- 40c89c2 linter: Move `promise/avoid-new` to style category (#5961 )
(DonIsaac)
### Performance
- 608d637 linter: Use `aho-corasick` instead of `regex` for string
matching in `jsx-a11y/img-redundant-alt` (#5892 ) (camchenry)
- 3148d4b linter: Check file path after checking node kind for
`nextjs/no-head-element` (#5868 ) (Cam McHenry)
### Refactor
- 0a5a4a9 linter: Use parsed patterns for `unicorn/no-hex-escape`
(#5985 ) (camchenry)
- 2cf2edd linter: Use parsed patterns in `no-empty-character-class` rule
(#5980 ) (camchenry)
- a9a8e2a linter: Use regex parser in `eslint/no-regex-spaces` (#5952 )
(camchenry)
- 05f592b linter: Use parsed patterns in
`unicorn/prefer-string-starts-ends-with` (#5949 ) (camchenry)
- 3273b64 linter: Use parsed patterns for
`unicorn/prefer-string-replace-all` rule (#5943 ) (camchenry)
- ba7b01f linter: Add `LinterBuilder` (#5714 ) (DonIsaac)
- db4f16a semantic: Call `with_trivias` before `build_with_jsdoc`
(#5875 ) (Boshen)
- 3d13c6d semantic: Impl `IntoIterator` for `&AstNodes` (#5873 )
(DonIsaac)
### Testing
- b681c9a linter: Import test cases for `no-empty-character-class`
(#5981 ) (camchenry)
- 767602b linter: Add regression test for #5227 (#5975 ) (camchenry)
---------
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 15:10:33 +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
DonIsaac
ba7b01fbdf
refactor(linter): Add LinterBuilder ( #5714 )
...
This will replace `OxlintOptions` in an upstream PR. This also adds `plugins` to
`Oxlintrc`. This field gets respected by the builder, but not by
`OxlintOptions`.
2024-09-20 11:58:37 +00:00
oxc-bot
65a17346cd
release(oxlint): v0.9.6 ( #5843 )
...
## [0.9.6] - 2024-09-18
### Features
- 3bf7b24 linter: Make `typescript/no-duplicate-enum-values` a
`correctness` rule (#5810 ) (DonIsaac)
- 7799c06 linter/react: Implement `no-danger-with-children` rule (#5420 )
(Cam McHenry)
### Bug Fixes
- f942485 linter: Remove all* remaining "Disallow <foo>" messages
(#5812 ) (DonIsaac)
- b5ad518 linter: Improve diagnostic messages for various lint rules
(#5808 ) (DonIsaac)
- 858f7af linter: Plugin prefix name for eslint-plugin-node (#5807 )
(DonIsaac)
- 737ba1d linter: Fix some cases on ```AssignmentExpression``` for
```unicorn/consistent-function-scoping``` (#5675 ) (Arian94)
- 148c7a8 linter: Replace bitwise AND (&) with logical AND (&&) in
explici… (#5780 ) (kaykdm)
- b4ed564 linter/no-unused-vars: Writes to members triggering false
positive (#5744 ) (Dunqing)
- e9c084a linter/no-unused-vars: False positive when a variable used as
a computed member property (#5722 ) (Dunqing)
### Performance
- 3725d5d linter: Make all rules share a diagnostics vec (#5806 )
(DonIsaac)
- e978567 linter: Shrink size of `DisableDirectives` (#5798 ) (DonIsaac)
- 1bfa515 linter: Remove redundant clone of diagnostics in context
(#5797 ) (DonIsaac)
- e413cad linter: Move shared context info to `ContextHost` (#5795 )
(DonIsaac)
### Refactor
- 6dd6f7c ast: Change `Comment` struct (#5783 ) (Boshen)
- 7caae5b codegen: Add `GetSpan` requirement to `Gen` trait (#5772 )
(Boshen)
- 026ee6a linter: Decouple module resolution from import plugin (#5829 )
(dalaoshu)
- 50834bc linter: Move `override_rule` to `OxlintRules` (#5708 )
(DonIsaac)
- a438743 linter: Move `OxlintConfig` to `Oxlintrc` (#5707 ) (DonIsaac)
- f61e8b5 linter: Impl serde and schemars traits for `LintPlugins`
(#5706 ) (DonIsaac)
- 20a7861 linter: Shorten `Option` syntax (#5735 ) (overlookmotel)
- d8b612c oxc_linter: Prefer pass Enum instead of str `no_plus_plus`
(#5730 ) (IWANABETHATGUY)
- cc0408b semantic: S/AstNodeId/NodeId (#5740 ) (Boshen)
---------
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-18 12:02:09 +08:00
DonIsaac
a438743191
refactor(linter): move OxlintConfig to Oxlintrc ( #5707 )
2024-09-17 05:15:37 +00:00
Boshen
5bace1ad55
chore: fix package.json EOL
2024-09-13 22:51:33 +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
oxc-bot
1dad9fa301
release(oxlint): v0.9.5 ( #5724 )
...
## [0.9.5] - 2024-09-12
### Features
- 4b04f65 linter: Implement `no-plusplus` rule (#5570 ) (Cam McHenry)
---------
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-12 16:59:25 +08:00
Boshen
2b8369fb8c
ci(oxlint): pnpm publish need to declare binary as executable
2024-09-12 16:38:56 +08:00
oxc-bot
d06bab6260
release(oxlint): v0.9.4 ( #5718 )
...
## [0.9.4] - 2024-09-12
### Features
- 9ca2593 linter: Eslint/sort-keys (#4845 ) (Na'aman Hirschfeld)
- 023c160 linter: Impl `Serialize` for `OxlintConfig` (#5594 ) (DonIsaac)
- 24d6a47 linter: Implement `eslint/no-invalid-regexp` (#5443 ) (Boshen)
### Bug Fixes
- af6d240 linter: Panic in consistent-function-scoping (#5613 )
(DonIsaac)
- 54e2e76 linter: `react/no_set_state` + `react/no_string_refs` rules
find correct parent (#5615 ) (overlookmotel)
- 3b87ac4 linter: Fix no_unused_vars panic when encountering unicode
(#5582 ) (Boshen)
### Performance
- bfe9186 linter: Use `cow_replace` instead of `replace` (#5643 )
(dalaoshu)
- e3ae5db linter: Use cow_to_ascii_lowercase/uppercase (#5637 ) (heygsc)
- a0370bf linter: Use cow_utils in no_script_url (#5633 ) (heygsc)
- 37e922c linter: `eslint/no_shadow_restricted_names` use
`run_on_symbol` (#5618 ) (overlookmotel)
- 0b7fccf linter: `react/no_set_state` + `react/no_string_refs` rules
reduce iteration over ancestors (#5616 ) (overlookmotel)
- 2c3f3fe linter: Make `jsx_key` slightly faster (#5585 ) (Boshen)
- cd81d12 linter: Add `should_run` to check path only once to
nextjs/no_typos (#5584 ) (Boshen)
- d18c896 rust: Use `cow_utils` instead (#5664 ) (dalaoshu)
### Documentation
- 64f9575 linter: Add plugin usage to example with configuration
(Boshen)
- 8c9179d linter: Fix typos (#5591 ) (Brian Donovan)
### Refactor
- 9e9435f linter: Add `LintFilter` (#5685 ) (DonIsaac)
- 4f70fe5 linter: Start internal/external split of LintPluginOptions
(#5660 ) (DonIsaac)
- 5ae9b48 linter: Start internal/external split of `OxlintOptions`
(#5659 ) (DonIsaac)
- c8bc6f0 linter: Use `std::ptr::eq` (#5649 ) (overlookmotel)
- a37c064 linter: Use `ContentHash` for `no_duplicate_case`; remove
`calculate_hash` (#5648 ) (Boshen)
- 0b3c1d7 linter: Start internal/external split of `OxlintConfig`
(#5595 ) (DonIsaac)
- 89bdf55 linter: Inline `Rule` trait default methods (#5619 )
(overlookmotel)
- afea8d5 linter: Rename `Rule` trait method params (#5617 )
(overlookmotel)
- 4e748b5 linter: Replace ast "compare by hash" to "compare by content"
(#5602 ) (dalaoshu)
- bac03e3 linter: Make fields of `LintServiceOptions` private (#5593 )
(DonIsaac)
- 2661d8b linter: Jest prefer_strict_equal (#5588 ) (IWANABETHATGUY)
- 20d0068 oxlint: Move cli-related exports to `cli` module (#5139 )
(DonIsaac)
- 067f9b5 semantic: Introduce `IsGlobalReference` trait (#5672 )
(Boshen)- 26d9235 Enable clippy::ref_as_ptr (#5577 ) (夕舞八弦)
### Testing
- 8e79f8d linter: Add class method test cases for `oxc/no-async-await`
(#5550 ) (DonIsaac)
- 3835189 linter: Add test case for no_unused_vars in 3b87ac4 (Boshen)
- 5f27551 linter: Add a passing case to no_undef (#5580 ) (Boshen)
---------
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-12 13:56:38 +08:00
Boshen
945d2744ae
chore(linter: fix snapshot
2024-09-11 21:07:23 +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
DonIsaac
023c1607b0
feat(linter): impl Serialize for OxlintConfig ( #5594 )
...
Re-creation of #5331
2024-09-09 05:13:19 +00:00
Boshen
d00a1f6511
chore: use dprint to format js, json and markdown
2024-09-08 13:24:58 +08:00
oxc-bot
16009c09fd
release: oxlint v0.9.3 ( #5569 )
...
## [0.9.3] - 2024-09-07
### Features
- be3a432 linter: Implement typescript/no-magic-numbers (#4745 )
(Alexander S.)
- 09aa86d linter/eslint: Implement `sort-vars` rule (#5430 ) (Jelle van
der Waa)
- 2ec2f7d linter/eslint: Implement no-alert (#5535 ) (Edwin Lim)
- a786acf linter/import: Add no-dynamic-require rule (#5389 ) (Jelle van
der Waa)
- 4473779 linter/node: Implement no-exports-assign (#5370 ) (dalaoshu)
- b846432 linter/oxc: Add fixer for `erasing-op` (#5377 ) (camc314)
- aff2c71 linter/react: Implement `self-closing-comp` (#5415 ) (Jelle van
der Waa)
### Bug Fixes
- 0df1d9d ast, codegen, linter: Panics in fixers. (#5431 ) (rzvxa)
- cdd1a91 linter: Typescript/no-magic-numbers: remove double minus for
reporting negative bigint numbers (#5565 ) (Alexander S.)
- ff88c1f linter: Don't mark binding rest elements as unused in TS
function overloads (#5470 ) (Cam McHenry)
- 088733b linter: Handle loops in `getter-return` rule (#5517 ) (Cam
McHenry)
- 82c0a16 linter: `tree_shaking/no_side_effects_in_initialization`
handle JSX correctly (#5450 ) (overlookmotel)
- 6285a02 linter: `eslint/radix` rule correctly check for unbound
symbols (#5446 ) (overlookmotel)
- c8ab353 linter/tree-shaking: Align JSXMemberExpression's report
(#5548 ) (mysteryven)
- 5187f38 linter/tree-shaking: Detect the correct export symbol
resolution (#5467 ) (mysteryven)
### Performance
- 8170954 linter/react: Add should_run conditions for react rules
(#5402 ) (Jelle van der Waa)
### Documentation
- a540215 linter: Update docs `Examples` for linter rules (#5513 )
(dalaoshu)
- 7414190 linter: Update docs `Example` for linter rules (#5479 )
(heygsc)
### Refactor
- 0ac420d linter: Use meaningful names for diagnostic parameters (#5564 )
(Don Isaac)
- 81a394d linter: Deduplicate code in `oxc/no-async-await` (#5549 )
(DonIsaac)
- 979c16c linter: Reduce nested if statements in
eslint/no_this_before_super (#5485 ) (IWANABETHATGUY)
- 1d3e973 linter: Simplify `eslint/radix` rule (#5445 ) (overlookmotel)
- fdb8857 linter: Use "parsed pattern" in `no_div_regex` rule. (#5417 )
(rzvxa)
- 2ccbd93 linter: `react/jsx_no_undef` rule `get_member_ident` do not
return Option (#5411 ) (overlookmotel)
### Styling
- 2a43fa4 linter: Introduce the writing style from PR #5491 and reduce
the if nesting (#5512 ) (dalaoshu)- d8b29e7 Add trailing line breaks to
JSON files (#5544 ) (overlookmotel)- 694f032 Add trailing line breaks to
`package.json` files (#5542 ) (overlookmotel)
### Testing
- 340b535 linter/no-unused-vars: Arrow functions in tagged templates
(#5510 ) (Don Isaac)
- af69393 linter/no-useless-spread: Ensure spreads on identifiers pass
(#5561 ) (DonIsaac)- dc92489 Add trailing line breaks to conformance
fixtures (#5541 ) (overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-07 12:28:46 +08:00
overlookmotel
694f032a3d
style: add trailing line breaks to package.json files ( #5542 )
...
For consistency with our `.editorconfig`.
2024-09-06 12:43:44 +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
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
oxc-bot
953344dd42
Release oxlint v0.9.2 ( #5401 )
...
## [0.9.2] - 2024-09-02
### Features
- f81e8a1 linter: Add `oxc/no-async-endpoint-handlers` (#5364 )
(DonIsaac)
- b103737 linter: Improve no-accumulating-spread (#5302 ) (camc314)
- 9c22ce9 linter: Add hyperlinks to diagnostic messages (#5318 )
(DonIsaac)
- 1967c67 linter/eslint: Implement no-new-func (#5360 ) (dalaoshu)
- b867e5f linter/eslint-plugin-promise: Implement catch-or-return
(#5121 ) (Jelle van der Waa)
- 8d781e7 linter/oxc: Differentiate between array/object in
`no-accumulating-spread` loop diagnostic (#5375 ) (camc314)
- db55444 linter/oxc: Add fixer for `double-comparisons` (#5378 )
(camc314)
- e5c755a linter/promise: Add `spec-only` rule (#5124 ) (Jelle van der
Waa)
- 4c0861f linter/unicorn: Add fixer for `prefer-type-error` (#5311 )
(camc314)
- 084c2d1 linter/vitest: Implement prefer-to-be-object (#5321 )
(dalaoshu)
### Bug Fixes
- 11b93af linter/unicorn: Consistent-function-scoping false positive on
assignment expression (#5312 ) (Arian94)
### Performance
- f052a6d linter: `react/jsx_no_undef` faster check for unbound
references (#5349 ) (overlookmotel)
- 05636b7 linter: Avoid unnecessary work in `jsx_a11y/anchor_is_valid`
rule (#5341 ) (overlookmotel)
### Refactor
- afb038e linter: `react/jsx_no_undef` use loop instead of recursion
(#5347 ) (overlookmotel)
- fe62687 linter: Simplify skipping JSX elements in
`unicorn/consistent_function_scoping` (#5351 ) (overlookmotel)
- 381d9fe linter: Shorten code in `react/jsx_no_useless_fragment`
(#5350 ) (overlookmotel)
- 83b9a82 linter: Fix indentation in
`nextjs/no_script_component_in_head` rule (#5338 ) (overlookmotel)
- 89f0188 linter: Improve docs for `react/jsx_no_target_blank` rule
(#5342 ) (overlookmotel)
- 57050ab linter: Shorten code in
`jsx_a11y/aria_activedescendant_has_tabindex` rule (#5340 )
(overlookmotel)
- ed31d67 linter/jest: Fix indentation in code comment (#5372 ) (camc314)
- 2499cb9 linter/oxc: Update rule docs for `erasing-op` (#5376 )
(camc314)
- 69493d2 linter/oxc: Improve diagnostic for `no-accumulating-spread` in
loops (#5374 ) (camc314)
- 024b585 linter/oxc: Improve code comment for `no-accumulating-spread`
(#5373 ) (camc314)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-02 20:30:22 +08:00
oxc-bot
53ff3493ef
Release oxlint v0.9.1 ( #5316 )
...
## [0.9.1] - 2024-08-29
### Features
- 6633972 linter: Add fixer for `no-empty` (#5276 ) (camc314)
- a58e448 linter/eslint: Add fixer to `no-var` (#5144 ) (camc314)
- a6e9769 linter/jsx-a11y: Add `label-has-associated-control` (#5163 )
(Billy Levin)
- c8e8532 linter/unicorn: Add fixer to `throw-new-error` (#5275 )
(camc314)
- 7ccde4b linter/unicorn: Add fixer to `prefer-date-now` (#5147 )
(camc314)
### Bug Fixes
- 76e86f8 linter: Eslint-plugin-unicorn prefer-spread wrong linter
suggestion on variables of type string (#5265 ) (Arian94)
- b39544e linter/jest: Fixer for `prefer-jest-mocked` creates invalid
LHS expressions (#5243 ) (camc314)
- 9953fa5 linter/no-null: Incorrect fixer for `NullLiteral` within
`ReturnStatement` (#5247 ) (Dunqing)
- 318479e linter/no-unused-vars: Mark the class/function in the new
expression as used (#5306 ) (magic-akari)
### Refactor
- fa1d460 linter: Clean up Fixer and Message (#5308 ) (DonIsaac)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-29 13:04:52 +08:00
Boshen
fea2746b73
chore: switch playground to https://github.com/oxc-project/playground ( #5249 )
...
playground app: https://oxc-playground.netlify.app/
2024-08-27 15:14:36 +08:00
oxc-bot
2a001a043c
Release oxlint v0.9.0 ( #5219 )
...
## [0.9.0] - 2024-08-26
- 5946748 linter: [**BREAKING**] Parse and display syntax errors for
regular expressions (#5214 ) (Boshen)
- b894d3b linter: [**BREAKING**] Make `no-unused-vars` correctness
(#5081 ) (DonIsaac)
### Features
- 1ce9630 linter/config: Implement FromIterator for LintPluginOptions
(#5102 ) (DonIsaac)
- 34bfaf6 linter/react: Add fixer to `jsx-props-no-spread-multi` (#5145 )
(camc314)
- 982bd6e linter/unicorn: Add fixer to `require-array-join-separator`
(#5152 ) (camc314)
- a6704bd linter/unicorn: Add fixer to `prefer-set-size` (#5149 )
(camc314)
- ac7edcc linter/unicorn: Add fixer to `prefer-array-some` (#5153 )
(camc314)
- 1d01aa3 linter/unicorn: Add partial fixer for `prefer-array-flat`
(#5143 ) (camc314)
- 22d57f9 linter/unicorn: Add fixer to `prefer-string-slice` (#5150 )
(Cameron)
- 2fe4415 linter/unicorn: Add fixer to `no-redundant-roles` (#5146 )
(Cameron)
- d35c6f5 linter/unicorn: Add fixer to `prefer-regexp-test` (#5151 )
(Cameron)
- 27db769 linter/unicorn: Add fixer to `text-encoding-identifier-case`
(#5154 ) (Cameron)
- f7958c4 linter/unicorn: Add prefer-structured-clone (#5095 ) (Jelle van
der Waa)
- 004ffa0 linter/vitest: Implement `prefer-each` (#5203 ) (dalaoshu)
### Bug Fixes
- aaaf26c linter: Error in fixer for prefer-to-have-length (#5197 )
(dalaoshu)
- 1f5b6b6 linter: Bug in fixer for prefer-to-have-length (#5164 )
(dalaoshu)
- 7eb052e linter: `no-hex-escape` fixer removing regex flags (#5137 )
(Cameron)
- 76c66b4 linter/max-lines: Point span to end of file for disable
directive to work (#5117 ) (Boshen)
- 8ff6f2c linter/no-unused-vars: Panic on UsingDeclarations (#5206 )
(DonIsaac)
- d29042e linter/no-unused-vars: Function expression in implicit arrow
function return (#5155 ) (DonIsaac)
- 36e4a28 linter/no-unused-vars: Panic in variable declarator usage
checks (#5160 ) (DonIsaac)
- ba62a71 linter/react: Fixed false positive with missing key inside
React.Children.toArray() for fragments (#5133 ) (Earl Chase)
- fd1031a linter/unicorn: Breaking fixer in case statements for
`no-null` (#5176 ) (DonIsaac)
- 7b86ed6 linter/unicorn: Handle type casts and parens in `no-null`
(#5175 ) (Don Isaac)
- b629e16 linter/unicorn: Improve diagnostic message for `no-null`
(#5172 ) (DonIsaac)
### Performance
- ce454cf Use simdutf8 to validate UTF-8 when reading files (#5196 )
(dalaoshu)
### Refactor
- 543cad6 codegen: Remove some pub APIs (Boshen)
- 0d3661a linter: Remove meaningless `span0` (#5209 ) (dalaoshu)
- 2a91ef1 linter: `eslint/no_redeclare` rule use `run_on_symbol` not
`run_once` (#5201 ) (overlookmotel)
- 33599b0 linter: Split options into multiple files (#5101 ) (DonIsaac)
- 7ab6152 linter/unicorn: Clean up `no-null` (#5174 ) (DonIsaac)
### Testing
- a877e5a linter/no-unused-vars: Ensure type annotations on property
accessors are considered used (#5183 ) (DonIsaac)
- 7886618 linter/unicorn: Add fixer tests for `no-null` (#5173 )
(DonIsaac)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-26 16:50:15 +08:00
dalaoshu
72740b3f78
feat(isolated_declaration): support sourcemap option ( #5170 )
...
closes #4313
2024-08-25 13:32:47 +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
oxc-bot
8ef85a43c0
Release oxlint v0.8.0 ( #5104 )
...
## [0.8.0] - 2024-08-23
- 5f4c9ab semantic: [**BREAKING**] Rename `SymbolTable::get_flag` to
`get_flags` (#5030 ) (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
- 2292606 linter: Typescript-eslint/no-wrapper-object-types (#5022 )
(camc314)
- a0effab linter: Support more flexible config.globals values (#4990 )
(Don Isaac)
- cdbfcfb linter: Start import fixer for eslint/no-unused-vars (#4849 )
(DonIsaac)
- 915cb4d linter: Add dangerous fixer for oxc only used in recursion
(#4805 ) (camc314)
- 3f28c77 linter/eslint: Improve no-dupe-keys (#4943 ) (DonIsaac)
- e1582a5 linter/eslint: Improve no-duplicate-case rule (#4942 )
(DonIsaac)
- f1e4611 linter/eslint-plugin-vitest: Implement no-conditional-in-test
(#4971 ) (dalaoshu)
- 14bf5d5 linter/eslint-plugin-vitest: Implement
no-restricted-vi-methods (#4956 ) (dalaoshu)
- ed9a1c4 linter/eslint-plugin-vitest: Implement
require-local-test-context-for-concurrent-snapshots (#4951 ) (dalaoshu)
- 7859f58 linter/eslint-plugin-vitest: Implement no-conditional-tests
(#4955 ) (dalaoshu)
- 841174f linter/no-unused-vars: Delete non-root arrows, skip `await`
(#5083 ) (Don Isaac)
### Bug Fixes
- 86d0c0c linter: Change consistent-function-scoping to suspicious
(#5010 ) (DonIsaac)
- 7b99386 linter: Missing closing ticks in some example blocks (#4994 )
(DonIsaac)
- 9c64b12 linter: Improve no-zero-fractions rule for member expressions
and scientific notation (#4793 ) (Burlin)
- c43945c linter/consistent-function-scoping: Allow functions passed as
arguments (#5011 ) (Don Isaac)
- 9354779 linter/no-unused-vars: Give `argsIgnorePattern` the same
default behavior as `varsIgnorePattern` (#5018 ) (DonIsaac)
- 5a55dcf linter/no-unused-vars: `type` specifier not deleted for type
imports (#5029 ) (DonIsaac)
- 4081293 linter/no-unused-vars: Panic in fixer when removing
destructures (#4923 ) (Don Isaac)
- ddf83ff linter/react: Fixed false positive with missing key inside
React.Children.toArray() (#4945 ) (Earl Chase)
- 508644a linter/tree-shaking: Correct the calculation of `>>`, `<<` and
`>>>` (#4932 ) (mysteryven)
- e99836d linter/unicorn: Allow set spreading in no-useless-spread
(#4944 ) (Don Isaac)
- 5f8a7c2 oxlint: Rules in the configuration file are not being
correctly … (#4949 ) (dalaoshu)
### Documentation
- e331ca0 linter: Improve documentation for several rules (#4997 )
(DonIsaac)
- cd9f1cd linter/consistent-function-scoping: Improve rule documentation
(#5015 ) (DonIsaac)
### Refactor
- eca6fdb linter: Move plugin options into separate struct (#5100 )
(DonIsaac)
- 06f2d81 linter: Avoid unnecessary temp `Vec`s (#4963 ) (overlookmotel)
- 4cb8c37 linter: Move default_true to utils (#4947 ) (Don Isaac)
- ca70cc7 linter, mangler, parser, semantic, transformer, traverse,
wasm: Rename various `flag` vars to `flags` (#5028 ) (overlookmotel)
- 59d15c7 semantic: `root_unresolved_references` contain only
`ReferenceId` (#4959 ) (overlookmotel)
### Testing
- c21d735 linter/no-unused-vars: Add ignored destructuring test cases
(#4922 ) (Don Isaac)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-23 11:09:14 +08:00
Boshen
2a5e15d03e
fix(npm): libc field should not be null
...
closes #4952
2024-08-22 23:29:22 +08:00
Don Isaac
a0effab160
feat(linter): support more flexible config.globals values ( #4990 )
...
Support `"readable", `"writable"`, and boolean values for `GlobalValue`.
I also enhanced the documentation for `OxcGlobals`
## Screenshot
<img width="797" alt="image"
src="https://github.com/user-attachments/assets/8f76de4c-4ae8-44d1-9be1-720fc3c7e0ec ">
2024-08-19 16:23:47 -04: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
b3e189764f
Release oxlint v0.7.2 ( #4909 )
...
## [0.7.2] - 2024-08-15
### Features
- 97e38cd linter: Add fixer for unicorn/prefer-optional-catch-binding
(#4867 ) (heygsc)
- 93ae1c7 linter: Eslint-plugin-react jsx-props-no-spread-multi (#4866 )
(keita hino)
- 0a23610 linter: Add fixer for unicorn/prefer-array-flat-map (#4844 )
(heygsc)
- 13c7b1b linter/jsx-a11y: Add fixer for aria-unsupported-elements
(#4854 ) (DonIsaac)
- a6195a6 linter/jsx-a11y: Add fixer for anchor-has-content (#4852 )
(DonIsaac)
- 4d28d03 task/website: Support render `subschemas.all_of` (#4800 )
(mysteryven)
### Bug Fixes
- 21f5762 codegen: Minify large numbers (#4889 ) (Boshen)
- a08d7a7 linter/jsx-a11y: Reduce false negatives for html-has-lang
(#4855 ) (DonIsaac)
- a81ce3a linter/no-unused-vars: Do not delete function expressions when
fixing (#4848 ) (DonIsaac)
### Documentation
- 955a4b4 oxlint: Improve cli doc regarding fix and `-D all` (Boshen)
### Refactor
- 56f033c linter: Improve diagnostics for several jsx-a11y rules (#4853 )
(DonIsaac)
- c53c210 linter/no-unused-vars: Split fixer logic into multiple files
(#4847 ) (DonIsaac)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-15 14:56:34 +08:00
mysteryven
4d28d037e6
feat(task/website): support render subschemas.all_of ( #4800 )
...
To solve unexpected snapshot update in #4742 : https://github.com/oxc-project/oxc/pull/4742/files#diff-4c1a03dc03cfd00f9eaecb5c66b61f4e57272c6262253f0dc82ea1b71223bac2
2024-08-14 06:12:03 +00: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
972492cc4d
Release oxlint v0.7.1 ( #4835 )
...
## [0.7.1] - 2024-08-12
### Features
- 3d40528 linter: Add fix emoji to rules table and doc pages (#4715 )
(DonIsaac)
- d2734f3 linter: Start fixer for no-unused-vars (#4718 ) (DonIsaac)
- 070ae53 linter: Add fixer for unicorn prefer-string-replace-all
(#4801 ) (camc314)
- b3c3125 linter: Overhaul unicorn/no-useless-spread (#4791 ) (DonIsaac)
- 5992b75 linter: Implement `eslint-plugin-promise/no-return-in-finally,
prefer-await-to-then` rule (#4318 ) (Jelle van der Waa)
- b259f47 linter: Add fixer for unicorn/no-length-as-slice-end (#4780 )
(heygsc)
- abd83fa linter: Add fixer for jsx_ally/no_aria_hidden_on_focusable
(#4772 ) (heygsc)
- b20e335 linter: Add fixer for eslint/no-eq-null (#4758 ) (heygsc)
- 2f6c3b9 linter: Add fixer for eslint/no-compare-neg-zero (#4748 )
(heygsc)
- eaddc8f linter: Add fixer for eslint/func_names (#4714 ) (DonIsaac)
- 80557a9 linter: Add fixer for eslint/for-direction (#4679 ) (heygsc)
- c3c5766 linter/eslint-plugin-promise: Implement valid-params (#4598 )
(Jelle van der Waa)
- c509a21 linter/eslint-plugin-vitest: Implement prefer-to-be-falsy
(#4770 ) (dalaoshu)
- 41f861f linter/eslint-plugin-vitest: Implement prefer-to-be-truthy
(#4755 ) (dalaoshu)
- cc922f4 vscode: Provide config's schema to oxlint config files (#4826 )
(Don Isaac)
- f629514 website: Auto-generate rule docs pages (#4640 ) (DonIsaac)
### Bug Fixes
- b22ed45 linter: Improve prefer_namespace_keyword rule (#4751 ) (Burlin)
- db68a6c linter: Fixer for eslint/for-direction (#4727 ) (heygsc)
- 6273994 linter: Block in eslint/no_cond_assign (#4721 ) (heygsc)
- b9d6aa5 linter: Fix false positives in no-confusing-non-null-assertion
(#4665 ) (Renée)
- cbf08d2 linter: Skip no-multi-str on jsx attributes (#4666 ) (heygsc)
- a6f9f96 linter: No unused errors should be warnings (Boshen)
- 7345bc9 linter/func-names: Handle ts accessibility when reporting
missing names (#4713 ) (DonIsaac)
### Performance
- d191823 linter: Optmize allocations in jest fn parsing (#4787 ) (lucab)
- e3abdfa linter: Reduce String allocations and clones (#4673 )
(DonIsaac)
### Documentation
- 4b7dfd6 linter: Correct docs for no-unused-vars (#4716 ) (Don Isaac)
### Refactor
- 096ac7b linter: Clean up jsx-a11y/anchor-is-valid (#4831 ) (DonIsaac)
- 15a0fd4 linter: Use Option to reduce nested level in
`eslint/getter-return` (#4814 ) (IWANABETHATGUY)
- 63f274c linter: Simplify NoObjCalls resolution logic (#4765 ) (lucab)
- 6708680 linter: Replace Windows-style line breaks with Unix-style in
test fixture (#4768 ) (overlookmotel)
- e285903 linter: Clean up eslint/func_names (#4710 ) (DonIsaac)
### Testing
- 8f2a566 linter: Ensure rule docs have valid syntax (#4644 ) (DonIsaac)
- 4dd29db linter: Add fixer test for unicorn/no-zero-fractions (#4783 )
(heygsc)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-12 13:36:37 +08:00
Don Isaac
cc922f4c89
feat(vscode): provide config's schema to oxlint config files ( #4826 )
...
Updates the VSCode plugin client to automatically provide our
auto-generated
JSON schema to `\.?oxlint(rc)?(\.json)?` files.
2024-08-12 09:15:47 +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
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
oxc-bot
61337613da
Release crates v0.23.1 ( #4681 )
...
## [0.23.1] - 2024-08-06
### Features
- 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)
- 0c52c0d ast_codegen: Add alignment and size data to the schema.
(#4615 ) (rzvxa)
- 229a0e9 minifier: Implement dot define for member expressions (#3959 )
(camc314)
- e42ac3a sourcemap: Add `ConcatSourceMapBuilder::from_sourcemaps`
(#4639 ) (overlookmotel)
### Bug Fixes
- 4a56954 codegen: Print raw if value is number is Infinity (#4676 )
(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)
- 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)
- 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
- 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)
- 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)- 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-06 16:37:29 +08:00