@cogitato/kit-cli 0.0.0-stage → 0.2.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/LICENSE +202 -0
- package/README.md +34 -2
- package/bin/kit.js +4 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +245 -0
- package/dist/cli.js.map +1 -0
- package/dist/doctor.d.ts +23 -0
- package/dist/doctor.js +86 -0
- package/dist/doctor.js.map +1 -0
- package/dist/errors.d.ts +8 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -0
- package/dist/export-flows.d.ts +8 -0
- package/dist/export-flows.js +15 -0
- package/dist/export-flows.js.map +1 -0
- package/dist/flows.d.ts +38 -0
- package/dist/flows.js +141 -0
- package/dist/flows.js.map +1 -0
- package/dist/format.d.ts +3 -0
- package/dist/format.js +27 -0
- package/dist/format.js.map +1 -0
- package/dist/gaps.d.ts +21 -0
- package/dist/gaps.js +52 -0
- package/dist/gaps.js.map +1 -0
- package/dist/hook.d.ts +33 -0
- package/dist/hook.js +114 -0
- package/dist/hook.js.map +1 -0
- package/dist/hosting.d.ts +18 -0
- package/dist/hosting.js +51 -0
- package/dist/hosting.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/issue.d.ts +17 -0
- package/dist/issue.js +65 -0
- package/dist/issue.js.map +1 -0
- package/dist/links.d.ts +15 -0
- package/dist/links.js +60 -0
- package/dist/links.js.map +1 -0
- package/dist/preview.d.ts +16 -0
- package/dist/preview.js +38 -0
- package/dist/preview.js.map +1 -0
- package/dist/project.d.ts +55 -0
- package/dist/project.js +145 -0
- package/dist/project.js.map +1 -0
- package/dist/registry.d.ts +67 -0
- package/dist/registry.js +227 -0
- package/dist/registry.js.map +1 -0
- package/dist/rules/css-values.d.ts +31 -0
- package/dist/rules/css-values.js +185 -0
- package/dist/rules/css-values.js.map +1 -0
- package/dist/rules/css.d.ts +4 -0
- package/dist/rules/css.js +39 -0
- package/dist/rules/css.js.map +1 -0
- package/dist/rules/tsx.d.ts +26 -0
- package/dist/rules/tsx.js +191 -0
- package/dist/rules/tsx.js.map +1 -0
- package/dist/save.d.ts +30 -0
- package/dist/save.js +164 -0
- package/dist/save.js.map +1 -0
- package/dist/scaffold.d.ts +42 -0
- package/dist/scaffold.js +232 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/snapshots.d.ts +43 -0
- package/dist/snapshots.js +140 -0
- package/dist/snapshots.js.map +1 -0
- package/dist/status.d.ts +14 -0
- package/dist/status.js +38 -0
- package/dist/status.js.map +1 -0
- package/dist/validate.d.ts +18 -0
- package/dist/validate.js +72 -0
- package/dist/validate.js.map +1 -0
- package/dist/workspace.d.ts +18 -0
- package/dist/workspace.js +119 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +52 -3
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { validateProject } from "@cogitato/contract";
|
|
4
|
+
import { KitError } from "./errors.js";
|
|
5
|
+
import { exportFlows } from "./export-flows.js";
|
|
6
|
+
import { createScreen } from "./scaffold.js";
|
|
7
|
+
import { parseSource } from "./issue.js";
|
|
8
|
+
import { LAYOUT, PROTOTYPE_NAME, WORKSPACE_LAYOUT, listPrototypes, projectIn, readContract, } from "./project.js";
|
|
9
|
+
import { checkCssFile } from "./rules/css.js";
|
|
10
|
+
import { checkTsxFile, duplicateKitIds } from "./rules/tsx.js";
|
|
11
|
+
import { sortIssues, validate } from "./validate.js";
|
|
12
|
+
// Work across every prototype in a workspace.
|
|
13
|
+
/** Every .css and .tsx file in the shared kit, workspace-relative, sorted. */
|
|
14
|
+
function kitFiles(ws) {
|
|
15
|
+
const out = [];
|
|
16
|
+
const walk = (dir) => {
|
|
17
|
+
if (!existsSync(dir))
|
|
18
|
+
return;
|
|
19
|
+
for (const name of readdirSync(dir)) {
|
|
20
|
+
if (name === "node_modules" || name.startsWith("."))
|
|
21
|
+
continue;
|
|
22
|
+
const path = join(dir, name);
|
|
23
|
+
if (statSync(path).isDirectory())
|
|
24
|
+
walk(path);
|
|
25
|
+
else if (/\.(tsx|css)$/.test(name) && !name.endsWith(".d.ts"))
|
|
26
|
+
out.push(ws.rel(path));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
walk(ws.abs(WORKSPACE_LAYOUT.kit));
|
|
30
|
+
return out.sort();
|
|
31
|
+
}
|
|
32
|
+
/** Checks the shared kit's CSS and TSX against the contract. Issue files are workspace-relative. */
|
|
33
|
+
export function validateKit(ws) {
|
|
34
|
+
const issues = [];
|
|
35
|
+
const view = readContract(ws);
|
|
36
|
+
const kitIds = [];
|
|
37
|
+
for (const file of kitFiles(ws)) {
|
|
38
|
+
const text = readFileSync(ws.abs(file), "utf8");
|
|
39
|
+
if (file.endsWith(".css")) {
|
|
40
|
+
issues.push(...checkCssFile(file, text, view));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const r = checkTsxFile(parseSource(file, text), { contract: view, inKit: true });
|
|
44
|
+
kitIds.push(...r.kitIds);
|
|
45
|
+
issues.push(...r.issues);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
issues.push(...duplicateKitIds(kitIds));
|
|
49
|
+
return issues;
|
|
50
|
+
}
|
|
51
|
+
/** Checks the shared contract and kit once, then every prototype. Issue files are workspace-relative. */
|
|
52
|
+
export function validateWorkspace(ws, opts = {}) {
|
|
53
|
+
const issues = [];
|
|
54
|
+
const contract = validateProject(ws.abs(LAYOUT.design), ws.abs(WORKSPACE_LAYOUT.contract));
|
|
55
|
+
issues.push(...contract.issues
|
|
56
|
+
.filter((i) => i.file.startsWith("contract/"))
|
|
57
|
+
.map((i) => ({ ...i, file: `${WORKSPACE_LAYOUT.contract}/${i.file.slice("contract/".length)}` })));
|
|
58
|
+
if (opts.contractOnly)
|
|
59
|
+
return { ok: !issues.some((i) => i.severity === "error"), issues: sortIssues(issues) };
|
|
60
|
+
issues.push(...validateKit(ws));
|
|
61
|
+
for (const name of listPrototypes(ws)) {
|
|
62
|
+
const r = validate(projectIn(ws, name), { skipContract: true });
|
|
63
|
+
issues.push(...r.issues.map((i) => ({ ...i, file: `${WORKSPACE_LAYOUT.prototypes}/${name}/${i.file}` })));
|
|
64
|
+
}
|
|
65
|
+
return { ok: !issues.some((i) => i.severity === "error"), issues: sortIssues(issues) };
|
|
66
|
+
}
|
|
67
|
+
/** What to tell a designer when validateWorkspace found nothing, so an empty workspace doesn't read as checked prototypes. */
|
|
68
|
+
export function workspaceSuccess(ws, opts = {}) {
|
|
69
|
+
if (opts.contractOnly)
|
|
70
|
+
return "All good: the design contract is fine.";
|
|
71
|
+
const count = listPrototypes(ws).length;
|
|
72
|
+
if (!count)
|
|
73
|
+
return "The design contract and kit are fine. There are no prototypes yet.";
|
|
74
|
+
return count === 1 ? "All good: the prototype follows the design contract." : "All good: the prototypes follow the design contract.";
|
|
75
|
+
}
|
|
76
|
+
// Files a new prototype copies from an existing one, so it gets the same pinned versions and setup.
|
|
77
|
+
const SKELETON = ["package.json", "index.html", "vite.config.ts", "tsconfig.json", ".env.example", "src/main.tsx", "src/styles/global.css"];
|
|
78
|
+
const EMPTY_FLOWS = `import { defineFlows } from "@cogitato/runtime";
|
|
79
|
+
|
|
80
|
+
// How screens connect. Each step is "{screen id}.{state}". \`kit export-flows\` turns this into
|
|
81
|
+
// design/flows.json for the canvas; steps appear in the order they're first mentioned.
|
|
82
|
+
export default defineFlows([]);
|
|
83
|
+
`;
|
|
84
|
+
/** Starts prototypes/<name>/ from an existing prototype's setup, with one empty Home screen. */
|
|
85
|
+
export function createPrototype(ws, name) {
|
|
86
|
+
if (!PROTOTYPE_NAME.test(name)) {
|
|
87
|
+
throw new KitError(`"${name}" can't be a prototype name. Use lowercase words with dashes, like "onboarding" or "account-settings".`);
|
|
88
|
+
}
|
|
89
|
+
const existing = listPrototypes(ws);
|
|
90
|
+
if (existing.includes(name) || existsSync(ws.abs(`${WORKSPACE_LAYOUT.prototypes}/${name}`)))
|
|
91
|
+
throw new KitError(`There's already a prototype called "${name}". Pick another name.`);
|
|
92
|
+
if (!existing.length)
|
|
93
|
+
throw new KitError("There's no prototype here to copy the setup from. Ask a developer to check the workspace.");
|
|
94
|
+
const from = ws.abs(`${WORKSPACE_LAYOUT.prototypes}/${existing[0]}`);
|
|
95
|
+
const to = ws.abs(`${WORKSPACE_LAYOUT.prototypes}/${name}`);
|
|
96
|
+
const files = [];
|
|
97
|
+
for (const rel of SKELETON) {
|
|
98
|
+
if (!existsSync(join(from, rel)))
|
|
99
|
+
continue;
|
|
100
|
+
mkdirSync(join(to, rel, ".."), { recursive: true });
|
|
101
|
+
copyFileSync(join(from, rel), join(to, rel));
|
|
102
|
+
files.push(`${WORKSPACE_LAYOUT.prototypes}/${name}/${rel}`);
|
|
103
|
+
}
|
|
104
|
+
const pkgPath = join(to, "package.json");
|
|
105
|
+
writeFileSync(pkgPath, JSON.stringify({ ...JSON.parse(readFileSync(pkgPath, "utf8")), name }, null, 2) + "\n");
|
|
106
|
+
const html = join(to, "index.html");
|
|
107
|
+
if (existsSync(html))
|
|
108
|
+
writeFileSync(html, readFileSync(html, "utf8").replace(/<title>[^<]*<\/title>/, `<title>${name} prototype</title>`));
|
|
109
|
+
mkdirSync(join(to, LAYOUT.design), { recursive: true });
|
|
110
|
+
mkdirSync(join(to, "src", "screens"), { recursive: true });
|
|
111
|
+
writeFileSync(join(to, "src", "flows.ts"), EMPTY_FLOWS);
|
|
112
|
+
files.push(`${WORKSPACE_LAYOUT.prototypes}/${name}/src/flows.ts`);
|
|
113
|
+
const project = projectIn(ws, name);
|
|
114
|
+
const screen = createScreen(project, { id: "home", title: "Home" });
|
|
115
|
+
files.push(...screen.files.map((f) => `${WORKSPACE_LAYOUT.prototypes}/${name}/${f}`));
|
|
116
|
+
exportFlows(project);
|
|
117
|
+
return { name, files };
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,55 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitato/kit-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "The `kit` command: validate prototypes against their design contract, export flows, preview the kit, check machine health",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/cogitato/cogitato.git",
|
|
9
|
+
"directory": "packages/kit-cli"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/cogitato/cogitato/tree/main/packages/kit-cli#readme",
|
|
12
|
+
"bugs": "https://github.com/cogitato/cogitato/issues",
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=22"
|
|
15
|
+
},
|
|
16
|
+
"type": "module",
|
|
17
|
+
"main": "./dist/index.js",
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"bin": {
|
|
20
|
+
"kit": "./bin/kit.js"
|
|
21
|
+
},
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"default": "./dist/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./hosting": {
|
|
28
|
+
"types": "./dist/hosting.d.ts",
|
|
29
|
+
"default": "./dist/hosting.js"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"bin",
|
|
34
|
+
"dist"
|
|
35
|
+
],
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"mri": "^1.2.0",
|
|
38
|
+
"postcss": "^8.4.49",
|
|
39
|
+
"typescript": "^5.7.2",
|
|
40
|
+
"@cogitato/contract": "0.2.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/node": "^22.10.0",
|
|
44
|
+
"vitest": "^3.0.0"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public",
|
|
48
|
+
"provenance": true
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "tsc -p tsconfig.build.json",
|
|
52
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
53
|
+
"test": "vitest run"
|
|
54
|
+
}
|
|
6
55
|
}
|