eleva 1.0.0-rc.11 → 1.0.0-rc.13

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 (55) hide show
  1. package/README.md +15 -15
  2. package/dist/eleva-plugins.cjs.js +1763 -2160
  3. package/dist/eleva-plugins.cjs.js.map +1 -1
  4. package/dist/eleva-plugins.esm.js +1763 -2160
  5. package/dist/eleva-plugins.esm.js.map +1 -1
  6. package/dist/eleva-plugins.umd.js +1763 -2160
  7. package/dist/eleva-plugins.umd.js.map +1 -1
  8. package/dist/eleva-plugins.umd.min.js +1 -2
  9. package/dist/eleva-plugins.umd.min.js.map +1 -1
  10. package/dist/eleva.cjs.js +626 -783
  11. package/dist/eleva.cjs.js.map +1 -1
  12. package/dist/eleva.d.ts +108 -92
  13. package/dist/eleva.esm.js +626 -783
  14. package/dist/eleva.esm.js.map +1 -1
  15. package/dist/eleva.umd.js +626 -783
  16. package/dist/eleva.umd.js.map +1 -1
  17. package/dist/eleva.umd.min.js +1 -2
  18. package/dist/eleva.umd.min.js.map +1 -1
  19. package/dist/plugins/attr.umd.js +117 -153
  20. package/dist/plugins/attr.umd.js.map +1 -1
  21. package/dist/plugins/attr.umd.min.js +1 -2
  22. package/dist/plugins/attr.umd.min.js.map +1 -1
  23. package/dist/plugins/props.umd.js +346 -398
  24. package/dist/plugins/props.umd.js.map +1 -1
  25. package/dist/plugins/props.umd.min.js +1 -2
  26. package/dist/plugins/props.umd.min.js.map +1 -1
  27. package/dist/plugins/router.umd.js +889 -1114
  28. package/dist/plugins/router.umd.js.map +1 -1
  29. package/dist/plugins/router.umd.min.js +1 -2
  30. package/dist/plugins/router.umd.min.js.map +1 -1
  31. package/dist/plugins/store.umd.js +412 -496
  32. package/dist/plugins/store.umd.js.map +1 -1
  33. package/dist/plugins/store.umd.min.js +1 -2
  34. package/dist/plugins/store.umd.min.js.map +1 -1
  35. package/package.json +5 -5
  36. package/src/core/Eleva.js +24 -6
  37. package/src/modules/Emitter.js +5 -6
  38. package/src/modules/Renderer.js +182 -160
  39. package/src/modules/Signal.js +16 -28
  40. package/src/modules/TemplateEngine.js +21 -2
  41. package/src/plugins/Attr.js +7 -12
  42. package/src/plugins/Props.js +29 -20
  43. package/src/plugins/Router.js +1 -1
  44. package/src/plugins/Store.js +1 -1
  45. package/types/core/Eleva.d.ts +3 -2
  46. package/types/core/Eleva.d.ts.map +1 -1
  47. package/types/modules/Emitter.d.ts.map +1 -1
  48. package/types/modules/Renderer.d.ts +85 -88
  49. package/types/modules/Renderer.d.ts.map +1 -1
  50. package/types/modules/Signal.d.ts +11 -16
  51. package/types/modules/Signal.d.ts.map +1 -1
  52. package/types/modules/TemplateEngine.d.ts +10 -1
  53. package/types/modules/TemplateEngine.d.ts.map +1 -1
  54. package/types/plugins/Attr.d.ts.map +1 -1
  55. package/types/plugins/Props.d.ts.map +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Eleva.js 🚀
2
2
 
3
- > **Version:** `1.0.0-rc.11` | **Size:** ~6KB min (~2.5KB gzip) | **Dependencies:** Zero | **TypeScript:** Yes
3
+ > **Version:** `1.0.0-rc.12` | **Size:** ~6KB min (~2.3KB gzip) | **Dependencies:** Zero | **TypeScript:** Yes
4
4
 
5
5
  **Best DX for Building the Best UX** — Pure JavaScript, Pure Performance, Simply Elegant.
6
6
 
@@ -42,9 +42,9 @@
42
42
  **A minimalist, lightweight, pure vanilla JavaScript frontend runtime framework.**
43
43
  _Designed for the best Developer Experience (DX) to help you build exceptional User Experiences (UX). Built with love for native JavaScript and a minimal core that can be extended through a powerful plugin system — because sometimes, less really is more!_ 😊
44
44
 
45
- > **Stability Notice**: This is `v1.0.0-rc.11` - The core functionality is stable. Seeking community feedback before the final v1.0.0 release.
45
+ > **Stability Notice**: This is `v1.0.0-rc.12` - The core functionality is stable. Seeking community feedback before the final v1.0.0 release.
46
46
 
47
- **Version:** `1.0.0-rc.11`
47
+ **Version:** `1.0.0-rc.12`
48
48
 
49
49
 
50
50
 
@@ -193,7 +193,7 @@ Eleva is built on a simple principle: **great DX leads to great UX**. When devel
193
193
  | **Pure JavaScript** | No JSX, no compilation — what you write is what runs |
194
194
  | **Instant Feedback** | Signal-based reactivity shows changes immediately |
195
195
  | **TypeScript Built-in** | Full autocomplete and type safety out of the box |
196
- | **Tiny Bundle** | ~2.5KB gzipped means instant page loads for your users |
196
+ | **Tiny Bundle** | ~2.3KB gzipped means instant page loads for your users |
197
197
 
198
198
  - **🎨 Craftsmanship:** Every line of code is written with care, keeping the framework lightweight, efficient, and easy to understand.
