@estiva-app/ui 0.46.0 → 0.47.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/gates/app-checks.d.ts.map +1 -1
- package/dist/gates/{chunk-P5W6O5TF.js → chunk-BS5JASHV.js} +14 -9
- package/dist/gates/{chunk-P5W6O5TF.js.map → chunk-BS5JASHV.js.map} +3 -3
- package/dist/gates/cli.js +1 -1
- package/dist/gates/index.js +2 -1
- package/dist/gates/index.js.map +2 -2
- package/dist/gates/status.d.ts +2 -0
- package/dist/gates/status.d.ts.map +1 -1
- package/dist/registry/{chunk-XK747STJ.js → chunk-4QWD3EBY.js} +5 -1
- package/dist/registry/chunk-4QWD3EBY.js.map +7 -0
- package/dist/registry/cli.js +4 -3
- package/dist/registry/cli.js.map +2 -2
- package/dist/registry/contract.d.ts +7 -0
- package/dist/registry/contract.d.ts.map +1 -1
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +3 -1
- package/package.json +1 -1
- package/registry.json +1 -1
- package/skill/estiva-ui.md +14 -11
- package/src/gates/app-checks.ts +1 -0
- package/src/gates/gates.test.ts +22 -0
- package/src/gates/status.ts +19 -8
- package/src/registry/cli.ts +2 -2
- package/src/registry/contract.test.ts +18 -2
- package/src/registry/contract.ts +10 -0
- package/src/registry/index.ts +1 -1
- package/src/registry/skill.test.ts +2 -0
- package/dist/registry/chunk-XK747STJ.js.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-checks.d.ts","sourceRoot":"","sources":["../../src/gates/app-checks.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAA0B,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/E,MAAM,WAAW,eAAe;IAC9B,yFAAyF;IACzF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAA;IACZ,8GAA8G;IAC9G,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;IACvC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"app-checks.d.ts","sourceRoot":"","sources":["../../src/gates/app-checks.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAA0B,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/E,MAAM,WAAW,eAAe;IAC9B,yFAAyF;IACzF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAA;IACZ,8GAA8G;IAC9G,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;IACvC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwBpD,CAAA;AAaD,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAS,EAAE,IAAI,EAAE,KAAsC,EAAE,YAA8D,EAAE,OAAmB,EAAE,EAAE,eAAe,GAAG,UAAU,EAAE,CAkPzN"}
|
|
@@ -743,9 +743,10 @@ function helpers(ROOT) {
|
|
|
743
743
|
},
|
|
744
744
|
async contract(appDir) {
|
|
745
745
|
try {
|
|
746
|
-
const { buildAppRegistry, contractProblems, CONTRACT_KINDS } = await import("../registry/index.js");
|
|
746
|
+
const { buildAppRegistry, contractProblems, nameableParts, CONTRACT_KINDS } = await import("../registry/index.js");
|
|
747
747
|
const registry = buildAppRegistry({ root: abs(appDir) });
|
|
748
|
-
const
|
|
748
|
+
const pkg = createRequire5(import.meta.url)("../../registry.json");
|
|
749
|
+
const problems = contractProblems(registry, abs(appDir), nameableParts(registry, pkg));
|
|
749
750
|
const owed = registry.entries.filter((entry) => CONTRACT_KINDS.includes(entry.app?.class ?? "")).length;
|
|
750
751
|
if (problems.length) return FAIL(`${problems.length} of ${owed}; the first: ${problems[0]}`);
|
|
751
752
|
return PASS2(`all ${owed} reusable parts keep the usage-page contract and are drawn somewhere`);
|
|
@@ -964,7 +965,7 @@ function helpers(ROOT) {
|
|
|
964
965
|
}
|
|
965
966
|
};
|
|
966
967
|
}
|
|
967
|
-
var STATUS = { done: "\u2705", started: "\u{1F6A7}", none: "\u2B1C", unknown: "\u2754" };
|
|
968
|
+
var STATUS = { done: "\u2705", started: "\u{1F6A7}", none: "\u2B1C", unknown: "\u2754", later: "\u23ED" };
|
|
968
969
|
function statusOf(checks) {
|
|
969
970
|
const n = (r) => checks.filter((c) => c.result === r).length;
|
|
970
971
|
const pass = n("pass"), part = n("part"), fail = n("fail"), unknown = n("unknown");
|
|
@@ -1051,6 +1052,7 @@ function printRows(rows, { showOwner, detail }) {
|
|
|
1051
1052
|
const pass = r.checks.filter((c) => c.result === "pass").length;
|
|
1052
1053
|
const count = r.checks.length ? `${pass} of ${r.checks.length}` : "no checks here";
|
|
1053
1054
|
lines.push(`${STATUS[r.status ?? "unknown"]} ${pad(r.ref, 7)} ${pad(r.title ?? "", width)} ${showOwner ? pad(r.ownerRepo ?? "", 10) : ""}${count}`);
|
|
1055
|
+
if (r.later) lines.push(` ${r.later}`);
|
|
1054
1056
|
if (detail || r.status === "started" || r.status === "unknown") {
|
|
1055
1057
|
for (const c of r.checks) {
|
|
1056
1058
|
const mark = { pass: "\u2713", part: "\xBD", fail: "\u2717", unknown: "?" }[c.result];
|
|
@@ -1062,7 +1064,8 @@ function printRows(rows, { showOwner, detail }) {
|
|
|
1062
1064
|
}
|
|
1063
1065
|
function summary(rows) {
|
|
1064
1066
|
const n = (s) => rows.filter((r) => r.status === s).length;
|
|
1065
|
-
|
|
1067
|
+
const later = n("later") ? ` \xB7 ${STATUS.later} ${n("later")} next phase` : "";
|
|
1068
|
+
return `${STATUS.done} ${n("done")} done \xB7 ${STATUS.started} ${n("started")} started \xB7 ${STATUS.none} ${n("none")} not started \xB7 ${STATUS.unknown} ${n("unknown")} could not check${later}`;
|
|
1066
1069
|
}
|
|
1067
1070
|
async function catalogueLines(appDir) {
|
|
1068
1071
|
try {
|
|
@@ -1135,13 +1138,15 @@ async function runStatus({ root = process.cwd(), app = ".", json = false, detail
|
|
|
1135
1138
|
for (const f of found.filter((f2) => f2.missing)) {
|
|
1136
1139
|
if ((t.parts ?? []).includes(f.name) || t.owner === f.name) checks.push({ repo: f.name, what: `${f.name}'s part`, result: "unknown", detail: f.note });
|
|
1137
1140
|
}
|
|
1138
|
-
return { ref: t.ref, title: t.title, ownerRepo: t.owner, checks, aggregate: t.aggregate };
|
|
1141
|
+
return { ref: t.ref, title: t.title, ownerRepo: t.owner, checks, aggregate: t.aggregate, later: t.later };
|
|
1139
1142
|
});
|
|
1140
|
-
for (const row of rows) row.status = statusOf(row.checks);
|
|
1143
|
+
for (const row of rows) row.status = row.later ? "later" : statusOf(row.checks);
|
|
1141
1144
|
for (const row of rows.filter((r) => r.aggregate)) {
|
|
1142
|
-
const others = rows.filter((r) => r !== row);
|
|
1145
|
+
const others = rows.filter((r) => r !== row && !r.later);
|
|
1143
1146
|
const done = others.filter((r) => r.status === "done").length;
|
|
1144
|
-
|
|
1147
|
+
const moved = rows.filter((r) => r.later).length;
|
|
1148
|
+
const said2 = `${done} of ${others.length} done${moved ? `; ${moved} moved to the next phase` : ""}`;
|
|
1149
|
+
row.checks.push({ repo: "all", what: "every other ticket of this phase is done", ...done === others.length ? PASS2(said2) : FAIL(said2) });
|
|
1145
1150
|
row.status = statusOf(row.checks);
|
|
1146
1151
|
}
|
|
1147
1152
|
out.push("", printRows(rows, { showOwner: true, detail }), "", summary(rows));
|
|
@@ -1179,4 +1184,4 @@ export {
|
|
|
1179
1184
|
helpers,
|
|
1180
1185
|
runStatus
|
|
1181
1186
|
};
|
|
1182
|
-
//# sourceMappingURL=chunk-
|
|
1187
|
+
//# sourceMappingURL=chunk-BS5JASHV.js.map
|