@voltro/cli 0.52.0 → 0.54.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 +424 -0
- package/THIRD-PARTY-NOTICES.md +8311 -3318
- package/dist/{agentsMd-0l980yhL.js → agentsMd-BaLC10Na.js} +110 -82
- package/dist/agentsMd-DCY1RSs8.js +2 -0
- package/dist/apiBuild-CeUN55uk.js +2 -0
- package/dist/{apiBuild-CSFI8QGq.js → apiBuild-DTWp0S_q.js} +11 -5
- package/dist/bin.js +1 -1
- package/dist/build-D4ygSbnV.js +843 -0
- package/dist/{checkCommand-COmqc2cB.js → checkCommand-Dg1G7Gwd.js} +6 -6
- package/dist/{checkCommand-2SbqzukH.js → checkCommand-L7DTlpIF.js} +1 -1
- package/dist/{cloudCmd-QUXh-b5w.js → cloudCmd-DzKcSYuy.js} +1 -1
- package/dist/{codegen-VF479Cnb.js → codegen-DSLM8Su9.js} +1 -1
- package/dist/codegen-DjgxEOnD.js +2 -0
- package/dist/codegenCommand-CG_Vx4lc.js +41 -0
- package/dist/{codemodRunner-r7J9lIa7.js → codemodRunner-Cd4xkC6u.js} +109 -11
- package/dist/{commands-Cc_nV8WI.js → commands-6Kzi92Np.js} +96 -73
- package/dist/{dashboardCommand-C-gKvwqh.js → dashboardCommand-Cq1PWvI1.js} +5 -5
- package/dist/{dataCommand-BgpBHnlB.js → dataCommand-DYzW8vkv.js} +3 -3
- package/dist/{dbCommand-sHedr-NJ.js → dbCommand-B4NWZtGL.js} +278 -237
- package/dist/dbCommand-CSFWs9ev.js +2 -0
- package/dist/{dev-CRHoCEiy.js → dev-CmuvUKRq.js} +2903 -2306
- package/dist/{dev--A3nsxA3.js → dev-cKUiZZsB.js} +1 -1
- package/dist/{doctorCommand-DtfJ3FA6.js → doctorCommand-DCiFVMtZ.js} +101 -69
- package/dist/doctorCommand-J3qu4E0Y.js +2 -0
- package/dist/{dormancyCommand-Drn7o0No.js → dormancyCommand-w1TrmgYP.js} +1 -1
- package/dist/{embeddingsCommand-Z-jO1fWN.js → embeddingsCommand-CMgPyRTr.js} +1 -1
- package/dist/{envCommand-D4gCrrTZ.js → envCommand-Cyynmcfa.js} +8 -8
- package/dist/{evolveCommand-CMROeKeA.js → evolveCommand-BwvQ8dVH.js} +2 -2
- package/dist/fileConventions-l-RIXbx8.js +36 -0
- package/dist/{fileTaxonomy-DvDUV9wq.js → fileTaxonomy-CbyMQYx_.js} +42 -42
- package/dist/fontPipeline-LxIHa1vo.js +2 -0
- package/dist/fontPipeline-Tsh8kZfA.js +152 -0
- package/dist/{frameworkTableAssembly-w-XnLa3q.js → frameworkTableAssembly-D7LJuALW.js} +5 -5
- package/dist/frameworkTableAssembly-IPD1pUnZ.js +2 -0
- package/dist/imagePipeline-B_GVJgm6.js +2 -0
- package/dist/imagePipeline-CBZmjT4i.js +127 -0
- package/dist/index.js +2 -2
- package/dist/{infoCommand-DXM868o_.js → infoCommand-DlYlUPqs.js} +1 -1
- package/dist/{inspect-CtL_xTbu.js → inspect-Bd8-9wsi.js} +1 -1
- package/dist/inspect-CuoDInfZ.js +2 -0
- package/dist/{inspectGateHint-BjnFubmH.js → inspectGateHint-4LxkNtrz.js} +1 -1
- package/dist/manifestBuild-C4-J1-m_.js +2 -0
- package/dist/{manifestBuild-CuU1VrSm.js → manifestBuild-Cqgsx2bM.js} +1 -1
- package/dist/{metaCommands-C6RFmF1r.js → metaCommands-x7RCi2AF.js} +9 -3
- package/dist/{migrate-D0F-eTlK.js → migrate-BK_Bbx-_.js} +2 -2
- package/dist/mobileCommand-D9O6iq3D.js +428 -0
- package/dist/mobileCommand-DAum7tsG.js +2 -0
- package/dist/{pageConvention-CzUiSbtU.js → pageConvention-CMpfDN6r.js} +1 -1
- package/dist/{privacyCommand-DGdopOI6.js → privacyCommand-BCa2OoZG.js} +1 -1
- package/dist/{probeCommand-C9gazU0H.js → probeCommand-_C0YU207.js} +83 -24
- 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-Ck32Fzxr.js → renderProfile-DvrhVJHa.js} +2 -2
- package/dist/{runtimeTrace-BPQyCmC5.js → runtimeTrace-CGWx1Q6l.js} +1 -1
- package/dist/{sdkgen-Se88ifTd.js → sdkgen-CDGHQUFj.js} +1 -1
- package/dist/serveCommand-BiPe8BJm.js +2 -0
- package/dist/{serveCommand-DkP3OT0W.js → serveCommand-Bje09q1v.js} +889 -825
- package/dist/serveEntry.js +1 -1
- package/dist/start-B0bnJgxI.js +3 -0
- package/dist/{start-jw89Xbqy.js → start-Clz-1BHB.js} +633 -455
- package/dist/startEntry.js +1 -1
- package/dist/{staticCommand-BwNEDlSU.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-f3amja6a.js → test-D_kW4KMj.js} +1 -1
- package/dist/updateCommand-CIoVDKnj.js +2 -0
- package/dist/{updateCommand-BMk2e4ky.js → updateCommand-CRJlAOaM.js} +139 -115
- package/dist/{webDev-BgWL9gKV.js → webDev-DSI9SOhs.js} +1598 -1028
- package/dist/webDev-DlvZO30c.js +2 -0
- package/dist/{webhooksCommand-CoIO3jbj.js → webhooksCommand-BvzXNHji.js} +1 -1
- package/dist/workspaceDeps-RKEkX92S.js +45 -0
- package/package.json +60 -19
- package/templates/AGENTS.core.md +2 -0
- package/templates/AGENTS.md +8 -4
- package/templates/agent-docs/_index.md +6 -4
- package/templates/agent-docs/_manifest.json +21 -5
- package/templates/agent-docs/ai.md +6 -6
- package/templates/agent-docs/authentication.md +73 -1
- package/templates/agent-docs/cli.md +6 -3
- package/templates/agent-docs/configuration.md +17 -0
- package/templates/agent-docs/data.md +522 -29
- package/templates/agent-docs/database/advancedqueries.md +8 -8
- package/templates/agent-docs/database/columntypes.md +2 -2
- package/templates/agent-docs/database/migrations.md +1 -1
- package/templates/agent-docs/database/querying.md +1 -1
- package/templates/agent-docs/database/schema.md +1 -1
- package/templates/agent-docs/database/seedsdialects.md +65 -3
- package/templates/agent-docs/database/transactions.md +3 -3
- package/templates/agent-docs/deployment.md +8 -0
- package/templates/agent-docs/internationalization.md +4 -2
- package/templates/agent-docs/introduction.md +32 -1
- package/templates/agent-docs/local-first-mobile.md +226 -30
- package/templates/agent-docs/observability.md +5 -1
- package/templates/agent-docs/plugins/atlassian.md +2 -2
- package/templates/agent-docs/plugins/audit.md +2 -2
- package/templates/agent-docs/plugins/auth.md +1 -1
- 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 +164 -0
- package/templates/agent-docs/plugins/notifications.md +47 -4
- package/templates/agent-docs/plugins/presence.md +45 -3
- package/templates/agent-docs/plugins/prometheus.md +3 -1
- package/templates/agent-docs/plugins/queue.md +172 -0
- package/templates/agent-docs/plugins.md +17 -13
- package/templates/agent-docs/reference.md +35 -4
- package/templates/agent-docs/routing.md +585 -7
- package/templates/agent-docs/scheduling.md +1 -1
- package/templates/agent-docs/schema-driven-ui.md +226 -4
- package/templates/agent-docs/security.md +3 -3
- package/templates/agent-docs/templates/appshells.md +36 -4
- package/templates/agent-docs/whats-new.md +134 -66
- 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/app.config.ts +26 -2
- package/templates/apps/changelog/content/releases/{0.1.0.mdx → v0-1-0.mdx} +0 -1
- package/templates/apps/changelog/content/releases/{0.2.0.mdx → v0-2-0.mdx} +0 -1
- package/templates/apps/changelog/package.json +9 -8
- package/templates/apps/changelog/src/collections/releases.collection.ts +48 -0
- package/templates/apps/changelog/src/globals.d.ts +1 -1
- package/templates/apps/changelog/src/locales/de.ts +1 -1
- package/templates/apps/changelog/src/locales/en.ts +1 -1
- package/templates/apps/changelog/src/pages/[locale]/[slug]/page.tsx +7 -4
- package/templates/apps/changelog/src/pages/[locale]/mirrors.test.tsx +13 -41
- package/templates/apps/changelog/src/pages/[slug]/page.test.tsx +26 -51
- package/templates/apps/changelog/src/pages/[slug]/page.tsx +21 -19
- package/templates/apps/changelog/src/pages/page.test.tsx +14 -37
- package/templates/apps/changelog/src/pages/page.tsx +18 -12
- 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/content/docs/de/guides/first-page.md +4 -0
- package/templates/apps/frontend-docs/content/docs/de/intro/getting-started.md +4 -0
- package/templates/apps/frontend-docs/content/docs/en/guides/first-page.md +4 -0
- package/templates/apps/frontend-docs/content/docs/en/intro/getting-started.md +4 -0
- package/templates/apps/frontend-docs/package.json +9 -6
- package/templates/apps/frontend-docs/src/collections/docs.collection.ts +21 -0
- package/templates/apps/frontend-docs/src/locales/de.ts +0 -5
- package/templates/apps/frontend-docs/src/locales/en.ts +0 -5
- package/templates/apps/frontend-docs/src/pages/[locale]/docs/[...slug]/page.tsx +17 -9
- package/templates/apps/frontend-docs/src/pages/[locale]/mirrors.test.tsx +10 -5
- package/templates/apps/frontend-docs/src/pages/[locale]/page.tsx +8 -0
- package/templates/apps/frontend-docs/src/pages/docs/[...slug]/page.test.tsx +53 -15
- package/templates/apps/frontend-docs/src/pages/docs/[...slug]/page.tsx +27 -33
- package/templates/apps/frontend-docs/src/pages/page.test.tsx +17 -3
- package/templates/apps/frontend-docs/src/pages/page.tsx +16 -12
- 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/content/posts/cms-to-ssg.md +12 -0
- package/templates/apps/frontend-static-blog/content/posts/hello-static.md +12 -0
- package/templates/apps/frontend-static-blog/content/posts/islands-not-hydration.md +14 -0
- package/templates/apps/frontend-static-blog/package.json +9 -6
- package/templates/apps/frontend-static-blog/src/collections/posts.collection.ts +27 -0
- package/templates/apps/frontend-static-blog/src/pages/[locale]/blog/[slug]/page.tsx +7 -4
- package/templates/apps/frontend-static-blog/src/pages/[locale]/mirrors.test.tsx +7 -1
- package/templates/apps/frontend-static-blog/src/pages/blog/[slug]/page.test.tsx +19 -9
- package/templates/apps/frontend-static-blog/src/pages/blog/[slug]/page.tsx +19 -21
- package/templates/apps/frontend-static-blog/src/pages/page.test.tsx +18 -5
- package/templates/apps/frontend-static-blog/src/pages/page.tsx +21 -14
- 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-BYBpL7Pz.js +0 -2
- package/dist/build-CPgcMQug.js +0 -793
- package/dist/codegen-CctkDO-1.js +0 -2
- package/dist/codegenCommand-DCdG2JN-.js +0 -137
- package/dist/dbCommand-DNb6yeOG.js +0 -2
- package/dist/doctorCommand-CqoWA2p5.js +0 -2
- package/dist/fileConventions-DOqD3lPS.js +0 -34
- package/dist/frameworkTableAssembly-C6ETawPR.js +0 -2
- package/dist/inspect-CuGDYES0.js +0 -2
- package/dist/manifestBuild-CPjhvM62.js +0 -2
- package/dist/renderModeScan-CcH2X1_D.js +0 -120
- package/dist/serveCommand-DLc-BznW.js +0 -2
- package/dist/start-DfL3fOiN.js +0 -3
- package/dist/updateCommand-5gFVfK5q.js +0 -2
- package/dist/webDev-CZbTsDcH.js +0 -2
- package/templates/apps/changelog/scripts/generate-rss.mjs +0 -38
- package/templates/apps/changelog/src/lib/releases.ts +0 -21
- package/templates/apps/frontend-static-blog/src/content/posts.ts +0 -64
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as e } from "./cliArgs-D4p8n7EE.js";
|
|
2
|
-
import { a as t, l as n } from "./codegen-
|
|
2
|
+
import { a as t, l as n } from "./codegen-DSLM8Su9.js";
|
|
3
3
|
import { r } from "./appGraph-yRuKjOba.js";
|
|
4
4
|
import { n as i } from "./cliOutput-D1tSBoRM.js";
|
|
5
5
|
import { n as a, o, r as s, t as c } from "./inspectFetch-EMuhTG_9.js";
|
|
6
|
-
import { r as l } from "./fileTaxonomy-
|
|
7
|
-
import { S as u } from "./doctorCommand-
|
|
6
|
+
import { r as l } from "./fileTaxonomy-CbyMQYx_.js";
|
|
7
|
+
import { S as u } from "./doctorCommand-DCiFVMtZ.js";
|
|
8
8
|
import { resolve as d } from "node:path";
|
|
9
9
|
import { readdirSync as f, statSync as p } from "node:fs";
|
|
10
10
|
import { isReactivityChannelKey as m } from "@voltro/protocol";
|
|
@@ -170,9 +170,9 @@ var h = (e) => (e === void 0 ? [] : typeof e == "string" ? [e] : e).filter((e) =
|
|
|
170
170
|
let t = e.severity === "error" ? "✗ error" : "⚠ warn", n = e.file ? ` (${e.file})` : "";
|
|
171
171
|
return `${t} ${e.rule} ${e.node}${n}\n ${e.breaks.join("; ")}\n fix: ${e.fix}`;
|
|
172
172
|
}).join("\n"), O = async (e) => {
|
|
173
|
-
let { walk: t, loadDiscovered: n, loadApiConfig: r } = await import("./dev
|
|
173
|
+
let { walk: t, loadDiscovered: n, loadApiConfig: r } = await import("./dev-cKUiZZsB.js"), { buildRpcEntry: i } = await import("./manifestBuild-C4-J1-m_.js"), { buildCapabilityManifest: a } = await import("./inspect-CuoDInfZ.js"), { relative: o } = await import("node:path"), s = await n(await t(e)), c = await r(e).then((e) => e?.plugins ?? []).catch(() => []);
|
|
174
174
|
try {
|
|
175
|
-
let { mergePluginRoutesInto: e } = await import("./dev
|
|
175
|
+
let { mergePluginRoutesInto: e } = await import("./dev-cKUiZZsB.js");
|
|
176
176
|
e({
|
|
177
177
|
plugins: c,
|
|
178
178
|
queries: s.queries,
|
|
@@ -189,7 +189,7 @@ var h = (e) => (e === void 0 ? [] : typeof e == "string" ? [e] : e).filter((e) =
|
|
|
189
189
|
...s.mutations.map((e) => l(e.descriptor, "mutation", e.file)),
|
|
190
190
|
...s.actions.map((e) => l(e.descriptor, "action", e.file)),
|
|
191
191
|
...s.streams.map((e) => l(e.descriptor, "stream", e.file))
|
|
192
|
-
], { assembleFrameworkTables: d } = await import("./frameworkTableAssembly-
|
|
192
|
+
], { assembleFrameworkTables: d } = await import("./frameworkTableAssembly-IPD1pUnZ.js"), f = await d({ root: e }).catch((e) => (console.warn(`\n⚠ plugin tables could not be collected — this report is INCOMPLETE.\n ${e instanceof Error ? e.message.split("\n")[0] : String(e)}\n`), [])), p = new Set(s.tables.map((e) => e.tableName)), m = [...[...p].map((e) => ({ name: e })), ...f.map((e) => e.tableName).filter((e) => !p.has(e)).map((e) => ({
|
|
193
193
|
name: e,
|
|
194
194
|
framework: !0
|
|
195
195
|
}))], h = c;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, o as n } from "./checkCommand-
|
|
1
|
+
import { a as e, i as t, o as n } from "./checkCommand-Dg1G7Gwd.js";
|
|
2
2
|
export { t as offlineManifest, e as runCheckCommand, n as toInput };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as e, t } from "./cliArgs-D4p8n7EE.js";
|
|
2
2
|
import { a as n, i as r, n as i, r as a, t as o } from "./cloudClient-DWL-Hw_T.js";
|
|
3
3
|
import { n as s } from "./cliOutput-D1tSBoRM.js";
|
|
4
|
-
import { d as c, f as l, o as u } from "./projectScaffold-
|
|
4
|
+
import { d as c, f as l, o as u } from "./projectScaffold-CSN0OzBV.js";
|
|
5
5
|
import { basename as d, join as f, resolve as p } from "node:path";
|
|
6
6
|
import { promises as m } from "node:fs";
|
|
7
7
|
import { ansi as h } from "@voltro/logger";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as e, c as t, x as n } from "./fileConventions-l-RIXbx8.js";
|
|
2
2
|
import { dirname as r, join as i, relative as a, resolve as o } from "node:path";
|
|
3
3
|
import { promises as s, readFileSync as c } from "node:fs";
|
|
4
4
|
import { pathToFileURL as l } from "node:url";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Dn as e, En as t, V as n, l as r, u as i } from "./dev-CmuvUKRq.js";
|
|
2
|
+
import { n as a } from "./frameworkTableAssembly-D7LJuALW.js";
|
|
3
|
+
import { i as o, r as s } from "./codegen-DSLM8Su9.js";
|
|
4
|
+
import { n as c, r as l } from "./mobileCommand-D9O6iq3D.js";
|
|
5
|
+
import { basename as u, relative as d, resolve as f } from "node:path";
|
|
6
|
+
//#region src/codegenCommand.ts
|
|
7
|
+
var p = async (t) => {
|
|
8
|
+
let { config: i, present: a, error: o } = await r(t);
|
|
9
|
+
if (a && i === null) return {
|
|
10
|
+
kind: "refused",
|
|
11
|
+
reason: "app.config.ts exists but could not be loaded" + (o === void 0 ? "" : ` — ${o instanceof Error ? o.message : String(o)}`)
|
|
12
|
+
};
|
|
13
|
+
let c = i?.plugins ?? [], { pluginContributions: l, pluginErrorImports: d, pluginRpcImports: f } = await n(c, i?.name ?? u(t), t), p = await s({
|
|
14
|
+
root: t,
|
|
15
|
+
...l.length > 0 ? { pluginContributions: l } : {},
|
|
16
|
+
...d.length > 0 ? { pluginErrorImports: d } : {},
|
|
17
|
+
...f.length > 0 ? { pluginRpcImports: f } : {},
|
|
18
|
+
...i?.name === void 0 ? {} : { apiName: i.name }
|
|
19
|
+
});
|
|
20
|
+
if (!p) return { kind: "nothing-to-write" };
|
|
21
|
+
let h = await m(t, i), g = await e(p, h);
|
|
22
|
+
return {
|
|
23
|
+
kind: "wrote",
|
|
24
|
+
file: p,
|
|
25
|
+
plugins: c.length,
|
|
26
|
+
errorSchemas: d.length,
|
|
27
|
+
routes: f.length,
|
|
28
|
+
tables: h.size,
|
|
29
|
+
dts: g
|
|
30
|
+
};
|
|
31
|
+
}, m = async (e, n) => {
|
|
32
|
+
let r = await o(e), { tables: s } = await i(r), c = await a({ root: e });
|
|
33
|
+
return t(s, c, n?.analytics?.tables ?? []);
|
|
34
|
+
}, h = async (e) => {
|
|
35
|
+
let t = f(e.find((e) => !e.startsWith("-")) ?? process.cwd()), n = await l(t);
|
|
36
|
+
if (n.apis.kind !== "not-a-mobile-app") return c(t, n);
|
|
37
|
+
let r = await p(t);
|
|
38
|
+
return r.kind === "refused" ? (console.error(`voltro codegen: ${r.reason} — refusing to write.`), console.error(" The generated file would omit every plugin's error union and client routes, and would typecheck, so the omission would only surface as a missing error tag at runtime."), 1) : r.kind === "nothing-to-write" ? (console.log("voltro codegen: no rpc primitives found — nothing to write."), 0) : (console.log(`voltro codegen: wrote ${d(t, r.file)} (plugins ${r.plugins}, error schemas ${r.errorSchemas}, plugin routes ${r.routes})`), console.log(r.dts.action === "removed" ? ` removed ${d(t, r.dts.path)} — no tables declared, so \`source:\` is \`string\` again` : r.dts.action === "skipped" ? " no tables declared — `source:` stays `string`" : ` ${r.dts.action} ${d(t, r.dts.path)} (${r.tables} table name(s) typed for \`source:\`)`), r.plugins > 0 && r.errorSchemas === 0 && console.log(" note: no plugin contributed a cross-cutting error schema, so the wire error union carries only each procedure's own `error:`. Expected if none of your plugins declare `errorSchemas` — but `guards:` needs @voltro/plugin-rbac for its ScopeError to decode typed."), 0);
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { p as regenerateRpcGroup, h as runCodegenCommand };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as d } from "./pageConvention-
|
|
1
|
+
import { A as e, D as t, I as n, O as r, _ as i, d as a, f as o, i as s, m as c, p as l, r as u } from "./fileConventions-l-RIXbx8.js";
|
|
2
|
+
import { t as d } from "./pageConvention-CMpfDN6r.js";
|
|
3
3
|
import { r as f } from "./tsconfigPaths-BWXBWgcl.js";
|
|
4
|
-
import { a as p, i as m, t as h } from "./fileTaxonomy-
|
|
4
|
+
import { a as p, i as m, t as h } from "./fileTaxonomy-CbyMQYx_.js";
|
|
5
5
|
import { basename as g, dirname as _, join as v, relative as ee } from "node:path";
|
|
6
6
|
import { existsSync as y, readFileSync as te, statSync as ne } from "node:fs";
|
|
7
7
|
import { execFileSync as re } from "node:child_process";
|
|
@@ -1503,7 +1503,7 @@ var S = (e, t, n) => {
|
|
|
1503
1503
|
}, dt = /\.page\.tsx$/, F = (e) => {
|
|
1504
1504
|
let t = e.includes("\\src\\pages\\") ? "\\src\\pages\\" : "/src/pages/", n = e.indexOf(t);
|
|
1505
1505
|
return n === -1 ? null : e.slice(0, n);
|
|
1506
|
-
}, ft = (e) => e.endsWith(".tsx") && !
|
|
1506
|
+
}, ft = (e) => e.endsWith(".tsx") && !i.has(e) && !d(e) && !/\.island\.tsx$/.test(e) && !dt.test(e), pt = w({
|
|
1507
1507
|
version: "0.14.0",
|
|
1508
1508
|
id: "0.14.0/03_pages-suffix",
|
|
1509
1509
|
title: "Pages are declared with a .page.tsx suffix",
|
|
@@ -1553,18 +1553,18 @@ var S = (e, t, n) => {
|
|
|
1553
1553
|
}
|
|
1554
1554
|
}), mt = [
|
|
1555
1555
|
/\.page\.tsx$/,
|
|
1556
|
-
|
|
1556
|
+
c,
|
|
1557
1557
|
s,
|
|
1558
|
-
l,
|
|
1559
1558
|
u,
|
|
1560
|
-
|
|
1561
|
-
i,
|
|
1562
|
-
c,
|
|
1559
|
+
o,
|
|
1563
1560
|
e,
|
|
1564
|
-
|
|
1561
|
+
l,
|
|
1562
|
+
a,
|
|
1563
|
+
r,
|
|
1564
|
+
t
|
|
1565
1565
|
], ht = (e) => {
|
|
1566
1566
|
let t = g(e);
|
|
1567
|
-
return !/\.tsx?$/.test(t) ||
|
|
1567
|
+
return !/\.tsx?$/.test(t) || i.has(t) || n(t) || t === "index.ts" || t === "index.tsx" || t === "app.config.ts" ? !1 : !mt.some((e) => e.test(t));
|
|
1568
1568
|
}, gt = (e) => {
|
|
1569
1569
|
let t = [], n = [], r = [], i = [];
|
|
1570
1570
|
for (let [a, o] of e.getExportedDeclarations()) {
|
|
@@ -6032,6 +6032,104 @@ var S = (e, t, n) => {
|
|
|
6032
6032
|
" (that is what plugin-ratelimit's httpShield does now — a Redis outage",
|
|
6033
6033
|
" must not become a self-inflicted API outage)."
|
|
6034
6034
|
].join("\n")
|
|
6035
|
+
}),
|
|
6036
|
+
w({
|
|
6037
|
+
version: "0.53.0",
|
|
6038
|
+
id: "0.53.0/01_conflict-columns-take-the-table",
|
|
6039
|
+
title: "`missingConflictColumns` takes the table and classifies absent vs NULL",
|
|
6040
|
+
kind: "manual",
|
|
6041
|
+
appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => e.getFullText().includes("missingConflictColumns")),
|
|
6042
|
+
note: [
|
|
6043
|
+
"`missingConflictColumns(conflictColumns, row)` is now",
|
|
6044
|
+
"`missingConflictColumns(table, conflictColumns, row)`, and it returns",
|
|
6045
|
+
"`{ column, reason: \"absent\" | \"null\" }` entries instead of bare names.",
|
|
6046
|
+
"",
|
|
6047
|
+
"Pass the table definition (the same value `missingRequiredColumns` takes).",
|
|
6048
|
+
"With it, DB-generated columns (`generatedAs`) are skipped: the database",
|
|
6049
|
+
"computes those and rejects an explicit value, so their absence from a",
|
|
6050
|
+
"payload is correct — the old signature could not know that and flagged",
|
|
6051
|
+
"them. Pass `undefined` only when no definition is available; nothing is",
|
|
6052
|
+
"skipped then.",
|
|
6053
|
+
"",
|
|
6054
|
+
"The `reason` field separates two different bugs the old flat list merged:",
|
|
6055
|
+
"`absent` (the payload never set the key) and `null` (the key is present but",
|
|
6056
|
+
"NULL — and NULL never matches a unique conflict target, so the write would",
|
|
6057
|
+
"always INSERT; use a plain insert for NULL-keyed rows, or make the column",
|
|
6058
|
+
"NOT NULL)."
|
|
6059
|
+
].join("\n")
|
|
6060
|
+
}),
|
|
6061
|
+
w({
|
|
6062
|
+
version: "0.53.0",
|
|
6063
|
+
id: "0.53.0/02_empty-struct-input-flipped",
|
|
6064
|
+
title: "`input: Schema.Struct({})` procedures flipped from accept-everything to reject-everything in 0.37.0",
|
|
6065
|
+
kind: "manual",
|
|
6066
|
+
appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => /input:\s*Schema\.Struct\(\{\s*\}\)/.test(e.getFullText())),
|
|
6067
|
+
note: [
|
|
6068
|
+
"This repository declares procedures with `input: Schema.Struct({})`. Since",
|
|
6069
|
+
"0.37.0 (an undeclared input field rejects the call), that shape flipped",
|
|
6070
|
+
"HARDER than any other: an empty struct used to accept every payload, and",
|
|
6071
|
+
"now rejects every non-empty one. A caller that always sent a field —",
|
|
6072
|
+
"a table hook sending `{ limit }`, say — fails on the live subscription and",
|
|
6073
|
+
"the SSR seed of the same page at once.",
|
|
6074
|
+
"",
|
|
6075
|
+
"Check those procedures first — the list takes a minute to produce and",
|
|
6076
|
+
"yields the most expensive hits:",
|
|
6077
|
+
"",
|
|
6078
|
+
" grep -rn 'input: Schema.Struct({})' <api root>",
|
|
6079
|
+
"",
|
|
6080
|
+
"For each: either the callers genuinely send nothing (fine — the empty",
|
|
6081
|
+
"struct is the strongest declaration a procedure can make), or a caller",
|
|
6082
|
+
"sends fields the schema must now declare."
|
|
6083
|
+
].join("\n")
|
|
6084
|
+
}),
|
|
6085
|
+
w({
|
|
6086
|
+
version: "0.53.0",
|
|
6087
|
+
id: "0.53.0/03_validation-messages-are-ids",
|
|
6088
|
+
title: "Form validation messages are ids + catalog now, not effect developer text",
|
|
6089
|
+
kind: "manual",
|
|
6090
|
+
appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => {
|
|
6091
|
+
let t = e.getFullText();
|
|
6092
|
+
return /Expected .*, actual|is missing/.test(t) || /\.errors\[|useFormBinding\(/.test(t);
|
|
6093
|
+
}),
|
|
6094
|
+
note: [
|
|
6095
|
+
"Form validation messages changed shape:",
|
|
6096
|
+
"",
|
|
6097
|
+
"- `errors[field]` values are TRANSLATED texts from a message catalog",
|
|
6098
|
+
" (built-in en/de, locale from `<html lang>` or the `locale:` option),",
|
|
6099
|
+
" no longer effect developer sentences. If you laid regexes over",
|
|
6100
|
+
" \"Expected string, actual undefined\" to derive translation keys,",
|
|
6101
|
+
" delete them and wire your catalog instead:",
|
|
6102
|
+
"",
|
|
6103
|
+
" useFormBinding('users.create', { messages: (id, params) => t(id, params) })",
|
|
6104
|
+
"",
|
|
6105
|
+
"- `errors` keys are the FULL dotted path now (`address.city`,",
|
|
6106
|
+
" `entries.0.startsAt`) — a nested issue no longer collapses to its",
|
|
6107
|
+
" top-level segment. Code reading `errors.address` for a nested struct",
|
|
6108
|
+
" must read the leaf path it renders.",
|
|
6109
|
+
"",
|
|
6110
|
+
"- `validateFields` also returns `issues` — `{ path, id, params, fallback }`",
|
|
6111
|
+
" per failure — for widget kits that resolve messages themselves."
|
|
6112
|
+
].join("\n")
|
|
6113
|
+
}),
|
|
6114
|
+
w({
|
|
6115
|
+
version: "0.53.0",
|
|
6116
|
+
id: "0.53.0/04_widget-kind-gained-array",
|
|
6117
|
+
title: "WidgetKind gained 'array' and 'reference' — total widget registries need two new entries",
|
|
6118
|
+
kind: "manual",
|
|
6119
|
+
appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => /Record<WidgetKind/.test(e.getFullText())),
|
|
6120
|
+
note: [
|
|
6121
|
+
"This repository types a widget registry as `Record<WidgetKind, …>`.",
|
|
6122
|
+
"`WidgetKind` gained `'array'` (arrays of structs are field arrays now)",
|
|
6123
|
+
"and `'reference'` (a formField({ reference }) table picker), so the total",
|
|
6124
|
+
"map needs two new entries. With no dedicated UI yet, map both to your",
|
|
6125
|
+
"custom/render-prop widget — that is what the built-in registry does:",
|
|
6126
|
+
"",
|
|
6127
|
+
" array: CustomWidget,",
|
|
6128
|
+
" reference: CustomWidget,",
|
|
6129
|
+
"",
|
|
6130
|
+
"Partial registries (`Partial<Record<WidgetKind, …>>` or per-kind lookups)",
|
|
6131
|
+
"need nothing."
|
|
6132
|
+
].join("\n")
|
|
6035
6133
|
})
|
|
6036
6134
|
], J = /* @__PURE__ */ new Set([
|
|
6037
6135
|
"node_modules",
|