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.
- package/README.md +15 -15
- package/dist/eleva-plugins.cjs.js +1763 -2160
- package/dist/eleva-plugins.cjs.js.map +1 -1
- package/dist/eleva-plugins.esm.js +1763 -2160
- package/dist/eleva-plugins.esm.js.map +1 -1
- package/dist/eleva-plugins.umd.js +1763 -2160
- package/dist/eleva-plugins.umd.js.map +1 -1
- package/dist/eleva-plugins.umd.min.js +1 -2
- package/dist/eleva-plugins.umd.min.js.map +1 -1
- package/dist/eleva.cjs.js +626 -783
- package/dist/eleva.cjs.js.map +1 -1
- package/dist/eleva.d.ts +108 -92
- package/dist/eleva.esm.js +626 -783
- package/dist/eleva.esm.js.map +1 -1
- package/dist/eleva.umd.js +626 -783
- package/dist/eleva.umd.js.map +1 -1
- package/dist/eleva.umd.min.js +1 -2
- package/dist/eleva.umd.min.js.map +1 -1
- package/dist/plugins/attr.umd.js +117 -153
- package/dist/plugins/attr.umd.js.map +1 -1
- package/dist/plugins/attr.umd.min.js +1 -2
- package/dist/plugins/attr.umd.min.js.map +1 -1
- package/dist/plugins/props.umd.js +346 -398
- package/dist/plugins/props.umd.js.map +1 -1
- package/dist/plugins/props.umd.min.js +1 -2
- package/dist/plugins/props.umd.min.js.map +1 -1
- package/dist/plugins/router.umd.js +889 -1114
- package/dist/plugins/router.umd.js.map +1 -1
- package/dist/plugins/router.umd.min.js +1 -2
- package/dist/plugins/router.umd.min.js.map +1 -1
- package/dist/plugins/store.umd.js +412 -496
- package/dist/plugins/store.umd.js.map +1 -1
- package/dist/plugins/store.umd.min.js +1 -2
- package/dist/plugins/store.umd.min.js.map +1 -1
- package/package.json +5 -5
- package/src/core/Eleva.js +24 -6
- package/src/modules/Emitter.js +5 -6
- package/src/modules/Renderer.js +182 -160
- package/src/modules/Signal.js +16 -28
- package/src/modules/TemplateEngine.js +21 -2
- package/src/plugins/Attr.js +7 -12
- package/src/plugins/Props.js +29 -20
- package/src/plugins/Router.js +1 -1
- package/src/plugins/Store.js +1 -1
- package/types/core/Eleva.d.ts +3 -2
- package/types/core/Eleva.d.ts.map +1 -1
- package/types/modules/Emitter.d.ts.map +1 -1
- package/types/modules/Renderer.d.ts +85 -88
- package/types/modules/Renderer.d.ts.map +1 -1
- package/types/modules/Signal.d.ts +11 -16
- package/types/modules/Signal.d.ts.map +1 -1
- package/types/modules/TemplateEngine.d.ts +10 -1
- package/types/modules/TemplateEngine.d.ts.map +1 -1
- package/types/plugins/Attr.d.ts.map +1 -1
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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)
|
|
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) | ~
|
|
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.
|
|
289
|
-
- **Competitive initial render** (~
|
|
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 | ~
|
|
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
|
|
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.
|
|
802
|
+
- Attr: ~2.2KB (minified)
|
|
803
803
|
- Props: ~4.2KB (minified)
|
|
804
804
|
- Router: ~15KB (minified)
|
|
805
805
|
- Store: ~6KB (minified)
|