@unpunnyfuns/conduit 0.1.0
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/LICENSE +25 -0
- package/README.md +202 -0
- package/dist/assert.d.ts +6 -0
- package/dist/assert.d.ts.map +1 -0
- package/dist/assert.js +8 -0
- package/dist/assert.js.map +1 -0
- package/dist/cn.d.ts +3 -0
- package/dist/cn.d.ts.map +1 -0
- package/dist/cn.js +3 -0
- package/dist/cn.js.map +1 -0
- package/dist/components/Badge.d.ts +6 -0
- package/dist/components/Badge.d.ts.map +1 -0
- package/dist/components/Badge.js +11 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Card.d.ts +20 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +24 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Diagram.d.ts +37 -0
- package/dist/components/Diagram.d.ts.map +1 -0
- package/dist/components/Diagram.js +92 -0
- package/dist/components/Diagram.js.map +1 -0
- package/dist/components/EdgeLayer.d.ts +23 -0
- package/dist/components/EdgeLayer.d.ts.map +1 -0
- package/dist/components/EdgeLayer.js +85 -0
- package/dist/components/EdgeLayer.js.map +1 -0
- package/dist/components/Lane.d.ts +11 -0
- package/dist/components/Lane.d.ts.map +1 -0
- package/dist/components/Lane.js +6 -0
- package/dist/components/Lane.js.map +1 -0
- package/dist/components/icons.d.ts +7 -0
- package/dist/components/icons.d.ts.map +1 -0
- package/dist/components/icons.js +47 -0
- package/dist/components/icons.js.map +1 -0
- package/dist/components/pulse.d.ts +15 -0
- package/dist/components/pulse.d.ts.map +1 -0
- package/dist/components/pulse.js +10 -0
- package/dist/components/pulse.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/architecture.d.ts +60 -0
- package/dist/layout/architecture.d.ts.map +1 -0
- package/dist/layout/architecture.js +88 -0
- package/dist/layout/architecture.js.map +1 -0
- package/dist/layout/bounds.d.ts +25 -0
- package/dist/layout/bounds.d.ts.map +1 -0
- package/dist/layout/bounds.js +32 -0
- package/dist/layout/bounds.js.map +1 -0
- package/dist/layout/congestion.d.ts +18 -0
- package/dist/layout/congestion.d.ts.map +1 -0
- package/dist/layout/congestion.js +49 -0
- package/dist/layout/congestion.js.map +1 -0
- package/dist/layout/design.d.ts +98 -0
- package/dist/layout/design.d.ts.map +1 -0
- package/dist/layout/design.js +92 -0
- package/dist/layout/design.js.map +1 -0
- package/dist/layout/edges.d.ts +53 -0
- package/dist/layout/edges.d.ts.map +1 -0
- package/dist/layout/edges.js +848 -0
- package/dist/layout/edges.js.map +1 -0
- package/dist/layout/errors.d.ts +6 -0
- package/dist/layout/errors.d.ts.map +1 -0
- package/dist/layout/errors.js +9 -0
- package/dist/layout/errors.js.map +1 -0
- package/dist/layout/frame.d.ts +35 -0
- package/dist/layout/frame.d.ts.map +1 -0
- package/dist/layout/frame.js +63 -0
- package/dist/layout/frame.js.map +1 -0
- package/dist/layout/geometry.d.ts +23 -0
- package/dist/layout/geometry.d.ts.map +1 -0
- package/dist/layout/geometry.js +22 -0
- package/dist/layout/geometry.js.map +1 -0
- package/dist/layout/labels.d.ts +12 -0
- package/dist/layout/labels.d.ts.map +1 -0
- package/dist/layout/labels.js +153 -0
- package/dist/layout/labels.js.map +1 -0
- package/dist/layout/lanes.d.ts +5 -0
- package/dist/layout/lanes.d.ts.map +1 -0
- package/dist/layout/lanes.js +13 -0
- package/dist/layout/lanes.js.map +1 -0
- package/dist/layout/layout.d.ts +42 -0
- package/dist/layout/layout.d.ts.map +1 -0
- package/dist/layout/layout.js +94 -0
- package/dist/layout/layout.js.map +1 -0
- package/dist/layout/rank.d.ts +14 -0
- package/dist/layout/rank.d.ts.map +1 -0
- package/dist/layout/rank.js +78 -0
- package/dist/layout/rank.js.map +1 -0
- package/dist/layout/scope.d.ts +20 -0
- package/dist/layout/scope.d.ts.map +1 -0
- package/dist/layout/scope.js +52 -0
- package/dist/layout/scope.js.map +1 -0
- package/dist/layout/seating.d.ts +27 -0
- package/dist/layout/seating.d.ts.map +1 -0
- package/dist/layout/seating.js +135 -0
- package/dist/layout/seating.js.map +1 -0
- package/dist/layout/text.d.ts +12 -0
- package/dist/layout/text.d.ts.map +1 -0
- package/dist/layout/text.js +148 -0
- package/dist/layout/text.js.map +1 -0
- package/dist/layout/trace.d.ts +8 -0
- package/dist/layout/trace.d.ts.map +1 -0
- package/dist/layout/trace.js +51 -0
- package/dist/layout/trace.js.map +1 -0
- package/dist/layout.d.ts +9 -0
- package/dist/layout.d.ts.map +1 -0
- package/dist/layout.js +6 -0
- package/dist/layout.js.map +1 -0
- package/dist/schema/document.d.ts +239 -0
- package/dist/schema/document.d.ts.map +1 -0
- package/dist/schema/document.js +83 -0
- package/dist/schema/document.js.map +1 -0
- package/dist/schema/errors.d.ts +20 -0
- package/dist/schema/errors.d.ts.map +1 -0
- package/dist/schema/errors.js +12 -0
- package/dist/schema/errors.js.map +1 -0
- package/dist/schema/integrity.d.ts +8 -0
- package/dist/schema/integrity.d.ts.map +1 -0
- package/dist/schema/integrity.js +63 -0
- package/dist/schema/integrity.js.map +1 -0
- package/dist/schema/parse.d.ts +6 -0
- package/dist/schema/parse.d.ts.map +1 -0
- package/dist/schema/parse.js +53 -0
- package/dist/schema/parse.js.map +1 -0
- package/dist/schema/primitives.d.ts +58 -0
- package/dist/schema/primitives.d.ts.map +1 -0
- package/dist/schema/primitives.js +44 -0
- package/dist/schema/primitives.js.map +1 -0
- package/dist/theme.css +63 -0
- package/package.json +83 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Constrained so an id survives as a DOM id, an SVG marker id and a URL fragment. */
|
|
3
|
+
export declare const Id: z.ZodString;
|
|
4
|
+
export type Id = z.infer<typeof Id>;
|
|
5
|
+
export declare const Label: z.ZodString;
|
|
6
|
+
export declare const Summary: z.ZodString;
|
|
7
|
+
export declare const Status: z.ZodEnum<{
|
|
8
|
+
caution: "caution";
|
|
9
|
+
critical: "critical";
|
|
10
|
+
neutral: "neutral";
|
|
11
|
+
positive: "positive";
|
|
12
|
+
}>;
|
|
13
|
+
export type Status = z.infer<typeof Status>;
|
|
14
|
+
export declare const STATUSES: ("caution" | "critical" | "neutral" | "positive")[];
|
|
15
|
+
/** Coarse on purpose: this drives the card icon, never analysis. */
|
|
16
|
+
export declare const NodeKind: z.ZodEnum<{
|
|
17
|
+
app: "app";
|
|
18
|
+
cache: "cache";
|
|
19
|
+
config: "config";
|
|
20
|
+
datastore: "datastore";
|
|
21
|
+
external: "external";
|
|
22
|
+
function: "function";
|
|
23
|
+
job: "job";
|
|
24
|
+
module: "module";
|
|
25
|
+
other: "other";
|
|
26
|
+
package: "package";
|
|
27
|
+
queue: "queue";
|
|
28
|
+
route: "route";
|
|
29
|
+
service: "service";
|
|
30
|
+
test: "test";
|
|
31
|
+
ui: "ui";
|
|
32
|
+
}>;
|
|
33
|
+
export type NodeKind = z.infer<typeof NodeKind>;
|
|
34
|
+
export declare const EdgeKind: z.ZodEnum<{
|
|
35
|
+
call: "call";
|
|
36
|
+
data: "data";
|
|
37
|
+
dependency: "dependency";
|
|
38
|
+
event: "event";
|
|
39
|
+
http: "http";
|
|
40
|
+
other: "other";
|
|
41
|
+
queue: "queue";
|
|
42
|
+
render: "render";
|
|
43
|
+
rpc: "rpc";
|
|
44
|
+
}>;
|
|
45
|
+
export type EdgeKind = z.infer<typeof EdgeKind>;
|
|
46
|
+
export declare const EdgeEmphasis: z.ZodEnum<{
|
|
47
|
+
hero: "hero";
|
|
48
|
+
muted: "muted";
|
|
49
|
+
normal: "normal";
|
|
50
|
+
}>;
|
|
51
|
+
export type EdgeEmphasis = z.infer<typeof EdgeEmphasis>;
|
|
52
|
+
/** Which way the flow runs: lanes as columns with rows going down, or lanes as bands with columns going right. */
|
|
53
|
+
export declare const Direction: z.ZodEnum<{
|
|
54
|
+
down: "down";
|
|
55
|
+
right: "right";
|
|
56
|
+
}>;
|
|
57
|
+
export type Direction = z.infer<typeof Direction>;
|
|
58
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/schema/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sFAAsF;AACtF,eAAO,MAAM,EAAE,aAOZ,CAAC;AACJ,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpC,eAAO,MAAM,KAAK,aAA6B,CAAC;AAChD,eAAO,MAAM,OAAO,aAA8B,CAAC;AAEnD,eAAO,MAAM,MAAM;;;;;EAAyD,CAAC;AAC7E,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,eAAO,MAAM,QAAQ,qDAAiB,CAAC;AAEvC,oEAAoE;AACpE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;EAgBnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,QAAQ;;;;;;;;;;EAUnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,YAAY;;;;EAAsC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,kHAAkH;AAClH,eAAO,MAAM,SAAS;;;EAA4B,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Constrained so an id survives as a DOM id, an SVG marker id and a URL fragment. */
|
|
3
|
+
export const Id = z
|
|
4
|
+
.string()
|
|
5
|
+
.min(1)
|
|
6
|
+
.max(128)
|
|
7
|
+
.regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/, "must start alphanumeric and contain only letters, digits and . _ : / -");
|
|
8
|
+
export const Label = z.string().min(1).max(120);
|
|
9
|
+
export const Summary = z.string().min(1).max(2000);
|
|
10
|
+
export const Status = z.enum(["neutral", "positive", "caution", "critical"]);
|
|
11
|
+
export const STATUSES = Status.options;
|
|
12
|
+
/** Coarse on purpose: this drives the card icon, never analysis. */
|
|
13
|
+
export const NodeKind = z.enum([
|
|
14
|
+
"service",
|
|
15
|
+
"app",
|
|
16
|
+
"module",
|
|
17
|
+
"function",
|
|
18
|
+
"route",
|
|
19
|
+
"job",
|
|
20
|
+
"queue",
|
|
21
|
+
"datastore",
|
|
22
|
+
"cache",
|
|
23
|
+
"external",
|
|
24
|
+
"ui",
|
|
25
|
+
"config",
|
|
26
|
+
"test",
|
|
27
|
+
"package",
|
|
28
|
+
"other",
|
|
29
|
+
]);
|
|
30
|
+
export const EdgeKind = z.enum([
|
|
31
|
+
"call",
|
|
32
|
+
"http",
|
|
33
|
+
"rpc",
|
|
34
|
+
"event",
|
|
35
|
+
"queue",
|
|
36
|
+
"data",
|
|
37
|
+
"dependency",
|
|
38
|
+
"render",
|
|
39
|
+
"other",
|
|
40
|
+
]);
|
|
41
|
+
export const EdgeEmphasis = z.enum(["normal", "hero", "muted"]);
|
|
42
|
+
/** Which way the flow runs: lanes as columns with rows going down, or lanes as bands with columns going right. */
|
|
43
|
+
export const Direction = z.enum(["right", "down"]);
|
|
44
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/schema/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sFAAsF;AACtF,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CACJ,gCAAgC,EAChC,wEAAwE,CACzE,CAAC;AAGJ,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;AAEvC,oEAAoE;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7B,SAAS;IACT,KAAK;IACL,QAAQ;IACR,UAAU;IACV,OAAO;IACP,KAAK;IACL,OAAO;IACP,WAAW;IACX,OAAO;IACP,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7B,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAGhE,kHAAkH;AAClH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC"}
|
package/dist/theme.css
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* conduit design tokens. Defaults are pr-lens's palette so the look survives
|
|
3
|
+
* verbatim; override any token in your own @theme or .dark block.
|
|
4
|
+
*/
|
|
5
|
+
@theme {
|
|
6
|
+
--color-conduit-bg: #f4f5f7;
|
|
7
|
+
--color-conduit-dot: rgb(140 149 159 / 0.5);
|
|
8
|
+
--color-conduit-lane: rgb(255 255 255 / 0.55);
|
|
9
|
+
--color-conduit-card: #ffffff;
|
|
10
|
+
--color-conduit-card-border: #d1d9e0;
|
|
11
|
+
--color-conduit-fg: #1f2328;
|
|
12
|
+
--color-conduit-muted: #59636e;
|
|
13
|
+
--color-conduit-chip: #f1f3f5;
|
|
14
|
+
--color-conduit-edge: #8c959f;
|
|
15
|
+
--color-conduit-pill: #ffffff;
|
|
16
|
+
--color-conduit-pill-border: #d8dee4;
|
|
17
|
+
--color-conduit-shadow: rgb(31 35 40 / 0.14);
|
|
18
|
+
|
|
19
|
+
--color-conduit-positive: #1f883d;
|
|
20
|
+
--color-conduit-positive-fill: #b9f0c4;
|
|
21
|
+
--color-conduit-positive-text: #116329;
|
|
22
|
+
--color-conduit-positive-border: rgb(31 136 61 / 0.55);
|
|
23
|
+
|
|
24
|
+
--color-conduit-caution: #bf8700;
|
|
25
|
+
--color-conduit-caution-fill: #fae17d;
|
|
26
|
+
--color-conduit-caution-text: #7d4e00;
|
|
27
|
+
--color-conduit-caution-border: rgb(154 103 0 / 0.55);
|
|
28
|
+
|
|
29
|
+
--color-conduit-critical: #cf222e;
|
|
30
|
+
--color-conduit-critical-fill: #ffcecb;
|
|
31
|
+
--color-conduit-critical-text: #a40e26;
|
|
32
|
+
--color-conduit-critical-border: rgb(207 34 46 / 0.5);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.dark {
|
|
36
|
+
--color-conduit-bg: #0d1117;
|
|
37
|
+
--color-conduit-dot: rgb(110 118 129 / 0.22);
|
|
38
|
+
--color-conduit-lane: rgb(110 118 129 / 0.07);
|
|
39
|
+
--color-conduit-card: #1c2128;
|
|
40
|
+
--color-conduit-card-border: #3d444d;
|
|
41
|
+
--color-conduit-fg: #e6edf3;
|
|
42
|
+
--color-conduit-muted: #9198a1;
|
|
43
|
+
--color-conduit-chip: rgb(110 118 129 / 0.18);
|
|
44
|
+
--color-conduit-edge: #6e7681;
|
|
45
|
+
--color-conduit-pill: #0d1117;
|
|
46
|
+
--color-conduit-pill-border: #21262d;
|
|
47
|
+
--color-conduit-shadow: rgb(0 0 0 / 0.28);
|
|
48
|
+
|
|
49
|
+
--color-conduit-positive: #3fb950;
|
|
50
|
+
--color-conduit-positive-fill: rgb(46 160 67 / 0.15);
|
|
51
|
+
--color-conduit-positive-text: #3fb950;
|
|
52
|
+
--color-conduit-positive-border: rgb(63 185 80 / 0.4);
|
|
53
|
+
|
|
54
|
+
--color-conduit-caution: #d29922;
|
|
55
|
+
--color-conduit-caution-fill: rgb(187 128 9 / 0.15);
|
|
56
|
+
--color-conduit-caution-text: #d29922;
|
|
57
|
+
--color-conduit-caution-border: rgb(210 153 34 / 0.4);
|
|
58
|
+
|
|
59
|
+
--color-conduit-critical: #f85149;
|
|
60
|
+
--color-conduit-critical-fill: rgb(248 81 73 / 0.12);
|
|
61
|
+
--color-conduit-critical-text: #f85149;
|
|
62
|
+
--color-conduit-critical-border: rgb(248 81 73 / 0.4);
|
|
63
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@unpunnyfuns/conduit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Lane-based architecture diagrams for React, with live content in every card.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"architecture",
|
|
7
|
+
"diagram",
|
|
8
|
+
"react",
|
|
9
|
+
"svg",
|
|
10
|
+
"tailwind"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"author": "unpunnyfuns <unpunnyfuns@gmail.com>",
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/unpunnyfuns/conduit.git"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"type": "module",
|
|
24
|
+
"sideEffects": [
|
|
25
|
+
"*.css"
|
|
26
|
+
],
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"default": "./dist/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./layout": {
|
|
33
|
+
"types": "./dist/layout.d.ts",
|
|
34
|
+
"default": "./dist/layout.js"
|
|
35
|
+
},
|
|
36
|
+
"./theme.css": "./dist/theme.css",
|
|
37
|
+
"./package.json": "./package.json"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"prepack": "npm run build",
|
|
44
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && cp src/theme.css dist/theme.css",
|
|
45
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
46
|
+
"lint": "oxlint",
|
|
47
|
+
"format": "oxfmt",
|
|
48
|
+
"format:check": "oxfmt --check",
|
|
49
|
+
"test": "vitest run",
|
|
50
|
+
"test:layout": "vitest run --project layout",
|
|
51
|
+
"test:browser": "vitest run --project browser",
|
|
52
|
+
"example": "vite -c example/vite.config.ts"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"zod": "^4.5.4"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
59
|
+
"@types/node": "^26.5.0",
|
|
60
|
+
"@types/react": "^19.2.18",
|
|
61
|
+
"@types/react-dom": "^19.2.7",
|
|
62
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
63
|
+
"@vitest/browser-playwright": "^5.0.0",
|
|
64
|
+
"oxfmt": "^0.67.0",
|
|
65
|
+
"oxlint": "^1.82.0",
|
|
66
|
+
"playwright": "^1.63.0",
|
|
67
|
+
"react": "^19.2.8",
|
|
68
|
+
"react-dom": "^19.2.8",
|
|
69
|
+
"tailwindcss": "^4.3.3",
|
|
70
|
+
"typescript": "^7.0.2",
|
|
71
|
+
"vite": "^8.2.2",
|
|
72
|
+
"vitest": "^5.0.0",
|
|
73
|
+
"vitest-browser-react": "^2.3.0"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"react": "^19.0.0",
|
|
77
|
+
"react-dom": "^19.0.0",
|
|
78
|
+
"tailwindcss": "^4.0.0"
|
|
79
|
+
},
|
|
80
|
+
"engines": {
|
|
81
|
+
"node": ">=20.11"
|
|
82
|
+
}
|
|
83
|
+
}
|