eleva 1.0.1 → 1.1.0

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 (97) hide show
  1. package/README.md +21 -10
  2. package/dist/{eleva-plugins.cjs.js → eleva-plugins.cjs} +1002 -292
  3. package/dist/eleva-plugins.cjs.map +1 -0
  4. package/dist/eleva-plugins.d.cts +1352 -0
  5. package/dist/eleva-plugins.d.cts.map +1 -0
  6. package/dist/eleva-plugins.d.ts +1352 -0
  7. package/dist/eleva-plugins.d.ts.map +1 -0
  8. package/dist/{eleva-plugins.esm.js → eleva-plugins.js} +1002 -292
  9. package/dist/eleva-plugins.js.map +1 -0
  10. package/dist/eleva-plugins.umd.js +1001 -291
  11. package/dist/eleva-plugins.umd.js.map +1 -1
  12. package/dist/eleva-plugins.umd.min.js +1 -1
  13. package/dist/eleva-plugins.umd.min.js.map +1 -1
  14. package/dist/{eleva.cjs.js → eleva.cjs} +421 -191
  15. package/dist/eleva.cjs.map +1 -0
  16. package/dist/eleva.d.cts +1329 -0
  17. package/dist/eleva.d.cts.map +1 -0
  18. package/dist/eleva.d.ts +473 -226
  19. package/dist/eleva.d.ts.map +1 -0
  20. package/dist/{eleva.esm.js → eleva.js} +422 -192
  21. package/dist/eleva.js.map +1 -0
  22. package/dist/eleva.umd.js +420 -190
  23. package/dist/eleva.umd.js.map +1 -1
  24. package/dist/eleva.umd.min.js +1 -1
  25. package/dist/eleva.umd.min.js.map +1 -1
  26. package/dist/plugins/attr.cjs +279 -0
  27. package/dist/plugins/attr.cjs.map +1 -0
  28. package/dist/plugins/attr.d.cts +101 -0
  29. package/dist/plugins/attr.d.cts.map +1 -0
  30. package/dist/plugins/attr.d.ts +101 -0
  31. package/dist/plugins/attr.d.ts.map +1 -0
  32. package/dist/plugins/attr.js +276 -0
  33. package/dist/plugins/attr.js.map +1 -0
  34. package/dist/plugins/attr.umd.js +111 -22
  35. package/dist/plugins/attr.umd.js.map +1 -1
  36. package/dist/plugins/attr.umd.min.js +1 -1
  37. package/dist/plugins/attr.umd.min.js.map +1 -1
  38. package/dist/plugins/router.cjs +1873 -0
  39. package/dist/plugins/router.cjs.map +1 -0
  40. package/dist/plugins/router.d.cts +1296 -0
  41. package/dist/plugins/router.d.cts.map +1 -0
  42. package/dist/plugins/router.d.ts +1296 -0
  43. package/dist/plugins/router.d.ts.map +1 -0
  44. package/dist/plugins/router.js +1870 -0
  45. package/dist/plugins/router.js.map +1 -0
  46. package/dist/plugins/router.umd.js +482 -186
  47. package/dist/plugins/router.umd.js.map +1 -1
  48. package/dist/plugins/router.umd.min.js +1 -1
  49. package/dist/plugins/router.umd.min.js.map +1 -1
  50. package/dist/plugins/store.cjs +920 -0
  51. package/dist/plugins/store.cjs.map +1 -0
  52. package/dist/plugins/store.d.cts +266 -0
  53. package/dist/plugins/store.d.cts.map +1 -0
  54. package/dist/plugins/store.d.ts +266 -0
  55. package/dist/plugins/store.d.ts.map +1 -0
  56. package/dist/plugins/store.js +917 -0
  57. package/dist/plugins/store.js.map +1 -0
  58. package/dist/plugins/store.umd.js +410 -85
  59. package/dist/plugins/store.umd.js.map +1 -1
  60. package/dist/plugins/store.umd.min.js +1 -1
  61. package/dist/plugins/store.umd.min.js.map +1 -1
  62. package/package.json +112 -68
  63. package/src/core/Eleva.js +195 -115
  64. package/src/index.cjs +10 -0
  65. package/src/index.js +11 -0
  66. package/src/modules/Emitter.js +68 -20
  67. package/src/modules/Renderer.js +82 -20
  68. package/src/modules/Signal.js +43 -15
  69. package/src/modules/TemplateEngine.js +50 -9
  70. package/src/plugins/Attr.js +121 -19
  71. package/src/plugins/Router.js +526 -181
  72. package/src/plugins/Store.js +448 -69
  73. package/src/plugins/index.js +1 -0
  74. package/types/core/Eleva.d.ts +263 -169
  75. package/types/core/Eleva.d.ts.map +1 -1
  76. package/types/index.d.cts +3 -0
  77. package/types/index.d.cts.map +1 -0
  78. package/types/index.d.ts +5 -0
  79. package/types/index.d.ts.map +1 -1
  80. package/types/modules/Emitter.d.ts +73 -30
  81. package/types/modules/Emitter.d.ts.map +1 -1
  82. package/types/modules/Renderer.d.ts +48 -18
  83. package/types/modules/Renderer.d.ts.map +1 -1
  84. package/types/modules/Signal.d.ts +44 -16
  85. package/types/modules/Signal.d.ts.map +1 -1
  86. package/types/modules/TemplateEngine.d.ts +46 -11
  87. package/types/modules/TemplateEngine.d.ts.map +1 -1
  88. package/types/plugins/Attr.d.ts +83 -16
  89. package/types/plugins/Attr.d.ts.map +1 -1
  90. package/types/plugins/Router.d.ts +498 -207
  91. package/types/plugins/Router.d.ts.map +1 -1
  92. package/types/plugins/Store.d.ts +211 -37
  93. package/types/plugins/Store.d.ts.map +1 -1
  94. package/dist/eleva-plugins.cjs.js.map +0 -1
  95. package/dist/eleva-plugins.esm.js.map +0 -1
  96. package/dist/eleva.cjs.js.map +0 -1
  97. package/dist/eleva.esm.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eleva",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Eleva.js - Best DX for Building the Best UX. A 6KB React/Vue/Angular alternative designed for exceptional Developer Experience. Vanilla JavaScript, elevated with signals for reactivity and components for structure. Zero dependencies, TypeScript support.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -19,86 +19,138 @@
