@devframes/json-render 0.9.12 → 0.9.16

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/dist/hub.d.mts CHANGED
@@ -8,7 +8,7 @@ import { DevframeDockEntryBase } from "@devframes/hub/types";
8
8
  * hard-codes no json-render variant. Carries only the serializable
9
9
  * {@link JsonRenderViewRef}; no functions cross the wire.
10
10
  */
11
- interface DevframeJsonRenderDockEntry extends DevframeDockEntryBase {
11
+ export interface DevframeJsonRenderDockEntry extends DevframeDockEntryBase {
12
12
  type: 'json-render';
13
13
  /** Serializable reference the client subscribes through. */
14
14
  view: JsonRenderViewRef;
@@ -25,7 +25,7 @@ declare module '@devframes/hub/types' {
25
25
  * (`@devframes/json-render-ui`, a community renderer, a host page's own)
26
26
  * implements one shared shape instead of re-declaring it.
27
27
  */
28
- type JsonRenderDockMountOptions = DockRendererMountOptions<DevframeJsonRenderDockEntry>;
28
+ export type JsonRenderDockMountOptions = DockRendererMountOptions<DevframeJsonRenderDockEntry>;
29
29
  /**
30
30
  * The renderer contract for `'json-render'` docks: a hub `DockRenderer`
31
31
  * narrowed to {@link DevframeJsonRenderDockEntry}. Implement it to replace
@@ -34,12 +34,11 @@ type JsonRenderDockMountOptions = DockRendererMountOptions<DevframeJsonRenderDoc
34
34
  * module registered through the hub's renderer manifest
35
35
  * (`initHub({ renderers })`).
36
36
  */
37
- type JsonRenderDockRenderer = DockRenderer<DevframeJsonRenderDockEntry>;
37
+ export type JsonRenderDockRenderer = DockRenderer<DevframeJsonRenderDockEntry>;
38
38
  /**
39
39
  * Build a `json-render` dock entry from a {@link JsonRenderView} and the dock
40
40
  * metadata (id, title, icon, …). Projects the view down to its serializable
41
41
  * {@link JsonRenderViewRef} so it survives dock projection into shared state.
42
42
  */
43
- declare function toJsonRenderDockEntry(view: JsonRenderView, meta: Omit<DevframeJsonRenderDockEntry, 'type' | 'view'>): DevframeJsonRenderDockEntry;
44
- //#endregion
45
- export { DevframeJsonRenderDockEntry, JsonRenderDockMountOptions, JsonRenderDockRenderer, toJsonRenderDockEntry };
43
+ export declare function toJsonRenderDockEntry(view: JsonRenderView, meta: Omit<DevframeJsonRenderDockEntry, 'type' | 'view'>): DevframeJsonRenderDockEntry;
44
+ //#endregion
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import { Catalog, InferComponentProps, Spec, StateModel, StateStore, UIElement }
2
2
  import { a as JsonRenderViewRef, i as JsonRenderViewInlineRef, n as DevframeJsonRenderSpec, o as JsonRenderViewStateRef, r as JsonRenderView, t as CatalogUIElement } from "./types-ByXkazOp.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/prop-schemas.d.ts
5
- declare const StackPropsSchema: z.ZodObject<{
5
+ export declare const StackPropsSchema: z.ZodObject<{
6
6
  direction: z.ZodOptional<z.ZodEnum<{
7
7
  row: "row";
8
8
  column: "column";
@@ -25,14 +25,14 @@ declare const StackPropsSchema: z.ZodObject<{
25
25
  wrap: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
26
26
  flex: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
27
27
  }, z.core.$strip>;
28
- declare const CardPropsSchema: z.ZodObject<{
28
+ export declare const CardPropsSchema: z.ZodObject<{
29
29
  title: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
30
30
  border: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
31
31
  collapsible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
32
32
  defaultCollapsed: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
33
33
  loading: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
34
34
  }, z.core.$strip>;
35
- declare const TextPropsSchema: z.ZodObject<{
35
+ export declare const TextPropsSchema: z.ZodObject<{
36
36
  text: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
37
37
  variant: z.ZodOptional<z.ZodEnum<{
38
38
  code: "code";
@@ -56,7 +56,7 @@ declare const TextPropsSchema: z.ZodObject<{
56
56
  danger: "danger";
57
57
  }>>;
58
58
  }, z.core.$strip>;
59
- declare const BadgePropsSchema: z.ZodObject<{
59
+ export declare const BadgePropsSchema: z.ZodObject<{
60
60
  text: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
61
61
  variant: z.ZodOptional<z.ZodEnum<{
62
62
  success: "success";
@@ -67,7 +67,7 @@ declare const BadgePropsSchema: z.ZodObject<{
67
67
  }>>;
68
68
  minWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
69
69
  }, z.core.$strip>;
70
- declare const ButtonPropsSchema: z.ZodObject<{
70
+ export declare const ButtonPropsSchema: z.ZodObject<{
71
71
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
72
72
  variant: z.ZodOptional<z.ZodEnum<{
73
73
  primary: "primary";
@@ -79,14 +79,14 @@ declare const ButtonPropsSchema: z.ZodObject<{
79
79
  disabled: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
80
80
  loading: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
81
81
  }, z.core.$strip>;
82
- declare const IconPropsSchema: z.ZodObject<{
82
+ export declare const IconPropsSchema: z.ZodObject<{
83
83
  name: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
84
84
  size: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
85
85
  }, z.core.$strip>;
86
- declare const DividerPropsSchema: z.ZodObject<{
86
+ export declare const DividerPropsSchema: z.ZodObject<{
87
87
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
88
88
  }, z.core.$strip>;
89
- declare const TextInputPropsSchema: z.ZodObject<{
89
+ export declare const TextInputPropsSchema: z.ZodObject<{
90
90
  value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
91
91
  placeholder: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
92
92
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
@@ -100,16 +100,16 @@ declare const TextInputPropsSchema: z.ZodObject<{
100
100
  }>>;
101
101
  loading: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
102
102
  }, z.core.$strip>;
103
- declare const SwitchPropsSchema: z.ZodObject<{
103
+ export declare const SwitchPropsSchema: z.ZodObject<{
104
104
  value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
105
105
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
106
106
  disabled: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
107
107
  }, z.core.$strip>;
108
- declare const KeyValueTablePropsSchema: z.ZodObject<{
108
+ export declare const KeyValueTablePropsSchema: z.ZodObject<{
109
109
  data: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
110
110
  loading: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
111
111
  }, z.core.$strip>;
112
- declare const DataTablePropsSchema: z.ZodObject<{
112
+ export declare const DataTablePropsSchema: z.ZodObject<{
113
113
  columns: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
114
114
  key: z.ZodString;
115
115
  label: z.ZodOptional<z.ZodString>;
@@ -118,22 +118,22 @@ declare const DataTablePropsSchema: z.ZodObject<{
118
118
  height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
119
119
  loading: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
120
120
  }, z.core.$strip>;
121
- declare const CodeBlockPropsSchema: z.ZodObject<{
121
+ export declare const CodeBlockPropsSchema: z.ZodObject<{
122
122
  code: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
123
123
  language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
124
124
  filename: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
125
125
  height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
126
126
  }, z.core.$strip>;
127
- declare const ProgressPropsSchema: z.ZodObject<{
127
+ export declare const ProgressPropsSchema: z.ZodObject<{
128
128
  value: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
129
129
  max: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
130
130
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
131
131
  }, z.core.$strip>;
132
- declare const TreePropsSchema: z.ZodObject<{
132
+ export declare const TreePropsSchema: z.ZodObject<{
133
133
  data: z.ZodOptional<z.ZodUnknown>;
134
134
  defaultExpanded: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
135
135
  }, z.core.$strip>;
136
- declare const TabsPropsSchema: z.ZodObject<{
136
+ export declare const TabsPropsSchema: z.ZodObject<{
137
137
  tabs: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
138
138
  value: z.ZodString;
139
139
  label: z.ZodString;
@@ -154,13 +154,13 @@ declare const TabsPropsSchema: z.ZodObject<{
154
154
  vertical: "vertical";
155
155
  }>>;
156
156
  }, z.core.$strip>;
157
- declare const LinkPropsSchema: z.ZodObject<{
157
+ export declare const LinkPropsSchema: z.ZodObject<{
158
158
  href: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
159
159
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
160
160
  icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
161
161
  external: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
162
162
  }, z.core.$strip>;
163
- declare const SelectPropsSchema: z.ZodObject<{
163
+ export declare const SelectPropsSchema: z.ZodObject<{
164
164
  value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodIntersection<z.ZodObject<{}, z.core.$loose>, z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
165
165
  options: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
166
166
  value: z.ZodString;
@@ -179,7 +179,7 @@ declare const SelectPropsSchema: z.ZodObject<{
179
179
  * canonical component set (catalog v1: the original fourteen plus the
180
180
  * additive Tabs/Link/Select).
181
181
  */
182
- declare const basePropSchemas: {
182
+ export declare const basePropSchemas: {
183
183
  readonly Stack: z.ZodObject<{
184
184
  direction: z.ZodOptional<z.ZodEnum<{
185
185
  row: "row";
@@ -356,7 +356,7 @@ declare const basePropSchemas: {
356
356
  /** Canonical base-catalog component name. */
357
357
  type BaseComponentName = keyof typeof basePropSchemas;
358
358
  /** The ordered list of base-catalog component names (catalog v1). */
359
- declare const baseComponentNames: BaseComponentName[];
359
+ export declare const baseComponentNames: BaseComponentName[];
360
360
  //#endregion
361
361
  //#region src/catalog.d.ts
362
362
  /**
@@ -366,7 +366,7 @@ declare const baseComponentNames: BaseComponentName[];
366
366
  * through unchecked. The one validation Devframes adds is per-component prop
367
367
  * validation (see {@link basePropSchemas}).
368
368
  */
369
- declare const baseSchema: import("@json-render/core").Schema<{
369
+ export declare const baseSchema: import("@json-render/core").Schema<{
370
370
  spec: import("@json-render/core").SchemaType<"object", {
371
371
  root: import("@json-render/core").SchemaType<"string", unknown>;
372
372
  elements: import("@json-render/core").SchemaType<"record", import("@json-render/core").SchemaType<"object", {
@@ -391,7 +391,7 @@ declare const baseSchema: import("@json-render/core").Schema<{
391
391
  * empty action set (actions are dispatched dynamically via the bridge, they
392
392
  * are not declared here). Reference frontend libraries implement this set.
393
393
  */
394
- declare const baseCatalog: import("@json-render/core").Catalog<{
394
+ export declare const baseCatalog: import("@json-render/core").Catalog<{
395
395
  spec: import("@json-render/core").SchemaType<"object", {
396
396
  root: import("@json-render/core").SchemaType<"string", unknown>;
397
397
  elements: import("@json-render/core").SchemaType<"record", import("@json-render/core").SchemaType<"object", {
@@ -428,7 +428,7 @@ declare const baseCatalog: import("@json-render/core").Catalog<{
428
428
  * dock, by contrast, is handed a specific {@link JsonRenderViewRef} and needs
429
429
  * no index.
430
430
  */
431
- declare const JSON_RENDER_INDEX_KEY = "devframe:json-render:index";
431
+ export declare const JSON_RENDER_INDEX_KEY = "devframe:json-render:index";
432
432
  /**
433
433
  * One entry in the {@link JSON_RENDER_INDEX_KEY view index}. Fully
434
434
  * serializable: it locates a view's live state and carries the display title a
@@ -447,4 +447,4 @@ interface JsonRenderIndexEntry {
447
447
  /** The shape of the view-index shared state: entries keyed by `stateKey`. */
448
448
  type JsonRenderIndex = Record<string, JsonRenderIndexEntry>;
449
449
  //#endregion
450
- export { BadgePropsSchema, type BaseComponentName, ButtonPropsSchema, CardPropsSchema, type Catalog, type CatalogUIElement, CodeBlockPropsSchema, DataTablePropsSchema, type DevframeJsonRenderSpec, DividerPropsSchema, IconPropsSchema, type InferComponentProps, JSON_RENDER_INDEX_KEY, type JsonRenderIndex, type JsonRenderIndexEntry, type JsonRenderView, type JsonRenderViewInlineRef, type JsonRenderViewRef, type JsonRenderViewStateRef, KeyValueTablePropsSchema, LinkPropsSchema, ProgressPropsSchema, SelectPropsSchema, type Spec, StackPropsSchema, type StateModel, type StateStore, SwitchPropsSchema, TabsPropsSchema, TextInputPropsSchema, TextPropsSchema, TreePropsSchema, type UIElement, baseCatalog, baseComponentNames, basePropSchemas, baseSchema };
450
+ export type { BaseComponentName, Catalog, CatalogUIElement, DevframeJsonRenderSpec, InferComponentProps, JsonRenderIndex, JsonRenderIndexEntry, JsonRenderView, JsonRenderViewInlineRef, JsonRenderViewRef, JsonRenderViewStateRef, Spec, StateModel, StateStore, UIElement };
@@ -43,7 +43,7 @@ type AnyContext = DevframeNodeContext | DevframeScopedNodeContext<string>;
43
43
  * view.dispose()
44
44
  * ```
45
45
  */
46
- declare function createJsonRenderView<SpecType extends DevframeJsonRenderSpec = DevframeJsonRenderSpec>(ctx: AnyContext, options: CreateJsonRenderViewOptions<SpecType>): JsonRenderView<SpecType>;
46
+ export declare function createJsonRenderView<SpecType extends DevframeJsonRenderSpec = DevframeJsonRenderSpec>(ctx: AnyContext, options: CreateJsonRenderViewOptions<SpecType>): JsonRenderView<SpecType>;
47
47
  //#endregion
48
48
  //#region ../../node_modules/.pnpm/nostics@1.2.0/node_modules/nostics/dist/diagnostic-wduO7saY.d.mts
49
49
  //#region src/utils.d.ts
@@ -325,4 +325,4 @@ declare const diagnostics: Diagnostics<{
325
325
  method?: "log" | "warn" | "error";
326
326
  }) => void]>;
327
327
  //#endregion
328
- export { type CreateJsonRenderViewOptions, createJsonRenderView, diagnostics as jsonRenderDiagnostics };
328
+ export { type CreateJsonRenderViewOptions, diagnostics as jsonRenderDiagnostics };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devframes/json-render",
3
3
  "type": "module",
4
- "version": "0.9.12",
4
+ "version": "0.9.16",
5
5
  "description": "Protocol layer for describing devframe views as JSON that any renderer can display.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -30,8 +30,8 @@
30
30
  "dist"
31
31
  ],
32
32
  "peerDependencies": {
33
- "@devframes/hub": "0.9.12",
34
- "devframe": "0.9.12"
33
+ "@devframes/hub": "0.9.16",
34
+ "devframe": "0.9.16"
35
35
  },
36
36
  "peerDependenciesMeta": {
37
37
  "@devframes/hub": {
@@ -44,10 +44,10 @@
44
44
  "zod": "^4.5.4"
45
45
  },
46
46
  "devDependencies": {
47
- "@devframes/hub": "0.9.12",
48
- "@types/node": "^26.4.0",
49
- "devframe": "0.9.12",
50
- "tsdown": "^0.22.14"
47
+ "@devframes/hub": "0.9.16",
48
+ "@types/node": "^26.5.0",
49
+ "devframe": "0.9.16",
50
+ "tsdown": "^0.23.0"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "tsdown",