Skip to content

v0.19.0

Choose a tag to compare

@thejackshelton thejackshelton released this 30 Sep 19:12
· 126 commits to main since this release

Highlights

@tsrx/oxc-core-compat reads every source in leonidaz's @tsrx/core 0.5.2 conformance reports #145 to #153 the way core does:

  • JSX text: a > in JSX text, and @else/@case-style words no control owns, are text (#145, #146).
  • Shorthand attributes {name} work in every JSX and on a dynamic tag (#147, #148).
  • Control-flow expressions: one can start a larger expression, like @if (…) {…} || 'Loading', or end the file (#149).
  • Return types: a template body @{ can follow a return type that ends in type arguments, like (): Element<'div'> @{ (#150).
  • @for headers: a parenthesized iterable, index or key works in an @for with key or index (#151).
  • Signatures: a call or construct signature's type parameters, and a function type's, are types, not JSX: <P>(props: P): void (#152).
  • JSX type arguments: <List<string> /> has its typeArguments (#153).
  • Node shapes: signatures and function types name their fields parameters and typeAnnotation, a type parameter's missing constraint and default are undefined, and a JSX member name has computed: false, as in core (#164).

Across the 733 .tsrx files in the Ripple and octane repositories, no file parses with one of core and oxc but not the other.

compare changes

🩹 Fixes

  • parser: Read a > and an unowned branch keyword in JSX text as text, as @tsrx/core 0.5.2 does (#145, #146) (#145, #146)
  • parser: Read a shorthand attribute in every JSX and on a dynamic tag, as @tsrx/core 0.5.2 does (#147, #148) (#147, #148)
  • parser: Decode a shorthand name's escapes, and fail a bad or keyword escape as core does (96e9304)
  • parser: Let an escaped combining mark or ID scalar continue a shorthand name (2be5942)
  • parser: Read a control-flow expression that starts a larger expression, as @tsrx/core 0.5.2 does (#149)
  • parser: Read type arguments on a JSX element and a signature's type parameters, as @tsrx/core 0.5.2 does (#152, #153) (#152, #153)
  • parser: Read a > in a template literal type argument as text (2a02fbc)
  • compat: Give signatures, function types, type parameters, and JSX member names core's shape, as @tsrx/core 0.5.2 does (7ce11c3)
  • parser: Commit a typed element that leads its line after a statement (f4a7ec6)
  • parser: Read a parenthesized iterable, index, or key in an @for with key or index, as @tsrx/core 0.5.2 does (#151)
  • parser: Read a template body after a return type that ends in type arguments, as @tsrx/core 0.5.2 does (#150)
  • parser: Find a parameter list after any method name, and read import types in a return type (#150)

✅ Tests

  • Close the #149 subscript test that the rebase onto #161 joined to the #153 helpers (#149, #161, #153)
  • parser: Pin that inner parentheses stay inside an @for header value's span (#151)

🤖 CI

  • Close a superseded wasm pin pull request when a newer pin opens (b582033)

📋 Other changes

Commits changelogen could not classify, oldest first. They are here because a
release note that hides most of the history is not a release note.

  • fix(parser): read a > and an unowned branch keyword in JSX text as text, as @tsrx/core 0.5.2 does (#145, #146) (b3eb9db)
  • Merge pull request #156 from tsrx-org/fix/jsx-text-gt-and-control-words (60c1d62)
  • fix(parser): read a shorthand attribute in every JSX and on a dynamic tag, as @tsrx/core 0.5.2 does (#147, #148) (976c685)
  • Merge pull request #158 from tsrx-org/fix/shorthand-attributes (011e3a6)
  • site: pin wasm demo engine 011e3a6 (61a4e17)
  • Merge pull request #159 from tsrx-org/site/wasm-pin-011e3a6 (0618739)
  • fix(parser): read a control-flow expression that starts a larger expression, as @tsrx/core 0.5.2 does (#149) (5423592)
  • Merge pull request #161 from tsrx-org/fix/control-expression-leading-operand (fd4429e)
  • fix(parser): read type arguments on a JSX element and a signature's type parameters, as @tsrx/core 0.5.2 does (#152, #153) (9cacfe8)
  • test: close the #149 subscript test that the rebase onto #161 joined to the #153 helpers (bade639)
  • Merge pull request #164 from tsrx-org/fix/core-shape-gaps (b5f9b50)
  • fix(parser): read a parenthesized iterable, index, or key in an @for with key or index, as @tsrx/core 0.5.2 does (#151) (7053036)
  • test(parser): pin that inner parentheses stay inside an @for header value's span (#151) (079b50a)
  • Merge pull request #163 from tsrx-org/fix/for-header-parenthesized-values (84bacc7)
  • Merge remote-tracking branch 'origin/main' into fix/type-arguments-and-signatures (ce5922a)
  • Merge pull request #160 from tsrx-org/fix/type-arguments-and-signatures (686afc6)
  • fix(parser): read a template body after a return type that ends in type arguments, as @tsrx/core 0.5.2 does (#150) (e875576)
  • Merge pull request #168 from tsrx-org/ci/close-superseded-pins (e06ad10)
  • site: pin wasm demo engine e06ad10 (dae370a)
  • Merge pull request #170 from tsrx-org/site/wasm-pin-e06ad10 (ea90a2b)
  • fix(parser): find a parameter list after any method name, and read import types in a return type (#150) (25f1068)
  • Merge pull request #162 from tsrx-org/fix/return-type-arguments-before-template (16f96ec)

❤️ Contributors