@nomiedge/registry 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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nomiedge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # @nomiedge/registry
2
+
3
+ A generated, machine-readable manifest of every `@nomiedge/ui` component, `@nomiedge/icons`
4
+ icon, `@nomiedge/tokens` export, `@nomiedge/motion` export, and `@nomiedge/charts` chart type.
5
+
6
+ ## What this is
7
+
8
+ `registry.json` is generated _from_ the real package sources — never hand-maintained. It's the
9
+ substrate the CLI (Milestone 55), templates (Milestone 56), and AI tooling (Milestone 58) all
10
+ consume: one canonical, typed description of what NDL is, instead of five different tools each
11
+ inventing their own partial version of it.
12
+
13
+ ## Regenerating
14
+
15
+ ```sh
16
+ pnpm --filter @nomiedge/registry build:registry
17
+ ```
18
+
19
+ This overwrites `registry.json`. CI regenerates it on every PR and fails if the result differs
20
+ from what's checked in — if you change a component's props or add/remove an export, regenerate
21
+ and commit the updated `registry.json` alongside your change.
22
+
23
+ ## Usage
24
+
25
+ ```ts
26
+ import { loadRegistry, listByKind, getEntry } from "@nomiedge/registry";
27
+
28
+ const button = getEntry("Button"); // { kind: "component", name: "Button", props: [...], ... }
29
+ const allIcons = listByKind("icon");
30
+ ```
31
+
32
+ ## Adding a new entry kind
33
+
34
+ Add the shape to `src/schema.ts`'s `registryEntrySchema` discriminated union, write a new
35
+ `src/build/extract-<name>.ts`, and call it from `src/build/assemble.ts`.
@@ -0,0 +1,9 @@
1
+ import { type RegistryEntry, type RegistryFile } from "./schema.js";
2
+ /** Validated once at module load — a hand-edited or corrupted registry.json fails loudly here, not silently downstream. */
3
+ export declare function loadRegistry(): RegistryFile;
4
+ export declare function listByKind<K extends RegistryEntry["kind"]>(kind: K): Extract<RegistryEntry, {
5
+ kind: K;
6
+ }>[];
7
+ export declare function getEntry(name: string): RegistryEntry | undefined;
8
+ export type { RegistryEntry, RegistryFile } from "./schema.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAIxF,2HAA2H;AAC3H,wBAAgB,YAAY,IAAI,YAAY,CAE3C;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,EACxD,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,aAAa,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EAAE,CAIvC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEhE;AAED,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ // packages/registry/src/index.ts
2
+ import registryData from "../registry.json" with { type: "json" };
3
+ import { registryFileSchema } from "./schema.js";
4
+ const registry = registryFileSchema.parse(registryData);
5
+ /** Validated once at module load — a hand-edited or corrupted registry.json fails loudly here, not silently downstream. */
6
+ export function loadRegistry() {
7
+ return registry;
8
+ }
9
+ export function listByKind(kind) {
10
+ return registry.entries.filter((entry) => entry.kind === kind);
11
+ }
12
+ export function getEntry(name) {
13
+ return registry.entries.find((entry) => entry.name === name);
14
+ }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,YAAY,MAAM,kBAAkB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAyC,MAAM,aAAa,CAAC;AAExF,MAAM,QAAQ,GAAiB,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAEtE,2HAA2H;AAC3H,MAAM,UAAU,YAAY;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAO;IAEP,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAgD,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * One entry per prop, shared by `component` and `chart` entries — both have real per-instance
4
+ * TypeScript prop types extracted via `react-docgen-typescript` (see `reactDocgenMapping.ts`).
5
+ * `defaultValue`/`description` are optional: `react-docgen-typescript` returns `""` for
6
+ * description and `null` for defaultValue when neither exists on the source prop — the
7
+ * extractor mapping (not this schema) is responsible for converting those to `undefined`.
8
+ */
9
+ declare const propSchema: z.ZodObject<{
10
+ name: z.ZodString;
11
+ type: z.ZodString;
12
+ required: z.ZodBoolean;
13
+ defaultValue: z.ZodOptional<z.ZodString>;
14
+ description: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ export declare const registryEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
17
+ kind: z.ZodLiteral<"component">;
18
+ name: z.ZodString;
19
+ source: z.ZodString;
20
+ dependencies: z.ZodArray<z.ZodString>;
21
+ props: z.ZodArray<z.ZodObject<{
22
+ name: z.ZodString;
23
+ type: z.ZodString;
24
+ required: z.ZodBoolean;
25
+ defaultValue: z.ZodOptional<z.ZodString>;
26
+ description: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>>;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ kind: z.ZodLiteral<"icon">;
30
+ name: z.ZodString;
31
+ source: z.ZodString;
32
+ }, z.core.$strip>, z.ZodObject<{
33
+ kind: z.ZodLiteral<"token">;
34
+ name: z.ZodString;
35
+ source: z.ZodString;
36
+ }, z.core.$strip>, z.ZodObject<{
37
+ kind: z.ZodLiteral<"motionPreset">;
38
+ name: z.ZodString;
39
+ source: z.ZodString;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ kind: z.ZodLiteral<"chart">;
42
+ name: z.ZodString;
43
+ source: z.ZodString;
44
+ dependencies: z.ZodArray<z.ZodString>;
45
+ props: z.ZodArray<z.ZodObject<{
46
+ name: z.ZodString;
47
+ type: z.ZodString;
48
+ required: z.ZodBoolean;
49
+ defaultValue: z.ZodOptional<z.ZodString>;
50
+ description: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>>;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ kind: z.ZodLiteral<"pattern">;
54
+ name: z.ZodString;
55
+ source: z.ZodString;
56
+ dependencies: z.ZodArray<z.ZodString>;
57
+ patternDependencies: z.ZodDefault<z.ZodArray<z.ZodString>>;
58
+ props: z.ZodArray<z.ZodObject<{
59
+ name: z.ZodString;
60
+ type: z.ZodString;
61
+ required: z.ZodBoolean;
62
+ defaultValue: z.ZodOptional<z.ZodString>;
63
+ description: z.ZodOptional<z.ZodString>;
64
+ }, z.core.$strip>>;
65
+ }, z.core.$strip>], "kind">;
66
+ export declare const registryFileSchema: z.ZodObject<{
67
+ version: z.ZodString;
68
+ schemaVersion: z.ZodLiteral<1>;
69
+ generatedAt: z.ZodString;
70
+ entries: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
71
+ kind: z.ZodLiteral<"component">;
72
+ name: z.ZodString;
73
+ source: z.ZodString;
74
+ dependencies: z.ZodArray<z.ZodString>;
75
+ props: z.ZodArray<z.ZodObject<{
76
+ name: z.ZodString;
77
+ type: z.ZodString;
78
+ required: z.ZodBoolean;
79
+ defaultValue: z.ZodOptional<z.ZodString>;
80
+ description: z.ZodOptional<z.ZodString>;
81
+ }, z.core.$strip>>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ kind: z.ZodLiteral<"icon">;
84
+ name: z.ZodString;
85
+ source: z.ZodString;
86
+ }, z.core.$strip>, z.ZodObject<{
87
+ kind: z.ZodLiteral<"token">;
88
+ name: z.ZodString;
89
+ source: z.ZodString;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ kind: z.ZodLiteral<"motionPreset">;
92
+ name: z.ZodString;
93
+ source: z.ZodString;
94
+ }, z.core.$strip>, z.ZodObject<{
95
+ kind: z.ZodLiteral<"chart">;
96
+ name: z.ZodString;
97
+ source: z.ZodString;
98
+ dependencies: z.ZodArray<z.ZodString>;
99
+ props: z.ZodArray<z.ZodObject<{
100
+ name: z.ZodString;
101
+ type: z.ZodString;
102
+ required: z.ZodBoolean;
103
+ defaultValue: z.ZodOptional<z.ZodString>;
104
+ description: z.ZodOptional<z.ZodString>;
105
+ }, z.core.$strip>>;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ kind: z.ZodLiteral<"pattern">;
108
+ name: z.ZodString;
109
+ source: z.ZodString;
110
+ dependencies: z.ZodArray<z.ZodString>;
111
+ patternDependencies: z.ZodDefault<z.ZodArray<z.ZodString>>;
112
+ props: z.ZodArray<z.ZodObject<{
113
+ name: z.ZodString;
114
+ type: z.ZodString;
115
+ required: z.ZodBoolean;
116
+ defaultValue: z.ZodOptional<z.ZodString>;
117
+ description: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$strip>>;
119
+ }, z.core.$strip>], "kind">>;
120
+ }, z.core.$strip>;
121
+ export type PropEntry = z.infer<typeof propSchema>;
122
+ export type RegistryEntry = z.infer<typeof registryEntrySchema>;
123
+ export type RegistryFile = z.infer<typeof registryFileSchema>;
124
+ export {};
125
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,QAAA,MAAM,UAAU;;;;;;iBAMd,CAAC;AA8DH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAO9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK7B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
package/dist/schema.js ADDED
@@ -0,0 +1,84 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * One entry per prop, shared by `component` and `chart` entries — both have real per-instance
4
+ * TypeScript prop types extracted via `react-docgen-typescript` (see `reactDocgenMapping.ts`).
5
+ * `defaultValue`/`description` are optional: `react-docgen-typescript` returns `""` for
6
+ * description and `null` for defaultValue when neither exists on the source prop — the
7
+ * extractor mapping (not this schema) is responsible for converting those to `undefined`.
8
+ */
9
+ const propSchema = z.object({
10
+ name: z.string(),
11
+ type: z.string(),
12
+ required: z.boolean(),
13
+ defaultValue: z.string().optional(),
14
+ description: z.string().optional(),
15
+ });
16
+ const componentEntrySchema = z.object({
17
+ kind: z.literal("component"),
18
+ name: z.string(),
19
+ source: z.string(),
20
+ dependencies: z.array(z.string()),
21
+ props: z.array(propSchema),
22
+ });
23
+ const iconEntrySchema = z.object({
24
+ kind: z.literal("icon"),
25
+ name: z.string(),
26
+ source: z.string(),
27
+ });
28
+ const tokenEntrySchema = z.object({
29
+ kind: z.literal("token"),
30
+ name: z.string(),
31
+ source: z.string(),
32
+ });
33
+ /**
34
+ * `Transition`/`MotionConfig` are genuine components with real props, but every export from
35
+ * `@nomiedge/motion` (functions, hooks, presets, components alike) gets this same, uniform
36
+ * shape — no `props` array, unlike `component`/`chart`. A deliberate simplification, not an
37
+ * oversight: see the design spec's Decision on why motion's two real components don't get
38
+ * per-prop extraction the way ui/charts components do.
39
+ */
40
+ const motionPresetEntrySchema = z.object({
41
+ kind: z.literal("motionPreset"),
42
+ name: z.string(),
43
+ source: z.string(),
44
+ });
45
+ const chartEntrySchema = z.object({
46
+ kind: z.literal("chart"),
47
+ name: z.string(),
48
+ source: z.string(),
49
+ dependencies: z.array(z.string()),
50
+ props: z.array(propSchema),
51
+ });
52
+ const patternEntrySchema = z.object({
53
+ kind: z.literal("pattern"),
54
+ name: z.string(),
55
+ source: z.string(),
56
+ dependencies: z.array(z.string()),
57
+ /**
58
+ * Other `@nomiedge/patterns` entries this pattern's own source imports directly (e.g.
59
+ * `DataTable` importing `EmptyState` from a sibling directory) — distinct from `dependencies`,
60
+ * which is external `@nomiedge/*` packages only. Package-mode installs don't need this (the
61
+ * whole `@nomiedge/patterns` package already ships every pattern's file together), but
62
+ * source-mode vendoring does: without it, `nomiedge add pattern:DataTable --mode=source`
63
+ * copies only `DataTable.tsx` and leaves its `../empty-state/EmptyState` import dangling in
64
+ * the target project. Defaults to `[]` so entries with no intra-package composition (the
65
+ * common case) don't need to say so explicitly.
66
+ */
67
+ patternDependencies: z.array(z.string()).default([]),
68
+ props: z.array(propSchema),
69
+ });
70
+ export const registryEntrySchema = z.discriminatedUnion("kind", [
71
+ componentEntrySchema,
72
+ iconEntrySchema,
73
+ tokenEntrySchema,
74
+ motionPresetEntrySchema,
75
+ chartEntrySchema,
76
+ patternEntrySchema,
77
+ ]);
78
+ export const registryFileSchema = z.object({
79
+ version: z.string(),
80
+ schemaVersion: z.literal(1),
81
+ generatedAt: z.string(),
82
+ entries: z.array(registryEntrySchema),
83
+ });
84
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC;;;;;;;;;OASG;IACH,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC9D,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACtC,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@nomiedge/registry",
3
+ "version": "0.1.0",
4
+ "description": "A generated, machine-readable manifest of every @nomiedge/ui component, icon, token, motion export, and chart type.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "files": [
9
+ "dist",
10
+ "registry.json"
11
+ ],
12
+ "main": "./dist/index.js",
13
+ "module": "./dist/index.js",
14
+ "types": "./dist/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ }
20
+ },
21
+ "dependencies": {
22
+ "zod": "^4.4.3",
23
+ "@nomiedge/ui": "0.1.0",
24
+ "@nomiedge/icons": "0.1.0",
25
+ "@nomiedge/tokens": "0.1.0",
26
+ "@nomiedge/motion": "0.1.0",
27
+ "@nomiedge/charts": "0.1.0",
28
+ "@nomiedge/patterns": "0.1.0"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "^26.1.0",
32
+ "@types/react": "^19.0.2",
33
+ "react": "^19.0.0",
34
+ "react-docgen-typescript": "^2.4.0",
35
+ "tsx": "^4.19.2",
36
+ "typescript": "^5.7.3",
37
+ "vitest": "^3.2.6"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc -p tsconfig.build.json",
41
+ "dev": "tsc -p tsconfig.build.json --watch",
42
+ "build:registry": "tsx src/build/run.ts",
43
+ "check-registry": "tsx src/build/check-drift.ts",
44
+ "lint": "eslint src",
45
+ "typecheck": "tsc -p tsconfig.json --noEmit",
46
+ "test": "vitest run",
47
+ "clean": "rm -rf dist"
48
+ }
49
+ }