@geekmidas/cli 10.0.0-alpha.62 → 10.0.0-alpha.64
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/README.md +2 -0
- package/dist/{HostingerProvider-DyD1Hin8.cjs → HostingerProvider-Bx2lHHvu.cjs} +3 -3
- package/dist/{HostingerProvider-DyD1Hin8.cjs.map → HostingerProvider-Bx2lHHvu.cjs.map} +1 -1
- package/dist/{HostingerProvider-B92qH4dC.mjs → HostingerProvider-Cd4aS5Kj.mjs} +2 -2
- package/dist/{HostingerProvider-B92qH4dC.mjs.map → HostingerProvider-Cd4aS5Kj.mjs.map} +1 -1
- package/dist/{LegacyStateStore-UHJEBLdn.cjs → LegacyStateStore-C2abV49N.cjs} +2 -2
- package/dist/{LegacyStateStore-UHJEBLdn.cjs.map → LegacyStateStore-C2abV49N.cjs.map} +1 -1
- package/dist/{LegacyStateStore-A8d2GdT7.mjs → LegacyStateStore-DIgkGaUP.mjs} +2 -2
- package/dist/{LegacyStateStore-A8d2GdT7.mjs.map → LegacyStateStore-DIgkGaUP.mjs.map} +1 -1
- package/dist/{LocalStateStore-B51rnfgn.mjs → LocalStateStore-Cy1ZBW7U.mjs} +2 -2
- package/dist/{LocalStateStore-B51rnfgn.mjs.map → LocalStateStore-Cy1ZBW7U.mjs.map} +1 -1
- package/dist/{LocalStateStore-COW3Ldwa.cjs → LocalStateStore-DiJqKyPy.cjs} +2 -2
- package/dist/{LocalStateStore-COW3Ldwa.cjs.map → LocalStateStore-DiJqKyPy.cjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-BSrgw7B0.cjs → OpenApiTsGenerator-BWuDRHe9.cjs} +2 -2
- package/dist/{OpenApiTsGenerator-BSrgw7B0.cjs.map → OpenApiTsGenerator-BWuDRHe9.cjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-q5B0z8Xg.mjs → OpenApiTsGenerator-C6v-IeHt.mjs} +2 -2
- package/dist/{OpenApiTsGenerator-q5B0z8Xg.mjs.map → OpenApiTsGenerator-C6v-IeHt.mjs.map} +1 -1
- package/dist/{S3StateStore-CJewPhgz.mjs → S3StateStore-D3x6ivBL.mjs} +2 -2
- package/dist/{S3StateStore-CJewPhgz.mjs.map → S3StateStore-D3x6ivBL.mjs.map} +1 -1
- package/dist/{S3StateStore-WUJGdRNL.cjs → S3StateStore-Ds0V1Lgm.cjs} +2 -2
- package/dist/{S3StateStore-WUJGdRNL.cjs.map → S3StateStore-Ds0V1Lgm.cjs.map} +1 -1
- package/dist/{SSMStateStore-Zejt42V8.cjs → SSMStateStore-CLipvx47.cjs} +2 -2
- package/dist/{SSMStateStore-Zejt42V8.cjs.map → SSMStateStore-CLipvx47.cjs.map} +1 -1
- package/dist/{SSMStateStore-iK5UKp9d.mjs → SSMStateStore-DfF174xQ.mjs} +2 -2
- package/dist/{SSMStateStore-iK5UKp9d.mjs.map → SSMStateStore-DfF174xQ.mjs.map} +1 -1
- package/dist/{bundler-CfH9frOS.cjs → bundler-C8uJf324.cjs} +4 -4
- package/dist/{bundler-CfH9frOS.cjs.map → bundler-C8uJf324.cjs.map} +1 -1
- package/dist/{bundler-DN5r4x5b.mjs → bundler-DYgm9xsd.mjs} +3 -3
- package/dist/{bundler-DN5r4x5b.mjs.map → bundler-DYgm9xsd.mjs.map} +1 -1
- package/dist/{cli-DYwxmfsW.mjs → cli-Bogz-zEj.mjs} +5 -4
- package/dist/{cli-DYwxmfsW.mjs.map → cli-Bogz-zEj.mjs.map} +1 -1
- package/dist/{cli-DOAUp80L.cjs → cli-D3jofJ6j.cjs} +7 -6
- package/dist/{cli-DOAUp80L.cjs.map → cli-D3jofJ6j.cjs.map} +1 -1
- package/dist/config-Be-4_I6H.d.cts +256 -0
- package/dist/config-Be-4_I6H.d.cts.map +1 -0
- package/dist/config-DqNRiQOp.d.mts +256 -0
- package/dist/config-DqNRiQOp.d.mts.map +1 -0
- package/dist/config.cjs +416 -13
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.cts +4 -211
- package/dist/config.d.mts +4 -211
- package/dist/config.mjs +402 -3
- package/dist/config.mjs.map +1 -0
- package/dist/credentials-B70vmLcm.cjs +125 -0
- package/dist/credentials-B70vmLcm.cjs.map +1 -0
- package/dist/credentials-s0wMeZBU.mjs +108 -0
- package/dist/credentials-s0wMeZBU.mjs.map +1 -0
- package/dist/{define-CHBIEc5j.mjs → define-CYs0PEfZ.mjs} +2 -3
- package/dist/define-CYs0PEfZ.mjs.map +1 -0
- package/dist/{define-Cv_QvDrg.cjs → define-zUsP72ym.cjs} +2 -3
- package/dist/define-zUsP72ym.cjs.map +1 -0
- package/dist/deploy/public.cjs +166 -14
- package/dist/deploy/public.cjs.map +1 -0
- package/dist/deploy/public.d.cts +224 -3
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +224 -3
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +141 -10
- package/dist/deploy/public.mjs.map +1 -0
- package/dist/deploy/sniffer-envparser-worker.cjs +54 -0
- package/dist/deploy/sniffer-envparser-worker.cjs.map +1 -0
- package/dist/deploy/sniffer-envparser-worker.d.cts +1 -0
- package/dist/deploy/sniffer-envparser-worker.d.mts +1 -0
- package/dist/deploy/sniffer-envparser-worker.mjs +55 -0
- package/dist/deploy/sniffer-envparser-worker.mjs.map +1 -0
- package/dist/{deploy-DSaCYvcO.cjs → deploy-55rJkdKz.cjs} +17 -14
- package/dist/{deploy-DSaCYvcO.cjs.map → deploy-55rJkdKz.cjs.map} +1 -1
- package/dist/{deploy-Cg9fae7a.mjs → deploy-Dc2LBJaK.mjs} +13 -10
- package/dist/deploy-Dc2LBJaK.mjs.map +1 -0
- package/dist/{deploy-B7jvUORo.mjs → deploy-ZRXIPp1c.mjs} +11 -8
- package/dist/{deploy-B7jvUORo.mjs.map → deploy-ZRXIPp1c.mjs.map} +1 -1
- package/dist/{deploy-D8Qr-Xto.cjs → deploy-yUcR2OlW.cjs} +15 -12
- package/dist/deploy-yUcR2OlW.cjs.map +1 -0
- package/dist/derive-B4vDpzgP.mjs +150 -0
- package/dist/derive-B4vDpzgP.mjs.map +1 -0
- package/dist/derive-DAbo49sm.cjs +161 -0
- package/dist/derive-DAbo49sm.cjs.map +1 -0
- package/dist/discover-B6yPpvRV.d.mts +99 -0
- package/dist/discover-B6yPpvRV.d.mts.map +1 -0
- package/dist/discover-B_IkPukx.d.cts +99 -0
- package/dist/discover-B_IkPukx.d.cts.map +1 -0
- package/dist/{discover-Bc-4eA_p.cjs → discover-DHdECueV.cjs} +280 -1
- package/dist/discover-DHdECueV.cjs.map +1 -0
- package/dist/{discover-FrYvzkeC.mjs → discover-LMrqsWSU.mjs} +246 -3
- package/dist/discover-LMrqsWSU.mjs.map +1 -0
- package/dist/{dokploy-CD9PY-3D.mjs → dokploy-CepdXuMl.mjs} +3 -3
- package/dist/{dokploy-CD9PY-3D.mjs.map → dokploy-CepdXuMl.mjs.map} +1 -1
- package/dist/{dokploy-Ey2foJLv.cjs → dokploy-D1d37rvM.cjs} +3 -3
- package/dist/{dokploy-Ey2foJLv.cjs.map → dokploy-D1d37rvM.cjs.map} +1 -1
- package/dist/{encryption-ChBk3hTj.cjs → encryption-C9X98u2F.cjs} +5 -5
- package/dist/{encryption-ChBk3hTj.cjs.map → encryption-C9X98u2F.cjs.map} +1 -1
- package/dist/{encryption-CVwvGbsL.mjs → encryption-CKHjMpCr.mjs} +5 -5
- package/dist/{encryption-CVwvGbsL.mjs.map → encryption-CKHjMpCr.mjs.map} +1 -1
- package/dist/fakes-C9RiT6XG.mjs.map +1 -1
- package/dist/fakes-zW-jNAbQ.cjs.map +1 -1
- package/dist/{github-BCB3_LBX.mjs → github-D-byNI7T.mjs} +4 -4
- package/dist/{github-BCB3_LBX.mjs.map → github-D-byNI7T.mjs.map} +1 -1
- package/dist/{github-OUgPDlqg.cjs → github-Dd3tMa1u.cjs} +4 -4
- package/dist/{github-OUgPDlqg.cjs.map → github-Dd3tMa1u.cjs.map} +1 -1
- package/dist/{index-BtXDZQuF.d.cts → index-CJ2qsSpp.d.mts} +2 -2
- package/dist/{index-BtXDZQuF.d.cts.map → index-CJ2qsSpp.d.mts.map} +1 -1
- package/dist/{index-DrKzpHl-.d.mts → index-CfE9Y885.d.cts} +2 -2
- package/dist/{index-DrKzpHl-.d.mts.map → index-CfE9Y885.d.cts.map} +1 -1
- package/dist/index.cjs +111 -239
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +82 -210
- package/dist/index.mjs.map +1 -1
- package/dist/local-C7wnrcYK.cjs +586 -0
- package/dist/local-C7wnrcYK.cjs.map +1 -0
- package/dist/local-Cd8ZYQG3.mjs +473 -0
- package/dist/local-Cd8ZYQG3.mjs.map +1 -0
- package/dist/{migrate-BoHMqdCu.mjs → migrate-B4gngTLe.mjs} +6 -6
- package/dist/{migrate-BoHMqdCu.mjs.map → migrate-B4gngTLe.mjs.map} +1 -1
- package/dist/{migrate-dnaFMvOm.cjs → migrate-tx9-P9uz.cjs} +6 -6
- package/dist/{migrate-dnaFMvOm.cjs.map → migrate-tx9-P9uz.cjs.map} +1 -1
- package/dist/openapi.cjs +3 -3
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +3 -3
- package/dist/{ready-DQIy21W5.mjs → ready-bQfu9GES.mjs} +3 -3
- package/dist/{ready-DQIy21W5.mjs.map → ready-bQfu9GES.mjs.map} +1 -1
- package/dist/{ready-XlNx-Gbo.cjs → ready-brEhh68f.cjs} +3 -3
- package/dist/{ready-XlNx-Gbo.cjs.map → ready-brEhh68f.cjs.map} +1 -1
- package/dist/reconcile/public.cjs +1 -1
- package/dist/reconcile/public.d.cts +4 -77
- package/dist/reconcile/public.d.cts.map +1 -1
- package/dist/reconcile/public.d.mts +4 -77
- package/dist/reconcile/public.d.mts.map +1 -1
- package/dist/reconcile/public.mjs +1 -1
- package/dist/{resolve-wbv66HjD.cjs → resolve-BXsNQjMR.cjs} +9 -6
- package/dist/resolve-BXsNQjMR.cjs.map +1 -0
- package/dist/{resolve-CFCIkm7m.mjs → resolve-DZ2IJ0qY.mjs} +9 -6
- package/dist/resolve-DZ2IJ0qY.mjs.map +1 -0
- package/dist/{runtime-CMwtq0AL.cjs → runtime-BGNDrHzh.cjs} +2 -2
- package/dist/{runtime-CMwtq0AL.cjs.map → runtime-BGNDrHzh.cjs.map} +1 -1
- package/dist/{runtime-Dn_n-29S.d.cts → runtime-CJEYK4Gz.d.mts} +2 -2
- package/dist/{runtime-CXPlkZzs.d.mts.map → runtime-CJEYK4Gz.d.mts.map} +1 -1
- package/dist/{runtime-CXPlkZzs.d.mts → runtime-Cjq1jlVX.d.cts} +2 -2
- package/dist/{runtime-Dn_n-29S.d.cts.map → runtime-Cjq1jlVX.d.cts.map} +1 -1
- package/dist/{runtime-DbakJS8u.mjs → runtime-Cmn-FeYO.mjs} +2 -2
- package/dist/{runtime-DbakJS8u.mjs.map → runtime-Cmn-FeYO.mjs.map} +1 -1
- package/dist/sandbox/config-worker.cjs +43 -0
- package/dist/sandbox/config-worker.cjs.map +1 -0
- package/dist/sandbox/config-worker.d.cts +1 -0
- package/dist/sandbox/config-worker.d.mts +1 -0
- package/dist/sandbox/config-worker.mjs +44 -0
- package/dist/sandbox/config-worker.mjs.map +1 -0
- package/dist/sandbox/discover-worker.cjs +44 -0
- package/dist/sandbox/discover-worker.cjs.map +1 -0
- package/dist/sandbox/discover-worker.d.cts +1 -0
- package/dist/sandbox/discover-worker.d.mts +1 -0
- package/dist/sandbox/discover-worker.mjs +45 -0
- package/dist/sandbox/discover-worker.mjs.map +1 -0
- package/dist/sandbox-CL--ZDui.cjs +164 -0
- package/dist/sandbox-CL--ZDui.cjs.map +1 -0
- package/dist/sandbox-Dm247NGx.mjs +117 -0
- package/dist/sandbox-Dm247NGx.mjs.map +1 -0
- package/dist/sandbox-M8UnLhXE.d.cts +126 -0
- package/dist/sandbox-M8UnLhXE.d.cts.map +1 -0
- package/dist/sandbox-M8UnLhXE.d.mts +126 -0
- package/dist/sandbox-M8UnLhXE.d.mts.map +1 -0
- package/dist/{workspace-BFe57es7.mjs → schemas-Ckm_aBnF.cjs} +71 -982
- package/dist/schemas-Ckm_aBnF.cjs.map +1 -0
- package/dist/{workspace-B6zQO6RY.cjs → schemas-D2LCF689.mjs} +2 -1168
- package/dist/schemas-D2LCF689.mjs.map +1 -0
- package/dist/{sniffer-DHE2Nafd.mjs → sniffer-49KPbDgq.mjs} +131 -444
- package/dist/sniffer-49KPbDgq.mjs.map +1 -0
- package/dist/{sniffer-BsfPa-GA.cjs → sniffer-ByhbEW5A.cjs} +145 -512
- package/dist/sniffer-ByhbEW5A.cjs.map +1 -0
- package/dist/sst-BdALKEas.cjs +453 -0
- package/dist/sst-BdALKEas.cjs.map +1 -0
- package/dist/sst-Cper040I.mjs +430 -0
- package/dist/sst-Cper040I.mjs.map +1 -0
- package/dist/{store-BS8A7NcA.mjs → store-BaaonhkJ.mjs} +2 -2
- package/dist/{store-BS8A7NcA.mjs.map → store-BaaonhkJ.mjs.map} +1 -1
- package/dist/{store-KvNQwYaB.cjs → store-D_2ByRtW.cjs} +4 -4
- package/dist/{store-KvNQwYaB.cjs.map → store-D_2ByRtW.cjs.map} +1 -1
- package/dist/target/public.cjs +3 -3
- package/dist/target/public.d.cts +3 -3
- package/dist/target/public.d.mts +3 -3
- package/dist/target/public.mjs +3 -3
- package/dist/{terminal-6oL0vANs.cjs → terminal-Bdv--jhY.cjs} +16 -111
- package/dist/terminal-Bdv--jhY.cjs.map +1 -0
- package/dist/{terminal-ByZNjuig.mjs → terminal-D7Ntz6WE.mjs} +13 -90
- package/dist/terminal-D7Ntz6WE.mjs.map +1 -0
- package/dist/{types-DIA7Li-J.d.cts → types-B_bEQvb9.d.mts} +42 -7
- package/dist/types-B_bEQvb9.d.mts.map +1 -0
- package/dist/{types-CfLKGfC_.d.mts → types-DkrDOMxw.d.cts} +43 -6
- package/dist/types-DkrDOMxw.d.cts.map +1 -0
- package/dist/utils-D2Nk1Nv2.cjs +205 -0
- package/dist/utils-D2Nk1Nv2.cjs.map +1 -0
- package/dist/utils-D_fxUqvU.mjs +156 -0
- package/dist/utils-D_fxUqvU.mjs.map +1 -0
- package/dist/vitest.cjs +2 -2
- package/dist/vitest.mjs +2 -2
- package/dist/workerRuntime-BXfhbe13.cjs +108 -0
- package/dist/workerRuntime-BXfhbe13.cjs.map +1 -0
- package/dist/workerRuntime-CsOyBRx2.mjs +79 -0
- package/dist/workerRuntime-CsOyBRx2.mjs.map +1 -0
- package/dist/workspace/index.cjs +1 -1
- package/dist/workspace/index.d.cts +2 -2
- package/dist/workspace/index.d.mts +2 -2
- package/dist/workspace/index.mjs +1 -1
- package/dist/workspace-BwgWJK7h.cjs +1196 -0
- package/dist/workspace-BwgWJK7h.cjs.map +1 -0
- package/dist/workspace-Bwit4q9O.mjs +1024 -0
- package/dist/workspace-Bwit4q9O.mjs.map +1 -0
- package/package.json +13 -13
- package/dist/config-BYh9S0cZ.cjs +0 -534
- package/dist/config-BYh9S0cZ.cjs.map +0 -1
- package/dist/config-Bf4-bROQ.mjs +0 -457
- package/dist/config-Bf4-bROQ.mjs.map +0 -1
- package/dist/config.d.cts.map +0 -1
- package/dist/config.d.mts.map +0 -1
- package/dist/define-CHBIEc5j.mjs.map +0 -1
- package/dist/define-Cv_QvDrg.cjs.map +0 -1
- package/dist/deploy-Cg9fae7a.mjs.map +0 -1
- package/dist/deploy-D8Qr-Xto.cjs.map +0 -1
- package/dist/discover-Bc-4eA_p.cjs.map +0 -1
- package/dist/discover-FrYvzkeC.mjs.map +0 -1
- package/dist/home-DOzBaWaL.cjs +0 -33
- package/dist/home-DOzBaWaL.cjs.map +0 -1
- package/dist/home-GI7pJl1M.mjs +0 -22
- package/dist/home-GI7pJl1M.mjs.map +0 -1
- package/dist/resolve-CFCIkm7m.mjs.map +0 -1
- package/dist/resolve-wbv66HjD.cjs.map +0 -1
- package/dist/sniffer-BsfPa-GA.cjs.map +0 -1
- package/dist/sniffer-DHE2Nafd.mjs.map +0 -1
- package/dist/terminal-6oL0vANs.cjs.map +0 -1
- package/dist/terminal-ByZNjuig.mjs.map +0 -1
- package/dist/types-CfLKGfC_.d.mts.map +0 -1
- package/dist/types-DIA7Li-J.d.cts.map +0 -1
- package/dist/workspace-B6zQO6RY.cjs.map +0 -1
- package/dist/workspace-BFe57es7.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env -S npx tsx
|
|
2
2
|
import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
3
|
-
import { $ as
|
|
4
|
-
import { i as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { $ as pgClient, B as FAKE_ENV, Ct as loginCommand, Et as whoamiCommand, H as constructGlobs, I as withGeneratedSecrets, J as applyPostgres, K as LOCAL_CA_PATH, P as createStateStore, Q as composeFor, St as prepareEntryCredentials, U as derivedContainers, V as backendsOf$1, W as reconcileWorkspace, X as postgresStatements, Y as postgresDatabaseNames, Z as quoteIdentifier, _t as createEntryWrapper, bt as loadEnvFiles, c as dockerCommand, d as generateDockerignore, dt as DEFAULT_IMAGES, et as appEnvKeys, f as generateSlimDockerfile, ft as describeServices, g as createEmptyState, gt as createCredentialsPreload, h as resolveHost, ht as primaryPortKey, it as planFor, l as siteDockerfile, lt as providerOf, m as isMainFrontendApp, mt as portKeys, n as sniffAppEnvironment, nt as envFor, ot as hostFor, p as validateImageRef, pt as fakeKey, q as forgetState, r as DokployApi, rt as localRolePassword, s as appPackageName$1, st as cacheBackendFor, tt as networkEnv, u as detectPackageManager$1, vt as findAvailablePort, wt as logoutCommand, xt as loadSecretsForApp, yt as isPortAvailable, z as keyFingerprint } from "./sniffer-49KPbDgq.mjs";
|
|
4
|
+
import { c as runOutput, d as getDokployRegistryId, f as getDokployToken, i as CommandFailed, o as DEFAULT_TIMEOUT_MS, s as run$1, t as LocalSandbox, u as getDokployCredentials } from "./local-Cd8ZYQG3.mjs";
|
|
5
|
+
import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-LMrqsWSU.mjs";
|
|
6
|
+
import { t as appKey } from "./derive-B4vDpzgP.mjs";
|
|
7
|
+
import { D as assertDeployedStage, E as TEST_STAGE, O as deployedProblems, T as InvalidStages, a as getAppBuildOrder, k as stageProblems, o as getAppGkmConfig, t as allConstructGlobs } from "./workspace-Bwit4q9O.mjs";
|
|
8
|
+
import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
|
|
7
9
|
import { a as withCustomSecret, i as toEmbeddableSecrets, n as maskPassword, t as initStageSecrets } from "./storage-BzaUxmqe.mjs";
|
|
8
|
-
import { a as getKeyPath, f as imageRef, i as FileSecretsStore, n as secretsStoreFor, s as projectKey, u as deployIdentity } from "./store-
|
|
9
|
-
import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-
|
|
10
|
+
import { a as getKeyPath, f as imageRef, i as FileSecretsStore, n as secretsStoreFor, s as projectKey, u as deployIdentity } from "./store-BaaonhkJ.mjs";
|
|
11
|
+
import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-C6v-IeHt.mjs";
|
|
10
12
|
import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
|
|
11
13
|
import { n as DEFAULT_CACHE, r as DEFAULT_EVENTS } from "./fakes-C9RiT6XG.mjs";
|
|
12
14
|
import { a as describeHolder, i as assignAppPorts, o as holderOf, r as appTag, s as withAppPorts, t as APP_TAG_ENV } from "./appPorts-C9z9Pzn9.mjs";
|
|
13
|
-
import { a as writeTestHarness, c as driversFor, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, o as SubscriberGenerator, s as cacheBackendsIn, t as TEST_READY_ENV } from "./ready-
|
|
15
|
+
import { a as writeTestHarness, c as driversFor, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, o as SubscriberGenerator, s as cacheBackendsIn, t as TEST_READY_ENV } from "./ready-bQfu9GES.mjs";
|
|
14
16
|
import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
|
|
15
|
-
import { t as LocalStateStore } from "./LocalStateStore-
|
|
17
|
+
import { t as LocalStateStore } from "./LocalStateStore-Cy1ZBW7U.mjs";
|
|
18
|
+
import { a as getExecCommand, c as validateProjectName, i as findWorkspaceRoot, n as detectPackageManager$2, o as getInstallCommand, r as findWorkspacePackages, s as getRunCommand, t as checkDirectoryExists } from "./utils-D_fxUqvU.mjs";
|
|
16
19
|
import { createRequire } from "node:module";
|
|
17
|
-
import { basename, dirname, extname, isAbsolute, join,
|
|
20
|
+
import { basename, dirname, extname, isAbsolute, join, relative, resolve } from "node:path";
|
|
18
21
|
import { Command } from "commander";
|
|
19
22
|
import { existsSync, linkSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
20
23
|
import { appendFile, chmod, mkdir, readFile, readdir, rm, stat, writeFile } from "node:fs/promises";
|
|
@@ -22,13 +25,13 @@ import { homedir } from "node:os";
|
|
|
22
25
|
import { promisify } from "node:util";
|
|
23
26
|
import { DATABASE_FOLDERS, MIGRATIONS_ROOT, canonicalId, kebabCase, migrationFolder, migrationTargets, provideKey, provisionOrder, publicEnvFor, schemeBase, serviceKey } from "@geekmidas/manifest";
|
|
24
27
|
import fg from "fast-glob";
|
|
28
|
+
import { pathToFileURL } from "node:url";
|
|
25
29
|
import { execFile, execSync, spawn } from "node:child_process";
|
|
26
30
|
import chokidar from "chokidar";
|
|
27
31
|
import { connect } from "node:net";
|
|
28
32
|
import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
|
|
29
|
-
import { pathToFileURL } from "node:url";
|
|
30
33
|
import pg from "pg";
|
|
31
|
-
import {
|
|
34
|
+
import { parseDocument, stringify } from "yaml";
|
|
32
35
|
import prompts from "prompts";
|
|
33
36
|
import { createServer as createServer$1 } from "node:http";
|
|
34
37
|
import { Readable } from "node:stream";
|
|
@@ -41,7 +44,7 @@ import { Function } from "@geekmidas/constructs/functions";
|
|
|
41
44
|
import { Queue } from "@geekmidas/constructs/queue";
|
|
42
45
|
import { Topic } from "@geekmidas/constructs/topic";
|
|
43
46
|
//#region package.json
|
|
44
|
-
var version = "10.0.0-alpha.
|
|
47
|
+
var version = "10.0.0-alpha.64";
|
|
45
48
|
//#endregion
|
|
46
49
|
//#region src/trust/index.ts
|
|
47
50
|
/**
|
|
@@ -1845,9 +1848,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
1845
1848
|
for (const { id, port } of fakes) logger$6.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
1846
1849
|
logger$6.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
1847
1850
|
if (options.migrate || options.seed) {
|
|
1848
|
-
const { prepareDevDatabases } = await import("./migrate-
|
|
1851
|
+
const { prepareDevDatabases } = await import("./migrate-B4gngTLe.mjs");
|
|
1849
1852
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
1850
|
-
} else await import("./migrate-
|
|
1853
|
+
} else await import("./migrate-B4gngTLe.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
1851
1854
|
logger$6.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
1852
1855
|
});
|
|
1853
1856
|
const appUrls = {};
|
|
@@ -3227,7 +3230,7 @@ async function buildApp(input) {
|
|
|
3227
3230
|
if (production?.bundle && !input.skipBundle) {
|
|
3228
3231
|
const outputDir = join(appRoot, ".gkm", "server");
|
|
3229
3232
|
const entryPoint = await writeSurfaceServer(outputDir, production);
|
|
3230
|
-
const { bundleServer } = await import("./bundler-
|
|
3233
|
+
const { bundleServer } = await import("./bundler-DYgm9xsd.mjs");
|
|
3231
3234
|
await bundleServer({
|
|
3232
3235
|
entryPoint,
|
|
3233
3236
|
outputDir: join(outputDir, "dist"),
|
|
@@ -3365,7 +3368,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
3365
3368
|
let masterKey;
|
|
3366
3369
|
if (context.production?.bundle && !skipBundle) {
|
|
3367
3370
|
logger$5.log(`\n📦 Bundling production server...`);
|
|
3368
|
-
const { bundleServer } = await import("./bundler-
|
|
3371
|
+
const { bundleServer } = await import("./bundler-DYgm9xsd.mjs");
|
|
3369
3372
|
const allConstructs = [
|
|
3370
3373
|
...endpoints.map((e) => e.construct),
|
|
3371
3374
|
...functions.map((f) => f.construct),
|
|
@@ -3405,7 +3408,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
3405
3408
|
* Detect available package manager.
|
|
3406
3409
|
* @internal Exported for testing
|
|
3407
3410
|
*/
|
|
3408
|
-
function detectPackageManager
|
|
3411
|
+
function detectPackageManager() {
|
|
3409
3412
|
if (existsSync("pnpm-lock.yaml")) return "pnpm";
|
|
3410
3413
|
if (existsSync("yarn.lock")) return "yarn";
|
|
3411
3414
|
return "npm";
|
|
@@ -3524,18 +3527,25 @@ async function workspaceBuildCommand(workspace, options) {
|
|
|
3524
3527
|
});
|
|
3525
3528
|
const { filters, unpackaged } = turboFilters(workspace, { exclude: "backend" });
|
|
3526
3529
|
if (unpackaged.length > 0) throw new Error(`No package.json for workspace app(s): ${unpackaged.join(", ")}. Each app needs one — turbo builds packages, and gkm reads the name back to know which app it is building.`);
|
|
3527
|
-
const pm = detectPackageManager
|
|
3530
|
+
const pm = detectPackageManager();
|
|
3528
3531
|
const [turboBin, turboArgs] = getTurboArgs(pm, filters, { only: true });
|
|
3529
3532
|
if (filters.length > 0) {
|
|
3530
3533
|
logger$5.log(`\n📦 Using ${pm} with Turbo for the other apps...\n`);
|
|
3531
3534
|
logger$5.log(`Running: ${[turboBin, ...turboArgs].join(" ")}`);
|
|
3532
|
-
|
|
3535
|
+
const sandbox = options.sandbox ?? new LocalSandbox({
|
|
3536
|
+
root: workspace.root,
|
|
3537
|
+
passEnv: ["TURBO_TOKEN"]
|
|
3538
|
+
});
|
|
3539
|
+
const built = await sandbox.exec(turboBin, turboArgs, {
|
|
3533
3540
|
cwd: workspace.root,
|
|
3534
3541
|
env: {
|
|
3535
|
-
...
|
|
3542
|
+
...sandbox.env,
|
|
3536
3543
|
NODE_ENV: options.production ? "production" : "development"
|
|
3537
|
-
}
|
|
3544
|
+
},
|
|
3545
|
+
timeoutMs: DEFAULT_TIMEOUT_MS,
|
|
3546
|
+
output: "inherit"
|
|
3538
3547
|
});
|
|
3548
|
+
if (built.exitCode !== 0) throw new CommandFailed(turboBin, turboArgs, built.exitCode, built.signal);
|
|
3539
3549
|
}
|
|
3540
3550
|
for (const [appName, app] of apps) {
|
|
3541
3551
|
const outputPath = getAppOutputPath(workspace, appName, app);
|
|
@@ -4860,7 +4870,7 @@ async function composeCommand(options = {}, deps = {}) {
|
|
|
4860
4870
|
const mode = options.build || !options.pull && !options.tag ? "build" : "pull";
|
|
4861
4871
|
const tag = options.tag ?? (mode === "pull" ? "latest" : await revision(root));
|
|
4862
4872
|
const { secrets, keep } = await stageSecrets(workspace, manifest, stage);
|
|
4863
|
-
const packageManager = detectPackageManager$
|
|
4873
|
+
const packageManager = detectPackageManager$1(root);
|
|
4864
4874
|
const stack = composeStack({
|
|
4865
4875
|
workspace,
|
|
4866
4876
|
manifest,
|
|
@@ -6473,25 +6483,25 @@ function loadPackageJson() {
|
|
|
6473
6483
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
6474
6484
|
*/
|
|
6475
6485
|
const GEEKMIDAS_VERSIONS = {
|
|
6476
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
6477
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
6478
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
6479
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
6480
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
6481
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
6482
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
6483
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
6484
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
6485
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
6486
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
6487
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
6488
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
6489
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
6490
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
6491
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
6492
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
6493
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
6494
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
6486
|
+
"@geekmidas/audit": "~10.0.0-alpha.64",
|
|
6487
|
+
"@geekmidas/auth": "~10.0.0-alpha.64",
|
|
6488
|
+
"@geekmidas/cache": "~10.0.0-alpha.64",
|
|
6489
|
+
"@geekmidas/client": "~10.0.0-alpha.64",
|
|
6490
|
+
"@geekmidas/cloud": "~10.0.0-alpha.64",
|
|
6491
|
+
"@geekmidas/constructs": "~10.0.0-alpha.64",
|
|
6492
|
+
"@geekmidas/db": "~10.0.0-alpha.64",
|
|
6493
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.64",
|
|
6494
|
+
"@geekmidas/envkit": "~10.0.0-alpha.64",
|
|
6495
|
+
"@geekmidas/errors": "~10.0.0-alpha.64",
|
|
6496
|
+
"@geekmidas/events": "~10.0.0-alpha.64",
|
|
6497
|
+
"@geekmidas/logger": "~10.0.0-alpha.64",
|
|
6498
|
+
"@geekmidas/manifest": "~10.0.0-alpha.64",
|
|
6499
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.64",
|
|
6500
|
+
"@geekmidas/schema": "~10.0.0-alpha.64",
|
|
6501
|
+
"@geekmidas/services": "~10.0.0-alpha.64",
|
|
6502
|
+
"@geekmidas/storage": "~10.0.0-alpha.64",
|
|
6503
|
+
"@geekmidas/telescope": "~10.0.0-alpha.64",
|
|
6504
|
+
"@geekmidas/testkit": "~10.0.0-alpha.64",
|
|
6495
6505
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
6496
6506
|
};
|
|
6497
6507
|
//#endregion
|
|
@@ -7174,8 +7184,10 @@ ${pm.setup}
|
|
|
7174
7184
|
- name: Install
|
|
7175
7185
|
run: ${pm.install}
|
|
7176
7186
|
${stageSecrets}
|
|
7187
|
+
# Builds, releases and health-checks the stage through deploy.default
|
|
7188
|
+
# in gkm.config.ts, and fails the job if any of it fails.
|
|
7177
7189
|
- name: Deploy
|
|
7178
|
-
run: ${pm.
|
|
7190
|
+
run: ${pm.exec} gkm deploy --stage "$STAGE"
|
|
7179
7191
|
env:
|
|
7180
7192
|
STAGE: \${{ matrix.stage }}${deployEnv}
|
|
7181
7193
|
`;
|
|
@@ -8028,7 +8040,7 @@ function deployPackage(options) {
|
|
|
8028
8040
|
case "sst": {
|
|
8029
8041
|
const v = GEEKMIDAS_VERSIONS;
|
|
8030
8042
|
return {
|
|
8031
|
-
scripts: perStage(options, (stage) => `gkm
|
|
8043
|
+
scripts: perStage(options, (stage) => `gkm deploy --stage ${stage}`),
|
|
8032
8044
|
dependencies: {
|
|
8033
8045
|
"@geekmidas/cloud": v["@geekmidas/cloud"],
|
|
8034
8046
|
"@geekmidas/db": v["@geekmidas/db"],
|
|
@@ -8071,7 +8083,7 @@ function generateDeployFiles(options) {
|
|
|
8071
8083
|
* constructs the application declares, through \`fromManifest\`. What is here
|
|
8072
8084
|
* is what varies by stage, and the inputs a declaration cannot carry.
|
|
8073
8085
|
*
|
|
8074
|
-
* Deploy with \`
|
|
8086
|
+
* Deploy with \`gkm deploy --stage <stage>\`, which builds the manifest first.
|
|
8075
8087
|
*/
|
|
8076
8088
|
const region = '${options.region}';
|
|
8077
8089
|
|
|
@@ -8105,7 +8117,7 @@ ${hasDatabase ? " const vpc = new sst.aws.Vpc('Vpc', { nat: 'ec2' });\n\n" :
|
|
|
8105
8117
|
hostedZoneId: '',
|
|
8106
8118
|
});
|
|
8107
8119
|
|
|
8108
|
-
|
|
8120
|
+
const provisioned = fromManifest(
|
|
8109
8121
|
new Stack(app, '${canonicalId(options.name)}'),
|
|
8110
8122
|
constructs,
|
|
8111
8123
|
{
|
|
@@ -8113,6 +8125,15 @@ ${inputs.join("\n")}
|
|
|
8113
8125
|
},
|
|
8114
8126
|
backends,
|
|
8115
8127
|
);
|
|
8128
|
+
|
|
8129
|
+
// Each surface's URL, by its id: SST prints these and writes them to
|
|
8130
|
+
// .sst/outputs.json, where \`gkm deploy\` reads them to health-check
|
|
8131
|
+
// what it released.
|
|
8132
|
+
return Object.fromEntries(
|
|
8133
|
+
Object.entries(constructs)
|
|
8134
|
+
.filter(([, c]) => c.kind === 'rest-api' || c.kind === 'site')
|
|
8135
|
+
.map(([id]) => [id, provisioned[id]!.provides().url]),
|
|
8136
|
+
);
|
|
8116
8137
|
},
|
|
8117
8138
|
});
|
|
8118
8139
|
`
|
|
@@ -8523,7 +8544,7 @@ ${workspaceConstructsGlobs(options.routesStructure, dirname(options.apiPath)).ma
|
|
|
8523
8544
|
function deployBlock(options) {
|
|
8524
8545
|
if (options.deployTarget !== "sst") return "";
|
|
8525
8546
|
return `
|
|
8526
|
-
//
|
|
8547
|
+
// \`gkm deploy\` runs \`sst deploy\` on the manifest \`gkm build\` writes to
|
|
8527
8548
|
// \`.gkm/manifest/aws.ts\`. Each construct becomes a managed AWS resource.
|
|
8528
8549
|
deploy: { default: 'sst' },
|
|
8529
8550
|
`;
|
|
@@ -11152,155 +11173,6 @@ function isFullstackTemplate(name) {
|
|
|
11152
11173
|
return name === "fullstack";
|
|
11153
11174
|
}
|
|
11154
11175
|
//#endregion
|
|
11155
|
-
//#region src/init/utils.ts
|
|
11156
|
-
/**
|
|
11157
|
-
* Detect the package manager being used based on lockfiles or npm_config_user_agent
|
|
11158
|
-
*/
|
|
11159
|
-
function detectPackageManager(cwd = process.cwd()) {
|
|
11160
|
-
if (existsSync(join(cwd, "pnpm-lock.yaml"))) return "pnpm";
|
|
11161
|
-
if (existsSync(join(cwd, "yarn.lock"))) return "yarn";
|
|
11162
|
-
if (existsSync(join(cwd, "bun.lockb"))) return "bun";
|
|
11163
|
-
if (existsSync(join(cwd, "package-lock.json"))) return "npm";
|
|
11164
|
-
const userAgent = process.env.npm_config_user_agent || "";
|
|
11165
|
-
if (userAgent.includes("pnpm")) return "pnpm";
|
|
11166
|
-
if (userAgent.includes("yarn")) return "yarn";
|
|
11167
|
-
if (userAgent.includes("bun")) return "bun";
|
|
11168
|
-
return "npm";
|
|
11169
|
-
}
|
|
11170
|
-
/** `gkm init`'s flags, which a name can swallow when a space goes missing. */
|
|
11171
|
-
const INIT_FLAGS = [
|
|
11172
|
-
"yes",
|
|
11173
|
-
"name",
|
|
11174
|
-
"template",
|
|
11175
|
-
"monorepo",
|
|
11176
|
-
"api-path",
|
|
11177
|
-
"pm",
|
|
11178
|
-
"skip-install"
|
|
11179
|
-
];
|
|
11180
|
-
/**
|
|
11181
|
-
* Validate project name for npm package naming conventions
|
|
11182
|
-
*/
|
|
11183
|
-
function validateProjectName(name) {
|
|
11184
|
-
if (!name) return "Project name is required";
|
|
11185
|
-
if (!/^[a-z0-9-_@/.]+$/i.test(name)) return "Project name can only contain letters, numbers, hyphens, underscores, @, /, and .";
|
|
11186
|
-
const flag = name.match(/--(\w[\w-]*)$/)?.[1];
|
|
11187
|
-
if (flag && INIT_FLAGS.includes(flag)) return `"${name}" ends in the --${flag} flag. Did you mean \`${name.slice(0, -(flag.length + 2))} --${flag}\`?`;
|
|
11188
|
-
if ([
|
|
11189
|
-
"node_modules",
|
|
11190
|
-
".git",
|
|
11191
|
-
"package.json",
|
|
11192
|
-
"src"
|
|
11193
|
-
].includes(name.toLowerCase())) return `"${name}" is a reserved name`;
|
|
11194
|
-
return true;
|
|
11195
|
-
}
|
|
11196
|
-
/**
|
|
11197
|
-
* Check if a directory already exists at the target path
|
|
11198
|
-
*/
|
|
11199
|
-
function checkDirectoryExists(name, cwd = process.cwd()) {
|
|
11200
|
-
const targetPath = join(cwd, name);
|
|
11201
|
-
if (existsSync(targetPath)) return `Directory "${name}" already exists`;
|
|
11202
|
-
return true;
|
|
11203
|
-
}
|
|
11204
|
-
/**
|
|
11205
|
-
* Get the install command for a package manager
|
|
11206
|
-
*/
|
|
11207
|
-
function getInstallCommand(pkgManager) {
|
|
11208
|
-
switch (pkgManager) {
|
|
11209
|
-
case "pnpm": return "pnpm install";
|
|
11210
|
-
case "yarn": return "yarn";
|
|
11211
|
-
case "bun": return "bun install";
|
|
11212
|
-
default: return "npm install";
|
|
11213
|
-
}
|
|
11214
|
-
}
|
|
11215
|
-
/**
|
|
11216
|
-
* Get the dev command for a package manager
|
|
11217
|
-
*/
|
|
11218
|
-
function getRunCommand(pkgManager, script) {
|
|
11219
|
-
switch (pkgManager) {
|
|
11220
|
-
case "pnpm": return `pnpm ${script}`;
|
|
11221
|
-
case "yarn": return `yarn ${script}`;
|
|
11222
|
-
case "bun": return `bun run ${script}`;
|
|
11223
|
-
default: return `npm run ${script}`;
|
|
11224
|
-
}
|
|
11225
|
-
}
|
|
11226
|
-
/**
|
|
11227
|
-
* Run a binary the project installed, through its package manager — so it is
|
|
11228
|
-
* the project's own version, not whatever \`npx\` would fetch.
|
|
11229
|
-
*/
|
|
11230
|
-
function getExecCommand(pkgManager, command) {
|
|
11231
|
-
switch (pkgManager) {
|
|
11232
|
-
case "pnpm": return `pnpm exec ${command}`;
|
|
11233
|
-
case "yarn": return `yarn ${command}`;
|
|
11234
|
-
case "bun": return `bunx ${command}`;
|
|
11235
|
-
default: return `npx --no-install ${command}`;
|
|
11236
|
-
}
|
|
11237
|
-
}
|
|
11238
|
-
const lockfileByPm = {
|
|
11239
|
-
pnpm: "pnpm-lock.yaml",
|
|
11240
|
-
yarn: "yarn.lock",
|
|
11241
|
-
npm: "package-lock.json",
|
|
11242
|
-
bun: "bun.lockb"
|
|
11243
|
-
};
|
|
11244
|
-
/**
|
|
11245
|
-
* Find the workspace/project root by walking up from cwd.
|
|
11246
|
-
* Checks for PM-specific workspace config, package.json#workspaces,
|
|
11247
|
-
* and lockfiles.
|
|
11248
|
-
*/
|
|
11249
|
-
function findWorkspaceRoot(cwd, pm) {
|
|
11250
|
-
let dir = cwd;
|
|
11251
|
-
const root = parse(dir).root;
|
|
11252
|
-
const lockfile = lockfileByPm[pm];
|
|
11253
|
-
while (dir !== root) {
|
|
11254
|
-
if (pm === "pnpm" && existsSync(join(dir, "pnpm-workspace.yaml"))) return dir;
|
|
11255
|
-
const pkgJsonPath = join(dir, "package.json");
|
|
11256
|
-
if (existsSync(pkgJsonPath)) try {
|
|
11257
|
-
if (JSON.parse(readFileSync(pkgJsonPath, "utf-8")).workspaces) return dir;
|
|
11258
|
-
} catch {}
|
|
11259
|
-
if (existsSync(join(dir, lockfile))) return dir;
|
|
11260
|
-
dir = dirname(dir);
|
|
11261
|
-
}
|
|
11262
|
-
return cwd;
|
|
11263
|
-
}
|
|
11264
|
-
/**
|
|
11265
|
-
* Get workspace package glob patterns from pnpm-workspace.yaml
|
|
11266
|
-
* or package.json#workspaces.
|
|
11267
|
-
*/
|
|
11268
|
-
function getWorkspaceGlobs(root) {
|
|
11269
|
-
const pnpmWorkspacePath = join(root, "pnpm-workspace.yaml");
|
|
11270
|
-
if (existsSync(pnpmWorkspacePath)) {
|
|
11271
|
-
const content = readFileSync(pnpmWorkspacePath, "utf-8");
|
|
11272
|
-
return parse$1(content)?.packages ?? [];
|
|
11273
|
-
}
|
|
11274
|
-
const rootPkgJsonPath = join(root, "package.json");
|
|
11275
|
-
if (existsSync(rootPkgJsonPath)) {
|
|
11276
|
-
const pkg = JSON.parse(readFileSync(rootPkgJsonPath, "utf-8"));
|
|
11277
|
-
if (Array.isArray(pkg.workspaces)) return pkg.workspaces;
|
|
11278
|
-
if (pkg.workspaces?.packages) return pkg.workspaces.packages;
|
|
11279
|
-
}
|
|
11280
|
-
return [];
|
|
11281
|
-
}
|
|
11282
|
-
/**
|
|
11283
|
-
* Find all package.json files across a workspace.
|
|
11284
|
-
* Returns the root package.json plus all workspace member package.json paths.
|
|
11285
|
-
*/
|
|
11286
|
-
function findWorkspacePackages(cwd, pm) {
|
|
11287
|
-
const workspaceRoot = findWorkspaceRoot(cwd, pm);
|
|
11288
|
-
const results = [];
|
|
11289
|
-
const rootPkgJson = join(workspaceRoot, "package.json");
|
|
11290
|
-
if (existsSync(rootPkgJson)) results.push(rootPkgJson);
|
|
11291
|
-
const globs = getWorkspaceGlobs(workspaceRoot);
|
|
11292
|
-
for (const glob of globs) {
|
|
11293
|
-
const pattern = `${glob}/package.json`;
|
|
11294
|
-
const matches = fg.sync(pattern, {
|
|
11295
|
-
cwd: workspaceRoot,
|
|
11296
|
-
absolute: true,
|
|
11297
|
-
ignore: ["**/node_modules/**"]
|
|
11298
|
-
});
|
|
11299
|
-
results.push(...matches);
|
|
11300
|
-
}
|
|
11301
|
-
return [...new Set(results)];
|
|
11302
|
-
}
|
|
11303
|
-
//#endregion
|
|
11304
11176
|
//#region src/init/index.ts
|
|
11305
11177
|
/** `' staging, prod '` → `['staging', 'prod']`. */
|
|
11306
11178
|
const stageList = (value) => value.split(",").map((name) => name.trim()).filter(Boolean);
|
|
@@ -11311,7 +11183,7 @@ const AWS_REGION = /^[a-z]{2}(-gov)?-[a-z]+-\d$/;
|
|
|
11311
11183
|
*/
|
|
11312
11184
|
async function initCommand(projectName, options = {}) {
|
|
11313
11185
|
const cwd = process.cwd();
|
|
11314
|
-
const detectedPkgManager = detectPackageManager(cwd);
|
|
11186
|
+
const detectedPkgManager = detectPackageManager$2(cwd);
|
|
11315
11187
|
if (options.deploy && !deployTargetChoices.some((choice) => choice.value === options.deploy)) throw new UnknownDeployTarget(options.deploy, deployTargetChoices.map((c) => c.value));
|
|
11316
11188
|
if (options.region && !AWS_REGION.test(options.region)) throw new NotAnAwsRegion(options.region);
|
|
11317
11189
|
if (options.stages || options.localStage || options.protectedStage) {
|
|
@@ -11657,7 +11529,7 @@ function printNextSteps(projectName, options, pkgManager) {
|
|
|
11657
11529
|
}
|
|
11658
11530
|
if (options.deployTarget === "sst") {
|
|
11659
11531
|
console.log("🚀 Deployment (AWS, through SST):");
|
|
11660
|
-
for (const stage of deployed) console.log(` ${getRunCommand(pkgManager, `deploy:${stage}`)} # gkm build,
|
|
11532
|
+
for (const stage of deployed) console.log(` ${getRunCommand(pkgManager, `deploy:${stage}`)} # gkm deploy: build, sst deploy, health checks`);
|
|
11661
11533
|
console.log(` Uses your AWS credentials, in ${options.region}.`);
|
|
11662
11534
|
if (options.constructs.mail) console.log(" Set MAIL_FROM to a sender verified in SES first.");
|
|
11663
11535
|
console.log("");
|
|
@@ -12392,8 +12264,8 @@ function testDatabases(reconciled) {
|
|
|
12392
12264
|
* starts without the reference data the app needs.
|
|
12393
12265
|
*/
|
|
12394
12266
|
async function migrateTestStage(workspace, env) {
|
|
12395
|
-
const { migrateAndSeed } = await import("./migrate-
|
|
12396
|
-
const { discover } = await import("./discover-
|
|
12267
|
+
const { migrateAndSeed } = await import("./migrate-B4gngTLe.mjs");
|
|
12268
|
+
const { discover } = await import("./discover-LMrqsWSU.mjs").then((n) => n.i);
|
|
12397
12269
|
const sources = {};
|
|
12398
12270
|
const manifest = await discover({
|
|
12399
12271
|
patterns: constructGlobs(workspace),
|
|
@@ -12551,7 +12423,7 @@ function withVersion(range, version) {
|
|
|
12551
12423
|
}
|
|
12552
12424
|
async function upgradeCommand(options = {}) {
|
|
12553
12425
|
const cwd = process.cwd();
|
|
12554
|
-
const pm = detectPackageManager(cwd);
|
|
12426
|
+
const pm = detectPackageManager$2(cwd);
|
|
12555
12427
|
const root = findWorkspaceRoot(cwd, pm);
|
|
12556
12428
|
logger.log("\n📦 Scanning workspace for @geekmidas packages...\n");
|
|
12557
12429
|
logger.log(` Package manager: ${pm}`);
|
|
@@ -12823,7 +12695,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
12823
12695
|
try {
|
|
12824
12696
|
const globalOptions = program.opts();
|
|
12825
12697
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12826
|
-
const { migrateCommand } = await import("./migrate-
|
|
12698
|
+
const { migrateCommand } = await import("./migrate-B4gngTLe.mjs");
|
|
12827
12699
|
await migrateCommand({
|
|
12828
12700
|
...options,
|
|
12829
12701
|
...construct ? { construct } : {}
|
|
@@ -12837,7 +12709,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
12837
12709
|
try {
|
|
12838
12710
|
const globalOptions = program.opts();
|
|
12839
12711
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12840
|
-
const { seedCommand } = await import("./migrate-
|
|
12712
|
+
const { seedCommand } = await import("./migrate-B4gngTLe.mjs");
|
|
12841
12713
|
await seedCommand({
|
|
12842
12714
|
...options,
|
|
12843
12715
|
...construct ? { construct } : {}
|
|
@@ -12851,7 +12723,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
12851
12723
|
try {
|
|
12852
12724
|
const globalOptions = program.opts();
|
|
12853
12725
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12854
|
-
const { migrationCommand } = await import("./migrate-
|
|
12726
|
+
const { migrationCommand } = await import("./migrate-B4gngTLe.mjs");
|
|
12855
12727
|
await migrationCommand({
|
|
12856
12728
|
construct,
|
|
12857
12729
|
...name ? { name } : {}
|
|
@@ -12959,7 +12831,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
12959
12831
|
try {
|
|
12960
12832
|
const globalOptions = program.opts();
|
|
12961
12833
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12962
|
-
const { encryptionRotateCommand } = await import("./encryption-
|
|
12834
|
+
const { encryptionRotateCommand } = await import("./encryption-CKHjMpCr.mjs");
|
|
12963
12835
|
await encryptionRotateCommand(construct, options);
|
|
12964
12836
|
} catch (error) {
|
|
12965
12837
|
console.error(formatError(error));
|
|
@@ -12970,7 +12842,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
12970
12842
|
try {
|
|
12971
12843
|
const globalOptions = program.opts();
|
|
12972
12844
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12973
|
-
const { encryptionRetireCommand } = await import("./encryption-
|
|
12845
|
+
const { encryptionRetireCommand } = await import("./encryption-CKHjMpCr.mjs");
|
|
12974
12846
|
await encryptionRetireCommand(construct, key, options);
|
|
12975
12847
|
} catch (error) {
|
|
12976
12848
|
console.error(formatError(error));
|
|
@@ -13013,7 +12885,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
13013
12885
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
13014
12886
|
const { loadWorkspaceConfig } = await import("./config.mjs");
|
|
13015
12887
|
const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
|
|
13016
|
-
const { secretsStoreFor } = await import("./store-
|
|
12888
|
+
const { secretsStoreFor } = await import("./store-BaaonhkJ.mjs").then((n) => n.r);
|
|
13017
12889
|
const { workspace } = await loadWorkspaceConfig();
|
|
13018
12890
|
const stage = options.stage ?? workspace.stages.local;
|
|
13019
12891
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -13022,7 +12894,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
13022
12894
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
13023
12895
|
process.exit(1);
|
|
13024
12896
|
}
|
|
13025
|
-
const { derivedContainers } = await import("./sniffer-
|
|
12897
|
+
const { derivedContainers } = await import("./sniffer-49KPbDgq.mjs").then((n) => n.G);
|
|
13026
12898
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
13027
12899
|
if (!result) {
|
|
13028
12900
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -13036,8 +12908,8 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
13036
12908
|
process.exit(1);
|
|
13037
12909
|
}
|
|
13038
12910
|
});
|
|
13039
|
-
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp)").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").action(async (options) => {
|
|
13040
|
-
const { deployCli } = await import("./cli-
|
|
12911
|
+
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp)").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").action(async (options) => {
|
|
12912
|
+
const { deployCli } = await import("./cli-Bogz-zEj.mjs");
|
|
13041
12913
|
const globalOptions = program.opts();
|
|
13042
12914
|
const code = await deployCli({
|
|
13043
12915
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -13070,7 +12942,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
13070
12942
|
try {
|
|
13071
12943
|
const globalOptions = program.opts();
|
|
13072
12944
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
13073
|
-
const { deployGithubCommand } = await import("./github-
|
|
12945
|
+
const { deployGithubCommand } = await import("./github-D-byNI7T.mjs");
|
|
13074
12946
|
await deployGithubCommand(options);
|
|
13075
12947
|
} catch (error) {
|
|
13076
12948
|
console.error(formatError(error));
|