@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.
- package/CHANGELOG.md +28 -3
- 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`
|
|
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
|
|
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.
|
|
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.
|
|
23
|
-
"@neuralfog/elemix-analyzer-linux-arm64": "0.9.0-dev.
|
|
24
|
-
"@neuralfog/elemix-analyzer-darwin-x64": "0.9.0-dev.
|
|
25
|
-
"@neuralfog/elemix-analyzer-darwin-arm64": "0.9.0-dev.
|
|
26
|
-
"@neuralfog/elemix-analyzer-win32-x64": "0.9.0-dev.
|
|
27
|
-
"@neuralfog/elemix-analyzer-win32-arm64": "0.9.0-dev.
|
|
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
|
}
|