@ikas/component-cli 1.4.0-beta.21 → 1.4.0-beta.212
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.
- package/dist/build-tools.d.ts +37 -0
- package/dist/build-tools.d.ts.map +1 -0
- package/dist/build-tools.js +36 -0
- package/dist/build-tools.js.map +1 -0
- package/dist/commands/add-sections-to-page.d.ts +3 -0
- package/dist/commands/add-sections-to-page.d.ts.map +1 -0
- package/dist/commands/add-sections-to-page.js +39 -0
- package/dist/commands/add-sections-to-page.js.map +1 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +11 -2
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +5 -165
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/config.d.ts +35 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +1082 -147
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create-design-tokens.d.ts +24 -0
- package/dist/commands/create-design-tokens.d.ts.map +1 -0
- package/dist/commands/create-design-tokens.js +388 -0
- package/dist/commands/create-design-tokens.js.map +1 -0
- package/dist/commands/create-global-variable.d.ts +3 -0
- package/dist/commands/create-global-variable.d.ts.map +1 -0
- package/dist/commands/create-global-variable.js +73 -0
- package/dist/commands/create-global-variable.js.map +1 -0
- package/dist/commands/create-page.d.ts +3 -0
- package/dist/commands/create-page.d.ts.map +1 -0
- package/dist/commands/create-page.js +31 -0
- package/dist/commands/create-page.js.map +1 -0
- package/dist/commands/delete-page.d.ts +3 -0
- package/dist/commands/delete-page.d.ts.map +1 -0
- package/dist/commands/delete-page.js +28 -0
- package/dist/commands/delete-page.js.map +1 -0
- package/dist/commands/delete-theme-globals.d.ts +4 -0
- package/dist/commands/delete-theme-globals.d.ts.map +1 -0
- package/dist/commands/delete-theme-globals.js +48 -0
- package/dist/commands/delete-theme-globals.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +218 -31
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/enable-builtin-pages.d.ts +3 -0
- package/dist/commands/enable-builtin-pages.d.ts.map +1 -0
- package/dist/commands/enable-builtin-pages.js +27 -0
- package/dist/commands/enable-builtin-pages.js.map +1 -0
- package/dist/commands/get-component-props.d.ts +3 -0
- package/dist/commands/get-component-props.d.ts.map +1 -0
- package/dist/commands/get-component-props.js +32 -0
- package/dist/commands/get-component-props.js.map +1 -0
- package/dist/commands/get-page-by-type.d.ts +3 -0
- package/dist/commands/get-page-by-type.d.ts.map +1 -0
- package/dist/commands/get-page-by-type.js +25 -0
- package/dist/commands/get-page-by-type.js.map +1 -0
- package/dist/commands/get-section-values.d.ts +3 -0
- package/dist/commands/get-section-values.d.ts.map +1 -0
- package/dist/commands/get-section-values.js +39 -0
- package/dist/commands/get-section-values.js.map +1 -0
- package/dist/commands/list-builtin-pages.d.ts +3 -0
- package/dist/commands/list-builtin-pages.d.ts.map +1 -0
- package/dist/commands/list-builtin-pages.js +28 -0
- package/dist/commands/list-builtin-pages.js.map +1 -0
- package/dist/commands/list-entities.d.ts +3 -0
- package/dist/commands/list-entities.d.ts.map +1 -0
- package/dist/commands/list-entities.js +32 -0
- package/dist/commands/list-entities.js.map +1 -0
- package/dist/commands/list-page-sections.d.ts.map +1 -1
- package/dist/commands/list-page-sections.js +8 -2
- package/dist/commands/list-page-sections.js.map +1 -1
- package/dist/commands/list-theme-globals.d.ts +3 -0
- package/dist/commands/list-theme-globals.d.ts.map +1 -0
- package/dist/commands/list-theme-globals.js +22 -0
- package/dist/commands/list-theme-globals.js.map +1 -0
- package/dist/commands/move-page-section.d.ts +3 -0
- package/dist/commands/move-page-section.d.ts.map +1 -0
- package/dist/commands/move-page-section.js +62 -0
- package/dist/commands/move-page-section.js.map +1 -0
- package/dist/commands/publish-theme.d.ts +3 -0
- package/dist/commands/publish-theme.d.ts.map +1 -0
- package/dist/commands/publish-theme.js +29 -0
- package/dist/commands/publish-theme.js.map +1 -0
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +54 -3
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/remove-page-section.d.ts +3 -0
- package/dist/commands/remove-page-section.d.ts.map +1 -0
- package/dist/commands/remove-page-section.js +40 -0
- package/dist/commands/remove-page-section.js.map +1 -0
- package/dist/commands/search-products.d.ts +3 -0
- package/dist/commands/search-products.d.ts.map +1 -0
- package/dist/commands/search-products.js +40 -0
- package/dist/commands/search-products.js.map +1 -0
- package/dist/commands/update-builtin-page-prop.d.ts +3 -0
- package/dist/commands/update-builtin-page-prop.d.ts.map +1 -0
- package/dist/commands/update-builtin-page-prop.js +49 -0
- package/dist/commands/update-builtin-page-prop.js.map +1 -0
- package/dist/commands/update-global-variable.d.ts +3 -0
- package/dist/commands/update-global-variable.d.ts.map +1 -0
- package/dist/commands/update-global-variable.js +70 -0
- package/dist/commands/update-global-variable.js.map +1 -0
- package/dist/commands/update-page-sections.d.ts +3 -0
- package/dist/commands/update-page-sections.d.ts.map +1 -0
- package/dist/commands/update-page-sections.js +39 -0
- package/dist/commands/update-page-sections.js.map +1 -0
- package/dist/commands/update-section-prop.d.ts.map +1 -1
- package/dist/commands/update-section-prop.js +25 -8
- package/dist/commands/update-section-prop.js.map +1 -1
- package/dist/commands/upload-image.d.ts.map +1 -1
- package/dist/commands/upload-image.js +5 -46
- package/dist/commands/upload-image.js.map +1 -1
- package/dist/commands/upload-images.d.ts +3 -0
- package/dist/commands/upload-images.d.ts.map +1 -0
- package/dist/commands/upload-images.js +48 -0
- package/dist/commands/upload-images.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +51 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/archive-project.d.ts +69 -0
- package/dist/utils/archive-project.d.ts.map +1 -0
- package/dist/utils/archive-project.js +202 -0
- package/dist/utils/archive-project.js.map +1 -0
- package/dist/utils/compile.d.ts +17 -2
- package/dist/utils/compile.d.ts.map +1 -1
- package/dist/utils/compile.js +750 -117
- package/dist/utils/compile.js.map +1 -1
- package/dist/utils/component-helpers.d.ts +167 -2
- package/dist/utils/component-helpers.d.ts.map +1 -1
- package/dist/utils/component-helpers.js +452 -29
- package/dist/utils/component-helpers.js.map +1 -1
- package/dist/utils/css-import-resolver.d.ts +4 -1
- package/dist/utils/css-import-resolver.d.ts.map +1 -1
- package/dist/utils/css-import-resolver.js +9 -1
- package/dist/utils/css-import-resolver.js.map +1 -1
- package/dist/utils/editor-action-client.d.ts +4 -3
- package/dist/utils/editor-action-client.d.ts.map +1 -1
- package/dist/utils/editor-action-client.js +55 -19
- package/dist/utils/editor-action-client.js.map +1 -1
- package/dist/utils/esm-transform.d.ts +30 -0
- package/dist/utils/esm-transform.d.ts.map +1 -1
- package/dist/utils/esm-transform.js +169 -2
- package/dist/utils/esm-transform.js.map +1 -1
- package/dist/utils/find-component-for-file.d.ts +12 -0
- package/dist/utils/find-component-for-file.d.ts.map +1 -0
- package/dist/utils/find-component-for-file.js +24 -0
- package/dist/utils/find-component-for-file.js.map +1 -0
- package/dist/utils/forbid-deep-imports.d.ts +3 -0
- package/dist/utils/forbid-deep-imports.d.ts.map +1 -0
- package/dist/utils/forbid-deep-imports.js +54 -0
- package/dist/utils/forbid-deep-imports.js.map +1 -0
- package/dist/utils/forbid-external-packages.d.ts +26 -0
- package/dist/utils/forbid-external-packages.d.ts.map +1 -0
- package/dist/utils/forbid-external-packages.js +99 -0
- package/dist/utils/forbid-external-packages.js.map +1 -0
- package/dist/utils/load-image.d.ts +16 -0
- package/dist/utils/load-image.d.ts.map +1 -0
- package/dist/utils/load-image.js +50 -0
- package/dist/utils/load-image.js.map +1 -0
- package/dist/utils/vendor-storefront.d.ts +13 -0
- package/dist/utils/vendor-storefront.d.ts.map +1 -0
- package/dist/utils/vendor-storefront.js +91 -0
- package/dist/utils/vendor-storefront.js.map +1 -0
- package/dist/utils/websocket-server.d.ts +119 -5
- package/dist/utils/websocket-server.d.ts.map +1 -1
- package/dist/utils/websocket-server.js +255 -44
- package/dist/utils/websocket-server.js.map +1 -1
- package/package.json +19 -2
- package/templates/add/section.css +11 -0
- package/dist/commands/create.d.ts +0 -4
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -228
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/proxy.d.ts +0 -39
- package/dist/commands/proxy.d.ts.map +0 -1
- package/dist/commands/proxy.js +0 -210
- 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 →
|
|
13
|
-
//
|
|
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,41 @@ export class DevServerWebSocket {
|
|
|
47
57
|
this.wss.emit("connection", ws, req);
|
|
48
58
|
});
|
|
49
59
|
});
|
|
50
|
-
this.wss.on("connection", (ws) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
+
const clientInfo = {
|
|
73
|
+
isControl,
|
|
74
|
+
lastActivityAt: Date.now(),
|
|
75
|
+
lastVisibleAt: 0
|
|
76
|
+
};
|
|
77
|
+
this.clientInfo.set(ws, clientInfo);
|
|
78
|
+
if (!isControl)
|
|
79
|
+
console.log(chalk.green(" Editor connected"));
|
|
80
|
+
// Send initial state on connection. Control clients discard it, and
|
|
81
|
+
// it carries every component's compiled JS/CSS — no point shipping
|
|
82
|
+
// the whole dev bundle to a socket that exists to send one command.
|
|
83
|
+
if (!isControl) {
|
|
84
|
+
const state = handlers.onRequestState();
|
|
85
|
+
this.sendTo(ws, {
|
|
86
|
+
type: "initial-state",
|
|
87
|
+
payload: {
|
|
88
|
+
components: state.components,
|
|
89
|
+
sharedModules: state.sharedModules,
|
|
90
|
+
globalStyles: state.globalStyles,
|
|
91
|
+
timestamp: Date.now()
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
64
95
|
ws.on("message", (data) => {
|
|
65
96
|
try {
|
|
66
97
|
const message = JSON.parse(data.toString());
|
|
@@ -73,13 +104,18 @@ export class DevServerWebSocket {
|
|
|
73
104
|
}
|
|
74
105
|
});
|
|
75
106
|
ws.on("close", () => {
|
|
76
|
-
this.
|
|
107
|
+
this.clientInfo.delete(ws);
|
|
77
108
|
this.dropPendingEditorActionsForClient(ws);
|
|
78
|
-
|
|
109
|
+
// Read the live flag, not the connect-time one: legacy control
|
|
110
|
+
// clients (no `?client=control`) are only marked once they send an
|
|
111
|
+
// `editor-action`. The object outlives the map entry, which the
|
|
112
|
+
// "error" handler may already have removed.
|
|
113
|
+
if (!clientInfo.isControl)
|
|
114
|
+
console.log(chalk.yellow(" Editor disconnected"));
|
|
79
115
|
});
|
|
80
116
|
ws.on("error", (error) => {
|
|
81
117
|
console.error(chalk.red(" WebSocket error:"), error.message);
|
|
82
|
-
this.
|
|
118
|
+
this.clientInfo.delete(ws);
|
|
83
119
|
this.dropPendingEditorActionsForClient(ws);
|
|
84
120
|
});
|
|
85
121
|
});
|
|
@@ -104,10 +140,36 @@ export class DevServerWebSocket {
|
|
|
104
140
|
* Handle incoming messages from editor
|
|
105
141
|
*/
|
|
106
142
|
async handleMessage(ws, message, handlers) {
|
|
143
|
+
const info = this.clientInfo.get(ws);
|
|
144
|
+
if (info) {
|
|
145
|
+
// Heartbeats are not activity: they would reshuffle which tab wins ties.
|
|
146
|
+
if (message.type !== "ping")
|
|
147
|
+
info.lastActivityAt = Date.now();
|
|
148
|
+
// Fallback for control clients too old to send `?client=control`: only
|
|
149
|
+
// they issue `editor-action` or `request-types` (the editor pushes
|
|
150
|
+
// `sync-types`, it never requests them), and the mark is sticky.
|
|
151
|
+
if (message.type === "editor-action" || message.type === "request-types")
|
|
152
|
+
info.isControl = true;
|
|
153
|
+
}
|
|
107
154
|
switch (message.type) {
|
|
108
155
|
case "subscribe":
|
|
109
156
|
// Already subscribed on connection
|
|
110
157
|
break;
|
|
158
|
+
case "editor-hello": {
|
|
159
|
+
// Record which tab is visible so commands land on the one the user is
|
|
160
|
+
// looking at.
|
|
161
|
+
if (info) {
|
|
162
|
+
if (message.payload?.visible)
|
|
163
|
+
info.lastVisibleAt = Date.now();
|
|
164
|
+
if (message.payload?.label)
|
|
165
|
+
info.label = message.payload.label;
|
|
166
|
+
if (message.payload?.themeId)
|
|
167
|
+
info.themeId = message.payload.themeId;
|
|
168
|
+
if (message.payload?.tabId)
|
|
169
|
+
info.tabId = message.payload.tabId;
|
|
170
|
+
}
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
111
173
|
case "request-state": {
|
|
112
174
|
const state = handlers.onRequestState();
|
|
113
175
|
this.sendTo(ws, {
|
|
@@ -297,7 +359,7 @@ export class DevServerWebSocket {
|
|
|
297
359
|
}
|
|
298
360
|
case "sync-types": {
|
|
299
361
|
if (handlers.onSyncTypes) {
|
|
300
|
-
handlers.onSyncTypes(message.payload.types, message.payload.customTypes);
|
|
362
|
+
handlers.onSyncTypes(message.payload.types, message.payload.customTypes, message.payload.themeSettings);
|
|
301
363
|
}
|
|
302
364
|
break;
|
|
303
365
|
}
|
|
@@ -350,39 +412,112 @@ export class DevServerWebSocket {
|
|
|
350
412
|
}
|
|
351
413
|
break;
|
|
352
414
|
}
|
|
415
|
+
case "archive-project": {
|
|
416
|
+
if (!handlers.onArchiveProject) {
|
|
417
|
+
this.sendTo(ws, { type: "command-error", requestId: message.requestId, error: "archive-project not supported" });
|
|
418
|
+
break;
|
|
419
|
+
}
|
|
420
|
+
try {
|
|
421
|
+
const result = await handlers.onArchiveProject(message.payload ?? {});
|
|
422
|
+
this.sendTo(ws, { type: "command-success", requestId: message.requestId, payload: result });
|
|
423
|
+
}
|
|
424
|
+
catch (e) {
|
|
425
|
+
this.sendTo(ws, { type: "command-error", requestId: message.requestId, error: e.message || "Failed to archive project" });
|
|
426
|
+
}
|
|
427
|
+
break;
|
|
428
|
+
}
|
|
353
429
|
case "editor-action": {
|
|
354
430
|
// Control client (e.g., `ikas-component list-pages`) asks the dev server
|
|
355
|
-
// to forward an action to the
|
|
356
|
-
//
|
|
357
|
-
|
|
358
|
-
|
|
431
|
+
// to forward an action to the editor. An action is a COMMAND, not a
|
|
432
|
+
// broadcast: every tab that receives it applies it to the shared Yjs
|
|
433
|
+
// document, so N open tabs would import N copies of a component and
|
|
434
|
+
// place N copies of its section. Route it to exactly one editor.
|
|
435
|
+
const fail = (error, retryable) => {
|
|
359
436
|
this.sendTo(ws, {
|
|
360
437
|
type: "editor-action-result",
|
|
361
438
|
requestId: message.requestId,
|
|
362
439
|
success: false,
|
|
363
|
-
error
|
|
440
|
+
error,
|
|
441
|
+
...(retryable ? { retryable: true } : {}),
|
|
364
442
|
});
|
|
365
|
-
|
|
443
|
+
};
|
|
444
|
+
let target = null;
|
|
445
|
+
const pinnedTabId = this.forwardedEditorActions.get(message.requestId);
|
|
446
|
+
if (pinnedTabId) {
|
|
447
|
+
// A retried requestId is pinned to the tab that first received it:
|
|
448
|
+
// that tab replays its stored result (exactly-once); any other tab
|
|
449
|
+
// would execute the action a second time. Last match wins — a
|
|
450
|
+
// reconnected tab registers after its lingering zombie socket.
|
|
451
|
+
for (const [client, info] of this.clientInfo) {
|
|
452
|
+
if (info.tabId === pinnedTabId && client.readyState === WebSocket.OPEN)
|
|
453
|
+
target = client;
|
|
454
|
+
}
|
|
455
|
+
if (!target) {
|
|
456
|
+
fail("The editor that first received this action is not back yet — it may already have been applied; verify before re-running manually", true);
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
366
459
|
}
|
|
367
|
-
|
|
368
|
-
|
|
460
|
+
else {
|
|
461
|
+
const picked = this.pickEditorActionTarget(ws);
|
|
462
|
+
if (picked.conflictingThemes) {
|
|
463
|
+
fail(`Editors for different themes are connected (${picked.conflictingThemes.join(", ")}) — ` +
|
|
464
|
+
`close the editor tabs for the other themes and try again`);
|
|
465
|
+
break;
|
|
466
|
+
}
|
|
467
|
+
if (picked.hasUnidentified) {
|
|
468
|
+
// A tab with no theme identity next to identified ones could be on
|
|
469
|
+
// ANY theme — routing either way risks mutating the wrong one.
|
|
470
|
+
// Transient for a tab that is still loading, hence retryable.
|
|
471
|
+
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);
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
if (!picked.target) {
|
|
475
|
+
fail("No editor connected — open the editor and try again");
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
478
|
+
target = picked.target;
|
|
479
|
+
if (picked.candidates > 1) {
|
|
480
|
+
const label = this.clientInfo.get(target)?.label ?? "the most recently active tab";
|
|
481
|
+
console.log(chalk.yellow(` ${picked.candidates} editors connected — sending "${message.action}" to ${label} only`));
|
|
482
|
+
}
|
|
483
|
+
const targetTabId = this.clientInfo.get(target)?.tabId;
|
|
484
|
+
if (targetTabId) {
|
|
485
|
+
this.forwardedEditorActions.set(message.requestId, targetTabId);
|
|
486
|
+
if (this.forwardedEditorActions.size > 500) {
|
|
487
|
+
const oldest = this.forwardedEditorActions.keys().next().value;
|
|
488
|
+
if (oldest !== undefined)
|
|
489
|
+
this.forwardedEditorActions.delete(oldest);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
this.pendingEditorActions.set(message.requestId, { sender: ws, target });
|
|
494
|
+
this.sendTo(target, {
|
|
369
495
|
type: "editor-action",
|
|
370
496
|
requestId: message.requestId,
|
|
371
497
|
action: message.action,
|
|
372
498
|
payload: message.payload,
|
|
373
|
-
};
|
|
374
|
-
for (const client of otherClients) {
|
|
375
|
-
this.sendTo(client, forwarded);
|
|
376
|
-
}
|
|
499
|
+
});
|
|
377
500
|
break;
|
|
378
501
|
}
|
|
379
502
|
case "editor-action-result": {
|
|
380
503
|
// Editor replied to a previously forwarded `editor-action`. Route the
|
|
381
|
-
// result back to the original control-client sender.
|
|
382
|
-
|
|
504
|
+
// result back to the original control-client sender. Only the targeted
|
|
505
|
+
// editor may answer — except when a legacy target's socket dropped
|
|
506
|
+
// (`targetGone`): its reply arrives on a reconnected socket, and
|
|
507
|
+
// pre-routing servers accepted exactly that.
|
|
508
|
+
const pending = this.pendingEditorActions.get(message.requestId);
|
|
509
|
+
if (!pending)
|
|
510
|
+
break;
|
|
511
|
+
const fromTarget = pending.target === ws;
|
|
512
|
+
const legacyLateReply = pending.targetGone === true && !this.clientInfo.get(ws)?.isControl;
|
|
513
|
+
if (!fromTarget && !legacyLateReply)
|
|
514
|
+
break;
|
|
383
515
|
this.pendingEditorActions.delete(message.requestId);
|
|
384
|
-
|
|
385
|
-
|
|
516
|
+
// The exchange is complete — free the pin so the FIFO cap only ever
|
|
517
|
+
// holds in-flight or lost-reply requests.
|
|
518
|
+
this.forwardedEditorActions.delete(message.requestId);
|
|
519
|
+
if (pending.sender.readyState === WebSocket.OPEN) {
|
|
520
|
+
this.sendTo(pending.sender, {
|
|
386
521
|
type: "editor-action-result",
|
|
387
522
|
requestId: message.requestId,
|
|
388
523
|
success: message.success,
|
|
@@ -411,10 +546,85 @@ export class DevServerWebSocket {
|
|
|
411
546
|
* dead socket.
|
|
412
547
|
*/
|
|
413
548
|
dropPendingEditorActionsForClient(ws) {
|
|
414
|
-
for (const [requestId,
|
|
415
|
-
if (sender === ws)
|
|
549
|
+
for (const [requestId, pending] of this.pendingEditorActions) {
|
|
550
|
+
if (pending.sender === ws) {
|
|
551
|
+
// Nobody is left to retry or receive this request.
|
|
416
552
|
this.pendingEditorActions.delete(requestId);
|
|
553
|
+
this.forwardedEditorActions.delete(requestId);
|
|
554
|
+
continue;
|
|
555
|
+
}
|
|
556
|
+
if (pending.target === ws) {
|
|
557
|
+
if (this.forwardedEditorActions.has(requestId)) {
|
|
558
|
+
// Pinned target (new editor with a requestId dedup cache): fail fast
|
|
559
|
+
// so the CLI auto-retries the same requestId — the pin routes the
|
|
560
|
+
// retry back to this tab, whose cache makes it exactly-once.
|
|
561
|
+
this.pendingEditorActions.delete(requestId);
|
|
562
|
+
this.sendTo(pending.sender, {
|
|
563
|
+
type: "editor-action-result",
|
|
564
|
+
requestId,
|
|
565
|
+
success: false,
|
|
566
|
+
error: "The editor handling this action disconnected — it may already have been applied; verify before re-running manually",
|
|
567
|
+
retryable: true,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
// Legacy target (no dedup cache): a retry would re-execute the
|
|
572
|
+
// action, and its reply may still arrive on a reconnected socket.
|
|
573
|
+
// Keep waiting like pre-routing servers did; the CLI's own timeout
|
|
574
|
+
// bounds it.
|
|
575
|
+
pending.targetGone = true;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Pick the single editor that should run an `editor-action`, preferring the
|
|
582
|
+
* tab the user is looking at: most recently visible, then most recently
|
|
583
|
+
* active. Control clients are never targets.
|
|
584
|
+
*
|
|
585
|
+
* The server has no theme identity of its own, so ambiguity is refused, not
|
|
586
|
+
* guessed at: tabs reporting DIFFERENT themes → `conflictingThemes`; a tab
|
|
587
|
+
* with NO theme identity (old build or still loading) next to identified
|
|
588
|
+
* ones → `hasUnidentified` — that tab could be on any theme, and routing
|
|
589
|
+
* either way risks silently mutating the wrong one. Only an unambiguous
|
|
590
|
+
* pool (all identified with one theme, or all unidentified legacy tabs) is
|
|
591
|
+
* ranked.
|
|
592
|
+
*/
|
|
593
|
+
pickEditorActionTarget(sender) {
|
|
594
|
+
const entries = [];
|
|
595
|
+
for (const [client, info] of this.clientInfo) {
|
|
596
|
+
if (client === sender || info.isControl || client.readyState !== WebSocket.OPEN)
|
|
597
|
+
continue;
|
|
598
|
+
entries.push([client, info]);
|
|
599
|
+
}
|
|
600
|
+
const themeIds = new Set();
|
|
601
|
+
for (const [, info] of entries) {
|
|
602
|
+
if (info.themeId)
|
|
603
|
+
themeIds.add(info.themeId);
|
|
604
|
+
}
|
|
605
|
+
if (themeIds.size > 1) {
|
|
606
|
+
const labels = new Set();
|
|
607
|
+
for (const [, info] of entries) {
|
|
608
|
+
if (info.themeId)
|
|
609
|
+
labels.add(info.label ?? info.themeId);
|
|
610
|
+
}
|
|
611
|
+
return { target: null, candidates: entries.length, conflictingThemes: Array.from(labels) };
|
|
612
|
+
}
|
|
613
|
+
if (themeIds.size === 1 && entries.some(([, info]) => !info.themeId)) {
|
|
614
|
+
return { target: null, candidates: entries.length, hasUnidentified: true };
|
|
615
|
+
}
|
|
616
|
+
let target = null;
|
|
617
|
+
let best = null;
|
|
618
|
+
for (const [client, info] of entries) {
|
|
619
|
+
const wins = !best ||
|
|
620
|
+
info.lastVisibleAt > best.lastVisibleAt ||
|
|
621
|
+
(info.lastVisibleAt === best.lastVisibleAt && info.lastActivityAt > best.lastActivityAt);
|
|
622
|
+
if (wins) {
|
|
623
|
+
target = client;
|
|
624
|
+
best = info;
|
|
625
|
+
}
|
|
417
626
|
}
|
|
627
|
+
return { target, candidates: entries.length };
|
|
418
628
|
}
|
|
419
629
|
/**
|
|
420
630
|
* Send message to a specific client
|
|
@@ -429,7 +639,7 @@ export class DevServerWebSocket {
|
|
|
429
639
|
*/
|
|
430
640
|
broadcast(message) {
|
|
431
641
|
const data = JSON.stringify(message);
|
|
432
|
-
for (const client of this.
|
|
642
|
+
for (const client of this.clientInfo.keys()) {
|
|
433
643
|
if (client.readyState === WebSocket.OPEN) {
|
|
434
644
|
client.send(data);
|
|
435
645
|
}
|
|
@@ -478,13 +688,13 @@ export class DevServerWebSocket {
|
|
|
478
688
|
* Get number of connected clients
|
|
479
689
|
*/
|
|
480
690
|
get clientCount() {
|
|
481
|
-
return this.
|
|
691
|
+
return this.clientInfo.size;
|
|
482
692
|
}
|
|
483
693
|
/**
|
|
484
694
|
* Check if any clients are connected
|
|
485
695
|
*/
|
|
486
696
|
get hasClients() {
|
|
487
|
-
return this.
|
|
697
|
+
return this.clientInfo.size > 0;
|
|
488
698
|
}
|
|
489
699
|
/**
|
|
490
700
|
* Stop the WebSocket server
|
|
@@ -495,10 +705,11 @@ export class DevServerWebSocket {
|
|
|
495
705
|
resolve();
|
|
496
706
|
return;
|
|
497
707
|
}
|
|
498
|
-
for (const client of this.
|
|
708
|
+
for (const client of this.clientInfo.keys()) {
|
|
499
709
|
client.close();
|
|
500
710
|
}
|
|
501
|
-
this.
|
|
711
|
+
this.clientInfo.clear();
|
|
712
|
+
this.pendingEditorActions.clear();
|
|
502
713
|
const closeHttp = () => {
|
|
503
714
|
if (this.httpServer) {
|
|
504
715
|
this.httpServer.close(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/utils/websocket-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAkU1B;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,GAAG,GAA2B,IAAI,CAAC;IACnC,UAAU,GAAuB,IAAI,CAAC;IACtC,OAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;IACpC,IAAI,CAAS;IACrB,sFAAsF;IACtF,iFAAiF;IACzE,oBAAoB,GAA2B,IAAI,GAAG,EAAE,CAAC;IAEjE,YAAY,OAAe,IAAI;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAA+B;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,qEAAqE;gBACrE,2EAA2E;gBAC3E,kDAAkD;gBAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;oBACzC,MAAM,WAAW,GAA2B;wBAC1C,6BAA6B,EAAE,MAAM;wBACrC,kCAAkC,EAAE,MAAM;wBAC1C,sCAAsC,EAAE,MAAM;wBAC9C,8BAA8B,EAAE,cAAc;wBAC9C,8BAA8B,EAC5B,sDAAsD;qBACzD,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBAChC,GAAG,CAAC,GAAG,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrE,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;oBAClD,IAAI,CAAC,GAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;wBAChD,IAAI,CAAC,GAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;oBAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAE/C,mCAAmC;oBACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE;4BACP,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;4BAClC,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB;qBACF,CAAC,CAAC;oBAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;wBACxB,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAkB,CAAC;4BAC7D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gCACpD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACvE,CAAC,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;wBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACxB,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;wBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACxB,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;oBAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC;oBAC3D,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;oBAClD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,EAAa,EACb,OAAsB,EACtB,QAA+B;QAE/B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,mCAAmC;gBACnC,MAAM;YAER,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACd,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE;wBACP,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,MAAM;gBACT,iCAAiC;gBACjC,MAAM;YAER,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,gCAAgC;qBACxC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5F,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,MAAM;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,4BAA4B;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,wBAAwB;qBAChC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,oBAAoB;qBACzC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,2BAA2B;qBACnC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,YAAY,CACzB,OAAO,CAAC,OAAO,CAAC,WAAW,EAC3B,OAAO,CAAC,OAAO,CAAC,QAAQ,EACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CACrB,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,uBAAuB;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,2BAA2B;qBACnC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACnF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,uBAAuB;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;oBAChH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC,CAAC;gBAC3H,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;oBACnH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,6BAA6B,EAAE,CAAC,CAAC;gBAC9H,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;oBACnH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC3F,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,6BAA6B,EAAE,CAAC,CAAC;gBAC9H,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;oBACpH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,8BAA8B,EAAE,CAAC,CAAC;gBAC/H,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;oBACjH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,eAAe,CAC5B,OAAO,CAAC,OAAO,CAAC,WAAW,EAC3B,OAAO,CAAC,OAAO,CAAC,WAAW,EAC3B,OAAO,CAAC,OAAO,CAAC,aAAa,EAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,CACtB,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,2BAA2B,EAAE,CAAC,CAAC;gBAC5H,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACzB,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC3E,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC;gBAClD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;oBAC7G,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC9F,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9F,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC,CAAC;gBACxH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;oBAC7G,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACvG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC,CAAC;gBACxH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;oBAC7G,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC,CAAC;gBACxH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,yEAAyE;gBACzE,uEAAuE;gBACvE,0EAA0E;gBAC1E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzG,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,sBAAsB;wBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,qDAAqD;qBAC7D,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACrD,MAAM,SAAS,GAAqB;oBAClC,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,sEAAsE;gBACtE,qDAAqD;gBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;wBAClB,IAAI,EAAE,sBAAsB;wBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,cAAc,GAAG,OAAgD,CAAC;gBACxE,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,KAAK,EAAE,oBAAoB,cAAc,CAAC,IAAI,2CAA2C;qBAC1F,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,iCAAiC,CAAC,EAAa;QACrD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5D,IAAI,MAAM,KAAK,EAAE;gBAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,EAAa,EAAE,OAAyB;QACrD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAyB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,SAA6B,EAAE,aAAmC,EAAE,YAA+B;QAC1H,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE;gBACP,SAAS;gBACT,aAAa;gBACb,YAAY;gBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,WAAmB,EAAE,KAAa;QACxD,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP,WAAW;gBACX,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,WAAmB;QAC3C,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE;gBACP,WAAW;gBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAErB,MAAM,SAAS,GAAG,GAAG,EAAE;gBACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;wBACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;oBAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;oBAChB,SAAS,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
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,19 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikas/component-cli",
|
|
3
|
-
"version": "1.4.0-beta.
|
|
3
|
+
"version": "1.4.0-beta.212",
|
|
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
|
-
"build": "tsc",
|
|
23
|
+
"build": "rm -rf dist && 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": {
|
|
29
|
+
"archiver": "^7.0.1",
|
|
17
30
|
"chalk": "^5.3.0",
|
|
18
31
|
"chokidar": "^3.5.3",
|
|
19
32
|
"commander": "^11.1.0",
|
|
@@ -24,9 +37,13 @@
|
|
|
24
37
|
"ws": "^8.14.2"
|
|
25
38
|
},
|
|
26
39
|
"devDependencies": {
|
|
40
|
+
"@types/archiver": "^6.0.2",
|
|
27
41
|
"@types/inquirer": "^9.0.7",
|
|
42
|
+
"@types/jest": "^29.5.12",
|
|
28
43
|
"@types/node": "^20.10.0",
|
|
29
44
|
"@types/ws": "^8.5.10",
|
|
45
|
+
"jest": "^29.7.0",
|
|
46
|
+
"ts-jest": "^29.1.5",
|
|
30
47
|
"typescript": "^5.3.0"
|
|
31
48
|
},
|
|
32
49
|
"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 +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"}
|