@peripheries/renderer 0.6.0 → 0.6.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/README.md +5 -0
- package/dist/catalog.js +43 -8
- package/dist/catalog.js.map +1 -1
- package/dist/types/catalog/check.d.ts +5 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -49,6 +49,11 @@ sharing the channel reads it.
|
|
|
49
49
|
|
|
50
50
|
## Versions
|
|
51
51
|
|
|
52
|
+
- **0.6.1:** `validatePageProps` judges an `@each` projection by its `map`:
|
|
53
|
+
its keys against the prop's `items` schema (a required key missing is
|
|
54
|
+
`PROP_INVALID`, an undeclared one `PROP_UNKNOWN`), and its literal values
|
|
55
|
+
against theirs, nested projections too. A malformed projection is no longer
|
|
56
|
+
also reported as `PROP_INVALID`; `validatePage`'s `EACH_INVALID` says it once.
|
|
52
57
|
- **0.6.0:** `@each` projections. A prop value
|
|
53
58
|
`{ "@each": "@label.path", "as": "item", "map": … }` resolves to the list
|
|
54
59
|
with `map` resolved once per element (`@item.…` reads it), so a list in
|
package/dist/catalog.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { y as isEach } from "./chunks/structure-Bp7xbPck.js";
|
|
1
2
|
import { o as validatePage } from "./chunks/validate-ADfCrhn-.js";
|
|
2
3
|
import { KNOWLEDGE_BUDGETS, KNOWLEDGE_KEY } from "@peripheries/runtime";
|
|
3
4
|
import Ajv2020 from "ajv/dist/2020.js";
|
|
@@ -212,30 +213,64 @@ function validatePageProps(page, catalog) {
|
|
|
212
213
|
allErrors: true
|
|
213
214
|
}));
|
|
214
215
|
}
|
|
216
|
+
var asNode = (v) => v && typeof v === "object" && !Array.isArray(v) ? v : void 0;
|
|
215
217
|
function propsAgainstSchemas(page, catalog, ajv) {
|
|
216
218
|
const out = [];
|
|
217
219
|
(Array.isArray(page.content?.cells) ? page.content.cells : []).forEach((cell, i) => {
|
|
218
220
|
const properties = cell?.component ? catalog.components[cell.component]?.props_schema?.properties : void 0;
|
|
219
221
|
for (const [prop, value] of Object.entries(cell.props ?? {})) {
|
|
220
222
|
const schema = properties?.[prop];
|
|
221
|
-
|
|
223
|
+
const path = `content.cells[${i}].props.${prop}`;
|
|
224
|
+
const name = `${cell.component}.${prop}`;
|
|
225
|
+
const push = (severity, code, at, message) => out.push({
|
|
226
|
+
severity,
|
|
227
|
+
code,
|
|
228
|
+
cellId: cell.id,
|
|
229
|
+
path: at,
|
|
230
|
+
message: `${name} ${message}`
|
|
231
|
+
});
|
|
232
|
+
if (!schema || typeof schema !== "object") continue;
|
|
233
|
+
if (isEach(value)) {
|
|
234
|
+
checkMap(value.map, asNode(asNode(schema)?.items), `${path}.map`, push, ajv);
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
if (holdsReference(value)) continue;
|
|
222
238
|
let valid;
|
|
223
239
|
try {
|
|
224
240
|
valid = ajv.validate(schema, value);
|
|
225
241
|
} catch {
|
|
226
242
|
continue;
|
|
227
243
|
}
|
|
228
|
-
if (!valid)
|
|
229
|
-
severity: "error",
|
|
230
|
-
code: "PROP_INVALID",
|
|
231
|
-
cellId: cell.id,
|
|
232
|
-
path: `content.cells[${i}].props.${prop}`,
|
|
233
|
-
message: `${cell.component}.${prop} ${ajv.errorsText(ajv.errors, { dataVar: "" }).replace(/^\s+/, "")}`
|
|
234
|
-
});
|
|
244
|
+
if (!valid) push("error", "PROP_INVALID", path, ajv.errorsText(ajv.errors, { dataVar: "" }).replace(/^\s+/, ""));
|
|
235
245
|
}
|
|
236
246
|
});
|
|
237
247
|
return out;
|
|
238
248
|
}
|
|
249
|
+
function checkMap(map, items, path, push, ajv) {
|
|
250
|
+
if (!items) return;
|
|
251
|
+
if (isEach(map)) return;
|
|
252
|
+
const fields = asNode(map);
|
|
253
|
+
if (!fields || !items.properties) {
|
|
254
|
+
if (map !== void 0 && !holdsReference(map)) validateLiteral(items, map, path, push, ajv);
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
for (const key of Array.isArray(items.required) ? items.required : []) if (typeof key === "string" && !(key in fields)) push("error", "PROP_INVALID", path, `each element needs "${key}"; the map doesn't give it`);
|
|
258
|
+
const open = items.additionalProperties === true || typeof items.additionalProperties === "object";
|
|
259
|
+
for (const [key, v] of Object.entries(fields)) {
|
|
260
|
+
const sub = asNode(items.properties[key]);
|
|
261
|
+
if (!sub) {
|
|
262
|
+
if (!open) push("warning", "PROP_UNKNOWN", `${path}.${key}`, `each element declares no "${key}"`);
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
if (isEach(v)) checkMap(v.map, asNode(sub.items), `${path}.${key}.map`, push, ajv);
|
|
266
|
+
else if (!holdsReference(v)) validateLiteral(sub, v, `${path}.${key}`, push, ajv);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
function validateLiteral(schema, value, path, push, ajv) {
|
|
270
|
+
try {
|
|
271
|
+
if (!ajv.validate(schema, value)) push("error", "PROP_INVALID", path, ajv.errorsText(ajv.errors, { dataVar: "" }).replace(/^\s+/, ""));
|
|
272
|
+
} catch {}
|
|
273
|
+
}
|
|
239
274
|
//#endregion
|
|
240
275
|
export { checkCatalog, validatePageProps };
|
|
241
276
|
|
package/dist/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","names":[],"sources":["../src/catalog/check.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"catalog.js","names":[],"sources":["../src/catalog/check.ts"],"mappings":"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"}
|
|
@@ -22,7 +22,10 @@ export declare function checkCatalog(input: CatalogInput): Diagnostic[];
|
|
|
22
22
|
/**
|
|
23
23
|
* PROP_INVALID: each literal prop value of the page's inline cells against its
|
|
24
24
|
* prop's schema in the catalog. A value holding a reference is left alone; its
|
|
25
|
-
* type is known only once it resolves.
|
|
26
|
-
* (
|
|
25
|
+
* type is known only once it resolves. An `@each` projection is judged by its
|
|
26
|
+
* `map` instead (design/renderer.md §5.4): its keys against the items schema
|
|
27
|
+
* (a required key missing is PROP_INVALID, an undeclared one PROP_UNKNOWN),
|
|
28
|
+
* and its literal values against theirs. Run it beside validatePage, which
|
|
29
|
+
* can't (core holds no JSON Schema validator).
|
|
27
30
|
*/
|
|
28
31
|
export declare function validatePageProps(page: Pick<ProjectPage, 'content'>, catalog: Catalog): Diagnostic[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peripheries/renderer",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.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": [
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@peripheries/runtime": "0.6.
|
|
37
|
+
"@peripheries/runtime": "0.6.1",
|
|
38
38
|
"ajv": "8.20.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|