@stamhoofd/cli 2.122.1
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/LICENSE.md +32 -0
- package/README.md +365 -0
- package/bin/stam.js +19 -0
- package/dist/base-command.d.ts +22 -0
- package/dist/base-command.d.ts.map +1 -0
- package/dist/base-command.js +23 -0
- package/dist/base-command.js.map +1 -0
- package/dist/command-flags.d.ts +8 -0
- package/dist/command-flags.d.ts.map +1 -0
- package/dist/command-flags.js +32 -0
- package/dist/command-flags.js.map +1 -0
- package/dist/commands/build.d.ts +12 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +16 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/check/all.d.ts +12 -0
- package/dist/commands/check/all.d.ts.map +1 -0
- package/dist/commands/check/all.js +21 -0
- package/dist/commands/check/all.js.map +1 -0
- package/dist/commands/check/index.d.ts +8 -0
- package/dist/commands/check/index.d.ts.map +1 -0
- package/dist/commands/check/index.js +15 -0
- package/dist/commands/check/index.js.map +1 -0
- package/dist/commands/check/lint.d.ts +11 -0
- package/dist/commands/check/lint.d.ts.map +1 -0
- package/dist/commands/check/lint.js +16 -0
- package/dist/commands/check/lint.js.map +1 -0
- package/dist/commands/check/typecheck.d.ts +11 -0
- package/dist/commands/check/typecheck.d.ts.map +1 -0
- package/dist/commands/check/typecheck.js +16 -0
- package/dist/commands/check/typecheck.js.map +1 -0
- package/dist/commands/clean/index.d.ts +31 -0
- package/dist/commands/clean/index.d.ts.map +1 -0
- package/dist/commands/clean/index.js +131 -0
- package/dist/commands/clean/index.js.map +1 -0
- package/dist/commands/config/explain.d.ts +13 -0
- package/dist/commands/config/explain.d.ts.map +1 -0
- package/dist/commands/config/explain.js +26 -0
- package/dist/commands/config/explain.js.map +1 -0
- package/dist/commands/config/index.d.ts +8 -0
- package/dist/commands/config/index.d.ts.map +1 -0
- package/dist/commands/config/index.js +15 -0
- package/dist/commands/config/index.js.map +1 -0
- package/dist/commands/config/print.d.ts +13 -0
- package/dist/commands/config/print.d.ts.map +1 -0
- package/dist/commands/config/print.js +19 -0
- package/dist/commands/config/print.js.map +1 -0
- package/dist/commands/db/backup/index.d.ts +13 -0
- package/dist/commands/db/backup/index.d.ts.map +1 -0
- package/dist/commands/db/backup/index.js +31 -0
- package/dist/commands/db/backup/index.js.map +1 -0
- package/dist/commands/db/backup/list.d.ts +13 -0
- package/dist/commands/db/backup/list.d.ts.map +1 -0
- package/dist/commands/db/backup/list.js +38 -0
- package/dist/commands/db/backup/list.js.map +1 -0
- package/dist/commands/db/backup/remove.d.ts +15 -0
- package/dist/commands/db/backup/remove.d.ts.map +1 -0
- package/dist/commands/db/backup/remove.js +24 -0
- package/dist/commands/db/backup/remove.js.map +1 -0
- package/dist/commands/db/backup/rename.d.ts +15 -0
- package/dist/commands/db/backup/rename.d.ts.map +1 -0
- package/dist/commands/db/backup/rename.js +24 -0
- package/dist/commands/db/backup/rename.js.map +1 -0
- package/dist/commands/db/copy.d.ts +16 -0
- package/dist/commands/db/copy.d.ts.map +1 -0
- package/dist/commands/db/copy.js +27 -0
- package/dist/commands/db/copy.js.map +1 -0
- package/dist/commands/db/index.d.ts +8 -0
- package/dist/commands/db/index.d.ts.map +1 -0
- package/dist/commands/db/index.js +20 -0
- package/dist/commands/db/index.js.map +1 -0
- package/dist/commands/db/migrate.d.ts +13 -0
- package/dist/commands/db/migrate.d.ts.map +1 -0
- package/dist/commands/db/migrate.js +16 -0
- package/dist/commands/db/migrate.js.map +1 -0
- package/dist/commands/db/move.d.ts +16 -0
- package/dist/commands/db/move.d.ts.map +1 -0
- package/dist/commands/db/move.js +28 -0
- package/dist/commands/db/move.js.map +1 -0
- package/dist/commands/db/remove.d.ts +15 -0
- package/dist/commands/db/remove.d.ts.map +1 -0
- package/dist/commands/db/remove.js +25 -0
- package/dist/commands/db/remove.js.map +1 -0
- package/dist/commands/db/restore.d.ts +13 -0
- package/dist/commands/db/restore.d.ts.map +1 -0
- package/dist/commands/db/restore.js +31 -0
- package/dist/commands/db/restore.js.map +1 -0
- package/dist/commands/db/shell.d.ts +13 -0
- package/dist/commands/db/shell.d.ts.map +1 -0
- package/dist/commands/db/shell.js +20 -0
- package/dist/commands/db/shell.js.map +1 -0
- package/dist/commands/dev/index.d.ts +19 -0
- package/dist/commands/dev/index.d.ts.map +1 -0
- package/dist/commands/dev/index.js +63 -0
- package/dist/commands/dev/index.js.map +1 -0
- package/dist/commands/services/down.d.ts +11 -0
- package/dist/commands/services/down.d.ts.map +1 -0
- package/dist/commands/services/down.js +17 -0
- package/dist/commands/services/down.js.map +1 -0
- package/dist/commands/services/index.d.ts +8 -0
- package/dist/commands/services/index.d.ts.map +1 -0
- package/dist/commands/services/index.js +15 -0
- package/dist/commands/services/index.js.map +1 -0
- package/dist/commands/services/logs.d.ts +11 -0
- package/dist/commands/services/logs.d.ts.map +1 -0
- package/dist/commands/services/logs.js +15 -0
- package/dist/commands/services/logs.js.map +1 -0
- package/dist/commands/services/restart.d.ts +11 -0
- package/dist/commands/services/restart.d.ts.map +1 -0
- package/dist/commands/services/restart.js +18 -0
- package/dist/commands/services/restart.js.map +1 -0
- package/dist/commands/services/status.d.ts +11 -0
- package/dist/commands/services/status.d.ts.map +1 -0
- package/dist/commands/services/status.js +16 -0
- package/dist/commands/services/status.js.map +1 -0
- package/dist/commands/services/stop.d.ts +2 -0
- package/dist/commands/services/stop.d.ts.map +1 -0
- package/dist/commands/services/stop.js +2 -0
- package/dist/commands/services/stop.js.map +1 -0
- package/dist/commands/services/up.d.ts +11 -0
- package/dist/commands/services/up.d.ts.map +1 -0
- package/dist/commands/services/up.js +16 -0
- package/dist/commands/services/up.js.map +1 -0
- package/dist/commands/setup/index.d.ts +22 -0
- package/dist/commands/setup/index.d.ts.map +1 -0
- package/dist/commands/setup/index.js +69 -0
- package/dist/commands/setup/index.js.map +1 -0
- package/dist/commands/sso/config.d.ts +16 -0
- package/dist/commands/sso/config.d.ts.map +1 -0
- package/dist/commands/sso/config.js +21 -0
- package/dist/commands/sso/config.js.map +1 -0
- package/dist/commands/sso/index.d.ts +8 -0
- package/dist/commands/sso/index.d.ts.map +1 -0
- package/dist/commands/sso/index.js +16 -0
- package/dist/commands/sso/index.js.map +1 -0
- package/dist/commands/sso/logs.d.ts +13 -0
- package/dist/commands/sso/logs.d.ts.map +1 -0
- package/dist/commands/sso/logs.js +17 -0
- package/dist/commands/sso/logs.js.map +1 -0
- package/dist/commands/sso/start.d.ts +17 -0
- package/dist/commands/sso/start.d.ts.map +1 -0
- package/dist/commands/sso/start.js +32 -0
- package/dist/commands/sso/start.js.map +1 -0
- package/dist/commands/sso/stop.d.ts +13 -0
- package/dist/commands/sso/stop.d.ts.map +1 -0
- package/dist/commands/sso/stop.js +18 -0
- package/dist/commands/sso/stop.js.map +1 -0
- package/dist/commands/status.d.ts +15 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +61 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/test/all.d.ts +12 -0
- package/dist/commands/test/all.d.ts.map +1 -0
- package/dist/commands/test/all.js +19 -0
- package/dist/commands/test/all.js.map +1 -0
- package/dist/commands/test/e2e.d.ts +16 -0
- package/dist/commands/test/e2e.d.ts.map +1 -0
- package/dist/commands/test/e2e.js +32 -0
- package/dist/commands/test/e2e.js.map +1 -0
- package/dist/commands/test/index.d.ts +8 -0
- package/dist/commands/test/index.d.ts.map +1 -0
- package/dist/commands/test/index.js +16 -0
- package/dist/commands/test/index.js.map +1 -0
- package/dist/commands/test/unit.d.ts +12 -0
- package/dist/commands/test/unit.d.ts.map +1 -0
- package/dist/commands/test/unit.js +17 -0
- package/dist/commands/test/unit.js.map +1 -0
- package/dist/config/build-config.d.ts +15 -0
- package/dist/config/build-config.d.ts.map +1 -0
- package/dist/config/build-config.js +8 -0
- package/dist/config/build-config.js.map +1 -0
- package/dist/config/caddy-config.d.ts +122 -0
- package/dist/config/caddy-config.d.ts.map +1 -0
- package/dist/config/caddy-config.js +127 -0
- package/dist/config/caddy-config.js.map +1 -0
- package/dist/config/development-config.d.ts +48 -0
- package/dist/config/development-config.d.ts.map +1 -0
- package/dist/config/development-config.js +230 -0
- package/dist/config/development-config.js.map +1 -0
- package/dist/config/internal-secrets.d.ts +13 -0
- package/dist/config/internal-secrets.d.ts.map +1 -0
- package/dist/config/internal-secrets.js +65 -0
- package/dist/config/internal-secrets.js.map +1 -0
- package/dist/config/shared-service-config.d.ts +60 -0
- package/dist/config/shared-service-config.d.ts.map +1 -0
- package/dist/config/shared-service-config.js +94 -0
- package/dist/config/shared-service-config.js.map +1 -0
- package/dist/config/shared-service-profile.d.ts +29 -0
- package/dist/config/shared-service-profile.d.ts.map +1 -0
- package/dist/config/shared-service-profile.js +56 -0
- package/dist/config/shared-service-profile.js.map +1 -0
- package/dist/context/create-context.d.ts +19 -0
- package/dist/context/create-context.d.ts.map +1 -0
- package/dist/context/create-context.js +26 -0
- package/dist/context/create-context.js.map +1 -0
- package/dist/context/instance.d.ts +12 -0
- package/dist/context/instance.d.ts.map +1 -0
- package/dist/context/instance.js +26 -0
- package/dist/context/instance.js.map +1 -0
- package/dist/context/port-allocation.d.ts +3 -0
- package/dist/context/port-allocation.d.ts.map +1 -0
- package/dist/context/port-allocation.js +77 -0
- package/dist/context/port-allocation.js.map +1 -0
- package/dist/context/ports.d.ts +14 -0
- package/dist/context/ports.d.ts.map +1 -0
- package/dist/context/ports.js +17 -0
- package/dist/context/ports.js.map +1 -0
- package/dist/context/project-path.d.ts +2 -0
- package/dist/context/project-path.d.ts.map +1 -0
- package/dist/context/project-path.js +7 -0
- package/dist/context/project-path.js.map +1 -0
- package/dist/context/workspace.d.ts +5 -0
- package/dist/context/workspace.d.ts.map +1 -0
- package/dist/context/workspace.js +47 -0
- package/dist/context/workspace.js.map +1 -0
- package/dist/help.d.ts +13 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +125 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/command-runner.d.ts +20 -0
- package/dist/runtime/command-runner.d.ts.map +1 -0
- package/dist/runtime/command-runner.js +75 -0
- package/dist/runtime/command-runner.js.map +1 -0
- package/dist/runtime/database-command-helpers.d.ts +16 -0
- package/dist/runtime/database-command-helpers.d.ts.map +1 -0
- package/dist/runtime/database-command-helpers.js +64 -0
- package/dist/runtime/database-command-helpers.js.map +1 -0
- package/dist/runtime/db-backup-helpers.d.ts +24 -0
- package/dist/runtime/db-backup-helpers.d.ts.map +1 -0
- package/dist/runtime/db-backup-helpers.js +145 -0
- package/dist/runtime/db-backup-helpers.js.map +1 -0
- package/dist/runtime/live-output.d.ts +31 -0
- package/dist/runtime/live-output.d.ts.map +1 -0
- package/dist/runtime/live-output.js +139 -0
- package/dist/runtime/live-output.js.map +1 -0
- package/dist/runtime/manifest-store.d.ts +66 -0
- package/dist/runtime/manifest-store.d.ts.map +1 -0
- package/dist/runtime/manifest-store.js +188 -0
- package/dist/runtime/manifest-store.js.map +1 -0
- package/dist/runtime/monorepo-runner.d.ts +20 -0
- package/dist/runtime/monorepo-runner.d.ts.map +1 -0
- package/dist/runtime/monorepo-runner.js +175 -0
- package/dist/runtime/monorepo-runner.js.map +1 -0
- package/dist/runtime/one-password.d.ts +7 -0
- package/dist/runtime/one-password.d.ts.map +1 -0
- package/dist/runtime/one-password.js +90 -0
- package/dist/runtime/one-password.js.map +1 -0
- package/dist/runtime/output-target.d.ts +13 -0
- package/dist/runtime/output-target.d.ts.map +1 -0
- package/dist/runtime/output-target.js +22 -0
- package/dist/runtime/output-target.js.map +1 -0
- package/dist/runtime/show-help.d.ts +3 -0
- package/dist/runtime/show-help.d.ts.map +1 -0
- package/dist/runtime/show-help.js +6 -0
- package/dist/runtime/show-help.js.map +1 -0
- package/dist/runtime/status.d.ts +10 -0
- package/dist/runtime/status.d.ts.map +1 -0
- package/dist/runtime/status.js +28 -0
- package/dist/runtime/status.js.map +1 -0
- package/dist/runtime/ux.d.ts +62 -0
- package/dist/runtime/ux.d.ts.map +1 -0
- package/dist/runtime/ux.js +255 -0
- package/dist/runtime/ux.js.map +1 -0
- package/dist/services/definitions/caddy-service.d.ts +31 -0
- package/dist/services/definitions/caddy-service.d.ts.map +1 -0
- package/dist/services/definitions/caddy-service.js +93 -0
- package/dist/services/definitions/caddy-service.js.map +1 -0
- package/dist/services/definitions/coredns-service.d.ts +20 -0
- package/dist/services/definitions/coredns-service.d.ts.map +1 -0
- package/dist/services/definitions/coredns-service.js +43 -0
- package/dist/services/definitions/coredns-service.js.map +1 -0
- package/dist/services/definitions/maildev-service.d.ts +14 -0
- package/dist/services/definitions/maildev-service.d.ts.map +1 -0
- package/dist/services/definitions/maildev-service.js +28 -0
- package/dist/services/definitions/maildev-service.js.map +1 -0
- package/dist/services/definitions/mysql-service.d.ts +19 -0
- package/dist/services/definitions/mysql-service.d.ts.map +1 -0
- package/dist/services/definitions/mysql-service.js +41 -0
- package/dist/services/definitions/mysql-service.js.map +1 -0
- package/dist/services/definitions/rustfs-service.d.ts +16 -0
- package/dist/services/definitions/rustfs-service.d.ts.map +1 -0
- package/dist/services/definitions/rustfs-service.js +36 -0
- package/dist/services/definitions/rustfs-service.js.map +1 -0
- package/dist/services/definitions/sso-service.d.ts +27 -0
- package/dist/services/definitions/sso-service.d.ts.map +1 -0
- package/dist/services/definitions/sso-service.js +41 -0
- package/dist/services/definitions/sso-service.js.map +1 -0
- package/dist/services/definitions/stripe-service.d.ts +26 -0
- package/dist/services/definitions/stripe-service.d.ts.map +1 -0
- package/dist/services/definitions/stripe-service.js +70 -0
- package/dist/services/definitions/stripe-service.js.map +1 -0
- package/dist/services/docker-service.d.ts +39 -0
- package/dist/services/docker-service.d.ts.map +1 -0
- package/dist/services/docker-service.js +98 -0
- package/dist/services/docker-service.js.map +1 -0
- package/dist/services/docker.d.ts +23 -0
- package/dist/services/docker.d.ts.map +1 -0
- package/dist/services/docker.js +86 -0
- package/dist/services/docker.js.map +1 -0
- package/dist/services/manager.d.ts +25 -0
- package/dist/services/manager.d.ts.map +1 -0
- package/dist/services/manager.js +238 -0
- package/dist/services/manager.js.map +1 -0
- package/dist/services/registry.d.ts +3 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/services/registry.js +13 -0
- package/dist/services/registry.js.map +1 -0
- package/dist/services/service.d.ts +24 -0
- package/dist/services/service.d.ts.map +1 -0
- package/dist/services/service.js +2 -0
- package/dist/services/service.js.map +1 -0
- package/dist/services/shared-services.d.ts +17 -0
- package/dist/services/shared-services.d.ts.map +1 -0
- package/dist/services/shared-services.js +67 -0
- package/dist/services/shared-services.js.map +1 -0
- package/dist/services/sso-config.d.ts +14 -0
- package/dist/services/sso-config.d.ts.map +1 -0
- package/dist/services/sso-config.js +106 -0
- package/dist/services/sso-config.js.map +1 -0
- package/dist/services/stripe.d.ts +4 -0
- package/dist/services/stripe.d.ts.map +1 -0
- package/dist/services/stripe.js +8 -0
- package/dist/services/stripe.js.map +1 -0
- package/dist/workflows/setup-machine.d.ts +55 -0
- package/dist/workflows/setup-machine.d.ts.map +1 -0
- package/dist/workflows/setup-machine.js +529 -0
- package/dist/workflows/setup-machine.js.map +1 -0
- package/dist/workflows/setup-node.d.ts +14 -0
- package/dist/workflows/setup-node.d.ts.map +1 -0
- package/dist/workflows/setup-node.js +49 -0
- package/dist/workflows/setup-node.js.map +1 -0
- package/dist/workflows/setup-shell.d.ts +32 -0
- package/dist/workflows/setup-shell.d.ts.map +1 -0
- package/dist/workflows/setup-shell.js +104 -0
- package/dist/workflows/setup-shell.js.map +1 -0
- package/dist/workflows/start-dev.d.ts +13 -0
- package/dist/workflows/start-dev.d.ts.map +1 -0
- package/dist/workflows/start-dev.js +339 -0
- package/dist/workflows/start-dev.js.map +1 -0
- package/dist/workflows/start-services.d.ts +3 -0
- package/dist/workflows/start-services.d.ts.map +1 -0
- package/dist/workflows/start-services.js +6 -0
- package/dist/workflows/start-services.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class CheckLint extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/commands/check/lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAC9C,MAAM,CAAC,OAAO,SAAgB;IAC9B,MAAM,CAAC,WAAW,SAA6G;IAC/H,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;MAA4B;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
import { lint } from '../../runtime/monorepo-runner.js';
|
|
3
|
+
export default class CheckLint extends BaseCommand {
|
|
4
|
+
static summary = 'Run ESLint';
|
|
5
|
+
static description = 'Use this when you want fast feedback on style and lint rules without running the full validation suite.';
|
|
6
|
+
static examples = [
|
|
7
|
+
'stam check lint',
|
|
8
|
+
'stam check lint --verbose',
|
|
9
|
+
];
|
|
10
|
+
static flags = BaseCommand.verboseFlags;
|
|
11
|
+
async run() {
|
|
12
|
+
const { flags } = await this.parse(CheckLint);
|
|
13
|
+
await lint(await this.createContext(flags));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../src/commands/check/lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAC9C,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,WAAW,GAAG,yGAAyG,CAAC;IAC/H,MAAM,CAAC,QAAQ,GAAG;QACd,iBAAiB;QACjB,2BAA2B;KAC9B,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;IAExC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class CheckTypecheck extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=typecheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typecheck.d.ts","sourceRoot":"","sources":["../../../src/commands/check/typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAA2B;IACzC,MAAM,CAAC,WAAW,SAAuH;IACzI,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;MAA4B;IAElC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
import { typecheck } from '../../runtime/monorepo-runner.js';
|
|
3
|
+
export default class CheckTypecheck extends BaseCommand {
|
|
4
|
+
static summary = 'Run TypeScript checks';
|
|
5
|
+
static description = 'Use this when you changed shared types or want to verify cross-package type safety before running heavier checks.';
|
|
6
|
+
static examples = [
|
|
7
|
+
'stam check typecheck',
|
|
8
|
+
'stam check typecheck --verbose',
|
|
9
|
+
];
|
|
10
|
+
static flags = BaseCommand.verboseFlags;
|
|
11
|
+
async run() {
|
|
12
|
+
const { flags } = await this.parse(CheckTypecheck);
|
|
13
|
+
await typecheck(await this.createContext(flags));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=typecheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typecheck.js","sourceRoot":"","sources":["../../../src/commands/check/typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,GAAG,uBAAuB,CAAC;IACzC,MAAM,CAAC,WAAW,GAAG,mHAAmH,CAAC;IACzI,MAAM,CAAC,QAAQ,GAAG;QACd,sBAAsB;QACtB,gCAAgC;KACnC,CAAC;IACF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;IAExC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export declare enum CleanTarget {
|
|
3
|
+
All = "all",
|
|
4
|
+
Build = "build",
|
|
5
|
+
Db = "db",
|
|
6
|
+
Services = "services",
|
|
7
|
+
Sso = "sso"
|
|
8
|
+
}
|
|
9
|
+
export default class Clean extends BaseCommand {
|
|
10
|
+
static summary: string;
|
|
11
|
+
static description: string;
|
|
12
|
+
static examples: string[];
|
|
13
|
+
static args: {
|
|
14
|
+
target: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
15
|
+
};
|
|
16
|
+
static flags: {
|
|
17
|
+
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
private cleanAll;
|
|
25
|
+
private cleanDatabase;
|
|
26
|
+
private cleanServices;
|
|
27
|
+
private cleanSso;
|
|
28
|
+
private dropDatabase;
|
|
29
|
+
private validateTargetFlags;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/clean/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAWpD,oBAAY,WAAW;IACnB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,EAAE,OAAO;IACT,QAAQ,aAAa;IACrB,GAAG,QAAQ;CACd;AAID,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC1C,MAAM,CAAC,OAAO,SAAkC;IAChD,MAAM,CAAC,WAAW,SAAwJ;IAC1K,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;;;;;MAAyE;IAE/E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAoCZ,QAAQ;YAqBR,aAAa;YAgBb,aAAa;YAgBb,QAAQ;YAUR,YAAY;IAK1B,OAAO,CAAC,mBAAmB;CAa9B"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
import { dryRunFlag, yesFlag } from '../../command-flags.js';
|
|
4
|
+
import { buildBackendEnv } from '../../config/build-config.js';
|
|
5
|
+
import { localIpv4Host, mysqlContainer, mysqlRootPassword, mysqlRootUser } from '../../config/shared-service-config.js';
|
|
6
|
+
import { cleanBuild } from '../../runtime/monorepo-runner.js';
|
|
7
|
+
import { showHelp } from '../../runtime/show-help.js';
|
|
8
|
+
import { confirm, warning } from '../../runtime/ux.js';
|
|
9
|
+
import { ssoService } from '../../services/definitions/sso-service.js';
|
|
10
|
+
import * as docker from '../../services/docker.js';
|
|
11
|
+
import { deleteSharedServicesData, stopSharedServices } from '../../services/shared-services.js';
|
|
12
|
+
export var CleanTarget;
|
|
13
|
+
(function (CleanTarget) {
|
|
14
|
+
CleanTarget["All"] = "all";
|
|
15
|
+
CleanTarget["Build"] = "build";
|
|
16
|
+
CleanTarget["Db"] = "db";
|
|
17
|
+
CleanTarget["Services"] = "services";
|
|
18
|
+
CleanTarget["Sso"] = "sso";
|
|
19
|
+
})(CleanTarget || (CleanTarget = {}));
|
|
20
|
+
const cleanTargets = [CleanTarget.All, CleanTarget.Build, CleanTarget.Db, CleanTarget.Services, CleanTarget.Sso];
|
|
21
|
+
export default class Clean extends BaseCommand {
|
|
22
|
+
static summary = 'Remove local generated state';
|
|
23
|
+
static description = 'Use this when stale local data is causing confusing errors and you need to remove build output, local databases, service data, or local SSO state.';
|
|
24
|
+
static examples = [
|
|
25
|
+
'stam clean build --dry-run',
|
|
26
|
+
'stam clean services --yes',
|
|
27
|
+
'stam clean all --env keeo --yes',
|
|
28
|
+
];
|
|
29
|
+
static args = {
|
|
30
|
+
target: Args.string({
|
|
31
|
+
description: 'Cleanup target',
|
|
32
|
+
options: [...cleanTargets],
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
static flags = { ...BaseCommand.instanceFlags, yes: yesFlag, 'dry-run': dryRunFlag };
|
|
37
|
+
async run() {
|
|
38
|
+
const { args, flags } = await this.parse(Clean);
|
|
39
|
+
if (!args.target) {
|
|
40
|
+
await showHelp(this.config, ['clean']);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const target = args.target;
|
|
44
|
+
this.validateTargetFlags(target, flags);
|
|
45
|
+
const context = await this.createContext(flags);
|
|
46
|
+
if (target === CleanTarget.Build) {
|
|
47
|
+
await cleanBuild(context, { dryRun: flags['dry-run'] });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (target === CleanTarget.Db) {
|
|
51
|
+
await this.cleanDatabase(context, { yes: flags.yes, dryRun: flags['dry-run'] });
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (target === CleanTarget.Services) {
|
|
55
|
+
await this.cleanServices(context, { yes: flags.yes, dryRun: flags['dry-run'] });
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (target === CleanTarget.Sso) {
|
|
59
|
+
await this.cleanSso(context, { dryRun: flags['dry-run'] });
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
await this.cleanAll(context, { yes: flags.yes, dryRun: flags['dry-run'] });
|
|
63
|
+
}
|
|
64
|
+
async cleanAll(context, options) {
|
|
65
|
+
if (options.dryRun) {
|
|
66
|
+
await cleanBuild(context, { dryRun: true });
|
|
67
|
+
console.log(`Would drop local MySQL database ${buildBackendEnv(context).DB_DATABASE ?? 'stamhoofd-development'}.`);
|
|
68
|
+
console.log('Would stop local SSO server.');
|
|
69
|
+
console.log('Would stop shared services and delete MySQL, RustFS, and Caddy data.');
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (!options.yes && !(await confirm('Clean build artifacts, drop the local database, stop local SSO, and delete shared service data?'))) {
|
|
73
|
+
warning('Clean skipped.');
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
await cleanBuild(context);
|
|
77
|
+
await this.dropDatabase(context);
|
|
78
|
+
await ssoService.stop(context);
|
|
79
|
+
await stopSharedServices(context);
|
|
80
|
+
await deleteSharedServicesData(context);
|
|
81
|
+
}
|
|
82
|
+
async cleanDatabase(context, options) {
|
|
83
|
+
const database = buildBackendEnv(context).DB_DATABASE ?? 'stamhoofd-development';
|
|
84
|
+
if (options.dryRun) {
|
|
85
|
+
console.log(`Would drop local MySQL database ${database}.`);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (!options.yes && !(await confirm(`Drop local MySQL database ${database}?`))) {
|
|
89
|
+
warning('Clean skipped.');
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
await this.dropDatabase(context);
|
|
93
|
+
}
|
|
94
|
+
async cleanServices(context, options) {
|
|
95
|
+
if (options.dryRun) {
|
|
96
|
+
console.log('Would stop shared services.');
|
|
97
|
+
console.log('Would delete MySQL, RustFS, and Caddy shared service data.');
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (!options.yes && !(await confirm('Stop shared services and delete MySQL, RustFS, and Caddy data?'))) {
|
|
101
|
+
warning('Clean skipped.');
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
await stopSharedServices(context);
|
|
105
|
+
await deleteSharedServicesData(context);
|
|
106
|
+
}
|
|
107
|
+
async cleanSso(context, options) {
|
|
108
|
+
if (options.dryRun) {
|
|
109
|
+
console.log('Would stop local SSO server.');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
await ssoService.stop(context);
|
|
113
|
+
this.log('Local SSO server stopped.');
|
|
114
|
+
}
|
|
115
|
+
async dropDatabase(context) {
|
|
116
|
+
const database = buildBackendEnv(context).DB_DATABASE ?? 'stamhoofd-development';
|
|
117
|
+
await docker.run(['exec', mysqlContainer, 'mysql', `-h${localIpv4Host}`, `-u${mysqlRootUser}`, `-p${mysqlRootPassword}`, '-e', `DROP DATABASE IF EXISTS \`${database.replaceAll('`', '``')}\`;`]);
|
|
118
|
+
}
|
|
119
|
+
validateTargetFlags(target, flags) {
|
|
120
|
+
if (target === CleanTarget.Db || target === CleanTarget.All) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (flags.env && flags.env !== 'stamhoofd') {
|
|
124
|
+
this.error(`--env only applies to 'clean ${CleanTarget.Db}' and 'clean ${CleanTarget.All}'.`);
|
|
125
|
+
}
|
|
126
|
+
if (flags.name) {
|
|
127
|
+
this.error(`--name only applies to 'clean ${CleanTarget.Db}' and 'clean ${CleanTarget.All}'.`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/clean/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class ConfigExplain extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=explain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../src/commands/config/explain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAA0C;IACxD,MAAM,CAAC,WAAW,SAAkG;IACpH,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;MAA6B;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAY7B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
import { buildDomains } from '../../config/build-config.js';
|
|
3
|
+
import { link } from '../../runtime/ux.js';
|
|
4
|
+
export default class ConfigExplain extends BaseCommand {
|
|
5
|
+
static summary = 'Explain resolved local configuration';
|
|
6
|
+
static description = 'Use this before running a local instance if you want a readable summary instead of raw JSON.';
|
|
7
|
+
static examples = [
|
|
8
|
+
'stam config explain --env keeo',
|
|
9
|
+
'stam config explain --env keeo --name feature-payments',
|
|
10
|
+
'stam config explain --verbose',
|
|
11
|
+
];
|
|
12
|
+
static flags = BaseCommand.instanceFlags;
|
|
13
|
+
async run() {
|
|
14
|
+
const { flags } = await this.parse(ConfigExplain);
|
|
15
|
+
const context = await this.createContext(flags);
|
|
16
|
+
const domains = buildDomains(context);
|
|
17
|
+
this.log(`Environment: ${context.env}`);
|
|
18
|
+
this.log(`Instance: ${context.instance.name}`);
|
|
19
|
+
this.log(`Primary: ${context.instance.primary ? 'yes' : 'no'}`);
|
|
20
|
+
this.log(`Prefix: ${context.instance.prefix || '-'}`);
|
|
21
|
+
this.log(`Port offset: ${context.instance.portOffset}`);
|
|
22
|
+
this.log(`Dashboard: ${link(`https://${domains.dashboard}`, `https://${domains.dashboard}`)}`);
|
|
23
|
+
this.log(`API: ${link(`https://${domains.api}`, `https://${domains.api}`)}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=explain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/commands/config/explain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,GAAG,sCAAsC,CAAC;IACxD,MAAM,CAAC,WAAW,GAAG,8FAA8F,CAAC;IACpH,MAAM,CAAC,QAAQ,GAAG;QACd,gCAAgC;QAChC,wDAAwD;QACxD,+BAA+B;KAClC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IAEzC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,WAAW,OAAO,CAAC,SAAS,EAAE,EAAE,WAAW,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACvC,MAAM,CAAC,OAAO,SAA0C;IACxD,MAAM,CAAC,WAAW,SAA+I;IACjK,MAAM,CAAC,QAAQ,WAIb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
import { showHelp } from '../../runtime/show-help.js';
|
|
3
|
+
export default class Config extends Command {
|
|
4
|
+
static summary = 'Inspect resolved local configuration';
|
|
5
|
+
static description = 'Use these commands to confirm which environment, instance, domains, and settings `stam` resolved before you start running things locally.';
|
|
6
|
+
static examples = [
|
|
7
|
+
'stam config print --env keeo',
|
|
8
|
+
'stam config explain --env keeo --name feature-payments',
|
|
9
|
+
'stam config print --env keeo --verbose',
|
|
10
|
+
];
|
|
11
|
+
async run() {
|
|
12
|
+
await showHelp(this.config, ['config']);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACvC,MAAM,CAAC,OAAO,GAAG,sCAAsC,CAAC;IACxD,MAAM,CAAC,WAAW,GAAG,2IAA2I,CAAC;IACjK,MAAM,CAAC,QAAQ,GAAG;QACd,8BAA8B;QAC9B,wDAAwD;QACxD,wCAAwC;KAC3C,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class ConfigPrint extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=print.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../../../src/commands/config/print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,WAAW,SAAgH;IAClI,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;MAA6B;IAEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
import { buildBackendEnv, buildDomains } from '../../config/build-config.js';
|
|
3
|
+
export default class ConfigPrint extends BaseCommand {
|
|
4
|
+
static summary = 'Print resolved local configuration';
|
|
5
|
+
static description = 'Use this when you want raw JSON for debugging, scripting, or inspecting domains and environment variables.';
|
|
6
|
+
static examples = [
|
|
7
|
+
'stam config print --env keeo',
|
|
8
|
+
'stam config print --env keeo --name feature-payments',
|
|
9
|
+
'stam config print --verbose',
|
|
10
|
+
];
|
|
11
|
+
static flags = BaseCommand.instanceFlags;
|
|
12
|
+
async run() {
|
|
13
|
+
const { flags } = await this.parse(ConfigPrint);
|
|
14
|
+
const context = await this.createContext(flags);
|
|
15
|
+
const domains = buildDomains(context);
|
|
16
|
+
this.log(JSON.stringify({ domains, env: buildBackendEnv(context) }, null, 4));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=print.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/commands/config/print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,GAAG,oCAAoC,CAAC;IACtD,MAAM,CAAC,WAAW,GAAG,4GAA4G,CAAC;IAClI,MAAM,CAAC,QAAQ,GAAG;QACd,8BAA8B;QAC9B,sDAAsD;QACtD,6BAA6B;KAChC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IAEzC,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class DbBackup extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/backup/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,WAAW,SAAkM;IACpN,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiB7B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
3
|
+
import { backupExists, createBackup, defaultBackupName, isValidBackupName } from '../../../runtime/db-backup-helpers.js';
|
|
4
|
+
import { confirm, warning } from '../../../runtime/ux.js';
|
|
5
|
+
export default class DbBackup extends BaseCommand {
|
|
6
|
+
static summary = 'Backup the local MySQL data volume';
|
|
7
|
+
static description = 'Creates a fast snapshot of the local MySQL Docker volume by copying its data directly, without using mysqldump. This stops MySQL while copying and restarts it afterwards if it was running.';
|
|
8
|
+
static examples = [
|
|
9
|
+
'stam db backup',
|
|
10
|
+
'stam db backup --name before-migration',
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
...BaseCommand.instanceFlags,
|
|
14
|
+
name: Flags.string({ description: 'Name for this backup (defaults to a timestamp-based name)' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { flags } = await this.parse(DbBackup);
|
|
18
|
+
const context = await this.createContext(flags);
|
|
19
|
+
const name = flags.name ?? defaultBackupName();
|
|
20
|
+
if (!isValidBackupName(name)) {
|
|
21
|
+
this.error(`"${name}" is not a valid backup name. Use letters, numbers, dashes, underscores, or dots.`);
|
|
22
|
+
}
|
|
23
|
+
if (await backupExists(context, name) && !await confirm(`A backup named "${name}" already exists. Overwrite it?`)) {
|
|
24
|
+
warning('Backup skipped.');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
await createBackup(context, name);
|
|
28
|
+
this.log(`Backed up the local MySQL data volume to "${name}".`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/db/backup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AACzH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,GAAG,oCAAoC,CAAC;IACtD,MAAM,CAAC,WAAW,GAAG,8LAA8L,CAAC;IACpN,MAAM,CAAC,QAAQ,GAAG;QACd,gBAAgB;QAChB,wCAAwC;KAC3C,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,WAAW,CAAC,aAAa;QAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE,CAAC;KACnG,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,mFAAmF,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,mBAAmB,IAAI,iCAAiC,CAAC,EAAE,CAAC;YAChH,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3B,OAAO;QACX,CAAC;QAED,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,6CAA6C,IAAI,IAAI,CAAC,CAAC;IACpE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class DbBackupList extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/backup/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAA0C;IACxD,MAAM,CAAC,WAAW,SAAyH;IAC3I,MAAM,CAAC,QAAQ,WAEb;IACF,MAAM,CAAC,KAAK;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
import { listBackups } from '../../../runtime/db-backup-helpers.js';
|
|
3
|
+
import { info, table } from '../../../runtime/ux.js';
|
|
4
|
+
export default class DbBackupList extends BaseCommand {
|
|
5
|
+
static summary = 'List local MySQL data volume backups';
|
|
6
|
+
static description = 'Use this to see the backups created with `stam db backup`, including when they were created and how large they are.';
|
|
7
|
+
static examples = [
|
|
8
|
+
'stam db backup list',
|
|
9
|
+
];
|
|
10
|
+
static flags = {
|
|
11
|
+
...BaseCommand.instanceFlags,
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
const { flags } = await this.parse(DbBackupList);
|
|
15
|
+
const context = await this.createContext(flags);
|
|
16
|
+
const backups = await listBackups(context);
|
|
17
|
+
if (backups.length === 0) {
|
|
18
|
+
info('No local MySQL backups found. Create one with `stam db backup`.');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
table(['NAME', 'CREATED', 'SIZE'], backups.map(backup => [
|
|
22
|
+
backup.name,
|
|
23
|
+
backup.createdAt.toLocaleString(),
|
|
24
|
+
formatBytes(backup.sizeBytes),
|
|
25
|
+
]));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function formatBytes(bytes) {
|
|
29
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
30
|
+
let value = bytes;
|
|
31
|
+
let unitIndex = 0;
|
|
32
|
+
while (value >= 1024 && unitIndex < units.length - 1) {
|
|
33
|
+
value /= 1024;
|
|
34
|
+
unitIndex++;
|
|
35
|
+
}
|
|
36
|
+
return `${value.toFixed(unitIndex === 0 ? 0 : 1)} ${units[unitIndex]}`;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/db/backup/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,GAAG,sCAAsC,CAAC;IACxD,MAAM,CAAC,WAAW,GAAG,qHAAqH,CAAC;IAC3I,MAAM,CAAC,QAAQ,GAAG;QACd,qBAAqB;KACxB,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,WAAW,CAAC,aAAa;KAC/B,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,iEAAiE,CAAC,CAAC;YACxE,OAAO;QACX,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE;YACjC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;;AAGL,SAAS,WAAW,CAAC,KAAa;IAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,KAAK,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,KAAK,IAAI,IAAI,CAAC;QACd,SAAS,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class DbBackupRemove extends BaseCommand {
|
|
3
|
+
static aliases: string[];
|
|
4
|
+
static summary: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: {
|
|
8
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/backup/remove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,WAAoB;IAClC,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SAAgE;IAClF,MAAM,CAAC,QAAQ,WAGb;IACF,MAAM,CAAC,KAAK;;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
3
|
+
import { removeBackup, resolveBackupOption } from '../../../runtime/db-backup-helpers.js';
|
|
4
|
+
export default class DbBackupRemove extends BaseCommand {
|
|
5
|
+
static aliases = ['db backup rm'];
|
|
6
|
+
static summary = 'Remove a local MySQL data volume backup';
|
|
7
|
+
static description = 'Use this to remove a backup created with `stam db backup`.';
|
|
8
|
+
static examples = [
|
|
9
|
+
'stam db backup remove --from before-migration',
|
|
10
|
+
'stam db backup rm --from nightly-snapshot',
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
...BaseCommand.instanceFlags,
|
|
14
|
+
from: Flags.string({ description: 'Backup name to remove' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { flags } = await this.parse(DbBackupRemove);
|
|
18
|
+
const context = await this.createContext(flags);
|
|
19
|
+
const from = await resolveBackupOption({ context, flag: flags.from, message: 'Select the backup to remove' });
|
|
20
|
+
await removeBackup(context, from);
|
|
21
|
+
this.log(`Removed local MySQL backup ${from}.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/db/backup/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE1F,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,GAAG,yCAAyC,CAAC;IAC3D,MAAM,CAAC,WAAW,GAAG,4DAA4D,CAAC;IAClF,MAAM,CAAC,QAAQ,GAAG;QACd,+CAA+C;QAC/C,2CAA2C;KAC9C,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,WAAW,CAAC,aAAa;QAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;KAC/D,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAE9G,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;IACpD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class DbBackupRename extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
env: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=rename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/backup/rename.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SAAgE;IAClF,MAAM,CAAC,QAAQ,WAEb;IACF,MAAM,CAAC,KAAK;;;;;;MAIV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
3
|
+
import { renameBackup, resolveBackupOption } from '../../../runtime/db-backup-helpers.js';
|
|
4
|
+
export default class DbBackupRename extends BaseCommand {
|
|
5
|
+
static summary = 'Rename a local MySQL data volume backup';
|
|
6
|
+
static description = 'Use this to rename a backup created with `stam db backup`.';
|
|
7
|
+
static examples = [
|
|
8
|
+
'stam db backup rename --from before-migration --to before-migration-old',
|
|
9
|
+
];
|
|
10
|
+
static flags = {
|
|
11
|
+
...BaseCommand.instanceFlags,
|
|
12
|
+
from: Flags.string({ description: 'Backup name to rename from' }),
|
|
13
|
+
to: Flags.string({ description: 'Backup name to rename to' }),
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(DbBackupRename);
|
|
17
|
+
const context = await this.createContext(flags);
|
|
18
|
+
const from = await resolveBackupOption({ context, flag: flags.from, message: 'Select the backup to rename' });
|
|
19
|
+
const to = await resolveBackupOption({ context, flag: flags.to, message: 'Enter the new backup name', customInput: true });
|
|
20
|
+
await renameBackup(context, from, to);
|
|
21
|
+
this.log(`Renamed local MySQL backup ${from} to ${to}.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=rename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../../src/commands/db/backup/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE1F,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,GAAG,yCAAyC,CAAC;IAC3D,MAAM,CAAC,WAAW,GAAG,4DAA4D,CAAC;IAClF,MAAM,CAAC,QAAQ,GAAG;QACd,yEAAyE;KAC5E,CAAC;IACF,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,WAAW,CAAC,aAAa;QAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;QACjE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;KAChE,CAAC;IAEF,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC9G,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3H,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC"}
|