19
19
  "url": "https://github.com/TarekRaafat/eleva/issues",
20
20
  "email": "tarek.m.raafat@gmail.com"
21
21
  },
22
- "readme": "https://github.com/TarekRaafat/eleva#readme",
23
- "main": "./dist/eleva.cjs.js",
24
- "module": "./dist/eleva.esm.js",
22
+ "main": "./dist/eleva.cjs",
23
+ "module": "./dist/eleva.js",
25
24
  "browser": "./dist/eleva.umd.min.js",
26
25
  "types": "./dist/eleva.d.ts",
27
26
  "unpkg": "./dist/eleva.umd.min.js",
28
27
  "jsdelivr": "./dist/eleva.umd.min.js",
29
28
  "exports": {
30
29
  ".": {
31
- "types": "./dist/eleva.d.ts",
32
- "import": "./dist/eleva.esm.js",
33
- "require": "./dist/eleva.cjs.js",
34
- "node": "./dist/eleva.cjs.js",
35
- "browser": "./dist/eleva.umd.min.js",
36
- "default": "./dist/eleva.umd.min.js"
30
+ "import": {
31
+ "types": "./dist/eleva.d.ts",
32
+ "default": "./dist/eleva.js"
33
+ },
34
+ "require": {
35
+ "types": "./dist/eleva.d.cts",
36
+ "default": "./dist/eleva.cjs"
37
+ },
38
+ "default": "./dist/eleva.js"
37
39
  },
38
40
  "./esm": {
39
- "types": "./dist/eleva.d.ts",
40
- "import": "./dist/eleva.esm.js",
41
- "require": "./dist/eleva.esm.js",
42
- "browser": "./dist/eleva.umd.min.js"
41
+ "import": {
42
+ "types": "./dist/eleva.d.ts",
43
+ "default": "./dist/eleva.js"
44
+ },
45
+ "default": "./dist/eleva.js"
43
46
  },
44
47
  "./cjs": {
45
- "types": "./dist/eleva.d.ts",
46
- "require": "./dist/eleva.cjs.js"
48
+ "require": {
49
+ "types": "./dist/eleva.d.cts",
50
+ "default": "./dist/eleva.cjs"
51
+ },
52
+ "default": "./dist/eleva.cjs"
47
53
  },
48
54
  "./umd": {
49
- "types": "./dist/eleva.d.ts",
50
- "import": "./dist/eleva.umd.js",
51
- "browser": "./dist/eleva.umd.js"
55
+ "browser": {
56
+ "types": "./dist/eleva.d.ts",
57
+ "default": "./dist/eleva.umd.js"
58
+ },
59
+ "default": {
60
+ "types": "./dist/eleva.d.ts",
61
+ "default": "./dist/eleva.umd.js"
62
+ }
52
63
  },
53
64
  "./browser": {
54
- "types": "./dist/eleva.d.ts",
55
- "import": "./dist/eleva.umd.min.js",
56
- "browser": "./dist/eleva.umd.min.js"
65
+ "browser": {
66
+ "types": "./dist/eleva.d.ts",
67
+ "default": "./dist/eleva.umd.min.js"
68
+ },
69
+ "default": {
70
+ "types": "./dist/eleva.d.ts",
71
+ "default": "./dist/eleva.umd.min.js"
72
+ }
57
73
  },
58
74
  "./plugins": {
59
- "types": "./dist/eleva.d.ts",
60
- "import": "./dist/eleva-plugins.esm.js",
61
- "require": "./dist/eleva-plugins.cjs.js",
62
- "browser": "./dist/eleva-plugins.umd.min.js",
63
- "default": "./dist/eleva-plugins.umd.min.js"
75
+ "import": {
76
+ "types": "./dist/eleva-plugins.d.ts",
77
+ "default": "./dist/eleva-plugins.js"
78
+ },
79
+ "require": {
80
+ "types": "./dist/eleva-plugins.d.cts",
81
+ "default": "./dist/eleva-plugins.cjs"
82
+ },
83
+ "default": "./dist/eleva-plugins.js"
64
84
  },
65
85
  "./plugins/esm": {
66
- "types": "./dist/eleva.d.ts",
67
- "import": "./dist/eleva-plugins.esm.js",
68
- "require": "./dist/eleva-plugins.esm.js",
69
- "browser": "./dist/eleva-plugins.umd.min.js"
86
+ "import": {
87
+ "types": "./dist/eleva-plugins.d.ts",
88
+ "default": "./dist/eleva-plugins.js"
89
+ },
90
+ "default": "./dist/eleva-plugins.js"
70
91
  },
71
92
  "./plugins/cjs": {
72
- "types": "./dist/eleva.d.ts",
73
- "require": "./dist/eleva-plugins.cjs.js"
93
+ "require": {
94
+ "types": "./dist/eleva-plugins.d.cts",
95
+ "default": "./dist/eleva-plugins.cjs"
96
+ },
97
+ "default": "./dist/eleva-plugins.cjs"
74
98
  },
75
99
  "./plugins/umd": {
76
- "types": "./dist/eleva.d.ts",
77
- "import": "./dist/eleva-plugins.umd.js",
78
- "browser": "./dist/eleva-plugins.umd.js"
100
+ "browser": {
101
+ "types": "./dist/eleva-plugins.d.ts",
102
+ "default": "./dist/eleva-plugins.umd.js"
103
+ },
104
+ "default": {
105
+ "types": "./dist/eleva-plugins.d.ts",
106
+ "default": "./dist/eleva-plugins.umd.js"
107
+ }
79
108
  },
80
109
  "./plugins/browser": {
81
- "types": "./dist/eleva.d.ts",
82
- "import": "./dist/eleva-plugins.umd.min.js",
83
- "browser": "./dist/eleva-plugins.umd.min.js"
110
+ "browser": {
111
+ "types": "./dist/eleva-plugins.d.ts",
112
+ "default": "./dist/eleva-plugins.umd.min.js"
113
+ },
114
+ "default": {
115
+ "types": "./dist/eleva-plugins.d.ts",
116
+ "default": "./dist/eleva-plugins.umd.min.js"
117
+ }
84
118
  },
85
119
  "./plugins/attr": {
86
- "types": "./types/plugins/Attr.d.ts",
87
- "import": "./dist/plugins/attr.umd.min.js",
120
+ "import": {
121
+ "types": "./dist/plugins/attr.d.ts",
122
+ "default": "./dist/plugins/attr.js"
123
+ },
124
+ "require": {
125
+ "types": "./dist/plugins/attr.d.cts",
126
+ "default": "./dist/plugins/attr.cjs"
127
+ },
88
128
  "browser": "./dist/plugins/attr.umd.min.js",
89
- "default": "./dist/plugins/attr.umd.min.js"
129
+ "default": "./dist/plugins/attr.js"
90
130
  },
91
131
  "./plugins/router": {
92
- "types": "./types/plugins/Router.d.ts",
93
- "import": "./dist/plugins/router.umd.min.js",
132
+ "import": {
133
+ "types": "./dist/plugins/router.d.ts",
134
+ "default": "./dist/plugins/router.js"
135
+ },
136
+ "require": {
137
+ "types": "./dist/plugins/router.d.cts",
138
+ "default": "./dist/plugins/router.cjs"
139
+ },
94
140
  "browser": "./dist/plugins/router.umd.min.js",
95
- "default": "./dist/plugins/router.umd.min.js"
141
+ "default": "./dist/plugins/router.js"
96
142
  },
97
143
  "./plugins/store": {
98
- "types": "./types/plugins/Store.d.ts",
99
- "import": "./dist/plugins/store.umd.min.js",
144
+ "import": {
145
+ "types": "./dist/plugins/store.d.ts",
146
+ "default": "./dist/plugins/store.js"
147
+ },
148
+ "require": {
149
+ "types": "./dist/plugins/store.d.cts",
150
+ "default": "./dist/plugins/store.cjs"
151
+ },
100
152
  "browser": "./dist/plugins/store.umd.min.js",
101
- "default": "./dist/plugins/store.umd.min.js"
153
+ "default": "./dist/plugins/store.js"
102
154
  },
103
155
  "./package.json": "./package.json"
104
156
  },
