Packages

@oxc-project/types

0.154.0MIT
  • 0.154.0 is the latest, published 13 October 2026.
  • No known security advisory.
  • 0.x: 148 releases since 25 October 2024, 14 in the last 90 days.

Releases in the last 90 days

Feed of releases and advisories

Every stable release, newest first. Notes are quoted as the maintainers published them.

  1. 0.154.0

    13 October 2026
    ast: Refactor comment attachment storage

    Breaking changes

    • breaking

      ast: Refactor comment attachment storage

    • breaking

      ast: Add comment attachment storage

    • breaking

      parser: Assign node IDs during parsing

    Features

    • minifier: Add folding of delete expression

    Bug Fixes

    • codegen, packages/codegen: Remove extraneous space before RestElement in ArrayPattern

    • packages/codegen: Support printing V8IntrinsicExpressions

    • minifier: Preserve parameter writes through mapped arguments

    • semantic: Stop arguments resolution at ordinary functions

    • transformer_plugins: Preserve optional chains through non-null assertions

    • crates/oxc_semantic: Decline to evaluate unary ops on strings in enum initializers

    • parser: Apply no-side-effects annotations after export

    • minifier: Preserve delete semantic when folding non-finite numbers

    • minifier: Eliminate unused IIFE calls with constant arguments

    • transformer: Avoid synthetic private fields for static blocks

    • semantic: Mark delete of optional members as MemberWriteTarget

    • codegen: Avoid extra indent before empty do-while bodies

    • codegen: Fix printing negative BigIntLiteral after -

    • packages/codegen: Fix printing negative BigIntLiteral after -

    • packages/codegen: Fix debug assert fail printing TSJSDocNonNullableType

    • semantic: Visit TSMethodSignature computed method keys in enclosing scope

    Performance

    • packages/codegen: Remove all printSpaceBeforeIdentifier calls

    • packages/codegen: Skip redundant printSpaceBeforeIdentifier call

    • packages/codegen: Remove branches from loops printing arrays

    • packages/codegen: Remove branch printing RestElement in ArrayPattern

    • packages/codegen: Reduce branches in printArguments

    • packages/codegen: Remove unnecessary printSpaceBeforeIdentifier calls

  2. 0.153.0

    5 October 2026
    minifier: Fold undefined argument in non delegating yield

    Features

    • minifier: Fold undefined argument in non delegating yield

    • ast: Tie debug_name return lifetime to the underlying AST node

    • minifier: Merge import statements against the same module

    • minifier: Merge import and export statements against the same module

    • minifier: Minimize bitwise binary expressions

    • minifier: Merge statements after terminating if block branches

    • minifier: Merge adjucent if stmt with the same content

    Bug Fixes

    • parser: Report abstract private field error on modifier

    • parser: Include generator marker in overload diagnostic span

    • parser: Reject TypeScript class modifiers in JavaScript

    • minifier: Correct indopedency when processing nested sequences

    • parser: Remove type-dependent tuple rest diagnostics

    • parser: Validate TypeScript type member separators

    • parser: Reject module syntax in script

    • parser: Report TS1243 for abstract async methods

    • parser: Report TS1242 for interfaces with abstract modifier

    • parser: Avoid duplicate index signature modifier diagnostic

    • regex: Decode escaped capturing group names

    • minifier: Fold conditional expressions with long sequences

    • isolated-declarations: Allow adding undefined to keyof parameter types

    • isolated-declarations: Support readonly parameter types

    • transformer/explicit-resource-management: Transform classic for loop using declarations

    • minifier: Preserve sibling declarations in arguments copy rewrite

    • transformer/explicit-resource-management: Lower using in catch and finally

    Performance

    • minifier: Small performance improvement when merging imports

    • codegen: Pre-allocate sourcemap builder vectors

    • minifier: Update expressions in place in merge_import_export

  3. 0.152.0

    28 September 2026
    str: Add JSStr, JSChar and JSStrBuilder types

    Features

    • str: Add JSStr, JSChar and JSStrBuilder types

    • regular_expression: Support buffer boundary assertions

    • transform-react: Add reportDiagnostics option to expose recoverable React Compiler diagnostics

    • napi: Add threadless WASI builds

    Bug Fixes

    • minifier: Preserve iife with directives

    • str: Correct clippy reason

    • formatter/jsdoc: More alignment with original plugin

    • parser: Handle HTML comment values

    • parser: Reject module export names containing a lone surrogate

    • codegen: Remove redundant dollar escapes in minified templates

    Performance

    • minifier: Fold logical expressions in place

    • minifier: Avoid creation of empty block when folding try finally

    • minifier: Update boolean context expressions in place

    • minifier: Take return argument directly when converting arrow fn

    • minifier: Reduce allocations when minimizing assignments

    • minifier: Use ident hashes for catch var and arguments

    • minifier: Use ident hashes in label comparison

  4. 0.151.0

    21 September 2026
    coverage: Support new TypeScript fixture layout

    Features

    • coverage: Support new TypeScript fixture layout

    Bug Fixes

    • minifier: Add missing negation for boolean literal

    • transformer: Skip enum reverse mappings for syntactic string initializers

    • parser: Preserve reparsed await tokens

    • transformer: Skip recovered using loop patterns

    • parser: Recover await using object binding patterns

    • parser: Reject invalid modifiers on import aliases

    Performance

    • minifier: Preallocate stmts vec size to avoid excesive reallocs

    • semantic: Reuse identifier hashes in enum member lookups

    • minifier: Reduce allocations when processing if statements

  5. 0.150.0

    14 September 2026
    ecma: Define math constants as known globals and resolve their types

    Features

    • ecma: Define math constants as known globals and resolve their types

    • codegen: Add ascii_only option

    • minifier: Negate binary comparison for typeof x < 'u'

    Bug Fixes

    • parser: Reject accessor modifiers on methods

    • parser: Reject readonly modifier on constructors

    • parser: Handle escaped let in for loops

    • parser: Recognize annotated empty arrows in conditionals

    • parser: Classify Unicode line breaks in block comments

    • transformer: Preserve receivers in private optional chains

    • parser: Reject escaped import-phase keywords

    • parser: Recognize contextual binding names in type lookaheads

    • parser: Require arrow separator in TypeScript function types

    • parser: Disambiguate await using in for initializers

    • parser: Allow parenthesized JSX comma expressions with preserve_parens=false

    • parser: Reject return types on constructor overloads

    • parser: Validate await context for await using declarations

    • parser: Disallow in expressions in using for-loop initializers

    • parser: Allow escaped type names in import and export specifiers

    • parser: Reject async modifiers on class fields

    • parser: Require comma after TypeScript this parameter

    • codegen: Preserve instantiation expression precedence

    • parser: Allow in expressions in class static blocks

    • packages/codegen: Preserve private-in right operand precedence

    • packages/codegen: Preserve in restriction through yield arguments

    • parser: Validate TS named tuple rest elements

    • codegen: Preserve in restriction through yield arguments

    • codegen: Preserve private-in right operand precedence

    • parser: Allow escaped type default import bindings

  6. 0.149.0

    7 September 2026
    parser: Rename panicked to fatal_error in ParserReturn

    Breaking changes

    • breaking

      parser: Rename panicked to fatal_error in ParserReturn

    • breaking

      parser: Reduce MAX_LEN to 256 bytes below u32::MAX

    Features

    • allocator: Construct ArenaHashSet with any Default hasher

    • minifier: Process of return/throw in non last position and fix async * inlining

    • parser: Distinguish unapplied no-side-effects comments

    • ast: Add GetNodeId trait

    Bug Fixes

    • codegen: Order accessibility before abstract on accessors

    • transformer/class-properties: Keep private methods in class-expression scope

    • parser: Require a string source after export ... from

    • codegen: Print matching quoted import names as identifiers

    • codegen: Preserve private-in left operand precedence

    • parser: Correctly round large nondecimal literals

    • transformer: Gate async-only rewrites by owning transform

    • transformer: Limit arguments capture to lowered async functions

    • transformer: Gate this capture by owning async transform

    • minifier: Mangle class private members in Node API

    • semantic: Detect duplicate private class elements

    • semantic: Reject await and yield in rest parameter defaults

    • semantic: Reject jumps across arrow functions

    • parser: Do not omit < token opening type argument list

    • ast_visit: Add the trimmed prefix length to translation table offsets

    • parser: Do not re-lex template substitution tail after fatal error

    • parser: Fix debug assert failure when lexer error with tokens enabled

    • allocator: Gate Allocator::data_end_ptr behind fixed_size feature

    • ecmascript: Avoid charAt panic on 32-bit

    • runtime: Remove stale regenerator exports

    Performance

  7. 0.148.0

    1 September 2026
    allocator: Make Allocator::cursor_ptr and data_end_ptr private

    Breaking changes

    • breaking

      allocator: Make Allocator::cursor_ptr and data_end_ptr private

    Features

    • minifier: Drop cases whose condition is statically false

    • minifier: Invert !0 and !1 in place for boolean context to 1 and 0

    • minifier: Expand fold leading assignments into the var decl

    • minifier: Expand de morgan's optimization to allow move of !

    • parser: Attach all comments to nodes

    Bug Fixes

    • semantic: Skip body bindings in type parameters and this param

    • semantic: Validate chained continue labels

    • ecmascript: Math.round only exact half ties

    • minifier: Coerce omitted indexOf search argument

    • ecmascript: Trim trailing whitespace in string to number

    • transformer/object-rest: Lower multiple declarators correctly

    • parser: Avoid panic on escaped string export names

    • linter: Clamp invalid JS plugin locations

    • semantic: Skip function body bindings in parameters

    • transform-react: Match Babel diagnostic reporting

    • parser: Correctly classify unapplied pure annotations

    • linter/plugins: Alter method for obtaining mutable Program when sending AST to JS plugins

    • regular_expression: Allow oversized decimal escape for Annex B

    • regular_expression: Reject oversized backreferences

    Performance

    • diagnostics: Use fixed ANSI styles

    • packages/codegen: Flatten output in chunks

    • packages/codegen: Faster string flattening

    • packages/codegen: Ensure indent strings are flattened

    • packages/codegen: Store mapping positions in an Int32Array

  8. 0.147.0

    24 August 2026
    minifier: Fold switch stmt whose parent is not block stmt

    Features

    • minifier: Fold switch stmt whose parent is not block stmt

    Bug Fixes

    • codegen: Require sourcemap for example

    • estree: Include decorators in FormalParameterRest spans

    • minifier: Avoid merging if to for in sloppy mode when containing function declaration

    • rust: Address nightly deprecations

    • codegen: Only add mapping names for PrivateIdentifiers which have changed

    • parser: Track irregular line terminators in trivia

    • minifier: Avoid merging if to for when the body contains a function declaration

    • codegen: Print # before private identifier in TS signature key

    • minifier: Keep unary + when the other operand has side effects

    Performance

    • packages/codegen: Remove node param from write and markMap functions in sourcemap builds

    • packages/codegen: Pass start and end to write and mark functions

    • packages/codegen: Replace write calls with writeIdent

    • packages/codegen: Remove last param from writeWithMapNamed

    • packages/codegen: Eagerly initialize mapNames

    • packages/codegen: Split recording mappings into multiple functions

    • packages/codegen: Reduce property lookups

    • packages/codegen: Combine condition checks

    • packages/codegen: Add functions for writing/marking unnamed mappings

    • codegen: Avoid allocations for single comment anchors

    • minifier: Do not rebuild expression when substituting void to null

    • packages/codegen: Merge mark and write calls in printImportAttributes

    • packages/codegen: Remove node param from printString and printNonNegativeFloat

    • packages/codegen: printNonNegativeFloat write mapping directly

    • minifier: Avoid creation of unnecessary conditional expressions

    • packages/codegen: Remove lastWasPostfixClose

  9. 0.146.0

    19 August 2026
    minifier: Improve negation of expressions in boolean context

    Features

    • minifier: Improve negation of expressions in boolean context

    Bug Fixes

    • codegen: Narrow printSync input type

    • isolated-declarations: Preserve unresolved parameter types

    • codegen: Remove deprecated test APIs

    • codegen: Align enum template sourcemaps

    Performance

    • packages/codegen: Check sourceText only once

    • minifier: Unwrap all unary exprs without creating dummy expressions

    • packages/codegen: Remove loop from growMappingBuffer

    • packages/codegen: Remove redundant branch

    • packages/sourcemap: Make location passed to recordSourceMapping always a number

    • packages/codegen: Take named-mapping only code off hot path in recordSourceMapping

    • packages/codegen: Remove redundant setting of last in printImportAttributes and printIf

    • packages/codegen: Combine 2 writes in printJSXElement

    • packages/codegen: Remove redundant mapping from printParams

  10. 0.145.0

    18 August 2026
    packages/codegen: printSync return an object

    Breaking changes

    • breaking

      packages/codegen: printSync return an object

    Features

    • packages/codegen: Alter capitalization of sourceFilename option

    • packages/codegen: Add full source map support

    • napi/minify: Expose property name mangling options

    • minifier: Add property name mangling

    • mangler: Deduplicate private accessor names

    • napi: Add Relay transform plugin

    • codegen: Add oxc-codegen package

    Bug Fixes

    • codegen: Validate sourcemap options

    • react_compiler: Skip node_modules by default

    • minifier: Drop side-effect-free additions

    • napi/minify: Accept RegExp for property filters

    • codegen: Reject invalid indent options

    • isolated-declarations: Preserve undefined for defaulted any

    • codegen: Preserve property key annotations

    • minifier: Model uninitialized module vars as undefined

    • ecmascript: Fold ** with Number::exponentiate, not IEEE pow

    • isolated-declarations: Handle ambient expando properties

    • react-compiler: Standardize diagnostics

    • parser: Reject initialized lexical declarations in for-in

    • parser: Forbid type parameters on quoted constructors

    • react-compiler: Use Babel v1 validation defaults

    • napi: Disable reuseWorker in browser bindings

    • react_compiler: Preserve JSX import source pragmas

    • semantic: Respect shadowed Infinity and NaN in enum evaluation

    • minifier: Keep variable declaration initilized with class when keepNames is enabled

    • minifier: Keep side effects when rotating bitwise operands

