@geekmidas/cli 10.0.0-alpha.10 → 10.0.0-alpha.11
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/{CachedStateProvider-CqPdW7CB.cjs → CachedStateProvider-BEBl2wQT.cjs} +1 -1
- package/dist/{CachedStateProvider-CqPdW7CB.cjs.map → CachedStateProvider-BEBl2wQT.cjs.map} +1 -1
- package/dist/CachedStateProvider-C-8wtlto.mjs +3 -0
- package/dist/{CachedStateProvider-DTniehMP.mjs → CachedStateProvider-Co4n5Wvs.mjs} +1 -1
- package/dist/{CachedStateProvider-DTniehMP.mjs.map → CachedStateProvider-Co4n5Wvs.mjs.map} +1 -1
- package/dist/{CachedStateProvider-BLo7zv7S.cjs → CachedStateProvider-DqhGpzsm.cjs} +1 -1
- package/dist/{HostingerProvider-h3EbEp-Z.cjs → HostingerProvider-BOvsgATO.cjs} +1 -1
- package/dist/{HostingerProvider-h3EbEp-Z.cjs.map → HostingerProvider-BOvsgATO.cjs.map} +1 -1
- package/dist/{HostingerProvider-Cft7lEYr.mjs → HostingerProvider-BcyFRbqV.mjs} +1 -1
- package/dist/{HostingerProvider-Cft7lEYr.mjs.map → HostingerProvider-BcyFRbqV.mjs.map} +1 -1
- package/dist/{LocalStateProvider-Bn6tS-oL.mjs → LocalStateProvider-Bq-0C0sg.mjs} +1 -1
- package/dist/{LocalStateProvider-Bn6tS-oL.mjs.map → LocalStateProvider-Bq-0C0sg.mjs.map} +1 -1
- package/dist/{LocalStateProvider-Db9SEjyH.cjs → LocalStateProvider-yjXZXZDM.cjs} +1 -1
- package/dist/{LocalStateProvider-Db9SEjyH.cjs.map → LocalStateProvider-yjXZXZDM.cjs.map} +1 -1
- package/dist/{Route53Provider-RdpUDJQk.mjs → Route53Provider-C0xmer8U.mjs} +1 -1
- package/dist/{Route53Provider-RdpUDJQk.mjs.map → Route53Provider-C0xmer8U.mjs.map} +1 -1
- package/dist/{Route53Provider-di2fMM5N.cjs → Route53Provider-CH9XH7bz.cjs} +1 -1
- package/dist/{Route53Provider-di2fMM5N.cjs.map → Route53Provider-CH9XH7bz.cjs.map} +1 -1
- package/dist/{SSMStateProvider-DyX8s9HI.cjs → SSMStateProvider-CXtNgPfy.cjs} +1 -1
- package/dist/{SSMStateProvider-DyX8s9HI.cjs.map → SSMStateProvider-CXtNgPfy.cjs.map} +1 -1
- package/dist/{SSMStateProvider-BRt2py-A.mjs → SSMStateProvider-DOZifZfE.mjs} +1 -1
- package/dist/{SSMStateProvider-BRt2py-A.mjs.map → SSMStateProvider-DOZifZfE.mjs.map} +1 -1
- package/dist/{backup-provisioner-Bgj5Vi_L.mjs → backup-provisioner-DXXg6FIL.mjs} +1 -1
- package/dist/{backup-provisioner-Bgj5Vi_L.mjs.map → backup-provisioner-DXXg6FIL.mjs.map} +1 -1
- package/dist/{backup-provisioner-BrsHwYG0.cjs → backup-provisioner-cE2PuCTb.cjs} +1 -1
- package/dist/{backup-provisioner-BrsHwYG0.cjs.map → backup-provisioner-cE2PuCTb.cjs.map} +1 -1
- package/dist/{bundler-BY1OmV1e.cjs → bundler-CaTGtiaO.cjs} +3 -3
- package/dist/{bundler-BY1OmV1e.cjs.map → bundler-CaTGtiaO.cjs.map} +1 -1
- package/dist/{bundler-Be8Zg4Wd.mjs → bundler-S3ek7ea-.mjs} +3 -3
- package/dist/{bundler-Be8Zg4Wd.mjs.map → bundler-S3ek7ea-.mjs.map} +1 -1
- package/dist/{config-DVVph9yz.mjs → config-B0L2tvvC.mjs} +2 -2
- package/dist/{config-DVVph9yz.mjs.map → config-B0L2tvvC.mjs.map} +1 -1
- package/dist/{config-BZ1F0WuA.cjs → config-HhDpJmLO.cjs} +2 -2
- package/dist/{config-BZ1F0WuA.cjs.map → config-HhDpJmLO.cjs.map} +1 -1
- package/dist/config.cjs +2 -2
- package/dist/config.d.mts +2 -2
- package/dist/config.mjs +2 -2
- package/dist/{credentials-Xamqe_NJ.cjs → credentials-B2Pyh3bJ.cjs} +5 -5
- package/dist/{credentials-Xamqe_NJ.cjs.map → credentials-B2Pyh3bJ.cjs.map} +1 -1
- package/dist/{credentials-dP8vRVRv.mjs → credentials-CZrys9C5.mjs} +5 -5
- package/dist/{credentials-dP8vRVRv.mjs.map → credentials-CZrys9C5.mjs.map} +1 -1
- package/dist/dokploy-api-5cK2InBm.cjs +3 -0
- package/dist/dokploy-api-D2Ny4Jrc.mjs +3 -0
- package/dist/{dokploy-api-aTFPz7_4.mjs → dokploy-api-pdaBryoY.mjs} +1 -1
- package/dist/{dokploy-api-aTFPz7_4.mjs.map → dokploy-api-pdaBryoY.mjs.map} +1 -1
- package/dist/{dokploy-api-BsVH0y_s.cjs → dokploy-api-zqKe9lHH.cjs} +1 -1
- package/dist/{dokploy-api-BsVH0y_s.cjs.map → dokploy-api-zqKe9lHH.cjs.map} +1 -1
- package/dist/{emit-CiZS_5Ub.mjs → emit-CIlvnDvV.mjs} +1 -1
- package/dist/{emit-CiZS_5Ub.mjs.map → emit-CIlvnDvV.mjs.map} +1 -1
- package/dist/{emit-CbcRolsa.cjs → emit-CUD1BWls.cjs} +1 -1
- package/dist/{emit-CbcRolsa.cjs.map → emit-CUD1BWls.cjs.map} +1 -1
- package/dist/{encryption-C6jaU0hE.cjs → encryption-D2pL3tHH.cjs} +1 -1
- package/dist/{encryption-C6jaU0hE.cjs.map → encryption-D2pL3tHH.cjs.map} +1 -1
- package/dist/encryption-YDsXXi6w.mjs +3 -0
- package/dist/{encryption-D-abyhZx.mjs → encryption-_4zwjOAR.mjs} +1 -1
- package/dist/{encryption-D-abyhZx.mjs.map → encryption-_4zwjOAR.mjs.map} +1 -1
- package/dist/{encryption-CHzzeR8a.cjs → encryption-sQ2Oxx0d.cjs} +1 -1
- package/dist/{fullstack-secrets-C-GGohke.cjs → fullstack-secrets-D6MyHhQP.cjs} +1 -1
- package/dist/{fullstack-secrets-C-GGohke.cjs.map → fullstack-secrets-D6MyHhQP.cjs.map} +1 -1
- package/dist/{fullstack-secrets-D1o9-G5l.mjs → fullstack-secrets-METaRLS1.mjs} +1 -1
- package/dist/{fullstack-secrets-D1o9-G5l.mjs.map → fullstack-secrets-METaRLS1.mjs.map} +1 -1
- package/dist/github-BrvaPkFf.cjs +197 -0
- package/dist/github-BrvaPkFf.cjs.map +1 -0
- package/dist/github-CrpsXSfV.mjs +196 -0
- package/dist/github-CrpsXSfV.mjs.map +1 -0
- package/dist/{index-C6e-ULLx.d.mts → index-Ayxg_DQY.d.mts} +2 -2
- package/dist/{index-C6e-ULLx.d.mts.map → index-Ayxg_DQY.d.mts.map} +1 -1
- package/dist/index.cjs +109 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +108 -62
- package/dist/index.mjs.map +1 -1
- package/dist/keystore-C9rint2E.cjs +101 -0
- package/dist/keystore-C9rint2E.cjs.map +1 -0
- package/dist/keystore-TxeYM7an.mjs +83 -0
- package/dist/keystore-TxeYM7an.mjs.map +1 -0
- package/dist/{openapi-SjsgARie.cjs → openapi-DaKlTKxz.cjs} +2 -2
- package/dist/{openapi-SjsgARie.cjs.map → openapi-DaKlTKxz.cjs.map} +1 -1
- package/dist/{openapi-react-query-CmJ1xDbn.cjs → openapi-react-query-BKH334Ug.cjs} +1 -1
- package/dist/{openapi-react-query-CmJ1xDbn.cjs.map → openapi-react-query-BKH334Ug.cjs.map} +1 -1
- package/dist/{openapi-react-query-Byltvm_7.mjs → openapi-react-query-DoR5CmzQ.mjs} +1 -1
- package/dist/{openapi-react-query-Byltvm_7.mjs.map → openapi-react-query-DoR5CmzQ.mjs.map} +1 -1
- package/dist/openapi-react-query.cjs +1 -1
- package/dist/openapi-react-query.mjs +1 -1
- package/dist/{openapi-Xx0A7Wg0.mjs → openapi-y1d7Kalt.mjs} +2 -2
- package/dist/{openapi-Xx0A7Wg0.mjs.map → openapi-y1d7Kalt.mjs.map} +1 -1
- package/dist/openapi.cjs +3 -3
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +3 -3
- package/dist/reconcile/public.cjs +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/reconcile/public.mjs +1 -1
- package/dist/{reconcile-CFs8C_1a.mjs → reconcile-C13ERt1U.mjs} +2 -2
- package/dist/{reconcile-CFs8C_1a.mjs.map → reconcile-C13ERt1U.mjs.map} +1 -1
- package/dist/{reconcile-D0pimNiy.cjs → reconcile-CYMhFSYy.cjs} +2 -2
- package/dist/{reconcile-D0pimNiy.cjs.map → reconcile-CYMhFSYy.cjs.map} +1 -1
- package/dist/setup-BWgMs4gg.mjs +12 -0
- package/dist/{setup-hC6hI86f.cjs → setup-DOv92pIu.cjs} +6 -6
- package/dist/{setup-hC6hI86f.cjs.map → setup-DOv92pIu.cjs.map} +1 -1
- package/dist/{setup-C8KOx8_8.mjs → setup-DQo_h_yK.mjs} +6 -6
- package/dist/{setup-C8KOx8_8.mjs.map → setup-DQo_h_yK.mjs.map} +1 -1
- package/dist/setup-lCx_DcUo.cjs +12 -0
- package/dist/{storage-Bi24WfoW.mjs → storage-B020InPW.mjs} +4 -79
- package/dist/storage-B020InPW.mjs.map +1 -0
- package/dist/{storage-BJmzYxt8.cjs → storage-CSNplaJn.cjs} +4 -85
- package/dist/storage-CSNplaJn.cjs.map +1 -0
- package/dist/{storage-CYlGwWTj.mjs → storage-DGBzMLZa.mjs} +2 -1
- package/dist/{storage-BM9hGpgv.cjs → storage-DlVol_oj.cjs} +2 -1
- package/dist/{sync-SizaChmC.cjs → sync-0ILCb-1S.cjs} +2 -2
- package/dist/{sync-SizaChmC.cjs.map → sync-0ILCb-1S.cjs.map} +1 -1
- package/dist/{sync-CmEuNZsB.mjs → sync-CzHXiR9c.mjs} +2 -2
- package/dist/{sync-CmEuNZsB.mjs.map → sync-CzHXiR9c.mjs.map} +1 -1
- package/dist/sync-DYENfOt4.cjs +4 -0
- package/dist/{sync-hOqAWHR6.mjs → sync-HAau6h_R.mjs} +1 -1
- package/dist/{types-6pkp2RRj.d.mts → types-CL7jPFM2.d.mts} +1 -1
- package/dist/{types-6pkp2RRj.d.mts.map → types-CL7jPFM2.d.mts.map} +1 -1
- package/dist/workspace/index.cjs +1 -1
- package/dist/workspace/index.d.mts +2 -2
- package/dist/workspace/index.mjs +1 -1
- package/dist/{workspace-C6VJQVtG.cjs → workspace-C-a3G_U0.cjs} +30 -4
- package/dist/workspace-C-a3G_U0.cjs.map +1 -0
- package/dist/workspace-DQxxs7Jk.cjs +10 -0
- package/dist/{workspace-zoqRbihZ.mjs → workspace-DaEX7FEg.mjs} +25 -5
- package/dist/workspace-DaEX7FEg.mjs.map +1 -0
- package/dist/workspace-DbI580qS.mjs +9 -0
- package/package.json +11 -11
- package/dist/CachedStateProvider-BxoAm-B2.mjs +0 -3
- package/dist/dokploy-api-BS2xnJLZ.mjs +0 -3
- package/dist/dokploy-api-BuxDRo3l.cjs +0 -3
- package/dist/encryption-CQUncu7v.mjs +0 -3
- package/dist/setup-BA8ciTPU.mjs +0 -11
- package/dist/setup-BsZvZP6f.cjs +0 -11
- package/dist/storage-BJmzYxt8.cjs.map +0 -1
- package/dist/storage-Bi24WfoW.mjs.map +0 -1
- package/dist/sync-D306yOWu.cjs +0 -4
- package/dist/workspace-BzrG_2SI.mjs +0 -8
- package/dist/workspace-C6VJQVtG.cjs.map +0 -1
- package/dist/workspace-XXtNhqJl.cjs +0 -9
- package/dist/workspace-zoqRbihZ.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env -S npx tsx
|
|
2
2
|
import { __require } from "./chunk-Duj1WY3L.mjs";
|
|
3
3
|
import { ConstructGenerator, DEFAULT_CACHE, discover, isPartitionedRoutes } from "./discover-CAlFgYec.mjs";
|
|
4
|
-
import { derivedApps, getAppNameFromCwd, loadAppConfig, loadConfig, loadWorkspaceConfig, parseModuleConfig } from "./config-
|
|
5
|
-
import { allConstructGlobs, assertDeployedStage, deployedProblems, getAppBuildOrder, getAppGkmConfig, getDependencyEnvVars, getDeployTargetError, getPublicEnvPrefix, isDeployTargetSupported, stageProblems, stripPublicPrefix } from "./workspace-
|
|
4
|
+
import { derivedApps, getAppNameFromCwd, loadAppConfig, loadConfig, loadWorkspaceConfig, parseModuleConfig } from "./config-B0L2tvvC.mjs";
|
|
5
|
+
import { InvalidStages, allConstructGlobs, assertDeployedStage, deployedProblems, getAppBuildOrder, getAppGkmConfig, getDependencyEnvVars, getDeployTargetError, getPublicEnvPrefix, isDeployTargetSupported, stageProblems, stripPublicPrefix } from "./workspace-DaEX7FEg.mjs";
|
|
6
6
|
import { getCredentialsPath, getDokployCredentials, getDokployRegistryId, getDokployToken, removeDokployCredentials, storeDokployCredentials, storeDokployRegistryId, storeHostingerToken } from "./credentials-B5zRHdAl.mjs";
|
|
7
|
-
import { applyPostgres, cacheBackendOf, constructGlobs, createCredentialsPreload, createEntryWrapper, derivedContainers, emailBackendOf, findAvailablePort, isPortAvailable, loadEnvFiles, loadSecretsForApp, prepareEntryCredentials, providerOf, reconcileWorkspace, resolveServicePorts, resourceName, rewriteUrlsWithPorts, startWorkspaceServices, storageBackendOf, usesConstructs } from "./credentials-
|
|
7
|
+
import { applyPostgres, cacheBackendOf, constructGlobs, createCredentialsPreload, createEntryWrapper, derivedContainers, emailBackendOf, findAvailablePort, isPortAvailable, loadEnvFiles, loadSecretsForApp, prepareEntryCredentials, providerOf, reconcileWorkspace, resolveServicePorts, resourceName, rewriteUrlsWithPorts, startWorkspaceServices, storageBackendOf, usesConstructs } from "./credentials-CZrys9C5.mjs";
|
|
8
8
|
import { createStageSecrets, rotateServicePassword } from "./generator-VE2JrFlY.mjs";
|
|
9
|
-
import { getKeyPath
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import "./
|
|
18
|
-
import
|
|
9
|
+
import { getKeyPath } from "./keystore-TxeYM7an.mjs";
|
|
10
|
+
import { maskPassword, readStageSecrets, secretsExist, setCustomSecret, toEmbeddableSecrets, writeStageSecrets } from "./storage-B020InPW.mjs";
|
|
11
|
+
import { EndpointGenerator, OPENAPI_OUTPUT_PATH, generateOpenApi, generateOpenApiFrom, normalizeRoutes, openapiCommand, resolveOpenApiConfig, runtimeFor } from "./openapi-y1d7Kalt.mjs";
|
|
12
|
+
import { withCompute, withRoutes } from "./emit-CIlvnDvV.mjs";
|
|
13
|
+
import { DokployApi } from "./dokploy-api-pdaBryoY.mjs";
|
|
14
|
+
import { encryptSecrets } from "./encryption-_4zwjOAR.mjs";
|
|
15
|
+
import { CachedStateProvider } from "./CachedStateProvider-Co4n5Wvs.mjs";
|
|
16
|
+
import { generateDbPassword, generateDbUrl, generateFullstackCustomSecrets } from "./fullstack-secrets-METaRLS1.mjs";
|
|
17
|
+
import { generateReactQueryCommand } from "./openapi-react-query-DoR5CmzQ.mjs";
|
|
18
|
+
import "./sync-CzHXiR9c.mjs";
|
|
19
|
+
import { setupCommand, trustCommand } from "./setup-DQo_h_yK.mjs";
|
|
19
20
|
import { createRequire } from "node:module";
|
|
20
21
|
import { copyFileSync, existsSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
21
22
|
import { basename, dirname, isAbsolute, join, parse, relative, resolve } from "node:path";
|
|
@@ -43,7 +44,7 @@ import prompts from "prompts";
|
|
|
43
44
|
|
|
44
45
|
//#region package.json
|
|
45
46
|
var name = "@geekmidas/cli";
|
|
46
|
-
var version = "10.0.0-alpha.
|
|
47
|
+
var version = "10.0.0-alpha.11";
|
|
47
48
|
var description = "CLI tools for building Lambda handlers, server applications, and generating OpenAPI specs";
|
|
48
49
|
var private$1 = false;
|
|
49
50
|
var type = "module";
|
|
@@ -188,7 +189,7 @@ const logger$11 = console;
|
|
|
188
189
|
* Validate Dokploy token by making a test API call
|
|
189
190
|
*/
|
|
190
191
|
async function validateDokployToken(endpoint, token) {
|
|
191
|
-
const { DokployApi: DokployApi$1 } = await import("./dokploy-api-
|
|
192
|
+
const { DokployApi: DokployApi$1 } = await import("./dokploy-api-D2Ny4Jrc.mjs");
|
|
192
193
|
const api = new DokployApi$1({
|
|
193
194
|
baseUrl: endpoint,
|
|
194
195
|
token
|
|
@@ -2639,7 +2640,7 @@ async function buildForProvider(provider, context, rootOutputDir, endpointGenera
|
|
|
2639
2640
|
let masterKey;
|
|
2640
2641
|
if (context.production?.bundle && !skipBundle) {
|
|
2641
2642
|
logger$7.log(`\n📦 Bundling production server...`);
|
|
2642
|
-
const { bundleServer } = await import("./bundler-
|
|
2643
|
+
const { bundleServer } = await import("./bundler-S3ek7ea-.mjs");
|
|
2643
2644
|
const allConstructs = [
|
|
2644
2645
|
...endpoints.map((e) => e.construct),
|
|
2645
2646
|
...functions.map((f) => f.construct),
|
|
@@ -3592,11 +3593,11 @@ async function createDnsProvider(options) {
|
|
|
3592
3593
|
if (isDnsProvider(config.provider)) return config.provider;
|
|
3593
3594
|
const provider = config.provider;
|
|
3594
3595
|
if (provider === "hostinger") {
|
|
3595
|
-
const { HostingerProvider } = await import("./HostingerProvider-
|
|
3596
|
+
const { HostingerProvider } = await import("./HostingerProvider-BcyFRbqV.mjs");
|
|
3596
3597
|
return new HostingerProvider();
|
|
3597
3598
|
}
|
|
3598
3599
|
if (provider === "route53") {
|
|
3599
|
-
const { Route53Provider } = await import("./Route53Provider-
|
|
3600
|
+
const { Route53Provider } = await import("./Route53Provider-C0xmer8U.mjs");
|
|
3600
3601
|
const route53Config = config;
|
|
3601
3602
|
return new Route53Provider({
|
|
3602
3603
|
region: route53Config.region,
|
|
@@ -5923,20 +5924,20 @@ function isStateProvider(value) {
|
|
|
5923
5924
|
async function createStateProvider(options) {
|
|
5924
5925
|
const { config, workspaceRoot, workspaceName } = options;
|
|
5925
5926
|
if (!config) {
|
|
5926
|
-
const { LocalStateProvider } = await import("./LocalStateProvider-
|
|
5927
|
+
const { LocalStateProvider } = await import("./LocalStateProvider-Bq-0C0sg.mjs");
|
|
5927
5928
|
return new LocalStateProvider(workspaceRoot);
|
|
5928
5929
|
}
|
|
5929
5930
|
if (isStateProvider(config.provider)) return config.provider;
|
|
5930
5931
|
const provider = config.provider;
|
|
5931
5932
|
if (provider === "local") {
|
|
5932
|
-
const { LocalStateProvider } = await import("./LocalStateProvider-
|
|
5933
|
+
const { LocalStateProvider } = await import("./LocalStateProvider-Bq-0C0sg.mjs");
|
|
5933
5934
|
return new LocalStateProvider(workspaceRoot);
|
|
5934
5935
|
}
|
|
5935
5936
|
if (provider === "ssm") {
|
|
5936
5937
|
if (!workspaceName) throw new Error("Workspace name is required for SSM state provider. Set \"name\" in gkm.config.ts.");
|
|
5937
|
-
const { LocalStateProvider } = await import("./LocalStateProvider-
|
|
5938
|
-
const { SSMStateProvider } = await import("./SSMStateProvider-
|
|
5939
|
-
const { CachedStateProvider: CachedStateProvider$1 } = await import("./CachedStateProvider-
|
|
5938
|
+
const { LocalStateProvider } = await import("./LocalStateProvider-Bq-0C0sg.mjs");
|
|
5939
|
+
const { SSMStateProvider } = await import("./SSMStateProvider-DOZifZfE.mjs");
|
|
5940
|
+
const { CachedStateProvider: CachedStateProvider$1 } = await import("./CachedStateProvider-C-8wtlto.mjs");
|
|
5940
5941
|
const ssmConfig = config;
|
|
5941
5942
|
const local = new LocalStateProvider(workspaceRoot);
|
|
5942
5943
|
const ssm = SSMStateProvider.create({
|
|
@@ -6812,7 +6813,7 @@ async function workspaceDeployCommand(configured, options) {
|
|
|
6812
6813
|
const backupCluster = Object.values(declaredClusters)[0];
|
|
6813
6814
|
if (workspace.deploy?.backups && backupCluster) {
|
|
6814
6815
|
logger$3.log("\n💾 Provisioning backup destination...");
|
|
6815
|
-
const { provisionBackupDestination } = await import("./backup-provisioner-
|
|
6816
|
+
const { provisionBackupDestination } = await import("./backup-provisioner-DXXg6FIL.mjs");
|
|
6816
6817
|
const backupState = await provisionBackupDestination({
|
|
6817
6818
|
api,
|
|
6818
6819
|
projectId: project.projectId,
|
|
@@ -8026,26 +8027,26 @@ const CLI_VERSION = `~${pkg.version}`;
|
|
|
8026
8027
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
8027
8028
|
*/
|
|
8028
8029
|
const GEEKMIDAS_VERSIONS = {
|
|
8029
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
8030
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
8031
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
8032
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
8033
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
8034
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
8035
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
8036
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
8037
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
8038
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
8039
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
8040
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
8041
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
8042
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
8043
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
8044
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
8045
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
8046
|
-
"@geekmidas/studio": "~10.0.0-alpha.
|
|
8047
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
8048
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
8030
|
+
"@geekmidas/audit": "~10.0.0-alpha.11",
|
|
8031
|
+
"@geekmidas/auth": "~10.0.0-alpha.11",
|
|
8032
|
+
"@geekmidas/cache": "~10.0.0-alpha.11",
|
|
8033
|
+
"@geekmidas/client": "~10.0.0-alpha.11",
|
|
8034
|
+
"@geekmidas/cloud": "~10.0.0-alpha.11",
|
|
8035
|
+
"@geekmidas/constructs": "~10.0.0-alpha.11",
|
|
8036
|
+
"@geekmidas/db": "~10.0.0-alpha.11",
|
|
8037
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.11",
|
|
8038
|
+
"@geekmidas/envkit": "~10.0.0-alpha.11",
|
|
8039
|
+
"@geekmidas/errors": "~10.0.0-alpha.11",
|
|
8040
|
+
"@geekmidas/events": "~10.0.0-alpha.11",
|
|
8041
|
+
"@geekmidas/logger": "~10.0.0-alpha.11",
|
|
8042
|
+
"@geekmidas/manifest": "~10.0.0-alpha.11",
|
|
8043
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.11",
|
|
8044
|
+
"@geekmidas/schema": "~10.0.0-alpha.11",
|
|
8045
|
+
"@geekmidas/services": "~10.0.0-alpha.11",
|
|
8046
|
+
"@geekmidas/storage": "~10.0.0-alpha.11",
|
|
8047
|
+
"@geekmidas/studio": "~10.0.0-alpha.11",
|
|
8048
|
+
"@geekmidas/telescope": "~10.0.0-alpha.11",
|
|
8049
|
+
"@geekmidas/testkit": "~10.0.0-alpha.11",
|
|
8049
8050
|
"@geekmidas/cli": CLI_VERSION
|
|
8050
8051
|
};
|
|
8051
8052
|
|
|
@@ -9842,7 +9843,7 @@ function deployPackage(options) {
|
|
|
9842
9843
|
}
|
|
9843
9844
|
function generateDeployFiles(options) {
|
|
9844
9845
|
if (options.deployTarget !== "sst") return [];
|
|
9845
|
-
if (!options.region) throw new
|
|
9846
|
+
if (!options.region) throw new SstNeedsRegion();
|
|
9846
9847
|
const db = databaseFor();
|
|
9847
9848
|
const mail = emailFor();
|
|
9848
9849
|
const hasDatabase = options.template === "fullstack" || options.services.db;
|
|
@@ -9910,6 +9911,16 @@ ${inputs.join("\n")}
|
|
|
9910
9911
|
`
|
|
9911
9912
|
}];
|
|
9912
9913
|
}
|
|
9914
|
+
/**
|
|
9915
|
+
* An SST scaffold asked for without a region. `init` always resolves one —
|
|
9916
|
+
* asked, `--region`, or eu-west-1 under `--yes` — so this is a caller's bug.
|
|
9917
|
+
*/
|
|
9918
|
+
var SstNeedsRegion = class extends Error {
|
|
9919
|
+
constructor() {
|
|
9920
|
+
super("An SST deploy needs a region: pass --region, e.g. eu-west-1.");
|
|
9921
|
+
this.name = "SstNeedsRegion";
|
|
9922
|
+
}
|
|
9923
|
+
};
|
|
9913
9924
|
|
|
9914
9925
|
//#endregion
|
|
9915
9926
|
//#region src/init/generators/monorepo.ts
|
|
@@ -14091,8 +14102,8 @@ const AWS_REGION = /^[a-z]{2}(-gov)?-[a-z]+-\d$/;
|
|
|
14091
14102
|
async function initCommand(projectName, options = {}) {
|
|
14092
14103
|
const cwd = process.cwd();
|
|
14093
14104
|
const detectedPkgManager = detectPackageManager(cwd);
|
|
14094
|
-
if (options.deploy && !deployTargetChoices.some((choice) => choice.value === options.deploy)) throw new
|
|
14095
|
-
if (options.region && !AWS_REGION.test(options.region)) throw new
|
|
14105
|
+
if (options.deploy && !deployTargetChoices.some((choice) => choice.value === options.deploy)) throw new UnknownDeployTarget(options.deploy, deployTargetChoices.map((c) => c.value));
|
|
14106
|
+
if (options.region && !AWS_REGION.test(options.region)) throw new NotAnAwsRegion(options.region);
|
|
14096
14107
|
if (options.stages || options.localStage || options.protectedStage) {
|
|
14097
14108
|
const deployed = stageList(options.stages ?? "");
|
|
14098
14109
|
const problems = [
|
|
@@ -14103,7 +14114,7 @@ async function initCommand(projectName, options = {}) {
|
|
|
14103
14114
|
}) : [],
|
|
14104
14115
|
...options.protectedStage && !deployed.includes(options.protectedStage) ? [`--protected-stage "${options.protectedStage}" is not in --stages`] : []
|
|
14105
14116
|
];
|
|
14106
|
-
if (problems.length) throw new
|
|
14117
|
+
if (problems.length) throw new InvalidStages([...new Set(problems)]);
|
|
14107
14118
|
}
|
|
14108
14119
|
let deployedSoFar = [];
|
|
14109
14120
|
prompts.override({});
|
|
@@ -14511,9 +14522,26 @@ function resolveStages(options, answers) {
|
|
|
14511
14522
|
...kept ? { protected: [kept] } : {}
|
|
14512
14523
|
};
|
|
14513
14524
|
const problems = stageProblems(stages);
|
|
14514
|
-
if (problems.length) throw new
|
|
14525
|
+
if (problems.length) throw new InvalidStages(problems);
|
|
14515
14526
|
return stages;
|
|
14516
14527
|
}
|
|
14528
|
+
/** `--deploy` naming a target init has no scaffold for. */
|
|
14529
|
+
var UnknownDeployTarget = class extends Error {
|
|
14530
|
+
constructor(target, known) {
|
|
14531
|
+
super(`Unknown deploy target "${target}". Use ${known.join(", ")}.`);
|
|
14532
|
+
this.target = target;
|
|
14533
|
+
this.known = known;
|
|
14534
|
+
this.name = "UnknownDeployTarget";
|
|
14535
|
+
}
|
|
14536
|
+
};
|
|
14537
|
+
/** `--region` that is not shaped like one, e.g. `europe` for `eu-west-1`. */
|
|
14538
|
+
var NotAnAwsRegion = class extends Error {
|
|
14539
|
+
constructor(region) {
|
|
14540
|
+
super(`"${region}" is not an AWS region. Use one like eu-west-1.`);
|
|
14541
|
+
this.region = region;
|
|
14542
|
+
this.name = "NotAnAwsRegion";
|
|
14543
|
+
}
|
|
14544
|
+
};
|
|
14517
14545
|
|
|
14518
14546
|
//#endregion
|
|
14519
14547
|
//#region src/secrets/index.ts
|
|
@@ -14726,11 +14754,11 @@ function maskUrl(url) {
|
|
|
14726
14754
|
async function testCommand(options = {}) {
|
|
14727
14755
|
const cwd = process.cwd();
|
|
14728
14756
|
const stage = options.stage ?? await loadWorkspaceConfig(cwd).then((loaded) => loaded.workspace.stages.local).catch(() => void 0);
|
|
14729
|
-
if (!stage) throw new
|
|
14757
|
+
if (!stage) throw new NoStageToTest();
|
|
14730
14758
|
console.log(`\n🧪 Running tests with ${stage} environment...\n`);
|
|
14731
14759
|
const autoSetup = options.autoSetup || Boolean(process.env.GKM_AUTO_SETUP);
|
|
14732
14760
|
if (autoSetup) {
|
|
14733
|
-
const { ensureStageSecrets } = await import("./setup-
|
|
14761
|
+
const { ensureStageSecrets } = await import("./setup-BWgMs4gg.mjs");
|
|
14734
14762
|
const generated = await ensureStageSecrets(stage, cwd);
|
|
14735
14763
|
if (generated) console.log(` 🔐 Generated fresh ${stage} secrets (auto-setup)`);
|
|
14736
14764
|
}
|
|
@@ -14817,6 +14845,13 @@ function rewriteDatabaseUrlForTests(env) {
|
|
|
14817
14845
|
}
|
|
14818
14846
|
return result;
|
|
14819
14847
|
}
|
|
14848
|
+
/** `gkm test` outside a project that declares stages, with none named. */
|
|
14849
|
+
var NoStageToTest = class extends Error {
|
|
14850
|
+
constructor() {
|
|
14851
|
+
super("No stage to test with: add `stages` to gkm.config.ts, or pass --stage.");
|
|
14852
|
+
this.name = "NoStageToTest";
|
|
14853
|
+
}
|
|
14854
|
+
};
|
|
14820
14855
|
|
|
14821
14856
|
//#endregion
|
|
14822
14857
|
//#region src/upgrade/version.ts
|
|
@@ -15359,13 +15394,13 @@ program.command("secrets:push").description("Push secrets to remote provider (SS
|
|
|
15359
15394
|
const globalOptions = program.opts();
|
|
15360
15395
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
15361
15396
|
const { loadWorkspaceConfig: loadWorkspaceConfig$1 } = await import("./config.mjs");
|
|
15362
|
-
const { pushSecrets } = await import("./sync-
|
|
15363
|
-
const { reconcileMissingSecrets } = await import("./reconcile-
|
|
15364
|
-
const { readStageSecrets: readStageSecrets$1, writeStageSecrets: writeStageSecrets$1 } = await import("./storage-
|
|
15397
|
+
const { pushSecrets } = await import("./sync-HAau6h_R.mjs");
|
|
15398
|
+
const { reconcileMissingSecrets } = await import("./reconcile-C13ERt1U.mjs");
|
|
15399
|
+
const { readStageSecrets: readStageSecrets$1, writeStageSecrets: writeStageSecrets$1 } = await import("./storage-DGBzMLZa.mjs");
|
|
15365
15400
|
const { workspace } = await loadWorkspaceConfig$1();
|
|
15366
15401
|
const secrets = await readStageSecrets$1(options.stage, workspace.root);
|
|
15367
15402
|
if (secrets) {
|
|
15368
|
-
const { derivedContainers: derivedContainers$1 } = await import("./workspace-
|
|
15403
|
+
const { derivedContainers: derivedContainers$1 } = await import("./workspace-DbI580qS.mjs");
|
|
15369
15404
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers$1(workspace, options.stage));
|
|
15370
15405
|
if (result) {
|
|
15371
15406
|
await writeStageSecrets$1(result.secrets, workspace.root);
|
|
@@ -15385,16 +15420,16 @@ program.command("secrets:pull").description("Pull secrets from remote provider (
|
|
|
15385
15420
|
const globalOptions = program.opts();
|
|
15386
15421
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
15387
15422
|
const { loadWorkspaceConfig: loadWorkspaceConfig$1 } = await import("./config.mjs");
|
|
15388
|
-
const { pullSecrets } = await import("./sync-
|
|
15389
|
-
const { writeStageSecrets: writeStageSecrets$1 } = await import("./storage-
|
|
15390
|
-
const { reconcileMissingSecrets } = await import("./reconcile-
|
|
15423
|
+
const { pullSecrets } = await import("./sync-HAau6h_R.mjs");
|
|
15424
|
+
const { writeStageSecrets: writeStageSecrets$1 } = await import("./storage-DGBzMLZa.mjs");
|
|
15425
|
+
const { reconcileMissingSecrets } = await import("./reconcile-C13ERt1U.mjs");
|
|
15391
15426
|
const { workspace } = await loadWorkspaceConfig$1();
|
|
15392
15427
|
let secrets = await pullSecrets(options.stage, workspace);
|
|
15393
15428
|
if (!secrets) {
|
|
15394
15429
|
console.error(`No remote secrets found for stage "${options.stage}".`);
|
|
15395
15430
|
process.exit(1);
|
|
15396
15431
|
}
|
|
15397
|
-
const { derivedContainers: derivedContainers$1 } = await import("./workspace-
|
|
15432
|
+
const { derivedContainers: derivedContainers$1 } = await import("./workspace-DbI580qS.mjs");
|
|
15398
15433
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers$1(workspace, options.stage));
|
|
15399
15434
|
if (result) {
|
|
15400
15435
|
secrets = result.secrets;
|
|
@@ -15413,8 +15448,8 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
15413
15448
|
const globalOptions = program.opts();
|
|
15414
15449
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
15415
15450
|
const { loadWorkspaceConfig: loadWorkspaceConfig$1 } = await import("./config.mjs");
|
|
15416
|
-
const { reconcileMissingSecrets } = await import("./reconcile-
|
|
15417
|
-
const { readStageSecrets: readStageSecrets$1, writeStageSecrets: writeStageSecrets$1 } = await import("./storage-
|
|
15451
|
+
const { reconcileMissingSecrets } = await import("./reconcile-C13ERt1U.mjs");
|
|
15452
|
+
const { readStageSecrets: readStageSecrets$1, writeStageSecrets: writeStageSecrets$1 } = await import("./storage-DGBzMLZa.mjs");
|
|
15418
15453
|
const { workspace } = await loadWorkspaceConfig$1();
|
|
15419
15454
|
const stage = options.stage ?? workspace.stages.local;
|
|
15420
15455
|
const secrets = await readStageSecrets$1(stage, workspace.root);
|
|
@@ -15422,7 +15457,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
15422
15457
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
15423
15458
|
process.exit(1);
|
|
15424
15459
|
}
|
|
15425
|
-
const { derivedContainers: derivedContainers$1 } = await import("./workspace-
|
|
15460
|
+
const { derivedContainers: derivedContainers$1 } = await import("./workspace-DbI580qS.mjs");
|
|
15426
15461
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers$1(workspace, stage));
|
|
15427
15462
|
if (!result) {
|
|
15428
15463
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -15477,6 +15512,17 @@ program.command("deploy:init").description("Initialize Dokploy deployment (creat
|
|
|
15477
15512
|
process.exit(1);
|
|
15478
15513
|
}
|
|
15479
15514
|
});
|
|
15515
|
+
program.command("deploy:github").description("Let GitHub Actions deploy a stage: OIDC role in the stage's AWS account, and the GitHub environment the deploy workflow uses").requiredOption("--stage <stage>", "A deployed stage from gkm.config.ts").option("--profile <profile>", "AWS profile for the stage's account").option("--repo <owner/name>", "GitHub repository (default: this one)").option("--policy-arn <arn>", "Policy for the deploy role (default: AdministratorAccess)").option("--dry-run", "Show the plan without changing AWS or GitHub").action(async (options) => {
|
|
15516
|
+
try {
|
|
15517
|
+
const globalOptions = program.opts();
|
|
15518
|
+
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
15519
|
+
const { deployGithubCommand } = await import("./github-CrpsXSfV.mjs");
|
|
15520
|
+
await deployGithubCommand(options);
|
|
15521
|
+
} catch (error) {
|
|
15522
|
+
console.error(formatError(error));
|
|
15523
|
+
process.exit(1);
|
|
15524
|
+
}
|
|
15525
|
+
});
|
|
15480
15526
|
program.command("deploy:list").description("List Dokploy resources (projects, registries)").option("--endpoint <url>", "Dokploy server URL (uses stored credentials if logged in)").option("--projects", "List projects").option("--registries", "List registries").action(async (options) => {
|
|
15481
15527
|
try {
|
|
15482
15528
|
const globalOptions = program.opts();
|