github oxc-project/oxc crates_v0.109.0
oxc crates_v0.109.0

latest releases: apps_v1.41.0, oxlint_v1.41.0, oxfmt_v0.26.0...
9 hours ago

💥 BREAKING CHANGES

  • ba9c750 span: [BREAKING] Use ModuleKind::CommonJS for .cjs and .cts file extensions (#18117) (Boshen)
  • 9135b0b ast: [BREAKING] Move scope from TSEnumDeclaration to TSEnumBody (#18058) (Boshen)

🚀 Features

  • 8a1cbbd parser: Add syntax errors for constructor declarations (#18220) (Boshen)
  • e2221e6 semantic: Store scope_id in Reference (#18053) (Dunqing)
  • 6e8fa80 napi/parser, napi/transform: Accept sourceType: "commonjs" (#18197) (overlookmotel)
  • 175b73a parser: Add ts error 1257 for TSTupleElement (#18146) (Sysix)
  • fa2ffe2 parser: Add ts error 1266 for TSTupleElement (#18145) (Sysix)
  • acf1aba parser: Add ts error 1265 for TSTupleElement (#18144) (Sysix)
  • 830b757 regular_expression: Add Unicode 17.0 script properties (#18140) (Boshen)
  • 92e27b4 parser: Reparse await expressions in unambiguous mode when ESM detected (#18139) (Boshen)
  • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)
  • 08dad63 span: Add sourceType: 'commonjs' support (#18089) (Boshen)
  • 3f83ded traverse: Add into_state and into_state_and_scoping methods to ReusableTraverseCtx (#18010) (Cole Leavitt)
  • d1016b9 minifier: Do not flip if/else when it would produce longer result (#17556) (Armano)
  • 9c6e344 minifier: Prune empty case before trailing default (#17994) (Boshen)
  • 6b29bd1 semantic/example: Add detailed references info (#17938) (camc314)

🐛 Bug Fixes

  • 808b7c3 semantic: Resolve qualified names to namespaces, not shadowing type parameters (#17929) (camc314)
  • 1b199af semantic: Report TS18019 for abstract modifier with private identifier (#18173) (Boshen)
  • 37482eb parser: Respect optional TSNamedTupleMember for ts error 1266 &1257 (#18178) (Sysix)
  • 2c6966d parser: Correct precedence handling for private-in expression (#18169) (Boshen)
  • 38e4b53 minifier: Validate RegExp patterns before marking as pure (#18125) (Boshen)
  • 91126a0 parser: Reparse all statements with await identifier in unambiguous mode (#18163) (Boshen)
  • c98e5b7 parser: Parse for (using of = ...) as using declaration (#18142) (Boshen)
  • 01d7b13 oxc_minifier: Enable sourcemap feature in dev mode (#18131) (Armano)
  • fb181cc semantic: Error on using at top level in scripts (#18090) (Boshen)
  • 2aae4fc linter: Fix stack overflow in no-unreachable rule on large files (#18077) (Boshen)
  • f69b6da mangler: Reserve names from eval-containing scopes (#18037) (camc314)
  • c8f847e minifier: Preserve return value of @__PURE__ IIFE in return statements (#18036) (camc314)
  • ee353e6 minifier: Skip inlining constant in scopes with eval (#17926) (camc314)
  • 7a0ca99 linter/plugins: Use correct ScriptKind for tokens (#17185) (Peter Wagenet)
  • 4c16ae7 codegen: Remove spaces around = in minified type parameter defaults (#17989) (Boshen)
  • a412103 parser: Improve diagnostics for double export (#17992) (Boshen)
  • 06bd17b codegen: Remove unnecessary double parentheses from satisfies expressions (#17986) (Boshen)
  • 1874765 codegen: Fix inconsistent multiline EOF comment formatting (#17983) (Boshen)
  • 2619c66 codegen: Remove leading whitespace from export statements after comments (#17982) (Boshen)
  • 4d9582d semantic: Allow arguments/eval as binding identifier names and identifier reference names in .d.ts (#17910) (Dunqing)

⚡ Performance

  • 91c143f mangler: Remove frequencies items if they are unused (#18183) (Dunqing)
  • 9af52c6 mangler: Turn off scope_tree_child_ids for SemanticBuilder (#18122) (Dunqing)
  • 46cd73d allocator: Add #[cold] annotations to error handling functions (#18181) (Boshen)
  • 8da684e allocator: Type-erase RawVec::finish_grow inner function (#18175) (Boshen)
  • 837edf6 transformer/typescript: Reduce scope_id() calls (#18097) (overlookmotel)
  • 8ee6f80 transformer/tagged-template: Add #[cold] hint to unlikely path (#18034) (overlookmotel)
  • 23449e0 transformer/tagged-template-transform: Improve performance (#15834) (Dunqing)

📚 Documentation

  • 17406b6 traverse: Update comment (#18079) (overlookmotel)
  • 06a96da semantic: Document with statement limitation in is_global_reference (#17996) (Boshen)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.