@solidjs/compiler 2.0.0-rc.8 → 2.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +3 -3
  2. package/package.json +7 -7
  3. package/types.d.ts +4 -2
package/README.md CHANGED
@@ -95,11 +95,11 @@ Scoped `<style>` blocks are compile-time only. The compiler removes the style el
95
95
 
96
96
  Solid rejects authored TSRX lazy destructuring (`&{ … }` / `&[ … ]`). Keep accessor calls and reactive property reads explicit in Solid source.
97
97
 
98
- Destructured bindings in keyed `@for` loops and `@catch` clauses stay deferred against Solid's item and error accessors, including nested patterns, defaults, computed keys, and rest.
98
+ Control-flow bindings pass through exactly as authored. `@for … index` and `@for … key` hand the callback the item as an accessor (and the index as an accessor under a custom key), and `@catch (err, reset)` receives Solid's `ErrorAccessor` — write `item()`, `i()`, `err()` as you would in JSX. Destructuring a binding in one of those positions is rejected with a diagnostic, since there is nothing to destructure; the default keyed `@for` item is a raw value and destructures as usual.
99
99
 
100
100
  The frontend uses the community [oxc-tsrx](https://github.com/tsrx-org/oxc) parser at a pinned revision. Statement containers can be used as function bodies, statements, expressions (`const x = @{ … }`), and JSX children or expression containers. See `documentation/tsrx/frontend-notes.md` in the repository for the full frontend notes.
101
101
 
102
- `projectTsrxForTypecheck(source, { filename })` is an experimental compiler-owned projection for editor and typecheck integrations. It returns independently typecheckable post-rewrite TSX without running the DOM/SSR/universal transforms, injecting collision-safe imports for generated Solid control-flow and dynamic-element helpers. The tooling-only path recovers common incomplete editor snapshots while normal compilation remains strict. The result also includes an authored `.tsrx` source map, exact equal-text `mappings`, processed `css`/`cssHash`, and parser-authored embedded CSS/raw-script regions. Mapping and embedded offsets use JavaScript UTF-16 string coordinates. The ranges deliberately omit generated-only text; host adapters such as Volar attach feature capabilities to them.
102
+ `projectTsrxForTypecheck(source, { filename })` is an experimental compiler-owned projection for editor and typecheck integrations. It returns independently typecheckable TSX without running the DOM/SSR/universal transforms, injecting collision-safe imports for generated Solid control-flow and dynamic-element helpers. The tooling-only path recovers common incomplete editor snapshots while normal compilation remains strict. The result also includes an authored `.tsrx` source map, exact equal-text `mappings`, processed `css`/`cssHash`, and parser-authored embedded CSS/raw-script regions. Mapping and embedded offsets use JavaScript UTF-16 string coordinates. The ranges deliberately omit generated-only text; host adapters such as Volar attach feature capabilities to them.
103
103
 
104
104
  ### Source maps
105
105
 
@@ -113,7 +113,7 @@ Pass `sourceMap: true` to receive a JSON source map string in `result.map`. For
113
113
  - `generate`: `"dom"`, `"ssr"`, `"universal"`, or `"dynamic"` (default `"dom"`)
114
114
  - `hydratable`
115
115
  - `dev`
116
- - `componentNames`: DOM output only — emit the source tag name as `createComponent`'s third argument (`createComponent(Home, props, "Home")`) so dev/observe runtimes label owners after minification; the production runtime ignores it
116
+ - `componentNames`: emit the source tag name as `createComponent`'s third argument (`createComponent(Home, props, "Home")`) so dev/observe runtimes label owners after minification; the production runtimes ignore it. DOM and SSR output (SSR keeps the `createComponent` call it otherwise inlines to `Comp(props)`); not universal or dynamic
117
117
  - `sourceMap`
118
118
  - `contextToCustomElements` (default `true`)
119
119
  - `delegateEvents`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@solidjs/compiler",
3
3
  "description": "Solid's native Oxc JSX compiler",
4
- "version": "2.0.0-rc.8",
4
+ "version": "2.0.0-rc.9",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -62,11 +62,11 @@
62
62
  "emnapi": "^1.11.3"
63
63
  },
64
64
  "optionalDependencies": {
65
- "@solidjs/compiler-darwin-x64": "2.0.0-rc.8",
66
- "@solidjs/compiler-darwin-arm64": "2.0.0-rc.8",
67
- "@solidjs/compiler-linux-x64-gnu": "2.0.0-rc.8",
68
- "@solidjs/compiler-linux-arm64-gnu": "2.0.0-rc.8",
69
- "@solidjs/compiler-win32-x64-msvc": "2.0.0-rc.8",
70
- "@solidjs/compiler-wasm32-wasi": "2.0.0-rc.8"
65
+ "@solidjs/compiler-darwin-x64": "2.0.0-rc.9",
66
+ "@solidjs/compiler-darwin-arm64": "2.0.0-rc.9",
67
+ "@solidjs/compiler-linux-x64-gnu": "2.0.0-rc.9",
68
+ "@solidjs/compiler-linux-arm64-gnu": "2.0.0-rc.9",
69
+ "@solidjs/compiler-win32-x64-msvc": "2.0.0-rc.9",
70
+ "@solidjs/compiler-wasm32-wasi": "2.0.0-rc.9"
71
71
  }
72
72
  }
package/types.d.ts CHANGED
@@ -15,8 +15,10 @@ export interface TransformOptions {
15
15
  /**
16
16
  * Emit the source tag name as a third `createComponent` argument
17
17
  * (`createComponent(Home, props, "Home")`) so dev/observe runtimes can
18
- * label owners after minification renames the function. DOM output only;
19
- * the production runtime ignores the argument.
18
+ * label owners after minification renames the function. DOM and SSR
19
+ * output (SSR keeps the `createComponent` call it would otherwise inline
20
+ * to `Comp(props)`); not universal or dynamic. The production runtimes
21
+ * ignore the argument.
20
22
  */
21
23
  componentNames?: boolean;
22
24
  sourceMap?: boolean;