@jango-blockchained/hoox-cli 0.5.2 → 0.5.6
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/bin/hoox.js +3 -4
- package/dist/index.js +32545 -0
- package/package.json +10 -15
- package/src/commands/check/check-command.test.ts +0 -476
- package/src/commands/check/check-command.ts +0 -1087
- package/src/commands/check/index.ts +0 -10
- package/src/commands/check/prerequisites-command.test.ts +0 -19
- package/src/commands/check/prerequisites-command.ts +0 -97
- package/src/commands/check/types.ts +0 -103
- package/src/commands/clone/clone-command.test.ts +0 -440
- package/src/commands/clone/clone-command.ts +0 -431
- package/src/commands/clone/index.ts +0 -1
- package/src/commands/config/config-command.test.ts +0 -583
- package/src/commands/config/config-command.ts +0 -896
- package/src/commands/config/env-command.test.ts +0 -43
- package/src/commands/config/env-command.ts +0 -292
- package/src/commands/config/index.ts +0 -3
- package/src/commands/config/kv-command.test.ts +0 -14
- package/src/commands/config/kv-command.ts +0 -290
- package/src/commands/dashboard/dashboard-command.test.ts +0 -47
- package/src/commands/dashboard/dashboard-command.ts +0 -130
- package/src/commands/dashboard/index.ts +0 -1
- package/src/commands/db/db-command.test.ts +0 -21
- package/src/commands/db/db-command.ts +0 -311
- package/src/commands/db/index.ts +0 -1
- package/src/commands/deploy/deploy-command.test.ts +0 -324
- package/src/commands/deploy/deploy-command.ts +0 -1054
- package/src/commands/deploy/index.ts +0 -2
- package/src/commands/deploy/telegram-service.ts +0 -76
- package/src/commands/deploy/types.ts +0 -34
- package/src/commands/dev/dev-command.test.ts +0 -405
- package/src/commands/dev/dev-command.ts +0 -398
- package/src/commands/dev/index.ts +0 -1
- package/src/commands/disclaimer/disclaimer-command.ts +0 -21
- package/src/commands/disclaimer/index.ts +0 -1
- package/src/commands/infra/index.ts +0 -5
- package/src/commands/infra/infra-command.test.ts +0 -719
- package/src/commands/infra/infra-command.ts +0 -974
- package/src/commands/infra/types.ts +0 -23
- package/src/commands/init/__tests__/cli-provisioner.test.ts +0 -17
- package/src/commands/init/cli-provisioner.ts +0 -71
- package/src/commands/init/index.ts +0 -1
- package/src/commands/init/init-command.test.ts +0 -854
- package/src/commands/init/init-command.ts +0 -597
- package/src/commands/init/types.ts +0 -23
- package/src/commands/logs/index.ts +0 -1
- package/src/commands/logs/logs-command.test.ts +0 -293
- package/src/commands/logs/logs-command.ts +0 -452
- package/src/commands/monitor/index.ts +0 -2
- package/src/commands/monitor/monitor-command.test.ts +0 -271
- package/src/commands/monitor/monitor-command.ts +0 -269
- package/src/commands/monitor/monitor-service.ts +0 -65
- package/src/commands/monitor/types.ts +0 -13
- package/src/commands/repair/index.ts +0 -2
- package/src/commands/repair/repair-command.test.ts +0 -243
- package/src/commands/repair/repair-command.ts +0 -220
- package/src/commands/repair/repair-service.ts +0 -164
- package/src/commands/repair/types.ts +0 -13
- package/src/commands/schema/index.ts +0 -1
- package/src/commands/schema/schema-command.ts +0 -137
- package/src/commands/test/index.ts +0 -2
- package/src/commands/test/test-command.test.ts +0 -318
- package/src/commands/test/test-command.ts +0 -406
- package/src/commands/tui/index.ts +0 -1
- package/src/commands/tui/tui-command.ts +0 -87
- package/src/commands/update/index.ts +0 -1
- package/src/commands/update/update-command.ts +0 -109
- package/src/commands/waf/index.ts +0 -2
- package/src/commands/waf/types.ts +0 -48
- package/src/commands/waf/waf-command.test.ts +0 -506
- package/src/commands/waf/waf-command.ts +0 -545
- package/src/index.ts +0 -261
- package/src/services/cloudflare/cloudflare-service.test.ts +0 -658
- package/src/services/cloudflare/cloudflare-service.ts +0 -433
- package/src/services/cloudflare/index.ts +0 -2
- package/src/services/cloudflare/types.ts +0 -30
- package/src/services/config/config-service.test.ts +0 -395
- package/src/services/config/config-service.ts +0 -202
- package/src/services/config/index.ts +0 -9
- package/src/services/config/types.ts +0 -66
- package/src/services/db/db-service.test.ts +0 -63
- package/src/services/db/db-service.ts +0 -131
- package/src/services/db/index.ts +0 -1
- package/src/services/docker/docker-service.ts +0 -155
- package/src/services/docker/index.ts +0 -1
- package/src/services/env/env-service.test.ts +0 -259
- package/src/services/env/env-service.ts +0 -372
- package/src/services/env/index.ts +0 -1
- package/src/services/kv/index.ts +0 -1
- package/src/services/kv/kv-sync-service.test.ts +0 -38
- package/src/services/kv/kv-sync-service.ts +0 -243
- package/src/services/prerequisites/index.ts +0 -1
- package/src/services/prerequisites/prerequisites-service.test.ts +0 -89
- package/src/services/prerequisites/prerequisites-service.ts +0 -377
- package/src/services/prerequisites/types.ts +0 -48
- package/src/services/schema/index.ts +0 -1
- package/src/services/schema/schema-service.ts +0 -99
- package/src/services/secrets/index.ts +0 -11
- package/src/services/secrets/secrets-service.test.ts +0 -502
- package/src/services/secrets/secrets-service.ts +0 -287
- package/src/services/secrets/types.ts +0 -50
- package/src/services/update/index.ts +0 -2
- package/src/services/update/update-service.test.ts +0 -76
- package/src/services/update/update-service.ts +0 -193
- package/src/ui/banner.ts +0 -141
- package/src/ui/index.ts +0 -8
- package/src/ui/menu.ts +0 -490
- package/src/utils/error-handler.ts +0 -62
- package/src/utils/errors.test.ts +0 -69
- package/src/utils/errors.ts +0 -24
- package/src/utils/formatters.test.ts +0 -180
- package/src/utils/formatters.ts +0 -269
- package/src/utils/git.ts +0 -134
- package/src/utils/theme.ts +0 -92
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types for the `hoox infra` command group.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/** Global CLI options available to infra subcommands. */
|
|
6
|
-
export interface InfraOptions {
|
|
7
|
-
json?: boolean;
|
|
8
|
-
quiet?: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/** A single infrastructure resource provisioned (or attempted). */
|
|
12
|
-
export interface ProvisionItem {
|
|
13
|
-
name: string;
|
|
14
|
-
type: "d1" | "kv" | "r2" | "queue";
|
|
15
|
-
status: "created" | "exists" | "error";
|
|
16
|
-
error?: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/** Result of the `provision` subcommand. */
|
|
20
|
-
export interface ProvisionResult {
|
|
21
|
-
items: ProvisionItem[];
|
|
22
|
-
summary: { total: number; created: number; errors: number; exists: number };
|
|
23
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "bun:test";
|
|
2
|
-
import { CLIProvisioner } from "../cli-provisioner";
|
|
3
|
-
|
|
4
|
-
describe("CLIProvisioner", () => {
|
|
5
|
-
it("check returns expected resources", async () => {
|
|
6
|
-
const provisioner = new CLIProvisioner();
|
|
7
|
-
const result = await provisioner.check({
|
|
8
|
-
d1Databases: ["hoox-db"],
|
|
9
|
-
kvNamespaces: ["CONFIG_KV"],
|
|
10
|
-
r2Buckets: [],
|
|
11
|
-
queues: [],
|
|
12
|
-
});
|
|
13
|
-
expect(result.success).toBe(true);
|
|
14
|
-
expect(result.created).toContain("D1:hoox-db");
|
|
15
|
-
expect(result.created).toContain("KV:CONFIG_KV");
|
|
16
|
-
});
|
|
17
|
-
});
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI implementation of the Provisioner interface.
|
|
3
|
-
* Uses `wrangler` CLI via Bun.spawn to create Cloudflare resources.
|
|
4
|
-
*/
|
|
5
|
-
import type {
|
|
6
|
-
Provisioner,
|
|
7
|
-
ProvisioningPlan,
|
|
8
|
-
ProvisionResult,
|
|
9
|
-
} from "@jango-blockchained/hoox-shared";
|
|
10
|
-
|
|
11
|
-
export class CLIProvisioner implements Provisioner {
|
|
12
|
-
async provision(plan: ProvisioningPlan): Promise<ProvisionResult> {
|
|
13
|
-
const created: string[] = [];
|
|
14
|
-
const errors: string[] = [];
|
|
15
|
-
|
|
16
|
-
for (const db of plan.d1Databases) {
|
|
17
|
-
try {
|
|
18
|
-
const proc = Bun.spawn(["wrangler", "d1", "create", db], {
|
|
19
|
-
stdout: "pipe",
|
|
20
|
-
stderr: "pipe",
|
|
21
|
-
});
|
|
22
|
-
await new Response(proc.stdout).text();
|
|
23
|
-
const exitCode = await proc.exited;
|
|
24
|
-
if (exitCode === 0) {
|
|
25
|
-
created.push(`D1:${db}`);
|
|
26
|
-
} else {
|
|
27
|
-
const err = await new Response(proc.stderr).text();
|
|
28
|
-
errors.push(`D1:${db} — ${err.trim() || `exit code ${exitCode}`}`);
|
|
29
|
-
}
|
|
30
|
-
} catch (e) {
|
|
31
|
-
errors.push(`D1:${db} — ${(e as Error).message}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
for (const ns of plan.kvNamespaces) {
|
|
36
|
-
try {
|
|
37
|
-
const proc = Bun.spawn(["wrangler", "kv", "namespace", "create", ns], {
|
|
38
|
-
stdout: "pipe",
|
|
39
|
-
stderr: "pipe",
|
|
40
|
-
});
|
|
41
|
-
await new Response(proc.stdout).text();
|
|
42
|
-
const exitCode = await proc.exited;
|
|
43
|
-
if (exitCode === 0) {
|
|
44
|
-
created.push(`KV:${ns}`);
|
|
45
|
-
} else {
|
|
46
|
-
const err = await new Response(proc.stderr).text();
|
|
47
|
-
errors.push(`KV:${ns} — ${err.trim() || `exit code ${exitCode}`}`);
|
|
48
|
-
}
|
|
49
|
-
} catch (e) {
|
|
50
|
-
errors.push(`KV:${ns} — ${(e as Error).message}`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return {
|
|
55
|
-
success: errors.length === 0,
|
|
56
|
-
created,
|
|
57
|
-
errors,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async check(plan: ProvisioningPlan): Promise<ProvisionResult> {
|
|
62
|
-
// Dry-run: just report what would be created
|
|
63
|
-
const created: string[] = [
|
|
64
|
-
...plan.d1Databases.map((d) => `D1:${d}`),
|
|
65
|
-
...plan.kvNamespaces.map((k) => `KV:${k}`),
|
|
66
|
-
...plan.r2Buckets.map((b) => `R2:${b}`),
|
|
67
|
-
...plan.queues.map((q) => `Queue:${q}`),
|
|
68
|
-
];
|
|
69
|
-
return { success: true, created, errors: [] };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { registerInitCommand } from "./init-command.js";
|