@neuralfog/elemix-analyzer 0.9.0-dev.12 → 0.9.0-dev.14

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 (2) hide show
  1. package/CHANGELOG.md +28 -3
  2. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -3,11 +3,36 @@
3
3
  All notable changes to elemix and its companion packages are documented here. They
4
4
  share one version and release together, so they share one changelog. The format
5
5
  follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
6
- and this project adheres to [Semantic Versioning](https://semver.org/).
6
+ and this project adheres to [Semantic Versioning](https://semver.org/) when it suits me 😂😂😂.
7
7
 
8
8
  > The [Roadmap](https://github.com/neuralfog/elemix/blob/main/ROADMAP.md) is the full
9
9
  > log of development.
10
10
 
11
+ ## [0.9.0-dev.14] - 2026-07-08
12
+
13
+ ### Added
14
+
15
+ - Runtime: new `match` directive - exhaustive pattern matching for templates. Works on string unions, enums, and tagged object unions (each branch gets the narrowed value)
16
+ - Analyzer: flags a missing case, a wrong case, or a non-finite value (like a plain `string`). Use `choose` for open conditions
17
+
18
+ ### Changed
19
+
20
+ - Compiler: primitive `#state` backing fields are now prefixed (`#__count`) so they can't clash with your own private properties
21
+
22
+ ## [0.9.0-dev.13] - 2026-07-07
23
+
24
+ ### Added
25
+
26
+ - Runtime: `createApp(root?)` bootstrap with chainable `.config({ … })` / `.mount(target?)`; app-wide config lives on `window.__elemix__` (the root and both calls are optional, so `createApp().config({ … })` is valid)
27
+ - Runtime: automatic cloaking - elemix adopts a `[data-cloak], :not(:defined) { visibility: hidden }` stylesheet so elements don't flash before they upgrade and mount, with no per-app CSS; `config({ cloak: '…' })` replaces the rule with a custom CSS string
28
+ - Runtime: `config({ shadow: false })` makes components render to light DOM by default (shadow DOM stays the default otherwise)
29
+ - Compiler: new `#shadow` hint forces a shadow root even under a light-DOM default; it is mutually exclusive with `#no-shadow`, and using both on one component is a compile error
30
+ - Analyzer: reports `#shadow` and `#no-shadow` on the same component as an error
31
+
32
+ ### Changed
33
+
34
+ - Storybook: ditched lit - `@neuralfog/elemix-storybook` and the storybook config now run on `@storybook/html-vite` instead of `@storybook/web-components-vite`, dropping lit-html from the dependency tree entirely (elemix always rendered plain string/Node, so lit was never used)
35
+
11
36
  ## [0.9.0-dev.12] - 2026-06-30
12
37
 
13
38
  ### Fixed
@@ -37,7 +62,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
37
62
 
38
63
  ### Added
39
64
 
40
- - `@neuralfog/elemix-analyzer` static analysis tool for elemix
65
+ - `@neuralfog/elemix-analyzer` - static analysis tool for elemix
41
66
 
42
67
  ## [0.9.0-dev.7] - 2026-06-22
43
68
 
@@ -63,7 +88,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
63
88
 
64
89
  - Compiler hints: `#component`/`#tag`/`#form`/`#no-shadow`/`#styles`/`#state`/`#effect` + lifecycle `#before-mount`/`#mount`/`#dispose`
65
90
  - Reactive primitives in component `#state` (`count = 0` stays reactive)
66
- - Component inheritance hooks/effects chain through `super`, stylesheets merge
91
+ - Component inheritance - hooks/effects chain through `super`, stylesheets merge
67
92
  - Collections in reactive state (`Set`/`Map`/`WeakSet`/`WeakMap`), classes in state, `raw()` helper
68
93
  - Source maps back to the original source
69
94
  - Inlined compiler diagnostics with `--strict`; CLI version banner
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralfog/elemix-analyzer",
3
- "version": "0.9.0-dev.12",
3
+ "version": "0.9.0-dev.14",
4
4
  "description": "Template prop typechecker for Elemix (ec-analyzer)",
5
5
  "license": "MIT",
6
6
  "author": "brownhounds",
@@ -19,11 +19,11 @@
19
19
  "CHANGELOG.md"
20
20
  ],
21
21
  "optionalDependencies": {
22
- "@neuralfog/elemix-analyzer-linux-x64": "0.9.0-dev.12",
23
- "@neuralfog/elemix-analyzer-linux-arm64": "0.9.0-dev.12",
24
- "@neuralfog/elemix-analyzer-darwin-x64": "0.9.0-dev.12",
25
- "@neuralfog/elemix-analyzer-darwin-arm64": "0.9.0-dev.12",
26
- "@neuralfog/elemix-analyzer-win32-x64": "0.9.0-dev.12",
27
- "@neuralfog/elemix-analyzer-win32-arm64": "0.9.0-dev.12"
22
+ "@neuralfog/elemix-analyzer-linux-x64": "0.9.0-dev.14",
23
+ "@neuralfog/elemix-analyzer-linux-arm64": "0.9.0-dev.14",
24
+ "@neuralfog/elemix-analyzer-darwin-x64": "0.9.0-dev.14",
25
+ "@neuralfog/elemix-analyzer-darwin-arm64": "0.9.0-dev.14",
26
+ "@neuralfog/elemix-analyzer-win32-x64": "0.9.0-dev.14",
27
+ "@neuralfog/elemix-analyzer-win32-arm64": "0.9.0-dev.14"
28
28
  }
29
29
  }