@@ -107,23 +159,15 @@
107
159
  "types",
108
160
  "src"
109
161
  ],
110
- "directories": {
111
- "doc": "docs",
112
- "example": "examples",
113
- "test": "test",
114
- "dist": "dist",
115
- "src": "src",
116
- "types": "types"
117
- },
118
162
  "sideEffects": false,
119
163
  "devDependencies": {
120
164
  "@babel/core": "^7.28.6",
121
165
  "@babel/preset-env": "^7.28.6",
122
166
  "@codecov/rollup-plugin": "^1.9.1",
123
- "@happy-dom/global-registrator": "^20.3.1",
167
+ "@happy-dom/global-registrator": "^20.3.9",
124
168
  "@rollup/plugin-node-resolve": "^16.0.3",
125
- "@swc/core": "^1.15.8",
126
- "@types/bun": "latest",
169
+ "@swc/core": "^1.15.10",
170
+ "@types/bun": "^1.3.6",
127
171
  "babel-jest": "^30.2.0",
128
172
  "eslint": "^9.39.2",
129
173
  "eslint-plugin-prettier": "^5.5.5",
@@ -134,9 +178,9 @@
134
178
  "jest-watch-typeahead": "^3.0.1",
135
179
  "jsdoc": "^4.0.5",
136
180
  "lint-staged": "^16.2.7",
137
- "prettier": "^3.8.0",
181
+ "prettier": "^3.8.1",
138
182
  "rimraf": "^6.1.2",
139
- "rollup": "^4.55.1",
183
+ "rollup": "^4.57.0",
140
184
  "rollup-plugin-dts": "^6.3.0",
141
185
  "rollup-plugin-swc3": "^0.12.1",
142
186
  "typescript": "^5.9.3"
@@ -166,11 +210,12 @@
166
210
  "format": "npx prettier \"src/**/*\" \"types/**/*\" --write",
167
211
  "clean": "rimraf dist types test/coverage",
168
212
  "serve": "bunx serve . -l 3000",
169
- "prepublishOnly": "bun run format && bun run lint && bun run test:coverage && bun run build:all",
213
+ "validate": "npx publint; npx @arethetypeswrong/cli --pack . || echo '\n⚠️ Type validation warnings (non-blocking)'",
214
+ "prepublishOnly": "bun run format && bun run lint && bun run build:all && bun run test:coverage && bun run validate",
170
215
  "prepare": "bun run build:all"
171
216
  },
172
217
  "engines": {
173
- "node": ">=16.0.0"
218
+ "node": ">=18.0.0"
174
219
  },
175
220
  "browserslist": [
176
221
  "> 0.25%",
@@ -189,12 +234,11 @@
189
234
  "prettier --write"
190
235
  ]
191
236
  },
192
- "husky": {
193
- "hooks": {
194
- "pre-commit": "lint-staged"
195
- }
196
- },
197
237
  "keywords": [
238
+ "eleva",
239
+ "elevajs",
240
+ "eleva.js",
241
+ "eleva js",
198
242
  "developer experience",
199
243
  "DX",
200
244
  "user experience",