solid-js 1.8.20 → 1.8.22

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 (50) hide show
  1. package/README.md +3 -3
  2. package/dist/dev.cjs +6 -4
  3. package/dist/dev.js +325 -564
  4. package/dist/server.js +74 -168
  5. package/dist/solid.cjs +6 -4
  6. package/dist/solid.js +283 -491
  7. package/h/dist/h.cjs +1 -1
  8. package/h/dist/h.js +9 -38
  9. package/h/jsx-runtime/dist/jsx.js +1 -1
  10. package/h/jsx-runtime/types/index.d.ts +8 -11
  11. package/h/jsx-runtime/types/jsx.d.ts +2 -0
  12. package/h/types/hyperscript.d.ts +11 -11
  13. package/html/dist/html.js +94 -216
  14. package/html/types/lit.d.ts +33 -47
  15. package/package.json +1 -1
  16. package/store/dist/dev.js +43 -122
  17. package/store/dist/server.js +8 -19
  18. package/store/dist/store.js +40 -113
  19. package/store/types/index.d.ts +7 -21
  20. package/store/types/modifiers.d.ts +3 -6
  21. package/store/types/mutable.d.ts +2 -5
  22. package/store/types/server.d.ts +4 -12
  23. package/store/types/store.d.ts +61 -218
  24. package/types/index.d.ts +10 -75
  25. package/types/jsx.d.ts +8 -18
  26. package/types/reactive/array.d.ts +4 -12
  27. package/types/reactive/observable.d.ts +17 -25
  28. package/types/reactive/scheduler.d.ts +6 -9
  29. package/types/reactive/signal.d.ts +142 -233
  30. package/types/render/Suspense.d.ts +5 -5
  31. package/types/render/component.d.ts +33 -64
  32. package/types/render/flow.d.ts +31 -43
  33. package/types/render/hydration.d.ts +15 -15
  34. package/types/server/index.d.ts +2 -57
  35. package/types/server/reactive.d.ts +42 -73
  36. package/types/server/rendering.d.ts +98 -169
  37. package/universal/dist/dev.js +12 -28
  38. package/universal/dist/universal.js +12 -28
  39. package/universal/types/index.d.ts +1 -3
  40. package/universal/types/universal.d.ts +1 -0
  41. package/web/dist/dev.cjs +1 -1
  42. package/web/dist/dev.js +84 -626
  43. package/web/dist/server.js +96 -210
  44. package/web/dist/web.cjs +1 -1
  45. package/web/dist/web.js +82 -617
  46. package/web/storage/dist/storage.js +3 -3
  47. package/web/types/client.d.ts +2 -2
  48. package/web/types/core.d.ts +1 -10
  49. package/web/types/index.d.ts +10 -27
  50. package/web/types/server-mock.d.ts +32 -47
package/README.md CHANGED
@@ -30,7 +30,7 @@ Solid is a declarative JavaScript library for creating user interfaces. Instead
30
30
  - A growing community and ecosystem with active core team support
31
31
 
32
32
  <details>
33
-
33
+
34
34
  <summary>Quick Start</summary>
35
35
 
36
36
  You can get started with a simple app by running the following in your terminal:
@@ -81,7 +81,7 @@ For TypeScript to work, remember to set your `.tsconfig` to handle Solid's JSX:
81
81
 
82
82
  ### Performant
83
83
 
84
- Meticulously engineered for performance and with half a decade of research behind it, Solid's performance is almost indistinguishable from optimized vanilla JavaScript (See Solid on the [JS Framework Benchmark](https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html)). Solid is [small](https://bundlephobia.com/package/solid-js@1.3.15) and completely tree-shakable, and [fast](https://levelup.gitconnected.com/how-we-wrote-the-fastest-javascript-ui-framework-again-db097ddd99b6) when rendering on the server, too. Whether you're writing a fully client-rendered SPA or a server-rendered app, your users see it faster than ever. ([Read more about Solid's performance](https://dev.to/ryansolid/thinking-granular-how-is-solidjs-so-performant-4g37) from the library's creator.)
84
+ Meticulously engineered for performance and with half a decade of research behind it, Solid's performance is almost indistinguishable from optimized vanilla JavaScript (See Solid on the [JS Framework Benchmark](https://krausest.github.io/js-framework-benchmark/current.html)). Solid is [small](https://bundlephobia.com/package/solid-js@1.3.15) and completely tree-shakable, and [fast](https://levelup.gitconnected.com/how-we-wrote-the-fastest-javascript-ui-framework-again-db097ddd99b6) when rendering on the server, too. Whether you're writing a fully client-rendered SPA or a server-rendered app, your users see it faster than ever. ([Read more about Solid's performance](https://dev.to/ryansolid/thinking-granular-how-is-solidjs-so-performant-4g37) from the library's creator.)
85
85
 
86
86
  ### Powerful
87
87
 
@@ -93,7 +93,7 @@ Do more with less: use simple, composable primitives without hidden rules and go
93
93
 
94
94
  ### Productive
95
95
 
96
- Solid is built on established tools like JSX and TypeScript and integrates with the Vite ecosystem. Solid's bare-metal, minimal abstractions give you direct access to the DOM, making it easy to use your favorite native JavaScript libraries like D3. And the Solid ecosystem is growing fast, with [custom primitives](https://github.com/solidjs-community/solid-primitives), [component libraries](https://hope-ui.com/), and build-time utilities that let you [write Solid code in new ways](https://github.com/LXSMNSYC/solid-labels).
96
+ Solid is built on established tools like JSX and TypeScript and integrates with the Vite ecosystem. Solid's bare-metal, minimal abstractions give you direct access to the DOM, making it easy to use your favorite native JavaScript libraries like D3. And the Solid ecosystem is growing fast, with [custom primitives](https://github.com/solidjs-community/solid-primitives), [component libraries](https://github.com/hope-ui/hope-ui), and build-time utilities that let you [write Solid code in new ways](https://github.com/LXSMNSYC/solid-labels).
97
97
 
98
98
  <details>
99
99
  <summary>Show Me!</summary>
package/dist/dev.cjs CHANGED
@@ -119,6 +119,7 @@ function workLoop(hasTimeRemaining, initialTime) {
119
119
  const sharedConfig = {
120
120
  context: undefined,
121
121
  registry: undefined,
122
+ effects: undefined,
122
123
  done: false,
123
124
  getContextId() {
124
125
  return getContextId(this.context.count);
@@ -912,13 +913,14 @@ function runUserEffects(queue) {
912
913
  sharedConfig.effects || (sharedConfig.effects = []);
913
914
  sharedConfig.effects.push(...queue.slice(0, userLength));
914
915
  return;
915
- } else if (sharedConfig.effects) {
916
- queue = [...sharedConfig.effects, ...queue];
917
- userLength += sharedConfig.effects.length;
918
- delete sharedConfig.effects;
919
916
  }
920
917
  setHydrateContext();
921
918
  }
919
+ if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {
920
+ queue = [...sharedConfig.effects, ...queue];
921
+ userLength += sharedConfig.effects.length;
922
+ delete sharedConfig.effects;
923
+ }
922
924
  for (i = 0; i < userLength; i++) runTop(queue[i]);
923
925
  }
924
926
  function lookUpstream(node, ignore) {