@peripheries/renderer 0.3.0 → 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.
@@ -0,0 +1,19 @@
1
+ import { type KnowledgeKind, type KnowledgeLink, type KnowledgeRow } from '@peripheries/runtime';
2
+ import type { Diagnostic } from '../core/graph.js';
3
+ export type CatalogInput = {
4
+ /** `<org_slug>/<bundle_name>` of the bundle being emitted. */
5
+ lineage: string;
6
+ rows: KnowledgeRow[];
7
+ links: KnowledgeLink[];
8
+ /** This bundle's registry: every component it exports, with its props contract. */
9
+ registry: Record<string, {
10
+ props_schema?: unknown;
11
+ }>;
12
+ /** Components of other lineages in scope, which snippets may use (core, say). */
13
+ scopeRegistry?: Record<string, {
14
+ props_schema?: unknown;
15
+ }>;
16
+ /** Whether another lineage's row is live in scope; undefined leaves such links unchecked. */
17
+ inScope?: (lineage: string, kind: KnowledgeKind, key: string) => boolean | undefined;
18
+ };
19
+ export declare function checkCatalog(input: CatalogInput): Diagnostic[];
@@ -0,0 +1 @@
1
+ export { checkCatalog, type CatalogInput } from './check.js';
@@ -5,7 +5,7 @@ export declare const HYDRATED_CELL_FIELDS: readonly ["component", "props", "layo
5
5
  /** Also kept, unlike the PWA, whose hydration and publish dropped them (design/core.md §3). */
6
6
  export declare const STORE_FIELDS: readonly ["selections", "viewState", "live"];
7
7
  /** What a ref's node owns: everything but the cell's placement. A field its config sets wins, as a whole. */
8
- export declare const CONTENT_FIELDS: readonly [...("data" | "children" | "actions" | "component" | "props" | "conditions" | "traversal" | "bundle_ref")[], "selections", "viewState", "live"];
8
+ export declare const CONTENT_FIELDS: readonly [...("data" | "component" | "props" | "conditions" | "children" | "traversal" | "bundle_ref" | "actions")[], "selections", "viewState", "live"];
9
9
  /** Where a rendered cell's content came from. */
10
10
  export type CellSource = 'inline' | 'node' | 'fallback' | 'pending';
11
11
  /** A cell as the renderer reads it: its content resolved, `graph_node_id` its own node (if any). */
@@ -0,0 +1,161 @@
1
+ export type DiagnosticEntry = {
2
+ /** What the diagnostic means, in a sentence. */
3
+ meaning: string;
4
+ /** What to change. */
5
+ fix: string;
6
+ };
7
+ export declare const DIAGNOSTICS: {
8
+ readonly PAGE_INVALID: {
9
+ readonly meaning: "`content.cells` is not a list.";
10
+ readonly fix: "Write `content.cells` as an array of cells.";
11
+ };
12
+ readonly CELL_NO_ID: {
13
+ readonly meaning: "A cell has no `id`.";
14
+ readonly fix: "Give every cell a unique string `id`; structure nodes and child lists name cells by it.";
15
+ };
16
+ readonly CELL_DUPLICATE_ID: {
17
+ readonly meaning: "Two cells share an `id`.";
18
+ readonly fix: "Make each `id` unique on the page.";
19
+ };
20
+ readonly CELL_NO_COMPONENT: {
21
+ readonly meaning: "An inline cell names no component.";
22
+ readonly fix: "Set `component`, or give the cell a `ref` to a cell node that manages it.";
23
+ };
24
+ readonly CELL_UNKNOWN_COMPONENT: {
25
+ readonly meaning: "No bundle in scope exports the component.";
26
+ readonly fix: "Use a component the orientation lists (check the spelling), or add its lineage to the page’s `bundle_refs`.";
27
+ };
28
+ readonly PROP_REQUIRED: {
29
+ readonly meaning: "A required prop is missing.";
30
+ readonly fix: "Set the prop, as a value or a whole-string `@label.path` reference. The component’s card lists its required props.";
31
+ };
32
+ readonly CELL_UNKNOWN_CHILD: {
33
+ readonly meaning: "`children` names a cell that is not on the page.";
34
+ readonly fix: "List only ids of cells on this page in `children`.";
35
+ };
36
+ readonly CELL_CHILD_CYCLE: {
37
+ readonly meaning: "A cell lists itself as a child.";
38
+ readonly fix: "Remove the cell’s own id from its `children`.";
39
+ };
40
+ readonly LAYOUT_INVALID: {
41
+ readonly meaning: "A responsive bucket is not narrow, compact or wide.";
42
+ readonly fix: "Use `narrow` (480px), `compact` (720px) or `wide` (1024px) in `hideWhen`, `showWhen`, `stackWhen` or `truncateWhen`.";
43
+ };
44
+ readonly STRUCTURE_INVALID: {
45
+ readonly meaning: "`layout.structure` and the cells disagree.";
46
+ readonly fix: "Place every cell of a document page in exactly one structure node, and name only cells that exist.";
47
+ };
48
+ readonly REF_INVALID: {
49
+ readonly meaning: "A `ref` names no graph node.";
50
+ readonly fix: "Write `ref: { graph_node_id }` with the cell node’s graph node id.";
51
+ };
52
+ readonly REF_FALLBACK: {
53
+ readonly meaning: "A ref cell’s node has no readable config, so the cell renders its inline fallback.";
54
+ readonly fix: "Write the node’s `page_cell_config`, or accept the fallback until it exists.";
55
+ };
56
+ readonly LEGACY_THIN_REF: {
57
+ readonly meaning: "A legacy thin ref `{ id, graph_node_id }`.";
58
+ readonly fix: "Publish it as `{ id, ref: { graph_node_id } }`, with the node’s config inlined as the fallback.";
59
+ };
60
+ readonly LEGACY_INLINE_NODE: {
61
+ readonly meaning: "An inline cell with a `graph_node_id`: the node only starts its walk.";
62
+ readonly fix: "Give the cell a `ref` if the node should manage it; otherwise nothing changes.";
63
+ };
64
+ readonly BINDING_INVALID: {
65
+ readonly meaning: "A `data.queries` entry is not a binding.";
66
+ readonly fix: "Declare `{ graph_node_id, state?, as? }`, with `state` a system name and `as` value or record.";
67
+ };
68
+ readonly UNSUPPORTED_REGISTRY_BINDING: {
69
+ readonly meaning: "A binding names a registry query the host no longer runs.";
70
+ readonly fix: "Bind to the graph node that produces the data instead.";
71
+ };
72
+ readonly STATE_UNKNOWN_NAME: {
73
+ readonly meaning: "A state name is not one of the twelve systems.";
74
+ readonly fix: "Use `<tier>_<role>`: tier meta, eng or ops; role data, process, model or appraisal (default `eng_data`).";
75
+ };
76
+ readonly STATE_UNKNOWN_SYSTEM: {
77
+ readonly meaning: "The page’s process has no system of that name.";
78
+ readonly fix: "Read a system the process has, usually `eng_data`.";
79
+ };
80
+ readonly BINDING_DUPLICATE_KEY: {
81
+ readonly meaning: "A walk reached several nodes with the same `binding_key`, so the label binds nothing.";
82
+ readonly fix: "Declare the label on the page or cell with the node you mean, or narrow the walk.";
83
+ };
84
+ readonly WALK_EDGE_TYPES_REQUIRED: {
85
+ readonly meaning: "A traversal has no `edgeTypes`.";
86
+ readonly fix: "List the edge types the walk follows, e.g. `[\"data_flow\"]`.";
87
+ };
88
+ readonly WALK_BAD_DIRECTION: {
89
+ readonly meaning: "A traversal direction is not incoming, outgoing or both.";
90
+ readonly fix: "Use `incoming` (the default: toward producers), `outgoing` or `both`.";
91
+ };
92
+ readonly WALK_MAX_NODES_CLAMPED: {
93
+ readonly meaning: "`maxNodes` is above 500 and was clamped.";
94
+ readonly fix: "Ask for at most 500 nodes, or narrow the walk with `nodeTypes`.";
95
+ };
96
+ readonly WALK_NODE_TYPES_EMPTY: {
97
+ readonly meaning: "`nodeTypes: []` filters nothing.";
98
+ readonly fix: "Leave `nodeTypes` out, or name the types the walk may enter.";
99
+ };
100
+ readonly WALK_NO_START: {
101
+ readonly meaning: "A cell has a traversal, but neither it nor the page has a graph node to start from.";
102
+ readonly fix: "Publish the page with its graph node, or give the cell a node.";
103
+ };
104
+ readonly WALK_TRUNCATED: {
105
+ readonly meaning: "The walk stopped at `maxNodes`; nodes past it are missing.";
106
+ readonly fix: "Raise `maxNodes` (at most 500) or narrow the walk.";
107
+ };
108
+ readonly WALK_FAILED: {
109
+ readonly meaning: "A walk failed to run.";
110
+ readonly fix: "Check the start node exists and the viewer can read it; the message says why.";
111
+ };
112
+ readonly STORE_INVALID: {
113
+ readonly meaning: "A `selections`, `viewState` or `live` declaration is incomplete.";
114
+ readonly fix: "Name its channel (or key), and give `selections` and `viewState` a `scope` of page or project.";
115
+ };
116
+ readonly KNOWLEDGE_NO_BUNDLE_ROW: {
117
+ readonly meaning: "The bundle has no `bundle` knowledge row.";
118
+ readonly fix: "Write `src/catalog.md`: how to compose a page from this lineage.";
119
+ };
120
+ readonly KNOWLEDGE_DUPLICATE: {
121
+ readonly meaning: "Two knowledge rows share a kind and key.";
122
+ readonly fix: "Give each row a unique key within its kind.";
123
+ };
124
+ readonly KNOWLEDGE_KEY_INVALID: {
125
+ readonly meaning: "A kit or pattern key is not lowercase words joined by `-`, `_` or `/`.";
126
+ readonly fix: "Rename it, e.g. `cited-report`.";
127
+ };
128
+ readonly KNOWLEDGE_SUMMARY: {
129
+ readonly meaning: "A summary is empty or over 200 characters.";
130
+ readonly fix: "Write one line saying when to use it.";
131
+ };
132
+ readonly KNOWLEDGE_BUDGET: {
133
+ readonly meaning: "A card, pack or orientation is over its size budget.";
134
+ readonly fix: "Move detail into the component’s body (read only in full), trim snippets, or split the kit or pattern.";
135
+ };
136
+ readonly KNOWLEDGE_COMPONENT_UNDOCUMENTED: {
137
+ readonly meaning: "A page-cell component has no knowledge row, or no snippet.";
138
+ readonly fix: "Add a summary and at least one `@example` to the component, or mark it `@pageCell false`.";
139
+ };
140
+ readonly KNOWLEDGE_COMPONENT_UNKNOWN: {
141
+ readonly meaning: "A component knowledge row has no registry row in the bundle.";
142
+ readonly fix: "Export the component from the bundle, or remove its knowledge.";
143
+ };
144
+ readonly KNOWLEDGE_KIT_MULTIPLE: {
145
+ readonly meaning: "A component is part of more than one kit.";
146
+ readonly fix: "Keep one `@kit`; use tags for the other facets.";
147
+ };
148
+ readonly KNOWLEDGE_LINK_DANGLING: {
149
+ readonly meaning: "A link names a row that doesn’t exist (in this lineage) or isn’t live in scope (in another).";
150
+ readonly fix: "Fix the name, or remove the link.";
151
+ };
152
+ readonly KNOWLEDGE_SCHEMA_INVALID: {
153
+ readonly meaning: "A component’s `props_schema` is not valid JSON Schema.";
154
+ readonly fix: "Fix its `@props` types; the message names the keyword.";
155
+ };
156
+ readonly KNOWLEDGE_SNIPPET_INVALID: {
157
+ readonly meaning: "A snippet is not a valid cell or page, or its props break the component’s schema.";
158
+ readonly fix: "Fix the snippet; it is copied far more faithfully than any rule.";
159
+ };
160
+ };
161
+ export type DiagnosticCode = keyof typeof DIAGNOSTICS;
@@ -1,4 +1,5 @@
1
1
  import { type EdgeRecord, type NodeRecord, type StateName, type StateRecord, type Traversal, type TraversalConfig } from '@peripheries/runtime';
2
+ import type { DiagnosticCode } from './diagnostics.js';
2
3
  import type { PageCell } from './types.js';
3
4
  /** The page's systems by name, from its process (and, for eng_data, the page's metadata fallbacks). */
4
5
  export type ProcessSystems = Partial<Record<StateName, string>>;
@@ -9,7 +10,8 @@ export type ProcessSystems = Partial<Record<StateName, string>>;
9
10
  */
10
11
  export type Diagnostic = {
11
12
  severity: 'error' | 'warning' | 'legacy';
12
- code: string;
13
+ /** One of DIAGNOSTICS' keys, which says what it means and how to fix it. */
14
+ code: DiagnosticCode;
13
15
  message: string;
14
16
  /** Where in the page, e.g. `content.cells[3].traversal`. */
15
17
  path?: string;
@@ -39,6 +41,8 @@ export type WalkStart = {
39
41
  };
40
42
  /** A cell's own node (a thin ref's, or an inline cell's `graph_node_id`), else the page node (agency doc 17). */
41
43
  export declare function resolveWalkStart(cell: Pick<PageCell, 'graph_node_id' | 'metadata'>, pageGraphNodeId: string | null | undefined): WalkStart | null;
44
+ /** Labels no declaration or walk can take: the cell's walk, the route's parameters, the host's props. */
45
+ export declare const RESERVED_LABELS: readonly ["_traversal", "params", "baseProps"];
42
46
  /** Every data label a cell's props and conditions read with a whole-string `@label…` reference. */
43
47
  export declare function referencedLabels(cell: Pick<PageCell, 'props' | 'conditions'>): Set<string>;
44
48
  /**
@@ -1,9 +1,11 @@
1
1
  export { CONTENT_FIELDS, hasRef, HYDRATED_CELL_FIELDS, normalizeCell, resolveCell, rootCells, STORE_FIELDS, type CellSource, type ResolvedCell } from './cells.js';
2
2
  export { buildDataContext, collectDeclarations, collectStatic, readField, resolveDeclarations, type ResolvedDeclaration, type StateRead } from './data-context.js';
3
- export { mergeStates, needsWalk, readWalk, referencedLabels, resolveWalkStart, stateNames, stateValue, systemsFromProcess, walkKey, walkRequest, type Diagnostic, type ProcessSystems, type RawWalk, type WalkBinding, type WalkRequest, type WalkStart, } from './graph.js';
3
+ export { mergeStates, needsWalk, readWalk, referencedLabels, RESERVED_LABELS, resolveWalkStart, stateNames, stateValue, systemsFromProcess, walkKey, walkRequest, type Diagnostic, type ProcessSystems, type RawWalk, type WalkBinding, type WalkRequest, type WalkStart, } from './graph.js';
4
4
  export { loadPageData, resolveDataSystem, resolveSystems, type CellData, type CellWalk, type GraphSource, type NodeRecordRow, type PageRuntime } from './load-page.js';
5
5
  export { cellResolutionContext, passesConditions, resolveReferences, settled, type CellScope, type ResolutionContext } from './references.js';
6
- export { validateCell, validatePage, type Catalog, type ValidateOptions } from './validate.js';
6
+ export { RESPONSIVE_BUCKETS, STORE_SCOPES, validateCell, validatePage, WALK_DIRECTIONS, type Catalog, type ValidateOptions } from './validate.js';
7
+ export { DIAGNOSTICS, type DiagnosticCode, type DiagnosticEntry } from './diagnostics.js';
8
+ export { LAYOUT_TYPES, PAGE_RULES } from './rules.js';
7
9
  export { pageRuntimeFromValues } from './values.js';
8
10
  export { actionBindingKey, normalizeActionDeclaration, projectCellActions, type ActionDeclaration } from './actions.js';
9
11
  export type * from './types.js';
@@ -0,0 +1,3 @@
1
+ /** The page layout types `pageContainerStyle` and the structure renderer handle. */
2
+ export declare const LAYOUT_TYPES: readonly ["stack", "grid", "flex", "document"];
3
+ export declare const PAGE_RULES: string;
@@ -8,6 +8,9 @@ export type Catalog = {
8
8
  } | null;
9
9
  } | undefined>;
10
10
  };
