@geekmidas/cli 10.0.0-alpha.50 → 10.0.0-alpha.51
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/{config-CsYSyUya.cjs → config-Cvr5fCbn.cjs} +3 -2
- package/dist/config-Cvr5fCbn.cjs.map +1 -0
- package/dist/{config-D8J5rrTb.mjs → config-SOkDH-n1.mjs} +3 -2
- package/dist/config-SOkDH-n1.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/{encryption-C7OGMve_.cjs → encryption-Bt8SHRI6.cjs} +3 -3
- package/dist/{encryption-C7OGMve_.cjs.map → encryption-Bt8SHRI6.cjs.map} +1 -1
- package/dist/{encryption-DyQnPsZN.mjs → encryption-DRCXp-U4.mjs} +3 -3
- package/dist/{encryption-DyQnPsZN.mjs.map → encryption-DRCXp-U4.mjs.map} +1 -1
- package/dist/{github-BrI1tv6u.cjs → github-BGx4U61b.cjs} +3 -3
- package/dist/{github-BrI1tv6u.cjs.map → github-BGx4U61b.cjs.map} +1 -1
- package/dist/{github-BfpadQWQ.mjs → github-U_frvZgD.mjs} +3 -3
- package/dist/{github-BfpadQWQ.mjs.map → github-U_frvZgD.mjs.map} +1 -1
- package/dist/{index-BQhJXpaQ.d.mts → index-DYh5TrsZ.d.mts} +2 -2
- package/dist/{index-BQhJXpaQ.d.mts.map → index-DYh5TrsZ.d.mts.map} +1 -1
- package/dist/{index-DHJePE0y.d.cts → index-fU3qHy7c.d.cts} +2 -2
- package/dist/{index-DHJePE0y.d.cts.map → index-fU3qHy7c.d.cts.map} +1 -1
- package/dist/index.cjs +72 -74
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +72 -74
- package/dist/index.mjs.map +1 -1
- package/dist/{migrate-CNlew9Ek.cjs → migrate-dx4I0epp.cjs} +4 -4
- package/dist/{migrate-CNlew9Ek.cjs.map → migrate-dx4I0epp.cjs.map} +1 -1
- package/dist/{migrate-B00XpVaO.mjs → migrate-soUQtku3.mjs} +4 -4
- package/dist/{migrate-B00XpVaO.mjs.map → migrate-soUQtku3.mjs.map} +1 -1
- package/dist/openapi.cjs +1 -1
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +1 -1
- package/dist/reconcile/public.d.cts +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/{types-BbrNu83u.d.mts → types-CT0ymlBk.d.mts} +25 -24
- package/dist/{types-BbrNu83u.d.mts.map → types-CT0ymlBk.d.mts.map} +1 -1
- package/dist/{types-DNqEsctD.d.cts → types-DYDT4FfE.d.cts} +25 -24
- package/dist/{types-DNqEsctD.d.cts.map → types-DYDT4FfE.d.cts.map} +1 -1
- 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-DEibcoBe.cjs → workspace-BcCiLzTO.cjs} +4 -4
- package/dist/{workspace-DEibcoBe.cjs.map → workspace-BcCiLzTO.cjs.map} +1 -1
- package/dist/{workspace-BsbxbqV-.mjs → workspace-Dp2zK_Nk.mjs} +15 -4
- package/dist/workspace-Dp2zK_Nk.mjs.map +1 -0
- package/dist/{workspace-j6ZxvJqq.cjs → workspace-GBzR_hID.cjs} +15 -4
- package/dist/workspace-GBzR_hID.cjs.map +1 -0
- package/dist/{workspace-DNzWgM1J.mjs → workspace-bOsks1uk.mjs} +4 -4
- package/dist/{workspace-DNzWgM1J.mjs.map → workspace-bOsks1uk.mjs.map} +1 -1
- package/package.json +14 -14
- package/dist/config-CsYSyUya.cjs.map +0 -1
- package/dist/config-D8J5rrTb.mjs.map +0 -1
- package/dist/workspace-BsbxbqV-.mjs.map +0 -1
- package/dist/workspace-j6ZxvJqq.cjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env -S npx tsx
|
|
2
2
|
import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
3
3
|
import { i as ConstructGenerator, t as discover } from "./discover-Cf2jAcgF.mjs";
|
|
4
|
-
import { d as parseModuleConfig, f as appKey, l as loadWorkspaceConfig, n as NotABackendApp, o as loadAppConfig, p as derivedApps, r as NotInAnApp, s as loadConfig, t as ConfigNotFound, u as loadWorkspaceSettings } from "./config-
|
|
5
|
-
import { D as assertDeployedStage, E as TEST_STAGE, O as deployedProblems, T as InvalidStages, a as getAppBuildOrder, b as getDeployTargetError, k as stageProblems, m as stripPublicPrefix, o as getAppGkmConfig, p as getPublicEnvPrefix, t as allConstructGlobs, x as isDeployTargetSupported } from "./workspace-
|
|
4
|
+
import { d as parseModuleConfig, f as appKey, l as loadWorkspaceConfig, n as NotABackendApp, o as loadAppConfig, p as derivedApps, r as NotInAnApp, s as loadConfig, t as ConfigNotFound, u as loadWorkspaceSettings } from "./config-SOkDH-n1.mjs";
|
|
5
|
+
import { D as assertDeployedStage, E as TEST_STAGE, O as deployedProblems, T as InvalidStages, a as getAppBuildOrder, b as getDeployTargetError, k as stageProblems, m as stripPublicPrefix, o as getAppGkmConfig, p as getPublicEnvPrefix, t as allConstructGlobs, x as isDeployTargetSupported } from "./workspace-bOsks1uk.mjs";
|
|
6
6
|
import { a as withCustomSecret, i as toEmbeddableSecrets, n as maskPassword, t as initStageSecrets } from "./storage-BzaUxmqe.mjs";
|
|
7
7
|
import { a as getKeyPath, i as FileSecretsStore, n as secretsStoreFor } from "./store-DeGATCS-.mjs";
|
|
8
|
-
import { C as loadEnvFiles, S as isPortAvailable, T as prepareEntryCredentials, _ as fakeKey, a as reconcileWorkspace, b as createEntryWrapper, c as LOCAL_CA_PATH, d as postgresDatabaseNames, f as quoteIdentifier, g as describeServices, h as rootSite, i as derivedContainers, l as forgetState, m as resourceName, n as backendsOf$1, p as pgClient, r as constructGlobs, s as COMPOSE_PATH, t as FAKE_ENV, u as applyPostgres, v as primaryPortKey, w as loadSecretsForApp, x as findAvailablePort, y as createCredentialsPreload } from "./workspace-
|
|
8
|
+
import { C as loadEnvFiles, S as isPortAvailable, T as prepareEntryCredentials, _ as fakeKey, a as reconcileWorkspace, b as createEntryWrapper, c as LOCAL_CA_PATH, d as postgresDatabaseNames, f as quoteIdentifier, g as describeServices, h as rootSite, i as derivedContainers, l as forgetState, m as resourceName, n as backendsOf$1, p as pgClient, r as constructGlobs, s as COMPOSE_PATH, t as FAKE_ENV, u as applyPostgres, v as primaryPortKey, w as loadSecretsForApp, x as findAvailablePort, y as createCredentialsPreload } from "./workspace-Dp2zK_Nk.mjs";
|
|
9
9
|
import { n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-BzIGy8KE.mjs";
|
|
10
10
|
import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
|
|
11
11
|
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-WfT-eWlm.mjs";
|
|
@@ -42,7 +42,7 @@ import { Queue } from "@geekmidas/constructs/queue";
|
|
|
42
42
|
import { Topic } from "@geekmidas/constructs/topic";
|
|
43
43
|
import { lookup } from "node:dns/promises";
|
|
44
44
|
//#region package.json
|
|
45
|
-
var version = "10.0.0-alpha.
|
|
45
|
+
var version = "10.0.0-alpha.51";
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/auth/credentials.ts
|
|
48
48
|
/**
|
|
@@ -1725,9 +1725,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
1725
1725
|
for (const { id, port } of fakes) logger$9.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
1726
1726
|
logger$9.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
1727
1727
|
if (options.migrate || options.seed) {
|
|
1728
|
-
const { prepareDevDatabases } = await import("./migrate-
|
|
1728
|
+
const { prepareDevDatabases } = await import("./migrate-soUQtku3.mjs");
|
|
1729
1729
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
1730
|
-
} else await import("./migrate-
|
|
1730
|
+
} else await import("./migrate-soUQtku3.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
1731
1731
|
logger$9.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
1732
1732
|
});
|
|
1733
1733
|
const appUrls = {};
|
|
@@ -3991,7 +3991,7 @@ async function provisionDeclared(options) {
|
|
|
3991
3991
|
cache: cacheBackendFor(providerOf(workspace)),
|
|
3992
3992
|
events: eventsBackendFor(providerOf(workspace)),
|
|
3993
3993
|
storage: storageBackendFor(providerOf(workspace)),
|
|
3994
|
-
addresses: surfaceAddresses(
|
|
3994
|
+
addresses: surfaceAddresses(manifest, options.appUrls),
|
|
3995
3995
|
seed: options.seed,
|
|
3996
3996
|
...options.supplied ? { supplied: options.supplied } : {},
|
|
3997
3997
|
deferred: [],
|
|
@@ -4053,25 +4053,20 @@ function carriersLast(ordered, manifest) {
|
|
|
4053
4053
|
return [...ordered.filter((id) => !carries(id)), ...ordered.filter(carries)];
|
|
4054
4054
|
}
|
|
4055
4055
|
/**
|
|
4056
|
-
* Where each declared surface answers.
|
|
4056
|
+
* Where each declared surface answers: its own app's address.
|
|
4057
4057
|
*
|
|
4058
|
-
* Every
|
|
4059
|
-
*
|
|
4060
|
-
*
|
|
4061
|
-
*
|
|
4062
|
-
*
|
|
4063
|
-
* A workspace with two backends is the case this does not answer, and the
|
|
4064
|
-
* manifest cannot yet: which surface belongs to which app is what §2's endpoint
|
|
4065
|
-
* merge would record. Until then the first backend's address is used, and a
|
|
4066
|
-
* second backend's surfaces would be wrong rather than missing — worth knowing
|
|
4067
|
-
* before relying on it.
|
|
4058
|
+
* Every surface is an app of its own, keyed by its id the way the derivation
|
|
4059
|
+
* keyed it — `Api` is `api`, `Webhooks` is `webhooks` — and answers on that
|
|
4060
|
+
* app's host, `{subdomain}.{domain}`. It used to be handed the first backend's
|
|
4061
|
+
* address, so a workspace with two APIs pointed both at the same one.
|
|
4068
4062
|
*/
|
|
4069
|
-
function surfaceAddresses(
|
|
4063
|
+
function surfaceAddresses(manifest, appUrls) {
|
|
4070
4064
|
const addresses = {};
|
|
4071
|
-
const
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4065
|
+
for (const [id, declaration] of Object.entries(manifest)) {
|
|
4066
|
+
if (declaration.kind !== "rest-api") continue;
|
|
4067
|
+
const url = appUrls[appKey(id)];
|
|
4068
|
+
if (url) addresses[id] = url;
|
|
4069
|
+
}
|
|
4075
4070
|
return addresses;
|
|
4076
4071
|
}
|
|
4077
4072
|
//#endregion
|
|
@@ -4550,32 +4545,34 @@ async function verifyDnsRecords(appHostnames, serverIp, state) {
|
|
|
4550
4545
|
}
|
|
4551
4546
|
//#endregion
|
|
4552
4547
|
//#region src/deploy/domain.ts
|
|
4548
|
+
/** A stage was deployed that `deploy.domains` gives no domain. */
|
|
4549
|
+
var NoDomainForStage = class extends Error {
|
|
4550
|
+
stage;
|
|
4551
|
+
constructor(stage) {
|
|
4552
|
+
super(`No domain for stage "${stage}". Add it to gkm.config.ts: deploy: { domains: { ${stage}: 'example.com' } }.`);
|
|
4553
|
+
this.stage = stage;
|
|
4554
|
+
this.name = "NoDomainForStage";
|
|
4555
|
+
}
|
|
4556
|
+
};
|
|
4553
4557
|
/**
|
|
4554
|
-
*
|
|
4558
|
+
* The hostname an app answers on for a stage.
|
|
4555
4559
|
*
|
|
4556
|
-
*
|
|
4557
|
-
*
|
|
4558
|
-
*
|
|
4559
|
-
*
|
|
4560
|
-
* - Other apps get prefixed domain (e.g., 'api.myapp.com')
|
|
4560
|
+
* 1. An explicit `app.domain` — a string, or one per stage — wins.
|
|
4561
|
+
* 2. Otherwise from the stage's base domain in `deploy.domains`: the root site
|
|
4562
|
+
* answers on the domain itself, and every other app on
|
|
4563
|
+
* `{subdomain}.{domain}` — its declaration's `subdomain`, or its own name.
|
|
4561
4564
|
*
|
|
4562
|
-
* @
|
|
4563
|
-
* @param app - The normalized app configuration
|
|
4564
|
-
* @param stage - The deployment stage (e.g., 'production', 'development')
|
|
4565
|
-
* @param dokployConfig - Dokploy workspace configuration with domain mappings
|
|
4566
|
-
* @param isMainFrontend - Whether this is the main frontend app
|
|
4567
|
-
* @returns The resolved hostname for the app
|
|
4568
|
-
* @throws Error if no domain configuration is found for the stage
|
|
4565
|
+
* @throws {NoDomainForStage} when `deploy.domains` names no domain for it
|
|
4569
4566
|
*/
|
|
4570
|
-
function resolveHost(appName, app, stage,
|
|
4567
|
+
function resolveHost(appName, app, stage, domains, isMainFrontend) {
|
|
4571
4568
|
if (app.domain) {
|
|
4572
4569
|
if (typeof app.domain === "string") return app.domain;
|
|
4573
4570
|
if (app.domain[stage]) return app.domain[stage];
|
|
4574
4571
|
}
|
|
4575
|
-
const baseDomain =
|
|
4576
|
-
if (!baseDomain) throw new
|
|
4572
|
+
const baseDomain = domains?.[stage];
|
|
4573
|
+
if (!baseDomain) throw new NoDomainForStage(stage);
|
|
4577
4574
|
if (isMainFrontend) return baseDomain;
|
|
4578
|
-
return `${appName}.${baseDomain}`;
|
|
4575
|
+
return `${app.subdomain ?? appName}.${baseDomain}`;
|
|
4579
4576
|
}
|
|
4580
4577
|
/**
|
|
4581
4578
|
* Whether this app is the site the base domain points at — see `rootSite`,
|
|
@@ -7600,7 +7597,6 @@ async function workspaceDeployCommand(configured, options) {
|
|
|
7600
7597
|
if (skippedMobileApps.length > 0) logger$4.log(`\n📱 Skipping ${skippedMobileApps.length} mobile app(s) — deploy via framework toolchain: ${skippedMobileApps.join(", ")}`);
|
|
7601
7598
|
const backendApps = appsToDeployNames.filter((name) => workspace.apps[name].type === "backend");
|
|
7602
7599
|
const frontendApps = appsToDeployNames.filter((name) => workspace.apps[name].type === "web");
|
|
7603
|
-
const dokployConfig = workspace.deploy.dokploy;
|
|
7604
7600
|
let declaredEnv = {};
|
|
7605
7601
|
let declaredClusters = {};
|
|
7606
7602
|
{
|
|
@@ -7609,7 +7605,7 @@ async function workspaceDeployCommand(configured, options) {
|
|
|
7609
7605
|
for (const appName of backendApps) {
|
|
7610
7606
|
const app = workspace.apps[appName];
|
|
7611
7607
|
if (!app) continue;
|
|
7612
|
-
appUrls[appName] = `https://${resolveHost(appName, app, stage,
|
|
7608
|
+
appUrls[appName] = `https://${resolveHost(appName, app, stage, workspace.deploy?.domains, false)}`;
|
|
7613
7609
|
}
|
|
7614
7610
|
const declared = await provisionDeclared({
|
|
7615
7611
|
api,
|
|
@@ -7673,7 +7669,8 @@ async function workspaceDeployCommand(configured, options) {
|
|
|
7673
7669
|
const frontendUrls = [];
|
|
7674
7670
|
for (const appName of frontendApps) {
|
|
7675
7671
|
const app = workspace.apps[appName];
|
|
7676
|
-
const
|
|
7672
|
+
const isMainFrontend = isMainFrontendApp(appName, app, workspace.apps);
|
|
7673
|
+
const hostname = resolveHost(appName, app, stage, workspace.deploy?.domains, isMainFrontend);
|
|
7677
7674
|
frontendUrls.push(`https://${hostname}`);
|
|
7678
7675
|
}
|
|
7679
7676
|
if (backendApps.length > 0) {
|
|
@@ -7719,7 +7716,7 @@ async function workspaceDeployCommand(configured, options) {
|
|
|
7719
7716
|
},
|
|
7720
7717
|
buildArgs
|
|
7721
7718
|
});
|
|
7722
|
-
const backendHost = resolveHost(appName, app, stage,
|
|
7719
|
+
const backendHost = resolveHost(appName, app, stage, workspace.deploy?.domains, false);
|
|
7723
7720
|
const dependencyUrls = {};
|
|
7724
7721
|
if (app.dependencies) {
|
|
7725
7722
|
for (const dep of app.dependencies) if (publicUrls[dep]) dependencyUrls[dep] = publicUrls[dep];
|
|
@@ -7824,7 +7821,8 @@ async function workspaceDeployCommand(configured, options) {
|
|
|
7824
7821
|
if (app.dependencies) {
|
|
7825
7822
|
for (const dep of app.dependencies) if (publicUrls[dep]) dependencyUrls[dep] = publicUrls[dep];
|
|
7826
7823
|
}
|
|
7827
|
-
const
|
|
7824
|
+
const isMainFrontend = isMainFrontendApp(appName, app, workspace.apps);
|
|
7825
|
+
const frontendHost = resolveHost(appName, app, stage, workspace.deploy?.domains, isMainFrontend);
|
|
7828
7826
|
const envContext = {
|
|
7829
7827
|
app,
|
|
7830
7828
|
appName,
|
|
@@ -9316,26 +9314,26 @@ function loadPackageJson() {
|
|
|
9316
9314
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
9317
9315
|
*/
|
|
9318
9316
|
const GEEKMIDAS_VERSIONS = {
|
|
9319
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
9320
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
9321
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
9322
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
9323
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
9324
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
9325
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
9326
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
9327
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
9328
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
9329
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
9330
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
9331
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
9332
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
9333
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
9334
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
9335
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
9336
|
-
"@geekmidas/studio": "~10.0.0-alpha.
|
|
9337
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
9338
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
9317
|
+
"@geekmidas/audit": "~10.0.0-alpha.51",
|
|
9318
|
+
"@geekmidas/auth": "~10.0.0-alpha.51",
|
|
9319
|
+
"@geekmidas/cache": "~10.0.0-alpha.51",
|
|
9320
|
+
"@geekmidas/client": "~10.0.0-alpha.51",
|
|
9321
|
+
"@geekmidas/cloud": "~10.0.0-alpha.51",
|
|
9322
|
+
"@geekmidas/constructs": "~10.0.0-alpha.51",
|
|
9323
|
+
"@geekmidas/db": "~10.0.0-alpha.51",
|
|
9324
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.51",
|
|
9325
|
+
"@geekmidas/envkit": "~10.0.0-alpha.51",
|
|
9326
|
+
"@geekmidas/errors": "~10.0.0-alpha.51",
|
|
9327
|
+
"@geekmidas/events": "~10.0.0-alpha.51",
|
|
9328
|
+
"@geekmidas/logger": "~10.0.0-alpha.51",
|
|
9329
|
+
"@geekmidas/manifest": "~10.0.0-alpha.51",
|
|
9330
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.51",
|
|
9331
|
+
"@geekmidas/schema": "~10.0.0-alpha.51",
|
|
9332
|
+
"@geekmidas/services": "~10.0.0-alpha.51",
|
|
9333
|
+
"@geekmidas/storage": "~10.0.0-alpha.51",
|
|
9334
|
+
"@geekmidas/studio": "~10.0.0-alpha.51",
|
|
9335
|
+
"@geekmidas/telescope": "~10.0.0-alpha.51",
|
|
9336
|
+
"@geekmidas/testkit": "~10.0.0-alpha.51",
|
|
9339
9337
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
9340
9338
|
};
|
|
9341
9339
|
//#endregion
|
|
@@ -10890,7 +10888,7 @@ function generateDeployFiles(options) {
|
|
|
10890
10888
|
// VPC with NAT is a monthly cost in an account that may already
|
|
10891
10889
|
// have one — replace it with \`sst.aws.Vpc.get(…)\` if so.
|
|
10892
10890
|
${db.id}: { vpc },`] : [], ...options.constructs.mail ? [` // Every provider rejects an unverified sender, so there is no
|
|
10893
|
-
// default
|
|
10891
|
+
// default — \`fromManifest\` requires it, by the manifest's types.
|
|
10894
10892
|
${mail.id}: { from: process.env.MAIL_FROM as string },`] : []];
|
|
10895
10893
|
return [{
|
|
10896
10894
|
path: "sst.config.ts",
|
|
@@ -16078,7 +16076,7 @@ function testDatabases(reconciled) {
|
|
|
16078
16076
|
* starts without the reference data the app needs.
|
|
16079
16077
|
*/
|
|
16080
16078
|
async function migrateTestStage(workspace, env) {
|
|
16081
|
-
const { migrateAndSeed } = await import("./migrate-
|
|
16079
|
+
const { migrateAndSeed } = await import("./migrate-soUQtku3.mjs");
|
|
16082
16080
|
const { discover } = await import("./discover-Cf2jAcgF.mjs").then((n) => n.n);
|
|
16083
16081
|
const sources = {};
|
|
16084
16082
|
const manifest = await discover({
|
|
@@ -16509,7 +16507,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
16509
16507
|
try {
|
|
16510
16508
|
const globalOptions = program.opts();
|
|
16511
16509
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16512
|
-
const { migrateCommand } = await import("./migrate-
|
|
16510
|
+
const { migrateCommand } = await import("./migrate-soUQtku3.mjs");
|
|
16513
16511
|
await migrateCommand({
|
|
16514
16512
|
...options,
|
|
16515
16513
|
...construct ? { construct } : {}
|
|
@@ -16523,7 +16521,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
16523
16521
|
try {
|
|
16524
16522
|
const globalOptions = program.opts();
|
|
16525
16523
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16526
|
-
const { seedCommand } = await import("./migrate-
|
|
16524
|
+
const { seedCommand } = await import("./migrate-soUQtku3.mjs");
|
|
16527
16525
|
await seedCommand({
|
|
16528
16526
|
...options,
|
|
16529
16527
|
...construct ? { construct } : {}
|
|
@@ -16537,7 +16535,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
16537
16535
|
try {
|
|
16538
16536
|
const globalOptions = program.opts();
|
|
16539
16537
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16540
|
-
const { migrationCommand } = await import("./migrate-
|
|
16538
|
+
const { migrationCommand } = await import("./migrate-soUQtku3.mjs");
|
|
16541
16539
|
await migrationCommand({
|
|
16542
16540
|
construct,
|
|
16543
16541
|
...name ? { name } : {}
|
|
@@ -16635,7 +16633,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
16635
16633
|
try {
|
|
16636
16634
|
const globalOptions = program.opts();
|
|
16637
16635
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16638
|
-
const { encryptionRotateCommand } = await import("./encryption-
|
|
16636
|
+
const { encryptionRotateCommand } = await import("./encryption-DRCXp-U4.mjs");
|
|
16639
16637
|
await encryptionRotateCommand(construct, options);
|
|
16640
16638
|
} catch (error) {
|
|
16641
16639
|
console.error(formatError(error));
|
|
@@ -16646,7 +16644,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
16646
16644
|
try {
|
|
16647
16645
|
const globalOptions = program.opts();
|
|
16648
16646
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16649
|
-
const { encryptionRetireCommand } = await import("./encryption-
|
|
16647
|
+
const { encryptionRetireCommand } = await import("./encryption-DRCXp-U4.mjs");
|
|
16650
16648
|
await encryptionRetireCommand(construct, key, options);
|
|
16651
16649
|
} catch (error) {
|
|
16652
16650
|
console.error(formatError(error));
|
|
@@ -16698,7 +16696,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
16698
16696
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
16699
16697
|
process.exit(1);
|
|
16700
16698
|
}
|
|
16701
|
-
const { derivedContainers } = await import("./workspace-
|
|
16699
|
+
const { derivedContainers } = await import("./workspace-Dp2zK_Nk.mjs").then((n) => n.o);
|
|
16702
16700
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
16703
16701
|
if (!result) {
|
|
16704
16702
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -16757,7 +16755,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
16757
16755
|
try {
|
|
16758
16756
|
const globalOptions = program.opts();
|
|
16759
16757
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16760
|
-
const { deployGithubCommand } = await import("./github-
|
|
16758
|
+
const { deployGithubCommand } = await import("./github-U_frvZgD.mjs");
|
|
16761
16759
|
await deployGithubCommand(options);
|
|
16762
16760
|
} catch (error) {
|
|
16763
16761
|
console.error(formatError(error));
|