@ikas/component-cli 1.4.0-beta.17 → 1.4.0-beta.170

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 (149) hide show
  1. package/dist/build-tools.d.ts +37 -0
  2. package/dist/build-tools.d.ts.map +1 -0
  3. package/dist/build-tools.js +36 -0
  4. package/dist/build-tools.js.map +1 -0
  5. package/dist/commands/add-sections-to-page.d.ts +3 -0
  6. package/dist/commands/add-sections-to-page.d.ts.map +1 -0
  7. package/dist/commands/add-sections-to-page.js +39 -0
  8. package/dist/commands/add-sections-to-page.js.map +1 -0
  9. package/dist/commands/add.d.ts.map +1 -1
  10. package/dist/commands/add.js +10 -1
  11. package/dist/commands/add.js.map +1 -1
  12. package/dist/commands/build.d.ts.map +1 -1
  13. package/dist/commands/build.js +5 -165
  14. package/dist/commands/build.js.map +1 -1
  15. package/dist/commands/config.d.ts +35 -0
  16. package/dist/commands/config.d.ts.map +1 -1
  17. package/dist/commands/config.js +837 -118
  18. package/dist/commands/config.js.map +1 -1
  19. package/dist/commands/create-design-tokens.d.ts +24 -0
  20. package/dist/commands/create-design-tokens.d.ts.map +1 -0
  21. package/dist/commands/create-design-tokens.js +327 -0
  22. package/dist/commands/create-design-tokens.js.map +1 -0
  23. package/dist/commands/create-global-variable.d.ts +3 -0
  24. package/dist/commands/create-global-variable.d.ts.map +1 -0
  25. package/dist/commands/create-global-variable.js +53 -0
  26. package/dist/commands/create-global-variable.js.map +1 -0
  27. package/dist/commands/create-page.d.ts +3 -0
  28. package/dist/commands/create-page.d.ts.map +1 -0
  29. package/dist/commands/create-page.js +31 -0
  30. package/dist/commands/create-page.js.map +1 -0
  31. package/dist/commands/delete-theme-globals.d.ts +4 -0
  32. package/dist/commands/delete-theme-globals.d.ts.map +1 -0
  33. package/dist/commands/delete-theme-globals.js +48 -0
  34. package/dist/commands/delete-theme-globals.js.map +1 -0
  35. package/dist/commands/dev.d.ts.map +1 -1
  36. package/dist/commands/dev.js +96 -31
  37. package/dist/commands/dev.js.map +1 -1
  38. package/dist/commands/get-component-props.d.ts +3 -0
  39. package/dist/commands/get-component-props.d.ts.map +1 -0
  40. package/dist/commands/get-component-props.js +32 -0
  41. package/dist/commands/get-component-props.js.map +1 -0
  42. package/dist/commands/get-page-by-type.d.ts +3 -0
  43. package/dist/commands/get-page-by-type.d.ts.map +1 -0
  44. package/dist/commands/get-page-by-type.js +25 -0
  45. package/dist/commands/get-page-by-type.js.map +1 -0
  46. package/dist/commands/get-section-values.d.ts +3 -0
  47. package/dist/commands/get-section-values.d.ts.map +1 -0
  48. package/dist/commands/get-section-values.js +39 -0
  49. package/dist/commands/get-section-values.js.map +1 -0
  50. package/dist/commands/list-entities.d.ts +3 -0
  51. package/dist/commands/list-entities.d.ts.map +1 -0
  52. package/dist/commands/list-entities.js +32 -0
  53. package/dist/commands/list-entities.js.map +1 -0
  54. package/dist/commands/list-page-sections.d.ts.map +1 -1
  55. package/dist/commands/list-page-sections.js +8 -2
  56. package/dist/commands/list-page-sections.js.map +1 -1
  57. package/dist/commands/list-theme-globals.d.ts +3 -0
  58. package/dist/commands/list-theme-globals.d.ts.map +1 -0
  59. package/dist/commands/list-theme-globals.js +22 -0
  60. package/dist/commands/list-theme-globals.js.map +1 -0
  61. package/dist/commands/move-page-section.d.ts +3 -0
  62. package/dist/commands/move-page-section.d.ts.map +1 -0
  63. package/dist/commands/move-page-section.js +62 -0
  64. package/dist/commands/move-page-section.js.map +1 -0
  65. package/dist/commands/publish-theme.d.ts +3 -0
  66. package/dist/commands/publish-theme.d.ts.map +1 -0
  67. package/dist/commands/publish-theme.js +29 -0
  68. package/dist/commands/publish-theme.js.map +1 -0
  69. package/dist/commands/publish.d.ts.map +1 -1
  70. package/dist/commands/publish.js +45 -3
  71. package/dist/commands/publish.js.map +1 -1
  72. package/dist/commands/search-products.d.ts +3 -0
  73. package/dist/commands/search-products.d.ts.map +1 -0
  74. package/dist/commands/search-products.js +40 -0
  75. package/dist/commands/search-products.js.map +1 -0
  76. package/dist/commands/update-global-variable.d.ts +3 -0
  77. package/dist/commands/update-global-variable.d.ts.map +1 -0
  78. package/dist/commands/update-global-variable.js +47 -0
  79. package/dist/commands/update-global-variable.js.map +1 -0
  80. package/dist/commands/update-page-sections.d.ts +3 -0
  81. package/dist/commands/update-page-sections.d.ts.map +1 -0
  82. package/dist/commands/update-page-sections.js +39 -0
  83. package/dist/commands/update-page-sections.js.map +1 -0
  84. package/dist/commands/update-section-prop.d.ts.map +1 -1
  85. package/dist/commands/update-section-prop.js +34 -9
  86. package/dist/commands/update-section-prop.js.map +1 -1
  87. package/dist/commands/upload-image.d.ts +3 -0
  88. package/dist/commands/upload-image.d.ts.map +1 -0
  89. package/dist/commands/upload-image.js +38 -0
  90. package/dist/commands/upload-image.js.map +1 -0
  91. package/dist/commands/upload-images.d.ts +3 -0
  92. package/dist/commands/upload-images.d.ts.map +1 -0
  93. package/dist/commands/upload-images.js +48 -0
  94. package/dist/commands/upload-images.js.map +1 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +46 -1
  97. package/dist/index.js.map +1 -1
  98. package/dist/types.d.ts +17 -0
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/utils/compile.d.ts +17 -2
  101. package/dist/utils/compile.d.ts.map +1 -1
  102. package/dist/utils/compile.js +683 -106
  103. package/dist/utils/compile.js.map +1 -1
  104. package/dist/utils/component-helpers.d.ts +69 -2
  105. package/dist/utils/component-helpers.d.ts.map +1 -1
  106. package/dist/utils/component-helpers.js +193 -25
  107. package/dist/utils/component-helpers.js.map +1 -1
  108. package/dist/utils/editor-action-client.d.ts +1 -1
  109. package/dist/utils/editor-action-client.d.ts.map +1 -1
  110. package/dist/utils/editor-action-client.js +51 -16
  111. package/dist/utils/editor-action-client.js.map +1 -1
  112. package/dist/utils/esm-transform.d.ts +30 -0
  113. package/dist/utils/esm-transform.d.ts.map +1 -1
  114. package/dist/utils/esm-transform.js +169 -2
  115. package/dist/utils/esm-transform.js.map +1 -1
  116. package/dist/utils/find-component-for-file.d.ts +12 -0
  117. package/dist/utils/find-component-for-file.d.ts.map +1 -0
  118. package/dist/utils/find-component-for-file.js +24 -0
  119. package/dist/utils/find-component-for-file.js.map +1 -0
  120. package/dist/utils/forbid-deep-imports.d.ts +3 -0
  121. package/dist/utils/forbid-deep-imports.d.ts.map +1 -0
  122. package/dist/utils/forbid-deep-imports.js +54 -0
  123. package/dist/utils/forbid-deep-imports.js.map +1 -0
  124. package/dist/utils/forbid-external-packages.d.ts +26 -0
  125. package/dist/utils/forbid-external-packages.d.ts.map +1 -0
  126. package/dist/utils/forbid-external-packages.js +99 -0
  127. package/dist/utils/forbid-external-packages.js.map +1 -0
  128. package/dist/utils/load-image.d.ts +16 -0
  129. package/dist/utils/load-image.d.ts.map +1 -0
  130. package/dist/utils/load-image.js +50 -0
  131. package/dist/utils/load-image.js.map +1 -0
  132. package/dist/utils/vendor-storefront.d.ts +13 -0
  133. package/dist/utils/vendor-storefront.d.ts.map +1 -0
  134. package/dist/utils/vendor-storefront.js +91 -0
  135. package/dist/utils/vendor-storefront.js.map +1 -0
  136. package/dist/utils/websocket-server.d.ts +53 -5
  137. package/dist/utils/websocket-server.d.ts.map +1 -1
  138. package/dist/utils/websocket-server.js +233 -43
  139. package/dist/utils/websocket-server.js.map +1 -1
  140. package/package.json +16 -1
  141. package/templates/add/section.css +11 -0
  142. package/dist/commands/create.d.ts +0 -4
  143. package/dist/commands/create.d.ts.map +0 -1
  144. package/dist/commands/create.js +0 -228
  145. package/dist/commands/create.js.map +0 -1
  146. package/dist/commands/proxy.d.ts +0 -39
  147. package/dist/commands/proxy.d.ts.map +0 -1
  148. package/dist/commands/proxy.js +0 -210
  149. package/dist/commands/proxy.js.map +0 -1
