@noobsociety/nsds 0.3.1 → 0.4.1
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/CHANGELOG.md +34 -1
- package/CONTRIBUTING.md +43 -2
- package/README.md +87 -36
- package/SECURITY.md +38 -4
- package/dist/client/index.cjs +1 -0
- package/dist/client/index.d.cts +6 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +5 -0
- package/dist/components/_card-base.css +99 -0
- package/dist/components/hud/HUDBar.d.ts +16 -3
- package/dist/components/hud/HUDChat.d.ts +26 -0
- package/dist/components/hud/HUDJoystick.d.ts +21 -0
- package/dist/components/hud/HUDMinimap.d.ts +14 -0
- package/dist/components/hud/HUDPanel.d.ts +25 -0
- package/dist/components/hud/HUDTabWindow.d.ts +37 -0
- package/dist/components/hud-editor.css +197 -0
- package/dist/components/icons/RPGIcon.d.ts +15 -11
- package/dist/components/icons/registry.d.ts +37 -0
- package/dist/components/primitives.css +50 -20
- package/dist/components/react/index.d.ts +12 -2
- package/dist/components/scene-builder.css +740 -0
- package/dist/components/scene-builder.js +3039 -0
- package/dist/components/shared/constants.d.ts +41 -0
- package/dist/components/shared/styles.d.ts +1 -42
- package/dist/index.cjs +1 -1
- package/dist/index.js +6173 -1821
- package/dist/registry-BizUEm6W.js +136 -0
- package/dist/registry-Cyq-qspU.cjs +1 -0
- package/dist/styles.css +1 -0
- package/dist/tokens/base.css +17 -4
- package/dist/tokens/colors.css +57 -53
- package/dist/tokens/hud.css +119 -78
- package/dist/tokens/motion.css +57 -23
- package/dist/tokens/spacing.css +39 -39
- package/dist/tokens/typography.css +20 -20
- package/package.json +37 -8
package/dist/tokens/motion.css
CHANGED
|
@@ -1,63 +1,97 @@
|
|
|
1
1
|
/* NoobSociety — Motion tokens & keyframes */
|
|
2
2
|
:root {
|
|
3
3
|
/* ── Durations ────────────────────────────────────────────── */
|
|
4
|
-
--ns-dur-fast:
|
|
5
|
-
--ns-dur-base:
|
|
6
|
-
--ns-dur-slow:
|
|
7
|
-
--ns-dur-xslow:
|
|
4
|
+
--ns-dur-fast: 150ms; /* @kind other */
|
|
5
|
+
--ns-dur-base: 200ms; /* @kind other */
|
|
6
|
+
--ns-dur-slow: 400ms; /* @kind other */
|
|
7
|
+
--ns-dur-xslow: 600ms; /* @kind other */
|
|
8
8
|
|
|
9
9
|
/* ── Easings ──────────────────────────────────────────────── */
|
|
10
|
-
--ns-ease-out:
|
|
11
|
-
--ns-ease-in-out: ease-in-out;
|
|
12
|
-
--ns-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
10
|
+
--ns-ease-out: ease-out; /* @kind other */
|
|
11
|
+
--ns-ease-in-out: ease-in-out; /* @kind other */
|
|
12
|
+
--ns-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* @kind other */
|
|
13
13
|
|
|
14
14
|
/* ── Transitions (common shorthand) ──────────────────────── */
|
|
15
|
-
--ns-transition-fast: var(--ns-dur-fast) var(--ns-ease-out);
|
|
16
|
-
--ns-transition-base: var(--ns-dur-base) var(--ns-ease-out);
|
|
15
|
+
--ns-transition-fast: var(--ns-dur-fast) var(--ns-ease-out); /* @kind other */
|
|
16
|
+
--ns-transition-base: var(--ns-dur-base) var(--ns-ease-out); /* @kind other */
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/* ── Keyframes ────────────────────────────────────────────────── */
|
|
20
20
|
|
|
21
21
|
/* Character idle bob (with centered offset) */
|
|
22
22
|
@keyframes ns-bob {
|
|
23
|
-
0%,
|
|
24
|
-
|
|
23
|
+
0%,
|
|
24
|
+
100% {
|
|
25
|
+
transform: translateX(-50%) translateY(0);
|
|
26
|
+
}
|
|
27
|
+
50% {
|
|
28
|
+
transform: translateX(-50%) translateY(-6px);
|
|
29
|
+
}
|
|
25
30
|
}
|
|
26
31
|
|
|
27
32
|
/* Generic idle bob (no X offset) */
|
|
28
33
|
@keyframes ns-bob-plain {
|
|
29
|
-
0%,
|
|
30
|
-
|
|
34
|
+
0%,
|
|
35
|
+
100% {
|
|
36
|
+
transform: translateY(0);
|
|
37
|
+
}
|
|
38
|
+
50% {
|
|
39
|
+
transform: translateY(-5px);
|
|
40
|
+
}
|
|
31
41
|
}
|
|
32
42
|
|
|
33
43
|
/* Pixel text blink (e.g. "Press Start") */
|
|
34
44
|
@keyframes ns-blink {
|
|
35
|
-
0%,
|
|
36
|
-
|
|
45
|
+
0%,
|
|
46
|
+
55% {
|
|
47
|
+
opacity: 1;
|
|
48
|
+
}
|
|
49
|
+
56%,
|
|
50
|
+
100% {
|
|
51
|
+
opacity: 0;
|
|
52
|
+
}
|
|
37
53
|
}
|
|
38
54
|
|
|
39
55
|
/* Star field twinkle */
|
|
40
56
|
@keyframes ns-twinkle {
|
|
41
|
-
0%,
|
|
42
|
-
|
|
57
|
+
0%,
|
|
58
|
+
100% {
|
|
59
|
+
opacity: 0.7;
|
|
60
|
+
}
|
|
61
|
+
50% {
|
|
62
|
+
opacity: 0.35;
|
|
63
|
+
}
|
|
43
64
|
}
|
|
44
65
|
|
|
45
66
|
/* Section arrow nudge */
|
|
46
67
|
@keyframes ns-arrow {
|
|
47
|
-
0%,
|
|
48
|
-
|
|
68
|
+
0%,
|
|
69
|
+
100% {
|
|
70
|
+
transform: translateX(-50%) translateY(0);
|
|
71
|
+
}
|
|
72
|
+
50% {
|
|
73
|
+
transform: translateX(-50%) translateY(5px);
|
|
74
|
+
}
|
|
49
75
|
}
|
|
50
76
|
|
|
51
77
|
/* Live pulse dot */
|
|
52
78
|
@keyframes ns-live {
|
|
53
|
-
0%
|
|
54
|
-
|
|
55
|
-
|
|
79
|
+
0% {
|
|
80
|
+
box-shadow: 0 0 0 0 rgba(166, 226, 46, 0.7);
|
|
81
|
+
}
|
|
82
|
+
70% {
|
|
83
|
+
box-shadow: 0 0 0 7px rgba(166, 226, 46, 0);
|
|
84
|
+
}
|
|
85
|
+
100% {
|
|
86
|
+
box-shadow: 0 0 0 0 rgba(166, 226, 46, 0);
|
|
87
|
+
}
|
|
56
88
|
}
|
|
57
89
|
|
|
58
90
|
/* Reduced motion: disable all ns animations */
|
|
59
91
|
@media (prefers-reduced-motion: reduce) {
|
|
60
|
-
*,
|
|
92
|
+
*,
|
|
93
|
+
*::before,
|
|
94
|
+
*::after {
|
|
61
95
|
animation: none !important;
|
|
62
96
|
scroll-behavior: auto !important;
|
|
63
97
|
}
|
package/dist/tokens/spacing.css
CHANGED
|
@@ -4,60 +4,60 @@
|
|
|
4
4
|
|
|
5
5
|
:root {
|
|
6
6
|
/* ── Base scale (4px grid, expressed in rem) ──────────────────── */
|
|
7
|
-
--ns-space-1:
|
|
8
|
-
--ns-space-2:
|
|
9
|
-
--ns-space-3:
|
|
10
|
-
--ns-space-4:
|
|
11
|
-
--ns-space-5:
|
|
12
|
-
--ns-space-6:
|
|
13
|
-
--ns-space-7:
|
|
14
|
-
--ns-space-8:
|
|
15
|
-
--ns-space-10:
|
|
16
|
-
--ns-space-12:
|
|
17
|
-
--ns-space-14:
|
|
18
|
-
--ns-space-16:
|
|
19
|
-
--ns-space-20:
|
|
20
|
-
--ns-space-24:
|
|
7
|
+
--ns-space-1: 0.25rem; /* 4px */
|
|
8
|
+
--ns-space-2: 0.5rem; /* 8px */
|
|
9
|
+
--ns-space-3: 0.75rem; /* 12px */
|
|
10
|
+
--ns-space-4: 1rem; /* 16px */
|
|
11
|
+
--ns-space-5: 1.25rem; /* 20px */
|
|
12
|
+
--ns-space-6: 1.5rem; /* 24px */
|
|
13
|
+
--ns-space-7: 1.75rem; /* 28px */
|
|
14
|
+
--ns-space-8: 2rem; /* 32px */
|
|
15
|
+
--ns-space-10: 2.5rem; /* 40px */
|
|
16
|
+
--ns-space-12: 3rem; /* 48px */
|
|
17
|
+
--ns-space-14: 3.5rem; /* 56px */
|
|
18
|
+
--ns-space-16: 4rem; /* 64px */
|
|
19
|
+
--ns-space-20: 5rem; /* 80px */
|
|
20
|
+
--ns-space-24: 5.75rem; /* 92px */
|
|
21
21
|
|
|
22
22
|
/* ── Fluid layout tokens (viewport-responsive) ────────────────── */
|
|
23
|
-
--ns-fluid-container:
|
|
24
|
-
--ns-fluid-section-top:
|
|
25
|
-
--ns-fluid-section-bottom:
|
|
26
|
-
--ns-fluid-gap-cards:
|
|
27
|
-
--ns-fluid-card-pad:
|
|
28
|
-
--ns-fluid-hero-gap:
|
|
29
|
-
--ns-fluid-footer-gap:
|
|
23
|
+
--ns-fluid-container: clamp(1rem, 4vw, 2rem); /* @kind spacing */
|
|
24
|
+
--ns-fluid-section-top: clamp(2.5rem, 8svh, 4rem); /* @kind spacing */
|
|
25
|
+
--ns-fluid-section-bottom: clamp(4rem, 10svh, 5.5rem); /* @kind spacing */
|
|
26
|
+
--ns-fluid-gap-cards: clamp(0.75rem, 2vw, 1.5rem); /* @kind spacing */
|
|
27
|
+
--ns-fluid-card-pad: clamp(1rem, 2vw, 1.25rem); /* @kind spacing */
|
|
28
|
+
--ns-fluid-hero-gap: clamp(1.5rem, 4vw, 3rem); /* @kind spacing */
|
|
29
|
+
--ns-fluid-footer-gap: clamp(2rem, 5vw, 3rem); /* @kind spacing */
|
|
30
30
|
|
|
31
31
|
/* ── Fixed layout ─────────────────────────────────────────────── */
|
|
32
|
-
--ns-container:
|
|
33
|
-
--ns-header-h:
|
|
34
|
-
--ns-section-min:
|
|
32
|
+
--ns-container: 1080px;
|
|
33
|
+
--ns-header-h: 4rem; /* 64px — sticky header */
|
|
34
|
+
--ns-section-min: calc(100svh - var(--ns-header-h));
|
|
35
35
|
|
|
36
36
|
/* ── Radii ────────────────────────────────────────────────────── */
|
|
37
|
-
--ns-radius-sm:
|
|
38
|
-
--ns-radius-md:
|
|
39
|
-
--ns-radius-lg:
|
|
40
|
-
--ns-radius-xl:
|
|
41
|
-
--ns-radius-full:
|
|
37
|
+
--ns-radius-sm: 0.25rem; /* 4px */
|
|
38
|
+
--ns-radius-md: 0.5rem; /* 8px */
|
|
39
|
+
--ns-radius-lg: 0.625rem; /* 10px */
|
|
40
|
+
--ns-radius-xl: 0.75rem; /* 12px */
|
|
41
|
+
--ns-radius-full: 9999px;
|
|
42
42
|
|
|
43
43
|
/* ── Shadows ──────────────────────────────────────────────────── */
|
|
44
|
-
--ns-shadow-card-rest:
|
|
44
|
+
--ns-shadow-card-rest: none;
|
|
45
45
|
--ns-shadow-card-hover: 0 1rem 2.125rem rgba(0, 0, 0, 0.38);
|
|
46
|
-
--ns-shadow-modal:
|
|
47
|
-
--ns-shadow-btn:
|
|
48
|
-
--ns-shadow-arrow:
|
|
46
|
+
--ns-shadow-modal: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.5);
|
|
47
|
+
--ns-shadow-btn: 0 0.1875rem 0 var(--ns-gold-shadow);
|
|
48
|
+
--ns-shadow-arrow: 0 0 0 0.25rem rgba(230, 219, 116, 0.12), 0 0.75rem 1.75rem rgba(0, 0, 0, 0.36);
|
|
49
49
|
|
|
50
50
|
/* ── Borders ──────────────────────────────────────────────────── */
|
|
51
|
-
--ns-border-card:
|
|
51
|
+
--ns-border-card: 1px solid var(--ns-line);
|
|
52
52
|
--ns-border-card-strong: 1px solid var(--ns-line-strong);
|
|
53
|
-
--ns-border-gold:
|
|
53
|
+
--ns-border-gold: 2px solid var(--ns-gold-deep);
|
|
54
54
|
|
|
55
55
|
/* ── Blur ─────────────────────────────────────────────────────── */
|
|
56
|
-
--ns-blur-glass:
|
|
57
|
-
--ns-blur-header: blur(12px);
|
|
56
|
+
--ns-blur-glass: blur(8px); /* @kind other */
|
|
57
|
+
--ns-blur-header: blur(12px); /* @kind other */
|
|
58
58
|
|
|
59
59
|
/* ── Component sizing ──────────────────────────────────────────── */
|
|
60
|
-
--ns-icon-slot:
|
|
60
|
+
--ns-icon-slot: 2.625rem; /* 42px */
|
|
61
61
|
--ns-icon-slot-sm: 1.625rem; /* 26px */
|
|
62
|
-
--ns-arrow-size:
|
|
62
|
+
--ns-arrow-size: 2.125rem; /* 34px */
|
|
63
63
|
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
/* NoobSociety — Typography tokens */
|
|
2
2
|
:root {
|
|
3
3
|
/* ── Font families ────────────────────────────────────────── */
|
|
4
|
-
--ns-font-body:
|
|
4
|
+
--ns-font-body: 'Inter', system-ui, sans-serif;
|
|
5
5
|
--ns-font-pixel: 'Press Start 2P', system-ui, sans-serif;
|
|
6
6
|
|
|
7
7
|
/* ── Type scale ───────────────────────────────────────────── */
|
|
8
|
-
--ns-text-xs:
|
|
9
|
-
--ns-text-sm:
|
|
10
|
-
--ns-text-base: 1rem;
|
|
11
|
-
--ns-text-lg:
|
|
12
|
-
--ns-text-xl:
|
|
13
|
-
--ns-text-2xl:
|
|
14
|
-
--ns-text-3xl:
|
|
15
|
-
--ns-text-4xl:
|
|
8
|
+
--ns-text-xs: 0.75rem; /* 12px */
|
|
9
|
+
--ns-text-sm: 0.875rem; /* 14px */
|
|
10
|
+
--ns-text-base: 1rem; /* 16px */
|
|
11
|
+
--ns-text-lg: 1.125rem; /* 18px */
|
|
12
|
+
--ns-text-xl: 1.25rem; /* 20px */
|
|
13
|
+
--ns-text-2xl: 1.5rem; /* 24px */
|
|
14
|
+
--ns-text-3xl: 1.875rem; /* 30px */
|
|
15
|
+
--ns-text-4xl: 2.25rem; /* 36px */
|
|
16
16
|
|
|
17
17
|
/* ── Pixel font scale ─────────────────────────────────────── */
|
|
18
18
|
--ns-pixel-2xs: 7px;
|
|
19
|
-
--ns-pixel-xs:
|
|
20
|
-
--ns-pixel-sm:
|
|
19
|
+
--ns-pixel-xs: 8px;
|
|
20
|
+
--ns-pixel-sm: 9px;
|
|
21
21
|
--ns-pixel-base: 11px;
|
|
22
|
-
--ns-pixel-md:
|
|
23
|
-
--ns-pixel-lg:
|
|
24
|
-
--ns-pixel-xl:
|
|
22
|
+
--ns-pixel-md: 12px;
|
|
23
|
+
--ns-pixel-lg: 13px;
|
|
24
|
+
--ns-pixel-xl: 1.6rem; /* hero accent title */
|
|
25
25
|
--ns-pixel-2xl: clamp(2rem, 1rem + 3vw, 3.5rem); /* @kind other */
|
|
26
26
|
--ns-title-section: clamp(1.8rem, 1rem + 2vw, 2.4rem); /* @kind other */
|
|
27
27
|
|
|
28
28
|
/* ── Line heights ─────────────────────────────────────────── */
|
|
29
|
-
--ns-leading-tight:
|
|
30
|
-
--ns-leading-snug:
|
|
29
|
+
--ns-leading-tight: 1.08;
|
|
30
|
+
--ns-leading-snug: 1.35;
|
|
31
31
|
--ns-leading-normal: 1.45;
|
|
32
32
|
--ns-leading-relaxed: 1.6;
|
|
33
|
-
--ns-leading-pixel:
|
|
33
|
+
--ns-leading-pixel: 1.5; /* for Press Start 2P */
|
|
34
34
|
|
|
35
35
|
/* ── Font weights ─────────────────────────────────────────── */
|
|
36
|
-
--ns-weight-normal:
|
|
37
|
-
--ns-weight-medium:
|
|
36
|
+
--ns-weight-normal: 400;
|
|
37
|
+
--ns-weight-medium: 500;
|
|
38
38
|
--ns-weight-semibold: 600;
|
|
39
|
-
--ns-weight-bold:
|
|
39
|
+
--ns-weight-bold: 700;
|
|
40
40
|
|
|
41
41
|
/* ── Section eyebrow ─────────────────────────────────────────*/
|
|
42
42
|
/* font: 700 13px/1 var(--ns-font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--ns-gold) */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noobsociety/nsds",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "NoobSociety Design System — Monokai dark tokens, Tailwind preset, and pixel-art React components",
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"description": "NoobSociety Design System — Monokai dark tokens, client registries, Tailwind preset, and pixel-art React components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"design-system",
|
|
7
7
|
"react",
|
|
@@ -15,17 +15,27 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "vite build && tsc -p tsconfig.build.json && tsc -p tsconfig.tailwind.json && node scripts/prepare-types.mjs",
|
|
17
17
|
"build:storybook": "storybook build --disable-telemetry",
|
|
18
|
-
"changeset": "changeset",
|
|
19
|
-
"changeset:publish": "
|
|
20
|
-
"changeset:version": "changeset
|
|
21
|
-
"check": "npm run build && npm run check:package && npm run check:exports && npm run check:install && npm run check:types && npm run check:docs && npm run test:components && npm run test:visual && npm run test:smoke",
|
|
18
|
+
"changeset": "node scripts/create-changeset.mjs",
|
|
19
|
+
"changeset:publish": "npm publish --access public --provenance",
|
|
20
|
+
"changeset:version": "node scripts/changeset-version.mjs && node scripts/release-changelog.mjs",
|
|
21
|
+
"check": "npm run check:commits && npm run check:deps && npm run check:workflows && npm run check:content && npm run check:release && npm run check:markdown && npm run lint && npm run format:check && npm run build && npm run check:package && npm run check:exports && npm run check:install && npm run check:types && npm run check:docs && npm run test:components && npm run test:visual && npm run test:smoke",
|
|
22
|
+
"check:content": "node scripts/check-content.mjs",
|
|
23
|
+
"check:commits": "commitlint --from origin/main --to HEAD --verbose",
|
|
24
|
+
"check:deps": "node scripts/check-deps.mjs",
|
|
22
25
|
"check:docs": "npm run docs:api && git diff --exit-code docs/reference/api",
|
|
23
|
-
"check:exports": "publint run --pack npm --level warning && attw --pack . --profile node16 --entrypoints . ./react ./tailwind --format table --no-emoji",
|
|
26
|
+
"check:exports": "publint run --pack npm --level warning && attw --pack . --profile node16 --entrypoints . ./client ./react ./tailwind --format table --no-emoji",
|
|
24
27
|
"check:install": "node scripts/check-install.mjs",
|
|
28
|
+
"check:markdown": "markdownlint \"*.md\" \".github/**/*.md\" \"docs/**/*.md\" \".changeset/*.md\"",
|
|
25
29
|
"check:package": "node scripts/check-package.mjs",
|
|
30
|
+
"check:release": "node scripts/check-release.mjs",
|
|
31
|
+
"check:release:strict": "node scripts/check-release.mjs --strict",
|
|
26
32
|
"check:types": "tsc --noEmit",
|
|
33
|
+
"check:workflows": "node scripts/check-workflows.mjs",
|
|
27
34
|
"docs:api": "typedoc --options typedoc.json",
|
|
35
|
+
"format:check": "prettier --check .",
|
|
36
|
+
"lint": "eslint .",
|
|
28
37
|
"prepublishOnly": "npm run build",
|
|
38
|
+
"prepare": "husky",
|
|
29
39
|
"storybook": "storybook dev -p 6006 --disable-telemetry",
|
|
30
40
|
"test": "npm run check",
|
|
31
41
|
"test:components": "vitest run",
|
|
@@ -81,6 +91,16 @@
|
|
|
81
91
|
"default": "./dist/index.cjs"
|
|
82
92
|
}
|
|
83
93
|
},
|
|
94
|
+
"./client": {
|
|
95
|
+
"import": {
|
|
96
|
+
"types": "./dist/client/index.d.ts",
|
|
97
|
+
"default": "./dist/client/index.js"
|
|
98
|
+
},
|
|
99
|
+
"require": {
|
|
100
|
+
"types": "./dist/client/index.d.cts",
|
|
101
|
+
"default": "./dist/client/index.cjs"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
84
104
|
"./tailwind": {
|
|
85
105
|
"import": {
|
|
86
106
|
"types": "./dist/tailwind/preset.d.cts",
|
|
@@ -104,15 +124,23 @@
|
|
|
104
124
|
},
|
|
105
125
|
"devDependencies": {
|
|
106
126
|
"@arethetypeswrong/cli": "^0.18.3",
|
|
107
|
-
"@
|
|
127
|
+
"@commitlint/cli": "^21.0.2",
|
|
128
|
+
"@commitlint/config-conventional": "^21.0.2",
|
|
129
|
+
"@eslint/js": "^10.0.1",
|
|
108
130
|
"@playwright/test": "^1.61.0",
|
|
109
131
|
"@storybook/addon-docs": "^10.4.6",
|
|
110
132
|
"@storybook/react-vite": "^10.4.6",
|
|
111
133
|
"@testing-library/jest-dom": "^6.9.1",
|
|
112
134
|
"@testing-library/react": "^16.3.2",
|
|
135
|
+
"@types/node": "^22.20.0",
|
|
113
136
|
"@types/react": "^19.2.17",
|
|
114
137
|
"@vitejs/plugin-react": "^6.0.2",
|
|
138
|
+
"actionlint": "^2.0.6",
|
|
139
|
+
"eslint": "^10.5.0",
|
|
140
|
+
"husky": "^9.1.7",
|
|
115
141
|
"jsdom": "^29.1.1",
|
|
142
|
+
"markdownlint-cli": "^0.49.0",
|
|
143
|
+
"prettier": "^3.8.4",
|
|
116
144
|
"publint": "^0.3.21",
|
|
117
145
|
"react": "^19.2.7",
|
|
118
146
|
"react-dom": "^19.2.7",
|
|
@@ -121,6 +149,7 @@
|
|
|
121
149
|
"typedoc": "^0.28.19",
|
|
122
150
|
"typedoc-plugin-markdown": "^4.12.0",
|
|
123
151
|
"typescript": "^6.0.3",
|
|
152
|
+
"typescript-eslint": "^8.61.1",
|
|
124
153
|
"vite": "^8.0.16",
|
|
125
154
|
"vitest": "^4.1.9"
|
|
126
155
|
}
|