Show 4 earlier releases
  1. 0.144.0

    10 August 2026
    ast: Group class heritage into ClassHeritage

    Breaking changes

    • breaking

      ast: Group class heritage into ClassHeritage

    • breaking

      ast: Narrow TSInterfaceHeritage::expression to TSTypeName

    • breaking

      ast: Remove duplicated VariableDeclarator::kind

    • breaking

      ast: Split TS external modules & Namespace Declarations

    Features

    • napi: Restructure React transform options

    • allocator: Add ArenaVec::push_mut

    Bug Fixes

    • codegen: Wrap string literal in parens after directives

    • codegen: Preserve cast parentheses in conditional tests

    • codegen: Preserve satisfies parentheses before bitwise operators

    • minifier: Avoid unsafe return removal in labeled blocks

    • parser: Preserve terminal license comments

    • transform_react: Downgrade nonfatal compiler diagnostics

    • react_compiler: Disable exhaustive memo validation by default

    • parser: Reject comma expressions in class fields

    • react_compiler: Preserve hook spans for React Refresh

    • parser: Reset auto-accessor initializer context

    • parser: Reject trailing tokens in Parser::parse_expression

    • minifier: Preserve Annex B labeled-function bindings in implicit-return rewrite

    • parser: Report TS1035 for quoted module names

    • semantic: Report module declaration diagnostics

    • napi: Omit parser header from WASI declarations

    Performance

    • semantic: Avoid allocation in class overload check

    • parser: Optimize trailing comma tracking

    • minifier: Short-circuit scope check when alternate already determines result

  2. 0.143.0

    3 August 2026
    semantic: Return borrowed JSDoc so the parse cache works

    Breaking changes

    • breaking

      semantic: Return borrowed JSDoc so the parse cache works

    • breaking

      allocator: Remove ArenaBox::dangling method

    • breaking

      ast: Store single parameter in TSIndexSignature::parameter

    • breaking

      ast: Change TSIndexSignatureName::name to Ident

    • breaking

      ast: Introduce ExportDeclaration, ExportFromDeclaration

    • breaking

      ast: Introduce ArrowFunctionBody enum

    • breaking

      ast: Remove conversion to Box from AST builder methods

    Features

    • allocator: Make Box Send + Sync when the type it contains is

    • ast: Derive GetSpan for Comment

    • ast_tools: Generate minifier scope collector

    • ecmascript: Skip transparent TS expressions

    • napi: Add React Compiler transform binding

    • minifier: Fold safe integer exponentiation

    • minifier: Enable termination statement optimization for do while

    • minifier: Fold safe integer division and remainder

    Bug Fixes

    • minifier: Preserve if-chain idempotency and correct side effects when alternate should not be moved

    • ecmascript: Do not treat lone-surrogate strings as constants

    • isolated-declarations: Strip re-export attributes

    • parser: Report export imports in namespaces

    • react_compiler: Preserve nonfatal diagnostics

    • react_compiler: Match eslint suppression gating

    • react_compiler: Track catch block declarations

    • minifier: Fold typeof comparisons with known object strings

    • minifier: Keep typeof foo == ['object'] as-is

    • ast: Custom AST builder methods take IntoIn<ArenaBox> where child method does

    • minifier: Respect targets when folding RegExp source

    Performance

  3. 0.142.0

    27 July 2026
    ast: Tighten bound on AstBuild trait

    Breaking changes

    • breaking

      ast: Tighten bound on AstBuild trait

    Features

    • minifier: Fold parenthesized boolean ternary tests

    • minifier: Fold sequence branches in boolean ternaries

    • ast_visit: Add VisitJsMut visitor

    • minifier: Add new IsTerminated trait and use it in exit-point optimization

    • minifier: Shorten integer zero comparisons

    • minifier: Convert switch with one case to if statement

    • str: Add static_str! macro

    • parser: Emit error for type args in JS files

    • ast: Re-export Ident from oxc_ast crate

    • oxc: Re-export oxc_str types from oxc crate

    • ast_visit: Add Utf8ToUtf16::convert_program_and_comments

    Bug Fixes

    • minifier: Optimize termination statements in labeled statements

    • minifier: Avoid longer numeric constant folds

    • minifier: Keep side effects in typeof comparisons

    • minifier: Keep side effects when compressing == true to == 1

    • minifier: Keep side effects values in template literals

    • minifier: Keep side effects when folding Number call

    • react-compiler: Preserve warning bailouts

    • codegen: Preserve orphaned file coverage comments

    • parser: Clarify return in class static blocks

    • str: Fix hygiene of format_ident! and format_str! macros

    • ecmascript: Keep side effects in parent of toString calls

    • ecmascript: Detect side effects in unused arguments to charCodeAt

    • parser: Use specific for-await diagnostic

    • parser: Report for-await in non-async functions

    • minifier: Avoid reordering this in nested class keys

  4. 0.141.0

    21 July 2026
    str: Move IdentBuildHasher to oxc_str crate

    Breaking changes

    • breaking

      str: Move IdentBuildHasher to oxc_str crate

    • breaking

      ast: Split MetaProperty into ImportMeta and NewTarget

    Features

    • minifier: Merge combined assign expression in conditional expression

    • minifier: Merge assign expression against member expression in conditional expression

    • allocator: Add Vec::from_raw_parts_in

    • semantic: Add context notes for strict assignments

    • data_structures: Add implements! macro

    • data_structures: Add const_str_eq function

    • semantic: Add context notes for reserved keyword diagnostic

    • parser: More friendly error for spread element in dynamic imports

    • minfier: Drop last break from last switch case

    • minifier: Remove unreachable recursive functions

    • ast: Allow NONE to be passed to AST builder methods where Option<ArenaVec> is expected

    • ast: Accept arrays for ArenaVec params of AST builder methods

    • allocator: Implement FromIn for array to Vec conversion

    • track-memory-allocations: Track heap deallocs, alloc bytes, and peak growth

    • syntax,transformer: Move JSX entity decoder to oxc_syntax

    • str: Export Str as ArenaStr

    • minifier: Expand switch optimiation to remove empty cases

    • parser: Improve diagnostics for unparenthesized LHS on exponential expr

    • minifier: Fold arithmetic over undefined and null operands

    • minifier: Drop empty switch statements

    • ast_visit: Generate VisitJs visitor that skips TypeScript type-space

    • parser: Add ParseOptions::enable_ident_hashes

    Bug Fixes

    • minifier: Avoid reordering this before super

    • minifier: Preserve RegExp feature detection

    • semantic: Allow arguments in ambient declarations

All 148 releases

Quality and security signals

What npm and deps.dev say about the latest release. Signals, not a verdict.

Reading npm and deps.devโ€ฆ

Registry facts last checked 15 October 2026. Releases and advisories last read 15 October 2026.

Know when your own dependencies move

Inlinr tracks your coding time automatically. Switch dependency tracking on for a project and it reads that repository's manifest to show what is behind and what has been deprecated โ€” off by default, one project at a time.