likec4 1.59.3 → 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 +108 -108
- package/__app__/src/chunks/LikeC4Styles.mjs +752 -604
- package/__app__/src/chunks/ProjectsOverview.mjs +72 -72
- package/__app__/src/chunks/es.mjs +1 -1
- package/__app__/src/chunks/hooks.mjs +94 -91
- package/__app__/src/chunks/libs/@floating-ui.mjs +3 -3
- package/__app__/src/chunks/libs/@mantine.mjs +1609 -892
- package/__app__/src/chunks/libs/@tanstack-ai.mjs +2 -2
- package/__app__/src/chunks/libs/@tanstack.mjs +4 -10
- package/__app__/src/chunks/libs/@xyflow/react.mjs +4 -4
- package/__app__/src/chunks/libs/d3.mjs +4 -9
- package/__app__/src/chunks/libs/fast-equals.mjs +61 -49
- package/__app__/src/chunks/libs/framer.mjs +6 -6
- package/__app__/src/chunks/styled-system.mjs +2578 -124
- package/__app__/src/main.mjs +21537 -20155
- package/__app__/src/style.css +1 -1
- package/config/schema.json +14 -0
- package/dist/app/render-view-client.css +1 -1
- package/dist/app/render-view-client.js +99 -105
- package/dist/chunks/filenames.mjs +6 -6
- package/dist/chunks/index.d.mts +7 -1
- package/dist/chunks/index2.d.mts +38 -21
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
- package/dist/chunks/libs/@chevrotain/types.d.mts +108 -0
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -4
- package/dist/chunks/libs/langium.d.mts +1777 -16
- package/dist/chunks/libs/langium.mjs +4 -4
- 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/node.mjs +58 -59
- package/dist/chunks/vite-plugin.mjs +15 -12
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.mjs +104 -88
- package/dist/index.d.mts +3 -3
- 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 +15 -15
- package/dist/vite-plugin/internal/index.mjs +72 -27
- package/package.json +28 -28
- package/react/index.d.mts +22720 -1460
- package/react/index.mjs +30391 -25072
- package/vite-plugin-modules.d.ts +4 -2
package/dist/index.d.mts
CHANGED
|
@@ -38,8 +38,8 @@ type LikeC4Options = {
|
|
|
38
38
|
*/
|
|
39
39
|
logLevel?: 'trace' | 'debug' | 'info' | 'warning' | 'error' | undefined;
|
|
40
40
|
};
|
|
41
|
-
interface LikeC4 extends LikeC4$1 {}
|
|
42
|
-
declare namespace LikeC4 {
|
|
41
|
+
export interface LikeC4 extends LikeC4$1 {}
|
|
42
|
+
export declare namespace LikeC4 {
|
|
43
43
|
function fromSource(likec4SourceCode: string, _opts?: LikeC4Options): Promise<LikeC4>;
|
|
44
44
|
/**
|
|
45
45
|
* Initializes a LikeC4 instance from the specified workspace path.
|
|
@@ -48,4 +48,4 @@ declare namespace LikeC4 {
|
|
|
48
48
|
function fromWorkspace(path?: string, _opts?: LikeC4Options): Promise<LikeC4>;
|
|
49
49
|
}
|
|
50
50
|
//#endregion
|
|
51
|
-
export {
|
|
51
|
+
export { type LikeC4Options, type WriteDSLOptions, writeDSL };
|
package/dist/model/index.d.mts
CHANGED
|
@@ -48,13 +48,13 @@ interface SequenceViewLayout {
|
|
|
48
48
|
}
|
|
49
49
|
//#endregion
|
|
50
50
|
//#region src/sequence/sequence-view.d.ts
|
|
51
|
-
declare function calcSequenceLayout(view: LayoutedDynamicView): LayoutedDynamicView.Sequence.Layout;
|
|
51
|
+
export declare function calcSequenceLayout(view: LayoutedDynamicView): LayoutedDynamicView.Sequence.Layout;
|
|
52
52
|
//#endregion
|
|
53
53
|
//#region src/model/index.d.ts
|
|
54
|
-
type UnknownLayouted = types.UnknownLayouted;
|
|
54
|
+
export type UnknownLayouted = types.UnknownLayouted;
|
|
55
55
|
/**
|
|
56
56
|
* Used by vite plugin to generate `virtual:likec4/model`
|
|
57
57
|
*/
|
|
58
|
-
declare function createLikeC4Model(model: any): LikeC4Model$1<UnknownLayouted>;
|
|
58
|
+
export declare function createLikeC4Model(model: any): LikeC4Model$1<UnknownLayouted>;
|
|
59
59
|
//#endregion
|
|
60
|
-
export { type ComputedProjectEdge, type ComputedProjectNode, type ComputedProjectsView, Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, type DeploymentElementModel, DeploymentNodeModel, type DeploymentRelationEndpoint, DeploymentRelationModel, EdgeModel, ElementModel, type LayoutedProjectEdge, type LayoutedProjectNode, type LayoutedProjectsView, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel, NodeModel, RelationshipModel, type SequenceViewLayout,
|
|
60
|
+
export { type ComputedProjectEdge, type ComputedProjectNode, type ComputedProjectsView, Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, type DeploymentElementModel, DeploymentNodeModel, type DeploymentRelationEndpoint, DeploymentRelationModel, EdgeModel, ElementModel, type LayoutedProjectEdge, type LayoutedProjectNode, type LayoutedProjectsView, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel, NodeModel, RelationshipModel, type SequenceViewLayout, deploymentConnection, differenceConnections, findAscendingConnections, findDeepestNestedConnection, findDescendantConnections, hasSameSource, hasSameSourceTarget, hasSameTarget, isAnyInOut, isDeployedInstanceModel, isDeploymentElementModel, isDeploymentNodeModel, isDeploymentRelationModel, isEdgeModel, isElementModel, isIncoming, isLikeC4ViewModel, isNestedConnection, isNestedElementOfDeployedInstanceModel, isNodeModel, isOutgoing, isRelationModel, mergeConnections, modelConnection, sortConnectionsByBoundaryHierarchy, sortDeepestFirst, type types };
|
|
@@ -138,6 +138,6 @@ type LikeC4VitePluginOptions = SharedOptions & ({
|
|
|
138
138
|
watch?: never;
|
|
139
139
|
logLevel?: never;
|
|
140
140
|
});
|
|
141
|
-
declare function LikeC4VitePlugin({ environments, appConfig, ai: _ai, ...pluginOpts }: LikeC4VitePluginOptions): PluginOption;
|
|
141
|
+
export declare function LikeC4VitePlugin({ environments, appConfig, ai: _ai, ...pluginOpts }: LikeC4VitePluginOptions): PluginOption;
|
|
142
142
|
//#endregion
|
|
143
|
-
export {
|
|
143
|
+
export type { LikeC4VitePluginOptions };
|
|
@@ -3,7 +3,7 @@ import { DependencyList } from "react";
|
|
|
3
3
|
import { LayoutedElementView, LayoutedLikeC4ModelData, LayoutedView, ProjectId, ViewChange, ViewId } from "@likec4/core/types";
|
|
4
4
|
import { AdhocViewPredicate } from "@likec4/core/compute-view";
|
|
5
5
|
//#region ../vite-plugin/dist/internal/index.d.mts
|
|
6
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
6
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/atom/index.d.ts
|
|
7
7
|
type AllKeys<T> = T extends any ? keyof T : never;
|
|
8
8
|
type Primitive = boolean | number | string;
|
|
9
9
|
type ReadonlyIfObject<Value> = Value extends undefined ? Value : Value extends ((...args: any) => any) ? Value : Value extends Primitive ? Value : Value extends object ? Readonly<Value> : Value;
|
|
@@ -141,9 +141,9 @@ type Atom<Value = any> = ReadableAtom<Value> | WritableAtom<Value>;
|
|
|
141
141
|
* @param initialValue Initial value of the store.
|
|
142
142
|
* @returns The store object with methods to subscribe.
|
|
143
143
|
*/
|
|
144
|
-
declare function atom<Value, StoreExt = object>(...args: undefined extends Value ? [] | [Value] : [Value]): PreinitializedWritableAtom<Value> & StoreExt;
|
|
144
|
+
export declare function atom<Value, StoreExt = object>(...args: undefined extends Value ? [] | [Value] : [Value]): PreinitializedWritableAtom<Value> & StoreExt;
|
|
145
145
|
//#endregion
|
|
146
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
146
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/map/index.d.ts
|
|
147
147
|
type KeyofBase = keyof any;
|
|
148
148
|
type Get<T, K extends KeyofBase> = T extends any ? K extends keyof T ? T[K] : never : never;
|
|
149
149
|
type HasIndexSignature<T> = string extends keyof T ? true : false;
|
|
@@ -248,21 +248,21 @@ interface PreinitializedMapStore<Value extends object = any> extends MapStore<Va
|
|
|
248
248
|
* @param value Initial store value.
|
|
249
249
|
* @returns The store object with methods to subscribe.
|
|
250
250
|
*/
|
|
251
|
-
declare function map<Value extends object, StoreExt extends object = object>(value: Value): PreinitializedMapStore<Value> & StoreExt;
|
|
251
|
+
export declare function map<Value extends object, StoreExt extends object = object>(value: Value): PreinitializedMapStore<Value> & StoreExt;
|
|
252
252
|
/**
|
|
253
253
|
* Create map store with no initial value, or one that may be missing.
|
|
254
254
|
*
|
|
255
255
|
* @param value Initial store value, if there is one.
|
|
256
256
|
* @returns The store object with methods to subscribe.
|
|
257
257
|
*/
|
|
258
|
-
declare function map<Value extends object, StoreExt extends object = object>(value?: Value): PreinitializedMapStore<Partial<Value>> & StoreExt;
|
|
258
|
+
export declare function map<Value extends object, StoreExt extends object = object>(value?: Value): PreinitializedMapStore<Partial<Value>> & StoreExt;
|
|
259
259
|
//#endregion
|
|
260
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
260
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/task/index.d.ts
|
|
261
261
|
interface Task<Value> extends Promise<Value> {
|
|
262
262
|
t: true;
|
|
263
263
|
}
|
|
264
264
|
//#endregion
|
|
265
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
265
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/computed/index.d.ts
|
|
266
266
|
type StoreValues<Stores extends readonly Gettable[]> = { -readonly [Index in keyof Stores]: StoreValue<Stores[Index]>; };
|
|
267
267
|
interface Computed {
|
|
268
268
|
/**
|
|
@@ -291,7 +291,7 @@ interface Computed {
|
|
|
291
291
|
*/
|
|
292
292
|
<Value, OriginStores extends readonly Store[]>(stores: readonly [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
|
|
293
293
|
}
|
|
294
|
-
declare const computed: Computed;
|
|
294
|
+
export declare const computed: Computed;
|
|
295
295
|
interface Batched {
|
|
296
296
|
<Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Task<Value> | Value): ReadableAtom<Value>;
|
|
297
297
|
/**
|
|
@@ -310,7 +310,7 @@ interface Batched {
|
|
|
310
310
|
*/
|
|
311
311
|
<Value, OriginStores extends readonly Store[]>(stores: readonly [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
|
|
312
312
|
}
|
|
313
|
-
declare const batched: Batched;
|
|
313
|
+
export declare const batched: Batched;
|
|
314
314
|
//#endregion
|
|
315
315
|
//#region src/rpc/protocol.d.ts
|
|
316
316
|
interface LikeC4VitePluginRpc {
|
|
@@ -343,7 +343,7 @@ interface LikeC4VitePluginRpc {
|
|
|
343
343
|
}): Promise<LayoutedElementView>;
|
|
344
344
|
}
|
|
345
345
|
//#endregion
|
|
346
|
-
//#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.5.
|
|
346
|
+
//#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.5.3_react@19.2.8/node_modules/@nanostores/react/index.d.ts
|
|
347
347
|
type StoreKeys<T> = T extends {
|
|
348
348
|
setKey: (k: infer K, v: any) => unknown;
|
|
349
349
|
} ? K : never;
|
|
@@ -389,10 +389,10 @@ interface UseStoreOptions<SomeStore> {
|
|
|
389
389
|
* @param store Store instance.
|
|
390
390
|
* @returns Store value.
|
|
391
391
|
*/
|
|
392
|
-
declare function useStore<SomeStore extends Store>(store: SomeStore, options?: UseStoreOptions<SomeStore>): StoreValue<SomeStore>;
|
|
392
|
+
export declare function useStore<SomeStore extends Store>(store: SomeStore, options?: UseStoreOptions<SomeStore>): StoreValue<SomeStore>;
|
|
393
393
|
//#endregion
|
|
394
394
|
//#region src/internal.d.ts
|
|
395
|
-
interface LikeC4VitePluginRpcOptions {
|
|
395
|
+
export interface LikeC4VitePluginRpcOptions {
|
|
396
396
|
/**
|
|
397
397
|
* Function to post raw message
|
|
398
398
|
*/
|
|
@@ -406,8 +406,8 @@ interface LikeC4VitePluginRpcOptions {
|
|
|
406
406
|
* Create a PluginRPC instance for the LikeC4 Vite plugin
|
|
407
407
|
* used by the Vite plugin in virtual modules
|
|
408
408
|
*/
|
|
409
|
-
declare function createRpc(options: LikeC4VitePluginRpcOptions): LikeC4VitePluginRpc;
|
|
410
|
-
declare function createHooksForModel($atom: WritableAtom<LayoutedLikeC4ModelData>): {
|
|
409
|
+
export declare function createRpc(options: LikeC4VitePluginRpcOptions): LikeC4VitePluginRpc;
|
|
410
|
+
export declare function createHooksForModel($atom: WritableAtom<LayoutedLikeC4ModelData>): {
|
|
411
411
|
updateModel: (data: LayoutedLikeC4ModelData) => void;
|
|
412
412
|
$likec4model: Atom<LikeC4Model.Layouted>;
|
|
413
413
|
useLikeC4Model: () => LikeC4Model.Layouted;
|
|
@@ -415,4 +415,4 @@ declare function createHooksForModel($atom: WritableAtom<LayoutedLikeC4ModelData
|
|
|
415
415
|
useLikeC4View: (viewId: string) => LayoutedView | null;
|
|
416
416
|
};
|
|
417
417
|
//#endregion
|
|
418
|
-
export {
|
|
418
|
+
export type { Atom, LikeC4VitePluginRpc, ReadableAtom, WritableAtom };
|
|
@@ -1,7 +1,7 @@
|
|
|
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.5.
|
|
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
7
|
let batchSeen = null;
|
|
@@ -9,12 +9,17 @@ const QUEUE_ITEMS_PER_LISTENER = 4;
|
|
|
9
9
|
const nanostoresGlobal = globalThis.nanostoresGlobal ||= { epoch: 0 };
|
|
10
10
|
let drainQueue = () => {
|
|
11
11
|
let thrown;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
+
}
|
|
16
21
|
}
|
|
17
|
-
listenerQueue.length = 0;
|
|
22
|
+
listenerQueue.length = lqIndex = 0;
|
|
18
23
|
if (thrown) throw thrown;
|
|
19
24
|
};
|
|
20
25
|
const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
@@ -30,7 +35,7 @@ const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
|
30
35
|
listen(listener) {
|
|
31
36
|
$atom.lc = listeners.push(listener);
|
|
32
37
|
return () => {
|
|
33
|
-
for (let i = lqIndex
|
|
38
|
+
for (let i = lqIndex; i < listenerQueue.length;) if (listenerQueue[i] === listener) listenerQueue.splice(i, QUEUE_ITEMS_PER_LISTENER);
|
|
34
39
|
else i += QUEUE_ITEMS_PER_LISTENER;
|
|
35
40
|
let index = listeners.indexOf(listener);
|
|
36
41
|
if (~index) {
|
|
@@ -68,7 +73,7 @@ const atom = /* @__NO_SIDE_EFFECTS__ */ (initialValue) => {
|
|
|
68
73
|
};
|
|
69
74
|
|
|
70
75
|
//#endregion
|
|
71
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
76
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/lifecycle/index.js
|
|
72
77
|
const MOUNT = 5;
|
|
73
78
|
const UNMOUNT = 6;
|
|
74
79
|
const REVERT_MUTATION = 10;
|
|
@@ -85,11 +90,12 @@ let on = (object, listener, eventKey, mutateStore) => {
|
|
|
85
90
|
return () => {
|
|
86
91
|
let currentListeners = object.events[eventKey];
|
|
87
92
|
let index = currentListeners.indexOf(listener);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
+
}
|
|
93
99
|
}
|
|
94
100
|
};
|
|
95
101
|
};
|
|
@@ -128,7 +134,7 @@ let onMount = ($store, initialize) => {
|
|
|
128
134
|
};
|
|
129
135
|
|
|
130
136
|
//#endregion
|
|
131
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
137
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/computed/index.js
|
|
132
138
|
let computedStore = (stores, cb, batched) => {
|
|
133
139
|
if (!Array.isArray(stores)) stores = [stores];
|
|
134
140
|
let previousArgs;
|
|
@@ -137,7 +143,7 @@ let computedStore = (stores, cb, batched) => {
|
|
|
137
143
|
if (currentEpoch === nanostoresGlobal.epoch) return;
|
|
138
144
|
currentEpoch = nanostoresGlobal.epoch;
|
|
139
145
|
let args = stores.map(($store) => $store.get());
|
|
140
|
-
if (!previousArgs
|
|
146
|
+
if (!previousArgs?.every((arg, i) => stores[i].eq(arg, args[i]))) {
|
|
141
147
|
previousArgs = args;
|
|
142
148
|
let value = cb(...args);
|
|
143
149
|
if (value && value.then && value.t) value.then((asyncValue) => {
|
|
@@ -149,7 +155,7 @@ let computedStore = (stores, cb, batched) => {
|
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
157
|
};
|
|
152
|
-
let $computed = /* @__PURE__ */ atom(
|
|
158
|
+
let $computed = /* @__PURE__ */ atom();
|
|
153
159
|
let get = $computed.get;
|
|
154
160
|
$computed.get = () => {
|
|
155
161
|
set();
|
|
@@ -173,7 +179,7 @@ const computed = /* @__NO_SIDE_EFFECTS__ */ (stores, fn) => computedStore(stores
|
|
|
173
179
|
const batched = /* @__NO_SIDE_EFFECTS__ */ (stores, fn) => computedStore(stores, fn, true);
|
|
174
180
|
|
|
175
181
|
//#endregion
|
|
176
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
182
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/deep-map/path.js
|
|
177
183
|
function getPath(obj, path) {
|
|
178
184
|
let allKeys = getAllKeysFromPath(path);
|
|
179
185
|
let res = obj;
|
|
@@ -196,7 +202,7 @@ function getKeyAndIndicesFromKey(key) {
|
|
|
196
202
|
}
|
|
197
203
|
|
|
198
204
|
//#endregion
|
|
199
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
205
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/listen-keys/index.js
|
|
200
206
|
function listenKeys($store, keys, listener) {
|
|
201
207
|
let keysSet = new Set(keys);
|
|
202
208
|
return $store.listen((value, oldValue, changed) => {
|
|
@@ -205,7 +211,7 @@ function listenKeys($store, keys, listener) {
|
|
|
205
211
|
}
|
|
206
212
|
|
|
207
213
|
//#endregion
|
|
208
|
-
//#region ../../node_modules/.pnpm/nanostores@1.5.
|
|
214
|
+
//#region ../../node_modules/.pnpm/nanostores@1.5.3/node_modules/nanostores/map/index.js
|
|
209
215
|
const map = /* @__NO_SIDE_EFFECTS__ */ (initial = {}) => {
|
|
210
216
|
let $map = /* @__PURE__ */ atom(initial);
|
|
211
217
|
$map.eqKey = Object.is;
|
|
@@ -227,7 +233,7 @@ const map = /* @__NO_SIDE_EFFECTS__ */ (initial = {}) => {
|
|
|
227
233
|
};
|
|
228
234
|
|
|
229
235
|
//#endregion
|
|
230
|
-
//#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.5.
|
|
236
|
+
//#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.5.3_react@19.2.8/node_modules/@nanostores/react/index.js
|
|
231
237
|
let emit = (snapshotRef, onChange) => (value) => {
|
|
232
238
|
if (snapshotRef.current === value) return;
|
|
233
239
|
snapshotRef.current = value;
|
|
@@ -445,7 +451,7 @@ function createBirpc($functions, options) {
|
|
|
445
451
|
}
|
|
446
452
|
|
|
447
453
|
//#endregion
|
|
448
|
-
//#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
|
|
449
455
|
const { getOwnPropertyNames, getOwnPropertySymbols } = Object;
|
|
450
456
|
const { hasOwnProperty } = Object.prototype;
|
|
451
457
|
/**
|
|
@@ -491,6 +497,7 @@ const hasOwn = Object.hasOwn || ((object, property) => hasOwnProperty.call(objec
|
|
|
491
497
|
const PREACT_VNODE = "__v";
|
|
492
498
|
const PREACT_OWNER = "__o";
|
|
493
499
|
const REACT_OWNER = "_owner";
|
|
500
|
+
const HAS_FLOAT_16_ARRAY = typeof Float16Array !== "undefined";
|
|
494
501
|
const { getOwnPropertyDescriptor, keys } = Object;
|
|
495
502
|
/**
|
|
496
503
|
* Whether the values passed are equal based on a [SameValue](https://262.ecma-international.org/7.0/#sec-samevalue) basis.
|
|
@@ -544,9 +551,16 @@ function areDatesEqual(a, b) {
|
|
|
544
551
|
}
|
|
545
552
|
/**
|
|
546
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.
|
|
547
561
|
*/
|
|
548
|
-
function areErrorsEqual(a, b) {
|
|
549
|
-
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);
|
|
550
564
|
}
|
|
551
565
|
/**
|
|
552
566
|
* Whether the `Map`s are equal in value.
|
|
@@ -659,6 +673,10 @@ function areSetsEqual(a, b, state) {
|
|
|
659
673
|
function areTypedArraysEqual(a, b) {
|
|
660
674
|
let index = a.length;
|
|
661
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
|
+
}
|
|
662
680
|
while (index-- > 0) if (a[index] !== b[index]) return false;
|
|
663
681
|
return true;
|
|
664
682
|
}
|
|
@@ -666,7 +684,32 @@ function areTypedArraysEqual(a, b) {
|
|
|
666
684
|
* Whether the URL instances are equal in value.
|
|
667
685
|
*/
|
|
668
686
|
function areUrlsEqual(a, b) {
|
|
669
|
-
|
|
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("&");
|
|
670
713
|
}
|
|
671
714
|
function isPropertyEqual(a, b, state, property) {
|
|
672
715
|
if ((property === REACT_OWNER || property === PREACT_OWNER || property === PREACT_VNODE) && (a.$$typeof || b.$$typeof)) return true;
|
|
@@ -719,7 +762,7 @@ function createEqualityComparatorConfig({ circular, createCustomConfig, strict }
|
|
|
719
762
|
areArraysEqual: strict ? areObjectsEqualStrict : areArraysEqual,
|
|
720
763
|
areDataViewsEqual,
|
|
721
764
|
areDatesEqual,
|
|
722
|
-
areErrorsEqual,
|
|
765
|
+
areErrorsEqual: strict ? combineComparators(areErrorsEqual, areObjectsEqualStrict) : combineComparators(areErrorsEqual, areObjectsEqual),
|
|
723
766
|
areFunctionsEqual: strictEqual,
|
|
724
767
|
areMapsEqual: strict ? combineComparators(areMapsEqual, areObjectsEqualStrict) : areMapsEqual,
|
|
725
768
|
areNumbersEqual: sameValueEqual,
|
|
@@ -734,11 +777,13 @@ function createEqualityComparatorConfig({ circular, createCustomConfig, strict }
|
|
|
734
777
|
if (createCustomConfig) config = Object.assign({}, config, createCustomConfig(config));
|
|
735
778
|
if (circular) {
|
|
736
779
|
const areArraysEqual = createIsCircular(config.areArraysEqual);
|
|
780
|
+
const areErrorsEqual = createIsCircular(config.areErrorsEqual);
|
|
737
781
|
const areMapsEqual = createIsCircular(config.areMapsEqual);
|
|
738
782
|
const areObjectsEqual = createIsCircular(config.areObjectsEqual);
|
|
739
783
|
const areSetsEqual = createIsCircular(config.areSetsEqual);
|
|
740
784
|
config = Object.assign({}, config, {
|
|
741
785
|
areArraysEqual,
|
|
786
|
+
areErrorsEqual,
|
|
742
787
|
areMapsEqual,
|
|
743
788
|
areObjectsEqual,
|
|
744
789
|
areSetsEqual
|
|
@@ -789,13 +834,13 @@ function createIsEqual({ circular, comparator, createState, equals, strict }) {
|
|
|
789
834
|
/**
|
|
790
835
|
* Create a map of `toString()` values to their respective handlers for `tag`-based lookups.
|
|
791
836
|
*/
|
|
792
|
-
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 }) {
|
|
793
838
|
return {
|
|
794
839
|
"[object Arguments]": areObjectsEqual,
|
|
795
840
|
"[object Array]": areArraysEqual,
|
|
796
841
|
"[object ArrayBuffer]": areArrayBuffersEqual,
|
|
797
842
|
"[object AsyncGeneratorFunction]": areFunctionsEqual,
|
|
798
|
-
"[object BigInt]":
|
|
843
|
+
"[object BigInt]": arePrimitiveWrappersEqual,
|
|
799
844
|
"[object BigInt64Array]": areTypedArraysEqual,
|
|
800
845
|
"[object BigUint64Array]": areTypedArraysEqual,
|
|
801
846
|
"[object Boolean]": arePrimitiveWrappersEqual,
|
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,11 +90,11 @@
|
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
92
|
"@hpcc-js/wasm-graphviz": "1.22.2",
|
|
93
|
-
"@likec4/core": "1.59.
|
|
93
|
+
"@likec4/core": "1.59.4",
|
|
94
94
|
"@likec4/icons": "1.46.4",
|
|
95
95
|
"@vitejs/plugin-react": "^6.1.1",
|
|
96
96
|
"bundle-require": "^5.1.0",
|
|
97
|
-
"esbuild": "0.28.
|
|
97
|
+
"esbuild": "0.28.2",
|
|
98
98
|
"fdir": "6.4.0",
|
|
99
99
|
"playwright": "1.60.0",
|
|
100
100
|
"chokidar": "^5.0.0",
|
|
@@ -139,25 +139,25 @@
|
|
|
139
139
|
},
|
|
140
140
|
"devDependencies": {
|
|
141
141
|
"langium": "3.5.0",
|
|
142
|
-
"@likec4/config": "1.59.
|
|
143
|
-
"@likec4/leanix-bridge": "1.59.
|
|
144
|
-
"@likec4/log": "1.59.
|
|
145
|
-
"@likec4/language-server": "1.59.
|
|
146
|
-
"@likec4/language-services": "1.59.
|
|
147
|
-
"@likec4/mcp": "1.59.
|
|
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",
|
|
148
148
|
"@dagrejs/dagre": "1.1.8",
|
|
149
149
|
"@fontsource-variable/ibm-plex-sans": "^5.2.8",
|
|
150
|
-
"@likec4/devops": "1.59.
|
|
151
|
-
"@likec4/diagram": "1.59.
|
|
152
|
-
"@likec4/layouts": "1.59.
|
|
153
|
-
"@likec4/vite-plugin": "1.59.
|
|
154
|
-
"@likec4/react": "1.59.
|
|
155
|
-
"@likec4/spa": "1.59.
|
|
156
|
-
"@likec4/generators": "1.59.
|
|
157
|
-
"@likec4/style-preset": "1.59.
|
|
158
|
-
"@likec4/styles": "1.59.
|
|
159
|
-
"@likec4/tsconfig": "1.59.
|
|
160
|
-
"@pandacss/dev": "^1.
|
|
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",
|
|
161
161
|
"@tanstack/ai": "^0.14.0",
|
|
162
162
|
"@types/node": "~22.19.19",
|
|
163
163
|
"@types/picomatch": "^4.0.3",
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
"defu": "^6.1.7",
|
|
175
175
|
"esbuild-node-externals": "1.23.1",
|
|
176
176
|
"esm-env": "^1.2.2",
|
|
177
|
-
"fast-equals": "^6.0.
|
|
177
|
+
"fast-equals": "^6.0.3",
|
|
178
178
|
"get-port": "^7.2.0",
|
|
179
179
|
"is-inside-container": "^1.0.0",
|
|
180
180
|
"json5": "^2.2.3",
|
|
@@ -182,12 +182,12 @@
|
|
|
182
182
|
"mkdirp": "^3.0.1",
|
|
183
183
|
"npm-run-all2": "^8.0.4",
|
|
184
184
|
"p-limit": "7.3.2",
|
|
185
|
-
"nanostores": "1.5.
|
|
185
|
+
"nanostores": "1.5.3",
|
|
186
186
|
"@nanostores/react": "1.1.0",
|
|
187
|
-
"oxlint": "1.
|
|
188
|
-
"package-manager-detector": "1.
|
|
187
|
+
"oxlint": "1.81.0",
|
|
188
|
+
"package-manager-detector": "1.8.0",
|
|
189
189
|
"package-up": "^5.0.0",
|
|
190
|
-
"postcss": "8.5.
|
|
190
|
+
"postcss": "8.5.28",
|
|
191
191
|
"pretty-ms": "^9.3.0",
|
|
192
192
|
"react": "19.2.8",
|
|
193
193
|
"react-dom": "19.2.8",
|
|
@@ -197,11 +197,11 @@
|
|
|
197
197
|
"semver": "^7.8.1",
|
|
198
198
|
"strip-indent": "^4.1.1",
|
|
199
199
|
"tinyrainbow": "^3.1.1",
|
|
200
|
-
"tsx": "4.
|
|
200
|
+
"tsx": "4.23.13",
|
|
201
201
|
"turbo": "2.10.12",
|
|
202
202
|
"typescript": "6.0.3",
|
|
203
203
|
"ufo": "1.6.4",
|
|
204
|
-
"tsdown": "^0.
|
|
204
|
+
"tsdown": "^0.23.0",
|
|
205
205
|
"vite-plugin-dts": "^5.1.0",
|
|
206
206
|
"vitest": "4.1.11",
|
|
207
207
|
"vscode-jsonrpc": "8.2.0",
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
"vscode-languageserver-types": "3.17.5",
|
|
210
210
|
"vscode-uri": "3.1.0",
|
|
211
211
|
"which": "^5.0.0",
|
|
212
|
-
"wireit": "0.14.
|
|
212
|
+
"wireit": "0.14.13",
|
|
213
213
|
"zod": "^4.4.3",
|
|
214
214
|
"zx": "8.8.5"
|
|
215
215
|
},
|