@supatype/cli 0.1.6 → 0.1.9
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +152 -102
- package/.turbo/turbo-typecheck.log +1 -1
- package/LICENSE +202 -0
- package/deno.d.ts +52 -0
- package/dist/app/framework.js +1 -1
- package/dist/app/framework.js.map +1 -1
- package/dist/augmentation-generator.d.ts +22 -0
- package/dist/augmentation-generator.d.ts.map +1 -1
- package/dist/augmentation-generator.js +19 -5
- package/dist/augmentation-generator.js.map +1 -1
- package/dist/binary-cache.d.ts +42 -6
- package/dist/binary-cache.d.ts.map +1 -1
- package/dist/binary-cache.js +76 -44
- package/dist/binary-cache.js.map +1 -1
- package/dist/cache-clean.d.ts +15 -0
- package/dist/cache-clean.d.ts.map +1 -0
- package/dist/cache-clean.js +76 -0
- package/dist/cache-clean.js.map +1 -0
- package/dist/cache-pins.d.ts +51 -0
- package/dist/cache-pins.d.ts.map +1 -0
- package/dist/cache-pins.js +184 -0
- package/dist/cache-pins.js.map +1 -0
- package/dist/cli-artifacts.d.ts +32 -0
- package/dist/cli-artifacts.d.ts.map +1 -0
- package/dist/cli-artifacts.js +49 -0
- package/dist/cli-artifacts.js.map +1 -0
- package/dist/cli-install-method.d.ts +27 -0
- package/dist/cli-install-method.d.ts.map +1 -0
- package/dist/cli-install-method.js +78 -0
- package/dist/cli-install-method.js.map +1 -0
- package/dist/cli-package-version.d.ts +1 -1
- package/dist/cli-package-version.d.ts.map +1 -1
- package/dist/cli-package-version.js +6 -1
- package/dist/cli-package-version.js.map +1 -1
- package/dist/cli-standalone.d.ts +13 -4
- package/dist/cli-standalone.d.ts.map +1 -1
- package/dist/cli-standalone.js +86 -31
- package/dist/cli-standalone.js.map +1 -1
- package/dist/cli-version-embedded.d.ts +10 -0
- package/dist/cli-version-embedded.d.ts.map +1 -0
- package/dist/cli-version-embedded.js +13 -0
- package/dist/cli-version-embedded.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/cloud-credentials.d.ts +34 -0
- package/dist/cloud-credentials.d.ts.map +1 -0
- package/dist/cloud-credentials.js +139 -0
- package/dist/cloud-credentials.js.map +1 -0
- package/dist/commands/add.js +1 -1
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/admin.d.ts +11 -0
- package/dist/commands/admin.d.ts.map +1 -1
- package/dist/commands/admin.js +123 -21
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/adopt.js +1 -1
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/app.js +2 -2
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/cache.d.ts +1 -1
- package/dist/commands/cache.d.ts.map +1 -1
- package/dist/commands/cache.js +69 -73
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/cloud.d.ts.map +1 -1
- package/dist/commands/cloud.js +32 -8
- package/dist/commands/cloud.js.map +1 -1
- package/dist/commands/db.d.ts +3 -2
- package/dist/commands/db.d.ts.map +1 -1
- package/dist/commands/db.js +149 -3
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/deploy.d.ts +9 -9
- package/dist/commands/deploy.js +12 -12
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +3 -3
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +63 -23
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +28 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +60 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/engine.d.ts +1 -1
- package/dist/commands/engine.js +1 -1
- package/dist/commands/functions.d.ts +7 -0
- package/dist/commands/functions.d.ts.map +1 -1
- package/dist/commands/functions.js +45 -11
- package/dist/commands/functions.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +5 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/hooks.d.ts +12 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +118 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +64 -30
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/internal.d.ts +6 -0
- package/dist/commands/internal.d.ts.map +1 -0
- package/dist/commands/internal.js +22 -0
- package/dist/commands/internal.js.map +1 -0
- package/dist/commands/link-helpers.d.ts.map +1 -1
- package/dist/commands/link-helpers.js +8 -2
- package/dist/commands/link-helpers.js.map +1 -1
- package/dist/commands/login.d.ts +7 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +110 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logs.d.ts +1 -1
- package/dist/commands/migrate.js +5 -5
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/pg.d.ts +1 -1
- package/dist/commands/pg.js +1 -1
- package/dist/commands/plugins.js +1 -1
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/pull.js +2 -2
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +110 -7
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/self-host.d.ts +1 -1
- package/dist/commands/self-host.js +1 -1
- package/dist/commands/self-update.d.ts +3 -2
- package/dist/commands/self-update.d.ts.map +1 -1
- package/dist/commands/self-update.js +31 -16
- package/dist/commands/self-update.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/update.d.ts +1 -1
- package/dist/commands/update.js +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -4
- package/dist/config.js.map +1 -1
- package/dist/db-preflight.d.ts +78 -0
- package/dist/db-preflight.d.ts.map +1 -0
- package/dist/db-preflight.js +452 -0
- package/dist/db-preflight.js.map +1 -0
- package/dist/dev-compose.d.ts +4 -4
- package/dist/dev-compose.d.ts.map +1 -1
- package/dist/dev-compose.js +143 -88
- package/dist/dev-compose.js.map +1 -1
- package/dist/dev-log-filter.d.ts +1 -1
- package/dist/dev-log-filter.d.ts.map +1 -1
- package/dist/dev-log-filter.js +1 -1
- package/dist/dev-log-filter.js.map +1 -1
- package/dist/dev-ports.d.ts +2 -2
- package/dist/dev-ports.d.ts.map +1 -1
- package/dist/dev-ports.js +2 -2
- package/dist/dev-ports.js.map +1 -1
- package/dist/dev-session.d.ts +5 -5
- package/dist/dev-session.d.ts.map +1 -1
- package/dist/dev-session.js +6 -6
- package/dist/dev-session.js.map +1 -1
- package/dist/dev-shutdown.d.ts +5 -5
- package/dist/dev-shutdown.d.ts.map +1 -1
- package/dist/dev-shutdown.js +7 -7
- package/dist/dev-shutdown.js.map +1 -1
- package/dist/dev-task-colors.d.ts +1 -1
- package/dist/dev-task-colors.d.ts.map +1 -1
- package/dist/dev-task-colors.js +1 -1
- package/dist/dev-task-colors.js.map +1 -1
- package/dist/docker-postgres.d.ts +5 -5
- package/dist/docker-postgres.d.ts.map +1 -1
- package/dist/docker-postgres.js +5 -5
- package/dist/docker-postgres.js.map +1 -1
- package/dist/docker-runtime.d.ts +2 -2
- package/dist/docker-runtime.d.ts.map +1 -1
- package/dist/docker-runtime.js +5 -5
- package/dist/docker-runtime.js.map +1 -1
- package/dist/engine-client.d.ts +1 -1
- package/dist/engine-client.js +3 -3
- package/dist/engine-client.js.map +1 -1
- package/dist/engine-push-output.js +1 -1
- package/dist/engine-push-output.js.map +1 -1
- package/dist/ensure-binary.d.ts.map +1 -1
- package/dist/ensure-binary.js +17 -0
- package/dist/ensure-binary.js.map +1 -1
- package/dist/ensure-component-binaries.js +1 -1
- package/dist/ensure-component-binaries.js.map +1 -1
- package/dist/env-file.d.ts +40 -2
- package/dist/env-file.d.ts.map +1 -1
- package/dist/env-file.js +132 -11
- package/dist/env-file.js.map +1 -1
- package/dist/field-masking-tier.d.ts +50 -0
- package/dist/field-masking-tier.d.ts.map +1 -0
- package/dist/field-masking-tier.js +91 -0
- package/dist/field-masking-tier.js.map +1 -0
- package/dist/functions-deno-types.d.ts +24 -0
- package/dist/functions-deno-types.d.ts.map +1 -0
- package/dist/functions-deno-types.js +155 -0
- package/dist/functions-deno-types.js.map +1 -0
- package/dist/functions-router-gen.js +1 -1
- package/dist/gitignore.d.ts +2 -2
- package/dist/gitignore.d.ts.map +1 -1
- package/dist/gitignore.js +3 -3
- package/dist/gitignore.js.map +1 -1
- package/dist/hook-upload.d.ts +30 -0
- package/dist/hook-upload.d.ts.map +1 -0
- package/dist/hook-upload.js +86 -0
- package/dist/hook-upload.js.map +1 -0
- package/dist/hooks-generator.d.ts +8 -0
- package/dist/hooks-generator.d.ts.map +1 -0
- package/dist/hooks-generator.js +332 -0
- package/dist/hooks-generator.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/init-project-detect.d.ts +1 -1
- package/dist/init-project-detect.d.ts.map +1 -1
- package/dist/init-project-detect.js +1 -1
- package/dist/init-project-detect.js.map +1 -1
- package/dist/link.d.ts +4 -0
- package/dist/link.d.ts.map +1 -1
- package/dist/link.js +2 -0
- package/dist/link.js.map +1 -1
- package/dist/local-secrets.d.ts +71 -0
- package/dist/local-secrets.d.ts.map +1 -0
- package/dist/local-secrets.js +100 -0
- package/dist/local-secrets.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +20 -0
- package/dist/main.js.map +1 -0
- package/dist/model-hooks.d.ts +73 -0
- package/dist/model-hooks.d.ts.map +1 -0
- package/dist/model-hooks.js +211 -0
- package/dist/model-hooks.js.map +1 -0
- package/dist/pgbouncer-userlist.d.ts +1 -1
- package/dist/pgbouncer-userlist.d.ts.map +1 -1
- package/dist/pgbouncer-userlist.js +2 -2
- package/dist/pgbouncer-userlist.js.map +1 -1
- package/dist/postgres-ctl.d.ts +12 -1
- package/dist/postgres-ctl.d.ts.map +1 -1
- package/dist/postgres-ctl.js +28 -5
- package/dist/postgres-ctl.js.map +1 -1
- package/dist/process-manager.d.ts +2 -2
- package/dist/process-manager.d.ts.map +1 -1
- package/dist/process-manager.js +4 -4
- package/dist/process-manager.js.map +1 -1
- package/dist/project-config.d.ts +122 -2
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js +150 -1
- package/dist/project-config.js.map +1 -1
- package/dist/pull-utils.d.ts +2 -2
- package/dist/pull-utils.d.ts.map +1 -1
- package/dist/pull-utils.js +4 -4
- package/dist/pull-utils.js.map +1 -1
- package/dist/realtime-launch.js +1 -1
- package/dist/realtime-launch.js.map +1 -1
- package/dist/release-pins.d.ts +1 -1
- package/dist/release-pins.js +2 -2
- package/dist/release-pins.js.map +1 -1
- package/dist/resolve-api-url.js +1 -1
- package/dist/resolve-api-url.js.map +1 -1
- package/dist/resolve-target.d.ts +4 -0
- package/dist/resolve-target.d.ts.map +1 -1
- package/dist/resolve-target.js +69 -73
- package/dist/resolve-target.js.map +1 -1
- package/dist/rest-cache-admin.js +2 -2
- package/dist/rest-cache-admin.js.map +1 -1
- package/dist/runtime-routes.d.ts +1 -1
- package/dist/runtime-routes.js +1 -1
- package/dist/schema-ast-v2.d.ts +5 -4
- package/dist/schema-ast-v2.d.ts.map +1 -1
- package/dist/schema-ast-v2.js +5 -3
- package/dist/schema-ast-v2.js.map +1 -1
- package/dist/schema-push-lock.d.ts.map +1 -1
- package/dist/schema-push-lock.js +43 -16
- package/dist/schema-push-lock.js.map +1 -1
- package/dist/scripts/postinstall.d.ts +1 -1
- package/dist/scripts/postinstall.js +1 -1
- package/dist/self-host-compose.d.ts +26 -2
- package/dist/self-host-compose.d.ts.map +1 -1
- package/dist/self-host-compose.js +305 -73
- package/dist/self-host-compose.js.map +1 -1
- package/dist/service-role-check.d.ts +21 -0
- package/dist/service-role-check.d.ts.map +1 -0
- package/dist/service-role-check.js +85 -0
- package/dist/service-role-check.js.map +1 -0
- package/dist/storage-provision.d.ts +1 -1
- package/dist/storage-provision.js +3 -3
- package/dist/storage-provision.js.map +1 -1
- package/dist/studio-dev-server.d.ts +1 -1
- package/dist/studio-dev-server.d.ts.map +1 -1
- package/dist/systemd.d.ts +1 -1
- package/dist/systemd.js +1 -1
- package/dist/target-client.d.ts +17 -0
- package/dist/target-client.d.ts.map +1 -1
- package/dist/target-client.js +69 -17
- package/dist/target-client.js.map +1 -1
- package/dist/tsx-runner.js +1 -1
- package/dist/tsx-runner.js.map +1 -1
- package/dist/type-extractor.d.ts.map +1 -1
- package/dist/type-extractor.js +738 -34
- package/dist/type-extractor.js.map +1 -1
- package/dist/type-resolver.js +1 -1
- package/dist/type-resolver.js.map +1 -1
- package/dist/ui/brand.d.ts +1 -1
- package/dist/ui/brand.js +1 -1
- package/dist/ui/components/LogoWordmark.d.ts +1 -1
- package/dist/ui/components/LogoWordmark.d.ts.map +1 -1
- package/dist/ui/components/LogoWordmark.js +1 -1
- package/dist/ui/components/LogoWordmark.js.map +1 -1
- package/dist/ui/components/SelectField.js +1 -1
- package/dist/ui/components/SelectField.js.map +1 -1
- package/dist/ui/confirm.d.ts +1 -1
- package/dist/ui/confirm.js +1 -1
- package/dist/ui/fatal.d.ts +1 -1
- package/dist/ui/fatal.d.ts.map +1 -1
- package/dist/ui/fatal.js +1 -1
- package/dist/ui/fatal.js.map +1 -1
- package/dist/ui/flows/prompt-fields.js +1 -1
- package/dist/ui/flows/prompt-fields.js.map +1 -1
- package/dist/ui/interactive.d.ts +1 -1
- package/dist/ui/interactive.d.ts.map +1 -1
- package/dist/ui/interactive.js +1 -1
- package/dist/ui/interactive.js.map +1 -1
- package/dist/ui/progress.d.ts +1 -1
- package/dist/ui/progress.js +1 -1
- package/dist/ui/runtime/command-chrome.js +2 -2
- package/dist/ui/runtime/command-chrome.js.map +1 -1
- package/dist/ui/runtime/run-clack-flow.js +1 -1
- package/dist/ui/runtime/run-clack-flow.js.map +1 -1
- package/dist/ui/runtime/stdin-after-ink.d.ts.map +1 -1
- package/dist/ui/runtime/stdin-after-ink.js +4 -2
- package/dist/ui/runtime/stdin-after-ink.js.map +1 -1
- package/dist/ui/theme.d.ts +1 -1
- package/dist/ui/theme.js +1 -1
- package/dist/valkey-sidecar.d.ts +1 -1
- package/dist/valkey-sidecar.d.ts.map +1 -1
- package/dist/valkey-sidecar.js +2 -2
- package/dist/valkey-sidecar.js.map +1 -1
- package/package.json +6 -2
- package/scripts/build-release-artifacts.sh +112 -0
- package/scripts/generate-homebrew-formula.mjs +123 -0
- package/scripts/mirror-deno-release.sh +1 -1
- package/src/TYPE-RESOLUTION.md +31 -31
- package/src/app/framework.ts +1 -1
- package/src/augmentation-generator.ts +19 -6
- package/src/binary-cache.ts +94 -47
- package/src/cache-clean.ts +81 -0
- package/src/cache-pins.ts +243 -0
- package/src/cli-artifacts.ts +65 -0
- package/src/cli-install-method.ts +87 -0
- package/src/cli-package-version.ts +5 -1
- package/src/cli-standalone.ts +116 -34
- package/src/cli-version-embedded.ts +12 -0
- package/src/cli.ts +7 -1
- package/src/cloud-credentials.ts +183 -0
- package/src/commands/add.ts +1 -1
- package/src/commands/admin.ts +142 -27
- package/src/commands/adopt.ts +1 -1
- package/src/commands/app.ts +2 -2
- package/src/commands/cache.ts +92 -77
- package/src/commands/cloud.ts +32 -8
- package/src/commands/db.ts +164 -3
- package/src/commands/deploy.ts +12 -12
- package/src/commands/dev.ts +72 -23
- package/src/commands/doctor.ts +69 -3
- package/src/commands/engine.ts +1 -1
- package/src/commands/functions.ts +47 -10
- package/src/commands/generate.ts +5 -1
- package/src/commands/hooks.ts +138 -0
- package/src/commands/init.ts +65 -31
- package/src/commands/internal.ts +23 -0
- package/src/commands/link-helpers.ts +9 -2
- package/src/commands/login.ts +127 -0
- package/src/commands/logs.ts +1 -1
- package/src/commands/migrate.ts +5 -5
- package/src/commands/pg.ts +1 -1
- package/src/commands/plugins.ts +1 -1
- package/src/commands/pull.ts +2 -2
- package/src/commands/push.ts +124 -7
- package/src/commands/self-host.ts +1 -1
- package/src/commands/self-update.ts +41 -19
- package/src/commands/status.ts +1 -1
- package/src/commands/update.ts +1 -1
- package/src/config.ts +23 -4
- package/src/db-preflight.ts +575 -0
- package/src/dev-compose.ts +158 -89
- package/src/dev-log-filter.ts +1 -1
- package/src/dev-ports.ts +3 -3
- package/src/dev-session.ts +6 -6
- package/src/dev-shutdown.ts +8 -8
- package/src/dev-task-colors.ts +1 -1
- package/src/docker-postgres.ts +6 -6
- package/src/docker-runtime.ts +5 -5
- package/src/engine-client.ts +3 -3
- package/src/engine-push-output.ts +1 -1
- package/src/ensure-binary.ts +20 -0
- package/src/ensure-component-binaries.ts +1 -1
- package/src/env-file.ts +157 -11
- package/src/field-masking-tier.ts +107 -0
- package/src/functions-deno-types.ts +188 -0
- package/src/functions-router-gen.ts +1 -1
- package/src/gitignore.ts +3 -3
- package/src/hook-upload.ts +107 -0
- package/src/hooks-generator.ts +352 -0
- package/src/index.ts +1 -1
- package/src/init-project-detect.ts +1 -1
- package/src/link.ts +7 -0
- package/src/local-secrets.ts +104 -0
- package/src/main.ts +20 -0
- package/src/model-hooks.ts +260 -0
- package/src/pgbouncer-userlist.ts +2 -2
- package/src/postgres-ctl.ts +32 -5
- package/src/process-manager.ts +4 -4
- package/src/project-config.ts +237 -3
- package/src/pull-utils.ts +4 -4
- package/src/realtime-launch.ts +1 -1
- package/src/release-pins.ts +2 -2
- package/src/resolve-api-url.ts +1 -1
- package/src/resolve-target.ts +113 -68
- package/src/rest-cache-admin.ts +2 -2
- package/src/runtime-routes.ts +2 -2
- package/src/schema-ast-v2.ts +8 -5
- package/src/schema-push-lock.ts +56 -17
- package/src/scripts/postinstall.ts +1 -1
- package/src/self-host-compose.ts +348 -72
- package/src/service-role-check.ts +111 -0
- package/src/storage-provision.ts +3 -3
- package/src/studio-dev-server.ts +1 -1
- package/src/systemd.ts +1 -1
- package/src/target-client.ts +105 -18
- package/src/tsx-runner.ts +1 -1
- package/src/type-extractor.ts +885 -30
- package/src/type-resolver.ts +1 -1
- package/src/ui/README.md +1 -1
- package/src/ui/brand.ts +1 -1
- package/src/ui/components/LogoWordmark.tsx +1 -1
- package/src/ui/components/SelectField.tsx +1 -1
- package/src/ui/confirm.ts +1 -1
- package/src/ui/fatal.ts +1 -1
- package/src/ui/flows/prompt-fields.tsx +1 -1
- package/src/ui/interactive.ts +1 -1
- package/src/ui/progress.ts +1 -1
- package/src/ui/runtime/command-chrome.ts +2 -2
- package/src/ui/runtime/run-clack-flow.tsx +1 -1
- package/src/ui/runtime/stdin-after-ink.ts +4 -2
- package/src/ui/theme.ts +1 -1
- package/src/valkey-sidecar.ts +2 -2
- package/tests/access-composition.test.ts +667 -0
- package/tests/admin-studio-membership.test.ts +121 -0
- package/tests/api-schemas.test.ts +83 -0
- package/tests/archive-name-alias.test.ts +42 -0
- package/tests/augmentation-generator.test.ts +28 -0
- package/tests/cache-clean.test.ts +206 -0
- package/tests/cli-help.test.ts +11 -2
- package/tests/cli-install-method.test.ts +66 -0
- package/tests/command-chrome-coverage.test.ts +31 -26
- package/tests/command-chrome-wrap.test.ts +1 -0
- package/tests/db-preflight.test.ts +72 -0
- package/tests/doctor-render.test.ts +62 -0
- package/tests/doctor-service-role.test.ts +55 -0
- package/tests/engine-push-output.test.ts +1 -1
- package/tests/env-file.test.ts +121 -0
- package/tests/external-database-compose.test.ts +184 -0
- package/tests/external-database-config.test.ts +154 -0
- package/tests/field-masking-tier.test.ts +184 -0
- package/tests/functions-deno-types.test.ts +197 -0
- package/tests/homebrew-formula.test.ts +100 -0
- package/tests/hook-upload.test.ts +125 -0
- package/tests/hooks-generator.test.ts +212 -0
- package/tests/init.test.ts +5 -2
- package/tests/keys.test.ts +8 -2
- package/tests/local-secrets.test.ts +92 -0
- package/tests/model-hooks.test.ts +322 -0
- package/tests/runtime-contract.test.ts +113 -1
- package/tests/service-role-check.test.ts +109 -0
- package/tests/service-role-routes.test.ts +51 -0
- package/tests/storage-provision.test.ts +1 -1
- package/tests/target-client-refresh.test.ts +94 -0
- package/tests/type-extractor.test.ts +187 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/vitest.config.ts +7 -1
- package/scripts/build-release-bundle.mjs +0 -27
- package/tests/engine-distribution.test.ts +0 -418
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect how the supatype CLI was installed (npm, Homebrew, standalone CDN).
|
|
3
|
+
*/
|
|
4
|
+
function normalizePath(path) {
|
|
5
|
+
return path.replace(/\\/g, "/");
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Inside a Bun-compiled binary, argv[1] is a path in the embedded filesystem, not on disk:
|
|
9
|
+
* `/$bunfs/root/supatype` on Linux and macOS, `B:/~BUN/root/supatype.exe` on Windows. No
|
|
10
|
+
* filesystem call can touch either, which is why self-update failed with
|
|
11
|
+
* `ENOENT: copyfile '/$bunfs/root/supatype'` and could never have replaced itself.
|
|
12
|
+
*/
|
|
13
|
+
const EMBEDDED_FS_PATH = /(^|\/)(\$bunfs|~BUN)\//i;
|
|
14
|
+
/**
|
|
15
|
+
* The executable on disk.
|
|
16
|
+
*
|
|
17
|
+
* process.execPath is the compiled binary when running one, and the Node binary otherwise, so
|
|
18
|
+
* it is only correct to prefer it when argv[1] is an embedded path. Under Node the script path
|
|
19
|
+
* is what identifies the install.
|
|
20
|
+
*/
|
|
21
|
+
export function runningBinaryPath() {
|
|
22
|
+
const main = normalizePath(process.argv[1] ?? "");
|
|
23
|
+
return EMBEDDED_FS_PATH.test(main) ? process.execPath : (process.argv[1] ?? "");
|
|
24
|
+
}
|
|
25
|
+
/** The running binary sits in an npm or workspace layout. */
|
|
26
|
+
function hasNpmInstallPath() {
|
|
27
|
+
const main = normalizePath(runningBinaryPath());
|
|
28
|
+
return (main.includes("node_modules") ||
|
|
29
|
+
main.includes("/dist/cli") ||
|
|
30
|
+
main.includes("/bin/supatype.js"));
|
|
31
|
+
}
|
|
32
|
+
/** Launched through an npm/pnpm/yarn script, whatever the binary's own layout. */
|
|
33
|
+
function ranUnderPackageManager() {
|
|
34
|
+
return Boolean(process.env["npm_execpath"]) || Boolean(process.env["npm_lifecycle_event"]);
|
|
35
|
+
}
|
|
36
|
+
/** npm global, project dependency, or monorepo workspace build. */
|
|
37
|
+
export function looksLikeNpmOrWorkspaceCLI() {
|
|
38
|
+
return hasNpmInstallPath() || ranUnderPackageManager();
|
|
39
|
+
}
|
|
40
|
+
/** Homebrew / Linuxbrew Cellar layout. */
|
|
41
|
+
export function looksLikeHomebrewCLI() {
|
|
42
|
+
const main = normalizePath(runningBinaryPath());
|
|
43
|
+
if (!main)
|
|
44
|
+
return false;
|
|
45
|
+
if (/(?:^|\/)Cellar\/supatype\//.test(main))
|
|
46
|
+
return true;
|
|
47
|
+
const cellar = process.env["HOMEBREW_CELLAR"];
|
|
48
|
+
if (cellar && normalizePath(main).startsWith(normalizePath(cellar) + "/") && main.includes("/supatype/")) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Which installer owns the running binary. This decides what `self-update`
|
|
55
|
+
* tells the user to run, so it has to describe the binary on disk.
|
|
56
|
+
*
|
|
57
|
+
* Path shape wins over `npm_*` in the environment: those are set whenever the
|
|
58
|
+
* CLI is invoked from a package script, which says nothing about how the binary
|
|
59
|
+
* got there. Trusting them meant a Homebrew or curl install called from an npm
|
|
60
|
+
* script was told to update itself with npm.
|
|
61
|
+
*/
|
|
62
|
+
export function detectCliInstallMethod() {
|
|
63
|
+
if (hasNpmInstallPath())
|
|
64
|
+
return "npm";
|
|
65
|
+
if (looksLikeHomebrewCLI())
|
|
66
|
+
return "homebrew";
|
|
67
|
+
if (isStandalonePath())
|
|
68
|
+
return "standalone";
|
|
69
|
+
if (ranUnderPackageManager())
|
|
70
|
+
return "npm";
|
|
71
|
+
return "standalone";
|
|
72
|
+
}
|
|
73
|
+
/** The `curl | sh` installer's default target. */
|
|
74
|
+
function isStandalonePath() {
|
|
75
|
+
const main = normalizePath(runningBinaryPath());
|
|
76
|
+
return main.includes("/.supatype/bin/");
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=cli-install-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-install-method.js","sourceRoot":"","sources":["../src/cli-install-method.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,yBAAyB,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACjD,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACjF,CAAC;AAED,6DAA6D;AAC7D,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC/C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAClC,CAAA;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,sBAAsB;IAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,0BAA0B;IACxC,OAAO,iBAAiB,EAAE,IAAI,sBAAsB,EAAE,CAAA;AACxD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEvB,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAExD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC7C,IAAI,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACzG,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,iBAAiB,EAAE;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,oBAAoB,EAAE;QAAE,OAAO,UAAU,CAAA;IAC7C,IAAI,gBAAgB,EAAE;QAAE,OAAO,YAAY,CAAA;IAC3C,IAAI,sBAAsB,EAAE;QAAE,OAAO,KAAK,CAAA;IAC1C,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,kDAAkD;AAClD,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/** Installed @supatype/cli version
|
|
1
|
+
/** Installed @supatype/cli version (used by --version and init scaffolding). */
|
|
2
2
|
export declare function cliPackageVersion(): string;
|
|
3
3
|
//# sourceMappingURL=cli-package-version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-package-version.d.ts","sourceRoot":"","sources":["../src/cli-package-version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-package-version.d.ts","sourceRoot":"","sources":["../src/cli-package-version.ts"],"names":[],"mappings":"AAOA,gFAAgF;AAChF,wBAAgB,iBAAiB,IAAI,MAAM,CAU1C"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { EMBEDDED_CLI_VERSION } from "./cli-version-embedded.js";
|
|
4
5
|
const CLI_PACKAGE_JSON = join(dirname(fileURLToPath(import.meta.url)), "..", "package.json");
|
|
5
|
-
/** Installed @supatype/cli version
|
|
6
|
+
/** Installed @supatype/cli version (used by --version and init scaffolding). */
|
|
6
7
|
export function cliPackageVersion() {
|
|
8
|
+
// Set in published builds; the package.json read below only works when one is on disk,
|
|
9
|
+
// which is true for the npm package and false inside the standalone binary.
|
|
10
|
+
if (EMBEDDED_CLI_VERSION !== "")
|
|
11
|
+
return EMBEDDED_CLI_VERSION;
|
|
7
12
|
try {
|
|
8
13
|
const pkg = JSON.parse(readFileSync(CLI_PACKAGE_JSON, "utf8"));
|
|
9
14
|
return pkg.version ?? "0.0.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-package-version.js","sourceRoot":"","sources":["../src/cli-package-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"cli-package-version.js","sourceRoot":"","sources":["../src/cli-package-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;AAE5F,gFAAgF;AAChF,MAAM,UAAU,iBAAiB;IAC/B,uFAAuF;IACvF,4EAA4E;IAC5E,IAAI,oBAAoB,KAAK,EAAE;QAAE,OAAO,oBAAoB,CAAA;IAC5D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAyB,CAAA;QACtF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC"}
|
package/dist/cli-standalone.d.ts
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Standalone CLI
|
|
2
|
+
* Standalone CLI archive download, used by `supatype self-update`.
|
|
3
|
+
*
|
|
4
|
+
* The artefact is a per-platform archive holding one executable, not a bare executable, and it
|
|
5
|
+
* is verified against the release's checksums.sha256 before anything is replaced. Previously
|
|
6
|
+
* this path checked only that the download was over 64 bytes and did not begin like HTML or
|
|
7
|
+
* JSON, which made the CLI stricter about a postgres archive than about overwriting itself.
|
|
3
8
|
*/
|
|
4
9
|
import { type PlatformId } from "./binary-cache.js";
|
|
5
|
-
|
|
10
|
+
import { type LibcId } from "./cli-artifacts.js";
|
|
11
|
+
/** Where a downloaded release is unpacked, so a repeated update does not refetch it. */
|
|
6
12
|
export declare function cliCachePath(version: string, platform?: PlatformId): string;
|
|
7
13
|
export declare function fetchStandaloneCliLatestVersion(): Promise<string>;
|
|
8
|
-
/**
|
|
9
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Download and verify the standalone CLI for this machine, returning the path to the
|
|
16
|
+
* executable. Nothing is written to the cache until the checksum matches.
|
|
17
|
+
*/
|
|
18
|
+
export declare function downloadStandaloneCli(version?: string, platform?: PlatformId, libc?: LibcId): Promise<string>;
|
|
10
19
|
//# sourceMappingURL=cli-standalone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-standalone.d.ts","sourceRoot":"","sources":["../src/cli-standalone.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli-standalone.d.ts","sourceRoot":"","sources":["../src/cli-standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,EAML,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAA;AAc3B,wFAAwF;AACxF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,UAA8B,GACvC,MAAM,CAER;AAED,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,MAAM,CAAC,CAUvE;AA6CD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,UAA8B,EACxC,IAAI,GAAE,MAA8B,GACnC,OAAO,CAAC,MAAM,CAAC,CAoCjB"}
|
package/dist/cli-standalone.js
CHANGED
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Standalone CLI
|
|
2
|
+
* Standalone CLI archive download, used by `supatype self-update`.
|
|
3
|
+
*
|
|
4
|
+
* The artefact is a per-platform archive holding one executable, not a bare executable, and it
|
|
5
|
+
* is verified against the release's checksums.sha256 before anything is replaced. Previously
|
|
6
|
+
* this path checked only that the download was over 64 bytes and did not begin like HTML or
|
|
7
|
+
* JSON, which made the CLI stricter about a postgres archive than about overwriting itself.
|
|
3
8
|
*/
|
|
4
|
-
import { chmodSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
5
|
-
import {
|
|
9
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
11
|
+
import { homedir, tmpdir } from "node:os";
|
|
6
12
|
import { join } from "node:path";
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
import { spawnSync } from "node:child_process";
|
|
14
|
+
import { currentPlatform, fetchChecksums } from "./binary-cache.js";
|
|
15
|
+
import { cliArchiveName, cliArchivePath, cliChecksumsPath, cliExecutableName, currentLibc, } from "./cli-artifacts.js";
|
|
16
|
+
/**
|
|
17
|
+
* Overridable for the same reason scripts/install.sh takes SUPATYPE_CDN: with the host fixed,
|
|
18
|
+
* nothing can exercise this path except a real release, which is how it came to request bare
|
|
19
|
+
* executables the publisher had stopped writing. SUPATYPE_CDN_BASE is the CDN root, where
|
|
20
|
+
* install.sh's SUPATYPE_CDN is the root plus /cli.
|
|
21
|
+
*
|
|
22
|
+
* binary-cache.ts hardcodes the same host for component downloads and could use the same
|
|
23
|
+
* treatment, which is left alone here as it is not part of this change.
|
|
24
|
+
*/
|
|
25
|
+
const CDN_BASE = process.env["SUPATYPE_CDN_BASE"]?.replace(/\/$/, "")
|
|
26
|
+
|| "https://releases.supatype.com";
|
|
27
|
+
/** Where a downloaded release is unpacked, so a repeated update does not refetch it. */
|
|
13
28
|
export function cliCachePath(version, platform = currentPlatform()) {
|
|
14
|
-
|
|
15
|
-
const name = `supatype-cli-${platform.os}-${platform.arch}${win ? ".exe" : ""}`;
|
|
16
|
-
return join(homedir(), ".supatype", "cache", "cli", version, name);
|
|
29
|
+
return join(homedir(), ".supatype", "cache", "cli", version, cliExecutableName(platform));
|
|
17
30
|
}
|
|
18
31
|
export async function fetchStandaloneCliLatestVersion() {
|
|
19
32
|
const resp = await fetch(`${CDN_BASE}/cli/latest.json`);
|
|
@@ -26,31 +39,73 @@ export async function fetchStandaloneCliLatestVersion() {
|
|
|
26
39
|
}
|
|
27
40
|
return data.version.trim();
|
|
28
41
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
42
|
+
async function fetchBytes(url, what) {
|
|
43
|
+
const resp = await fetch(url);
|
|
44
|
+
if (!resp.ok) {
|
|
45
|
+
throw new Error(`Failed to download ${what} from ${url}: HTTP ${resp.status}`);
|
|
46
|
+
}
|
|
47
|
+
return Buffer.from(await resp.arrayBuffer());
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Unpack the single executable from an archive.
|
|
51
|
+
*
|
|
52
|
+
* PowerShell on Windows, because Git Bash's tar is usually first on PATH there and chokes on
|
|
53
|
+
* drive-letter paths. The same split exists in commands/dev.ts for component archives.
|
|
54
|
+
*/
|
|
55
|
+
function unpackExecutable(archivePath, destDir, platform) {
|
|
56
|
+
mkdirSync(destDir, { recursive: true });
|
|
57
|
+
const result = platform.os === "windows"
|
|
58
|
+
? spawnSync("powershell.exe", [
|
|
59
|
+
"-NoProfile",
|
|
60
|
+
"-Command",
|
|
61
|
+
`Expand-Archive -Path '${archivePath}' -DestinationPath '${destDir}' -Force`,
|
|
62
|
+
], { stdio: "pipe" })
|
|
63
|
+
: spawnSync("tar", ["-xzf", archivePath, "-C", destDir], { stdio: "pipe" });
|
|
64
|
+
if (result.status !== 0) {
|
|
65
|
+
throw new Error(`Failed to unpack ${archivePath}: ${result.stderr?.toString().trim() || "unknown error"}`);
|
|
66
|
+
}
|
|
67
|
+
const exe = join(destDir, cliExecutableName(platform));
|
|
68
|
+
if (!existsSync(exe)) {
|
|
69
|
+
throw new Error(`${cliArchiveName(platform)} did not contain ${cliExecutableName(platform)}.`);
|
|
70
|
+
}
|
|
71
|
+
return exe;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Download and verify the standalone CLI for this machine, returning the path to the
|
|
75
|
+
* executable. Nothing is written to the cache until the checksum matches.
|
|
76
|
+
*/
|
|
77
|
+
export async function downloadStandaloneCli(version, platform = currentPlatform(), libc = currentLibc(platform)) {
|
|
32
78
|
const resolved = version ?? await fetchStandaloneCliLatestVersion();
|
|
33
79
|
const dest = cliCachePath(resolved, platform);
|
|
34
80
|
if (existsSync(dest))
|
|
35
81
|
return dest;
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
82
|
+
const name = cliArchiveName(platform, libc);
|
|
83
|
+
const archive = await fetchBytes(`${CDN_BASE}${cliArchivePath(resolved, platform, libc)}`, name);
|
|
84
|
+
// The manifest is verified before it is trusted, and only then is the archive compared
|
|
85
|
+
// against it. A checksum alone would prove the download was intact, not that it came from
|
|
86
|
+
// us, and the signature is what makes replacing our own executable no weaker than fetching
|
|
87
|
+
// a postgres archive. fetchChecksums treats the .minisig as mandatory and fails closed
|
|
88
|
+
// without a public key, which is the same rule component downloads follow.
|
|
89
|
+
const checksumsUrl = `${CDN_BASE}${cliChecksumsPath(resolved)}`;
|
|
90
|
+
const expected = await fetchChecksums(checksumsUrl, `${checksumsUrl}.minisig`, name);
|
|
91
|
+
const actual = createHash("sha256").update(archive).digest("hex");
|
|
92
|
+
if (actual !== expected.checksum) {
|
|
93
|
+
throw new Error(`Checksum mismatch for ${name}.\n expected: ${expected.checksum}\n actual: ${actual}`);
|
|
40
94
|
}
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
95
|
+
const staging = join(tmpdir(), `supatype-cli-${resolved}-${process.pid}`);
|
|
96
|
+
try {
|
|
97
|
+
mkdirSync(staging, { recursive: true });
|
|
98
|
+
const archivePath = join(staging, name);
|
|
99
|
+
writeFileSync(archivePath, archive);
|
|
100
|
+
const unpacked = unpackExecutable(archivePath, staging, platform);
|
|
101
|
+
mkdirSync(join(dest, ".."), { recursive: true });
|
|
102
|
+
writeFileSync(dest, readFileSync(unpacked));
|
|
103
|
+
if (platform.os !== "windows")
|
|
104
|
+
chmodSync(dest, 0o755);
|
|
105
|
+
return dest;
|
|
48
106
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (platform.os !== "windows") {
|
|
52
|
-
chmodSync(dest, 0o755);
|
|
107
|
+
finally {
|
|
108
|
+
rmSync(staging, { recursive: true, force: true });
|
|
53
109
|
}
|
|
54
|
-
return dest;
|
|
55
110
|
}
|
|
56
111
|
//# sourceMappingURL=cli-standalone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-standalone.js","sourceRoot":"","sources":["../src/cli-standalone.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli-standalone.js","sourceRoot":"","sources":["../src/cli-standalone.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI version, baked in at publish by scripts/set-version.mjs.
|
|
3
|
+
*
|
|
4
|
+
* The standalone binary cannot read its own package.json: pkg carries only files it can
|
|
5
|
+
* find by static analysis, and that path is assembled at runtime, so `--version` inside a
|
|
6
|
+
* published binary would answer 0.0.0 without this. Empty in a source checkout, where
|
|
7
|
+
* cliPackageVersion() falls back to reading package.json.
|
|
8
|
+
*/
|
|
9
|
+
export declare const EMBEDDED_CLI_VERSION: string;
|
|
10
|
+
//# sourceMappingURL=cli-version-embedded.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-version-embedded.d.ts","sourceRoot":"","sources":["../src/cli-version-embedded.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,oBAAoB,EAAE,MAAgB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI version, baked in at publish by scripts/set-version.mjs.
|
|
3
|
+
*
|
|
4
|
+
* The standalone binary cannot read its own package.json: pkg carries only files it can
|
|
5
|
+
* find by static analysis, and that path is assembled at runtime, so `--version` inside a
|
|
6
|
+
* published binary would answer 0.0.0 without this. Empty in a source checkout, where
|
|
7
|
+
* cliPackageVersion() falls back to reading package.json.
|
|
8
|
+
*/
|
|
9
|
+
// Annotated `string`, not left to inference: once a release stamps a value here, the
|
|
10
|
+
// inferred literal type makes the `!== ""` test in cliPackageVersion() a compile error
|
|
11
|
+
// (TS2367, no overlap), so the build would only fail during a release.
|
|
12
|
+
export const EMBEDDED_CLI_VERSION = "0.1.9";
|
|
13
|
+
//# sourceMappingURL=cli-version-embedded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-version-embedded.js","sourceRoot":"","sources":["../src/cli-version-embedded.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qFAAqF;AACrF,uFAAuF;AACvF,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAW,OAAO,CAAA"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAsCA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAgDzC"}
|
package/dist/cli.js
CHANGED
|
@@ -18,6 +18,7 @@ import { registerApp } from "./commands/app.js";
|
|
|
18
18
|
import { registerAdd } from "./commands/add.js";
|
|
19
19
|
import { registerSelfHost } from "./commands/self-host.js";
|
|
20
20
|
import { registerCloud } from "./commands/cloud.js";
|
|
21
|
+
import { registerLogin } from "./commands/login.js";
|
|
21
22
|
import { registerEngine } from "./commands/engine.js";
|
|
22
23
|
import { registerDb } from "./commands/db.js";
|
|
23
24
|
import { registerDeploy } from "./commands/deploy.js";
|
|
@@ -25,22 +26,25 @@ import { registerStatus } from "./commands/status.js";
|
|
|
25
26
|
import { registerLogs } from "./commands/logs.js";
|
|
26
27
|
import { registerAdmin } from "./commands/admin.js";
|
|
27
28
|
import { registerFunctions } from "./commands/functions.js";
|
|
29
|
+
import { registerHooks } from "./commands/hooks.js";
|
|
28
30
|
import { registerPlugins } from "./commands/plugins.js";
|
|
29
31
|
import { registerTypes } from "./commands/types.js";
|
|
30
32
|
import { registerMigrateFromV1 } from "./commands/migrate-from-v1.js";
|
|
31
33
|
import { registerSelfUpdate } from "./commands/self-update.js";
|
|
34
|
+
import { registerInternalCommands } from "./commands/internal.js";
|
|
32
35
|
import { cliPackageVersion } from "./cli-package-version.js";
|
|
33
36
|
import { reportCliFatal } from "./ui/fatal.js";
|
|
34
37
|
import { wrapProgramActionsWithChrome } from "./ui/runtime/command-chrome.js";
|
|
35
38
|
export async function run() {
|
|
36
39
|
const program = new Command()
|
|
37
40
|
.name("supatype")
|
|
38
|
-
.description("Supatype
|
|
41
|
+
.description("Supatype: type-first platform for PostgreSQL")
|
|
39
42
|
.version(cliPackageVersion());
|
|
40
43
|
registerInit(program);
|
|
41
44
|
registerDev(program);
|
|
42
45
|
registerCache(program);
|
|
43
46
|
registerSelfUpdate(program);
|
|
47
|
+
registerInternalCommands(program);
|
|
44
48
|
registerUpdate(program);
|
|
45
49
|
registerPg(program);
|
|
46
50
|
registerPush(program);
|
|
@@ -56,6 +60,7 @@ export async function run() {
|
|
|
56
60
|
registerApp(program);
|
|
57
61
|
registerAdd(program);
|
|
58
62
|
registerSelfHost(program);
|
|
63
|
+
registerLogin(program);
|
|
59
64
|
registerCloud(program);
|
|
60
65
|
registerEngine(program);
|
|
61
66
|
registerDb(program);
|
|
@@ -64,6 +69,7 @@ export async function run() {
|
|
|
64
69
|
registerLogs(program);
|
|
65
70
|
registerAdmin(program);
|
|
66
71
|
registerFunctions(program);
|
|
72
|
+
registerHooks(program);
|
|
67
73
|
registerPlugins(program);
|
|
68
74
|
registerTypes(program);
|
|
69
75
|
registerMigrateFromV1(program);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAE7E,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ProjectLink } from "./link.js";
|
|
2
|
+
export declare const CREDENTIALS_VERSION: 1;
|
|
3
|
+
export interface CloudCredentials {
|
|
4
|
+
version: typeof CREDENTIALS_VERSION;
|
|
5
|
+
apiUrl: string;
|
|
6
|
+
accessToken: string;
|
|
7
|
+
refreshToken?: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
updatedAt: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function credentialsPath(): string;
|
|
12
|
+
export declare function loadCloudCredentials(): CloudCredentials | null;
|
|
13
|
+
export declare function saveCloudCredentials(creds: CloudCredentials): void;
|
|
14
|
+
export declare function clearCloudCredentials(): void;
|
|
15
|
+
/** Prefer link tokens; fall back to ~/.supatype/credentials.json for cloud. */
|
|
16
|
+
export declare function resolveCloudAccessToken(link: ProjectLink): string | undefined;
|
|
17
|
+
export declare function resolveCloudRefreshToken(link: ProjectLink): string | undefined;
|
|
18
|
+
/** Write tokens to global credentials and the current project's cloud link (if any). */
|
|
19
|
+
export declare function persistCloudSession(cwd: string, params: {
|
|
20
|
+
apiUrl: string;
|
|
21
|
+
accessToken: string;
|
|
22
|
+
refreshToken?: string;
|
|
23
|
+
email?: string;
|
|
24
|
+
}): void;
|
|
25
|
+
export interface CloudLoginResult {
|
|
26
|
+
accessToken: string;
|
|
27
|
+
refreshToken?: string;
|
|
28
|
+
expiresIn?: number;
|
|
29
|
+
email?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Password login against control-plane `/auth/login` (not `/api/v1`). */
|
|
32
|
+
export declare function cloudPasswordLogin(apiUrl: string, email: string, password: string): Promise<CloudLoginResult>;
|
|
33
|
+
export declare function cloudRefreshSession(apiUrl: string, refreshToken: string): Promise<CloudLoginResult>;
|
|
34
|
+
//# sourceMappingURL=cloud-credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-credentials.d.ts","sourceRoot":"","sources":["../src/cloud-credentials.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAA;AAElB,eAAO,MAAM,mBAAmB,EAAG,CAAU,CAAA;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,mBAAmB,CAAA;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAU9D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAIlE;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAQ5C;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAS7E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAS9E;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GACA,IAAI,CA2BN;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,0EAA0E;AAC1E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CA0B3B;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud session credentials (access + refresh) for CLI ↔ control plane.
|
|
3
|
+
* Self-host links keep using long-lived SERVICE_ROLE_KEY and ignore this store.
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
6
|
+
import { homedir } from "node:os";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { loadProjectLink, saveProjectLink, } from "./link.js";
|
|
9
|
+
export const CREDENTIALS_VERSION = 1;
|
|
10
|
+
export function credentialsPath() {
|
|
11
|
+
return join(homedir(), ".supatype", "credentials.json");
|
|
12
|
+
}
|
|
13
|
+
export function loadCloudCredentials() {
|
|
14
|
+
const path = credentialsPath();
|
|
15
|
+
if (!existsSync(path))
|
|
16
|
+
return null;
|
|
17
|
+
try {
|
|
18
|
+
const raw = JSON.parse(readFileSync(path, "utf8"));
|
|
19
|
+
if (!raw.accessToken || !raw.apiUrl)
|
|
20
|
+
return null;
|
|
21
|
+
return raw;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function saveCloudCredentials(creds) {
|
|
28
|
+
const dir = join(homedir(), ".supatype");
|
|
29
|
+
mkdirSync(dir, { recursive: true });
|
|
30
|
+
writeFileSync(credentialsPath(), `${JSON.stringify(creds, null, 2)}\n`, "utf8");
|
|
31
|
+
}
|
|
32
|
+
export function clearCloudCredentials() {
|
|
33
|
+
const path = credentialsPath();
|
|
34
|
+
if (!existsSync(path))
|
|
35
|
+
return;
|
|
36
|
+
try {
|
|
37
|
+
unlinkSync(path);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
/* ignore */
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Prefer link tokens; fall back to ~/.supatype/credentials.json for cloud. */
|
|
44
|
+
export function resolveCloudAccessToken(link) {
|
|
45
|
+
if (link.token)
|
|
46
|
+
return link.token;
|
|
47
|
+
if (link.kind !== "cloud")
|
|
48
|
+
return undefined;
|
|
49
|
+
const creds = loadCloudCredentials();
|
|
50
|
+
if (!creds)
|
|
51
|
+
return undefined;
|
|
52
|
+
const linkApi = (link.cloudApiUrl ?? "").replace(/\/$/, "");
|
|
53
|
+
const credApi = creds.apiUrl.replace(/\/$/, "");
|
|
54
|
+
if (linkApi && credApi && linkApi !== credApi)
|
|
55
|
+
return undefined;
|
|
56
|
+
return creds.accessToken;
|
|
57
|
+
}
|
|
58
|
+
export function resolveCloudRefreshToken(link) {
|
|
59
|
+
if (link.refreshToken)
|
|
60
|
+
return link.refreshToken;
|
|
61
|
+
if (link.kind !== "cloud")
|
|
62
|
+
return undefined;
|
|
63
|
+
const creds = loadCloudCredentials();
|
|
64
|
+
if (!creds?.refreshToken)
|
|
65
|
+
return undefined;
|
|
66
|
+
const linkApi = (link.cloudApiUrl ?? "").replace(/\/$/, "");
|
|
67
|
+
const credApi = creds.apiUrl.replace(/\/$/, "");
|
|
68
|
+
if (linkApi && credApi && linkApi !== credApi)
|
|
69
|
+
return undefined;
|
|
70
|
+
return creds.refreshToken;
|
|
71
|
+
}
|
|
72
|
+
/** Write tokens to global credentials and the current project's cloud link (if any). */
|
|
73
|
+
export function persistCloudSession(cwd, params) {
|
|
74
|
+
const apiUrl = params.apiUrl.replace(/\/$/, "");
|
|
75
|
+
const existing = loadCloudCredentials();
|
|
76
|
+
saveCloudCredentials({
|
|
77
|
+
version: CREDENTIALS_VERSION,
|
|
78
|
+
apiUrl,
|
|
79
|
+
accessToken: params.accessToken,
|
|
80
|
+
updatedAt: new Date().toISOString(),
|
|
81
|
+
...(params.refreshToken !== undefined
|
|
82
|
+
? { refreshToken: params.refreshToken }
|
|
83
|
+
: existing?.refreshToken !== undefined
|
|
84
|
+
? { refreshToken: existing.refreshToken }
|
|
85
|
+
: {}),
|
|
86
|
+
...(params.email !== undefined
|
|
87
|
+
? { email: params.email }
|
|
88
|
+
: existing?.email !== undefined
|
|
89
|
+
? { email: existing.email }
|
|
90
|
+
: {}),
|
|
91
|
+
});
|
|
92
|
+
const link = loadProjectLink(cwd);
|
|
93
|
+
if (!link || link.kind !== "cloud")
|
|
94
|
+
return;
|
|
95
|
+
link.token = params.accessToken;
|
|
96
|
+
if (params.refreshToken !== undefined) {
|
|
97
|
+
link.refreshToken = params.refreshToken;
|
|
98
|
+
}
|
|
99
|
+
saveProjectLink(cwd, link);
|
|
100
|
+
}
|
|
101
|
+
/** Password login against control-plane `/auth/login` (not `/api/v1`). */
|
|
102
|
+
export async function cloudPasswordLogin(apiUrl, email, password) {
|
|
103
|
+
const base = apiUrl.replace(/\/$/, "");
|
|
104
|
+
const res = await fetch(`${base}/auth/login`, {
|
|
105
|
+
method: "POST",
|
|
106
|
+
headers: { "Content-Type": "application/json" },
|
|
107
|
+
body: JSON.stringify({ email: email.toLowerCase(), password }),
|
|
108
|
+
});
|
|
109
|
+
const json = (await res.json().catch(() => ({})));
|
|
110
|
+
if (!res.ok || !json.access_token) {
|
|
111
|
+
throw new Error(json.message ?? json.error ?? `Login failed (${res.status})`);
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
accessToken: json.access_token,
|
|
115
|
+
...(json.refresh_token !== undefined ? { refreshToken: json.refresh_token } : {}),
|
|
116
|
+
...(json.expires_in !== undefined ? { expiresIn: json.expires_in } : {}),
|
|
117
|
+
...(json.user?.email !== undefined
|
|
118
|
+
? { email: json.user.email }
|
|
119
|
+
: { email: email.toLowerCase() }),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export async function cloudRefreshSession(apiUrl, refreshToken) {
|
|
123
|
+
const base = apiUrl.replace(/\/$/, "");
|
|
124
|
+
const res = await fetch(`${base}/auth/refresh`, {
|
|
125
|
+
method: "POST",
|
|
126
|
+
headers: { "Content-Type": "application/json" },
|
|
127
|
+
body: JSON.stringify({ refresh_token: refreshToken }),
|
|
128
|
+
});
|
|
129
|
+
const json = (await res.json().catch(() => ({})));
|
|
130
|
+
if (!res.ok || !json.access_token) {
|
|
131
|
+
throw new Error(json.message ?? json.error ?? `Token refresh failed (${res.status})`);
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
accessToken: json.access_token,
|
|
135
|
+
...(json.refresh_token !== undefined ? { refreshToken: json.refresh_token } : {}),
|
|
136
|
+
...(json.expires_in !== undefined ? { expiresIn: json.expires_in } : {}),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=cloud-credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-credentials.js","sourceRoot":"","sources":["../src/cloud-credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,eAAe,EACf,eAAe,GAEhB,MAAM,WAAW,CAAA;AAElB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAU,CAAA;AAW7C,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAqB,CAAA;QACtE,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAChD,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;IACxC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,aAAa,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAM;IAC7B,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CAAC,IAAiB;IACvD,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,CAAA;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IAC3C,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/C,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IAC/D,OAAO,KAAK,CAAC,WAAW,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAiB;IACxD,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC,YAAY,CAAA;IAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IAC3C,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAA;IACpC,IAAI,CAAC,KAAK,EAAE,YAAY;QAAE,OAAO,SAAS,CAAA;IAC1C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/C,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IAC/D,OAAO,KAAK,CAAC,YAAY,CAAA;AAC3B,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,MAKC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IACvC,oBAAoB,CAAC;QACnB,OAAO,EAAE,mBAAmB;QAC5B,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;YACvC,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YACzB,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,SAAS;gBAC7B,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;gBAC3B,CAAC,CAAC,EAAE,CAAC;KACV,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAM;IAC1C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAA;IAC/B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACzC,CAAC;IACD,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC5B,CAAC;AASD,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,KAAa,EACb,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,aAAa,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC;KAC/D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAO/C,CAAA;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;KACpC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,YAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,eAAe,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;KACtD,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAM/C,CAAA;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,yBAAyB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IACvF,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAA;AACH,CAAC"}
|
package/dist/commands/add.js
CHANGED
|
@@ -86,7 +86,7 @@ function printDomainNextSteps(cwd, domain) {
|
|
|
86
86
|
"supatype self-host compose up -d # Kong provisions HTTPS automatically",
|
|
87
87
|
`Platform URL: https://${domain}`,
|
|
88
88
|
]);
|
|
89
|
-
plain(" App, REST, Auth, Storage, Realtime, Functions, and Studio
|
|
89
|
+
plain(" App, REST, Auth, Storage, Realtime, Functions, and Studio, one HTTPS domain.");
|
|
90
90
|
plain(" Certificates persist in the valkey-data volume.\n");
|
|
91
91
|
}
|
|
92
92
|
//# sourceMappingURL=add.js.map
|