@sleepy-hollow/framework 0.3.0 → 0.3.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/CHANGELOG.md +15 -0
- package/README.md +6 -6
- package/dist/cli.d.ts +1 -103
- package/dist/cli.js +400 -532
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Sleepy Hollow are documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.3.1 - 2026-08-20
|
|
6
|
+
|
|
7
|
+
### Changed: local Fly deployment preparation
|
|
8
|
+
|
|
9
|
+
`hollow deploy` no longer attempts to authenticate with Fly, upload an image,
|
|
10
|
+
or run live health and smoke checks. Use `hollow deploy prepare` to create or
|
|
11
|
+
validate a managed `Dockerfile`, `.dockerignore`, and `fly.toml` locally, then
|
|
12
|
+
review them and run Fly's own commands yourself.
|
|
13
|
+
|
|
14
|
+
The SQLite profile prepares one `data` volume mounted at `/data`; the PostgreSQL
|
|
15
|
+
profile names `DATABASE_URL` as an operator-provided secret without writing its
|
|
16
|
+
value. This keeps Fly-specific scaling, Machines, regions, release behavior,
|
|
17
|
+
and account actions in Fly's tools while preserving a portable container and
|
|
18
|
+
database boundary for future hosts.
|
|
19
|
+
|
|
5
20
|
## 0.3.0 - 2026-08-19
|
|
6
21
|
|
|
7
22
|
### Breaking: Node and Bun platform migration
|
package/README.md
CHANGED
|
@@ -65,14 +65,14 @@ explicit file path in production; the Todo example demonstrates that profile.
|
|
|
65
65
|
For multi-instance or externally managed storage, configure the optional
|
|
66
66
|
PostgreSQL profile through `DATABASE_URL`.
|
|
67
67
|
|
|
68
|
-
`hollow deploy`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
`hollow deploy prepare` creates local, reviewable deployment artifacts for
|
|
69
|
+
Fly.io; it never reads a Fly token, calls Fly, or deploys. The generated
|
|
70
|
+
Dockerfile keeps the application boundary portable, so future preparation
|
|
71
|
+
targets can support other hosts without changing route or database code.
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
hollow deploy prepare --target fly:my-api --database sqlite --region iad
|
|
75
|
+
# Review Dockerfile, .dockerignore, and fly.toml, then run the printed Fly commands.
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
## Documentation
|
package/dist/cli.d.ts
CHANGED
|
@@ -44,7 +44,6 @@ interface GenerationResult {
|
|
|
44
44
|
readonly wrote: boolean;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
type CheckPhase = "governance" | "runner" | "traceability" | "routes" | "schemas" | "security" | "data" | "configuration" | "generated" | "changes" | "eligibility";
|
|
48
47
|
type RequestedCheckScope = {
|
|
49
48
|
readonly kind: "full";
|
|
50
49
|
} | {
|
|
@@ -55,30 +54,6 @@ type RequestedCheckScope = {
|
|
|
55
54
|
readonly method: string;
|
|
56
55
|
readonly path: string;
|
|
57
56
|
};
|
|
58
|
-
interface CheckLocation {
|
|
59
|
-
readonly path?: string;
|
|
60
|
-
readonly route?: string;
|
|
61
|
-
readonly requirementId?: string;
|
|
62
|
-
readonly criterionId?: string;
|
|
63
|
-
readonly field?: string;
|
|
64
|
-
readonly operation?: string;
|
|
65
|
-
readonly configKey?: string;
|
|
66
|
-
}
|
|
67
|
-
interface CheckDiagnostic {
|
|
68
|
-
readonly code: string;
|
|
69
|
-
readonly severity: "error" | "warning";
|
|
70
|
-
readonly phase: CheckPhase;
|
|
71
|
-
readonly summary: string;
|
|
72
|
-
readonly location: CheckLocation;
|
|
73
|
-
readonly evidence: Readonly<Record<string, unknown>>;
|
|
74
|
-
readonly correction: string;
|
|
75
|
-
}
|
|
76
|
-
interface VerificationCheck {
|
|
77
|
-
readonly id: string;
|
|
78
|
-
readonly phase: CheckPhase;
|
|
79
|
-
readonly status: "passed" | "failed" | "skipped";
|
|
80
|
-
readonly evidence: readonly string[];
|
|
81
|
-
}
|
|
82
57
|
interface CheckRequirement extends RequirementEvidence {
|
|
83
58
|
readonly path: string;
|
|
84
59
|
readonly routePath?: string;
|
|
@@ -171,78 +146,6 @@ interface VerificationInventory {
|
|
|
171
146
|
readonly hasUnownedSharedChange?: boolean;
|
|
172
147
|
readonly sourceClaims?: Readonly<Record<string, unknown>>;
|
|
173
148
|
}
|
|
174
|
-
interface CheckResult {
|
|
175
|
-
readonly schema: "sleepy-hollow-check-result/v1";
|
|
176
|
-
readonly ok: boolean;
|
|
177
|
-
readonly command: "check";
|
|
178
|
-
readonly projectRoot: string;
|
|
179
|
-
readonly requestedScope: RequestedCheckScope;
|
|
180
|
-
readonly effectiveScope: "full" | "targeted";
|
|
181
|
-
readonly selectedRequirements: readonly string[];
|
|
182
|
-
readonly selectedTests: readonly string[];
|
|
183
|
-
readonly checks: readonly VerificationCheck[];
|
|
184
|
-
readonly diagnostics: readonly CheckDiagnostic[];
|
|
185
|
-
readonly summary: {
|
|
186
|
-
readonly passed: number;
|
|
187
|
-
readonly failed: number;
|
|
188
|
-
readonly skipped: number;
|
|
189
|
-
readonly errors: number;
|
|
190
|
-
readonly warnings: number;
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
declare const DEPLOY_TARGET_KINDS: readonly ["fly"];
|
|
195
|
-
type DeployTargetKind = (typeof DEPLOY_TARGET_KINDS)[number];
|
|
196
|
-
interface DeployTarget {
|
|
197
|
-
readonly kind: DeployTargetKind;
|
|
198
|
-
readonly project: string;
|
|
199
|
-
}
|
|
200
|
-
interface SmokeTestDefinition {
|
|
201
|
-
readonly id: string;
|
|
202
|
-
readonly description: string;
|
|
203
|
-
readonly method: string;
|
|
204
|
-
readonly path: string;
|
|
205
|
-
readonly expectedStatus: number;
|
|
206
|
-
readonly required: boolean;
|
|
207
|
-
}
|
|
208
|
-
interface SmokeTestOutcome {
|
|
209
|
-
readonly id: string;
|
|
210
|
-
readonly status: "passed" | "failed";
|
|
211
|
-
readonly observedStatus?: number;
|
|
212
|
-
readonly evidence: string;
|
|
213
|
-
}
|
|
214
|
-
interface DeployInventory {
|
|
215
|
-
readonly projectRootDisplay: string;
|
|
216
|
-
readonly target: DeployTarget;
|
|
217
|
-
readonly revision: string;
|
|
218
|
-
readonly deployedRevision?: string;
|
|
219
|
-
readonly verification: CheckResult;
|
|
220
|
-
readonly environmentKeys: readonly string[];
|
|
221
|
-
readonly deployedEnvironmentKeys: readonly string[];
|
|
222
|
-
readonly contractChanges: readonly ContractChange[];
|
|
223
|
-
readonly openApiPath: string;
|
|
224
|
-
readonly documentationPath: string;
|
|
225
|
-
readonly smokeTests: readonly SmokeTestDefinition[];
|
|
226
|
-
readonly firstExternalDeployment: boolean;
|
|
227
|
-
}
|
|
228
|
-
interface DeployUpload {
|
|
229
|
-
readonly url: string;
|
|
230
|
-
readonly revision: string;
|
|
231
|
-
}
|
|
232
|
-
interface DeployAdapter {
|
|
233
|
-
upload(options: {
|
|
234
|
-
readonly target: DeployTarget;
|
|
235
|
-
readonly revision: string;
|
|
236
|
-
readonly token: string;
|
|
237
|
-
}): DeployUpload | Promise<DeployUpload>;
|
|
238
|
-
health(options: {
|
|
239
|
-
readonly url: string;
|
|
240
|
-
}): SmokeTestOutcome | Promise<SmokeTestOutcome>;
|
|
241
|
-
smoke(options: {
|
|
242
|
-
readonly url: string;
|
|
243
|
-
readonly test: SmokeTestDefinition;
|
|
244
|
-
}): SmokeTestOutcome | Promise<SmokeTestOutcome>;
|
|
245
|
-
}
|
|
246
149
|
|
|
247
150
|
type RequestedTestScope = {
|
|
248
151
|
readonly kind: "full";
|
|
@@ -384,11 +287,6 @@ interface CliDependencies {
|
|
|
384
287
|
readonly scope: VerificationInventory["requestedScope"];
|
|
385
288
|
}) => VerificationInventory | Promise<VerificationInventory>;
|
|
386
289
|
readonly testInventoryLoader?: TestInventoryLoader;
|
|
387
|
-
readonly deployInventoryLoader?: (options: {
|
|
388
|
-
readonly projectRoot: string;
|
|
389
|
-
}) => DeployInventory | Promise<DeployInventory>;
|
|
390
|
-
readonly deployAdapter?: DeployAdapter;
|
|
391
|
-
readonly deployToken?: () => string;
|
|
392
290
|
readonly testRunner?: TestRunner;
|
|
393
291
|
readonly commands?: Partial<Record<CliCommandName, CliCommandHandler>>;
|
|
394
292
|
}
|
|
@@ -409,7 +307,7 @@ interface CliDependencies {
|
|
|
409
307
|
*/
|
|
410
308
|
|
|
411
309
|
/** Version of the CLI, reported by `hollow --version`. */
|
|
412
|
-
declare const VERSION = "0.3.
|
|
310
|
+
declare const VERSION = "0.3.1";
|
|
413
311
|
/**
|
|
414
312
|
* Runs one CLI invocation against caller-supplied I/O.
|
|
415
313
|
*
|