@@ -7,11 +7,21 @@ import chalk from "chalk";
7
7
  export class DevServerWebSocket {
8
8
  wss = null;
9
9
  httpServer = null;
10
- clients = new Set();
11
10
  port;
12
- // Tracks in-flight editor-action requests: requestId → originating control-client ws.
13
- // Used to route `editor-action-result` from the editor back to the right sender.
11
+ // Tracks in-flight editor-action requests: requestId → { sender, target }.
12
+ // `sender` routes the `editor-action-result` back; `target` lets us fail the
13
+ // request fast when the editor that was asked to run it goes away.
14
+ // `targetGone` marks a legacy (unpinned) target whose socket dropped: its
15
+ // reply may still arrive on a reconnected socket, so the entry is kept and
16
+ // the late reply is relayed — the pre-routing behaviour old editors rely on.
14
17
  pendingEditorActions = new Map();
18
+ // The connected sockets, and what each one is. Also the client registry:
19
+ // `broadcast`/`clientCount` iterate its keys.
20
+ clientInfo = new Map();
21
+ // requestId → tabId of the editor an action was first forwarded to. A retry
22
+ // of that requestId must go to the SAME tab (whose dedup cache makes the
23
+ // retry exactly-once) — any other tab would execute it a second time.
24
+ forwardedEditorActions = new Map();
15
25
  constructor(port = 5201) {
16
26
  this.port = port;
17
27
  }
@@ -47,20 +57,40 @@ export class DevServerWebSocket {
47
57
  this.wss.emit("connection", ws, req);
48
58
  });
