elit 3.4.9 → 3.5.1

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 (68) hide show
  1. package/README.md +98 -6
  2. package/dist/build.d.mts +1 -1
  3. package/dist/cli.js +539 -111
  4. package/dist/config.d.mts +9 -2
  5. package/dist/config.d.ts +7 -0
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/config.mjs.map +1 -1
  9. package/dist/coverage.d.mts +1 -1
  10. package/dist/desktop-cli.d.ts.map +1 -1
  11. package/dist/http.d.ts.map +1 -1
  12. package/dist/http.js +5 -4
  13. package/dist/http.js.map +1 -1
  14. package/dist/http.mjs +5 -4
  15. package/dist/http.mjs.map +1 -1
  16. package/dist/https.js +5 -4
  17. package/dist/https.js.map +1 -1
  18. package/dist/https.mjs +5 -4
  19. package/dist/https.mjs.map +1 -1
  20. package/dist/index.d.mts +1 -1
  21. package/dist/index.js +20 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +20 -1
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/native.js +20 -1
  26. package/dist/native.js.map +1 -1
  27. package/dist/native.mjs +20 -1
  28. package/dist/native.mjs.map +1 -1
  29. package/dist/{server-DpnTyF7I.d.mts → server--YFoC6ln.d.mts} +27 -0
  30. package/dist/{server-BU71N4fk.d.ts → server-DacsdjFJ.d.ts} +27 -0
  31. package/dist/server.d.mts +1 -1
  32. package/dist/server.d.ts.map +1 -1
  33. package/dist/server.js +141 -52
  34. package/dist/server.js.map +1 -1
  35. package/dist/server.mjs +141 -52
  36. package/dist/server.mjs.map +1 -1
  37. package/dist/state.d.ts.map +1 -1
  38. package/dist/state.js +20 -1
  39. package/dist/state.js.map +1 -1
  40. package/dist/state.mjs +20 -1
  41. package/dist/state.mjs.map +1 -1
  42. package/dist/types.d.mts +28 -1
  43. package/dist/types.d.ts +27 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js.map +1 -1
  46. package/dist/wapk-cli.d.ts +15 -4
  47. package/dist/wapk-cli.d.ts.map +1 -1
  48. package/dist/ws.d.mts +1 -1
  49. package/dist/ws.d.ts +1 -1
  50. package/dist/ws.d.ts.map +1 -1
  51. package/dist/ws.js +9 -4
  52. package/dist/ws.js.map +1 -1
  53. package/dist/ws.mjs +9 -4
  54. package/dist/ws.mjs.map +1 -1
  55. package/dist/wss.js +14 -8
  56. package/dist/wss.js.map +1 -1
  57. package/dist/wss.mjs +14 -8
  58. package/dist/wss.mjs.map +1 -1
  59. package/package.json +1 -1
  60. package/src/cli.ts +18 -0
  61. package/src/config.ts +8 -0
  62. package/src/desktop-cli.ts +19 -1
  63. package/src/http.ts +5 -4
  64. package/src/server.ts +182 -56
  65. package/src/state.ts +25 -1
  66. package/src/types.ts +30 -0
  67. package/src/wapk-cli.ts +451 -52
  68. package/src/ws.ts +12 -5
package/dist/native.js CHANGED
@@ -773,7 +773,26 @@ var renderToString = dom.renderToString.bind(dom);
773
773
 
774
774
  // src/state.ts
775
775
  var ELIT_NATIVE_BINDING = /* @__PURE__ */ Symbol.for("elit.native.binding");
776
+ var ELIT_INTERNAL_WS_PATH = "/__elit_ws";
776
777
  var createState = (initial, options) => dom.createState(initial, options);
778
+ function resolveSharedStateWebSocketUrl(wsUrl) {
779
+ const protocol = typeof location !== "undefined" && location.protocol === "https:" ? "wss:" : "ws:";
780
+ const origin = typeof location !== "undefined" ? `${protocol}//${location.host}` : `${protocol}//localhost`;
781
+ if (!wsUrl) {
782
+ return `${origin}${ELIT_INTERNAL_WS_PATH}`;
783
+ }
784
+ if (/^wss?:\/\//i.test(wsUrl)) {
785
+ const parsedUrl = new URL(wsUrl);
786
+ if (!parsedUrl.pathname || parsedUrl.pathname === "/") {
787
+ parsedUrl.pathname = ELIT_INTERNAL_WS_PATH;
788
+ }
789
+ return parsedUrl.toString();
790
+ }
791
+ if (wsUrl.startsWith("/")) {
792
+ return `${origin}${wsUrl}`;
793
+ }
794
+ return wsUrl;
795
+ }
777
796
  var SharedState = class {
778
797
  constructor(key, defaultValue, wsUrl) {
779
798
  this.key = key;
@@ -825,7 +844,7 @@ var SharedState = class {
825
844
  */
826
845
  connect() {
827
846
  if (typeof window === "undefined") return;
828
- const url = this.wsUrl || `ws://${location.host}`;
847
+ const url = resolveSharedStateWebSocketUrl(this.wsUrl);
829
848
  this.ws = new WebSocket(url);
830
849
  this.ws.addEventListener("open", () => {
831
850
  this.subscribe();