Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[0.47.0] - 2025-01-18
fae4cd2 allocator: [BREAKING] Remove
Vec::into_string
(refactor(allocator)!: removeVec::into_string
#8571) (overlookmotel)95bc0d7 allocator: [BREAKING]
Allocator
do not deref tobumpalo::Bump
(refactor(allocator)!:Allocator
do not deref tobumpalo::Bump
#8569) (overlookmotel)19d3677 ast: [BREAKING] Always return
Array<ImportDeclarationSpecifier>
forImportDeclaration.specifiers
(fix(ast)!: always returnArray<ImportDeclarationSpecifier>
forImportDeclaration.specifiers
#8560) (sapphi-red)4ce6329 semantic: [BREAKING] Ensure program outlives semantic (fix(semantic)!: ensure program outlives semantic #8455) (Valentinas Janeiko)
7066d1c ast, span, syntax, regular_expression: [BREAKING] Remove
ContentHash
(feat(ast, span, syntax, regular_expression)!: removeContentHash
#8512) (overlookmotel)Features
HashMap
(feat(allocator): addHashMap
#8553) (overlookmotel)AstKind::ty
method (feat(ast): addAstKind::ty
method #8521) (overlookmotel)Array::concat
into literal (feat(minifier): foldArray::concat
into literal #8442) (sapphi-red).charCodeAt(arg)
when arg is valid (feat(minifier): improve.charCodeAt(arg)
when arg is valid #8534) (Boshen)class Foo { static {} }
(feat(minifier): remove empty class static blockclass Foo { static {} }
#8525) (Boshen)Bug Fixes
(-Infinity).toString()
->'-Infinity'
(fix(minifier):(-Infinity).toString()
->'-Infinity'
#8535) (Boshen)!!void b
(fix(minifier): do not fold!!void b
#8533) (Boshen)x['-2147483648']
->x[-2147483648]
(fix(minifier):x['-2147483648']
->x[-2147483648]
#8528) (Boshen)delete undefined
todelete void 0
(fix(minifier): do not changedelete undefined
todelete void 0
#8527) (Boshen)undefined
invar x = undefined
(fix(minifier): do not removeundefined
invar x = undefined
#8526) (Boshen)class C { ['-1']() {} }
cannot be minifized (fix(minifier):class C { ['-1']() {} }
cannot be minifized #8516) (Boshen)wrap_in_arrow_function_iife
take span of inputExpression
(fix(transformer):wrap_in_arrow_function_iife
take span of inputExpression
#8547) (overlookmotel)super()
call (fix(transformer/arrow-functions): visit arguments tosuper()
call #8494) (overlookmotel)super()
calls (fix(transformer/class-properties): handle nestedsuper()
calls #8506) (overlookmotel)Performance
Box
methods (perf(allocator): inlineBox
methods #8572) (overlookmotel)#[inline(always)]
methods ofVec
which just delegate toallocator_api2
(perf(allocator):#[inline(always)]
methods ofVec
which just delegate toallocator_api2
#8567) (overlookmotel)#[inline(always)]
methods ofHashMap
which just delegate tohashbrown
(perf(allocator):#[inline(always)]
methods ofHashMap
which just delegate tohashbrown
#8565) (overlookmotel)base54
function (perf(mangler): optimizebase54
function #8557) (overlookmotel)oxc_allocator::HashMap
inScopeTree
(perf(semantic): useoxc_allocator::HashMap
inScopeTree
#8554) (overlookmotel)Span
s as singleu64
s (perf(span): compareSpan
s as singleu64
s #8300) (overlookmotel)Span
as a singleu64
(perf(span): hashSpan
as a singleu64
#8299) (overlookmotel)Span
same asusize
(perf(span): alignSpan
same asusize
#8298) (overlookmotel)_this = this
aftersuper()
(perf(transformer/arrow-functions): bail out of visiting early when inserting_this = this
aftersuper()
#8482) (overlookmotel)Documentation
Vec
(docs(allocator): update docs forVec
#8555) (overlookmotel)Refactor
String
type (refactor(allocator):String
type #8568) (overlookmotel)Vec
type (refactor(allocator): rename innerVec
type #8566) (overlookmotel)#[estree(with)]
to#[estree(via)]
(refactor(ast): rename#[estree(with)]
to#[estree(via)]
#8564) (overlookmotel)ContentEq
implementations (refactor(ast, regular_expression): shortenContentEq
implementations #8519) (overlookmotel)try_compress_type_of_equal_string
intotry_minimize_binary
(refactor(minifier): mergetry_compress_type_of_equal_string
intotry_minimize_binary
#8561) (sapphi-red)Span
(refactor(span): all methods take ownedSpan
#8297) (overlookmotel)wrap_statements_in_arrow_function_iife
utility function (refactor(transformer):wrap_statements_in_arrow_function_iife
utility function #8548) (overlookmotel)wrap_in_arrow_function_iife
(refactor(transformer): renamewrap_in_arrow_function_iife
#8546) (overlookmotel)wrap_arrow_function_iife
receive an ownedExpression
(refactor(transformer):wrap_arrow_function_iife
receive an ownedExpression
#8545) (overlookmotel)wrap_arrow_function_iife
to root utils module (refactor(transformer): movewrap_arrow_function_iife
to root utils module #8529) (Dunqing)wrap_arrow_function_iife
(refactor(transformer/arrow-function): wrapping arrow function iife by usingwrap_arrow_function_iife
#8530) (Dunqing)#[allow]
(refactor(traverse): remove unnecessary#[allow]
#8518) (overlookmotel)Traverse
and document safety invariants better (refactor(traverse): harden soundness ofTraverse
and document safety invariants better #8507) (overlookmotel)Testing