49
59
  });
50
- this.wss.on("connection", (ws) => {
51
- this.clients.add(ws);
52
- console.log(chalk.green(" Editor connected"));
53
- // Send initial state on connection
54
- const state = handlers.onRequestState();
55
- this.sendTo(ws, {
56
- type: "initial-state",
57
- payload: {
58
- components: state.components,
59
- sharedModules: state.sharedModules,
60
- globalStyles: state.globalStyles,
61
- timestamp: Date.now()
62
- }
60
+ this.wss.on("connection", (ws, req) => {
61
+ // Control clients tag themselves on connect, so an `editor-action`
62
+ // is never routed to another one-shot CLI socket that would drop it.
63
+ // Parse the query properly: the editor's routing URL can carry a
64
+ // token, and substring matching could false-positive on it.
65
+ let isControl = false;
66
+ try {
67
+ isControl = new URL(req?.url ?? "/", "http://localhost").searchParams.get("client") === "control";
68
+ }
69
+ catch {
70
+ // Malformed upgrade URL — treat as an editor, the safe default.
71
+ }
72
+ this.clientInfo.set(ws, {
73
+ isControl,
74
+ lastActivityAt: Date.now(),
75
+ lastVisibleAt: 0
63
76
  });
77
+ if (!isControl)
78
+ console.log(chalk.green(" Editor connected"));
79
+ // Send initial state on connection. Control clients discard it, and
80
+ // it carries every component's compiled JS/CSS — no point shipping
81
+ // the whole dev bundle to a socket that exists to send one command.
82
+ if (!isControl) {
83
+ const state = handlers.onRequestState();
84
+ this.sendTo(ws, {
85
+ type: "initial-state",
86
+ payload: {
87
+ components: state.components,
88
+ sharedModules: state.sharedModules,
89
+ globalStyles: state.globalStyles,
90
+ timestamp: Date.now()
91
+ }
92
+ });
93
+ }
64
94
  ws.on("message", (data) => {
65
95
  try {
66
96
  const message = JSON.parse(data.toString());
@@ -73,13 +103,14 @@ export class DevServerWebSocket {
73
103
  }
74
104
  });
75
105
  ws.on("close", () => {
76
- this.clients.delete(ws);
106
+ this.clientInfo.delete(ws);
77
107
  this.dropPendingEditorActionsForClient(ws);
78
- console.log(chalk.yellow(" Editor disconnected"));
108
+ if (!isControl)
109
+ console.log(chalk.yellow(" Editor disconnected"));
79
110
  });
80
111
  ws.on("error", (error) => {
81
112
  console.error(chalk.red(" WebSocket error:"), error.message);
82
- this.clients.delete(ws);
113
+ this.clientInfo.delete(ws);
83
114
  this.dropPendingEditorActionsForClient(ws);
84
115
  });
85
116
  });
@@ -104,10 +135,34 @@ export class DevServerWebSocket {
104
135
  * Handle incoming messages from editor
105
136
  */
106
137
  async handleMessage(ws, message, handlers) {
138
+ const info = this.clientInfo.get(ws);
139
+ if (info) {
140
+ info.lastActivityAt = Date.now();
141
+ // Fallback for control clients too old to send `?client=control`: only
142
+ // they issue `editor-action` or `request-types` (the editor pushes
143
+ // `sync-types`, it never requests them), and the mark is sticky.
144
+ if (message.type === "editor-action" || message.type === "request-types")
145
+ info.isControl = true;
146
+ }
107
147
  switch (message.type) {
108
148
  case "subscribe":
109
149
  // Already subscribed on connection
110
150
  break;
151
+ case "editor-hello": {
152
+ // Record which tab is visible so commands land on the one the user is
153
+ // looking at.
154
+ if (info) {
155
+ if (message.payload?.visible)
156
+ info.lastVisibleAt = Date.now();
157
+ if (message.payload?.label)
158
+ info.label = message.payload.label;
159
+ if (message.payload?.themeId)
160
+ info.themeId = message.payload.themeId;
161
+ if (message.payload?.tabId)
162
+ info.tabId = message.payload.tabId;
163
+ }
164
+ break;
165
+ }
111
166
  case "request-state": {
112
167
  const state = handlers.onRequestState();
113
168
  this.sendTo(ws, {
@@ -297,7 +352,7 @@ export class DevServerWebSocket {
297
352
  }
298
353
  case "sync-types": {
299
354
  if (handlers.onSyncTypes) {
300
- handlers.onSyncTypes(message.payload.types, message.payload.customTypes);
355
+ handlers.onSyncTypes(message.payload.types, message.payload.customTypes, message.payload.themeSettings);
301
356
  }
302
357
  break;
303
358
  }
@@ -352,37 +407,96 @@ export class DevServerWebSocket {
352
407
  }
353
408
  case "editor-action": {
354
409
  // Control client (e.g., `ikas-component list-pages`) asks the dev server
355
- // to forward an action to the connected editor. Track the sender so we
356
- // can route the editor's reply back, then broadcast to all other clients.
357
- const otherClients = Array.from(this.clients).filter((c) => c !== ws && c.readyState === WebSocket.OPEN);
358
- if (otherClients.length === 0) {
410
+ // to forward an action to the editor. An action is a COMMAND, not a
411
+ // broadcast: every tab that receives it applies it to the shared Yjs
412
+ // document, so N open tabs would import N copies of a component and
413
+ // place N copies of its section. Route it to exactly one editor.
414
+ const fail = (error, retryable) => {
359
415
  this.sendTo(ws, {
360
416
  type: "editor-action-result",
361
417
  requestId: message.requestId,
362
418
  success: false,
363
- error: "No editor connected — open the editor and try again",
419
+ error,
420
+ ...(retryable ? { retryable: true } : {}),
364
421
  });
365
- break;
422
+ };
423
+ let target = null;
424
+ const pinnedTabId = this.forwardedEditorActions.get(message.requestId);
425
+ if (pinnedTabId) {
426
+ // A retried requestId is pinned to the tab that first received it:
427
+ // that tab replays its stored result (exactly-once); any other tab
428
+ // would execute the action a second time. Last match wins — a
429
+ // reconnected tab registers after its lingering zombie socket.
430
+ for (const [client, info] of this.clientInfo) {
431
+ if (info.tabId === pinnedTabId && client.readyState === WebSocket.OPEN)
432
+ target = client;
433
+ }
434
+ if (!target) {
435
+ fail("The editor that first received this action is not back yet — it may already have been applied; verify before re-running manually", true);
436
+ break;
437
+ }
366
438
  }
367
- this.pendingEditorActions.set(message.requestId, ws);
368
- const forwarded = {
439
+ else {
440
+ const picked = this.pickEditorActionTarget(ws);
441
+ if (picked.conflictingThemes) {
442
+ fail(`Editors for different themes are connected (${picked.conflictingThemes.join(", ")}) — ` +
443
+ `close the editor tabs for the other themes and try again`);
444
+ break;
445
+ }
446
+ if (picked.hasUnidentified) {
447
+ // A tab with no theme identity next to identified ones could be on
448
+ // ANY theme — routing either way risks mutating the wrong one.
449
+ // Transient for a tab that is still loading, hence retryable.
450
+ fail("An editor tab that has not identified its theme is connected (old build or still loading) — reload or close that tab and try again", true);
451
+ break;
452
+ }
453
+ if (!picked.target) {
454
+ fail("No editor connected — open the editor and try again");
455
+ break;
456
+ }
457
+ target = picked.target;
458
+ if (picked.candidates > 1) {
459
+ const label = this.clientInfo.get(target)?.label ?? "the most recently active tab";
460
+ console.log(chalk.yellow(` ${picked.candidates} editors connected — sending "${message.action}" to ${label} only`));
461
+ }
462
+ const targetTabId = this.clientInfo.get(target)?.tabId;
463
+ if (targetTabId) {
464
+ this.forwardedEditorActions.set(message.requestId, targetTabId);
465
+ if (this.forwardedEditorActions.size > 500) {
466
+ const oldest = this.forwardedEditorActions.keys().next().value;
467
+ if (oldest !== undefined)
468
+ this.forwardedEditorActions.delete(oldest);
469
+ }
470
+ }
471
+ }
472
+ this.pendingEditorActions.set(message.requestId, { sender: ws, target });
473
+ this.sendTo(target, {
369
474
  type: "editor-action",
370
475
  requestId: message.requestId,
371
476
  action: message.action,
372
477
  payload: message.payload,
373
- };
374
- for (const client of otherClients) {
375
- this.sendTo(client, forwarded);
376
- }
478
+ });
377
479
  break;
378
480
  }
379
481
  case "editor-action-result": {
380
482
  // Editor replied to a previously forwarded `editor-action`. Route the
381
- // result back to the original control-client sender.
382
- const sender = this.pendingEditorActions.get(message.requestId);
483
+ // result back to the original control-client sender. Only the targeted
484
+ // editor may answer — except when a legacy target's socket dropped
485
+ // (`targetGone`): its reply arrives on a reconnected socket, and
486
+ // pre-routing servers accepted exactly that.
487
+ const pending = this.pendingEditorActions.get(message.requestId);
488
+ if (!pending)
489
+ break;
490
+ const fromTarget = pending.target === ws;
491
+ const legacyLateReply = pending.targetGone === true && !this.clientInfo.get(ws)?.isControl;
492
+ if (!fromTarget && !legacyLateReply)
493
+ break;
383
494
  this.pendingEditorActions.delete(message.requestId);
384
- if (sender && sender.readyState === WebSocket.OPEN) {
385
- this.sendTo(sender, {
495
+ // The exchange is complete free the pin so the FIFO cap only ever
496
+ // holds in-flight or lost-reply requests.
497
+ this.forwardedEditorActions.delete(message.requestId);
498
+ if (pending.sender.readyState === WebSocket.OPEN) {
499
+ this.sendTo(pending.sender, {
386
500
  type: "editor-action-result",
387
501
  requestId: message.requestId,
388
502
  success: message.success,
@@ -411,10 +525,85 @@ export class DevServerWebSocket {
411
525
  * dead socket.
412
526
  */
413
527
  dropPendingEditorActionsForClient(ws) {
414
- for (const [requestId, sender] of this.pendingEditorActions) {
415
- if (sender === ws)
528
+ for (const [requestId, pending] of this.pendingEditorActions) {
529
+ if (pending.sender === ws) {
530
+ // Nobody is left to retry or receive this request.
416
531
  this.pendingEditorActions.delete(requestId);
532
+ this.forwardedEditorActions.delete(requestId);
533
+ continue;
534
+ }
535
+ if (pending.target === ws) {
536
+ if (this.forwardedEditorActions.has(requestId)) {
537
+ // Pinned target (new editor with a requestId dedup cache): fail fast
538
+ // so the CLI auto-retries the same requestId — the pin routes the
539
+ // retry back to this tab, whose cache makes it exactly-once.
540
+ this.pendingEditorActions.delete(requestId);
541
+ this.sendTo(pending.sender, {
542
+ type: "editor-action-result",
543
+ requestId,
544
+ success: false,
545
+ error: "The editor handling this action disconnected — it may already have been applied; verify before re-running manually",
546
+ retryable: true,
547
+ });
548
+ }
549
+ else {
550
+ // Legacy target (no dedup cache): a retry would re-execute the
551
+ // action, and its reply may still arrive on a reconnected socket.
552
+ // Keep waiting like pre-routing servers did; the CLI's own timeout
553
+ // bounds it.
554
+ pending.targetGone = true;
555
+ }
556
+ }
557
+ }
558
+ }
559
+ /**
560
+ * Pick the single editor that should run an `editor-action`, preferring the
561
+ * tab the user is looking at: most recently visible, then most recently
562
+ * active. Control clients are never targets.
563
+ *
564
+ * The server has no theme identity of its own, so ambiguity is refused, not
565
+ * guessed at: tabs reporting DIFFERENT themes → `conflictingThemes`; a tab
566
+ * with NO theme identity (old build or still loading) next to identified
567
+ * ones → `hasUnidentified` — that tab could be on any theme, and routing
568
+ * either way risks silently mutating the wrong one. Only an unambiguous
569
+ * pool (all identified with one theme, or all unidentified legacy tabs) is
570
+ * ranked.
571
+ */
572
+ pickEditorActionTarget(sender) {
573
+ const entries = [];
574
+ for (const [client, info] of this.clientInfo) {
575
+ if (client === sender || info.isControl || client.readyState !== WebSocket.OPEN)
576
+ continue;
577
+ entries.push([client, info]);
578
+ }
579
+ const themeIds = new Set();
580
+ for (const [, info] of entries) {
581
+ if (info.themeId)
582
+ themeIds.add(info.themeId);
583
+ }
584
+ if (themeIds.size > 1) {
585
+ const labels = new Set();
586
+ for (const [, info] of entries) {
587
+ if (info.themeId)
588
+ labels.add(info.label ?? info.themeId);
589
+ }
590
+ return { target: null, candidates: entries.length, conflictingThemes: Array.from(labels) };
591
+ }
592
+ if (themeIds.size === 1 && entries.some(([, info]) => !info.themeId)) {
593
+ return { target: null, candidates: entries.length, hasUnidentified: true };
594
+ }
595
+ let target = null;
596
+ let best = null;
597
+ for (const [client, info] of entries) {
598
+ const wins = !best ||
599
+ info.lastVisibleAt > best.lastVisibleAt ||
600
+ (info.lastVisibleAt === best.lastVisibleAt && info.lastActivityAt > best.lastActivityAt);
601
+ if (wins) {
602
+ target = client;
603
+ best = info;
604
+ }
417
605
  }
606
+ return { target, candidates: entries.length };
418
607
  }
419
608
  /**
420
609
  * Send message to a specific client
@@ -429,7 +618,7 @@ export class DevServerWebSocket {
429
618
  */
430
619
  broadcast(message) {
431
620
  const data = JSON.stringify(message);
432
- for (const client of this.clients) {
621
+ for (const client of this.clientInfo.keys()) {
433
622
  if (client.readyState === WebSocket.OPEN) {
434
623
  client.send(data);
435
624
  }
@@ -478,13 +667,13 @@ export class DevServerWebSocket {
478
667
  * Get number of connected clients
479
668
  */
480
669
  get clientCount() {
481
- return this.clients.size;
670
+ return this.clientInfo.size;
482
671
  }
483
672
  /**
484
673
  * Check if any clients are connected
485
674
  */
486
675
  get hasClients() {
487
- return this.clients.size > 0;
676
+ return this.clientInfo.size > 0;
488
677
  }
489
678
  /**
490
679
  * Stop the WebSocket server
@@ -495,10 +684,11 @@ export class DevServerWebSocket {
495
684
  resolve();
496
685
  return;
497
686
  }
498
- for (const client of this.clients) {
687
+ for (const client of this.clientInfo.keys()) {
499
688
  client.close();
500
689
  }
501
- this.clients.clear();
690
+ this.clientInfo.clear();
691
+ this.pendingEditorActions.clear();
502
692
  const closeHttp = () => {
503
693
  if (this.httpServer) {
504
694
  this.httpServer.close(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/utils/websocket-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/utils/websocket-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,28 @@
1
1
  {
2
2
  "name": "@ikas/component-cli",
3
- "version": "1.4.0-beta.17",
3
+ "version": "1.4.0-beta.170",
4
4
  "description": "CLI for developing ikas code components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./build-tools": {
14
+ "types": "./dist/build-tools.d.ts",
15
+ "default": "./dist/build-tools.js"
16
+ },
17
+ "./package.json": "./package.json"
18
+ },
8
19
  "bin": {
9
20
  "ikas-component": "./bin/ikas-component.js"
10
21
  },
11
22
  "scripts": {
12
23
  "build": "tsc",
13
24
  "dev": "tsc --watch",
25
+ "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
14
26
  "prepack": "npm run build"
15
27
  },
16
28
  "dependencies": {
@@ -25,8 +37,11 @@
25
37
  },
26
38
  "devDependencies": {
27
39
  "@types/inquirer": "^9.0.7",
40
+ "@types/jest": "^29.5.12",
28
41
  "@types/node": "^20.10.0",
29
42
  "@types/ws": "^8.5.10",
43
+ "jest": "^29.7.0",
44
+ "ts-jest": "^29.1.5",
30
45
  "typescript": "^5.3.0"
31
46
  },
32
47
  "files": [
@@ -15,3 +15,14 @@
15
15
  font-weight: 700;
16
16
  color: #111827;
17
17
  }
18
+
19
+ /*
20
+ * Responsive: use the theme's breakpoints in CSS. CSS media queries can't use
21
+ * var(), so write the min-width/max-width yourself and use `bp(<breakpointId>)`
22
+ * for the value — it resolves to the breakpoint's `<width>px` at render time
23
+ * against the store's live width. Get <breakpointId> from
24
+ * `npx ikas-component list-theme-globals` (breakpoints[].id) — use the id, not the name.
25
+ *
26
+ * @media (max-width: bp(_AbC123)) { .{{KEBAB_NAME}} { padding: 32px 16px; } }
27
+ * @media (min-width: bp(_AbC123)) { .{{KEBAB_NAME}}-inner { display: flex; gap: 24px; } }
28
+ */
@@ -1,4 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function createCreateCommand(): Command;
3
- export declare function run(): Promise<void>;
4
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsKpC,wBAAgB,mBAAmB,IAAI,OAAO,CA+C7C;AAGD,wBAAsB,GAAG,kBAoDxB"}