likec4 1.59.2 → 1.59.4
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/__app__/src/chunks/AIChat.mjs +118 -123
- package/__app__/src/chunks/LikeC4Styles.mjs +828 -686
- package/__app__/src/chunks/ProjectsOverview.mjs +82 -82
- package/__app__/src/chunks/es.mjs +1 -1
- package/__app__/src/chunks/hooks.mjs +164 -135
- package/__app__/src/chunks/libs/@floating-ui.mjs +649 -335
- package/__app__/src/chunks/libs/@mantine.mjs +2934 -2040
- package/__app__/src/chunks/libs/@tanstack-ai.mjs +28 -28
- package/__app__/src/chunks/libs/@tanstack.mjs +46 -51
- package/__app__/src/chunks/libs/@xstate/react.mjs +59 -40
- package/__app__/src/chunks/libs/@xyflow/react.mjs +535 -448
- package/__app__/src/chunks/libs/bezier-js.mjs +10 -9
- package/__app__/src/chunks/libs/d3.mjs +20 -45
- package/__app__/src/chunks/libs/fast-equals.mjs +62 -50
- package/__app__/src/chunks/libs/framer.mjs +300 -279
- package/__app__/src/chunks/libs/zod.mjs +17 -14
- package/__app__/src/chunks/rolldown-runtime.mjs +2 -2
- package/__app__/src/chunks/styled-system.mjs +2580 -132
- package/__app__/src/main.mjs +24925 -23485
- package/__app__/src/style.css +1 -1
- package/config/schema.json +49 -0
- package/dist/app/render-view-client.css +1 -0
- package/dist/app/render-view-client.js +739 -0
- package/dist/chunks/enableServer.mjs +1 -1
- package/dist/chunks/filenames.mjs +7 -6
- package/dist/chunks/index.d.mts +18 -1
- package/dist/chunks/index2.d.mts +79 -26
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
- package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +5 -5
- package/dist/chunks/libs/@chevrotain/types.d.mts +108 -0
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -4
- package/dist/chunks/libs/@lume/kiwi.mjs +1 -1
- package/dist/chunks/libs/birpc.mjs +1 -1
- package/dist/chunks/libs/chevrotain-allstar.mjs +1 -1
- package/dist/chunks/libs/chevrotain.mjs +16 -16
- package/dist/chunks/libs/json5.mjs +3 -3
- package/dist/chunks/libs/langium.d.mts +1777 -16
- package/dist/chunks/libs/langium.mjs +11 -11
- package/dist/chunks/libs/merge-error-cause.mjs +2 -2
- package/dist/chunks/libs/p-queue.mjs +1 -1
- package/dist/chunks/libs/package-manager-detector.mjs +1 -1
- package/dist/chunks/libs/pako.mjs +2 -2
- package/dist/chunks/libs/picomatch.mjs +1 -1
- package/dist/chunks/libs/pretty-ms.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/ufo.mjs +1 -1
- package/dist/chunks/libs/unstorage.mjs +1 -1
- package/dist/chunks/libs/zod.d.mts +1717 -17
- package/dist/chunks/libs/zod.mjs +4 -4
- package/dist/chunks/node.mjs +68 -57
- package/dist/chunks/rolldown-runtime.mjs +1 -1
- package/dist/chunks/sequence-view.mjs +1 -1
- package/dist/chunks/vite-plugin.mjs +168 -54
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.mjs +291 -165
- package/dist/config/index.d.mts +7 -1
- package/dist/config/index.mjs +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +4 -4
- package/dist/vite-plugin/index.d.mts +2 -2
- package/dist/vite-plugin/internal/index.d.mts +72 -35
- package/dist/vite-plugin/internal/index.mjs +125 -44
- package/package.json +47 -47
- package/react/index.d.mts +22767 -1432
- package/react/index.mjs +38152 -32309
- package/vite-plugin-modules.d.ts +21 -1
- package/dist/chunks/dist.mjs +0 -10
- package/dist/chunks/logger.mjs +0 -1
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
import { LikeC4Model } from "@likec4/core/model";
|
|
2
2
|
import { useCallback, useMemo, useRef, useSyncExternalStore } from "react";
|
|
3
3
|
|
|
4
|
-
//#region ../../node_modules/.pnpm/nanostores@1.3
|
|
4
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/atom/index.js
|
|
5
5
|
let listenerQueue = [];
|
|
6
6
|
let lqIndex = 0;
|
|
7
|
+
let batchSeen = null;
|
|
7
8
|
const QUEUE_ITEMS_PER_LISTENER = 4;
|
|
8
9
|
const nanostoresGlobal = globalThis.nanostoresGlobal ||= { epoch: 0 };
|
|
10
|
+
let drainQueue = () => {
|
|
11
|
+
let thrown;
|
|
12
|
+
let i;
|
|
13
|
+
while (lqIndex < listenerQueue.length) {
|
|
14
|
+
i = lqIndex;
|
|
15
|
+
lqIndex += QUEUE_ITEMS_PER_LISTENER;
|
|
16
|
+
try {
|
|
17
|
+
listenerQueue[i](listenerQueue[i + 1].value, listenerQueue[i + 2], listenerQueue[i + 3]);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
thrown = e;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
listenerQueue.length = lqIndex = 0;
|
|
23
|
+
if (thrown) throw thrown;
|
|
24
|
+
};
|
|
9
25
|
const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
10
26
|
let listeners = [];
|
|
11
27
|
let $atom = {
|
|
28
|
+
eq: Object.is,
|
|
12
29
|
get() {
|
|
13
30
|
if (!$atom.lc) $atom.listen(() => {})();
|
|
14
31
|
return $atom.value;
|
|
@@ -18,7 +35,7 @@ const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
|
18
35
|
listen(listener) {
|
|
19
36
|
$atom.lc = listeners.push(listener);
|
|
20
37
|
return () => {
|
|
21
|
-
for (let i = lqIndex
|
|
38
|
+
for (let i = lqIndex; i < listenerQueue.length;) if (listenerQueue[i] === listener) listenerQueue.splice(i, QUEUE_ITEMS_PER_LISTENER);
|
|
22
39
|
else i += QUEUE_ITEMS_PER_LISTENER;
|
|
23
40
|
let index = listeners.indexOf(listener);
|
|
24
41
|
if (~index) {
|
|
@@ -29,17 +46,18 @@ const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
|
29
46
|
},
|
|
30
47
|
notify(oldValue, changedKey) {
|
|
31
48
|
nanostoresGlobal.epoch++;
|
|
32
|
-
let runListenerQueue = !listenerQueue.length;
|
|
33
|
-
for (let listener of listeners)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
listenerQueue.
|
|
49
|
+
let runListenerQueue = !listenerQueue.length && !batchSeen;
|
|
50
|
+
for (let listener of listeners) {
|
|
51
|
+
if (batchSeen?.has(listener)) continue;
|
|
52
|
+
batchSeen?.add(listener);
|
|
53
|
+
listenerQueue.push(listener, $atom, oldValue, batchSeen ? void 0 : changedKey);
|
|
37
54
|
}
|
|
55
|
+
if (runListenerQueue) drainQueue();
|
|
38
56
|
},
|
|
39
57
|
off() {},
|
|
40
58
|
set(newValue) {
|
|
41
59
|
let oldValue = $atom.value;
|
|
42
|
-
if (oldValue
|
|
60
|
+
if (!$atom.eq(oldValue, newValue)) {
|
|
43
61
|
$atom.value = newValue;
|
|
44
62
|
$atom.notify(oldValue);
|
|
45
63
|
}
|
|
@@ -55,7 +73,7 @@ const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
|
55
73
|
};
|
|
56
74
|
|
|
57
75
|
//#endregion
|
|
58
|
-
//#region ../../node_modules/.pnpm/nanostores@1.3
|
|
76
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/lifecycle/index.js
|
|
59
77
|
const MOUNT = 5;
|
|
60
78
|
const UNMOUNT = 6;
|
|
61
79
|
const REVERT_MUTATION = 10;
|
|
@@ -72,11 +90,12 @@ let on = (object, listener, eventKey, mutateStore) => {
|
|
|
72
90
|
return () => {
|
|
73
91
|
let currentListeners = object.events[eventKey];
|
|
74
92
|
let index = currentListeners.indexOf(listener);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
93
|
+
if (~index) {
|
|
94
|
+
currentListeners.splice(index, 1);
|
|
95
|
+
if (!currentListeners.length) {
|
|
96
|
+
object.events[eventKey + REVERT_MUTATION]();
|
|
97
|
+
delete object.events[eventKey + REVERT_MUTATION];
|
|
98
|
+
}
|
|
80
99
|
}
|
|
81
100
|
};
|
|
82
101
|
};
|
|
@@ -115,7 +134,7 @@ let onMount = ($store, initialize) => {
|
|
|
115
134
|
};
|
|
116
135
|
|
|
117
136
|
//#endregion
|
|
118
|
-
//#region ../../node_modules/.pnpm/nanostores@1.3
|
|
137
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/computed/index.js
|
|
119
138
|
let computedStore = (stores, cb, batched) => {
|
|
120
139
|
if (!Array.isArray(stores)) stores = [stores];
|
|
121
140
|
let previousArgs;
|
|
@@ -124,7 +143,7 @@ let computedStore = (stores, cb, batched) => {
|
|
|
124
143
|
if (currentEpoch === nanostoresGlobal.epoch) return;
|
|
125
144
|
currentEpoch = nanostoresGlobal.epoch;
|
|
126
145
|
let args = stores.map(($store) => $store.get());
|
|
127
|
-
if (!previousArgs
|
|
146
|
+
if (!previousArgs?.every((arg, i) => stores[i].eq(arg, args[i]))) {
|
|
128
147
|
previousArgs = args;
|
|
129
148
|
let value = cb(...args);
|
|
130
149
|
if (value && value.then && value.t) value.then((asyncValue) => {
|
|
@@ -136,7 +155,7 @@ let computedStore = (stores, cb, batched) => {
|
|
|
136
155
|
}
|
|
137
156
|
}
|
|
138
157
|
};
|
|
139
|
-
let $computed = /* @__PURE__ */ atom(
|
|
158
|
+
let $computed = /* @__PURE__ */ atom();
|
|
140
159
|
let get = $computed.get;
|
|
141
160
|
$computed.get = () => {
|
|
142
161
|
set();
|
|
@@ -160,25 +179,49 @@ const computed = /* @__NO_SIDE_EFFECTS__ */ (stores, fn) => computedStore(stores
|
|
|
160
179
|
const batched = /* @__NO_SIDE_EFFECTS__ */ (stores, fn) => computedStore(stores, fn, true);
|
|
161
180
|
|
|
162
181
|
//#endregion
|
|
163
|
-
//#region ../../node_modules/.pnpm/nanostores@1.3
|
|
182
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/deep-map/path.js
|
|
183
|
+
function getPath(obj, path) {
|
|
184
|
+
let allKeys = getAllKeysFromPath(path);
|
|
185
|
+
let res = obj;
|
|
186
|
+
for (let key of allKeys) {
|
|
187
|
+
if (res == null) return;
|
|
188
|
+
res = res[key];
|
|
189
|
+
}
|
|
190
|
+
return res;
|
|
191
|
+
}
|
|
192
|
+
const ARRAY_INDEX = /(.*)\[(\d+)\]/;
|
|
193
|
+
function getAllKeysFromPath(path) {
|
|
194
|
+
return path.split(".").flatMap((key) => getKeyAndIndicesFromKey(key));
|
|
195
|
+
}
|
|
196
|
+
function getKeyAndIndicesFromKey(key) {
|
|
197
|
+
if (ARRAY_INDEX.test(key)) {
|
|
198
|
+
let [, keyPart, index] = key.match(ARRAY_INDEX);
|
|
199
|
+
return [...getKeyAndIndicesFromKey(keyPart), index];
|
|
200
|
+
}
|
|
201
|
+
return [key];
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/listen-keys/index.js
|
|
164
206
|
function listenKeys($store, keys, listener) {
|
|
165
|
-
let keysSet = new Set(keys)
|
|
207
|
+
let keysSet = new Set(keys);
|
|
166
208
|
return $store.listen((value, oldValue, changed) => {
|
|
167
|
-
if (keysSet.has(changed)) listener(value, oldValue, changed);
|
|
209
|
+
if (changed === void 0 ? keys.some((key) => oldValue === void 0 || value[key] !== oldValue[key] || getPath(value, key) !== getPath(oldValue, key)) : keysSet.has(changed) || keysSet.has(changed.split(/\.|\[/)[0])) listener(value, oldValue, changed);
|
|
168
210
|
});
|
|
169
211
|
}
|
|
170
212
|
|
|
171
213
|
//#endregion
|
|
172
|
-
//#region ../../node_modules/.pnpm/nanostores@1.3
|
|
214
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/map/index.js
|
|
173
215
|
const map = /* @__NO_SIDE_EFFECTS__ */ (initial = {}) => {
|
|
174
216
|
let $map = /* @__PURE__ */ atom(initial);
|
|
217
|
+
$map.eqKey = Object.is;
|
|
175
218
|
$map.setKey = function(key, value) {
|
|
176
219
|
let oldMap = $map.value;
|
|
177
220
|
if (typeof value === "undefined" && key in $map.value) {
|
|
178
221
|
$map.value = { ...$map.value };
|
|
179
222
|
delete $map.value[key];
|
|
180
223
|
$map.notify(oldMap, key);
|
|
181
|
-
} else if ($map.value[key]
|
|
224
|
+
} else if (!$map.eqKey($map.value[key], value, key)) {
|
|
182
225
|
$map.value = {
|
|
183
226
|
...$map.value,
|
|
184
227
|
[key]: value
|
|
@@ -190,7 +233,7 @@ const map = /* @__NO_SIDE_EFFECTS__ */ (initial = {}) => {
|
|
|
190
233
|
};
|
|
191
234
|
|
|
192
235
|
//#endregion
|
|
193
|
-
//#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.
|
|
236
|
+
//#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.5.3_react@19.2.8/node_modules/@nanostores/react/index.js
|
|
194
237
|
let emit = (snapshotRef, onChange) => (value) => {
|
|
195
238
|
if (snapshotRef.current === value) return;
|
|
196
239
|
snapshotRef.current = value;
|
|
@@ -210,9 +253,7 @@ function useStore(store, { keys, deps = [store, keys], ssr } = {}) {
|
|
|
210
253
|
}
|
|
211
254
|
|
|
212
255
|
//#endregion
|
|
213
|
-
//#region ../../node_modules/.pnpm/birpc@4.
|
|
214
|
-
const TYPE_REQUEST = "q";
|
|
215
|
-
const TYPE_RESPONSE = "s";
|
|
256
|
+
//#region ../../node_modules/.pnpm/birpc@4.2.0/node_modules/birpc/dist/index.mjs
|
|
216
257
|
function createPromiseWithResolvers() {
|
|
217
258
|
let resolve;
|
|
218
259
|
let reject;
|
|
@@ -248,7 +289,7 @@ function createBirpc($functions, options) {
|
|
|
248
289
|
const req = {
|
|
249
290
|
m: method,
|
|
250
291
|
a: args,
|
|
251
|
-
t:
|
|
292
|
+
t: "q"
|
|
252
293
|
};
|
|
253
294
|
if (optional) req.o = true;
|
|
254
295
|
const send = async (_req) => post(serialize(_req));
|
|
@@ -302,7 +343,7 @@ function createBirpc($functions, options) {
|
|
|
302
343
|
$call: (method, ...args) => _call(method, args, false),
|
|
303
344
|
$callOptional: (method, ...args) => _call(method, args, false, true),
|
|
304
345
|
$callEvent: (method, ...args) => _call(method, args, true),
|
|
305
|
-
$callRaw: (options
|
|
346
|
+
$callRaw: (options) => _call(options.method, options.args, options.event, options.optional),
|
|
306
347
|
$rejectPendingCalls,
|
|
307
348
|
get $closed() {
|
|
308
349
|
return $closed;
|
|
@@ -314,7 +355,7 @@ function createBirpc($functions, options) {
|
|
|
314
355
|
$functions
|
|
315
356
|
};
|
|
316
357
|
if (proxify) rpc = new Proxy({}, { get(_, method) {
|
|
317
|
-
if (Object.
|
|
358
|
+
if (Object.hasOwn(builtinMethods, method)) return builtinMethods[method];
|
|
318
359
|
if (method === "then" && !eventNames.includes("then") && !("then" in $functions)) return void 0;
|
|
319
360
|
const sendEvent = (...args) => _call(method, args, true);
|
|
320
361
|
if (eventNames.includes(method)) {
|
|
@@ -358,7 +399,7 @@ function createBirpc($functions, options) {
|
|
|
358
399
|
if (options.onGeneralError?.call(rpc, e) !== true) throw e;
|
|
359
400
|
return;
|
|
360
401
|
}
|
|
361
|
-
if (msg.t ===
|
|
402
|
+
if (msg.t === "q") {
|
|
362
403
|
const { m: method, a: args, o: optional } = msg;
|
|
363
404
|
let result, error;
|
|
364
405
|
let fn = await (resolver ? resolver.call(rpc, method, $functions[method]) : $functions[method]);
|
|
@@ -375,7 +416,7 @@ function createBirpc($functions, options) {
|
|
|
375
416
|
}
|
|
376
417
|
if (!error) try {
|
|
377
418
|
await post(serialize({
|
|
378
|
-
t:
|
|
419
|
+
t: "s",
|
|
379
420
|
i: msg.i,
|
|
380
421
|
r: result
|
|
381
422
|
}), ...extra);
|
|
@@ -386,7 +427,7 @@ function createBirpc($functions, options) {
|
|
|
386
427
|
}
|
|
387
428
|
try {
|
|
388
429
|
await post(serialize({
|
|
389
|
-
t:
|
|
430
|
+
t: "s",
|
|
390
431
|
i: msg.i,
|
|
391
432
|
e: error
|
|
392
433
|
}), ...extra);
|
|
@@ -410,7 +451,7 @@ function createBirpc($functions, options) {
|
|
|
410
451
|
}
|
|
411
452
|
|
|
412
453
|
//#endregion
|
|
413
|
-
//#region ../../node_modules/.pnpm/fast-equals@6.0.
|
|
454
|
+
//#region ../../node_modules/.pnpm/fast-equals@6.0.3/node_modules/fast-equals/dist/es/index.mjs
|
|
414
455
|
const { getOwnPropertyNames, getOwnPropertySymbols } = Object;
|
|
415
456
|
const { hasOwnProperty } = Object.prototype;
|
|
416
457
|
/**
|
|
@@ -456,6 +497,7 @@ const hasOwn = Object.hasOwn || ((object, property) => hasOwnProperty.call(objec
|
|
|
456
497
|
const PREACT_VNODE = "__v";
|
|
457
498
|
const PREACT_OWNER = "__o";
|
|
458
499
|
const REACT_OWNER = "_owner";
|
|
500
|
+
const HAS_FLOAT_16_ARRAY = typeof Float16Array !== "undefined";
|
|
459
501
|
const { getOwnPropertyDescriptor, keys } = Object;
|
|
460
502
|
/**
|
|
461
503
|
* Whether the values passed are equal based on a [SameValue](https://262.ecma-international.org/7.0/#sec-samevalue) basis.
|
|
@@ -509,9 +551,16 @@ function areDatesEqual(a, b) {
|
|
|
509
551
|
}
|
|
510
552
|
/**
|
|
511
553
|
* Whether the errors passed are equal in value.
|
|
554
|
+
*
|
|
555
|
+
* @note
|
|
556
|
+
* `name`, `message` and `stack` are own properties but are not enumerable, so they are compared
|
|
557
|
+
* explicitly. `cause` is compared by value rather than by reference, matching how every other
|
|
558
|
+
* nested value in the comparison is treated. Own enumerable properties (which custom `Error`
|
|
559
|
+
* subclasses commonly add) are compared by composing this with the object comparator in the
|
|
560
|
+
* comparator config, so that the strict and circular variants apply to them as well.
|
|
512
561
|
*/
|
|
513
|
-
function areErrorsEqual(a, b) {
|
|
514
|
-
return a.name === b.name && a.message === b.message && a.
|
|
562
|
+
function areErrorsEqual(a, b, state) {
|
|
563
|
+
return a.name === b.name && a.message === b.message && a.stack === b.stack && state.equals(a.cause, b.cause, "cause", "cause", a, b, state);
|
|
515
564
|
}
|
|
516
565
|
/**
|
|
517
566
|
* Whether the `Map`s are equal in value.
|
|
@@ -624,6 +673,10 @@ function areSetsEqual(a, b, state) {
|
|
|
624
673
|
function areTypedArraysEqual(a, b) {
|
|
625
674
|
let index = a.length;
|
|
626
675
|
if (b.length !== index || a.byteOffset !== b.byteOffset) return false;
|
|
676
|
+
if (a instanceof Float64Array || a instanceof Float32Array || HAS_FLOAT_16_ARRAY && a instanceof Float16Array) {
|
|
677
|
+
while (index-- > 0) if (a[index] !== b[index] && (a[index] === a[index] || b[index] === b[index])) return false;
|
|
678
|
+
return true;
|
|
679
|
+
}
|
|
627
680
|
while (index-- > 0) if (a[index] !== b[index]) return false;
|
|
628
681
|
return true;
|
|
629
682
|
}
|
|
@@ -631,7 +684,32 @@ function areTypedArraysEqual(a, b) {
|
|
|
631
684
|
* Whether the URL instances are equal in value.
|
|
632
685
|
*/
|
|
633
686
|
function areUrlsEqual(a, b) {
|
|
634
|
-
|
|
687
|
+
if (a.href === b.href) return true;
|
|
688
|
+
return a.protocol === b.protocol && a.username === b.username && a.password === b.password && a.host === b.host && a.pathname === b.pathname && a.hash === b.hash && areSearchParamsEqual(a.searchParams, b.searchParams);
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Whether the search params passed are equal in value.
|
|
692
|
+
*
|
|
693
|
+
* @note
|
|
694
|
+
* Order is not significant, matching how the other unordered collections in the library are
|
|
695
|
+
* compared. Repeated keys are, so this is a comparison of multisets rather than of sets:
|
|
696
|
+
* `a=1&a=2` is equal to `a=2&a=1`, but not to `a=1&a=1`.
|
|
697
|
+
*/
|
|
698
|
+
function areSearchParamsEqual(a, b) {
|
|
699
|
+
const serializedA = a.toString();
|
|
700
|
+
const serializedB = b.toString();
|
|
701
|
+
return serializedA === serializedB || sortSearchParams(serializedA) === sortSearchParams(serializedB);
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* Reorder a serialized query string so that params holding the same pairs compare as equal
|
|
705
|
+
* regardless of the order they appear in.
|
|
706
|
+
*
|
|
707
|
+
* @note
|
|
708
|
+
* The serializer percent-encodes `&` and `=` wherever they appear inside a name or a value, so
|
|
709
|
+
* splitting on `&` recovers exactly the pairs and nothing else.
|
|
710
|
+
*/
|
|
711
|
+
function sortSearchParams(serialized) {
|
|
712
|
+
return serialized.split("&").sort().join("&");
|
|
635
713
|
}
|
|
636
714
|
function isPropertyEqual(a, b, state, property) {
|
|
637
715
|
if ((property === REACT_OWNER || property === PREACT_OWNER || property === PREACT_VNODE) && (a.$$typeof || b.$$typeof)) return true;
|
|
@@ -684,7 +762,7 @@ function createEqualityComparatorConfig({ circular, createCustomConfig, strict }
|
|
|
684
762
|
areArraysEqual: strict ? areObjectsEqualStrict : areArraysEqual,
|
|
685
763
|
areDataViewsEqual,
|
|
686
764
|
areDatesEqual,
|
|
687
|
-
areErrorsEqual,
|
|
765
|
+
areErrorsEqual: strict ? combineComparators(areErrorsEqual, areObjectsEqualStrict) : combineComparators(areErrorsEqual, areObjectsEqual),
|
|
688
766
|
areFunctionsEqual: strictEqual,
|
|
689
767
|
areMapsEqual: strict ? combineComparators(areMapsEqual, areObjectsEqualStrict) : areMapsEqual,
|
|
690
768
|
areNumbersEqual: sameValueEqual,
|
|
@@ -699,11 +777,13 @@ function createEqualityComparatorConfig({ circular, createCustomConfig, strict }
|
|
|
699
777
|
if (createCustomConfig) config = Object.assign({}, config, createCustomConfig(config));
|
|
700
778
|
if (circular) {
|
|
701
779
|
const areArraysEqual = createIsCircular(config.areArraysEqual);
|
|
780
|
+
const areErrorsEqual = createIsCircular(config.areErrorsEqual);
|
|
702
781
|
const areMapsEqual = createIsCircular(config.areMapsEqual);
|
|
703
782
|
const areObjectsEqual = createIsCircular(config.areObjectsEqual);
|
|
704
783
|
const areSetsEqual = createIsCircular(config.areSetsEqual);
|
|
705
784
|
config = Object.assign({}, config, {
|
|
706
785
|
areArraysEqual,
|
|
786
|
+
areErrorsEqual,
|
|
707
787
|
areMapsEqual,
|
|
708
788
|
areObjectsEqual,
|
|
709
789
|
areSetsEqual
|
|
@@ -754,13 +834,13 @@ function createIsEqual({ circular, comparator, createState, equals, strict }) {
|
|
|
754
834
|
/**
|
|
755
835
|
* Create a map of `toString()` values to their respective handlers for `tag`-based lookups.
|
|
756
836
|
*/
|
|
757
|
-
function createSupportedComparatorMap({ areArrayBuffersEqual, areArraysEqual, areDataViewsEqual, areDatesEqual, areErrorsEqual, areFunctionsEqual, areMapsEqual,
|
|
837
|
+
function createSupportedComparatorMap({ areArrayBuffersEqual, areArraysEqual, areDataViewsEqual, areDatesEqual, areErrorsEqual, areFunctionsEqual, areMapsEqual, areObjectsEqual, arePrimitiveWrappersEqual, areRegExpsEqual, areSetsEqual, areTypedArraysEqual, areUrlsEqual }) {
|
|
758
838
|
return {
|
|
759
839
|
"[object Arguments]": areObjectsEqual,
|
|
760
840
|
"[object Array]": areArraysEqual,
|
|
761
841
|
"[object ArrayBuffer]": areArrayBuffersEqual,
|
|
762
842
|
"[object AsyncGeneratorFunction]": areFunctionsEqual,
|
|
763
|
-
"[object BigInt]":
|
|
843
|
+
"[object BigInt]": arePrimitiveWrappersEqual,
|
|
764
844
|
"[object BigInt64Array]": areTypedArraysEqual,
|
|
765
845
|
"[object BigUint64Array]": areTypedArraysEqual,
|
|
766
846
|
"[object Boolean]": arePrimitiveWrappersEqual,
|
|
@@ -856,7 +936,7 @@ function createCustomEqual(options = {}) {
|
|
|
856
936
|
}
|
|
857
937
|
|
|
858
938
|
//#endregion
|
|
859
|
-
//#region ../../node_modules/.pnpm/remeda@2.
|
|
939
|
+
//#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/lazyDataLastImpl--3B10z3s.js
|
|
860
940
|
function e(e, t, n) {
|
|
861
941
|
let r = (n) => e(n, ...t);
|
|
862
942
|
return n === void 0 ? r : Object.assign(r, {
|
|
@@ -866,7 +946,7 @@ function e(e, t, n) {
|
|
|
866
946
|
}
|
|
867
947
|
|
|
868
948
|
//#endregion
|
|
869
|
-
//#region ../../node_modules/.pnpm/remeda@2.
|
|
949
|
+
//#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/purry.js
|
|
870
950
|
function t$1(t, n, r) {
|
|
871
951
|
let i = t.length - n.length;
|
|
872
952
|
if (i === 0) return t(...n);
|
|
@@ -875,7 +955,7 @@ function t$1(t, n, r) {
|
|
|
875
955
|
}
|
|
876
956
|
|
|
877
957
|
//#endregion
|
|
878
|
-
//#region ../../node_modules/.pnpm/remeda@2.
|
|
958
|
+
//#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/mapValues.js
|
|
879
959
|
function t(...t) {
|
|
880
960
|
return t$1(n, t);
|
|
881
961
|
}
|
|
@@ -896,7 +976,7 @@ function n(e, t) {
|
|
|
896
976
|
*/
|
|
897
977
|
function createRpc(options) {
|
|
898
978
|
return createBirpc({}, {
|
|
899
|
-
timeout:
|
|
979
|
+
timeout: 12e4,
|
|
900
980
|
post: (data) => options.send("likec4:rpc", data),
|
|
901
981
|
on: (fn) => options.on("likec4:rpc", fn),
|
|
902
982
|
onTimeoutError(functionName) {
|
|
@@ -932,7 +1012,8 @@ function createHooksForModel($atom) {
|
|
|
932
1012
|
return useStore($likec4views);
|
|
933
1013
|
}
|
|
934
1014
|
function useLikeC4View(viewId) {
|
|
935
|
-
|
|
1015
|
+
const $view = useMemo(() => /* @__PURE__ */ computed($likec4model, (model) => model.findView(viewId)?.$layouted ?? null), [viewId]);
|
|
1016
|
+
return useStore($view);
|
|
936
1017
|
}
|
|
937
1018
|
return {
|
|
938
1019
|
updateModel,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "likec4",
|
|
3
3
|
"description": "Toolchain for your architecture diagrams",
|
|
4
|
-
"version": "1.59.
|
|
4
|
+
"version": "1.59.4",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://likec4.dev",
|
|
7
7
|
"author": "Denis Davydkov <denis@davydkov.com>",
|
|
@@ -90,22 +90,22 @@
|
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
92
|
"@hpcc-js/wasm-graphviz": "1.22.2",
|
|
93
|
-
"@
|
|
93
|
+
"@likec4/core": "1.59.4",
|
|
94
|
+
"@likec4/icons": "1.46.4",
|
|
95
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
94
96
|
"bundle-require": "^5.1.0",
|
|
95
|
-
"esbuild": "0.28.
|
|
97
|
+
"esbuild": "0.28.2",
|
|
96
98
|
"fdir": "6.4.0",
|
|
97
99
|
"playwright": "1.60.0",
|
|
98
100
|
"chokidar": "^5.0.0",
|
|
99
|
-
"immer": "^11.1.
|
|
101
|
+
"immer": "^11.1.18",
|
|
100
102
|
"std-env": "^4.1.0",
|
|
101
103
|
"type-fest": "^4.41.0",
|
|
102
104
|
"vite-plugin-singlefile": "^2.3.3",
|
|
103
|
-
"vite": "^8.
|
|
105
|
+
"vite": "^8.2.2",
|
|
104
106
|
"yargs": "17.7.2",
|
|
105
107
|
"nano-spawn": "^2.1.0",
|
|
106
|
-
"use-sync-external-store": "^1.6.0"
|
|
107
|
-
"@likec4/core": "1.59.2",
|
|
108
|
-
"@likec4/icons": "1.46.4"
|
|
108
|
+
"use-sync-external-store": "^1.6.0"
|
|
109
109
|
},
|
|
110
110
|
"peerDependencies": {
|
|
111
111
|
"@tanstack/ai": "^0.14.0",
|
|
@@ -139,79 +139,79 @@
|
|
|
139
139
|
},
|
|
140
140
|
"devDependencies": {
|
|
141
141
|
"langium": "3.5.0",
|
|
142
|
+
"@likec4/config": "1.59.4",
|
|
143
|
+
"@likec4/leanix-bridge": "1.59.4",
|
|
144
|
+
"@likec4/log": "1.59.4",
|
|
145
|
+
"@likec4/language-server": "1.59.4",
|
|
146
|
+
"@likec4/language-services": "1.59.4",
|
|
147
|
+
"@likec4/mcp": "1.59.4",
|
|
142
148
|
"@dagrejs/dagre": "1.1.8",
|
|
143
149
|
"@fontsource-variable/ibm-plex-sans": "^5.2.8",
|
|
144
|
-
"@
|
|
150
|
+
"@likec4/devops": "1.59.4",
|
|
151
|
+
"@likec4/diagram": "1.59.4",
|
|
152
|
+
"@likec4/layouts": "1.59.4",
|
|
153
|
+
"@likec4/vite-plugin": "1.59.4",
|
|
154
|
+
"@likec4/react": "1.59.4",
|
|
155
|
+
"@likec4/spa": "1.59.4",
|
|
156
|
+
"@likec4/generators": "1.59.4",
|
|
157
|
+
"@likec4/style-preset": "1.59.4",
|
|
158
|
+
"@likec4/styles": "1.59.4",
|
|
159
|
+
"@likec4/tsconfig": "1.59.4",
|
|
160
|
+
"@pandacss/dev": "^1.12.1",
|
|
145
161
|
"@tanstack/ai": "^0.14.0",
|
|
146
162
|
"@types/node": "~22.19.19",
|
|
147
163
|
"@types/picomatch": "^4.0.3",
|
|
148
|
-
"@types/react": "19.2.
|
|
149
|
-
"@types/react-dom": "19.2.
|
|
164
|
+
"@types/react": "19.2.18",
|
|
165
|
+
"@types/react-dom": "19.2.5",
|
|
150
166
|
"@types/semver": "^7.7.1",
|
|
151
167
|
"@types/yargs": "^17.0.33",
|
|
152
168
|
"autoprefixer": "^10.5.4",
|
|
153
169
|
"picomatch": "^4.0.5",
|
|
154
|
-
"birpc": "^4.
|
|
170
|
+
"birpc": "^4.2.0",
|
|
155
171
|
"boxen": "^8.0.1",
|
|
156
172
|
"clsx": "^2.1.1",
|
|
157
173
|
"conf": "^15.1.0",
|
|
158
174
|
"defu": "^6.1.7",
|
|
159
175
|
"esbuild-node-externals": "1.23.1",
|
|
160
176
|
"esm-env": "^1.2.2",
|
|
161
|
-
"fast-equals": "^6.0.
|
|
177
|
+
"fast-equals": "^6.0.3",
|
|
162
178
|
"get-port": "^7.2.0",
|
|
163
179
|
"is-inside-container": "^1.0.0",
|
|
164
180
|
"json5": "^2.2.3",
|
|
165
181
|
"ky": "^1.14.3",
|
|
166
182
|
"mkdirp": "^3.0.1",
|
|
167
183
|
"npm-run-all2": "^8.0.4",
|
|
168
|
-
"p-limit": "7.3.
|
|
169
|
-
"nanostores": "1.3
|
|
184
|
+
"p-limit": "7.3.2",
|
|
185
|
+
"nanostores": "1.5.3",
|
|
170
186
|
"@nanostores/react": "1.1.0",
|
|
171
|
-
"oxlint": "1.
|
|
172
|
-
"package-manager-detector": "1.
|
|
187
|
+
"oxlint": "1.81.0",
|
|
188
|
+
"package-manager-detector": "1.8.0",
|
|
173
189
|
"package-up": "^5.0.0",
|
|
174
|
-
"postcss": "8.5.
|
|
190
|
+
"postcss": "8.5.28",
|
|
175
191
|
"pretty-ms": "^9.3.0",
|
|
176
|
-
"react": "19.2.
|
|
177
|
-
"react-dom": "19.2.
|
|
178
|
-
"react-error-boundary": "^6.1.
|
|
179
|
-
"react-resizable-panels": "^4.
|
|
180
|
-
"remeda": "^2.
|
|
192
|
+
"react": "19.2.8",
|
|
193
|
+
"react-dom": "19.2.8",
|
|
194
|
+
"react-error-boundary": "^6.1.4",
|
|
195
|
+
"react-resizable-panels": "^4.12.3",
|
|
196
|
+
"remeda": "^2.45.0",
|
|
181
197
|
"semver": "^7.8.1",
|
|
182
198
|
"strip-indent": "^4.1.1",
|
|
183
|
-
"tinyrainbow": "^3.1.
|
|
184
|
-
"tsx": "4.
|
|
185
|
-
"turbo": "2.10.
|
|
199
|
+
"tinyrainbow": "^3.1.1",
|
|
200
|
+
"tsx": "4.23.13",
|
|
201
|
+
"turbo": "2.10.12",
|
|
186
202
|
"typescript": "6.0.3",
|
|
187
203
|
"ufo": "1.6.4",
|
|
188
|
-
"tsdown": "^0.
|
|
189
|
-
"vite-plugin-dts": "^5.0
|
|
190
|
-
"vitest": "4.1.
|
|
204
|
+
"tsdown": "^0.23.0",
|
|
205
|
+
"vite-plugin-dts": "^5.1.0",
|
|
206
|
+
"vitest": "4.1.11",
|
|
191
207
|
"vscode-jsonrpc": "8.2.0",
|
|
192
208
|
"vscode-languageserver": "9.0.1",
|
|
193
209
|
"vscode-languageserver-types": "3.17.5",
|
|
194
210
|
"vscode-uri": "3.1.0",
|
|
195
211
|
"which": "^5.0.0",
|
|
196
|
-
"wireit": "0.14.
|
|
212
|
+
"wireit": "0.14.13",
|
|
197
213
|
"zod": "^4.4.3",
|
|
198
|
-
"zx": "8.8.5"
|
|
199
|
-
"@likec4/leanix-bridge": "1.59.2",
|
|
200
|
-
"@likec4/config": "1.59.2",
|
|
201
|
-
"@likec4/language-server": "1.59.2",
|
|
202
|
-
"@likec4/log": "1.59.2",
|
|
203
|
-
"@likec4/language-services": "1.59.2",
|
|
204
|
-
"@likec4/mcp": "1.59.2",
|
|
205
|
-
"@likec4/devops": "1.59.2",
|
|
206
|
-
"@likec4/diagram": "1.59.2",
|
|
207
|
-
"@likec4/layouts": "1.59.2",
|
|
208
|
-
"@likec4/vite-plugin": "1.59.2",
|
|
209
|
-
"@likec4/react": "1.59.2",
|
|
210
|
-
"@likec4/spa": "1.59.2",
|
|
211
|
-
"@likec4/generators": "1.59.2",
|
|
212
|
-
"@likec4/style-preset": "1.59.2",
|
|
213
|
-
"@likec4/styles": "1.59.2",
|
|
214
|
-
"@likec4/tsconfig": "1.59.2"
|
|
214
|
+
"zx": "8.8.5"
|
|
215
215
|
},
|
|
216
216
|
"scripts": {
|
|
217
217
|
"typecheck": "tsc --build --verbose",
|