Tags: pacexy/oxc
Tags
release(oxlint): v0.15.10 (oxc-project#8918) ## [0.15.10] - 2025-02-06 ### Features - d6d80f7 linter: Add suggestion fixer for `eslint/no-iterator` (oxc-project#8894) (dalaoshu) - 7e8568b linter: Junit reporter (oxc-project#8756) (Tapan Prakash) - f4662a9 oxc_language_server: Implement `oxc.fixAll` workspace command (oxc-project#8858) (Marek Vospel) ### Bug Fixes - baf3e4e linter: Correctly replace rule severity with duplicate rule name configurations (oxc-project#8840) (dalaoshu) ### Performance - 8a4988d linter: Use parallel iterator directly instead of iter and parallel bridge (oxc-project#8831) (Cam McHenry) ### Refactor - bb9d763 linter: Remove usage of `url` crate (oxc-project#8833) (camchenry) - 4fcf719 linter: Replace MIME guessing with extension check (oxc-project#8832) (camchenry) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(oxlint): v0.15.9 (oxc-project#8824) ## [0.15.9] - 2025-02-01 ### Features - 1a41181 linter: Implement `eslint/prefer-object-spread` (oxc-project#8216) (tbashiyy) - adb8ebd linter: Implement no-useless-call rule (oxc-project#8789) (keita hino) - 3790933 linter: Add vitest/prefer-lowercase-title rule (oxc-project#8152) (Tyler Earls) - e8e6917 linter: Unicorn/switch-cases-braces support options (oxc-project#8704) (1zumii) ### Bug Fixes - 8ce21d1 linter: Can't disable `no-nested-ternary` rule anymore (oxc-project#8600) (dalaoshu) - e929f26 linter: Output `LintCommandInfo` for `CliRunResult::LintNoFilesFound` (oxc-project#8714) (Sysix) - 4f30a17 linter: Unicorn/switch-case-braces mangles code when applying fix (oxc-project#8758) (Tyler Earls) - 9cc9d5f linter: `ignorePatterns` does not work when files are provided as command arguments (oxc-project#8590) (dalaoshu) - 1de6f85 linter: No-lone-blocks erroring on block statements containing comments (oxc-project#8720) (Tyler Earls) - 77ef61a linter: Fix diagnostic spans for `oxc/no-async-await` (oxc-project#8721) (camchenry) - f15bdce linter: Catch `Promise` in `typescript/array-type` rule (oxc-project#8702) (Rintaro Itokawa) - 5041cb3 vscode: Fix commands by reverting commit `259a47b` (oxc-project#8819) (Alexander S.) ### Performance - d318238 linter: Remove sorting of rules in cache (oxc-project#8718) (camchenry) ### Documentation - 57b7ca8 ast: Add documentation for all remaining JS AST methods (oxc-project#8820) (Cam McHenry) ### Refactor - c2fdfc4 linter: Correctly handle loose options for `eslint/eqeqeq` (oxc-project#8798) (dalaoshu) - 0aeaedd linter: Support loose options for `eslint/eqeqeq` (oxc-project#8790) (dalaoshu) - 194a5ff linter: Remove `LintResult` (oxc-project#8712) (Sysix) - 4a2f2a9 linter: Move default `all_rules` output to trait (oxc-project#8710) (Sysix) - 741fb40 linter: Move stdout outside LintRunner (oxc-project#8694) (Sysix) - 10e5920 linter: Move finishing default diagnostic message to `GraphicalReporter` (oxc-project#8683) (Sysix) - 9731c56 oxlint: Move output from `CliRunResult::InvalidOption` to outside and use more Enums for different invalid options (oxc-project#8778) (Sysix) - fe45bee oxlint: Create different `CliRunResult` instead of passing `ExitCode` to it (oxc-project#8777) (Sysix) - 2378fef oxlint: Move ConfigFileInit output outside CliRunResult, exit code 1 when it fails (oxc-project#8776) (Sysix) - f4cecb5 oxlint: Remove unused `CliRunResult::PathNotFound` (oxc-project#8775) (Sysix) ### Testing - ad35e82 linter: Use snapshot testing instead of LintResult (oxc-project#8711) (Sysix) - bf895eb linter: Add diagnostic format test snapshots (oxc-project#8696) (Alexander S.) - 34d3d72 linter: Add snapshot tester for cli (oxc-project#8695) (Sysix) - 0bf2bcf oxlint: Test two real rules with same name but from different plugins (oxc-project#8821) (dalaoshu) - 2b83b71 oxlint: Improve disabling "no-nested-ternary" tests (oxc-project#8814) (Alexander S.) - 45648e7 oxlint: Fix InvalidOptionTsConfig tests for windows (oxc-project#8791) (Alexander S.) - 48bfed9 oxlint: Ignore windows path mismatch (Boshen) - 6f4a023 oxlint: Remove "--print-config" test (oxc-project#8792) (Sysix) - 55c2025 oxlint: Add `CliRunResult` to snapshot (oxc-project#8780) (Sysix) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): v0.48.1 (oxc-project#8738) ## [0.48.1] - 2025-01-26 ### Features - b7f13e6 ast: Implement utf8 to utf16 span converter (oxc-project#8687) (Boshen) - 6589c3b mangler: Reuse variable names (oxc-project#8562) (翠 / green) - 29bd215 minifier: Minimize `Infinity.toString(radix)` to `'Infinity'` (oxc-project#8732) (Boshen) - e0117db minifier: Replace `const` with `let` for non-exported read-only variables (oxc-project#8733) (sapphi-red) - 9e32f55 minifier: Evaluate `Math.sqrt` and `Math.cbrt` (oxc-project#8731) (sapphi-red) - 360d49e minifier: Replace `Math.pow` with `**` (oxc-project#8730) (sapphi-red) - 2e9a560 minifier: `NaN.toString(radix)` is always `NaN` (oxc-project#8727) (Boshen) - cbe0e82 minifier: Minimize `foo(...[])` -> `foo()` (oxc-project#8726) (Boshen) - e9fb5fe minifier: Dce pure expressions such as `new Map()` (oxc-project#8725) (Boshen) ### Bug Fixes - 0944758 codegen: Remove parens from `new (import(''), function() {})` (oxc-project#8707) (Boshen) - 33de70a mangler: Handle cases where a var is declared in a block scope (oxc-project#8706) (翠 / green) - d982cdb minifier: `Unknown.fromCharCode` should not be treated as `String.fromCharCode` (oxc-project#8709) (sapphi-red) - e7ab96c transformer/jsx 8000 : Incorrect `isStaticChildren` argument for `Fragment` with multiple children (oxc-project#8713) (Dunqing) - 3e509e1 transformer/typescript: Enum merging when same name declared in outer scope (oxc-project#8691) (branchseer) ### Performance - dc0b0f2 manger: Remove useless `tmp_bindings` (oxc-project#8735) (Dunqing) - e472ced mangler: Optimize handling of collecting lived scope ids (oxc-project#8724) (Dunqing) - 8587965 minifier: Normalize `undefined` to `void 0` before everything else (oxc-project#8699) (Boshen) ### Refactor - 58002e2 ecmascript: Remove the lifetime annotation on `MayHaveSideEffects` (oxc-project#8717) (Boshen) - 10e5920 linter: Move finishing default diagnostic message to `GraphicalReporter` (oxc-project#8683) (Sysix) - 52a37d0 mangler: Simplify initialization of `slots` (oxc-project#8734) (Dunqing) - 6bc906c minifier: Allow mutating arguments in methods called from `try_fold_known_string_methods` (oxc-project#8729) (sapphi-red) - bf8be23 minifier: Use `Ctx` (oxc-project#8716) (Boshen) - 0af0267 minifier: Side effect detection needs symbols resolution (oxc-project#8715) (Boshen) - 32e0e47 minifier: Clean up `Normalize` (oxc-project#8700) (Boshen) - c792068 semantic: Simplify `ScopeTree::iter_bindings` (oxc-project#8723) (Dunqing) ### Testing - 03229c5 minifier: Fix broken tests (oxc-project#8722) (Boshen) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(oxlint): v0.15.8 (oxc-project#8689) ## [0.15.8] - 2025-01-24 ### Features - 79ba9b5 linter: Added support to run in Node.JS legacy versions (oxc-project#8648) (Luiz Felipe Weber) - dcaebe6 linter: Add "strict" option to `promise/prefer-await-to-then` rule (oxc-project#8674) (Neil Fisher) - 4ae568e linter: Add DiagnosticResult to the Reporters for receiving a sub part result (oxc-project#8666) (Alexander S.) - 8a0eb2a oxlint: Add stylish formatter (oxc-project#8607) (Andrew Powell) ### Bug Fixes - 40316af linter: Fix github `endColumn` output (oxc-project#8647) (Alexander S.) - dc912fa linter: Added missing $schema property to default config (oxc-project#8625) (Tapan Prakash) ### Refactor - a3dc4c3 crates: Clean up snapshot files (oxc-project#8680) (Boshen) - e66da9f isolated_declarations, linter, minifier, prettier, semantic, transformer: Remove unnecessary `ref` / `ref mut` syntax (oxc-project#8643) (overlookmotel) - 23b49a6 linter: Use `cow_to_ascii_lowercase` instead `cow_to_lowercase` (oxc-project#8678) (Boshen) - b8d9a51 span: Deal only in owned `Atom`s (oxc-project#8641) (overlookmotel) - ac4f98e span: Derive `Copy` on `Atom` (oxc-project#8596) (branchseer) - 259a47b vscode: Move commands and `findBinary` to separate files (oxc-project#8605) (Alexander S.) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): v0.48.0 (oxc-project#8686) ## [0.48.0] - 2025-01-24 - 54d0fac span: [**BREAKING**] Remove `PartialEq` impl for `&Atom` (oxc-project#8642) (overlookmotel) ### Features - 2a2ad53 allocator: Add `Allocator::capacity` and `used_bytes` methods (oxc-project#8621) (overlookmotel) - 6801c81 allocator: Add `Allocator::new` and `with_capacity` methods (oxc-project#8620) (overlookmotel) - 99607d3 codegen: Print comments in `TSTypeLiteral` (oxc-project#8679) (Boshen) - 4ae568e linter: Add DiagnosticResult to the Reporters for receiving a sub part result (oxc-project#8666) (Alexander S.) - 343690e minifier: Replace `Number.*_SAFE_INTEGER`/`Number.EPSILON` (oxc-project#8682) (sapphi-red) - 0c5bb30 minifier: Replace `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY`/`Number.NaN` (oxc-project#8681) (sapphi-red) - 835b258 minifier: Compress `typeof foo === 'object' && foo !== null` to `typeof foo == 'object' && !!foo` (oxc-project#8638) (sapphi-red) - 2bcbed2 minifier: Compress `(a = b) === null || a === undefined` to `(a = b) == null` (oxc-project#8637) (sapphi-red) ### Bug Fixes - 40316af linter: Fix github `endColumn` output (oxc-project#8647) (Alexander S.) - 883d25b minifier: Keep esm in dce (oxc-project#8677) (Boshen) - 878ce10 minifier: `void 0` equals to `undefined` (oxc-project#8673) (Boshen) - ba201a6 minifier: Remove "non esbuild optimizations" which is incorrect (oxc-project#8668) (Boshen) - 8c8b5fa minifier: Avoid minifing `String(a)` into `"" + a` for symbols (oxc-project#8612) (翠 / green) - 4ff6e85 minifier: Remove expression statement `void 0` (oxc-project#8602) (Boshen) - 93d643e minifier: Keep side effects when folding const conditional exprs (oxc-project#8591) (camc314) - 178c232 parser: Parse `intrinsic` TS keyword (oxc-project#8627) (Kevin Deng 三咲智子) - 48717ab parser: Parse `true` as `TSLiteralType` (oxc-project#8626) (Kevin Deng 三咲智子) - d1c5dc4 semantic: Fix const assertions in `UnresolvedReferencesStack` (oxc-project#8653) (overlookmotel) ### Performance - 787aaad allocator: Make `String` non-drop (oxc-project#8617) (overlookmotel) - d966e0a codegen: Do not check for comments if turned off (oxc-project#8598) (Boshen) - 3fa87ff lexer: Peak 2 bytes after `!` (oxc-project#8662) (Boshen) - 9953ac7 minifier: Add `LatePeepholeOptimizations` (oxc-project#8651) (Boshen) - 00dc63f minifier: Only substitute typed array constructor once (oxc-project#8649) (Boshen) - 3e19e4e minifier: Remove the useless empty statement removal code in statement fusion (oxc-project#8646) (Boshen) - 5b3c412 minifier: Only run optimizations on local changes (oxc-project#8644) (Boshen) ### Documentation - c1d243b allocator: Improve docs for `Allocator` (oxc-project#8623) (overlookmotel) - 01a5e5d allocator: Improve docs for `HashMap` (oxc-project#8616) (overlookmotel) - 87568a1 allocator: Reformat docs (oxc-project#8615) (overlookmotel) - 3be0392 lexer: Fix doc comment (oxc-project#8664) (overlookmotel) - 5029547 semantic: Fix and reformat doc comments (oxc-project#8652) (overlookmotel) ### Refactor - ae8db53 allocator: Move `Allocator` into own module (oxc-project#8656) (overlookmotel) - 0f85bc6 allocator: Reduce repeat code to prevent `Drop` types in arena (oxc-project#8655) (overlookmotel) - de76eb1 allocator: Reorder `Box` methods (oxc-project#8654) (overlookmotel) - 997859c ast: Align `#[estree(via)]` behavior (oxc-project#8599) (sapphi-red) - db863a3 codegen: Use `Stack` for `binary_expr_stack` (oxc-project#8663) (Boshen) - 8cce69a codegen: Remove `match_member_expression` (oxc-project#8597) (Boshen) - a3dc4c3 crates: Clean up snapshot files (oxc-project#8680) (Boshen) - e66da9f isolated_declarations, linter, minifier, prettier, semantic, transformer: Remove unnecessary `ref` / `ref mut` syntax (oxc-project#8643) (overlookmotel) - 23b49a6 linter: Use `cow_to_ascii_lowercase` instead `cow_to_lowercase` (oxc-project#8678) (Boshen) - ce2b9da minifier: Remove `wrap_to_avoid_ambiguous_else` (oxc-project#8676) (Boshen) - 75a579b minifier: Clean up `has_no_side_effect_for_evaluation_same_target` (oxc-project#8675) (Boshen) - 1bb2539 minifier: Move more code into `minimize_conditions` local loop (oxc-project#8671) (Boshen) - 13e4a45 minifier: Move conditional assignment to `minimize_conditions` (oxc-project#8669) (Boshen) - ae895d8 minifier: Use `NonEmptyStack` for function stack (oxc-project#8661) (Boshen) - 3802 8000 d28 minifier: Clean up `try_minimize_conditional` (oxc-project#8660) (Boshen) - dcc1f2b minifier: Rename `ast_passes` to `peephole` (oxc-project#8635) (Boshen) - 52458de minifier: Remove unused code and traits (oxc-project#8632) (Boshen) - 6f95cd5 minifier: Remove all the unnecessary fake ast passes (oxc-project#8618) (Boshen) - 712cae0 minifier: Run the compressor on all test cases (oxc-project#8604) (Boshen) - 864b8ef parser: Shorten code (oxc-project#8640) (overlookmotel) - b8d9a51 span: Deal only in owned `Atom`s (oxc-project#8641) (overlookmotel) - 20f52b1 span: Remove unnecessary lifetimes on `Atom` impls (oxc-project#8639) (overlookmotel) - ac4f98e span: Derive `Copy` on `Atom` (oxc-project#8596) (branchseer) - a730f99 transformer: Move `create_prototype_member` to utils module (oxc-project#8657) (Dunqing) - 61d96fd transformer/class-properties: Correct comments (oxc-project#8636) (overlookmotel) ### Testing - 39dbd2d codegen: Fix snapshot file (oxc-project#8685) (Boshen) - d9f5e7f minifier: Enable passed esbuild tests (Boshen) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(oxlint): v0.15.7 (oxc-project#8592) ## [0.15.7] - 2025-01-19 ### Features - 01ac773 linter: Support `ignoreTypeOfTestName` for `jest/valid-title` (oxc-project#8589) (dalaoshu) - 538b24a linter: Format the configuration documentation correctly (oxc-project#8583) (Tapan Prakash) - 7ab14cc linter: Add more Vitest compatible Jest rules (oxc-project#8445) (Anson Heung) - d178360 linter: Implement `eslint/prefer-promise-reject-errors` (oxc-project#8254) (tbashiyy) - 4ac2e99 oxlint: Implement `--init` cli option (oxc-project#8453) (Tapan Prakash) ### Bug Fixes - 855c839 codegen: Shorthand assignment target identifier consider mangled names (oxc-project#8536) (Boshen) - c15af02 linter: False positive in `eslint/no-lone-blocks` (oxc-project#8587) (dalaoshu) - 41f2070 linter: Rule `no-restricted-imports` support missing options (oxc-project#8076) (Alexander S.) - 869bc73 linter: Enhance `default_param_last` rule to handle optional parameters (oxc-project#8563) (Tapan Prakash) - c6260c2 linter: Support rest params for `prefer_promise_reject_errors` (oxc-project#8468) (Yuichiro Yamashita) - 2be1e82 linter/no-unused-vars: False positives when variable and type have same name (oxc-project#8465) (Dunqing) ### Performance - 250bbd1 linter/react-exhaustive-deps: Use stack of `AstType`s instead of `AstKind`s (oxc-project#8522) (overlookmotel) ### Refactor - 40f5165 linter: Improve `eslint/no-lone-blocks` (oxc-project#8588) (dalaoshu) - b4c87e2 linter: Move DiagnosticsReporters to oxlint (oxc-project#8454) (Alexander S.) - bf00f82 linter: Move rule `prefer-each` from vitest to jest + remapping (oxc-project#8448) (Alexander S.) - 8dd0013 linter/consistent-function-scoping: Remove `Visit::enter_node` usage (oxc-project#8538) (overlookmotel) - 30c0689 linter/no-map-spread: Remove `Visit::enter_node` usage (oxc-project#8537) (overlookmotel) - b5ed58e span: All methods take owned `Span` (oxc-project#8297) (overlookmotel) ### Styling - 3789d2f linter/react-exhaustive-deps: Fix indentation (oxc-project#8520) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): v0.47.1 (oxc-project#8593) ## [0.47.1] - 2025-01-19 ### Features - ee8ee55 napi/parser: Add `.hasChanged()` to `MagicString` (oxc-project#8586) (Boshen) - 1bef911 napi/parser: Add source map API (oxc-project#8584) (Boshen) ### Bug Fixes - 7b219a9 minifier: Fix dce shadowed undefined (oxc-project#8582) (Boshen) - 7421a52 transformer/typescript: Correctly resolve references to non-constant enum members (oxc-project#8543) (branchseer) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): v0.47.0 (oxc-project#8580) ## [0.47.0] - 2025-01-18 - fae4cd2 allocator: [**BREAKING**] Remove `Vec::into_string` (oxc-project#8571) (overlookmotel) - 95bc0d7 allocator: [**BREAKING**] `Allocator` do not deref to `bumpalo::Bump` (oxc-project#8569) (overlookmotel) - 19d3677 ast: [**BREAKING**] Always return `Array<ImportDeclarationSpecifier>` for `ImportDeclaration.specifiers` (oxc-project#8560) (sapphi-red) - 4ce6329 semantic: [**BREAKING**] Ensure program outlives semantic (oxc-project#8455) (Valentinas Janeiko) - 7066d1c ast, span, syntax, regular_expression: [**BREAKING**] Remove `ContentHash` (oxc-project#8512) (overlookmotel) ### Features - bf4e5e1 allocator: Add `HashMap` (oxc-project#8553) (overlookmotel) - a6d71f8 ast: Add `AstKind::ty` method (oxc-project#8521) (overlookmotel) - 4d4e805 minifier: Collapse if stmt with empty consequent (oxc-project#8577) (camc314) - 991a22f minifier: Fold `Array::concat` into literal (oxc-project#8442) (sapphi-red) - 3dc2d8b minifier: Fold string concat chaining (oxc-project#8441) (sapphi-red) - a4ae450 minifier: Fold array concat chaining (oxc-project#8440) (sapphi-red) - 7cc81ef minifier: Fold invalid typeof comparisons (oxc-project#8550) (camc314) - 927f43f minifier: Improve `.charCodeAt(arg)` when arg is valid (oxc-project#8534) (Boshen) - 06f14d5 minifier: Remove empty class static block `class Foo { static {} }` (oxc-project#8525) (Boshen) - 1860411 minifier: Remove last redundant return statement (oxc-project#8523) (Boshen) - c479a58 napi/parser: Expose dynamic import expressions (oxc-project#8540) (Boshen) - 2f0314e npm/oxc-minify: Npm package and publish script (oxc-project#8579) (Boshen) - f413bb5 transformer/optional-chaining: Change parent scope for expression when it wrapped with an arrow function (oxc-project#8511) (Dunqing) ### Bug Fixes - e87c001 allocator: Statically prevent memory leaks in allocator (oxc-project#8570) (overlookmotel) - 855c839 codegen: Shorthand assignment target identifier consider mangled names (oxc-project#8536) (Boshen) - 65c596d minifer: Keep idents if not in scope when minimizing array exprs (oxc-project#8551) (camc314) - f57aac2 minifier: Incorrect folding of expr in bool ctx (oxc-project#8542) (camc314) - 946ad76 minifier: `(-Infinity).toString()` -> `'-Infinity'` (oxc-project#8535) (Boshen) - b1d0186 minifier: Do not fold `!!void b` (oxc-project#8533) (Boshen) - 53adde5 minifier: `x['-2147483648']` -> `x[-2147483648]` (oxc-project#8528) (Boshen) - 405b73d minifier: Do not change `delete undefined` to `delete void 0` (oxc-project#8527) (Boshen) - 92e44cb minifier: Do not remove `undefined` in `var x = undefined` (oxc-project#8526) (Boshen) - 209e313 minifier: `class C { ['-1']() {} }` cannot be minifized (oxc-project#8516) (Boshen) - 6585463 minifier: Always keep the last value of sequence expression (oxc-project#8490) (Boshen) - b552f5c transformer: `wrap_in_arrow_function_iife` take span of input `Expression` (oxc-project#8547) (overlookmotel) - 9963533 transformer/arrow-functions: Visit arguments to `super()` call (oxc-project#8494) (overlookmotel) - 06ccb51 transformer/async-to-generator: Move parameters to the inner generator function when they could throw errors (oxc-project#8500) (Dunqing) - 356f0c1 transformer/class-properties: Handle nested `super()` calls (oxc-project#8506) (overlookmotel) - a048337 transformer/class-static-blocks: Static block converted to IIFE use span of original block (oxc-project#8549) (overlookmotel) ### Performance - 76ea52b allocator: Inline `Box` methods (oxc-project#8572) (overlookmotel) - 93df57f allocator: `#[inline(always)]` methods of `Vec` which just delegate to `allocator_api2` (oxc-project#8567) (overlookmotel) - 5a28d68 allocator: `#[inline(always)]` methods of `HashMap` which just delegate to `hashbrown` (oxc-project#8565) (overlookmotel) - d17021c mangler: Optimize `base54` function (oxc-project#8557) (overlookmotel) - 6b52d7a mangler: Use a single allocation space for temporary vecs (oxc-project#8495) (Boshen) - 30a869e semantic: Use `oxc_allocator::HashMap` in `ScopeTree` (oxc-project#8554) (overlookmotel) - 63eb298 span: Compare `Span`s as single `u64`s (oxc-project#8300) (overlookmotel) - a43560c span: Hash `Span` as a single `u64` (oxc-project#8299) (overlookmotel) - 3fff7d2 span: Align `Span` same as `usize` (oxc-project#8298) (overlookmotel) - 53ef263 transformer/arrow-functions: Bail out of visiting early when inserting `_this = this` after `super()` (oxc-project#8482) (overlookmotel) ### Documentation - fa1a6d5 allocator: Update docs for `Vec` (oxc-project#8555) (overlookmotel) ### Refactor - ac05134 allocator: `String` type (oxc-project#8568) (overlookmotel) - 68fab81 allocator: Rename inner `Vec` type (oxc-project#8566) (overlookmotel) - fcbca32 ast: Rename `#[estree(with)]` to `#[estree(via)]` (oxc-project#8564) (overlookmotel) - 007e8c0 ast, regular_expression: Shorten `ContentEq` implementations (oxc-project#8519) (overlookmotel) - b4c87e2 linter: Move DiagnosticsReporters to oxlint (oxc-project#8454) (Alexander S.) - 8f57929 minifier: Merge `try_compress_type_of_equal_string` into `try_minimize_binary` (oxc-project#8561) (sapphi-red) - 2857ae1 parser: Refactor visitor in regexp example (oxc-project#8524) (overlookmotel) - b5ed58e span: All methods take owned `Span` (oxc-project#8297) (overlookmotel) - 712633f transformer: `wrap_statements_in_arrow_function_iife` utility function (oxc-project#8548) (overlookmotel) - 5206c6a transformer: Rename `wrap_in_arrow_function_iife` (oxc-project#8546) (overlookmotel) - 61077ca transformer: `wrap_arrow_function_iife` receive an owned `Expression` (oxc-project#8545) (overlookmotel) - 6820d24 transformer: Move `wrap_arrow_function_iife` to root utils module (oxc-project#8529) (Dunqing) - 52bd0b1 transformer: Move common utils functions to the root module (oxc-project#8513) (Dunqing) - c30654a transformer/arrow-function: Wrapping arrow function iife by using `wrap_arrow_function_iife` (oxc-project#8530) (Dunqing) - 2bc5175 transformer/arrow-functions: Rename method (oxc-project#8481) (overlookmotel) - 72f425f transformer/class-properties: Fix lint warning in release mode (oxc-project#8539) (overlookmotel) - 7e61b23 transformer/typescript: Shorten code (oxc-project#8504) (overlookmotel) - 04bc259 traverse: Remove unnecessary `#[allow]` (oxc-project#8518) (overlookmotel) - a368726 traverse: Harden soundness of `Traverse` and document safety invariants better (oxc-project#8507) (overlookmotel) ### Testing - e0f5d6c minifier: Update esbuild test (Boshen) - 629c417 minifier: Port esbuild minification tests (oxc-project#8497) (Boshen) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): v0.46.0 (oxc-project#8487) ## [0.46.0] - 2025-01-14 - 7eb6ccd ast: [**BREAKING**] Remove unused and not useful `ContentHash` (oxc-project#8483) (Boshen) ### Features - 8accfef minifier: Minify `var x; void x` -> `void 0` (oxc-project#8466) (Boshen) - 870a583 minifier: Fold `false['toString']` (oxc-project#8447) (Boshen) - 4ad695d napi/minify: Implement napi (oxc-project#8478) (Boshen) - 9d550aa span: Add `Atom::r#static` (oxc-project#8479) (_Kerman) ### Bug Fixes - 4071878 isolated-declarations: Retain `declare` declarations when they are exported (oxc-project#8477) (Dunqing) - 7ee7634 isolated-declarations: Import statement disappears when import binding is referenced in nested `typeof` (oxc-project#8476) (Dunqing) - 7252cb0 isolated-declarations: Unexpected error when global `Symbol` as property key (oxc-project#8475) (Dunqing) - 4c6675c minifier: Do not convert while to fors in DCE (oxc-project#8484) (Boshen) - 1d6e84d minifier: Fix incorrect `null.toString()` and `1n.toString()` (oxc-project#8464) (Boshen) - 25d4bf9 minifier: Remove usage of empty spans (oxc-project#8462) (Boshen) - dd64340 minifier: Keep `return undefined` in async generator function (oxc-project#8439) (Boshen) - c444de8 transformer/arrow-functions: Transform `this` and `super` incorrectly in async arrow function (oxc-project#8435) (Dunqing) - 270245f transformer/typescript: Correct the semantic for TSImportEqualsDeclaration transformation (oxc-project#8463) (Dunqing) - 2a400d6 transformer/typescript: Retain TSImportEqualsDeclaration when it is exported (Dunqing) - ab694b0 transformer/typescript: Retain `TSImportEqualsDeclaration` in `namespace` when its binding has been referenced or `onlyRemoveTypeImports` is true (oxc-project#8458) (Dunqing) ### Performance - 7a8200c mangler: Allocate base54 name without heap allocation (oxc-project#8472) (Boshen) - 31dac22 mangler: Allocate data in arena (oxc-project#8471) (Boshen) - 8fc238a minifier: Merge `Normalize` and `RemoveSyntax` pass (oxc-project#8467) (Boshen) - 372eb09 minifier: Preallocate mangler's semantic data (oxc-project#8451) (Boshen) ### Refactor - 6e64eef codegen: Remove `match_expression!` (oxc-project#8450) (Boshen) - de5b288 span: Rename `Atom::new_const` method (oxc-project#8480) (overlookmotel) - c83ce5c transformer/typescript: Improve transforming namespace (oxc-project#8459) (Dunqing) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
PreviousNext