11
+ export declare const RESPONSIVE_BUCKETS: readonly ["narrow", "compact", "wide"];
12
+ export declare const STORE_SCOPES: readonly ["page", "project"];
13
+ export declare const WALK_DIRECTIONS: readonly ["incoming", "outgoing", "both"];
11
14
  /** Options: `template` for a page template, whose node bindings are filled when it is instantiated. */
12
15
  export type ValidateOptions = {
13
16
  template?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peripheries/renderer",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "The one renderer for pages of federated component bundles: a framework-free core, a React renderer, the runtime a page boots with, and golden pages for testing.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -11,6 +11,10 @@
11
11
  "types": "./dist/types/core/index.d.ts",
12
12
  "default": "./dist/core.js"
13
13
  },
14
+ "./catalog": {
15
+ "types": "./dist/types/catalog/index.d.ts",
16
+ "default": "./dist/catalog.js"
17
+ },
14
18
  "./react": {
15
19
  "types": "./dist/types/react/index.d.ts",
16
20
  "default": "./dist/react.js"
@@ -30,7 +34,8 @@
30
34
  "README.md"
31
35
  ],
32
36
  "dependencies": {
33
- "@peripheries/runtime": "0.3.0"
37
+ "@peripheries/runtime": "0.4.1",
38
+ "ajv": "8.20.0"
34
39
  },
35
40
  "peerDependencies": {
36
41
  "@tanstack/react-store": "0.11.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"projection-Dr4a_p56.js","names":[],"sources":["../../src/core/cells.ts","../../src/core/references.ts","../../src/core/structure.ts","../../src/core/cell-props.ts","../../src/core/layout.ts","../../src/core/bundles/resolve.ts","../../src/core/store/scope-keys.ts","../../src/core/store/projection.ts"],"mappings":"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"}