voodoojs 0.7.0 → 0.10.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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/{chunk-YOZTHZS2.js → chunk-3JV2AYK6.js} +3 -3
  3. package/dist/{chunk-CYN6VLMD.js → chunk-EYNFAYEV.js} +4 -4
  4. package/dist/{chunk-ZIWLQZZL.js → chunk-H3RGM7PR.js} +4 -4
  5. package/dist/{chunk-4T2UIPWX.js → chunk-H64IUSGJ.js} +4 -4
  6. package/dist/{chunk-QO3I7VLJ.js → chunk-HW75QJLQ.js} +5 -5
  7. package/dist/{chunk-WSDB7K4X.js → chunk-IK4MQQTO.js} +6 -6
  8. package/dist/{chunk-JB2YYNK6.js → chunk-OUEXXXTU.js} +310 -64
  9. package/dist/{chunk-MMLUK37L.js → chunk-PXUSD6TT.js} +4 -3
  10. package/dist/{chunk-II3XBOAP.js → chunk-QWQPKMUH.js} +13 -13
  11. package/dist/{chunk-GIWKGFGY.js → chunk-TFDCAZYU.js} +4 -4
  12. package/dist/{chunk-E5T65CEI.js → chunk-WGMUFP5Q.js} +5 -5
  13. package/dist/essential.cjs +305 -58
  14. package/dist/essential.d.cts +2 -2
  15. package/dist/essential.d.ts +2 -2
  16. package/dist/essential.js +10 -10
  17. package/dist/gpu.cjs +1 -1
  18. package/dist/gpu.js +10 -10
  19. package/dist/http.cjs +1 -1
  20. package/dist/http.js +5 -5
  21. package/dist/index.cjs +577 -76
  22. package/dist/index.d.cts +118 -4
  23. package/dist/index.d.ts +118 -4
  24. package/dist/index.js +278 -31
  25. package/dist/{query-CC-_z7v0.d.ts → query-Cf-7iibE.d.ts} +53 -2
  26. package/dist/{query-sEJXe_cO.d.cts → query-DiQAS73Q.d.cts} +53 -2
  27. package/dist/reactivity.cjs +1 -1
  28. package/dist/reactivity.js +2 -2
  29. package/dist/socket.cjs +303 -57
  30. package/dist/socket.js +9 -9
  31. package/dist/style-NW74ROC5.js +5 -0
  32. package/dist/utils.cjs +1 -1
  33. package/dist/utils.js +2 -2
  34. package/dist/voodoo.core.js +312 -58
  35. package/dist/voodoo.core.min.js +18 -18
  36. package/dist/voodoo.full.js +582 -74
  37. package/dist/voodoo.full.min.js +61 -61
  38. package/dist/voodoo.js +312 -58
  39. package/dist/voodoo.min.js +25 -25
  40. package/package.json +127 -127
  41. package/dist/style-SLQ6PHZK.js +0 -5