199
199
  - **🛠️ Developer-First:** Intuitive API and minimal core mean you spend less time wrestling with the framework and more time perfecting your UI.
@@ -242,7 +242,7 @@ Eleva is ideal for developers seeking a lightweight, flexible, and high-performa
242
242
 
243
243
  I believe in clear versioning that reflects the maturity of the project:
244
244
 
245
- - **Pre-release Versions (RC):** Release candidate versions like `1.0.0-rc.11` indicate the API is stable but still gathering community feedback before the final release.
245
+ - **Pre-release Versions (RC):** Release candidate versions like `1.0.0-rc.12` indicate the API is stable but still gathering community feedback before the final release.
246
246
  - **Semantic Versioning:** Once stable, I'll follow semantic versioning strictly to clearly communicate any breaking changes.
247
247
 
248
248
  ---
@@ -262,7 +262,7 @@ I follow [Semantic Versioning (SemVer)](https://semver.org/):
262
262
 
263
263
  Eleva is crafted for performance:
264
264
 
265
- - **Lightweight:** Approximately ~6 KB minified and ~2.5 KB gzipped.
265
+ - **Lightweight:** Approximately ~6 KB minified and ~2.3 KB gzipped.
266
266
  - **Efficient Reactivity:** Signal-based updates ensure only necessary DOM parts are updated.
267
267
  - **Optimized Diffing:** Renderer efficiently patches changes without the overhead of a virtual DOM.
268
268
  - **No Bloat:** Pure vanilla JavaScript with zero dependencies keeps your project nimble.
@@ -277,16 +277,16 @@ Benchmarks using [js-framework-benchmark](https://krausest.github.io/js-framewor
277
277
 
278
278
  | **Framework** | **Bundle Size (min+gzip)** | **Create 1K Rows** (ms) | **Partial Update** (ms) | **Memory** (MB) |
279
279
  | ----------------------------- | -------------------------- | ----------------------- | ----------------------- | --------------- |
280
- | **Eleva** (Direct DOM) | **~2.5 KB** | **~37** | ~97* | ~15 |
280
+ | **Eleva 1.0** (Direct DOM) | **~2.3 KB** | **~30** | ~105* | ~15 |
281
281
  | **React 19** (Virtual DOM) | ~44 KB | 40-70 | 10-20 | 2-5 |
282
- | **Vue 3.5** (Reactive) | ~35 KB | 25-45 | 5-15 | 2-4 |
282
+ | **Vue 3.5** (Reactive) | ~45 KB | 25-45 | 5-15 | 2-4 |
283
283
  | **Angular 19** (Signals) | ~90 KB | 50-80 | 15-25 | 3-6 |
284
284
 
285
285
  _*Eleva uses DOM diffing & patching, but templates generate HTML strings that require parsing. For large frequently-updating lists, use granular components or the `key` attribute for optimal diffing._
286
286
 
287
287
  **Eleva's Strengths:**
288
- - **Smallest bundle size** (~2.5 KB vs 35-90 KB)
289
- - **Competitive initial render** (~37ms for 1K rows)
288
+ - **Smallest bundle size** (~2.3 KB vs 44-90 KB)
289
+ - **Competitive initial render** (~30ms for 1K rows)
290
290
  - **Zero dependencies** and minimal runtime overhead
291
291
  - **Direct DOM diffing** without virtual DOM overhead
292
292
 
@@ -305,9 +305,9 @@ _*Eleva uses DOM diffing & patching, but templates generate HTML strings that re
305
305
 
306
306
  How does Eleva compare to popular JavaScript frameworks like React, Vue, Svelte, and Angular?
307
307
 
308
- | Feature | Eleva | React | Vue | Svelte | Angular |
309
- |---------|----------|-------|-----|--------|---------|
310
- | **Bundle Size** | ~6KB | ~42KB | ~34KB | ~2.5KB* | ~130KB |
308
+ | Feature | Eleva 1.0 | React 19 | Vue 3.5 | Svelte 5 | Angular 19 |
309
+ |---------|-----------|----------|---------|----------|------------|
310
+ | **Bundle Size** | ~6KB | ~44KB | ~45KB | ~3KB* | ~90KB |
311
311
  | **Dependencies** | 0 | 3+ | 0 | 0 | 10+ |
312
312
  | **Virtual DOM** | No | Yes | Yes | No | No |
313
313
  | **Reactivity** | Signals | useState/Hooks | Refs/Reactive | Compiler | Zone.js |
@@ -315,7 +315,7 @@ How does Eleva compare to popular JavaScript frameworks like React, Vue, Svelte,
315
315
  | **Build Required** | No | Yes | Optional | Yes | Yes |
316
316
  | **Learning Curve** | Low | Medium | Medium | Low | High |
317
317
 
318
- _*Svelte compiles away, so runtime is minimal but build step is required._
318
+ _*Svelte 5 compiles away with a ~3KB signals runtime, so bundle is minimal but build step is required._
319
319
 
320
320
  Eleva offers a refreshing alternative to frameworks like React, Vue, and Angular:
321
321
 
@@ -799,7 +799,7 @@ app.dispatch("increment"); // Dispatch actions globally
799
799
  - Core + All plugins: ~25KB (minified)
800
800
 
801
801
  **Individual Plugin Sizes:**
802
- - Attr: ~2.4KB (minified)
802
+ - Attr: ~2.2KB (minified)
803
803
  - Props: ~4.2KB (minified)
804
804
  - Router: ~15KB (minified)
805
805
  - Store: ~6KB (minified)