@geekmidas/cli 10.0.0-alpha.111 → 10.0.0-alpha.112
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/{cli-Br5ApIgR.mjs → cli-DDY3jfTt.mjs} +3 -3
- package/dist/{cli-Br5ApIgR.mjs.map → cli-DDY3jfTt.mjs.map} +1 -1
- package/dist/{eas-BkLA60P2.cjs → eas-Cne743nQ.cjs} +21 -3
- package/dist/eas-Cne743nQ.cjs.map +1 -0
- package/dist/{eas-6ezdJtry.mjs → eas-DEpwISrQ.mjs} +25 -7
- package/dist/eas-DEpwISrQ.mjs.map +1 -0
- package/dist/{googlePlay-DNgybe5t.cjs → googlePlay-B6uiHi65.cjs} +2 -2
- package/dist/{googlePlay-DNgybe5t.cjs.map → googlePlay-B6uiHi65.cjs.map} +1 -1
- package/dist/{googlePlay-DY9vZQ1p.mjs → googlePlay-BYZ-J5sC.mjs} +4 -4
- package/dist/{googlePlay-DY9vZQ1p.mjs.map → googlePlay-BYZ-J5sC.mjs.map} +1 -1
- package/dist/index.cjs +155 -73
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +164 -84
- package/dist/index.mjs.map +1 -1
- package/dist/{migrate-B9GswIAr.mjs → migrate-xHYaeBkd.mjs} +2 -2
- package/dist/{migrate-B9GswIAr.mjs.map → migrate-xHYaeBkd.mjs.map} +1 -1
- package/dist/{publish-B-EIjfQ0.mjs → publish-CSctCNf4.mjs} +2 -2
- package/dist/{publish-B-EIjfQ0.mjs.map → publish-CSctCNf4.mjs.map} +1 -1
- package/dist/{publish-CPgSbtcs.cjs → publish-SDG1WfYn.cjs} +2 -2
- package/dist/{publish-CPgSbtcs.cjs.map → publish-SDG1WfYn.cjs.map} +1 -1
- package/dist/{stage-DjxR_7C0.mjs → stage-ClKTHQoM.mjs} +2 -2
- package/dist/{stage-DjxR_7C0.mjs.map → stage-ClKTHQoM.mjs.map} +1 -1
- package/dist/{terminal-mXM-Lqc6.mjs → terminal-CybB-cjk.mjs} +2 -2
- package/dist/{terminal-mXM-Lqc6.mjs.map → terminal-CybB-cjk.mjs.map} +1 -1
- package/package.json +15 -15
- package/dist/eas-6ezdJtry.mjs.map +0 -1
- package/dist/eas-BkLA60P2.cjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -39,7 +39,7 @@ import { canonicalId, dependenciesOf, kebabCase, migrationFolder, provideKey, sc
|
|
|
39
39
|
import { pathToFileURL } from "node:url";
|
|
40
40
|
import { promisify } from "node:util";
|
|
41
41
|
import fg from "fast-glob";
|
|
42
|
-
import { parseDocument } from "yaml";
|
|
42
|
+
import { parseDocument, stringify } from "yaml";
|
|
43
43
|
import chokidar from "chokidar";
|
|
44
44
|
import prompts from "prompts";
|
|
45
45
|
import { createServer as createServer$1 } from "node:http";
|
|
@@ -51,7 +51,7 @@ import crypto from "crypto";
|
|
|
51
51
|
import { Function } from "@geekmidas/constructs/functions";
|
|
52
52
|
import { Topic } from "@geekmidas/constructs/topic";
|
|
53
53
|
//#region package.json
|
|
54
|
-
var version = "10.0.0-alpha.
|
|
54
|
+
var version = "10.0.0-alpha.112";
|
|
55
55
|
//#endregion
|
|
56
56
|
//#region src/prompt.ts
|
|
57
57
|
/**
|
|
@@ -2174,7 +2174,7 @@ async function execCommand(commandArgs, options = {}, stageDeps) {
|
|
|
2174
2174
|
const cwd = options.cwd ?? process.cwd();
|
|
2175
2175
|
if (!commandArgs[0]) throw new NoCommandSpecified();
|
|
2176
2176
|
if (options.stage && !isImageBuild()) {
|
|
2177
|
-
const { execOnStage } = await import("./stage-
|
|
2177
|
+
const { execOnStage } = await import("./stage-ClKTHQoM.mjs").then((n) => n.n);
|
|
2178
2178
|
const { loadWorkspaceConfig } = await import("./config.mjs");
|
|
2179
2179
|
const { workspace } = await loadWorkspaceConfig(cwd);
|
|
2180
2180
|
if (options.stage !== workspace.stages.local) {
|
|
@@ -2747,9 +2747,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2747
2747
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2748
2748
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2749
2749
|
if (options.migrate || options.seed) {
|
|
2750
|
-
const { prepareDevDatabases } = await import("./migrate-
|
|
2750
|
+
const { prepareDevDatabases } = await import("./migrate-xHYaeBkd.mjs");
|
|
2751
2751
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2752
|
-
} else await import("./migrate-
|
|
2752
|
+
} else await import("./migrate-xHYaeBkd.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2753
2753
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2754
2754
|
});
|
|
2755
2755
|
const appUrls = {};
|
|
@@ -5943,25 +5943,25 @@ function loadPackageJson() {
|
|
|
5943
5943
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5944
5944
|
*/
|
|
5945
5945
|
const GEEKMIDAS_VERSIONS = {
|
|
5946
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5947
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5948
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5949
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5950
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5951
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5952
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5953
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5954
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5955
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5956
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5957
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5958
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5959
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5960
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5961
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5962
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5963
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5964
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5946
|
+
"@geekmidas/audit": "~10.0.0-alpha.112",
|
|
5947
|
+
"@geekmidas/auth": "~10.0.0-alpha.112",
|
|
5948
|
+
"@geekmidas/cache": "~10.0.0-alpha.112",
|
|
5949
|
+
"@geekmidas/client": "~10.0.0-alpha.112",
|
|
5950
|
+
"@geekmidas/cloud": "~10.0.0-alpha.112",
|
|
5951
|
+
"@geekmidas/constructs": "~10.0.0-alpha.112",
|
|
5952
|
+
"@geekmidas/db": "~10.0.0-alpha.112",
|
|
5953
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.112",
|
|
5954
|
+
"@geekmidas/envkit": "~10.0.0-alpha.112",
|
|
5955
|
+
"@geekmidas/errors": "~10.0.0-alpha.112",
|
|
5956
|
+
"@geekmidas/events": "~10.0.0-alpha.112",
|
|
5957
|
+
"@geekmidas/logger": "~10.0.0-alpha.112",
|
|
5958
|
+
"@geekmidas/manifest": "~10.0.0-alpha.112",
|
|
5959
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.112",
|
|
5960
|
+
"@geekmidas/schema": "~10.0.0-alpha.112",
|
|
5961
|
+
"@geekmidas/services": "~10.0.0-alpha.112",
|
|
5962
|
+
"@geekmidas/storage": "~10.0.0-alpha.112",
|
|
5963
|
+
"@geekmidas/telescope": "~10.0.0-alpha.112",
|
|
5964
|
+
"@geekmidas/testkit": "~10.0.0-alpha.112",
|
|
5965
5965
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5966
5966
|
};
|
|
5967
5967
|
//#endregion
|
|
@@ -7154,7 +7154,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
7154
7154
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
7155
7155
|
* release the pinned commit is.
|
|
7156
7156
|
*/
|
|
7157
|
-
function stagesActionUses(commit = "
|
|
7157
|
+
function stagesActionUses(commit = "4f82632d8355cb858b895c3caf36228e040d39b0", version = cliVersion()) {
|
|
7158
7158
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
7159
7159
|
}
|
|
7160
7160
|
//#endregion
|
|
@@ -7653,26 +7653,6 @@ ${registryLogin(registry)}
|
|
|
7653
7653
|
SHA: \${{ steps.commit.outputs.sha }}
|
|
7654
7654
|
GODADDY_API_TOKEN: \${{ secrets.GODADDY_API_TOKEN }}
|
|
7655
7655
|
HOSTINGER_API_TOKEN: \${{ secrets.HOSTINGER_API_TOKEN }}
|
|
7656
|
-
${options.mobileApp ? publishMobile(pm.exec) : ""}`;
|
|
7657
|
-
}
|
|
7658
|
-
/**
|
|
7659
|
-
* The phone app, once its stage's servers run this release: its values
|
|
7660
|
-
* synced to the stage's EAS environment, then an update on the stage's
|
|
7661
|
-
* channel when a store build has its native code, or a store build
|
|
7662
|
-
* submitted to the stores when none does (\`gkm publish\`). The build runs
|
|
7663
|
-
* on EAS; this step only starts it.
|
|
7664
|
-
*/
|
|
7665
|
-
function publishMobile(exec) {
|
|
7666
|
-
return `
|
|
7667
|
-
# The phone app, after its servers: an update when a store build has
|
|
7668
|
-
# this native code, a store build submitted to the stores when none
|
|
7669
|
-
# does. EXPO_TOKEN is a secret on the stage's environment (an EAS
|
|
7670
|
-
# access token); the build runs on EAS, not here.
|
|
7671
|
-
- name: Publish the app
|
|
7672
|
-
run: ${exec} gkm publish --stage "$STAGE"
|
|
7673
|
-
env:
|
|
7674
|
-
STAGE: \${{ matrix.stage }}
|
|
7675
|
-
EXPO_TOKEN: \${{ secrets.EXPO_TOKEN }}
|
|
7676
7656
|
`;
|
|
7677
7657
|
}
|
|
7678
7658
|
/**
|
|
@@ -7778,6 +7758,97 @@ function generateGithubFiles(options) {
|
|
|
7778
7758
|
return files;
|
|
7779
7759
|
}
|
|
7780
7760
|
//#endregion
|
|
7761
|
+
//#region src/mobile/easWorkflow.ts
|
|
7762
|
+
/**
|
|
7763
|
+
* A stage's EAS workflow (`.eas/workflows/publish-<stage>.yml`): what
|
|
7764
|
+
* `gkm publish` does, run by EAS itself — so shipping the app needs no CI
|
|
7765
|
+
* of the project's own, no runner and no token in GitHub.
|
|
7766
|
+
*
|
|
7767
|
+
* Per platform: the native code's fingerprint, read with the stage's EAS
|
|
7768
|
+
* environment; a finished store build of the stage's profile with that
|
|
7769
|
+
* fingerprint; then an update on the stage's channel when there is one, or
|
|
7770
|
+
* a store build, submitted with the stage's submit profile, when there is
|
|
7771
|
+
* not. iOS is submitted once `submit.<stage>.ios.ascAppId` is set — until
|
|
7772
|
+
* then it is built and not submitted.
|
|
7773
|
+
*
|
|
7774
|
+
* It runs when the stage is deployed: the protected stage on a release tag
|
|
7775
|
+
* (`v*`), every other deployed stage on a push to `main` — and on demand,
|
|
7776
|
+
* `eas workflow:run .eas/workflows/publish-<stage>.yml`. The values a build
|
|
7777
|
+
* reads are the stage's EAS environment, which `gkm eas:sync` keeps.
|
|
7778
|
+
*
|
|
7779
|
+
* Generated: written by `gkm eas:sync`, and overwritten by the next one.
|
|
7780
|
+
*/
|
|
7781
|
+
/** Where a stage's workflow is written, relative to the app. */
|
|
7782
|
+
function easWorkflowPath(stage) {
|
|
7783
|
+
return `.eas/workflows/publish-${stage}.yml`;
|
|
7784
|
+
}
|
|
7785
|
+
/** The stage's EAS workflow, as YAML. */
|
|
7786
|
+
function easWorkflow(stage, options) {
|
|
7787
|
+
const profile = stage.stage;
|
|
7788
|
+
const jobs = { fingerprint: {
|
|
7789
|
+
name: "Fingerprint",
|
|
7790
|
+
type: "fingerprint",
|
|
7791
|
+
environment: stage.environment
|
|
7792
|
+
} };
|
|
7793
|
+
for (const platform of ["android", "ios"]) {
|
|
7794
|
+
const existing = `get_${platform}_build`;
|
|
7795
|
+
const build = `build_${platform}`;
|
|
7796
|
+
const name = platform === "ios" ? "iOS" : "Android";
|
|
7797
|
+
jobs[existing] = {
|
|
7798
|
+
name: `Find an ${name} store build with this native code`,
|
|
7799
|
+
needs: ["fingerprint"],
|
|
7800
|
+
type: "get-build",
|
|
7801
|
+
params: {
|
|
7802
|
+
fingerprint_hash: `\${{ needs.fingerprint.outputs.${platform}_fingerprint_hash }}`,
|
|
7803
|
+
profile,
|
|
7804
|
+
platform,
|
|
7805
|
+
distribution: "store"
|
|
7806
|
+
}
|
|
7807
|
+
};
|
|
7808
|
+
jobs[build] = {
|
|
7809
|
+
name: `Build ${name}`,
|
|
7810
|
+
needs: [existing],
|
|
7811
|
+
if: `\${{ !needs.${existing}.outputs.build_id }}`,
|
|
7812
|
+
type: "build",
|
|
7813
|
+
params: {
|
|
7814
|
+
platform,
|
|
7815
|
+
profile
|
|
7816
|
+
}
|
|
7817
|
+
};
|
|
7818
|
+
if (platform === "android" || options.iosSubmits) jobs[`submit_${platform}`] = {
|
|
7819
|
+
name: `Submit ${name}`,
|
|
7820
|
+
needs: [build],
|
|
7821
|
+
type: "submit",
|
|
7822
|
+
params: {
|
|
7823
|
+
build_id: `\${{ needs.${build}.outputs.build_id }}`,
|
|
7824
|
+
profile
|
|
7825
|
+
}
|
|
7826
|
+
};
|
|
7827
|
+
jobs[`update_${platform}`] = {
|
|
7828
|
+
name: `Update ${name} on '${stage.channel}'`,
|
|
7829
|
+
needs: [existing],
|
|
7830
|
+
if: `\${{ needs.${existing}.outputs.build_id }}`,
|
|
7831
|
+
type: "update",
|
|
7832
|
+
environment: stage.environment,
|
|
7833
|
+
params: {
|
|
7834
|
+
platform,
|
|
7835
|
+
channel: stage.channel
|
|
7836
|
+
}
|
|
7837
|
+
};
|
|
7838
|
+
}
|
|
7839
|
+
return `${[
|
|
7840
|
+
`# Generated by \`gkm eas:sync --stage ${stage.stage}\`: run it again rather than`,
|
|
7841
|
+
"# editing this file. An update when a store build has this native code,",
|
|
7842
|
+
`# a store build submitted to the stores when none does. Run by hand:`,
|
|
7843
|
+
`# eas workflow:run ${easWorkflowPath(stage.stage)}`,
|
|
7844
|
+
""
|
|
7845
|
+
].join("\n")}${stringify({
|
|
7846
|
+
name: `Publish to ${stage.stage}`,
|
|
7847
|
+
on: options.release ? { push: { tags: ["v*"] } } : { push: { branches: ["main"] } },
|
|
7848
|
+
jobs
|
|
7849
|
+
}, { lineWidth: 0 })}`;
|
|
7850
|
+
}
|
|
7851
|
+
//#endregion
|
|
7781
7852
|
//#region src/mobile/stage.ts
|
|
7782
7853
|
/** A `MobileApp`'s `stages` names a stage the project does not deploy. */
|
|
7783
7854
|
var MobileAppStageUndeclared = class extends GkmError {
|
|
@@ -8696,6 +8767,35 @@ export default function SigningInScreen() {
|
|
|
8696
8767
|
</SafeAreaView>
|
|
8697
8768
|
);
|
|
8698
8769
|
}
|
|
8770
|
+
`;
|
|
8771
|
+
const appConstructTs = `import { MobileApp } from '@geekmidas/constructs/mobile-app';
|
|
8772
|
+
import { api } from './api.ts';
|
|
8773
|
+
import { auth } from './auth.ts';
|
|
8774
|
+
import { email } from './email.ts';
|
|
8775
|
+
|
|
8776
|
+
/**
|
|
8777
|
+
* The mobile app — a construct like a site, which is what makes it an app.
|
|
8778
|
+
*
|
|
8779
|
+
* \`.dependsOn()\` is the single fact behind what a mobile app otherwise has
|
|
8780
|
+
* written down by hand: its API and auth URLs, its URL scheme, the scheme in
|
|
8781
|
+
* the auth server's trusted origins, Better Auth's Expo plugin, sign-in links
|
|
8782
|
+
* a phone can open — and, on a local stage, the mailer's inbox, so a link sent
|
|
8783
|
+
* in development is read on the device.
|
|
8784
|
+
*/
|
|
8785
|
+
export const app = new MobileApp('App', { path: 'apps/app' }).dependsOn([
|
|
8786
|
+
api,
|
|
8787
|
+
auth,
|
|
8788
|
+
email,
|
|
8789
|
+
]);
|
|
8790
|
+
`;
|
|
8791
|
+
const gitignore = `node_modules/
|
|
8792
|
+
.expo/
|
|
8793
|
+
dist/
|
|
8794
|
+
*.log
|
|
8795
|
+
.env*.local
|
|
8796
|
+
ios/
|
|
8797
|
+
android/
|
|
8798
|
+
.eas/
|
|
8699
8799
|
`;
|
|
8700
8800
|
return [
|
|
8701
8801
|
{
|
|
@@ -8710,6 +8810,13 @@ export default function SigningInScreen() {
|
|
|
8710
8810
|
path: "apps/app/eas.json",
|
|
8711
8811
|
content: `${JSON.stringify(easJson, null, 2)}\n`
|
|
8712
8812
|
},
|
|
8813
|
+
...stages.map((stage) => ({
|
|
8814
|
+
path: `apps/app/${easWorkflowPath(stage.stage)}`,
|
|
8815
|
+
content: easWorkflow(stage, {
|
|
8816
|
+
release: options.stages.protected?.includes(stage.stage) ?? false,
|
|
8817
|
+
iosSubmits: false
|
|
8818
|
+
})
|
|
8819
|
+
})),
|
|
8713
8820
|
{
|
|
8714
8821
|
path: "apps/app/babel.config.js",
|
|
8715
8822
|
content: babelConfig
|
|
@@ -8800,38 +8907,11 @@ export default function SigningInScreen() {
|
|
|
8800
8907
|
},
|
|
8801
8908
|
{
|
|
8802
8909
|
path: "apps/app/.gitignore",
|
|
8803
|
-
content:
|
|
8804
|
-
.expo/
|
|
8805
|
-
dist/
|
|
8806
|
-
*.log
|
|
8807
|
-
.env*.local
|
|
8808
|
-
ios/
|
|
8809
|
-
android/
|
|
8810
|
-
.eas/
|
|
8811
|
-
`
|
|
8910
|
+
content: gitignore
|
|
8812
8911
|
},
|
|
8813
8912
|
{
|
|
8814
8913
|
path: "constructs/app.ts",
|
|
8815
|
-
content:
|
|
8816
|
-
import { api } from './api.ts';
|
|
8817
|
-
import { auth } from './auth.ts';
|
|
8818
|
-
import { email } from './email.ts';
|
|
8819
|
-
|
|
8820
|
-
/**
|
|
8821
|
-
* The mobile app — a construct like a site, which is what makes it an app.
|
|
8822
|
-
*
|
|
8823
|
-
* \`.dependsOn()\` is the single fact behind what a mobile app otherwise has
|
|
8824
|
-
* written down by hand: its API and auth URLs, its URL scheme, the scheme in
|
|
8825
|
-
* the auth server's trusted origins, Better Auth's Expo plugin, sign-in links
|
|
8826
|
-
* a phone can open — and, on a local stage, the mailer's inbox, so a link sent
|
|
8827
|
-
* in development is read on the device.
|
|
8828
|
-
*/
|
|
8829
|
-
export const app = new MobileApp('App', { path: 'apps/app' }).dependsOn([
|
|
8830
|
-
api,
|
|
8831
|
-
auth,
|
|
8832
|
-
email,
|
|
8833
|
-
]);
|
|
8834
|
-
`
|
|
8914
|
+
content: appConstructTs
|
|
8835
8915
|
}
|
|
8836
8916
|
];
|
|
8837
8917
|
}
|
|
@@ -15909,7 +15989,7 @@ function testDatabases(reconciled) {
|
|
|
15909
15989
|
* starts without the reference data the app needs.
|
|
15910
15990
|
*/
|
|
15911
15991
|
async function migrateTestStage(workspace, env) {
|
|
15912
|
-
const { migrateAndSeed } = await import("./migrate-
|
|
15992
|
+
const { migrateAndSeed } = await import("./migrate-xHYaeBkd.mjs");
|
|
15913
15993
|
const { discover } = await import("./discover-Ca8U75dl.mjs").then((n) => n.a);
|
|
15914
15994
|
const sources = {};
|
|
15915
15995
|
const manifest = await discover({
|
|
@@ -16333,7 +16413,7 @@ program.command("eas:sync").description("Set up a mobile app's EAS project for a
|
|
|
16333
16413
|
try {
|
|
16334
16414
|
const globalOptions = program.opts();
|
|
16335
16415
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16336
|
-
const { easSync } = await import("./eas-
|
|
16416
|
+
const { easSync } = await import("./eas-DEpwISrQ.mjs");
|
|
16337
16417
|
await easSync(options);
|
|
16338
16418
|
} catch (error) {
|
|
16339
16419
|
exitWithError(error);
|
|
@@ -16343,7 +16423,7 @@ program.command("publish").description("Ship a mobile app for a deployed stage:
|
|
|
16343
16423
|
try {
|
|
16344
16424
|
const globalOptions = program.opts();
|
|
16345
16425
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16346
|
-
const { publish, PublishModeConflict } = await import("./publish-
|
|
16426
|
+
const { publish, PublishModeConflict } = await import("./publish-CSctCNf4.mjs");
|
|
16347
16427
|
if (options.build && options.update) throw new PublishModeConflict();
|
|
16348
16428
|
const { build, update, ...rest } = options;
|
|
16349
16429
|
await publish({
|
|
@@ -16359,7 +16439,7 @@ program.command("deploy:google-play").description("Let EAS Submit publish a mobi
|
|
|
16359
16439
|
try {
|
|
16360
16440
|
const globalOptions = program.opts();
|
|
16361
16441
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16362
|
-
const { deployGooglePlay } = await import("./googlePlay-
|
|
16442
|
+
const { deployGooglePlay } = await import("./googlePlay-BYZ-J5sC.mjs");
|
|
16363
16443
|
await deployGooglePlay(options);
|
|
16364
16444
|
} catch (error) {
|
|
16365
16445
|
exitWithError(error);
|
|
@@ -16381,7 +16461,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
16381
16461
|
try {
|
|
16382
16462
|
const globalOptions = program.opts();
|
|
16383
16463
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16384
|
-
const { migrateCommand } = await import("./migrate-
|
|
16464
|
+
const { migrateCommand } = await import("./migrate-xHYaeBkd.mjs");
|
|
16385
16465
|
await migrateCommand({
|
|
16386
16466
|
...options,
|
|
16387
16467
|
...construct ? { construct } : {}
|
|
@@ -16394,7 +16474,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
16394
16474
|
try {
|
|
16395
16475
|
const globalOptions = program.opts();
|
|
16396
16476
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16397
|
-
const { seedCommand } = await import("./migrate-
|
|
16477
|
+
const { seedCommand } = await import("./migrate-xHYaeBkd.mjs");
|
|
16398
16478
|
await seedCommand({
|
|
16399
16479
|
...options,
|
|
16400
16480
|
...construct ? { construct } : {}
|
|
@@ -16407,7 +16487,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
16407
16487
|
try {
|
|
16408
16488
|
const globalOptions = program.opts();
|
|
16409
16489
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16410
|
-
const { migrationCommand } = await import("./migrate-
|
|
16490
|
+
const { migrationCommand } = await import("./migrate-xHYaeBkd.mjs");
|
|
16411
16491
|
await migrationCommand({
|
|
16412
16492
|
construct,
|
|
16413
16493
|
...name ? { name } : {}
|
|
@@ -16599,7 +16679,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
16599
16679
|
}
|
|
16600
16680
|
});
|
|
16601
16681
|
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, 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; compose: the commit). Compose pulls a given tag").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").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns", "Compose: neither write the public hosts' DNS records nor check they point at GKM_SERVER_IPV4 (a CDN or proxy in front, or records written elsewhere)").option("--rotate-keys", "Deployed stage: each provider issues its runtime keys a successor (the old one is deleted by the next deploy)").option("--retire-old-keys", "Deployed stage: delete a rotated-out key now instead of on the next deploy").action(async (options) => {
|
|
16602
|
-
const { deployCli } = await import("./cli-
|
|
16682
|
+
const { deployCli } = await import("./cli-DDY3jfTt.mjs");
|
|
16603
16683
|
const globalOptions = program.opts();
|
|
16604
16684
|
const code = await deployCli({
|
|
16605
16685
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -16620,7 +16700,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
16620
16700
|
program.command("deploy:rollback").description("Put a stage's app back on its previous release (Dokploy): one app with --app, every app with --atomic").requiredOption("--stage <stage>", "A deployed stage").option("--app <app>", "The app to roll back").option("--atomic", "Roll back every app that has an earlier release").action(async (options) => {
|
|
16621
16701
|
try {
|
|
16622
16702
|
const { rollbackStage } = await import("./rollback-BQgEdr_p.mjs").then((n) => n.a);
|
|
16623
|
-
const { terminalCredentials } = await import("./terminal-
|
|
16703
|
+
const { terminalCredentials } = await import("./terminal-CybB-cjk.mjs");
|
|
16624
16704
|
const globalOptions = program.opts();
|
|
16625
16705
|
await rollbackStage({
|
|
16626
16706
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -16832,6 +16912,6 @@ try {
|
|
|
16832
16912
|
}
|
|
16833
16913
|
program.parse();
|
|
16834
16914
|
//#endregion
|
|
16835
|
-
export {
|
|
16915
|
+
export { slug as a, validateDokployToken as c, easWorkflowPath as i, canPrompt as l, mobileStage as n, stamp as o, easWorkflow as r, formatError as s, generateFullstackCustomSecrets as t, prompt as u };
|
|
16836
16916
|
|
|
16837
16917
|
//# sourceMappingURL=index.mjs.map
|