Repository navigation
v0.19.0
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). @forheaders: a parenthesized iterable, index or key works in an@forwithkeyorindex(#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 itstypeArguments(#153). - Node shapes: signatures and function types name their fields
parametersandtypeAnnotation, a type parameter's missing constraint and default areundefined, and a JSX member name hascomputed: 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.
🩹 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
- Jack Shelton me@jackshelton.com