@@ -77,6 +77,10 @@ type Node$1 = {
77
77
  callee: Node$1;
78
78
  args: Node$1[];
79
79
  opt: boolean;
80
+ } | {
81
+ t: 'new';
82
+ callee: Node$1;
83
+ args: Node$1[];
80
84
  } | {
81
85
  t: 'unary';
82
86
  op: string;
@@ -108,11 +112,11 @@ type Node$1 = {
108
112
  value: Node$1;
109
113
  } | {
110
114
  t: 'arrow';
111
- params: string[];
115
+ params: Param[];
112
116
  body: Node$1;
113
117
  } | {
114
118
  t: 'method';
115
- params: string[];
119
+ params: Param[];
116
120
  body: Node$1;
117
121
  } | {
118
122
  t: 'if';
@@ -130,6 +134,9 @@ type Node$1 = {
130
134
  } | {
131
135
  t: 'seq';
132
136
  body: Node$1[];
137
+ } | {
138
+ t: 'return';
139
+ a: Node$1 | null;
133
140
  };
134
141
  interface ObjectProperty {
135
142
  /** Fixed key name, or `null` when the key is computed. */
@@ -140,6 +147,38 @@ interface ObjectProperty {
140
147
  /** `true` for `{ get name() { ... } }`, evaluated on every read. */
141
148
  getter?: boolean;
142
149
  }
150
+ /**
151
+ * One parameter of an arrow function or an object method.
152
+ *
153
+ * Parameters used to be plain strings, which meant only the simplest form
154
+ * worked. `((x = 1) => x)()`, `((...xs) => xs)(1, 2)` and
155
+ * `people.map(({ name }) => name)` all failed to parse, and the last of those
156
+ * is how anybody actually writes that line.
157
+ *
158
+ * `def` carries a default for every shape, because JavaScript allows one
159
+ * wherever a binding appears, including inside a pattern.
160
+ */
161
+ type Param = {
162
+ kind: 'id';
163
+ name: string;
164
+ def?: Node$1;
165
+ } | {
166
+ kind: 'rest';
167
+ name: string;
168
+ } | {
169
+ kind: 'obj';
170
+ props: Array<{
171
+ key: string;
172
+ value: Param;
173
+ }>;
174
+ rest?: string;
175
+ def?: Node$1;
176
+ } | {
177
+ kind: 'arr';
178
+ elements: Array<Param | null>;
179
+ rest?: string;
180
+ def?: Node$1;
181
+ };
143
182
  /**
144
183
  * Converts text to AST, with caching.
145
184
  *
@@ -267,6 +306,18 @@ interface VoodooConfig {
267
306
  root: Element | null;
268
307
  /** Show detailed warnings in the console. */
269
308
  devtools: boolean;
309
+ /**
310
+ * Keyboard shortcut that opens the reactivity inspector, in the full build.
311
+ *
312
+ * Written as `'ctrl+shift+f2'`. The last part names the physical key, so it
313
+ * behaves the same on every keyboard layout. Set to `false` to install no
314
+ * listener at all.
315
+ *
316
+ * Read `xrayShortcut` in `devtools/xray.ts` before changing the default: the
317
+ * previous two choices were both taken, one by Opera and one by the Windows
318
+ * keyboard layout switcher.
319
+ */
320
+ xrayShortcut: string | false;
270
321
  /** Base URL for requests triggered by attributes. */
271
322
  baseURL: string;
272
323
  /** Globals allowed inside expressions. */
@@ -77,6 +77,10 @@ type Node$1 = {
77
77
  callee: Node$1;
78
78
  args: Node$1[];
79
79
  opt: boolean;
80
+ } | {
81
+ t: 'new';
82
+ callee: Node$1;
83
+ args: Node$1[];
80
84
  } | {
81
85
  t: 'unary';
82
86
  op: string;
@@ -108,11 +112,11 @@ type Node$1 = {
108
112
  value: Node$1;
109
113
  } | {
110
114
  t: 'arrow';
111
- params: string[];
115
+ params: Param[];
112
116
  body: Node$1;
113
117
  } | {
114
118
  t: 'method';
115
- params: string[];
119
+ params: Param[];
116
120
  body: Node$1;
117
121
  } | {
118
122
  t: 'if';
@@ -130,6 +134,9 @@ type Node$1 = {
130
134
  } | {
131
135
  t: 'seq';
132
136
  body: Node$1[];
137
+ } | {
138
+ t: 'return';
139
+ a: Node$1 | null;
133
140
  };
134
141
  interface ObjectProperty {
135
142
  /** Fixed key name, or `null` when the key is computed. */
@@ -140,6 +147,38 @@ interface ObjectProperty {
140
147
  /** `true` for `{ get name() { ... } }`, evaluated on every read. */
141
148
  getter?: boolean;
142
149
  }
150
+ /**
151
+ * One parameter of an arrow function or an object method.
152
+ *
153
+ * Parameters used to be plain strings, which meant only the simplest form
154
+ * worked. `((x = 1) => x)()`, `((...xs) => xs)(1, 2)` and
155
+ * `people.map(({ name }) => name)` all failed to parse, and the last of those
156
+ * is how anybody actually writes that line.
157
+ *
158
+ * `def` carries a default for every shape, because JavaScript allows one
159
+ * wherever a binding appears, including inside a pattern.
160
+ */
161
+ type Param = {
162
+ kind: 'id';
163
+ name: string;
164
+ def?: Node$1;
165
+ } | {
166
+ kind: 'rest';
167
+ name: string;
168
+ } | {
169
+ kind: 'obj';
170
+ props: Array<{
171
+ key: string;
172
+ value: Param;
173
+ }>;
174
+ rest?: string;
175
+ def?: Node$1;
176
+ } | {
177
+ kind: 'arr';
178
+ elements: Array<Param | null>;
179
+ rest?: string;
180
+ def?: Node$1;
181
+ };
143
182
  /**
144
183
  * Converts text to AST, with caching.
145
184
  *
@@ -267,6 +306,18 @@ interface VoodooConfig {
267
306
  root: Element | null;
268
307
  /** Show detailed warnings in the console. */
269
308
  devtools: boolean;
309
+ /**
310
+ * Keyboard shortcut that opens the reactivity inspector, in the full build.
311
+ *
312
+ * Written as `'ctrl+shift+f2'`. The last part names the physical key, so it
313
+ * behaves the same on every keyboard layout. Set to `false` to install no
314
+ * listener at all.
315
+ *
316
+ * Read `xrayShortcut` in `devtools/xray.ts` before changing the default: the
317
+ * previous two choices were both taken, one by Opera and one by the Windows
318
+ * keyboard layout switcher.
319
+ */
320
+ xrayShortcut: string | false;
270
321
  /** Base URL for requests triggered by attributes. */
271
322
  baseURL: string;
272
323
  /** Globals allowed inside expressions. */
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  /**
4
- * Voodoo.js v0.7.0
4
+ * Voodoo.js v0.10.0
5
5
  * JavaScript feels like magic.
6
6
  * (c) 2026 Voodoo.js contributors. MIT License.
7
7
  */
@@ -1,4 +1,4 @@
1
- export { EffectScope, ITERATE_KEY, ReactiveEffect, TriggerType, computed, effect, effectScope, enableTracking, flushSync, getActiveEffect, getActiveScope, handleError, hasChanged, isReactive, isRef, markRaw, nextTick, pauseTracking, queueJob, queuePostFlush, reactive, ref, resetTracking, setErrorHandler, shallowRef, stop, toRaw, track, trigger, unref, warn, watch, watchEffect } from './chunk-4T2UIPWX.js';
2
- import './chunk-YOZTHZS2.js';
1
+ export { EffectScope, ITERATE_KEY, ReactiveEffect, TriggerType, computed, effect, effectScope, enableTracking, flushSync, getActiveEffect, getActiveScope, handleError, hasChanged, isReactive, isRef, markRaw, nextTick, pauseTracking, queueJob, queuePostFlush, reactive, ref, resetTracking, setErrorHandler, shallowRef, stop, toRaw, track, trigger, unref, warn, watch, watchEffect } from './chunk-H64IUSGJ.js';
2
+ import './chunk-3JV2AYK6.js';
3
3
  //# sourceMappingURL=reactivity.js.map
4
4
  //# sourceMappingURL=reactivity.js.map