usedesign 0.4.0 → 0.5.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/dist/checks.d.ts +2 -0
- package/dist/checks.js +0 -0
- package/dist/checks.js.map +1 -1
- package/dist/cli.js +63 -21
- package/dist/cli.js.map +1 -1
- package/dist/preview.d.ts +16 -0
- package/dist/preview.js +334 -0
- package/dist/preview.js.map +1 -0
- package/dist/schema/form-contract.schema.json +82 -0
- package/dist/schema/form-inventory.schema.json +37 -0
- package/dist/schema/operation-card.schema.json +23 -0
- package/dist/schema/storage-inventory.schema.json +50 -0
- package/package.json +1 -1
package/dist/checks.d.ts
CHANGED
|
@@ -25,5 +25,7 @@ export declare function checkCoverage(config: Config, base: string): CheckResult
|
|
|
25
25
|
/** `implemented` is one path or several — one example joins two with ' + '. */
|
|
26
26
|
export declare function evidencePaths(value: unknown): string[];
|
|
27
27
|
export declare function checkMaturity(config: Config, base: string, today?: Date): CheckResult;
|
|
28
|
+
export declare function checkStorage(config: Config, base: string): CheckResult;
|
|
29
|
+
export declare function checkForm(config: Config, base: string): CheckResult;
|
|
28
30
|
export declare const CHECKS: Record<number, (config: Config, base: string) => CheckResult>;
|
|
29
31
|
export {};
|
package/dist/checks.js
CHANGED
|
Binary file
|
package/dist/checks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
import { readFileSync } from "node:fs";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import { dirname, join } from "node:path";
|
|
12
|
-
import { CHECKS, checkCoverage, checkMaturity, checkRoutes } from "./checks.js";
|
|
12
|
+
import { CHECKS, checkCoverage, checkForm, checkMaturity, checkRoutes, checkStorage } from "./checks.js";
|
|
13
13
|
import { codesOf, collectCards, errors, Finding, frontMatter, loadConfig, warnings } from "./core.js";
|
|
14
14
|
import { runCardCorpus, runChecksCorpus } from "./conformance.js";
|
|
15
15
|
import { planScaffold, writeScaffold } from "./scaffold.js";
|
|
16
|
+
import { commandPreview } from "./preview.js";
|
|
16
17
|
import { validate, validateSchema } from "./validate.js";
|
|
17
18
|
/**
|
|
18
19
|
* The version is read from package.json, never written here. It was written here once, and the
|
|
@@ -31,6 +32,8 @@ Usage:
|
|
|
31
32
|
usedesign check <config> run the three checks against a usedesign.config.yaml
|
|
32
33
|
usedesign scaffold <openapi.json> --out <dir>
|
|
33
34
|
draft a card shell per undescribed route
|
|
35
|
+
usedesign preview <config> --out <file.html>
|
|
36
|
+
render form contracts as a three-rail wireframe page
|
|
34
37
|
usedesign conformance [--cards|--checks]
|
|
35
38
|
run the conformance corpora
|
|
36
39
|
usedesign --help | --version
|
|
@@ -74,27 +77,57 @@ function commandValidate(paths, withSchema) {
|
|
|
74
77
|
}
|
|
75
78
|
function commandCheck(configPath) {
|
|
76
79
|
const { config, base } = loadConfig(configPath);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
// `checks: [5]` scopes which checks apply to THIS repository. A frontend serves no routes and
|
|
81
|
+
// owns no tables; running checks 1–4 there fails on inputs that cannot exist, and a check that
|
|
82
|
+
// always fails gets ignored. The scope is declared in the config — visible in review — and
|
|
83
|
+
// within it "cannot run" still means "not passed".
|
|
84
|
+
const scope = config.checks;
|
|
85
|
+
const inScope = (n) => !scope || scope.includes(n);
|
|
86
|
+
let errorCount = 0;
|
|
87
|
+
if (inScope(1)) {
|
|
88
|
+
const routes = checkRoutes(config, base);
|
|
89
|
+
const s = routes.summary;
|
|
90
|
+
console.log(`inventory: ${s["served"]} route(s) served${s["produced_by"] ? `, produced by ${s["produced_by"]}` : ""}`);
|
|
91
|
+
console.log(`cards: ${s["declared"]} REST route(s) declared`);
|
|
92
|
+
console.log(`excluded: ${s["excluded"]} route(s)`);
|
|
93
|
+
for (const [pattern, count] of Object.entries(s["hidden_per_rule"])) {
|
|
94
|
+
console.log(` ${pattern} → ${count}`);
|
|
95
|
+
}
|
|
96
|
+
console.log();
|
|
97
|
+
errorCount += summarise("check 1 (no wild endpoints)", routes.findings);
|
|
98
|
+
}
|
|
99
|
+
if (inScope(2)) {
|
|
100
|
+
const coverage = checkCoverage(config, base);
|
|
101
|
+
const c = coverage.summary;
|
|
102
|
+
console.log(`report: ${c["report_cases"]} test case(s)`);
|
|
103
|
+
console.log(`steps: ${c["proven"]} proven, ${c["unproven"]} not\n`);
|
|
104
|
+
errorCount += summarise("check 2 (no unproven steps)", coverage.findings);
|
|
105
|
+
}
|
|
106
|
+
if (inScope(3)) {
|
|
107
|
+
const maturity = checkMaturity(config, base);
|
|
108
|
+
const m = maturity.summary;
|
|
109
|
+
console.log(`cards: ${m["cards"]} card(s), ${m["paths_checked"]} evidence path(s) checked` +
|
|
110
|
+
(m["code_root"] ? "" : " — no `code_root`, path check NOT RUN"));
|
|
111
|
+
console.log(`horizon: ${m["horizon"]} days\n`);
|
|
112
|
+
errorCount += summarise("check 3 (no inflated maturity)", maturity.findings);
|
|
113
|
+
}
|
|
114
|
+
if (inScope(4)) {
|
|
115
|
+
const storage = checkStorage(config, base);
|
|
116
|
+
const g = storage.summary;
|
|
117
|
+
console.log(`storage: ${g["stores"]} store(s)${g["produced_by"] ? `, produced by ${g["produced_by"]}` : ""}` +
|
|
118
|
+
`; ${g["claims"]} claim(s) in cards touching ${g["touched"]}`);
|
|
119
|
+
errorCount += summarise("check 4 (no imagined storage)", storage.findings);
|
|
120
|
+
}
|
|
121
|
+
// Check 5 is opt-in: a backend repository has no forms, and a missing section must not read
|
|
122
|
+
// as a failure there. Naming it in `checks:` or declaring `forms:` opts in; then absence of
|
|
123
|
+
// the inventory IS a failure.
|
|
124
|
+
if (scope ? scope.includes(5) : config.forms) {
|
|
125
|
+
const form = checkForm(config, base);
|
|
126
|
+
const f = form.summary;
|
|
127
|
+
console.log(`forms: ${f["contracts"]} contract(s) against ${f["screens"]} rendered screen(s)` +
|
|
128
|
+
(f["produced_by"] ? `, produced by ${f["produced_by"]}` : ""));
|
|
129
|
+
errorCount += summarise("check 5 (the form matches its contract)", form.findings);
|
|
84
130
|
}
|
|
85
|
-
console.log();
|
|
86
|
-
let errorCount = summarise("check 1 (no wild endpoints)", routes.findings);
|
|
87
|
-
const coverage = checkCoverage(config, base);
|
|
88
|
-
const c = coverage.summary;
|
|
89
|
-
console.log(`report: ${c["report_cases"]} test case(s)`);
|
|
90
|
-
console.log(`steps: ${c["proven"]} proven, ${c["unproven"]} not\n`);
|
|
91
|
-
errorCount += summarise("check 2 (no unproven steps)", coverage.findings);
|
|
92
|
-
const maturity = checkMaturity(config, base);
|
|
93
|
-
const m = maturity.summary;
|
|
94
|
-
console.log(`cards: ${m["cards"]} card(s), ${m["paths_checked"]} evidence path(s) checked` +
|
|
95
|
-
(m["code_root"] ? "" : " — no `code_root`, path check NOT RUN"));
|
|
96
|
-
console.log(`horizon: ${m["horizon"]} days\n`);
|
|
97
|
-
errorCount += summarise("check 3 (no inflated maturity)", maturity.findings);
|
|
98
131
|
return errorCount > 0 ? 1 : 0;
|
|
99
132
|
}
|
|
100
133
|
/**
|
|
@@ -199,6 +232,15 @@ function main(argv) {
|
|
|
199
232
|
}
|
|
200
233
|
return commandScaffold(free[0], outDir, values.get("--config"), flags.includes("--dry-run"), flags.includes("--force"));
|
|
201
234
|
}
|
|
235
|
+
case "preview": {
|
|
236
|
+
const out = rest[rest.indexOf("--out") + 1];
|
|
237
|
+
const free = rest.filter((a, i) => !a.startsWith("--") && rest[i - 1] !== "--out");
|
|
238
|
+
if (free.length !== 1 || !out || out.startsWith("--")) {
|
|
239
|
+
console.error("usedesign preview: usage — usedesign preview <usedesign.config.yaml> --out <file.html>");
|
|
240
|
+
return 2;
|
|
241
|
+
}
|
|
242
|
+
return commandPreview(free[0], out, loadConfig);
|
|
243
|
+
}
|
|
202
244
|
case "conformance": {
|
|
203
245
|
const cardsOnly = flags.includes("--cards");
|
|
204
246
|
const checksOnly = flags.includes("--checks");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Config } from "./core.js";
|
|
2
|
+
interface PreviewData {
|
|
3
|
+
contracts: any[];
|
|
4
|
+
inventory: Record<string, Record<string, {
|
|
5
|
+
fields: string[];
|
|
6
|
+
controls: string[];
|
|
7
|
+
}>> | null;
|
|
8
|
+
producedBy: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function collectPreviewData(config: Config, base: string): PreviewData;
|
|
11
|
+
export declare function renderPreviewHtml(data: PreviewData): string;
|
|
12
|
+
export declare function commandPreview(configPath: string, outPath: string, loadConfig: (p: string) => {
|
|
13
|
+
config: Config;
|
|
14
|
+
base: string;
|
|
15
|
+
}): number;
|
|
16
|
+
export {};
|
package/dist/preview.js
ADDED
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `usedesign preview` — a rough, honest visualiser of form contracts.
|
|
3
|
+
*
|
|
4
|
+
* Generates ONE self-contained HTML file: no server, no dependencies, openable from disk. Three
|
|
5
|
+
* rails — the contract tree, the contract's content, and a grey-box wireframe of the selected
|
|
6
|
+
* form in a selected entity state. When a form inventory is present, every wireframe element
|
|
7
|
+
* carries a verdict badge: rendered, missing (the contract is ahead of the code), or rendered
|
|
8
|
+
* beyond the contract.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately crude: grey boxes and real labels. A pretty preview would start competing with
|
|
11
|
+
* the product's own design system and lose; the wireframe's job is to show WHAT the owner
|
|
12
|
+
* decided, state by state, and where reality disagrees.
|
|
13
|
+
*/
|
|
14
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
15
|
+
import { join } from "node:path";
|
|
16
|
+
import { frontMatter, expandGlob } from "./core.js";
|
|
17
|
+
function bodyOf(path) {
|
|
18
|
+
const text = readFileSync(path, "utf8").replace(/^/, "").replace(/\r\n/g, "\n");
|
|
19
|
+
const end = text.indexOf("\n---", 3);
|
|
20
|
+
return end === -1 ? "" : text.slice(end + 4).trim();
|
|
21
|
+
}
|
|
22
|
+
export function collectPreviewData(config, base) {
|
|
23
|
+
const contracts = [];
|
|
24
|
+
for (const pattern of config.forms ?? []) {
|
|
25
|
+
for (const file of expandGlob(base, pattern)) {
|
|
26
|
+
const fm = frontMatter(file);
|
|
27
|
+
if (fm && fm["usedesign_form"] === 1)
|
|
28
|
+
contracts.push({ ...fm, __body: bodyOf(file), __file: file.split(/[\\/]/).pop() });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
let inventory = null;
|
|
32
|
+
let producedBy = "";
|
|
33
|
+
const location = config.form_inventory;
|
|
34
|
+
if (location && existsSync(join(base, location))) {
|
|
35
|
+
const data = JSON.parse(readFileSync(join(base, location), "utf8"));
|
|
36
|
+
producedBy = data.produced_by ?? "";
|
|
37
|
+
inventory = {};
|
|
38
|
+
for (const form of data.forms ?? []) {
|
|
39
|
+
const states = {};
|
|
40
|
+
for (const s of form.states ?? [])
|
|
41
|
+
states[s.state] = { fields: s.fields ?? [], controls: s.controls ?? [] };
|
|
42
|
+
inventory[form.screen] = states;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return { contracts, inventory, producedBy };
|
|
46
|
+
}
|
|
47
|
+
export function renderPreviewHtml(data) {
|
|
48
|
+
const payload = JSON.stringify(data).replace(/</g, "\\u003c");
|
|
49
|
+
return `<!doctype html>
|
|
50
|
+
<html lang="ru">
|
|
51
|
+
<head>
|
|
52
|
+
<meta charset="utf-8">
|
|
53
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
54
|
+
<title>usedesign — контракты форм</title>
|
|
55
|
+
<style>
|
|
56
|
+
:root{--bg:#1114;--line:#d8d8d2;--ink:#22251f;--dim:#7a7d74;--ok:#2c7a3f;--todo:#b3372b;--extra:#8a6d1a;--card:#fbfbf8;}
|
|
57
|
+
*{box-sizing:border-box}
|
|
58
|
+
body{margin:0;font:14px/1.45 ui-sans-serif,system-ui,'Segoe UI',sans-serif;color:var(--ink);background:#efefe9;height:100vh;display:flex;flex-direction:column}
|
|
59
|
+
header{padding:10px 16px;border-bottom:1px solid var(--line);background:var(--card);display:flex;gap:12px;align-items:baseline}
|
|
60
|
+
header h1{font-size:15px;margin:0}
|
|
61
|
+
header .sub{color:var(--dim);font-size:12px}
|
|
62
|
+
/* лента рейлов: горизонтальная, без переноса, каждый рейл — своя ширина и свой скролл */
|
|
63
|
+
.strip{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;align-items:stretch;gap:0;justify-content:flex-start}
|
|
64
|
+
.rail{flex:0 0 auto;display:flex;flex-direction:column;min-width:0;background:var(--card);border-right:1px solid var(--line);position:relative}
|
|
65
|
+
.rail>.body{flex:1;overflow-y:auto;padding:12px 14px}
|
|
66
|
+
.rail h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin:0;padding:10px 14px 6px}
|
|
67
|
+
.grip{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5}
|
|
68
|
+
.grip:hover{background:#0002}
|
|
69
|
+
/* рейл 1: дерево */
|
|
70
|
+
.tree a{display:block;padding:5px 8px;border-radius:6px;color:inherit;text-decoration:none}
|
|
71
|
+
.tree a:hover{background:#0000000d}
|
|
72
|
+
.tree a.sel{background:#22251f;color:#fff}
|
|
73
|
+
.tree .page{color:var(--dim);font-size:11px;margin:10px 0 2px;text-transform:uppercase;letter-spacing:.06em}
|
|
74
|
+
.tree .opens{margin-left:16px;border-left:1px dotted var(--line);padding-left:8px}
|
|
75
|
+
/* рейл 2: содержание */
|
|
76
|
+
.kv{margin:0 0 12px}
|
|
77
|
+
.kv dt{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-top:10px}
|
|
78
|
+
.kv dd{margin:2px 0 0}
|
|
79
|
+
.item{padding:7px 9px;border:1px solid var(--line);border-radius:8px;margin:6px 0;background:#fff}
|
|
80
|
+
.item .name{font-family:ui-monospace,monospace;font-size:12px}
|
|
81
|
+
.item .shows{color:var(--ink)}
|
|
82
|
+
.item .meta{color:var(--dim);font-size:12px}
|
|
83
|
+
.prose{white-space:pre-wrap;color:var(--dim);font-size:12.5px;border-top:1px dashed var(--line);padding-top:10px;margin-top:14px}
|
|
84
|
+
/* рейл 3: каркас */
|
|
85
|
+
.states{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 8px}
|
|
86
|
+
.states button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;cursor:pointer;font:inherit;font-size:12px}
|
|
87
|
+
.states button.sel{background:#22251f;color:#fff;border-color:#22251f}
|
|
88
|
+
.wire{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;display:flex;flex-direction:column;gap:8px}
|
|
89
|
+
.el{border:1px dashed #b9b9b0;border-radius:8px;padding:8px 10px;background:#f6f6f1}
|
|
90
|
+
.el .name{font-family:ui-monospace,monospace;font-size:11px;color:var(--dim)}
|
|
91
|
+
.el .shows{font-size:13px}
|
|
92
|
+
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
|
|
93
|
+
.ctl{border:1px solid #22251f;border-radius:8px;padding:6px 12px;background:#fff;font-size:13px}
|
|
94
|
+
.ctl.rule{border-style:dashed;color:var(--dim)}
|
|
95
|
+
.ctl.removedghost{border-style:dotted;color:var(--todo);text-decoration:line-through}
|
|
96
|
+
.badge{display:inline-block;font-size:10.5px;border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:1px}
|
|
97
|
+
.b-ok{background:#e3f2e6;color:var(--ok)}
|
|
98
|
+
.b-todo{background:#fbe4e0;color:var(--todo)}
|
|
99
|
+
.b-extra{background:#f7eecb;color:var(--extra)}
|
|
100
|
+
.legend{color:var(--dim);font-size:11.5px;padding:8px 14px;border-top:1px solid var(--line)}
|
|
101
|
+
.extras{margin-top:12px}
|
|
102
|
+
.extras .el{border-style:dotted;background:#fdf9ea}
|
|
103
|
+
@media (max-width: 900px){ .strip{flex-direction:column;overflow:visible} .rail{width:auto !important;flex:0 0 auto;border-right:0;border-bottom:1px solid var(--line)} .grip{display:none} }
|
|
104
|
+
</style>
|
|
105
|
+
</head>
|
|
106
|
+
<body data-page="usedesign-preview">
|
|
107
|
+
<header data-panel="preview-header">
|
|
108
|
+
<h1>usedesign · контракты форм</h1>
|
|
109
|
+
<span class="sub" id="src"></span>
|
|
110
|
+
</header>
|
|
111
|
+
<div class="strip" id="strip" data-panel="rail-strip">
|
|
112
|
+
<section class="rail" id="rail-tree" data-panel="contract-tree" style="width:260px">
|
|
113
|
+
<h2>Контракты</h2>
|
|
114
|
+
<div class="body tree" id="tree" data-list="contracts"></div>
|
|
115
|
+
<div class="grip" data-control="resize-tree"></div>
|
|
116
|
+
</section>
|
|
117
|
+
<section class="rail" id="rail-doc" data-panel="contract-doc" style="width:420px">
|
|
118
|
+
<h2>Содержание</h2>
|
|
119
|
+
<div class="body" id="doc" data-group="contract-content"></div>
|
|
120
|
+
<div class="grip" data-control="resize-doc"></div>
|
|
121
|
+
</section>
|
|
122
|
+
<section class="rail" id="rail-wire" data-panel="contract-wireframe" style="width:460px">
|
|
123
|
+
<h2>Каркас-превью</h2>
|
|
124
|
+
<div class="states" id="states" data-group="state-toggle"></div>
|
|
125
|
+
<div class="body" id="wire" data-group="wireframe"></div>
|
|
126
|
+
<div class="legend" data-group="legend">
|
|
127
|
+
<span class="badge b-ok">есть</span> отрендерено ·
|
|
128
|
+
<span class="badge b-todo">нет в коде</span> контракт впереди кода ·
|
|
129
|
+
<span class="badge b-extra">вне контракта</span> отрендерено, но не решено
|
|
130
|
+
</div>
|
|
131
|
+
<div class="grip" data-control="resize-wire"></div>
|
|
132
|
+
</section>
|
|
133
|
+
</div>
|
|
134
|
+
<script id="data" type="application/json">${payload}</script>
|
|
135
|
+
<script>
|
|
136
|
+
const DATA = JSON.parse(document.getElementById('data').textContent);
|
|
137
|
+
const $ = (id) => document.getElementById(id);
|
|
138
|
+
const params = () => new URLSearchParams(location.search);
|
|
139
|
+
|
|
140
|
+
// ── рейлы: ширины с ограничениями, перетаскивание, сохранение ────────────────────────────────
|
|
141
|
+
const RAILS = [
|
|
142
|
+
{ el: 'rail-tree', grip: 0, def: 260, min: 180, max: 420 },
|
|
143
|
+
{ el: 'rail-doc', grip: 1, def: 420, min: 280, max: 680 },
|
|
144
|
+
{ el: 'rail-wire', grip: 2, def: 460, min: 320, max: 760 },
|
|
145
|
+
];
|
|
146
|
+
for (const r of RAILS) {
|
|
147
|
+
const saved = Number(localStorage.getItem('ud.rail.' + r.el));
|
|
148
|
+
const w = Number.isFinite(saved) && saved >= r.min && saved <= r.max ? saved : r.def;
|
|
149
|
+
$(r.el).style.width = w + 'px';
|
|
150
|
+
const grip = $(r.el).querySelector('.grip');
|
|
151
|
+
grip.addEventListener('pointerdown', (e) => {
|
|
152
|
+
e.preventDefault();
|
|
153
|
+
const startX = e.clientX, startW = $(r.el).getBoundingClientRect().width;
|
|
154
|
+
const move = (ev) => {
|
|
155
|
+
const w2 = Math.min(r.max, Math.max(r.min, startW + ev.clientX - startX));
|
|
156
|
+
$(r.el).style.width = w2 + 'px';
|
|
157
|
+
};
|
|
158
|
+
const up = () => {
|
|
159
|
+
localStorage.setItem('ud.rail.' + r.el, String($(r.el).getBoundingClientRect().width | 0));
|
|
160
|
+
window.removeEventListener('pointermove', move); window.removeEventListener('pointerup', up);
|
|
161
|
+
};
|
|
162
|
+
window.addEventListener('pointermove', move); window.addEventListener('pointerup', up);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
// колесо над «тихим» местом листает ленту; клик по подрезанному рейлу довозит его
|
|
166
|
+
$('strip').addEventListener('wheel', (e) => {
|
|
167
|
+
let node = e.target;
|
|
168
|
+
while (node && node !== document.body) {
|
|
169
|
+
if (node.scrollHeight > node.clientHeight + 1 && getComputedStyle(node).overflowY !== 'hidden') return;
|
|
170
|
+
node = node.parentElement;
|
|
171
|
+
}
|
|
172
|
+
if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) { $('strip').scrollLeft += e.deltaY; e.preventDefault(); }
|
|
173
|
+
}, { passive: false });
|
|
174
|
+
for (const r of RAILS) $(r.el).addEventListener('click', (e) => {
|
|
175
|
+
if (e.target.closest('.grip')) return;
|
|
176
|
+
const el = $(r.el), s = $('strip');
|
|
177
|
+
const left = el.offsetLeft - s.scrollLeft, right = left + el.offsetWidth;
|
|
178
|
+
if (left < 0 || right > s.clientWidth) el.scrollIntoView({ behavior: 'smooth', inline: 'nearest', block: 'nearest' });
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
// ── выбор: источник истины — URL ─────────────────────────────────────────────────────────────
|
|
182
|
+
function select(id, state, push = true) {
|
|
183
|
+
const q = params();
|
|
184
|
+
q.set('form', id);
|
|
185
|
+
if (state) q.set('state', state); else q.delete('state');
|
|
186
|
+
if (push) history.pushState(null, '', '?' + q.toString());
|
|
187
|
+
renderAll();
|
|
188
|
+
}
|
|
189
|
+
window.addEventListener('popstate', renderAll);
|
|
190
|
+
|
|
191
|
+
function current() {
|
|
192
|
+
const q = params();
|
|
193
|
+
const id = q.get('form') || (DATA.contracts[0] && DATA.contracts[0].id);
|
|
194
|
+
const c = DATA.contracts.find((x) => x.id === id) || DATA.contracts[0];
|
|
195
|
+
return { c, state: q.get('state') };
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function statesOf(c) {
|
|
199
|
+
const set = new Set();
|
|
200
|
+
const inv = DATA.inventory && DATA.inventory[c.screen];
|
|
201
|
+
if (inv) for (const s of Object.keys(inv)) set.add(s);
|
|
202
|
+
for (const p of c.presents || []) for (const s of p.when || []) set.add(s);
|
|
203
|
+
for (const k of c.controls || []) for (const s of k.shown_when || []) set.add(s);
|
|
204
|
+
return set.size ? [...set] : ['—'];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function renderTree() {
|
|
208
|
+
const bag = {};
|
|
209
|
+
for (const c of DATA.contracts) (bag[c.page || '(без страницы)'] ||= []).push(c);
|
|
210
|
+
const opened = new Set();
|
|
211
|
+
for (const c of DATA.contracts) for (const k of c.controls || []) if (k.opens) opened.add(k.opens);
|
|
212
|
+
const { c: sel } = current();
|
|
213
|
+
let html = '';
|
|
214
|
+
for (const [page, list] of Object.entries(bag)) {
|
|
215
|
+
html += '<div class="page" data-group="page">' + page + '</div>';
|
|
216
|
+
for (const c of list.filter((x) => !opened.has(x.id))) html += leaf(c, sel, list, 0);
|
|
217
|
+
}
|
|
218
|
+
$('tree').innerHTML = html;
|
|
219
|
+
function leaf(c, sel, list, depth) {
|
|
220
|
+
let h = '<a href="?form=' + encodeURIComponent(c.id) + '" data-item="contract" data-id="' + c.id +
|
|
221
|
+
'" class="' + (sel && sel.id === c.id ? 'sel' : '') + '">' + c.screen + '<br><span style="font-size:11px;color:' +
|
|
222
|
+
(sel && sel.id === c.id ? '#cfcfc6' : 'var(--dim)') + '">' + c.id + '</span></a>';
|
|
223
|
+
const children = [];
|
|
224
|
+
for (const k of c.controls || []) if (k.opens) { const t = DATA.contracts.find((x) => x.id === k.opens); if (t) children.push(t); }
|
|
225
|
+
if (children.length) h += '<div class="opens">' + children.map((t) => leaf(t, sel, list, depth + 1)).join('') + '</div>';
|
|
226
|
+
return h;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
$('tree').addEventListener('click', (e) => {
|
|
230
|
+
const a = e.target.closest('a[data-id]');
|
|
231
|
+
if (a) { e.preventDefault(); select(a.getAttribute('data-id'), null); }
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
function renderDoc() {
|
|
235
|
+
const { c } = current();
|
|
236
|
+
if (!c) { $('doc').innerHTML = '<p>Контрактов не найдено.</p>'; return; }
|
|
237
|
+
let h = '<dl class="kv" data-group="identity">';
|
|
238
|
+
for (const [k, v] of [['id', c.id], ['screen', c.screen], ['page', c.page], ['entity', c.entity]])
|
|
239
|
+
if (v) h += '<dt>' + k + '</dt><dd>' + v + '</dd>';
|
|
240
|
+
h += '</dl>';
|
|
241
|
+
h += '<dl class="kv"><dt>presents — что человек обязан видеть</dt></dl>';
|
|
242
|
+
for (const p of c.presents || [])
|
|
243
|
+
h += '<div class="item" data-item="presents"><div class="name">' + p.field + (p.when ? ' <span class="meta">· ' + p.when.join(', ') + '</span>' : '') +
|
|
244
|
+
'</div><div class="shows">' + p.shows + '</div>' + (p.note ? '<div class="meta">' + p.note + '</div>' : '') + '</div>';
|
|
245
|
+
if ((c.controls || []).length) {
|
|
246
|
+
h += '<dl class="kv"><dt>controls</dt></dl>';
|
|
247
|
+
for (const k of c.controls || [])
|
|
248
|
+
h += '<div class="item" data-item="control"><div class="name">' + k.control +
|
|
249
|
+
(k.shown_when ? ' <span class="meta">· ' + k.shown_when.join(', ') + '</span>' : '') + '</div>' +
|
|
250
|
+
(k.calls ? '<div class="meta">calls: ' + k.calls + '</div>' : '') +
|
|
251
|
+
(k.opens ? '<div class="meta">opens: ' + k.opens + '</div>' : '') +
|
|
252
|
+
(k.shown_when_rule ? '<div class="meta">когда: ' + k.shown_when_rule + '</div>' : '') +
|
|
253
|
+
(k.behaviour ? '<div class="meta">' + k.behaviour + '</div>' : '') + '</div>';
|
|
254
|
+
}
|
|
255
|
+
if ((c.removed || []).length) {
|
|
256
|
+
h += '<dl class="kv"><dt>removed — решено, что этого быть не должно</dt></dl>';
|
|
257
|
+
for (const r of c.removed || []) h += '<div class="item" data-item="removed"><div class="name">' + r.control + '</div><div class="meta">' + (r.was || '') + '</div></div>';
|
|
258
|
+
}
|
|
259
|
+
if (c.__body) h += '<div class="prose" data-group="prose">' + c.__body.replace(/</g, '<') + '</div>';
|
|
260
|
+
$('doc').innerHTML = h;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
function renderWire() {
|
|
264
|
+
const { c, state: fromUrl } = current();
|
|
265
|
+
if (!c) { $('wire').innerHTML = ''; $('states').innerHTML = ''; return; }
|
|
266
|
+
const states = statesOf(c);
|
|
267
|
+
const state = states.includes(fromUrl) ? fromUrl : states[0];
|
|
268
|
+
$('states').innerHTML = states.map((s) =>
|
|
269
|
+
'<button data-control="state" data-state="' + s + '" class="' + (s === state ? 'sel' : '') + '">' + s + '</button>').join('');
|
|
270
|
+
const inv = DATA.inventory && DATA.inventory[c.screen];
|
|
271
|
+
const now = inv && inv[state];
|
|
272
|
+
const badge = (kind, label) => '<span class="badge b-' + kind + '">' + label + '</span>';
|
|
273
|
+
let h = '<div class="wire" data-group="wire-canvas">';
|
|
274
|
+
const claimedF = new Set(), claimedC = new Set();
|
|
275
|
+
for (const p of c.presents || []) {
|
|
276
|
+
claimedF.add(p.field);
|
|
277
|
+
if (p.when && !p.when.includes(state)) continue;
|
|
278
|
+
const v = !now ? '' : now.fields.includes(p.field) ? badge('ok', 'есть') : badge('todo', 'нет в коде');
|
|
279
|
+
h += '<div class="el" data-item="wire-field" data-anchor="' + p.field + '"><div class="name">' + p.field + v + '</div><div class="shows">' + p.shows + '</div></div>';
|
|
280
|
+
}
|
|
281
|
+
h += '<div class="btnrow" data-group="wire-controls">';
|
|
282
|
+
for (const k of c.controls || []) {
|
|
283
|
+
claimedC.add(k.control);
|
|
284
|
+
const inState = k.shown_when ? k.shown_when.includes(state) : true;
|
|
285
|
+
if (!inState) continue;
|
|
286
|
+
const v = !now ? '' : now.controls.includes(k.control) ? badge('ok', 'есть') : badge('todo', 'нет в коде');
|
|
287
|
+
h += '<span class="ctl' + (k.shown_when ? '' : ' rule') + '" data-item="wire-control" data-anchor="' + k.control + '">' + k.control + v + '</span>';
|
|
288
|
+
}
|
|
289
|
+
for (const r of c.removed || []) {
|
|
290
|
+
claimedC.add(r.control);
|
|
291
|
+
if (now && now.controls.includes(r.control))
|
|
292
|
+
h += '<span class="ctl removedghost" data-item="wire-removed" data-anchor="' + r.control + '">' + r.control + badge('todo', 'должно исчезнуть') + '</span>';
|
|
293
|
+
}
|
|
294
|
+
h += '</div></div>';
|
|
295
|
+
if (now) {
|
|
296
|
+
const extraF = now.fields.filter((f) => !claimedF.has(f));
|
|
297
|
+
const extraC = now.controls.filter((f) => !claimedC.has(f));
|
|
298
|
+
if (extraF.length || extraC.length) {
|
|
299
|
+
h += '<div class="extras" data-group="wire-extras"><dl class="kv"><dt>отрендерено, но владелец не решал</dt></dl>';
|
|
300
|
+
for (const f of extraF) h += '<div class="el"><div class="name">' + f + badge('extra', 'вне контракта') + '</div></div>';
|
|
301
|
+
if (extraC.length) h += '<div class="btnrow">' + extraC.map((x) => '<span class="ctl rule">' + x + badge('extra', 'вне контракта') + '</span>').join('') + '</div>';
|
|
302
|
+
h += '</div>';
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
$('wire').innerHTML = h;
|
|
306
|
+
}
|
|
307
|
+
$('states').addEventListener('click', (e) => {
|
|
308
|
+
const b = e.target.closest('button[data-state]');
|
|
309
|
+
if (b) select(current().c.id, b.getAttribute('data-state'));
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
function renderAll() {
|
|
313
|
+
document.getElementById('src').textContent =
|
|
314
|
+
DATA.contracts.length + ' контракт(ов)' + (DATA.producedBy ? ' · перечень: ' + DATA.producedBy : ' · перечня формы нет — каркас без вердиктов');
|
|
315
|
+
renderTree(); renderDoc(); renderWire();
|
|
316
|
+
}
|
|
317
|
+
renderAll();
|
|
318
|
+
</script>
|
|
319
|
+
</body>
|
|
320
|
+
</html>
|
|
321
|
+
`;
|
|
322
|
+
}
|
|
323
|
+
export function commandPreview(configPath, outPath, loadConfig) {
|
|
324
|
+
const { config, base } = loadConfig(configPath);
|
|
325
|
+
const data = collectPreviewData(config, base);
|
|
326
|
+
if (data.contracts.length === 0) {
|
|
327
|
+
console.error("usedesign preview: the config's `forms` patterns matched no contract");
|
|
328
|
+
return 1;
|
|
329
|
+
}
|
|
330
|
+
writeFileSync(outPath, renderPreviewHtml(data), "utf8");
|
|
331
|
+
console.log(`preview: ${data.contracts.length} contract(s) → ${outPath}${data.inventory ? " (с вердиктами по перечню формы)" : " (перечня формы нет — без вердиктов)"}`);
|
|
332
|
+
return 0;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/nistoc/usedesign/schema/form-contract.schema.json",
|
|
4
|
+
"title": "Form contract",
|
|
5
|
+
"description": "What a screen MUST show, written by the owner — not what the code happens to render. The one artifact in this format whose truth is authored rather than measured: check 5 then keeps the built thing equal to the chosen thing. Lines that do not match the code yet are not errors in the contract; they are the product's TODO list, printed by every build.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["usedesign_form", "id", "screen", "presents"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"usedesign_form": { "const": 1 },
|
|
10
|
+
"id": { "type": "string", "pattern": "^[a-z0-9]+(\\.[a-z0-9-]+){2,}$" },
|
|
11
|
+
"screen": { "type": "string", "minLength": 1 },
|
|
12
|
+
"page": { "type": "string" },
|
|
13
|
+
"entity": {
|
|
14
|
+
"description": "Whose lifecycle the screen lives against. The state vocabulary is the entity's, computed from the cards that touch it — never declared here, or it would be a duplicate that drifts.",
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"presents": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"minItems": 1,
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"required": ["field", "shows"],
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"properties": {
|
|
25
|
+
"field": {
|
|
26
|
+
"description": "The machine anchor: a data-field/data-section marker the rendered screen carries. The contract names the anchor; the form inventory proves it.",
|
|
27
|
+
"type": "string",
|
|
28
|
+
"minLength": 1
|
|
29
|
+
},
|
|
30
|
+
"shows": { "type": "string", "minLength": 1 },
|
|
31
|
+
"when": {
|
|
32
|
+
"description": "Entity states in which the element must be present. Absent = in every state the inventory has for this screen.",
|
|
33
|
+
"type": "array",
|
|
34
|
+
"minItems": 1,
|
|
35
|
+
"items": { "type": "string" }
|
|
36
|
+
},
|
|
37
|
+
"note": { "type": "string" }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"controls": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"required": ["control"],
|
|
46
|
+
"additionalProperties": false,
|
|
47
|
+
"properties": {
|
|
48
|
+
"control": { "type": "string", "minLength": 1 },
|
|
49
|
+
"calls": {
|
|
50
|
+
"description": "The operation card this control invokes, or null for local behaviour. Naming a card lets check 5 compare shown_when with the operation's data_transition.from — the measured rule: a control is available exactly in the states its operation departs from.",
|
|
51
|
+
"oneOf": [{ "type": "string" }, { "type": "null" }]
|
|
52
|
+
},
|
|
53
|
+
"shown_when": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"minItems": 1,
|
|
56
|
+
"items": { "type": "string" }
|
|
57
|
+
},
|
|
58
|
+
"shown_when_rule": {
|
|
59
|
+
"description": "Availability that depends on more than the entity state, in words. Check 5 can only verify presence somewhere, not the rule itself — written so the limit is declared, not discovered.",
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"behaviour": { "type": "string" },
|
|
63
|
+
"placement": { "type": "string" },
|
|
64
|
+
"note": { "type": "string" }
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"removed": {
|
|
69
|
+
"description": "Controls the owner has decided must NOT exist. Presence anywhere is a finding — a decision is only real while something enforces it.",
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"required": ["control"],
|
|
74
|
+
"properties": {
|
|
75
|
+
"control": { "type": "string" },
|
|
76
|
+
"was": { "type": "string" },
|
|
77
|
+
"verdict": { "type": "string" }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/nistoc/usedesign/schema/form-inventory.schema.json",
|
|
4
|
+
"title": "Form inventory",
|
|
5
|
+
"description": "What the rendered UI says about ITSELF: for each screen, in each entity state, which machine anchors (data-field/data-section) and controls (data-action) it actually carries. Produced by rendering the real components in a test — never by parsing their source. The sibling of the route and storage inventories.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["usedesign_form_inventory", "produced_by", "forms"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"usedesign_form_inventory": { "const": 1 },
|
|
10
|
+
"produced_by": { "type": "string", "minLength": 3 },
|
|
11
|
+
"forms": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"items": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": ["screen", "states"],
|
|
16
|
+
"additionalProperties": false,
|
|
17
|
+
"properties": {
|
|
18
|
+
"screen": { "type": "string", "minLength": 1 },
|
|
19
|
+
"states": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"minItems": 1,
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"required": ["state", "fields", "controls"],
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"properties": {
|
|
27
|
+
"state": { "type": "string", "minLength": 1 },
|
|
28
|
+
"fields": { "type": "array", "items": { "type": "string" } },
|
|
29
|
+
"controls": { "type": "array", "items": { "type": "string" } }
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -607,6 +607,29 @@
|
|
|
607
607
|
"items": {
|
|
608
608
|
"type": "string"
|
|
609
609
|
}
|
|
610
|
+
},
|
|
611
|
+
"storage": {
|
|
612
|
+
"description": "Where the data physically lives, in terms the storage itself declares. `store` is a PATTERN, never a literal name: store names carry the environment (…-dev, …-prod) and a card that names one is true in one environment and false in every other. Checked against the storage inventory by check 4.",
|
|
613
|
+
"type": "array",
|
|
614
|
+
"minItems": 1,
|
|
615
|
+
"items": {
|
|
616
|
+
"type": "object",
|
|
617
|
+
"required": ["store"],
|
|
618
|
+
"additionalProperties": false,
|
|
619
|
+
"properties": {
|
|
620
|
+
"store": { "type": "string", "minLength": 1 },
|
|
621
|
+
"keyed_by": {
|
|
622
|
+
"type": "array",
|
|
623
|
+
"minItems": 1,
|
|
624
|
+
"items": { "type": "string" }
|
|
625
|
+
},
|
|
626
|
+
"via_index": {
|
|
627
|
+
"description": "The secondary index this operation depends on. Naming one is a promise that removing it breaks this operation.",
|
|
628
|
+
"type": "string"
|
|
629
|
+
},
|
|
630
|
+
"note": { "type": "string" }
|
|
631
|
+
}
|
|
632
|
+
}
|
|
610
633
|
}
|
|
611
634
|
}
|
|
612
635
|
},
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/nistoc/usedesign/schema/storage-inventory.schema.json",
|
|
4
|
+
"title": "Storage inventory",
|
|
5
|
+
"description": "What the storage says about ITSELF: which stores exist, what they are keyed by, and which secondary indexes they carry. Produced by dumping the deployed storage — never by reading application code. The sibling of the route inventory, and it exists for the same reason: a card's claim about where data lives is otherwise a claim nobody can be wrong about.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["usedesign_storage_inventory", "produced_by", "stores"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"usedesign_storage_inventory": { "const": 1 },
|
|
10
|
+
"produced_by": {
|
|
11
|
+
"description": "How this file was made, in words a human can check. An inventory of unknown origin is worse than none: it looks like evidence.",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 3
|
|
14
|
+
},
|
|
15
|
+
"environment": {
|
|
16
|
+
"description": "Which environment was dumped. Store names usually carry it as a suffix, and cards must never name one.",
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"stores": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": ["name", "keyed_by"],
|
|
24
|
+
"additionalProperties": false,
|
|
25
|
+
"properties": {
|
|
26
|
+
"name": { "type": "string", "minLength": 1 },
|
|
27
|
+
"keyed_by": {
|
|
28
|
+
"description": "The primary key attributes, in order: partition key first, then sort key if there is one.",
|
|
29
|
+
"type": "array",
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"items": { "type": "string" }
|
|
32
|
+
},
|
|
33
|
+
"indexes": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": ["name"],
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"properties": {
|
|
40
|
+
"name": { "type": "string" },
|
|
41
|
+
"keyed_by": { "type": "array", "items": { "type": "string" } }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"source": { "type": "string" }
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
package/package.json
CHANGED