@voltro/cli 0.53.0 → 0.55.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/CHANGELOG.md +335 -0
- package/dist/{agentsMd-0l980yhL.js → agentsMd-BaLC10Na.js} +110 -82
- package/dist/agentsMd-DCY1RSs8.js +2 -0
- package/dist/{apiBuild-CaPfoWku.js → apiBuild-CMvLJM_K.js} +2 -2
- package/dist/apiBuild-Cl0IDx8c.js +2 -0
- package/dist/bin.js +1 -1
- package/dist/{build-D-OnvNMf.js → build-S0QOzqPT.js} +115 -115
- package/dist/{checkCommand-D2ZduVlh.js → checkCommand-DNkY5kwF.js} +1 -1
- package/dist/{checkCommand-C5elt0tW.js → checkCommand-fbj9GDjN.js} +6 -6
- package/dist/{cloudCmd-QUXh-b5w.js → cloudCmd-DzKcSYuy.js} +1 -1
- package/dist/codegen-CN6vMM4J.js +2 -0
- package/dist/{codegen-FEk8AZHb.js → codegen-SIepQtUl.js} +76 -65
- package/dist/codegenCommand-3TDJezom.js +42 -0
- package/dist/{codemodRunner-BjtB2lq6.js → codemodRunner-C2zxZUIw.js} +64 -9
- package/dist/{commands-DyxAmhP0.js → commands-BBYJ7Q3B.js} +96 -73
- package/dist/{dashboardCommand-BdKTyT13.js → dashboardCommand-D2kmyCLL.js} +3 -3
- package/dist/{dataCommand-Bab9X7s8.js → dataCommand-BEPPQiTl.js} +267 -195
- package/dist/dbCommand-BTyBGhIA.js +2 -0
- package/dist/{dbCommand-06O2finM.js → dbCommand-DZTmOFT4.js} +3 -3
- package/dist/{dev-C6LGF4iY.js → dev-Ca_A_S9v.js} +2439 -2397
- package/dist/{dev-GjJWAYo2.js → dev-DfVZaoys.js} +1 -1
- package/dist/{doctorCommand-etMkflRc.js → doctorCommand-CGZJK_4o.js} +21 -21
- package/dist/doctorCommand-djmqEcDC.js +2 -0
- package/dist/{dormancyCommand-UwZ1AZzB.js → dormancyCommand-DY2rYpTa.js} +1 -1
- package/dist/{embeddingsCommand-C70zWHwo.js → embeddingsCommand-BoCqZsgp.js} +1 -1
- package/dist/{envCommand-dSyKvRkM.js → envCommand-Bxy2fOjc.js} +15 -15
- package/dist/{evolveCommand-CG0_ebO5.js → evolveCommand-BsbZ-XDg.js} +2 -2
- package/dist/fileConventions-l-RIXbx8.js +36 -0
- package/dist/{fileTaxonomy-B7uxipWS.js → fileTaxonomy-CbyMQYx_.js} +37 -37
- package/dist/frameworkTableAssembly-Df2Ymp2f.js +2 -0
- package/dist/{frameworkTableAssembly-DKx3ba3S.js → frameworkTableAssembly-Do-cf6RJ.js} +96 -102
- package/dist/index.js +2 -2
- package/dist/{infoCommand-_53iOc_j.js → infoCommand-EmM3jPKD.js} +1 -1
- package/dist/{inspect-Bd8-9wsi.js → inspect-DCqILJ1G.js} +4 -0
- package/dist/inspect-DGJwpOAb.js +2 -0
- package/dist/interruptedReplace-CwnkBb2X.js +41 -0
- package/dist/interruptedReplace-qzmFI020.js +2 -0
- package/dist/manifestBuild-CJ2zvPvT.js +2 -0
- package/dist/{manifestBuild-Cqgsx2bM.js → manifestBuild-DjX5MoXy.js} +1 -1
- package/dist/{metaCommands-Cn2oboG4.js → metaCommands-x7RCi2AF.js} +2 -2
- package/dist/{migrate-Cko9rswM.js → migrate-CGFZS-1a.js} +2 -2
- package/dist/mobileCommand-D9O6iq3D.js +428 -0
- package/dist/mobileCommand-DAum7tsG.js +2 -0
- package/dist/{pageConvention-C938S8oC.js → pageConvention-CMpfDN6r.js} +1 -1
- package/dist/{privacyCommand-DWTQMC6R.js → privacyCommand-BCa2OoZG.js} +2 -2
- package/dist/{probeCommand-DkGGLknv.js → probeCommand-Bs3iVBSL.js} +1 -1
- package/dist/{projectScaffold-EzlErR4E.js → projectScaffold-CJfP-xbT.js} +1 -1
- package/dist/{projectScaffold-B4dmTlwT.js → projectScaffold-CSN0OzBV.js} +2 -2
- package/dist/renderModeScan-43yQ2opo.js +147 -0
- package/dist/{renderProfile-CskIgAfn.js → renderProfile-DvrhVJHa.js} +2 -2
- package/dist/{runtimeTrace-c0APJz7E.js → runtimeTrace-C1BTpHGQ.js} +1 -1
- package/dist/{sdkgen-BiQCgIEr.js → sdkgen-CXMwLg9n.js} +1 -1
- package/dist/{serveCommand-CueKQgzl.js → serveCommand-C7IrCD58.js} +899 -897
- package/dist/serveCommand-Cjt5S9hD.js +2 -0
- package/dist/serveEntry.js +1 -1
- package/dist/start-DH7cat4-.js +3 -0
- package/dist/{start-ekPan8BT.js → start-EOV7s1NZ.js} +544 -527
- package/dist/startEntry.js +1 -1
- package/dist/{staticCommand-xlSL-IWk.js → staticCommand-ey0kYmOT.js} +1 -1
- package/dist/{subcommandNames-DpYs3DXr.js → subcommandNames-CDzfEtKV.js} +3 -3
- package/dist/{templates-BR-fb4SP.js → templates-BTWZkJJT.js} +41 -9
- package/dist/{test-BWPQcRoB.js → test-DO27-x2P.js} +1 -1
- package/dist/{updateCommand-C_8I8Rzo.js → updateCommand-C_jN1w18.js} +1 -1
- package/dist/updateCommand-nnFjDbl4.js +2 -0
- package/dist/{webDev-C7jWJ5dX.js → webDev-1XpVnYkW.js} +1 -1
- package/dist/{webDev-oczpugbx.js → webDev-B7vNj4Bq.js} +1231 -1186
- package/dist/{webhooksCommand-4SVPDjKg.js → webhooksCommand-B1LVcyO3.js} +1 -1
- package/dist/workspaceDeps-RKEkX92S.js +45 -0
- package/package.json +31 -19
- package/templates/AGENTS.core.md +2 -0
- package/templates/AGENTS.md +4 -2
- package/templates/agent-docs/_index.md +2 -2
- package/templates/agent-docs/_manifest.json +1 -1
- package/templates/agent-docs/ai.md +4 -4
- package/templates/agent-docs/authentication.md +115 -0
- package/templates/agent-docs/cli.md +98 -12
- package/templates/agent-docs/data.md +121 -21
- package/templates/agent-docs/database/advancedqueries.md +1 -1
- package/templates/agent-docs/database/migrations.md +1 -1
- package/templates/agent-docs/database/seedsdialects.md +64 -2
- package/templates/agent-docs/internationalization.md +2 -0
- package/templates/agent-docs/introduction.md +25 -0
- package/templates/agent-docs/local-first-mobile.md +139 -41
- package/templates/agent-docs/observability.md +4 -2
- package/templates/agent-docs/plugins/atlassian.md +2 -2
- package/templates/agent-docs/plugins/audit.md +2 -2
- package/templates/agent-docs/plugins/billing.md +1 -1
- package/templates/agent-docs/plugins/cdc-out.md +8 -3
- package/templates/agent-docs/plugins/comments.md +22 -0
- package/templates/agent-docs/plugins/presence.md +32 -3
- package/templates/agent-docs/plugins/prometheus.md +2 -0
- package/templates/agent-docs/plugins/queue.md +47 -4
- package/templates/agent-docs/plugins.md +52 -14
- package/templates/agent-docs/reference.md +25 -4
- package/templates/agent-docs/routing.md +81 -9
- package/templates/agent-docs/scheduling.md +1 -1
- package/templates/agent-docs/schema-driven-ui.md +137 -1
- package/templates/agent-docs/templates/appshells.md +36 -4
- package/templates/agent-docs/whats-new.md +75 -158
- package/templates/apps/api-ai/package.json +6 -6
- package/templates/apps/api-auth/package.json +8 -8
- package/templates/apps/api-backend/package.json +7 -7
- package/templates/apps/api-backend-deactivation/package.json +7 -7
- package/templates/apps/api-backend-mail/package.json +8 -8
- package/templates/apps/api-backend-mariadb/package.json +9 -9
- package/templates/apps/api-backend-sqlite/package.json +8 -8
- package/templates/apps/api-backend-storage/package.json +8 -8
- package/templates/apps/api-cms/package.json +9 -9
- package/templates/apps/api-collab/README.md +3 -3
- package/templates/apps/api-collab/app.config.ts +1 -1
- package/templates/apps/api-collab/database/schema.ts +12 -8
- package/templates/apps/api-collab/mutations/documents.create.mutation.server.ts +1 -1
- package/templates/apps/api-collab/mutations/documents.setBody.mutation.server.ts +1 -1
- package/templates/apps/api-collab/mutations/documents.setBody.mutation.ts +1 -1
- package/templates/apps/api-collab/package.json +8 -8
- package/templates/apps/api-collab/template.json +1 -1
- package/templates/apps/api-collab/tests/documents.setBody.test.ts +10 -2
- package/templates/apps/api-data-advanced/package.json +8 -8
- package/templates/apps/api-durable/package.json +8 -8
- package/templates/apps/api-feature-flags/package.json +9 -9
- package/templates/apps/api-governance/package.json +8 -8
- package/templates/apps/api-kv/package.json +8 -8
- package/templates/apps/api-moderation/package.json +8 -8
- package/templates/apps/api-observability/package.json +8 -8
- package/templates/apps/api-ratelimit/package.json +8 -8
- package/templates/apps/api-rbac/package.json +8 -8
- package/templates/apps/api-rest/package.json +7 -7
- package/templates/apps/api-row-history/package.json +8 -8
- package/templates/apps/api-saas/package.json +11 -10
- package/templates/apps/api-saas-starter/package.json +10 -10
- package/templates/apps/api-search/package.json +8 -8
- package/templates/apps/api-status/package.json +8 -8
- package/templates/apps/api-webhooks/package.json +9 -9
- package/templates/apps/changelog/package.json +7 -6
- package/templates/apps/edge-functions/package.json +2 -2
- package/templates/apps/frontend-admin/package.json +8 -8
- package/templates/apps/frontend-app/package.json +9 -9
- package/templates/apps/frontend-auth/package.json +8 -8
- package/templates/apps/frontend-blank/package.json +7 -7
- package/templates/apps/frontend-cms/package.json +9 -9
- package/templates/apps/frontend-collab/README.md +43 -24
- package/templates/apps/frontend-collab/app.config.ts +3 -3
- package/templates/apps/frontend-collab/package.json +14 -10
- package/templates/apps/frontend-collab/src/locales/de.ts +1 -2
- package/templates/apps/frontend-collab/src/locales/en.ts +1 -2
- package/templates/apps/frontend-collab/src/pages/page.test.tsx +72 -76
- package/templates/apps/frontend-collab/src/pages/page.tsx +45 -22
- package/templates/apps/frontend-collab/template.json +2 -2
- package/templates/apps/frontend-contact/package.json +7 -7
- package/templates/apps/frontend-dashboard/package.json +7 -7
- package/templates/apps/frontend-docs/package.json +8 -7
- package/templates/apps/frontend-i18n/package.json +6 -6
- package/templates/apps/frontend-landing/README.md +48 -0
- package/templates/apps/frontend-landing/app.config.ts +28 -0
- package/templates/apps/frontend-landing/package.json +7 -6
- package/templates/apps/frontend-landing/src/assets/hero.jpg +0 -0
- package/templates/apps/frontend-landing/src/fonts/Geist-Variable.woff2 +0 -0
- package/templates/apps/frontend-landing/src/fonts/LICENSE-Geist.txt +92 -0
- package/templates/apps/frontend-landing/src/globals.css +15 -0
- package/templates/apps/frontend-landing/src/globals.d.ts +17 -0
- package/templates/apps/frontend-landing/src/locales/de.ts +3 -2
- package/templates/apps/frontend-landing/src/locales/en.ts +5 -2
- package/templates/apps/frontend-landing/src/pages/page.test.tsx +79 -0
- package/templates/apps/frontend-landing/src/pages/page.tsx +26 -3
- package/templates/apps/frontend-landing/template.json +2 -2
- package/templates/apps/frontend-portal/package.json +8 -8
- package/templates/apps/frontend-saas/package.json +8 -8
- package/templates/apps/frontend-spa/package.json +7 -7
- package/templates/apps/frontend-ssr/package.json +7 -7
- package/templates/apps/frontend-ssr-api/package.json +8 -8
- package/templates/apps/frontend-static-blog/package.json +8 -7
- package/templates/apps/frontend-status/package.json +8 -8
- package/templates/apps/mobile-app/package.json +12 -11
- package/templates/apps/mobile-app/src/lib/deeplinks.ts +29 -17
- package/templates/apps/mobile-app/tests/deeplinks.test.ts +16 -0
- package/dist/agentsMd-SDDSkyl4.js +0 -2
- package/dist/apiBuild-DHtLXYx9.js +0 -2
- package/dist/codegen-BWpt3VgF.js +0 -2
- package/dist/codegenCommand-BOiWQ5hz.js +0 -137
- package/dist/dbCommand-B1EXBC6f.js +0 -2
- package/dist/doctorCommand-B0hX0tdz.js +0 -2
- package/dist/fileConventions-DASGEmj-.js +0 -35
- package/dist/frameworkTableAssembly-C_7Z-rMs.js +0 -2
- package/dist/inspect-CuoDInfZ.js +0 -2
- package/dist/interruptedReplace-C3O3M1MM.js +0 -28
- package/dist/interruptedReplace-CvmiAM9K.js +0 -2
- package/dist/manifestBuild-C4-J1-m_.js +0 -2
- package/dist/renderModeScan-CUbOeOAg.js +0 -122
- package/dist/serveCommand-DsnrVN3U.js +0 -2
- package/dist/start-BJzZLbt8.js +0 -3
- package/dist/updateCommand-Bqql_rsQ.js +0 -2
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { dirname as
|
|
3
|
-
import { readFileSync as
|
|
4
|
-
import { fileURLToPath as
|
|
1
|
+
import { a as e, i as t, n, r, t as i } from "./subcommandNames-CDzfEtKV.js";
|
|
2
|
+
import { dirname as a, join as o, resolve as s } from "node:path";
|
|
3
|
+
import { readFileSync as c } from "node:fs";
|
|
4
|
+
import { fileURLToPath as l } from "node:url";
|
|
5
5
|
//#region src/commands.ts
|
|
6
|
-
var
|
|
6
|
+
var u = () => {
|
|
7
7
|
try {
|
|
8
|
-
let e = a(
|
|
9
|
-
return JSON.parse(
|
|
8
|
+
let e = o(a(l(import.meta.url)), "..", "package.json");
|
|
9
|
+
return JSON.parse(c(e, "utf8")).version ?? "0.0.0";
|
|
10
10
|
} catch {
|
|
11
11
|
return "0.0.0";
|
|
12
12
|
}
|
|
13
|
-
},
|
|
13
|
+
}, d = [
|
|
14
14
|
{
|
|
15
15
|
name: "list-templates",
|
|
16
16
|
summary: "List available app templates (kind, summary, tags).",
|
|
17
17
|
status: "wired",
|
|
18
|
-
run: (e) => import("./projectScaffold-
|
|
18
|
+
run: (e) => import("./projectScaffold-CJfP-xbT.js").then((t) => t.runListTemplates(e)),
|
|
19
19
|
help: {
|
|
20
20
|
usage: "",
|
|
21
21
|
examples: [["voltro list-templates", "every template `create-project` / `add-app` can scaffold"]]
|
|
@@ -25,7 +25,7 @@ var l = () => {
|
|
|
25
25
|
name: "create-project",
|
|
26
26
|
summary: "Scaffold a new project under apps/<name>/ from one or more templates (creates the workspace root when there is none).",
|
|
27
27
|
status: "wired",
|
|
28
|
-
run: (e) => import("./projectScaffold-
|
|
28
|
+
run: (e) => import("./projectScaffold-CJfP-xbT.js").then((t) => t.runCreateProject(e)),
|
|
29
29
|
help: {
|
|
30
30
|
usage: "<name> [--api <templateId>] [--web <templateId>] [--mobile[=<templateId>]] [--no-register]",
|
|
31
31
|
flags: [
|
|
@@ -65,7 +65,7 @@ var l = () => {
|
|
|
65
65
|
name: "add-app",
|
|
66
66
|
summary: "Add a new app to an existing project from a template. Usage: voltro add-app <appName> --template <id> [--to <projectName>].",
|
|
67
67
|
status: "wired",
|
|
68
|
-
run: (e) => import("./projectScaffold-
|
|
68
|
+
run: (e) => import("./projectScaffold-CJfP-xbT.js").then((t) => t.runAddApp(e)),
|
|
69
69
|
help: {
|
|
70
70
|
usage: "<appName> --template <templateId> [--to <projectName>] [--no-register]",
|
|
71
71
|
flags: [
|
|
@@ -80,7 +80,7 @@ var l = () => {
|
|
|
80
80
|
name: "init",
|
|
81
81
|
summary: "Initialise the current directory as a Voltro workspace root (pnpm-workspace.yaml, root scripts, .gitignore, git init). Idempotent; takes no arguments.",
|
|
82
82
|
status: "wired",
|
|
83
|
-
run: (e) => import("./metaCommands-
|
|
83
|
+
run: (e) => import("./metaCommands-x7RCi2AF.js").then((t) => t.runInit(e)),
|
|
84
84
|
help: {
|
|
85
85
|
usage: "",
|
|
86
86
|
examples: [["voltro init", "make the current directory a workspace root, then `voltro create-project <name>`"]],
|
|
@@ -91,7 +91,7 @@ var l = () => {
|
|
|
91
91
|
name: "dev",
|
|
92
92
|
summary: "Start the local development server (auto-discovers routes / mutations).",
|
|
93
93
|
status: "wired",
|
|
94
|
-
run: (e) => import("./dev-
|
|
94
|
+
run: (e) => import("./dev-DfVZaoys.js").then((t) => t.runDev(e)),
|
|
95
95
|
help: {
|
|
96
96
|
usage: "[app]",
|
|
97
97
|
examples: [["voltro dev", "boot the app in the current directory"], ["voltro dev apps/acme/api", "boot a specific app"]],
|
|
@@ -109,7 +109,7 @@ var l = () => {
|
|
|
109
109
|
name: "dashboard",
|
|
110
110
|
summary: "Serve the DevTools dashboard standalone (from @voltro/dashboard). Targets via VOLTRO_DASHBOARD_APPS; --port to override.",
|
|
111
111
|
status: "wired",
|
|
112
|
-
run: (e) => import("./dashboardCommand-
|
|
112
|
+
run: (e) => import("./dashboardCommand-D2kmyCLL.js").then((t) => t.runDashboardCommand(e)),
|
|
113
113
|
help: {
|
|
114
114
|
usage: "[--port <n>]",
|
|
115
115
|
flags: [["--port <n>", "port to serve the dashboard on"]],
|
|
@@ -121,7 +121,7 @@ var l = () => {
|
|
|
121
121
|
name: "check",
|
|
122
122
|
summary: "Verify the app graph (blast-radius checks) against a running api; LLM-shaped --json diagnostics. Flags: --json, --process <p>, --diff removeTable:<name>.",
|
|
123
123
|
status: "wired",
|
|
124
|
-
run: (e) => import("./checkCommand-
|
|
124
|
+
run: (e) => import("./checkCommand-DNkY5kwF.js").then((t) => t.runCheckCommand(e)),
|
|
125
125
|
help: {
|
|
126
126
|
usage: "[--json] [--offline] [--process <name>] [--diff removeTable:<name>]",
|
|
127
127
|
flags: [
|
|
@@ -155,7 +155,7 @@ var l = () => {
|
|
|
155
155
|
name: "webhooks",
|
|
156
156
|
summary: "Outbound-webhook artefacts. `consumer` generates the ZERO-DEPENDENCY Standard-Webhooks verification package a subscriber installs, from this app's own declared events; `events` lists the events a subscriber can register for. Usage: voltro webhooks <consumer|events> [path] [--out <dir>] [--name <pkg>] [--json].",
|
|
157
157
|
status: "wired",
|
|
158
|
-
run: (e) => import("./webhooksCommand-
|
|
158
|
+
run: (e) => import("./webhooksCommand-B1LVcyO3.js").then((t) => t.runWebhooksCommand(e)),
|
|
159
159
|
help: {
|
|
160
160
|
usage: "<consumer|events> [path] [--out <dir>] [--name <pkg>] [--json]",
|
|
161
161
|
flags: [
|
|
@@ -171,7 +171,7 @@ var l = () => {
|
|
|
171
171
|
name: "evolve",
|
|
172
172
|
summary: "Schema-evolution copilot: propose an observed-graph-driven codemod + a branch-verified backfill for a schema change (rename/retype/split/drop a column, rename a table). Dry-run by default; --write applies. Usage: voltro evolve rename-column <table>.<col> --to <newName> [--write] [--json].",
|
|
173
173
|
status: "wired",
|
|
174
|
-
run: (e) => import("./evolveCommand-
|
|
174
|
+
run: (e) => import("./evolveCommand-BsbZ-XDg.js").then((t) => t.runEvolveCommand(e)),
|
|
175
175
|
help: {
|
|
176
176
|
usage: "<rename-column|rename-table|retype-column|split-column|drop-column> <target> [--to <new>] [--write]",
|
|
177
177
|
flags: [
|
|
@@ -188,18 +188,40 @@ var l = () => {
|
|
|
188
188
|
name: "codegen",
|
|
189
189
|
summary: "Emit rpcGroup.generated.ts from discovered route / mutation descriptors.",
|
|
190
190
|
status: "wired",
|
|
191
|
-
run: (e) => import("./codegenCommand-
|
|
191
|
+
run: (e) => import("./codegenCommand-3TDJezom.js").then((t) => t.runCodegenCommand(e)),
|
|
192
192
|
help: {
|
|
193
193
|
usage: "[app]",
|
|
194
194
|
examples: [["voltro codegen", "regenerate rpcGroup.generated.ts for the app in the cwd"]],
|
|
195
195
|
notes: ["`voltro dev` and `voltro build` regenerate it themselves; run this by hand when a", "`voltro test` / typecheck reports the generated group is stale."]
|
|
196
196
|
}
|
|
197
197
|
},
|
|
198
|
+
{
|
|
199
|
+
name: "mobile",
|
|
200
|
+
summary: "Mobile (Expo) app steps. codegen — regenerate the api binding AND the deep-link table (every Expo Router screen becomes a deep link; `*.deepLink.ts` overrides one). links — emit apple-app-site-association + assetlinks.json from that same table, so screens, in-app routing and the /.well-known/ files cannot drift apart.",
|
|
201
|
+
status: "wired",
|
|
202
|
+
run: (e) => import("./mobileCommand-DAum7tsG.js").then((t) => t.runMobileCommand(e)),
|
|
203
|
+
help: {
|
|
204
|
+
usage: e(r),
|
|
205
|
+
flags: [
|
|
206
|
+
["--team-id <id>", "Apple Team ID for the AASA appID (links)"],
|
|
207
|
+
["--fingerprint <sha256>", "Android signing cert SHA-256; repeatable (links)"],
|
|
208
|
+
["--out <dir>", "where to write the association files (default: .well-known/)"]
|
|
209
|
+
],
|
|
210
|
+
examples: [["voltro mobile codegen apps/acme/mobile", "api binding + deep-link table"], ["voltro mobile links --team-id ABCDE12345 --fingerprint 14:6D:…:E5", "the two /.well-known/ files"]],
|
|
211
|
+
env: [["VOLTRO_APPLE_TEAM_ID", "default for --team-id"], ["VOLTRO_ANDROID_CERT_FINGERPRINT", "an additional --fingerprint"]],
|
|
212
|
+
notes: [
|
|
213
|
+
"`voltro codegen` inside a mobile app runs the same codegen — one implementation, so the",
|
|
214
|
+
"template's `pnpm ios` needs no extra step.",
|
|
215
|
+
"A Team ID and a signing fingerprint are per-developer facts; `links` REFUSES without them",
|
|
216
|
+
"rather than writing a placeholder that publishes and associates nothing."
|
|
217
|
+
]
|
|
218
|
+
}
|
|
219
|
+
},
|
|
198
220
|
{
|
|
199
221
|
name: "migrate",
|
|
200
222
|
summary: "Apply the declared schema to the database (alias of `db apply` — diffs declared vs live and emits the ALTERs). `--create-only` for the bootstrap-only CREATE TABLE IF NOT EXISTS path.",
|
|
201
223
|
status: "wired",
|
|
202
|
-
run: (e) => import("./migrate-
|
|
224
|
+
run: (e) => import("./migrate-CGFZS-1a.js").then((t) => t.runMigrateCommand(e)),
|
|
203
225
|
help: {
|
|
204
226
|
usage: "[app] [--create-only]",
|
|
205
227
|
flags: [["--create-only", "only CREATE TABLE IF NOT EXISTS — never ALTER (bootstrap)"]],
|
|
@@ -211,7 +233,7 @@ var l = () => {
|
|
|
211
233
|
name: "test",
|
|
212
234
|
summary: "Run vitest against the app at the cwd (auto-discovers *.test.ts/tsx).",
|
|
213
235
|
status: "wired",
|
|
214
|
-
run: (e) => import("./test-
|
|
236
|
+
run: (e) => import("./test-DO27-x2P.js").then((t) => t.runTestCommand(e)),
|
|
215
237
|
help: {
|
|
216
238
|
usage: "[dir] [filter…] [--watch] [-t <pattern>]",
|
|
217
239
|
flags: [
|
|
@@ -259,7 +281,7 @@ var l = () => {
|
|
|
259
281
|
name: "info",
|
|
260
282
|
summary: "Report versions (CLI, node, every installed @voltro/* — flags lockstep skew), package manager, and dialect. --json for CI. Exits 1 on version skew.",
|
|
261
283
|
status: "wired",
|
|
262
|
-
run: (e) => import("./infoCommand-
|
|
284
|
+
run: (e) => import("./infoCommand-EmM3jPKD.js").then((t) => t.runInfoCommand(e)),
|
|
263
285
|
help: {
|
|
264
286
|
usage: "[--json]",
|
|
265
287
|
flags: [["--json", "machine-readable report"]],
|
|
@@ -280,7 +302,7 @@ var l = () => {
|
|
|
280
302
|
name: "env",
|
|
281
303
|
summary: "Inspect/sync the typed-env manifest. Subcommands: check (default), sync (.env.example), types (env.generated.d.ts for CI tsc), turbo.",
|
|
282
304
|
status: "wired",
|
|
283
|
-
run: (e) => import("./envCommand-
|
|
305
|
+
run: (e) => import("./envCommand-Bxy2fOjc.js").then((t) => t.runEnvCommand(e)),
|
|
284
306
|
help: {
|
|
285
307
|
usage: "[check|sync|types|turbo] [--force]",
|
|
286
308
|
flags: [["--force", "overwrite the generated file instead of refusing on a conflict"]],
|
|
@@ -309,12 +331,12 @@ var l = () => {
|
|
|
309
331
|
run: async (e) => {
|
|
310
332
|
let t = e.find((e) => !e.startsWith("-")) ?? process.cwd();
|
|
311
333
|
if (e.includes("--preflight")) {
|
|
312
|
-
let { runServePreflight: e } = await import("./doctorCommand-
|
|
313
|
-
return e(
|
|
334
|
+
let { runServePreflight: e } = await import("./doctorCommand-djmqEcDC.js");
|
|
335
|
+
return e(s(t), !0);
|
|
314
336
|
}
|
|
315
|
-
let { tryRunWebServe: n } = await import("./webDev-
|
|
337
|
+
let { tryRunWebServe: n } = await import("./webDev-1XpVnYkW.js"), r = await n(s(t));
|
|
316
338
|
if (!r.ran) {
|
|
317
|
-
let { runServeDispatch: t } = await import("./serveCommand-
|
|
339
|
+
let { runServeDispatch: t } = await import("./serveCommand-Cjt5S9hD.js");
|
|
318
340
|
return t(e);
|
|
319
341
|
}
|
|
320
342
|
return r.exitCode;
|
|
@@ -342,13 +364,13 @@ var l = () => {
|
|
|
342
364
|
handlesHelp: !0,
|
|
343
365
|
summary: "Preflight an app for production: the precompiled serve bundle, hand-rolled primitives (naming the shipped one), @voltro/* version skew, executors with no access check, `.serverOnly()` leaks, and junction-FK gaps.",
|
|
344
366
|
status: "wired",
|
|
345
|
-
run: (e) => import("./doctorCommand-
|
|
367
|
+
run: (e) => import("./doctorCommand-djmqEcDC.js").then((t) => t.runDoctorCommand(e))
|
|
346
368
|
},
|
|
347
369
|
{
|
|
348
370
|
name: "build",
|
|
349
371
|
summary: "Production build for a web app (vite build + per-page SSG pre-render).",
|
|
350
372
|
status: "wired",
|
|
351
|
-
run: (e) => import("./build-
|
|
373
|
+
run: (e) => import("./build-S0QOzqPT.js").then((t) => t.runBuildCommand(e)),
|
|
352
374
|
help: {
|
|
353
375
|
usage: "[app] [--target <t>]",
|
|
354
376
|
flags: [["--target <t>", "build target"]],
|
|
@@ -364,7 +386,7 @@ var l = () => {
|
|
|
364
386
|
name: "prune-runtime",
|
|
365
387
|
summary: "Trim a deployed web tree’s node_modules to the reachable runtime set (standalone image slimming).",
|
|
366
388
|
status: "wired",
|
|
367
|
-
run: (e) => import("./runtimeTrace-
|
|
389
|
+
run: (e) => import("./runtimeTrace-C1BTpHGQ.js").then((t) => t.runPruneRuntimeCommand(e)),
|
|
368
390
|
hidden: !0
|
|
369
391
|
},
|
|
370
392
|
{
|
|
@@ -382,7 +404,7 @@ var l = () => {
|
|
|
382
404
|
name: "dormancy",
|
|
383
405
|
summary: "Single-node scale-to-zero: front the API with a wake-orchestrator that stops the app when idle and brings it back on a request or a due wakeup (cron/workflow). Needs a SQL store. Flags: --port, --app-port, --idle-grace-ms, --tick-ms.",
|
|
384
406
|
status: "wired",
|
|
385
|
-
run: (e) => import("./dormancyCommand-
|
|
407
|
+
run: (e) => import("./dormancyCommand-DY2rYpTa.js").then((t) => t.runDormancyCommand(e)),
|
|
386
408
|
help: {
|
|
387
409
|
usage: "[app] [--port <n>] [--app-port <n>] [--idle-grace-ms <n>] [--tick-ms <n>]",
|
|
388
410
|
flags: [
|
|
@@ -399,7 +421,7 @@ var l = () => {
|
|
|
399
421
|
name: "start",
|
|
400
422
|
summary: "Production runtime: serves dist + SSR-on-demand for ssr/isr pages.",
|
|
401
423
|
status: "wired",
|
|
402
|
-
run: (e) => import("./start-
|
|
424
|
+
run: (e) => import("./start-DH7cat4-.js").then((t) => t.runStartCommand(e)),
|
|
403
425
|
help: {
|
|
404
426
|
usage: "[app]",
|
|
405
427
|
examples: [["voltro start", "serve a built web app (dist + SSR-on-demand)"]],
|
|
@@ -410,7 +432,7 @@ var l = () => {
|
|
|
410
432
|
name: "deploy",
|
|
411
433
|
summary: "Show deploy options + `voltro deploy plan` auto-detects the target tier (static-cdn / container / functions) per app + function.",
|
|
412
434
|
status: "wired",
|
|
413
|
-
run: (e) => import("./metaCommands-
|
|
435
|
+
run: (e) => import("./metaCommands-x7RCi2AF.js").then((t) => t.runDeploy(e)),
|
|
414
436
|
help: {
|
|
415
437
|
usage: "[plan]",
|
|
416
438
|
examples: [["voltro deploy plan", "the auto-detected target tier per app + function"]]
|
|
@@ -428,15 +450,15 @@ var l = () => {
|
|
|
428
450
|
handlesHelp: !0,
|
|
429
451
|
summary: "Deploy a pre-built static site (./dist) to a cheap external host. Subcommands: hosts, deploy --host cloudflare-pages|s3|netlify [--spa] [--dry-run].",
|
|
430
452
|
status: "wired",
|
|
431
|
-
run: (e) => import("./staticCommand-
|
|
453
|
+
run: (e) => import("./staticCommand-ey0kYmOT.js").then((t) => t.runStaticCommand(e))
|
|
432
454
|
},
|
|
433
455
|
{
|
|
434
456
|
name: "privacy",
|
|
435
457
|
summary: "GDPR / DSAR tooling. scope [root] — derive the subject graph from the schema AND print what it cannot see. export <subjectId> --url <app> / erase <subjectId> --url <app> --confirm — run against the RUNNING app's admin-gated governance endpoint, so the erasure log and configured anonymize fields apply.",
|
|
436
458
|
status: "wired",
|
|
437
|
-
run: (e) => import("./privacyCommand-
|
|
459
|
+
run: (e) => import("./privacyCommand-BCa2OoZG.js").then((t) => t.runPrivacyCommand(e)),
|
|
438
460
|
help: {
|
|
439
|
-
usage: e(
|
|
461
|
+
usage: e(t),
|
|
440
462
|
examples: [
|
|
441
463
|
["voltro privacy scope --subject-table users", "every table a DSAR reaches, and every table it does not"],
|
|
442
464
|
["voltro privacy export usr_123 --url https://api.example.com", "the subject's portable bundle"],
|
|
@@ -453,9 +475,9 @@ var l = () => {
|
|
|
453
475
|
name: "db",
|
|
454
476
|
summary: "Database subcommands. Declarative flow: plan, apply, branch, plans, drift [--accept], squash, restore-snapshot. File migrations: generate [name], migrate, rollback, status, files, rollback-file. Data + housekeeping: seed, gc-snapshots, adopt. Credentials at rest: scan-credentials (find plaintext), encrypt-column (migrate a populated column onto .encrypted()).",
|
|
455
477
|
status: "wired",
|
|
456
|
-
run: (e) => import("./dbCommand-
|
|
478
|
+
run: (e) => import("./dbCommand-BTyBGhIA.js").then((t) => t.runDbCommand(e)),
|
|
457
479
|
help: {
|
|
458
|
-
usage: e(
|
|
480
|
+
usage: e(n),
|
|
459
481
|
examples: [
|
|
460
482
|
["voltro db plan", "the diff between the declared schema and the live database"],
|
|
461
483
|
["voltro db apply", "apply that diff"],
|
|
@@ -469,9 +491,9 @@ var l = () => {
|
|
|
469
491
|
name: "data",
|
|
470
492
|
summary: "Export/import + backup/restore of app data. Logical (rows + optional assets): export <dir> [--tenant <id>|--tables a,b|--exclude a,b] [--assets] [--compression zstd|gzip|none] [--consistency live|snapshot]; import <dir> [--assets] [--no-verify]; transfers — the history in all four directions, including a run in flight; inspect <file|dir>; unpack <file> <dir>. Native (vendor dump, no resume): backup <dir> [--assets] / restore <dir> [--assets] (pg_dump/mariadb-dump/…) — a restore marks the database in-progress until it finishes. Recovery: clear-replace-marker, clear-staging. Resumable + typed-NDJSON on the logical path; content-addressed assets on both.",
|
|
471
493
|
status: "wired",
|
|
472
|
-
run: (e) => import("./dataCommand-
|
|
494
|
+
run: (e) => import("./dataCommand-BEPPQiTl.js").then((t) => t.runDataCommand(e)),
|
|
473
495
|
help: {
|
|
474
|
-
usage: e(
|
|
496
|
+
usage: e(i),
|
|
475
497
|
flags: [
|
|
476
498
|
["--tenant <id>", "export one tenant's rows"],
|
|
477
499
|
["--tables <a,b>", "restrict to these tables"],
|
|
@@ -526,27 +548,27 @@ var l = () => {
|
|
|
526
548
|
handlesHelp: !0,
|
|
527
549
|
summary: "Generate strong secrets. `generate [purpose]` (data-transfer, session, bundle-key, field-encryption, …) emits the right var+format; `generate` alone prints a generic secret; `list` shows all. Encrypted per-env storage is in Voltro Cloud.",
|
|
528
550
|
status: "wired",
|
|
529
|
-
run: (e) => import("./metaCommands-
|
|
551
|
+
run: (e) => import("./metaCommands-x7RCi2AF.js").then((t) => t.runSecret(e))
|
|
530
552
|
},
|
|
531
553
|
{
|
|
532
554
|
name: "update",
|
|
533
555
|
handlesHelp: !0,
|
|
534
556
|
summary: "Upgrade the app to the latest framework: bump every @voltro/* dependency (across ALL workspace members, install once at the workspace root), then run the codemods shipped with the target version. Flags: --to <version>, --from <version>, --codemods-only, --dry-run, --force, --exact, --help. After: run `voltro db apply`.",
|
|
535
557
|
status: "wired",
|
|
536
|
-
run: (e) => import("./updateCommand-
|
|
558
|
+
run: (e) => import("./updateCommand-nnFjDbl4.js").then((t) => t.runUpdateCommand(e))
|
|
537
559
|
},
|
|
538
560
|
{
|
|
539
561
|
name: "_apply-codemods",
|
|
540
562
|
summary: "Internal: apply shipped codemods for a framework version jump (re-exec target of `voltro update`).",
|
|
541
563
|
status: "wired",
|
|
542
564
|
hidden: !0,
|
|
543
|
-
run: (e) => import("./updateCommand-
|
|
565
|
+
run: (e) => import("./updateCommand-nnFjDbl4.js").then((t) => t.runApplyCodemods(e))
|
|
544
566
|
},
|
|
545
567
|
{
|
|
546
568
|
name: "embeddings",
|
|
547
569
|
summary: "Embeddings tooling. Subcommand: backfill <table> --text <field> --vector <field> [--model <m>] [--model-field <f>] [--batch <n>] [--dry-run] — (re)embed rows the vectorEmbedding() mixin missed.",
|
|
548
570
|
status: "wired",
|
|
549
|
-
run: (e) => import("./embeddingsCommand-
|
|
571
|
+
run: (e) => import("./embeddingsCommand-BoCqZsgp.js").then((t) => t.runEmbeddingsCommand(e)),
|
|
550
572
|
help: {
|
|
551
573
|
usage: "backfill <table> --text <field> --vector <field> [--model <m>] [--batch <n>] [--dry-run]",
|
|
552
574
|
flags: [
|
|
@@ -564,7 +586,7 @@ var l = () => {
|
|
|
564
586
|
name: "telemetry",
|
|
565
587
|
summary: "Report telemetry status — Voltro collects none (no phone-home, nothing to opt out of).",
|
|
566
588
|
status: "wired",
|
|
567
|
-
run: (e) => import("./metaCommands-
|
|
589
|
+
run: (e) => import("./metaCommands-x7RCi2AF.js").then((t) => t.runTelemetry(e)),
|
|
568
590
|
help: {
|
|
569
591
|
usage: "",
|
|
570
592
|
examples: [["voltro telemetry", "confirm what is collected: nothing"]],
|
|
@@ -579,7 +601,7 @@ var l = () => {
|
|
|
579
601
|
name: "agents-md",
|
|
580
602
|
summary: "Write the framework-tailored AGENTS.md into the project root (use --force to overwrite).",
|
|
581
603
|
status: "wired",
|
|
582
|
-
run: (e) => import("./agentsMd-
|
|
604
|
+
run: (e) => import("./agentsMd-DCY1RSs8.js").then((t) => t.runAgentsMd(e)),
|
|
583
605
|
help: {
|
|
584
606
|
usage: "[--force]",
|
|
585
607
|
flags: [["--force", "overwrite existing files (both AGENTS.md and CLAUDE.md)"]],
|
|
@@ -592,7 +614,7 @@ var l = () => {
|
|
|
592
614
|
summary: "Ask a RUNNING app whether its declared access is enforced. `access` calls every guarded procedure with NO credentials and reports any that answer (--process, --url, --strict, --format).",
|
|
593
615
|
status: "wired",
|
|
594
616
|
handlesHelp: !0,
|
|
595
|
-
run: (e) => import("./probeCommand-
|
|
617
|
+
run: (e) => import("./probeCommand-Bs3iVBSL.js").then((t) => t.runProbeCommand(e))
|
|
596
618
|
},
|
|
597
619
|
{
|
|
598
620
|
name: "schedule",
|
|
@@ -655,7 +677,7 @@ var l = () => {
|
|
|
655
677
|
name: "login",
|
|
656
678
|
summary: "Log in to Voltro Cloud — opens a browser (WorkOS) and returns to the CLI after success. Alias for `voltro cloud login`. `--token <t>` (or VOLTRO_CLOUD_TOKEN) for headless.",
|
|
657
679
|
status: "wired",
|
|
658
|
-
run: (e) => import("./cloudCmd-
|
|
680
|
+
run: (e) => import("./cloudCmd-DzKcSYuy.js").then((t) => t.runCloudCommand(["login", ...e])),
|
|
659
681
|
help: {
|
|
660
682
|
usage: "[--token <t>]",
|
|
661
683
|
flags: [["--token <t>", "headless login with an existing token (or set VOLTRO_CLOUD_TOKEN)"]],
|
|
@@ -667,21 +689,21 @@ var l = () => {
|
|
|
667
689
|
handlesHelp: !0,
|
|
668
690
|
summary: "Control-plane client. Subcommands: login (browser/WorkOS), whoami, projects, project create, env list|set|pull, import, deploy, scan, rollback, register. Base url via VOLTRO_CLOUD_URL.",
|
|
669
691
|
status: "wired",
|
|
670
|
-
run: (e) => import("./cloudCmd-
|
|
692
|
+
run: (e) => import("./cloudCmd-DzKcSYuy.js").then((t) => t.runCloudCommand(e))
|
|
671
693
|
},
|
|
672
694
|
{
|
|
673
695
|
name: "help",
|
|
674
696
|
summary: "Print this help.",
|
|
675
697
|
status: "wired",
|
|
676
|
-
run: async (e) => (
|
|
698
|
+
run: async (e) => (m(), 0)
|
|
677
699
|
},
|
|
678
700
|
{
|
|
679
701
|
name: "version",
|
|
680
702
|
summary: "Print the voltro version.",
|
|
681
703
|
status: "wired",
|
|
682
|
-
run: async () => (console.log(
|
|
704
|
+
run: async () => (console.log(u()), 0)
|
|
683
705
|
}
|
|
684
|
-
],
|
|
706
|
+
], f = [
|
|
685
707
|
["Start a project", [
|
|
686
708
|
"init",
|
|
687
709
|
"create-project",
|
|
@@ -695,6 +717,7 @@ var l = () => {
|
|
|
695
717
|
["Develop", [
|
|
696
718
|
"dev",
|
|
697
719
|
"codegen",
|
|
720
|
+
"mobile",
|
|
698
721
|
"test",
|
|
699
722
|
"typecheck",
|
|
700
723
|
"e2e",
|
|
@@ -749,32 +772,32 @@ var l = () => {
|
|
|
749
772
|
"info"
|
|
750
773
|
]],
|
|
751
774
|
["Meta", ["help", "version"]]
|
|
752
|
-
],
|
|
775
|
+
], p = (e, t = 68) => {
|
|
753
776
|
let n = e.search(/\.(\s|$)/), r = n > 0 ? e.slice(0, n) : e;
|
|
754
777
|
return r.length <= t ? r : `${r.slice(0, t - 1).trimEnd()}…`;
|
|
755
|
-
},
|
|
756
|
-
let e =
|
|
757
|
-
console.log(`voltro v${
|
|
758
|
-
for (let [e, r] of
|
|
778
|
+
}, m = () => {
|
|
779
|
+
let e = d.filter((e) => !e.hidden), t = new Map(e.map((e) => [e.name, e])), n = e.reduce((e, t) => Math.max(e, t.name.length), 0);
|
|
780
|
+
console.log(`voltro v${u()}`), console.log("voltro <command> [args]");
|
|
781
|
+
for (let [e, r] of f) {
|
|
759
782
|
let i = r.map((e) => t.get(e)).filter((e) => e !== void 0);
|
|
760
783
|
if (i.length !== 0) {
|
|
761
784
|
console.log(`\n${e}`);
|
|
762
785
|
for (let e of i) {
|
|
763
786
|
let t = " ".repeat(n - e.name.length + 2);
|
|
764
|
-
console.log(` ${e.name}${t}${
|
|
787
|
+
console.log(` ${e.name}${t}${p(e.summary)}`);
|
|
765
788
|
}
|
|
766
789
|
}
|
|
767
790
|
}
|
|
768
|
-
let r = new Set(
|
|
791
|
+
let r = new Set(f.flatMap(([, e]) => e)), i = e.filter((e) => !r.has(e.name));
|
|
769
792
|
if (i.length > 0) {
|
|
770
793
|
console.log("\nOther");
|
|
771
794
|
for (let e of i) {
|
|
772
795
|
let t = " ".repeat(n - e.name.length + 2);
|
|
773
|
-
console.log(` ${e.name}${t}${
|
|
796
|
+
console.log(` ${e.name}${t}${p(e.summary)}`);
|
|
774
797
|
}
|
|
775
798
|
}
|
|
776
799
|
console.log("\nRun 'voltro <command> --help' for the full description, or see https://voltro.dev/docs/cli.");
|
|
777
|
-
},
|
|
800
|
+
}, h = (e, t) => {
|
|
778
801
|
let n = Array.from({ length: t.length + 1 }, (e, t) => t), r = Array(t.length + 1).fill(0);
|
|
779
802
|
for (let i = 1; i <= e.length; i++) {
|
|
780
803
|
r[0] = i;
|
|
@@ -785,13 +808,13 @@ var l = () => {
|
|
|
785
808
|
for (let e = 0; e <= t.length; e++) n[e] = r[e];
|
|
786
809
|
}
|
|
787
810
|
return n[t.length];
|
|
788
|
-
},
|
|
789
|
-
let n =
|
|
811
|
+
}, g = (e, t = 3) => {
|
|
812
|
+
let n = d.filter((e) => !e.hidden).map((e) => e.name), r = e.length <= 4 ? 1 : e.length <= 8 ? 2 : 3;
|
|
790
813
|
return n.map((t) => ({
|
|
791
814
|
name: t,
|
|
792
|
-
score: t.startsWith(e) || e.startsWith(t) ? -2 : t.includes(e) ? -1 :
|
|
815
|
+
score: t.startsWith(e) || e.startsWith(t) ? -2 : t.includes(e) ? -1 : h(e, t)
|
|
793
816
|
})).filter((e) => e.score <= r).sort((e, t) => e.score - t.score || e.name.localeCompare(t.name)).slice(0, t).map((e) => e.name);
|
|
794
|
-
},
|
|
817
|
+
}, _ = (e) => {
|
|
795
818
|
let t = [`voltro ${e.name} — ${e.summary}`], n = e.help, r = (e) => {
|
|
796
819
|
let t = e.reduce((e, [t]) => Math.max(e, t.length), 0);
|
|
797
820
|
return e.map(([e, n]) => ` ${e}${" ".repeat(t - e.length + 2)}${n}`);
|
|
@@ -801,26 +824,26 @@ var l = () => {
|
|
|
801
824
|
for (let [e, r] of n.examples) t.push(` ${e}`, ` ${r}`);
|
|
802
825
|
}
|
|
803
826
|
return n?.notes !== void 0 && n.notes.length > 0 && t.push("", ...n.notes), t.push("", `Docs: https://voltro.dev/docs/cli/${e.name}`), t;
|
|
804
|
-
},
|
|
827
|
+
}, v = /* @__PURE__ */ new Set(["--help", "-h"]), y = async (e) => {
|
|
805
828
|
let [t, ...n] = e;
|
|
806
|
-
if (!t ||
|
|
807
|
-
if (t === "--version" || t === "-v") return console.log(
|
|
808
|
-
if (t === "help" && n.length > 0 && !n[0].startsWith("-")) return
|
|
809
|
-
let r =
|
|
829
|
+
if (!t || v.has(t)) return m(), 0;
|
|
830
|
+
if (t === "--version" || t === "-v") return console.log(u()), 0;
|
|
831
|
+
if (t === "help" && n.length > 0 && !n[0].startsWith("-")) return y([n[0], "--help"]);
|
|
832
|
+
let r = d.find((e) => e.name === t);
|
|
810
833
|
if (!r) {
|
|
811
834
|
console.error(`voltro: unknown command '${t}'`);
|
|
812
|
-
let e =
|
|
835
|
+
let e = g(t);
|
|
813
836
|
if (e.length > 0) {
|
|
814
837
|
console.error(`\nDid you mean${e.length > 1 ? " one of" : ""}?`);
|
|
815
838
|
for (let t of e) console.error(` voltro ${t}`);
|
|
816
839
|
}
|
|
817
840
|
return console.error("\nrun 'voltro help' for available commands"), 2;
|
|
818
841
|
}
|
|
819
|
-
if (!r.handlesHelp && n.some((e) =>
|
|
820
|
-
for (let e of
|
|
842
|
+
if (!r.handlesHelp && n.some((e) => v.has(e))) {
|
|
843
|
+
for (let e of _(r)) console.log(e);
|
|
821
844
|
return 0;
|
|
822
845
|
}
|
|
823
846
|
return r.run(n);
|
|
824
847
|
};
|
|
825
848
|
//#endregion
|
|
826
|
-
export {
|
|
849
|
+
export { _ as a, m as i, f as n, g as o, y as r, d as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { f as e } from "./dev-
|
|
2
|
-
import {
|
|
3
|
-
import { t as r } from "./start-
|
|
1
|
+
import { f as e } from "./dev-Ca_A_S9v.js";
|
|
2
|
+
import { Z as t, et as n } from "./webDev-B7vNj4Bq.js";
|
|
3
|
+
import { t as r } from "./start-EOV7s1NZ.js";
|
|
4
4
|
import { join as i } from "node:path";
|
|
5
5
|
import { existsSync as a } from "node:fs";
|
|
6
6
|
import { createLogger as o } from "@voltro/logger";
|