@slowcook-ai/cli 0.16.0-alpha.4 → 0.17.0-alpha.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/dist/cli.js +50 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/brew/agent.d.ts +25 -1
- package/dist/commands/brew/agent.d.ts.map +1 -1
- package/dist/commands/brew/agent.js +123 -20
- package/dist/commands/brew/agent.js.map +1 -1
- package/dist/commands/brew/halt.d.ts +1 -1
- package/dist/commands/brew/halt.d.ts.map +1 -1
- package/dist/commands/brew/halt.js +13 -0
- package/dist/commands/brew/halt.js.map +1 -1
- package/dist/commands/check/index.d.ts +14 -0
- package/dist/commands/check/index.d.ts.map +1 -0
- package/dist/commands/check/index.js +75 -0
- package/dist/commands/check/index.js.map +1 -0
- package/dist/commands/check/mock-isolation.d.ts +52 -0
- package/dist/commands/check/mock-isolation.d.ts.map +1 -0
- package/dist/commands/check/mock-isolation.js +186 -0
- package/dist/commands/check/mock-isolation.js.map +1 -0
- package/dist/commands/init/from-prod.d.ts +48 -0
- package/dist/commands/init/from-prod.d.ts.map +1 -0
- package/dist/commands/init/from-prod.js +256 -0
- package/dist/commands/init/from-prod.js.map +1 -0
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +9 -0
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/init/mock.d.ts.map +1 -1
- package/dist/commands/init/mock.js +47 -13
- package/dist/commands/init/mock.js.map +1 -1
- package/dist/commands/on-mockup-approved/index.d.ts +25 -0
- package/dist/commands/on-mockup-approved/index.d.ts.map +1 -0
- package/dist/commands/on-mockup-approved/index.js +359 -0
- package/dist/commands/on-mockup-approved/index.js.map +1 -0
- package/dist/commands/plate/classify.d.ts +65 -0
- package/dist/commands/plate/classify.d.ts.map +1 -0
- package/dist/commands/plate/classify.js +194 -0
- package/dist/commands/plate/classify.js.map +1 -0
- package/dist/commands/plate/index.d.ts.map +1 -1
- package/dist/commands/plate/index.js +259 -34
- package/dist/commands/plate/index.js.map +1 -1
- package/dist/commands/port/index.d.ts +30 -0
- package/dist/commands/port/index.d.ts.map +1 -0
- package/dist/commands/port/index.js +237 -0
- package/dist/commands/port/index.js.map +1 -0
- package/dist/commands/port/transform.d.ts +68 -0
- package/dist/commands/port/transform.d.ts.map +1 -0
- package/dist/commands/port/transform.js +122 -0
- package/dist/commands/port/transform.js.map +1 -0
- package/dist/commands/preview/config.d.ts +73 -0
- package/dist/commands/preview/config.d.ts.map +1 -0
- package/dist/commands/preview/config.js +200 -0
- package/dist/commands/preview/config.js.map +1 -0
- package/dist/commands/preview/deploy.d.ts +35 -0
- package/dist/commands/preview/deploy.d.ts.map +1 -0
- package/dist/commands/preview/deploy.js +247 -0
- package/dist/commands/preview/deploy.js.map +1 -0
- package/dist/commands/preview/index.d.ts +9 -0
- package/dist/commands/preview/index.d.ts.map +1 -0
- package/dist/commands/preview/index.js +67 -0
- package/dist/commands/preview/index.js.map +1 -0
- package/dist/commands/preview/ssh.d.ts +49 -0
- package/dist/commands/preview/ssh.d.ts.map +1 -0
- package/dist/commands/preview/ssh.js +99 -0
- package/dist/commands/preview/ssh.js.map +1 -0
- package/dist/commands/preview/teardown.d.ts +25 -0
- package/dist/commands/preview/teardown.d.ts.map +1 -0
- package/dist/commands/preview/teardown.js +164 -0
- package/dist/commands/preview/teardown.js.map +1 -0
- package/dist/commands/recon/index.d.ts +60 -0
- package/dist/commands/recon/index.d.ts.map +1 -0
- package/dist/commands/recon/index.js +278 -0
- package/dist/commands/recon/index.js.map +1 -0
- package/dist/commands/refine/context.d.ts +12 -0
- package/dist/commands/refine/context.d.ts.map +1 -1
- package/dist/commands/refine/context.js +72 -0
- package/dist/commands/refine/context.js.map +1 -1
- package/dist/commands/refine/history-index.d.ts +84 -0
- package/dist/commands/refine/history-index.d.ts.map +1 -0
- package/dist/commands/refine/history-index.js +289 -0
- package/dist/commands/refine/history-index.js.map +1 -0
- package/dist/commands/refine/index.d.ts.map +1 -1
- package/dist/commands/refine/index.js +28 -0
- package/dist/commands/refine/index.js.map +1 -1
- package/dist/commands/run-mock/index.d.ts +34 -0
- package/dist/commands/run-mock/index.d.ts.map +1 -0
- package/dist/commands/run-mock/index.js +308 -0
- package/dist/commands/run-mock/index.js.map +1 -0
- package/dist/commands/vibe/index.d.ts.map +1 -1
- package/dist/commands/vibe/index.js +38 -4
- package/dist/commands/vibe/index.js.map +1 -1
- package/package.json +15 -13
- package/LICENSE +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/plate/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/plate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `slowcook port` — deterministic mock → src copy step.
|
|
3
|
+
*
|
|
4
|
+
* Runs as a CI step before brew on the brew PR's branch. No LLM.
|
|
5
|
+
* Same input → same output.
|
|
6
|
+
*
|
|
7
|
+
* Walks `mock/src/components/` + `mock/src/app/`, copies each file to
|
|
8
|
+
* the mirrored src/ path, applying small import + hook rewrites so the
|
|
9
|
+
* production component reads via `@/lib/data#useDataDomain` instead of
|
|
10
|
+
* the mock-runtime hook. Brew writes the actual data layer.
|
|
11
|
+
*
|
|
12
|
+
* Excluded from the copy:
|
|
13
|
+
* - mock/scenarios/, mock/src/lib/scenario-registry* (mock-only infra)
|
|
14
|
+
* - any mock file with a `@slowcook-port-skip` marker in its first
|
|
15
|
+
* 20 lines (file-level opt-out for shims like mock-emotions.ts)
|
|
16
|
+
*
|
|
17
|
+
* Conflict resolution at the destination (no abort, no hardcoded
|
|
18
|
+
* exclusions for layout.tsx / page.tsx / globals.css):
|
|
19
|
+
* - destination missing → CREATE
|
|
20
|
+
* - destination matches our output → NO-OP
|
|
21
|
+
* - destination has @slowcook-port-from → UPDATE
|
|
22
|
+
* - destination is hand-written (no marker)→ SKIP with notice
|
|
23
|
+
* (consumer's prod file is the source of truth; --force to override)
|
|
24
|
+
*
|
|
25
|
+
* What "deterministic" buys us: the diff is auditable in the PR, brew
|
|
26
|
+
* has a clear scope, and a future tooling pass could re-run port to
|
|
27
|
+
* detect drift.
|
|
28
|
+
*/
|
|
29
|
+
export declare function port(argv: string[], _cliVersion: string): Promise<void>;
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/port/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA6FH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD7E"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `slowcook port` — deterministic mock → src copy step.
|
|
3
|
+
*
|
|
4
|
+
* Runs as a CI step before brew on the brew PR's branch. No LLM.
|
|
5
|
+
* Same input → same output.
|
|
6
|
+
*
|
|
7
|
+
* Walks `mock/src/components/` + `mock/src/app/`, copies each file to
|
|
8
|
+
* the mirrored src/ path, applying small import + hook rewrites so the
|
|
9
|
+
* production component reads via `@/lib/data#useDataDomain` instead of
|
|
10
|
+
* the mock-runtime hook. Brew writes the actual data layer.
|
|
11
|
+
*
|
|
12
|
+
* Excluded from the copy:
|
|
13
|
+
* - mock/scenarios/, mock/src/lib/scenario-registry* (mock-only infra)
|
|
14
|
+
* - any mock file with a `@slowcook-port-skip` marker in its first
|
|
15
|
+
* 20 lines (file-level opt-out for shims like mock-emotions.ts)
|
|
16
|
+
*
|
|
17
|
+
* Conflict resolution at the destination (no abort, no hardcoded
|
|
18
|
+
* exclusions for layout.tsx / page.tsx / globals.css):
|
|
19
|
+
* - destination missing → CREATE
|
|
20
|
+
* - destination matches our output → NO-OP
|
|
21
|
+
* - destination has @slowcook-port-from → UPDATE
|
|
22
|
+
* - destination is hand-written (no marker)→ SKIP with notice
|
|
23
|
+
* (consumer's prod file is the source of truth; --force to override)
|
|
24
|
+
*
|
|
25
|
+
* What "deterministic" buys us: the diff is auditable in the PR, brew
|
|
26
|
+
* has a clear scope, and a future tooling pass could re-run port to
|
|
27
|
+
* detect drift.
|
|
28
|
+
*/
|
|
29
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, readdirSync } from "node:fs";
|
|
30
|
+
import { dirname, join, relative } from "node:path";
|
|
31
|
+
import { transformForPort, mockPathToSrcPath, isMockOnlyFile } from "./transform.js";
|
|
32
|
+
function parseArgs(argv) {
|
|
33
|
+
const args = {
|
|
34
|
+
story: "",
|
|
35
|
+
repoRoot: process.cwd(),
|
|
36
|
+
dryRun: false,
|
|
37
|
+
force: false,
|
|
38
|
+
};
|
|
39
|
+
for (let i = 0; i < argv.length; i++) {
|
|
40
|
+
const a = argv[i];
|
|
41
|
+
const next = argv[i + 1];
|
|
42
|
+
if (a === "--story" && next) {
|
|
43
|
+
args.story = next;
|
|
44
|
+
i++;
|
|
45
|
+
}
|
|
46
|
+
else if (a === "--cwd" && next) {
|
|
47
|
+
args.repoRoot = next;
|
|
48
|
+
i++;
|
|
49
|
+
}
|
|
50
|
+
else if (a === "--dry-run") {
|
|
51
|
+
args.dryRun = true;
|
|
52
|
+
}
|
|
53
|
+
else if (a === "--force") {
|
|
54
|
+
args.force = true;
|
|
55
|
+
}
|
|
56
|
+
else if (a === "--help" || a === "-h") {
|
|
57
|
+
printHelp();
|
|
58
|
+
process.exit(0);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (!args.story) {
|
|
62
|
+
console.error("--story <id> is required.");
|
|
63
|
+
printHelp();
|
|
64
|
+
process.exit(64);
|
|
65
|
+
}
|
|
66
|
+
return args;
|
|
67
|
+
}
|
|
68
|
+
function printHelp() {
|
|
69
|
+
console.log(`
|
|
70
|
+
slowcook port — deterministic mock → src copy
|
|
71
|
+
|
|
72
|
+
Walks mock/src/components/ + mock/src/app/, copies each file to the
|
|
73
|
+
mirrored src/ path, and applies small import + hook rewrites so the
|
|
74
|
+
production component reads from @/lib/data#useDataDomain instead of
|
|
75
|
+
the mock-runtime hook. No LLM; same input → same output.
|
|
76
|
+
|
|
77
|
+
Usage:
|
|
78
|
+
slowcook port --story <id> [--cwd <path>] [--dry-run] [--force]
|
|
79
|
+
|
|
80
|
+
Options:
|
|
81
|
+
--story <id> Story id (e.g. 017). Used in the port-provenance header.
|
|
82
|
+
--cwd <path> Repo root (default: cwd).
|
|
83
|
+
--dry-run Print planned actions; don't write.
|
|
84
|
+
--force Overwrite hand-written src/ files (no @slowcook-port-from
|
|
85
|
+
marker). Default: skip them and log a notice — the
|
|
86
|
+
consumer's hand-written file wins.
|
|
87
|
+
|
|
88
|
+
What's NOT ported:
|
|
89
|
+
mock/scenarios/ (scenario fixtures — mock-only)
|
|
90
|
+
mock/src/lib/scenario-registry* (consumer-managed)
|
|
91
|
+
any file containing @slowcook-port-skip (file-level opt-out marker;
|
|
92
|
+
use for mock-only shims)
|
|
93
|
+
|
|
94
|
+
What's transformed:
|
|
95
|
+
import { useScenarioFixture } from "@slowcook-ai/mock-runtime";
|
|
96
|
+
→ import { useDataDomain } from "@/lib/data";
|
|
97
|
+
useScenarioFixture<T>("domain")
|
|
98
|
+
→ useDataDomain<T>("domain")
|
|
99
|
+
// @slowcook-mock-only lines stripped
|
|
100
|
+
port-provenance header prepended (// @slowcook-port-from mock/ (story-N))
|
|
101
|
+
|
|
102
|
+
Conflict resolution (no abort):
|
|
103
|
+
destination missing → CREATE
|
|
104
|
+
destination identical to our output → NO-OP
|
|
105
|
+
destination has @slowcook-port-from → UPDATE
|
|
106
|
+
destination is hand-written (no marker) → SKIP (--force overrides)
|
|
107
|
+
|
|
108
|
+
Exit code: always 0 unless an unexpected I/O error occurs.
|
|
109
|
+
`);
|
|
110
|
+
}
|
|
111
|
+
export async function port(argv, _cliVersion) {
|
|
112
|
+
const args = parseArgs(argv);
|
|
113
|
+
const mockSrcDir = join(args.repoRoot, "mock/src");
|
|
114
|
+
if (!existsSync(mockSrcDir)) {
|
|
115
|
+
console.log(`No mock/src/ directory at ${mockSrcDir}. Run \`slowcook init mock\` first; nothing to port.`);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const files = walkFiles(mockSrcDir);
|
|
119
|
+
const actions = [];
|
|
120
|
+
for (const absPath of files) {
|
|
121
|
+
const relMockPath = relative(args.repoRoot, absPath).replace(/\\/g, "/");
|
|
122
|
+
const destRel = mockPathToSrcPath(relMockPath);
|
|
123
|
+
if (!destRel)
|
|
124
|
+
continue;
|
|
125
|
+
const inputBody = readFileSync(absPath, "utf8");
|
|
126
|
+
actions.push(buildPlanned(args.repoRoot, relMockPath, destRel, inputBody, args.force, args.story));
|
|
127
|
+
}
|
|
128
|
+
if (actions.length === 0) {
|
|
129
|
+
console.log("Nothing to port (no eligible mock/src/ files).");
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
console.log(`slowcook port · story-${args.story} · cwd: ${relative(process.cwd(), args.repoRoot) || "."}`);
|
|
133
|
+
for (const a of actions)
|
|
134
|
+
printAction(a);
|
|
135
|
+
if (args.dryRun) {
|
|
136
|
+
console.log("\n--dry-run: no files written.");
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
let written = 0;
|
|
140
|
+
let unchanged = 0;
|
|
141
|
+
let skippedHandwritten = 0;
|
|
142
|
+
let skippedMockOnly = 0;
|
|
143
|
+
for (const a of actions) {
|
|
144
|
+
if (a.kind === "no-op") {
|
|
145
|
+
unchanged += 1;
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
if (a.kind === "skip-handwritten") {
|
|
149
|
+
skippedHandwritten += 1;
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
if (a.kind === "skip-mock-only") {
|
|
153
|
+
skippedMockOnly += 1;
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
const inputBody = readFileSync(join(args.repoRoot, a.src), "utf8");
|
|
157
|
+
const { output } = transformForPort(inputBody, { storyId: args.story });
|
|
158
|
+
const destAbs = join(args.repoRoot, a.dest);
|
|
159
|
+
mkdirSync(dirname(destAbs), { recursive: true });
|
|
160
|
+
writeFileSync(destAbs, output, "utf8");
|
|
161
|
+
written += 1;
|
|
162
|
+
}
|
|
163
|
+
const skipNotes = [];
|
|
164
|
+
if (skippedHandwritten > 0) {
|
|
165
|
+
skipNotes.push(`${skippedHandwritten} skipped (hand-written prod file — pass --force to override)`);
|
|
166
|
+
}
|
|
167
|
+
if (skippedMockOnly > 0) {
|
|
168
|
+
skipNotes.push(`${skippedMockOnly} skipped (@slowcook-port-skip)`);
|
|
169
|
+
}
|
|
170
|
+
const tail = skipNotes.length > 0 ? "; " + skipNotes.join("; ") : "";
|
|
171
|
+
console.log(`\nDone. ${written} file(s) written; ${unchanged} unchanged${tail}.`);
|
|
172
|
+
}
|
|
173
|
+
function buildPlanned(repoRoot, src, dest, inputBody, force, story) {
|
|
174
|
+
// File-level opt-out: mock-only shims (e.g. mock/src/lib/mock-emotions.ts)
|
|
175
|
+
// tagged with @slowcook-port-skip never write to src/.
|
|
176
|
+
if (isMockOnlyFile(inputBody)) {
|
|
177
|
+
return {
|
|
178
|
+
src,
|
|
179
|
+
dest,
|
|
180
|
+
kind: "skip-mock-only",
|
|
181
|
+
rewrites: [],
|
|
182
|
+
reason: "file marked @slowcook-port-skip (mock-only shim)",
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
const destAbs = join(repoRoot, dest);
|
|
186
|
+
const { output, rewrites } = transformForPort(inputBody, { storyId: story });
|
|
187
|
+
const destExists = existsSync(destAbs);
|
|
188
|
+
if (!destExists) {
|
|
189
|
+
return { src, dest, kind: "create", rewrites };
|
|
190
|
+
}
|
|
191
|
+
const existing = readFileSync(destAbs, "utf8");
|
|
192
|
+
if (existing === output) {
|
|
193
|
+
return { src, dest, kind: "no-op", rewrites: [] };
|
|
194
|
+
}
|
|
195
|
+
// Update only if the existing file is a previously-ported file
|
|
196
|
+
// (carries the marker) OR --force is set. Otherwise skip — the
|
|
197
|
+
// consumer's hand-written file is the source of truth.
|
|
198
|
+
if (existing.includes("@slowcook-port-from") || force) {
|
|
199
|
+
return { src, dest, kind: "update", rewrites };
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
src,
|
|
203
|
+
dest,
|
|
204
|
+
kind: "skip-handwritten",
|
|
205
|
+
rewrites: [],
|
|
206
|
+
reason: "destination is hand-written (no @slowcook-port-from marker); skipping. Use --force to overwrite.",
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function printAction(a) {
|
|
210
|
+
const tag = a.kind === "create" ? "CREATE" :
|
|
211
|
+
a.kind === "update" ? "UPDATE" :
|
|
212
|
+
a.kind === "skip-handwritten" ? "SKIP " :
|
|
213
|
+
a.kind === "skip-mock-only" ? "SKIP " :
|
|
214
|
+
"NO-OP ";
|
|
215
|
+
console.log(` ${tag} ${a.src} → ${a.dest}`);
|
|
216
|
+
if (a.reason)
|
|
217
|
+
console.log(` ${a.reason}`);
|
|
218
|
+
for (const r of a.rewrites)
|
|
219
|
+
console.log(` · ${r}`);
|
|
220
|
+
}
|
|
221
|
+
function walkFiles(dir, acc = []) {
|
|
222
|
+
const entries = readdirSync(dir);
|
|
223
|
+
for (const name of entries) {
|
|
224
|
+
if (name.startsWith("."))
|
|
225
|
+
continue;
|
|
226
|
+
const full = join(dir, name);
|
|
227
|
+
const st = statSync(full);
|
|
228
|
+
if (st.isDirectory()) {
|
|
229
|
+
walkFiles(full, acc);
|
|
230
|
+
}
|
|
231
|
+
else if (/\.(tsx?|jsx?)$/.test(name)) {
|
|
232
|
+
acc.push(full);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return acc;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/port/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port-time source transforms — 0.16.0-α.8.
|
|
3
|
+
*
|
|
4
|
+
* `slowcook port` is the deterministic mock → src copy step. It walks
|
|
5
|
+
* mock/src/components/ + mock/src/app/, copies each file to the
|
|
6
|
+
* mirrored src/ path, and applies a small set of import + hook
|
|
7
|
+
* rewrites so the production component reads its data from the real
|
|
8
|
+
* Supabase layer instead of the mock-runtime scenarios.
|
|
9
|
+
*
|
|
10
|
+
* The transform is intentionally narrow:
|
|
11
|
+
*
|
|
12
|
+
* import { useScenarioFixture } from "@slowcook-ai/mock-runtime";
|
|
13
|
+
* ↓
|
|
14
|
+
* import { useDataDomain } from "@/lib/data";
|
|
15
|
+
*
|
|
16
|
+
* const x = useScenarioFixture<T>("pins");
|
|
17
|
+
* ↓
|
|
18
|
+
* const x = useDataDomain<T>("pins");
|
|
19
|
+
*
|
|
20
|
+
* The new `@/lib/data#useDataDomain` is brew's territory (α.9 writes
|
|
21
|
+
* the real implementation against Supabase). At port-time, all that
|
|
22
|
+
* exists in src/lib/data/ may be a stub `useDataDomain` — brew fills
|
|
23
|
+
* the body. That keeps tests red until brew's done.
|
|
24
|
+
*
|
|
25
|
+
* Pure functions over strings. No fs access. Same input → same output.
|
|
26
|
+
*/
|
|
27
|
+
export interface PortTransformResult {
|
|
28
|
+
/** New file body. */
|
|
29
|
+
output: string;
|
|
30
|
+
/** Each rewrite that fired (for the audit-trail commit message). */
|
|
31
|
+
rewrites: string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Apply all port-time source transforms to a single file's contents.
|
|
35
|
+
* Returns the transformed body + the list of rewrites that fired.
|
|
36
|
+
*/
|
|
37
|
+
export declare function transformForPort(input: string, opts?: {
|
|
38
|
+
storyId?: string;
|
|
39
|
+
}): PortTransformResult;
|
|
40
|
+
/**
|
|
41
|
+
* Translate a `mock/<rest>` path into the corresponding `src/<rest>`
|
|
42
|
+
* path. Used by the file walker.
|
|
43
|
+
*
|
|
44
|
+
* Examples:
|
|
45
|
+
* mock/src/components/rewo/RewoCard.tsx → src/components/rewo/RewoCard.tsx
|
|
46
|
+
* mock/src/app/(main)/u/[handle]/page.tsx → src/app/(main)/u/[handle]/page.tsx
|
|
47
|
+
* mock/src/lib/scenario-registry.ts → null (mock-only; never ports)
|
|
48
|
+
* mock/scenarios/story-017.ts → null (mock-only; never ports)
|
|
49
|
+
*
|
|
50
|
+
* Note: collisions with the consumer's hand-written src/ files (e.g.
|
|
51
|
+
* mock/src/app/layout.tsx vs the consumer's real src/app/layout.tsx)
|
|
52
|
+
* are NOT filtered here. The walker handles them at write-time by
|
|
53
|
+
* checking for the @slowcook-port-from marker on the destination —
|
|
54
|
+
* unmarked destinations are skipped, never overwritten. That keeps
|
|
55
|
+
* this mapping a pure path translation (no hardcoded shell list).
|
|
56
|
+
*/
|
|
57
|
+
export declare function mockPathToSrcPath(mockPath: string): string | null;
|
|
58
|
+
/**
|
|
59
|
+
* File-level skip marker. A mock file that contains
|
|
60
|
+
* `@slowcook-port-skip` in its first 20 lines is treated as
|
|
61
|
+
* mock-only — port walks past it without writing anything in src/.
|
|
62
|
+
*
|
|
63
|
+
* Use this for mock-only shims (e.g. a `mock/src/lib/mock-foo.ts`
|
|
64
|
+
* that exists only so the mock app builds; the corresponding prod
|
|
65
|
+
* code lives elsewhere).
|
|
66
|
+
*/
|
|
67
|
+
export declare function isMockOnlyFile(input: string): boolean;
|
|
68
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/commands/port/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAOD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,CAqDhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAajE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrD"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port-time source transforms — 0.16.0-α.8.
|
|
3
|
+
*
|
|
4
|
+
* `slowcook port` is the deterministic mock → src copy step. It walks
|
|
5
|
+
* mock/src/components/ + mock/src/app/, copies each file to the
|
|
6
|
+
* mirrored src/ path, and applies a small set of import + hook
|
|
7
|
+
* rewrites so the production component reads its data from the real
|
|
8
|
+
* Supabase layer instead of the mock-runtime scenarios.
|
|
9
|
+
*
|
|
10
|
+
* The transform is intentionally narrow:
|
|
11
|
+
*
|
|
12
|
+
* import { useScenarioFixture } from "@slowcook-ai/mock-runtime";
|
|
13
|
+
* ↓
|
|
14
|
+
* import { useDataDomain } from "@/lib/data";
|
|
15
|
+
*
|
|
16
|
+
* const x = useScenarioFixture<T>("pins");
|
|
17
|
+
* ↓
|
|
18
|
+
* const x = useDataDomain<T>("pins");
|
|
19
|
+
*
|
|
20
|
+
* The new `@/lib/data#useDataDomain` is brew's territory (α.9 writes
|
|
21
|
+
* the real implementation against Supabase). At port-time, all that
|
|
22
|
+
* exists in src/lib/data/ may be a stub `useDataDomain` — brew fills
|
|
23
|
+
* the body. That keeps tests red until brew's done.
|
|
24
|
+
*
|
|
25
|
+
* Pure functions over strings. No fs access. Same input → same output.
|
|
26
|
+
*/
|
|
27
|
+
const SCENARIO_FIXTURE_IMPORT_RE = /import\s+\{\s*useScenarioFixture\s*(?:,\s*([^}]*))?\}\s+from\s+["']@slowcook-ai\/mock-runtime["'];?\s*\n/g;
|
|
28
|
+
const SCENARIO_USE_RE = /\buseScenarioFixture\b/g;
|
|
29
|
+
/**
|
|
30
|
+
* Apply all port-time source transforms to a single file's contents.
|
|
31
|
+
* Returns the transformed body + the list of rewrites that fired.
|
|
32
|
+
*/
|
|
33
|
+
export function transformForPort(input, opts) {
|
|
34
|
+
let output = input;
|
|
35
|
+
const rewrites = [];
|
|
36
|
+
// 1) Rewrite mock-runtime imports → src/lib/data import.
|
|
37
|
+
if (SCENARIO_FIXTURE_IMPORT_RE.test(output)) {
|
|
38
|
+
SCENARIO_FIXTURE_IMPORT_RE.lastIndex = 0;
|
|
39
|
+
output = output.replace(SCENARIO_FIXTURE_IMPORT_RE, (_m, otherImports) => {
|
|
40
|
+
if (otherImports && otherImports.trim()) {
|
|
41
|
+
// Other named imports stayed too — preserve them as a separate
|
|
42
|
+
// mock-runtime import line. Conservative: rare in mock components
|
|
43
|
+
// (most use only useScenarioFixture).
|
|
44
|
+
return (`import { useDataDomain } from "@/lib/data";\n` +
|
|
45
|
+
`import { ${otherImports.trim()} } from "@slowcook-ai/mock-runtime";\n`);
|
|
46
|
+
}
|
|
47
|
+
return `import { useDataDomain } from "@/lib/data";\n`;
|
|
48
|
+
});
|
|
49
|
+
rewrites.push("rewrote @slowcook-ai/mock-runtime → @/lib/data import");
|
|
50
|
+
}
|
|
51
|
+
// 2) Rewrite useScenarioFixture call sites → useDataDomain.
|
|
52
|
+
if (SCENARIO_USE_RE.test(output)) {
|
|
53
|
+
SCENARIO_USE_RE.lastIndex = 0;
|
|
54
|
+
output = output.replace(SCENARIO_USE_RE, "useDataDomain");
|
|
55
|
+
rewrites.push("rewrote useScenarioFixture(...) → useDataDomain(...)");
|
|
56
|
+
}
|
|
57
|
+
// 3) Strip the `// @slowcook-mock-only` markers so the production
|
|
58
|
+
// file doesn't carry mock-only annotations (vibe sometimes adds
|
|
59
|
+
// these to flag temporary structures).
|
|
60
|
+
if (/^\s*\/\/\s*@slowcook-mock-only\b.*$/m.test(output)) {
|
|
61
|
+
output = output.replace(/^\s*\/\/\s*@slowcook-mock-only\b.*$\n?/gm, "");
|
|
62
|
+
rewrites.push("stripped // @slowcook-mock-only markers");
|
|
63
|
+
}
|
|
64
|
+
// 4) Insert a port-provenance header so future readers know which
|
|
65
|
+
// story shipped this file. Skipped when one already exists.
|
|
66
|
+
if (opts?.storyId && !/@slowcook-port-from\b/.test(output)) {
|
|
67
|
+
const header = `// @slowcook-port-from mock/ (story-${opts.storyId})\n` +
|
|
68
|
+
`// Copied by \`slowcook port\` from the mock app.\n` +
|
|
69
|
+
`// UI shape is the design contract; brew (--mode plate) writes the\n` +
|
|
70
|
+
`// data layer + handlers but does NOT touch this file.\n`;
|
|
71
|
+
output = output.replace(/^("use client";?\s*\n)?/, (m) => (m ?? "") + header);
|
|
72
|
+
rewrites.push(`prepended port-provenance header (story-${opts.storyId})`);
|
|
73
|
+
}
|
|
74
|
+
return { output, rewrites };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Translate a `mock/<rest>` path into the corresponding `src/<rest>`
|
|
78
|
+
* path. Used by the file walker.
|
|
79
|
+
*
|
|
80
|
+
* Examples:
|
|
81
|
+
* mock/src/components/rewo/RewoCard.tsx → src/components/rewo/RewoCard.tsx
|
|
82
|
+
* mock/src/app/(main)/u/[handle]/page.tsx → src/app/(main)/u/[handle]/page.tsx
|
|
83
|
+
* mock/src/lib/scenario-registry.ts → null (mock-only; never ports)
|
|
84
|
+
* mock/scenarios/story-017.ts → null (mock-only; never ports)
|
|
85
|
+
*
|
|
86
|
+
* Note: collisions with the consumer's hand-written src/ files (e.g.
|
|
87
|
+
* mock/src/app/layout.tsx vs the consumer's real src/app/layout.tsx)
|
|
88
|
+
* are NOT filtered here. The walker handles them at write-time by
|
|
89
|
+
* checking for the @slowcook-port-from marker on the destination —
|
|
90
|
+
* unmarked destinations are skipped, never overwritten. That keeps
|
|
91
|
+
* this mapping a pure path translation (no hardcoded shell list).
|
|
92
|
+
*/
|
|
93
|
+
export function mockPathToSrcPath(mockPath) {
|
|
94
|
+
if (!mockPath.startsWith("mock/"))
|
|
95
|
+
return null;
|
|
96
|
+
// Mock-only files: scenarios + scenario registry never port.
|
|
97
|
+
if (mockPath.startsWith("mock/scenarios/"))
|
|
98
|
+
return null;
|
|
99
|
+
if (mockPath === "mock/src/lib/scenario-registry.ts")
|
|
100
|
+
return null;
|
|
101
|
+
if (mockPath.startsWith("mock/src/lib/scenario-registry/"))
|
|
102
|
+
return null;
|
|
103
|
+
// mock/src/* → src/* ; mock/<other>/* → don't port (only src/ maps cleanly).
|
|
104
|
+
if (mockPath.startsWith("mock/src/")) {
|
|
105
|
+
return "src/" + mockPath.slice("mock/src/".length);
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* File-level skip marker. A mock file that contains
|
|
111
|
+
* `@slowcook-port-skip` in its first 20 lines is treated as
|
|
112
|
+
* mock-only — port walks past it without writing anything in src/.
|
|
113
|
+
*
|
|
114
|
+
* Use this for mock-only shims (e.g. a `mock/src/lib/mock-foo.ts`
|
|
115
|
+
* that exists only so the mock app builds; the corresponding prod
|
|
116
|
+
* code lives elsewhere).
|
|
117
|
+
*/
|
|
118
|
+
export function isMockOnlyFile(input) {
|
|
119
|
+
const head = input.split("\n", 20).join("\n");
|
|
120
|
+
return /@slowcook-port-skip\b/.test(head);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/port/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,MAAM,0BAA0B,GAC9B,2GAA2G,CAAC;AAE9G,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAA2B;IACzE,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,yDAAyD;IACzD,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,0BAA0B,CAAC,SAAS,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,0BAA0B,EAC1B,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE;YACnB,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxC,+DAA+D;gBAC/D,kEAAkE;gBAClE,sCAAsC;gBACtC,OAAO,CACL,+CAA+C;oBAC/C,YAAY,YAAY,CAAC,IAAI,EAAE,wCAAwC,CACxE,CAAC;YACJ,CAAC;YACD,OAAO,+CAA+C,CAAC;QACzD,CAAC,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACzE,CAAC;IAED,4DAA4D;IAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACxE,CAAC;IAED,kEAAkE;IAClE,gEAAgE;IAChE,uCAAuC;IACvC,IAAI,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC3D,CAAC;IAED,kEAAkE;IAClE,4DAA4D;IAC5D,IAAI,IAAI,EAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,MAAM,GACV,uCAAuC,IAAI,CAAC,OAAO,KAAK;YACxD,qDAAqD;YACrD,sEAAsE;YACtE,0DAA0D,CAAC;QAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,6DAA6D;IAC7D,IAAI,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,QAAQ,KAAK,mCAAmC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,QAAQ,CAAC,UAAU,CAAC,iCAAiC,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,6EAA6E;IAC7E,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `.brewing/preview.yaml` schema + parser — 0.16.0-α.5.
|
|
3
|
+
*
|
|
4
|
+
* Lightweight config that tells `slowcook preview deploy/teardown` how
|
|
5
|
+
* to ssh into the consumer's box, where to put files, what port range
|
|
6
|
+
* to allocate from, and what URL pattern the box's reverse proxy serves.
|
|
7
|
+
*
|
|
8
|
+
* Slowcook is stateless re: hosting. Each consumer provides their own
|
|
9
|
+
* SSH-reachable box (Docker engine + reverse proxy with wildcard cert);
|
|
10
|
+
* this config tells slowcook how to reach it.
|
|
11
|
+
*
|
|
12
|
+
* Hand-parsed (no yaml dep) because the schema is small + flat. If we
|
|
13
|
+
* ever need anchors / multi-doc / etc, switch to the workspace's `yaml`
|
|
14
|
+
* package — it's already a transitive dep via cli/dependencies.
|
|
15
|
+
*/
|
|
16
|
+
export interface PreviewConfig {
|
|
17
|
+
type: "ssh";
|
|
18
|
+
host: string;
|
|
19
|
+
user: string;
|
|
20
|
+
/** GitHub Actions secret NAME holding the SSH private key. */
|
|
21
|
+
keySecret: string;
|
|
22
|
+
port: number;
|
|
23
|
+
/** Inclusive range to allocate Docker host ports from (e.g. [4000, 4099]). */
|
|
24
|
+
portRange: [number, number];
|
|
25
|
+
/** URL template; `{port}` is substituted. e.g. https://mock-{port}.preview.example.com */
|
|
26
|
+
urlTemplate: string;
|
|
27
|
+
/** Absolute path on the box where slowcook stages PR builds. */
|
|
28
|
+
remoteRoot: string;
|
|
29
|
+
/** Path within the consumer's repo to the mock app. Default: "mock". */
|
|
30
|
+
mockDir: string;
|
|
31
|
+
}
|
|
32
|
+
export declare class PreviewConfigError extends Error {
|
|
33
|
+
constructor(message: string);
|
|
34
|
+
}
|
|
35
|
+
export declare const PREVIEW_CONFIG_PATH = ".brewing/preview.yaml";
|
|
36
|
+
/**
|
|
37
|
+
* Parse `.brewing/preview.yaml`. Returns the typed config or throws
|
|
38
|
+
* `PreviewConfigError` with a precise message identifying the missing
|
|
39
|
+
* or malformed field.
|
|
40
|
+
*
|
|
41
|
+
* Accepts either:
|
|
42
|
+
*
|
|
43
|
+
* preview:
|
|
44
|
+
* type: ssh
|
|
45
|
+
* host: ...
|
|
46
|
+
* ...
|
|
47
|
+
*
|
|
48
|
+
* or top-level keys (the `preview:` wrapper is optional but
|
|
49
|
+
* recommended; consumers will likely add a `box:` or other top-level
|
|
50
|
+
* sections later).
|
|
51
|
+
*/
|
|
52
|
+
export declare function parsePreviewConfig(yamlText: string): PreviewConfig;
|
|
53
|
+
export declare function readPreviewConfig(repoRoot: string): PreviewConfig;
|
|
54
|
+
/**
|
|
55
|
+
* Build the preview URL for a given allocated port.
|
|
56
|
+
*/
|
|
57
|
+
export declare function urlForPort(cfg: PreviewConfig, port: number): string;
|
|
58
|
+
/**
|
|
59
|
+
* Container name for a given PR. Single source of truth so deploy +
|
|
60
|
+
* teardown agree on the name.
|
|
61
|
+
*/
|
|
62
|
+
export declare function containerNameForPr(pr: number): string;
|
|
63
|
+
/**
|
|
64
|
+
* Image tag for a given PR. We rebuild per-PR (each PR has its own
|
|
65
|
+
* scenario set), so tags don't collide.
|
|
66
|
+
*/
|
|
67
|
+
export declare function imageTagForPr(pr: number): string;
|
|
68
|
+
/**
|
|
69
|
+
* Remote staging directory for a given PR. Build artifacts + the tar
|
|
70
|
+
* extract live here.
|
|
71
|
+
*/
|
|
72
|
+
export declare function remoteDirForPr(cfg: PreviewConfig, pr: number): string;
|
|
73
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/preview/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAwHlE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAUjE;AAgBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAErE"}
|