@geekmidas/cli 10.0.0-alpha.60 → 10.0.0-alpha.62
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/{HostingerProvider-DgzKa_Tj.mjs → HostingerProvider-B92qH4dC.mjs} +2 -2
- package/dist/{HostingerProvider-DgzKa_Tj.mjs.map → HostingerProvider-B92qH4dC.mjs.map} +1 -1
- package/dist/{HostingerProvider-BTZd2u0f.cjs → HostingerProvider-DyD1Hin8.cjs} +2 -2
- package/dist/{HostingerProvider-BTZd2u0f.cjs.map → HostingerProvider-DyD1Hin8.cjs.map} +1 -1
- package/dist/{LegacyStateStore-CToa2hga.mjs → LegacyStateStore-A8d2GdT7.mjs} +2 -2
- package/dist/{LegacyStateStore-CToa2hga.mjs.map → LegacyStateStore-A8d2GdT7.mjs.map} +1 -1
- package/dist/{LegacyStateStore-CidlPT0N.cjs → LegacyStateStore-UHJEBLdn.cjs} +2 -2
- package/dist/{LegacyStateStore-CidlPT0N.cjs.map → LegacyStateStore-UHJEBLdn.cjs.map} +1 -1
- package/dist/{LocalStateStore-BFLiOocU.mjs → LocalStateStore-B51rnfgn.mjs} +2 -2
- package/dist/{LocalStateStore-BFLiOocU.mjs.map → LocalStateStore-B51rnfgn.mjs.map} +1 -1
- package/dist/{LocalStateStore-Dpuqka1N.cjs → LocalStateStore-COW3Ldwa.cjs} +2 -2
- package/dist/{LocalStateStore-Dpuqka1N.cjs.map → LocalStateStore-COW3Ldwa.cjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-BTuUumsV.cjs → OpenApiTsGenerator-BSrgw7B0.cjs} +31 -2
- package/dist/OpenApiTsGenerator-BSrgw7B0.cjs.map +1 -0
- package/dist/{OpenApiTsGenerator-CvVr1Ilz.mjs → OpenApiTsGenerator-q5B0z8Xg.mjs} +31 -2
- package/dist/OpenApiTsGenerator-q5B0z8Xg.mjs.map +1 -0
- package/dist/{S3StateStore-aaGkjcxO.mjs → S3StateStore-CJewPhgz.mjs} +2 -2
- package/dist/{S3StateStore-aaGkjcxO.mjs.map → S3StateStore-CJewPhgz.mjs.map} +1 -1
- package/dist/{S3StateStore-cnm813Xn.cjs → S3StateStore-WUJGdRNL.cjs} +2 -2
- package/dist/{S3StateStore-cnm813Xn.cjs.map → S3StateStore-WUJGdRNL.cjs.map} +1 -1
- package/dist/{SSMStateStore-DwaGprVX.cjs → SSMStateStore-Zejt42V8.cjs} +2 -2
- package/dist/{SSMStateStore-DwaGprVX.cjs.map → SSMStateStore-Zejt42V8.cjs.map} +1 -1
- package/dist/{SSMStateStore-BllaJKGo.mjs → SSMStateStore-iK5UKp9d.mjs} +2 -2
- package/dist/{SSMStateStore-BllaJKGo.mjs.map → SSMStateStore-iK5UKp9d.mjs.map} +1 -1
- package/dist/{bundler-CzXZPSBJ.cjs → bundler-CfH9frOS.cjs} +2 -2
- package/dist/{bundler-CzXZPSBJ.cjs.map → bundler-CfH9frOS.cjs.map} +1 -1
- package/dist/{bundler-DJVR4QlW.mjs → bundler-DN5r4x5b.mjs} +2 -2
- package/dist/{bundler-DJVR4QlW.mjs.map → bundler-DN5r4x5b.mjs.map} +1 -1
- package/dist/{cli-D_qTl20Z.cjs → cli-DOAUp80L.cjs} +12 -16
- package/dist/cli-DOAUp80L.cjs.map +1 -0
- package/dist/{cli-DzR1hpum.mjs → cli-DYwxmfsW.mjs} +10 -14
- package/dist/cli-DYwxmfsW.mjs.map +1 -0
- package/dist/{config-DXnkCEq0.cjs → config-BYh9S0cZ.cjs} +2 -2
- package/dist/config-BYh9S0cZ.cjs.map +1 -0
- package/dist/{config-C5-EEdmr.mjs → config-Bf4-bROQ.mjs} +2 -2
- package/dist/config-Bf4-bROQ.mjs.map +1 -0
- package/dist/config.cjs +2 -2
- package/dist/config.d.cts +2 -2
- package/dist/config.d.mts +2 -2
- package/dist/config.mjs +2 -2
- package/dist/define-CHBIEc5j.mjs +94 -0
- package/dist/define-CHBIEc5j.mjs.map +1 -0
- package/dist/define-Cv_QvDrg.cjs +141 -0
- package/dist/define-Cv_QvDrg.cjs.map +1 -0
- package/dist/deploy/public.cjs +28 -13
- package/dist/deploy/public.d.cts +38 -315
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +38 -315
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +8 -3
- package/dist/{deploy-D6Q09OkA.mjs → deploy-B7jvUORo.mjs} +155 -682
- package/dist/deploy-B7jvUORo.mjs.map +1 -0
- package/dist/deploy-Cg9fae7a.mjs +133 -0
- package/dist/deploy-Cg9fae7a.mjs.map +1 -0
- package/dist/deploy-D8Qr-Xto.cjs +138 -0
- package/dist/deploy-D8Qr-Xto.cjs.map +1 -0
- package/dist/{deploy-0fBVeWO-.cjs → deploy-DSaCYvcO.cjs} +182 -727
- package/dist/deploy-DSaCYvcO.cjs.map +1 -0
- package/dist/dokploy-CD9PY-3D.mjs +32 -0
- package/dist/dokploy-CD9PY-3D.mjs.map +1 -0
- package/dist/dokploy-Ey2foJLv.cjs +32 -0
- package/dist/dokploy-Ey2foJLv.cjs.map +1 -0
- package/dist/{encryption-aDA2AzVx.mjs → encryption-CVwvGbsL.mjs} +4 -4
- package/dist/{encryption-aDA2AzVx.mjs.map → encryption-CVwvGbsL.mjs.map} +1 -1
- package/dist/{encryption-CML4UaPi.cjs → encryption-ChBk3hTj.cjs} +4 -4
- package/dist/{encryption-CML4UaPi.cjs.map → encryption-ChBk3hTj.cjs.map} +1 -1
- package/dist/{github-DmCj2u95.mjs → github-BCB3_LBX.mjs} +3 -3
- package/dist/{github-DmCj2u95.mjs.map → github-BCB3_LBX.mjs.map} +1 -1
- package/dist/{github-Cq57poPj.cjs → github-OUgPDlqg.cjs} +3 -3
- package/dist/{github-Cq57poPj.cjs.map → github-OUgPDlqg.cjs.map} +1 -1
- package/dist/{index-UiWCaGzU.d.cts → index-BtXDZQuF.d.cts} +2 -2
- package/dist/{index-Da1-oa9W.d.mts.map → index-BtXDZQuF.d.cts.map} +1 -1
- package/dist/{index-Da1-oa9W.d.mts → index-DrKzpHl-.d.mts} +2 -2
- package/dist/{index-UiWCaGzU.d.cts.map → index-DrKzpHl-.d.mts.map} +1 -1
- package/dist/index.cjs +1728 -146
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1719 -153
- package/dist/index.mjs.map +1 -1
- package/dist/migrate-BoHMqdCu.mjs +265 -0
- package/dist/migrate-BoHMqdCu.mjs.map +1 -0
- package/dist/migrate-dnaFMvOm.cjs +270 -0
- package/dist/migrate-dnaFMvOm.cjs.map +1 -0
- package/dist/openapi.cjs +2 -2
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +2 -2
- package/dist/{ready-CIHpnUc5.mjs → ready-DQIy21W5.mjs} +2 -2
- package/dist/{ready-CIHpnUc5.mjs.map → ready-DQIy21W5.mjs.map} +1 -1
- package/dist/{ready-CCLIAkwR.cjs → ready-XlNx-Gbo.cjs} +2 -2
- package/dist/{ready-CCLIAkwR.cjs.map → ready-XlNx-Gbo.cjs.map} +1 -1
- package/dist/reconcile/public.d.cts +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/resolve-CFCIkm7m.mjs +170 -0
- package/dist/resolve-CFCIkm7m.mjs.map +1 -0
- package/dist/resolve-wbv66HjD.cjs +217 -0
- package/dist/resolve-wbv66HjD.cjs.map +1 -0
- package/dist/runtime-CMwtq0AL.cjs +163 -0
- package/dist/runtime-CMwtq0AL.cjs.map +1 -0
- package/dist/runtime-CXPlkZzs.d.mts +90 -0
- package/dist/runtime-CXPlkZzs.d.mts.map +1 -0
- package/dist/runtime-DbakJS8u.mjs +134 -0
- package/dist/runtime-DbakJS8u.mjs.map +1 -0
- package/dist/runtime-Dn_n-29S.d.cts +90 -0
- package/dist/runtime-Dn_n-29S.d.cts.map +1 -0
- package/dist/{sniffer-DIv12ncU.cjs → sniffer-BsfPa-GA.cjs} +2581 -2170
- package/dist/sniffer-BsfPa-GA.cjs.map +1 -0
- package/dist/{sniffer-BM8fpCas.mjs → sniffer-DHE2Nafd.mjs} +2428 -2185
- package/dist/sniffer-DHE2Nafd.mjs.map +1 -0
- package/dist/target/public.cjs +15 -0
- package/dist/target/public.d.cts +28 -0
- package/dist/target/public.d.cts.map +1 -0
- package/dist/target/public.d.mts +28 -0
- package/dist/target/public.d.mts.map +1 -0
- package/dist/target/public.mjs +4 -0
- package/dist/terminal-6oL0vANs.cjs +576 -0
- package/dist/terminal-6oL0vANs.cjs.map +1 -0
- package/dist/terminal-ByZNjuig.mjs +517 -0
- package/dist/terminal-ByZNjuig.mjs.map +1 -0
- package/dist/{types-efNLu9xu.d.cts → types-CfLKGfC_.d.mts} +624 -34
- package/dist/types-CfLKGfC_.d.mts.map +1 -0
- package/dist/{types-Bp1mVxG0.d.mts → types-DIA7Li-J.d.cts} +626 -34
- package/dist/types-DIA7Li-J.d.cts.map +1 -0
- package/dist/vitest.cjs +1 -1
- package/dist/vitest.mjs +1 -1
- package/dist/workspace/index.cjs +1 -1
- package/dist/workspace/index.d.cts +3 -3
- package/dist/workspace/index.d.mts +3 -3
- package/dist/workspace/index.mjs +1 -1
- package/dist/{workspace-B64Xk1Mb.cjs → workspace-B6zQO6RY.cjs} +229 -23
- package/dist/workspace-B6zQO6RY.cjs.map +1 -0
- package/dist/{workspace-Bp1xVaOz.mjs → workspace-BFe57es7.mjs} +229 -23
- package/dist/workspace-BFe57es7.mjs.map +1 -0
- package/package.json +23 -13
- package/dist/OpenApiTsGenerator-BTuUumsV.cjs.map +0 -1
- package/dist/OpenApiTsGenerator-CvVr1Ilz.mjs.map +0 -1
- package/dist/cli-D_qTl20Z.cjs.map +0 -1
- package/dist/cli-DzR1hpum.mjs.map +0 -1
- package/dist/config-C5-EEdmr.mjs.map +0 -1
- package/dist/config-DXnkCEq0.cjs.map +0 -1
- package/dist/deploy-0fBVeWO-.cjs.map +0 -1
- package/dist/deploy-D6Q09OkA.mjs.map +0 -1
- package/dist/migrate-BTqIflwc.cjs +0 -743
- package/dist/migrate-BTqIflwc.cjs.map +0 -1
- package/dist/migrate-B_6KofUo.mjs +0 -736
- package/dist/migrate-B_6KofUo.mjs.map +0 -1
- package/dist/sniffer-BM8fpCas.mjs.map +0 -1
- package/dist/sniffer-DIv12ncU.cjs.map +0 -1
- package/dist/types-Bp1mVxG0.d.mts.map +0 -1
- package/dist/types-efNLu9xu.d.cts.map +0 -1
- package/dist/workspace-B64Xk1Mb.cjs.map +0 -1
- package/dist/workspace-Bp1xVaOz.mjs.map +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
//#region src/target/builtins.ts
|
|
2
|
+
const BUILTIN_TARGETS = {
|
|
3
|
+
dokploy: {
|
|
4
|
+
runtime: "server",
|
|
5
|
+
status: "available"
|
|
6
|
+
},
|
|
7
|
+
sst: {
|
|
8
|
+
runtime: "aws",
|
|
9
|
+
status: "external",
|
|
10
|
+
instead: (stage) => `run \`gkm build && sst deploy --stage ${stage}\``
|
|
11
|
+
},
|
|
12
|
+
vercel: {
|
|
13
|
+
runtime: "aws",
|
|
14
|
+
status: "planned"
|
|
15
|
+
},
|
|
16
|
+
cloudflare: {
|
|
17
|
+
runtime: "aws",
|
|
18
|
+
status: "planned"
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/** The built-in target called `name`, if one is. */
|
|
22
|
+
function builtinTarget(name) {
|
|
23
|
+
return Object.hasOwn(BUILTIN_TARGETS, name) ? BUILTIN_TARGETS[name] : void 0;
|
|
24
|
+
}
|
|
25
|
+
/** Built-in names a config may use. */
|
|
26
|
+
function configurableBuiltins() {
|
|
27
|
+
return Object.entries(BUILTIN_TARGETS).filter(([, target]) => target.status !== "planned").map(([name]) => name);
|
|
28
|
+
}
|
|
29
|
+
/** The `deploy.targets` entry called `name`, if the config has one. */
|
|
30
|
+
function configuredTarget(deploy, name) {
|
|
31
|
+
const targets = deploy?.targets;
|
|
32
|
+
return targets && Object.hasOwn(targets, name) ? targets[name] : void 0;
|
|
33
|
+
}
|
|
34
|
+
/** A target name that is neither built in nor in `deploy.targets`. */
|
|
35
|
+
var UnknownDeployTarget = class extends Error {
|
|
36
|
+
target;
|
|
37
|
+
known;
|
|
38
|
+
constructor(target, known) {
|
|
39
|
+
super(`Unknown deploy target "${target}". Use one of ${known.join(", ")}, or name the package that provides it in gkm.config.ts: deploy: { targets: { ${JSON.stringify(target)}: '<package>' } }.`);
|
|
40
|
+
this.target = target;
|
|
41
|
+
this.known = known;
|
|
42
|
+
this.name = "UnknownDeployTarget";
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
/** A built-in target `gkm deploy` cannot deploy through yet. */
|
|
46
|
+
var DeployTargetNotYetSupported = class extends Error {
|
|
47
|
+
target;
|
|
48
|
+
instead;
|
|
49
|
+
constructor(target, instead) {
|
|
50
|
+
super(instead ? `gkm deploy cannot deploy through "${target}" yet: ${instead}.` : `Deploy target "${target}" is not supported yet. Deploy with dokploy, or name a target package in deploy.targets.`);
|
|
51
|
+
this.target = target;
|
|
52
|
+
this.instead = instead;
|
|
53
|
+
this.name = "DeployTargetNotYetSupported";
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/target/define.ts
|
|
58
|
+
/**
|
|
59
|
+
* A deploy target, typed from what it is written with: the options from its
|
|
60
|
+
* `options` schema, the run state from what `validate` returns. Nothing
|
|
61
|
+
* happens at runtime — it returns the target as given.
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* export default defineTarget({
|
|
65
|
+
* name: 'fly',
|
|
66
|
+
* runtime: 'server',
|
|
67
|
+
* capabilities: { rollback: true, migrations: 'target', images: true },
|
|
68
|
+
* options: z.object({ org: z.string() }),
|
|
69
|
+
* async validate(ctx) {
|
|
70
|
+
* return { org: ctx.options.org }; // ctx.options: { org: string }
|
|
71
|
+
* },
|
|
72
|
+
* async release(ctx, run) { … }, // run: { org: string }
|
|
73
|
+
* …
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
function defineTarget(target) {
|
|
78
|
+
return target;
|
|
79
|
+
}
|
|
80
|
+
/** Whether `value` has the shape of a target. */
|
|
81
|
+
function isDeployTarget(value) {
|
|
82
|
+
if (!value || typeof value !== "object") return false;
|
|
83
|
+
const candidate = value;
|
|
84
|
+
return typeof candidate.name === "string" && (candidate.runtime === "server" || candidate.runtime === "aws") && typeof candidate.capabilities === "object" && candidate.capabilities !== null && [
|
|
85
|
+
"validate",
|
|
86
|
+
"plan",
|
|
87
|
+
"release",
|
|
88
|
+
"result"
|
|
89
|
+
].every((phase) => typeof candidate[phase] === "function");
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { UnknownDeployTarget as a, configuredTarget as c, DeployTargetNotYetSupported as i, isDeployTarget as n, builtinTarget as o, BUILTIN_TARGETS as r, configurableBuiltins as s, defineTarget as t };
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=define-CHBIEc5j.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-CHBIEc5j.mjs","names":[],"sources":["../src/target/builtins.ts","../src/target/define.ts"],"sourcesContent":["/**\n * The target names the CLI knows without being told, and how a name is\n * looked up.\n *\n * Plain data, so the config schema and `providerOf` — which `gkm dev` and\n * `gkm build` call synchronously on every start — can ask what a name means\n * without importing a deploy engine.\n */\n\nimport type { DeployRuntime, DeployTargetEntry } from './types';\n\n/**\n * - `available`: `gkm deploy` deploys through it.\n * - `external`: a valid `deploy.default` that builds and runs locally, but is\n * deployed by its own tool — `gkm deploy` refuses it and says which.\n * - `planned`: reserved, and refused everywhere.\n */\nexport type BuiltinStatus = 'available' | 'external' | 'planned';\n\nexport interface BuiltinTarget {\n\treadonly runtime: DeployRuntime;\n\treadonly status: BuiltinStatus;\n\t/** What to do instead, for a target `gkm deploy` cannot deploy through yet. */\n\treadonly instead?: (stage: string) => string;\n}\n\nexport const BUILTIN_TARGETS = {\n\tdokploy: { runtime: 'server', status: 'available' },\n\tsst: {\n\t\truntime: 'aws',\n\t\tstatus: 'external',\n\t\tinstead: (stage) => `run \\`gkm build && sst deploy --stage ${stage}\\``,\n\t},\n\t// Neither runs containers the project controls, so both take the managed\n\t// defaults when they arrive.\n\tvercel: { runtime: 'aws', status: 'planned' },\n\tcloudflare: { runtime: 'aws', status: 'planned' },\n} as const satisfies Record<string, BuiltinTarget>;\n\nexport type BuiltinTargetName = keyof typeof BUILTIN_TARGETS;\n\n/** The built-in target called `name`, if one is. */\nexport function builtinTarget(name: string): BuiltinTarget | undefined {\n\treturn Object.hasOwn(BUILTIN_TARGETS, name)\n\t\t? BUILTIN_TARGETS[name as BuiltinTargetName]\n\t\t: undefined;\n}\n\n/** Built-in names a config may use. */\nexport function configurableBuiltins(): string[] {\n\treturn Object.entries(BUILTIN_TARGETS)\n\t\t.filter(([, target]) => target.status !== 'planned')\n\t\t.map(([name]) => name);\n}\n\n/** The `deploy.targets` entry called `name`, if the config has one. */\nexport function configuredTarget(\n\tdeploy: { targets?: Record<string, DeployTargetEntry> } | undefined,\n\tname: string,\n): DeployTargetEntry | undefined {\n\tconst targets = deploy?.targets;\n\treturn targets && Object.hasOwn(targets, name) ? targets[name] : undefined;\n}\n\n/** A target name that is neither built in nor in `deploy.targets`. */\nexport class UnknownDeployTarget extends Error {\n\tconstructor(\n\t\treadonly target: string,\n\t\t/** The names that would have resolved. */\n\t\treadonly known: readonly string[],\n\t) {\n\t\tsuper(\n\t\t\t`Unknown deploy target \"${target}\". Use one of ${known.join(', ')}, or name the package that provides it in gkm.config.ts: deploy: { targets: { ${JSON.stringify(target)}: '<package>' } }.`,\n\t\t);\n\t\tthis.name = 'UnknownDeployTarget';\n\t}\n}\n\n/** A built-in target `gkm deploy` cannot deploy through yet. */\nexport class DeployTargetNotYetSupported extends Error {\n\tconstructor(\n\t\treadonly target: string,\n\t\t/** What to do instead, when there is something. */\n\t\treadonly instead?: string,\n\t) {\n\t\tsuper(\n\t\t\tinstead\n\t\t\t\t? `gkm deploy cannot deploy through \"${target}\" yet: ${instead}.`\n\t\t\t\t: `Deploy target \"${target}\" is not supported yet. Deploy with dokploy, or name a target package in deploy.targets.`,\n\t\t);\n\t\tthis.name = 'DeployTargetNotYetSupported';\n\t}\n}\n","import type { AnyDeployTarget, DeployTarget } from './types';\n\n/**\n * A deploy target, typed from what it is written with: the options from its\n * `options` schema, the run state from what `validate` returns. Nothing\n * happens at runtime — it returns the target as given.\n *\n * ```ts\n * export default defineTarget({\n * name: 'fly',\n * runtime: 'server',\n * capabilities: { rollback: true, migrations: 'target', images: true },\n * options: z.object({ org: z.string() }),\n * async validate(ctx) {\n * return { org: ctx.options.org }; // ctx.options: { org: string }\n * },\n * async release(ctx, run) { … }, // run: { org: string }\n * …\n * });\n * ```\n */\nexport function defineTarget<Options = undefined, Run = void>(\n\ttarget: DeployTarget<Options, Run>,\n): DeployTarget<Options, Run> {\n\treturn target;\n}\n\n/** Whether `value` has the shape of a target. */\nexport function isDeployTarget(value: unknown): value is AnyDeployTarget {\n\tif (!value || typeof value !== 'object') return false;\n\tconst candidate = value as Record<string, unknown>;\n\treturn (\n\t\ttypeof candidate.name === 'string' &&\n\t\t(candidate.runtime === 'server' || candidate.runtime === 'aws') &&\n\t\ttypeof candidate.capabilities === 'object' &&\n\t\tcandidate.capabilities !== null &&\n\t\t['validate', 'plan', 'release', 'result'].every(\n\t\t\t(phase) => typeof candidate[phase] === 'function',\n\t\t)\n\t);\n}\n"],"mappings":";AA0BA,MAAa,kBAAkB;CAC9B,SAAS;EAAE,SAAS;EAAU,QAAQ;CAAY;CAClD,KAAK;EACJ,SAAS;EACT,QAAQ;EACR,UAAU,UAAU,yCAAyC,MAAM;CACpE;CAGA,QAAQ;EAAE,SAAS;EAAO,QAAQ;CAAU;CAC5C,YAAY;EAAE,SAAS;EAAO,QAAQ;CAAU;AACjD;;AAKA,SAAgB,cAAc,MAAyC;CACtE,OAAO,OAAO,OAAO,iBAAiB,IAAI,IACvC,gBAAgB,QAChB,KAAA;AACJ;;AAGA,SAAgB,uBAAiC;CAChD,OAAO,OAAO,QAAQ,eAAe,CAAC,CACpC,QAAQ,GAAG,YAAY,OAAO,WAAW,SAAS,CAAC,CACnD,KAAK,CAAC,UAAU,IAAI;AACvB;;AAGA,SAAgB,iBACf,QACA,MACgC;CAChC,MAAM,UAAU,QAAQ;CACxB,OAAO,WAAW,OAAO,OAAO,SAAS,IAAI,IAAI,QAAQ,QAAQ,KAAA;AAClE;;AAGA,IAAa,sBAAb,cAAyC,MAAM;CAEpC;CAEA;CAHV,YACC,QAEA,OACC;EACD,MACC,0BAA0B,OAAO,gBAAgB,MAAM,KAAK,IAAI,EAAE,gFAAgF,KAAK,UAAU,MAAM,EAAE,mBAC1K;EANS,KAAA,SAAA;EAEA,KAAA,QAAA;EAKT,KAAK,OAAO;CACb;AACD;;AAGA,IAAa,8BAAb,cAAiD,MAAM;CAE5C;CAEA;CAHV,YACC,QAEA,SACC;EACD,MACC,UACG,qCAAqC,OAAO,SAAS,QAAQ,KAC7D,kBAAkB,OAAO,yFAC7B;EARS,KAAA,SAAA;EAEA,KAAA,UAAA;EAOT,KAAK,OAAO;CACb;AACD;;;;;;;;;;;;;;;;;;;;;;ACvEA,SAAgB,aACf,QAC6B;CAC7B,OAAO;AACR;;AAGA,SAAgB,eAAe,OAA0C;CACxE,IAAI,CAAC,SAAS,OAAO,UAAU,UAAU,OAAO;CAChD,MAAM,YAAY;CAClB,OACC,OAAO,UAAU,SAAS,aACzB,UAAU,YAAY,YAAY,UAAU,YAAY,UACzD,OAAO,UAAU,iBAAiB,YAClC,UAAU,iBAAiB,QAC3B;EAAC;EAAY;EAAQ;EAAW;CAAQ,CAAC,CAAC,OACxC,UAAU,OAAO,UAAU,WAAW,UACxC;AAEF"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
//#region src/target/builtins.ts
|
|
2
|
+
const BUILTIN_TARGETS = {
|
|
3
|
+
dokploy: {
|
|
4
|
+
runtime: "server",
|
|
5
|
+
status: "available"
|
|
6
|
+
},
|
|
7
|
+
sst: {
|
|
8
|
+
runtime: "aws",
|
|
9
|
+
status: "external",
|
|
10
|
+
instead: (stage) => `run \`gkm build && sst deploy --stage ${stage}\``
|
|
11
|
+
},
|
|
12
|
+
vercel: {
|
|
13
|
+
runtime: "aws",
|
|
14
|
+
status: "planned"
|
|
15
|
+
},
|
|
16
|
+
cloudflare: {
|
|
17
|
+
runtime: "aws",
|
|
18
|
+
status: "planned"
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/** The built-in target called `name`, if one is. */
|
|
22
|
+
function builtinTarget(name) {
|
|
23
|
+
return Object.hasOwn(BUILTIN_TARGETS, name) ? BUILTIN_TARGETS[name] : void 0;
|
|
24
|
+
}
|
|
25
|
+
/** Built-in names a config may use. */
|
|
26
|
+
function configurableBuiltins() {
|
|
27
|
+
return Object.entries(BUILTIN_TARGETS).filter(([, target]) => target.status !== "planned").map(([name]) => name);
|
|
28
|
+
}
|
|
29
|
+
/** The `deploy.targets` entry called `name`, if the config has one. */
|
|
30
|
+
function configuredTarget(deploy, name) {
|
|
31
|
+
const targets = deploy?.targets;
|
|
32
|
+
return targets && Object.hasOwn(targets, name) ? targets[name] : void 0;
|
|
33
|
+
}
|
|
34
|
+
/** A target name that is neither built in nor in `deploy.targets`. */
|
|
35
|
+
var UnknownDeployTarget = class extends Error {
|
|
36
|
+
target;
|
|
37
|
+
known;
|
|
38
|
+
constructor(target, known) {
|
|
39
|
+
super(`Unknown deploy target "${target}". Use one of ${known.join(", ")}, or name the package that provides it in gkm.config.ts: deploy: { targets: { ${JSON.stringify(target)}: '<package>' } }.`);
|
|
40
|
+
this.target = target;
|
|
41
|
+
this.known = known;
|
|
42
|
+
this.name = "UnknownDeployTarget";
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
/** A built-in target `gkm deploy` cannot deploy through yet. */
|
|
46
|
+
var DeployTargetNotYetSupported = class extends Error {
|
|
47
|
+
target;
|
|
48
|
+
instead;
|
|
49
|
+
constructor(target, instead) {
|
|
50
|
+
super(instead ? `gkm deploy cannot deploy through "${target}" yet: ${instead}.` : `Deploy target "${target}" is not supported yet. Deploy with dokploy, or name a target package in deploy.targets.`);
|
|
51
|
+
this.target = target;
|
|
52
|
+
this.instead = instead;
|
|
53
|
+
this.name = "DeployTargetNotYetSupported";
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/target/define.ts
|
|
58
|
+
/**
|
|
59
|
+
* A deploy target, typed from what it is written with: the options from its
|
|
60
|
+
* `options` schema, the run state from what `validate` returns. Nothing
|
|
61
|
+
* happens at runtime — it returns the target as given.
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* export default defineTarget({
|
|
65
|
+
* name: 'fly',
|
|
66
|
+
* runtime: 'server',
|
|
67
|
+
* capabilities: { rollback: true, migrations: 'target', images: true },
|
|
68
|
+
* options: z.object({ org: z.string() }),
|
|
69
|
+
* async validate(ctx) {
|
|
70
|
+
* return { org: ctx.options.org }; // ctx.options: { org: string }
|
|
71
|
+
* },
|
|
72
|
+
* async release(ctx, run) { … }, // run: { org: string }
|
|
73
|
+
* …
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
function defineTarget(target) {
|
|
78
|
+
return target;
|
|
79
|
+
}
|
|
80
|
+
/** Whether `value` has the shape of a target. */
|
|
81
|
+
function isDeployTarget(value) {
|
|
82
|
+
if (!value || typeof value !== "object") return false;
|
|
83
|
+
const candidate = value;
|
|
84
|
+
return typeof candidate.name === "string" && (candidate.runtime === "server" || candidate.runtime === "aws") && typeof candidate.capabilities === "object" && candidate.capabilities !== null && [
|
|
85
|
+
"validate",
|
|
86
|
+
"plan",
|
|
87
|
+
"release",
|
|
88
|
+
"result"
|
|
89
|
+
].every((phase) => typeof candidate[phase] === "function");
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
Object.defineProperty(exports, "BUILTIN_TARGETS", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function() {
|
|
95
|
+
return BUILTIN_TARGETS;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(exports, "DeployTargetNotYetSupported", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function() {
|
|
101
|
+
return DeployTargetNotYetSupported;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(exports, "UnknownDeployTarget", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function() {
|
|
107
|
+
return UnknownDeployTarget;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(exports, "builtinTarget", {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
get: function() {
|
|
113
|
+
return builtinTarget;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
Object.defineProperty(exports, "configurableBuiltins", {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function() {
|
|
119
|
+
return configurableBuiltins;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(exports, "configuredTarget", {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function() {
|
|
125
|
+
return configuredTarget;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, "defineTarget", {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function() {
|
|
131
|
+
return defineTarget;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(exports, "isDeployTarget", {
|
|
135
|
+
enumerable: true,
|
|
136
|
+
get: function() {
|
|
137
|
+
return isDeployTarget;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
//# sourceMappingURL=define-Cv_QvDrg.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-Cv_QvDrg.cjs","names":[],"sources":["../src/target/builtins.ts","../src/target/define.ts"],"sourcesContent":["/**\n * The target names the CLI knows without being told, and how a name is\n * looked up.\n *\n * Plain data, so the config schema and `providerOf` — which `gkm dev` and\n * `gkm build` call synchronously on every start — can ask what a name means\n * without importing a deploy engine.\n */\n\nimport type { DeployRuntime, DeployTargetEntry } from './types';\n\n/**\n * - `available`: `gkm deploy` deploys through it.\n * - `external`: a valid `deploy.default` that builds and runs locally, but is\n * deployed by its own tool — `gkm deploy` refuses it and says which.\n * - `planned`: reserved, and refused everywhere.\n */\nexport type BuiltinStatus = 'available' | 'external' | 'planned';\n\nexport interface BuiltinTarget {\n\treadonly runtime: DeployRuntime;\n\treadonly status: BuiltinStatus;\n\t/** What to do instead, for a target `gkm deploy` cannot deploy through yet. */\n\treadonly instead?: (stage: string) => string;\n}\n\nexport const BUILTIN_TARGETS = {\n\tdokploy: { runtime: 'server', status: 'available' },\n\tsst: {\n\t\truntime: 'aws',\n\t\tstatus: 'external',\n\t\tinstead: (stage) => `run \\`gkm build && sst deploy --stage ${stage}\\``,\n\t},\n\t// Neither runs containers the project controls, so both take the managed\n\t// defaults when they arrive.\n\tvercel: { runtime: 'aws', status: 'planned' },\n\tcloudflare: { runtime: 'aws', status: 'planned' },\n} as const satisfies Record<string, BuiltinTarget>;\n\nexport type BuiltinTargetName = keyof typeof BUILTIN_TARGETS;\n\n/** The built-in target called `name`, if one is. */\nexport function builtinTarget(name: string): BuiltinTarget | undefined {\n\treturn Object.hasOwn(BUILTIN_TARGETS, name)\n\t\t? BUILTIN_TARGETS[name as BuiltinTargetName]\n\t\t: undefined;\n}\n\n/** Built-in names a config may use. */\nexport function configurableBuiltins(): string[] {\n\treturn Object.entries(BUILTIN_TARGETS)\n\t\t.filter(([, target]) => target.status !== 'planned')\n\t\t.map(([name]) => name);\n}\n\n/** The `deploy.targets` entry called `name`, if the config has one. */\nexport function configuredTarget(\n\tdeploy: { targets?: Record<string, DeployTargetEntry> } | undefined,\n\tname: string,\n): DeployTargetEntry | undefined {\n\tconst targets = deploy?.targets;\n\treturn targets && Object.hasOwn(targets, name) ? targets[name] : undefined;\n}\n\n/** A target name that is neither built in nor in `deploy.targets`. */\nexport class UnknownDeployTarget extends Error {\n\tconstructor(\n\t\treadonly target: string,\n\t\t/** The names that would have resolved. */\n\t\treadonly known: readonly string[],\n\t) {\n\t\tsuper(\n\t\t\t`Unknown deploy target \"${target}\". Use one of ${known.join(', ')}, or name the package that provides it in gkm.config.ts: deploy: { targets: { ${JSON.stringify(target)}: '<package>' } }.`,\n\t\t);\n\t\tthis.name = 'UnknownDeployTarget';\n\t}\n}\n\n/** A built-in target `gkm deploy` cannot deploy through yet. */\nexport class DeployTargetNotYetSupported extends Error {\n\tconstructor(\n\t\treadonly target: string,\n\t\t/** What to do instead, when there is something. */\n\t\treadonly instead?: string,\n\t) {\n\t\tsuper(\n\t\t\tinstead\n\t\t\t\t? `gkm deploy cannot deploy through \"${target}\" yet: ${instead}.`\n\t\t\t\t: `Deploy target \"${target}\" is not supported yet. Deploy with dokploy, or name a target package in deploy.targets.`,\n\t\t);\n\t\tthis.name = 'DeployTargetNotYetSupported';\n\t}\n}\n","import type { AnyDeployTarget, DeployTarget } from './types';\n\n/**\n * A deploy target, typed from what it is written with: the options from its\n * `options` schema, the run state from what `validate` returns. Nothing\n * happens at runtime — it returns the target as given.\n *\n * ```ts\n * export default defineTarget({\n * name: 'fly',\n * runtime: 'server',\n * capabilities: { rollback: true, migrations: 'target', images: true },\n * options: z.object({ org: z.string() }),\n * async validate(ctx) {\n * return { org: ctx.options.org }; // ctx.options: { org: string }\n * },\n * async release(ctx, run) { … }, // run: { org: string }\n * …\n * });\n * ```\n */\nexport function defineTarget<Options = undefined, Run = void>(\n\ttarget: DeployTarget<Options, Run>,\n): DeployTarget<Options, Run> {\n\treturn target;\n}\n\n/** Whether `value` has the shape of a target. */\nexport function isDeployTarget(value: unknown): value is AnyDeployTarget {\n\tif (!value || typeof value !== 'object') return false;\n\tconst candidate = value as Record<string, unknown>;\n\treturn (\n\t\ttypeof candidate.name === 'string' &&\n\t\t(candidate.runtime === 'server' || candidate.runtime === 'aws') &&\n\t\ttypeof candidate.capabilities === 'object' &&\n\t\tcandidate.capabilities !== null &&\n\t\t['validate', 'plan', 'release', 'result'].every(\n\t\t\t(phase) => typeof candidate[phase] === 'function',\n\t\t)\n\t);\n}\n"],"mappings":";AA0BA,MAAa,kBAAkB;CAC9B,SAAS;EAAE,SAAS;EAAU,QAAQ;CAAY;CAClD,KAAK;EACJ,SAAS;EACT,QAAQ;EACR,UAAU,UAAU,yCAAyC,MAAM;CACpE;CAGA,QAAQ;EAAE,SAAS;EAAO,QAAQ;CAAU;CAC5C,YAAY;EAAE,SAAS;EAAO,QAAQ;CAAU;AACjD;;AAKA,SAAgB,cAAc,MAAyC;CACtE,OAAO,OAAO,OAAO,iBAAiB,IAAI,IACvC,gBAAgB,QAChB,KAAA;AACJ;;AAGA,SAAgB,uBAAiC;CAChD,OAAO,OAAO,QAAQ,eAAe,CAAC,CACpC,QAAQ,GAAG,YAAY,OAAO,WAAW,SAAS,CAAC,CACnD,KAAK,CAAC,UAAU,IAAI;AACvB;;AAGA,SAAgB,iBACf,QACA,MACgC;CAChC,MAAM,UAAU,QAAQ;CACxB,OAAO,WAAW,OAAO,OAAO,SAAS,IAAI,IAAI,QAAQ,QAAQ,KAAA;AAClE;;AAGA,IAAa,sBAAb,cAAyC,MAAM;CAEpC;CAEA;CAHV,YACC,QAEA,OACC;EACD,MACC,0BAA0B,OAAO,gBAAgB,MAAM,KAAK,IAAI,EAAE,gFAAgF,KAAK,UAAU,MAAM,EAAE,mBAC1K;EANS,KAAA,SAAA;EAEA,KAAA,QAAA;EAKT,KAAK,OAAO;CACb;AACD;;AAGA,IAAa,8BAAb,cAAiD,MAAM;CAE5C;CAEA;CAHV,YACC,QAEA,SACC;EACD,MACC,UACG,qCAAqC,OAAO,SAAS,QAAQ,KAC7D,kBAAkB,OAAO,yFAC7B;EARS,KAAA,SAAA;EAEA,KAAA,UAAA;EAOT,KAAK,OAAO;CACb;AACD;;;;;;;;;;;;;;;;;;;;;;ACvEA,SAAgB,aACf,QAC6B;CAC7B,OAAO;AACR;;AAGA,SAAgB,eAAe,OAA0C;CACxE,IAAI,CAAC,SAAS,OAAO,UAAU,UAAU,OAAO;CAChD,MAAM,YAAY;CAClB,OACC,OAAO,UAAU,SAAS,aACzB,UAAU,YAAY,YAAY,UAAU,YAAY,UACzD,OAAO,UAAU,iBAAiB,YAClC,UAAU,iBAAiB,QAC3B;EAAC;EAAY;EAAQ;EAAW;CAAQ,CAAC,CAAC,OACxC,UAAU,OAAO,UAAU,WAAW,UACxC;AAEF"}
|
package/dist/deploy/public.cjs
CHANGED
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sniffer = require("../sniffer-
|
|
2
|
+
const require_sniffer = require("../sniffer-BsfPa-GA.cjs");
|
|
3
3
|
const require_home = require("../home-DOzBaWaL.cjs");
|
|
4
|
+
const require_define = require("../define-Cv_QvDrg.cjs");
|
|
4
5
|
const require_store = require("../store-KvNQwYaB.cjs");
|
|
5
|
-
const
|
|
6
|
-
|
|
6
|
+
const require_runtime = require("../runtime-CMwtq0AL.cjs");
|
|
7
|
+
const require_resolve = require("../resolve-wbv66HjD.cjs");
|
|
8
|
+
const require_terminal = require("../terminal-6oL0vANs.cjs");
|
|
9
|
+
const require_deploy = require("../deploy-D8Qr-Xto.cjs");
|
|
10
|
+
const require_deploy$1 = require("../deploy-DSaCYvcO.cjs");
|
|
11
|
+
exports.BackendDeployFailed = require_deploy$1.BackendDeployFailed;
|
|
12
|
+
exports.DeployTargetNotYetSupported = require_define.DeployTargetNotYetSupported;
|
|
7
13
|
exports.GKM_HOME_ENV = require_home.GKM_HOME_ENV;
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
14
|
+
exports.InvalidTargetOptions = require_resolve.InvalidTargetOptions;
|
|
15
|
+
exports.MissingCredential = require_terminal.MissingCredential;
|
|
16
|
+
exports.MissingEnvVars = require_deploy$1.MissingEnvVars;
|
|
17
|
+
exports.NoDeployableApps = require_terminal.NoDeployableApps;
|
|
18
|
+
exports.ProjectNotOwned = require_deploy$1.ProjectNotOwned;
|
|
19
|
+
exports.ProviderRemoved = require_resolve.ProviderRemoved;
|
|
20
|
+
exports.RegistryAmbiguous = require_deploy$1.RegistryAmbiguous;
|
|
21
|
+
exports.RegistryNotConfigured = require_deploy$1.RegistryNotConfigured;
|
|
22
|
+
exports.RegistryNotFound = require_deploy$1.RegistryNotFound;
|
|
23
|
+
exports.RollbackFailed = require_terminal.RollbackFailed;
|
|
15
24
|
exports.StateLocked = require_sniffer.StateLocked;
|
|
16
25
|
exports.StateVersionConflict = require_sniffer.StateVersionConflict;
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
26
|
+
exports.TargetEntryInvalid = require_resolve.TargetEntryInvalid;
|
|
27
|
+
exports.TargetPackageInvalid = require_resolve.TargetPackageInvalid;
|
|
28
|
+
exports.TargetPackageNotFound = require_runtime.TargetPackageNotFound;
|
|
29
|
+
exports.TargetRuntimeMismatch = require_resolve.TargetRuntimeMismatch;
|
|
30
|
+
exports.TargetRuntimeUndeclared = require_runtime.TargetRuntimeUndeclared;
|
|
31
|
+
exports.UnknownDeployApps = require_terminal.UnknownDeployApps;
|
|
32
|
+
exports.UnknownDeployTarget = require_define.UnknownDeployTarget;
|
|
33
|
+
exports.chainCredentials = require_terminal.chainCredentials;
|
|
19
34
|
exports.deploy = require_deploy.deploy;
|
|
20
35
|
exports.deployIdentity = require_store.deployIdentity;
|
|
21
36
|
exports.gkmHome = require_home.gkmHome;
|
|
22
|
-
exports.storedCredentials =
|
|
37
|
+
exports.storedCredentials = require_terminal.storedCredentials;
|