appwrite-cli 13.0.0-rc.2 → 13.0.0-rc.3
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/.github/workflows/{npm-publish.yml → publish.yml} +1 -1
- package/CHANGELOG.md +106 -101
- package/LICENSE.md +2 -2
- package/README.md +36 -59
- package/cli.ts +152 -0
- package/dist/bundle.cjs +4613 -3653
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +145 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -142
- package/dist/index.js.map +1 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +7 -6
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/commands/config.d.ts +562 -0
- package/dist/lib/commands/config.d.ts.map +1 -0
- package/dist/lib/commands/config.js +416 -0
- package/dist/lib/commands/config.js.map +1 -0
- package/dist/lib/commands/db.d.ts +34 -0
- package/dist/lib/commands/db.d.ts.map +1 -0
- package/dist/lib/commands/db.js +247 -0
- package/dist/lib/commands/db.js.map +1 -0
- package/dist/lib/commands/errors.d.ts +68 -0
- package/dist/lib/commands/errors.d.ts.map +1 -0
- package/dist/lib/commands/errors.js +72 -0
- package/dist/lib/commands/errors.js.map +1 -0
- package/dist/lib/commands/init.d.ts.map +1 -1
- package/dist/lib/commands/init.js +15 -14
- package/dist/lib/commands/init.js.map +1 -1
- package/dist/lib/commands/pull.d.ts +104 -2
- package/dist/lib/commands/pull.d.ts.map +1 -1
- package/dist/lib/commands/pull.js +470 -281
- package/dist/lib/commands/pull.js.map +1 -1
- package/dist/lib/commands/push.d.ts +106 -0
- package/dist/lib/commands/push.d.ts.map +1 -1
- package/dist/lib/commands/push.js +1257 -1628
- package/dist/lib/commands/push.js.map +1 -1
- package/dist/lib/commands/run.js +1 -1
- package/dist/lib/commands/run.js.map +1 -1
- package/dist/lib/commands/schema.d.ts +59 -0
- package/dist/lib/commands/schema.d.ts.map +1 -0
- package/dist/lib/commands/schema.js +86 -0
- package/dist/lib/commands/schema.js.map +1 -0
- package/dist/lib/commands/services/account.d.ts.map +1 -1
- package/dist/lib/commands/services/account.js +86 -64
- package/dist/lib/commands/services/account.js.map +1 -1
- package/dist/lib/commands/services/console.d.ts.map +1 -1
- package/dist/lib/commands/services/console.js +4 -17
- package/dist/lib/commands/services/console.js.map +1 -1
- package/dist/lib/commands/services/databases.d.ts.map +1 -1
- package/dist/lib/commands/services/databases.js +160 -152
- package/dist/lib/commands/services/databases.js.map +1 -1
- package/dist/lib/commands/services/functions.d.ts.map +1 -1
- package/dist/lib/commands/services/functions.js +41 -33
- package/dist/lib/commands/services/functions.js.map +1 -1
- package/dist/lib/commands/services/graphql.d.ts.map +1 -1
- package/dist/lib/commands/services/graphql.js +3 -3
- package/dist/lib/commands/services/graphql.js.map +1 -1
- package/dist/lib/commands/services/health.d.ts.map +1 -1
- package/dist/lib/commands/services/health.js +24 -24
- package/dist/lib/commands/services/health.js.map +1 -1
- package/dist/lib/commands/services/locale.d.ts.map +1 -1
- package/dist/lib/commands/services/locale.js +9 -9
- package/dist/lib/commands/services/locale.js.map +1 -1
- package/dist/lib/commands/services/messaging.d.ts.map +1 -1
- package/dist/lib/commands/services/messaging.js +59 -59
- package/dist/lib/commands/services/messaging.js.map +1 -1
- package/dist/lib/commands/services/migrations.d.ts.map +1 -1
- package/dist/lib/commands/services/migrations.js +19 -19
- package/dist/lib/commands/services/migrations.js.map +1 -1
- package/dist/lib/commands/services/project.d.ts.map +1 -1
- package/dist/lib/commands/services/project.js +8 -8
- package/dist/lib/commands/services/project.js.map +1 -1
- package/dist/lib/commands/services/projects.d.ts.map +1 -1
- package/dist/lib/commands/services/projects.js +64 -64
- package/dist/lib/commands/services/projects.js.map +1 -1
- package/dist/lib/commands/services/proxy.d.ts.map +1 -1
- package/dist/lib/commands/services/proxy.js +11 -11
- package/dist/lib/commands/services/proxy.js.map +1 -1
- package/dist/lib/commands/services/sites.d.ts.map +1 -1
- package/dist/lib/commands/services/sites.js +41 -33
- package/dist/lib/commands/services/sites.js.map +1 -1
- package/dist/lib/commands/services/storage.d.ts.map +1 -1
- package/dist/lib/commands/services/storage.js +38 -16
- package/dist/lib/commands/services/storage.js.map +1 -1
- package/dist/lib/commands/services/tables-db.d.ts +3 -0
- package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
- package/dist/lib/commands/services/{tablesdb.js → tables-db.js} +171 -163
- package/dist/lib/commands/services/tables-db.js.map +1 -0
- package/dist/lib/commands/services/teams.d.ts.map +1 -1
- package/dist/lib/commands/services/teams.js +16 -16
- package/dist/lib/commands/services/teams.js.map +1 -1
- package/dist/lib/commands/services/tokens.d.ts.map +1 -1
- package/dist/lib/commands/services/tokens.js +6 -6
- package/dist/lib/commands/services/tokens.js.map +1 -1
- package/dist/lib/commands/services/users.d.ts.map +1 -1
- package/dist/lib/commands/services/users.js +54 -54
- package/dist/lib/commands/services/users.js.map +1 -1
- package/dist/lib/commands/services/vcs.d.ts.map +1 -1
- package/dist/lib/commands/services/vcs.js +13 -13
- package/dist/lib/commands/services/vcs.js.map +1 -1
- package/dist/lib/commands/types.d.ts.map +1 -1
- package/dist/lib/commands/types.js +1 -1
- package/dist/lib/commands/types.js.map +1 -1
- package/dist/lib/commands/update.d.ts.map +1 -1
- package/dist/lib/commands/update.js +9 -8
- package/dist/lib/commands/update.js.map +1 -1
- package/dist/lib/commands/utils/attributes.d.ts +47 -0
- package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
- package/dist/lib/commands/utils/attributes.js +514 -0
- package/dist/lib/commands/utils/attributes.js.map +1 -0
- package/dist/lib/commands/utils/change-approval.d.ts +25 -0
- package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
- package/dist/lib/commands/utils/change-approval.js +129 -0
- package/dist/lib/commands/utils/change-approval.js.map +1 -0
- package/dist/lib/commands/utils/database-sync.d.ts +10 -0
- package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
- package/dist/lib/commands/utils/database-sync.js +136 -0
- package/dist/lib/commands/utils/database-sync.js.map +1 -0
- package/dist/lib/commands/utils/deployment.d.ts +34 -0
- package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
- package/dist/lib/commands/utils/deployment.js +109 -0
- package/dist/lib/commands/utils/deployment.js.map +1 -0
- package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
- package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
- package/dist/lib/commands/utils/error-formatter.js +333 -0
- package/dist/lib/commands/utils/error-formatter.js.map +1 -0
- package/dist/lib/commands/utils/pools.d.ts +16 -0
- package/dist/lib/commands/utils/pools.d.ts.map +1 -0
- package/dist/lib/commands/utils/pools.js +198 -0
- package/dist/lib/commands/utils/pools.js.map +1 -0
- package/dist/lib/config.d.ts +27 -26
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +8 -45
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +14 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +19 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/emulation/docker.d.ts +4 -4
- package/dist/lib/emulation/docker.d.ts.map +1 -1
- package/dist/lib/emulation/docker.js +80 -67
- package/dist/lib/emulation/docker.js.map +1 -1
- package/dist/lib/parser.d.ts.map +1 -1
- package/dist/lib/parser.js +11 -10
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/questions.d.ts.map +1 -1
- package/dist/lib/questions.js +20 -20
- package/dist/lib/questions.js.map +1 -1
- package/dist/lib/sdks.d.ts.map +1 -1
- package/dist/lib/sdks.js +10 -11
- package/dist/lib/sdks.js.map +1 -1
- package/dist/lib/types.d.ts +0 -214
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +42 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/package.json +12 -11
- package/docs/examples/account/create-anonymous-session.md +1 -0
- package/docs/examples/account/create-email-password-session.md +3 -0
- package/docs/examples/account/create-email-token.md +3 -0
- package/docs/examples/account/create-email-verification.md +2 -0
- package/docs/examples/account/create-jwt.md +1 -0
- package/docs/examples/account/create-magic-url-token.md +3 -0
- package/docs/examples/account/create-mfa-authenticator.md +2 -0
- package/docs/examples/account/create-mfa-challenge.md +2 -0
- package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
- package/docs/examples/account/create-o-auth-2-session.md +2 -0
- package/docs/examples/account/create-o-auth-2-token.md +2 -0
- package/docs/examples/account/create-phone-token.md +3 -0
- package/docs/examples/account/create-phone-verification.md +1 -0
- package/docs/examples/account/create-push-target.md +3 -0
- package/docs/examples/account/create-recovery.md +3 -0
- package/docs/examples/account/create-session.md +3 -0
- package/docs/examples/account/create-verification.md +2 -0
- package/docs/examples/account/create.md +4 -0
- package/docs/examples/account/delete-identity.md +2 -0
- package/docs/examples/account/delete-mfa-authenticator.md +2 -0
- package/docs/examples/account/delete-push-target.md +2 -0
- package/docs/examples/account/delete-session.md +2 -0
- package/docs/examples/account/delete-sessions.md +1 -0
- package/docs/examples/account/delete.md +1 -0
- package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
- package/docs/examples/account/get-prefs.md +1 -0
- package/docs/examples/account/get-session.md +2 -0
- package/docs/examples/account/get.md +1 -0
- package/docs/examples/account/list-identities.md +1 -0
- package/docs/examples/account/list-logs.md +1 -0
- package/docs/examples/account/list-mfa-factors.md +1 -0
- package/docs/examples/account/list-sessions.md +1 -0
- package/docs/examples/account/update-email-verification.md +3 -0
- package/docs/examples/account/update-email.md +3 -0
- package/docs/examples/account/update-magic-url-session.md +3 -0
- package/docs/examples/account/update-mfa-authenticator.md +3 -0
- package/docs/examples/account/update-mfa-challenge.md +3 -0
- package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
- package/docs/examples/account/update-mfa.md +2 -0
- package/docs/examples/account/update-name.md +2 -0
- package/docs/examples/account/update-password.md +2 -0
- package/docs/examples/account/update-phone-session.md +3 -0
- package/docs/examples/account/update-phone-verification.md +3 -0
- package/docs/examples/account/update-phone.md +3 -0
- package/docs/examples/account/update-prefs.md +2 -0
- package/docs/examples/account/update-push-target.md +3 -0
- package/docs/examples/account/update-recovery.md +4 -0
- package/docs/examples/account/update-session.md +2 -0
- package/docs/examples/account/update-status.md +1 -0
- package/docs/examples/account/update-verification.md +3 -0
- package/docs/examples/console/get-resource.md +3 -0
- package/docs/examples/console/variables.md +1 -0
- package/docs/examples/databases/create-boolean-attribute.md +5 -0
- package/docs/examples/databases/create-collection.md +4 -0
- package/docs/examples/databases/create-datetime-attribute.md +5 -0
- package/docs/examples/databases/create-document.md +5 -0
- package/docs/examples/databases/create-documents.md +4 -0
- package/docs/examples/databases/create-email-attribute.md +5 -0
- package/docs/examples/databases/create-enum-attribute.md +6 -0
- package/docs/examples/databases/create-float-attribute.md +5 -0
- package/docs/examples/databases/create-index.md +6 -0
- package/docs/examples/databases/create-integer-attribute.md +5 -0
- package/docs/examples/databases/create-ip-attribute.md +5 -0
- package/docs/examples/databases/create-line-attribute.md +5 -0
- package/docs/examples/databases/create-operations.md +2 -0
- package/docs/examples/databases/create-point-attribute.md +5 -0
- package/docs/examples/databases/create-polygon-attribute.md +5 -0
- package/docs/examples/databases/create-relationship-attribute.md +5 -0
- package/docs/examples/databases/create-string-attribute.md +6 -0
- package/docs/examples/databases/create-transaction.md +1 -0
- package/docs/examples/databases/create-url-attribute.md +5 -0
- package/docs/examples/databases/create.md +3 -0
- package/docs/examples/databases/decrement-document-attribute.md +5 -0
- package/docs/examples/databases/delete-attribute.md +4 -0
- package/docs/examples/databases/delete-collection.md +3 -0
- package/docs/examples/databases/delete-document.md +4 -0
- package/docs/examples/databases/delete-documents.md +3 -0
- package/docs/examples/databases/delete-index.md +4 -0
- package/docs/examples/databases/delete-transaction.md +2 -0
- package/docs/examples/databases/delete.md +2 -0
- package/docs/examples/databases/get-attribute.md +4 -0
- package/docs/examples/databases/get-collection-usage.md +3 -0
- package/docs/examples/databases/get-collection.md +3 -0
- package/docs/examples/databases/get-document.md +4 -0
- package/docs/examples/databases/get-index.md +4 -0
- package/docs/examples/databases/get-transaction.md +2 -0
- package/docs/examples/databases/get-usage.md +2 -0
- package/docs/examples/databases/get.md +2 -0
- package/docs/examples/databases/increment-document-attribute.md +5 -0
- package/docs/examples/databases/list-attributes.md +3 -0
- package/docs/examples/databases/list-collection-logs.md +3 -0
- package/docs/examples/databases/list-collections.md +2 -0
- package/docs/examples/databases/list-document-logs.md +4 -0
- package/docs/examples/databases/list-documents.md +3 -0
- package/docs/examples/databases/list-indexes.md +3 -0
- package/docs/examples/databases/list-logs.md +2 -0
- package/docs/examples/databases/list-transactions.md +1 -0
- package/docs/examples/databases/list-usage.md +1 -0
- package/docs/examples/databases/list.md +1 -0
- package/docs/examples/databases/update-boolean-attribute.md +6 -0
- package/docs/examples/databases/update-collection.md +4 -0
- package/docs/examples/databases/update-datetime-attribute.md +6 -0
- package/docs/examples/databases/update-document.md +4 -0
- package/docs/examples/databases/update-documents.md +3 -0
- package/docs/examples/databases/update-email-attribute.md +6 -0
- package/docs/examples/databases/update-enum-attribute.md +7 -0
- package/docs/examples/databases/update-float-attribute.md +6 -0
- package/docs/examples/databases/update-integer-attribute.md +6 -0
- package/docs/examples/databases/update-ip-attribute.md +6 -0
- package/docs/examples/databases/update-line-attribute.md +5 -0
- package/docs/examples/databases/update-point-attribute.md +5 -0
- package/docs/examples/databases/update-polygon-attribute.md +5 -0
- package/docs/examples/databases/update-relationship-attribute.md +4 -0
- package/docs/examples/databases/update-string-attribute.md +6 -0
- package/docs/examples/databases/update-transaction.md +2 -0
- package/docs/examples/databases/update-url-attribute.md +6 -0
- package/docs/examples/databases/update.md +3 -0
- package/docs/examples/databases/upsert-document.md +4 -0
- package/docs/examples/databases/upsert-documents.md +4 -0
- package/docs/examples/functions/create-deployment.md +4 -0
- package/docs/examples/functions/create-duplicate-deployment.md +3 -0
- package/docs/examples/functions/create-execution.md +2 -0
- package/docs/examples/functions/create-template-deployment.md +7 -0
- package/docs/examples/functions/create-variable.md +4 -0
- package/docs/examples/functions/create-vcs-deployment.md +4 -0
- package/docs/examples/functions/create.md +4 -0
- package/docs/examples/functions/delete-deployment.md +3 -0
- package/docs/examples/functions/delete-execution.md +3 -0
- package/docs/examples/functions/delete-variable.md +3 -0
- package/docs/examples/functions/delete.md +2 -0
- package/docs/examples/functions/get-deployment-download.md +3 -0
- package/docs/examples/functions/get-deployment.md +3 -0
- package/docs/examples/functions/get-execution.md +3 -0
- package/docs/examples/functions/get-template.md +2 -0
- package/docs/examples/functions/get-usage.md +2 -0
- package/docs/examples/functions/get-variable.md +3 -0
- package/docs/examples/functions/get.md +2 -0
- package/docs/examples/functions/list-deployments.md +2 -0
- package/docs/examples/functions/list-executions.md +2 -0
- package/docs/examples/functions/list-runtimes.md +1 -0
- package/docs/examples/functions/list-specifications.md +1 -0
- package/docs/examples/functions/list-templates.md +1 -0
- package/docs/examples/functions/list-usage.md +1 -0
- package/docs/examples/functions/list-variables.md +2 -0
- package/docs/examples/functions/list.md +1 -0
- package/docs/examples/functions/update-deployment-status.md +3 -0
- package/docs/examples/functions/update-function-deployment.md +3 -0
- package/docs/examples/functions/update-variable.md +4 -0
- package/docs/examples/functions/update.md +3 -0
- package/docs/examples/graphql/mutation.md +2 -0
- package/docs/examples/graphql/query.md +2 -0
- package/docs/examples/health/get-antivirus.md +1 -0
- package/docs/examples/health/get-cache.md +1 -0
- package/docs/examples/health/get-certificate.md +1 -0
- package/docs/examples/health/get-db.md +1 -0
- package/docs/examples/health/get-failed-jobs.md +2 -0
- package/docs/examples/health/get-pub-sub.md +1 -0
- package/docs/examples/health/get-queue-builds.md +1 -0
- package/docs/examples/health/get-queue-certificates.md +1 -0
- package/docs/examples/health/get-queue-databases.md +1 -0
- package/docs/examples/health/get-queue-deletes.md +1 -0
- package/docs/examples/health/get-queue-functions.md +1 -0
- package/docs/examples/health/get-queue-logs.md +1 -0
- package/docs/examples/health/get-queue-mails.md +1 -0
- package/docs/examples/health/get-queue-messaging.md +1 -0
- package/docs/examples/health/get-queue-migrations.md +1 -0
- package/docs/examples/health/get-queue-stats-resources.md +1 -0
- package/docs/examples/health/get-queue-usage.md +1 -0
- package/docs/examples/health/get-queue-webhooks.md +1 -0
- package/docs/examples/health/get-storage-local.md +1 -0
- package/docs/examples/health/get-storage.md +1 -0
- package/docs/examples/health/get-time.md +1 -0
- package/docs/examples/health/get.md +1 -0
- package/docs/examples/locale/get.md +1 -0
- package/docs/examples/locale/list-codes.md +1 -0
- package/docs/examples/locale/list-continents.md +1 -0
- package/docs/examples/locale/list-countries-eu.md +1 -0
- package/docs/examples/locale/list-countries-phones.md +1 -0
- package/docs/examples/locale/list-countries.md +1 -0
- package/docs/examples/locale/list-currencies.md +1 -0
- package/docs/examples/locale/list-languages.md +1 -0
- package/docs/examples/messaging/create-apns-provider.md +3 -0
- package/docs/examples/messaging/create-email.md +4 -0
- package/docs/examples/messaging/create-fcm-provider.md +3 -0
- package/docs/examples/messaging/create-mailgun-provider.md +3 -0
- package/docs/examples/messaging/create-msg-91-provider.md +3 -0
- package/docs/examples/messaging/create-push.md +2 -0
- package/docs/examples/messaging/create-resend-provider.md +3 -0
- package/docs/examples/messaging/create-sendgrid-provider.md +3 -0
- package/docs/examples/messaging/create-sms.md +3 -0
- package/docs/examples/messaging/create-smtp-provider.md +4 -0
- package/docs/examples/messaging/create-subscriber.md +4 -0
- package/docs/examples/messaging/create-telesign-provider.md +3 -0
- package/docs/examples/messaging/create-textmagic-provider.md +3 -0
- package/docs/examples/messaging/create-topic.md +3 -0
- package/docs/examples/messaging/create-twilio-provider.md +3 -0
- package/docs/examples/messaging/create-vonage-provider.md +3 -0
- package/docs/examples/messaging/delete-provider.md +2 -0
- package/docs/examples/messaging/delete-subscriber.md +3 -0
- package/docs/examples/messaging/delete-topic.md +2 -0
- package/docs/examples/messaging/delete.md +2 -0
- package/docs/examples/messaging/get-message.md +2 -0
- package/docs/examples/messaging/get-provider.md +2 -0
- package/docs/examples/messaging/get-subscriber.md +3 -0
- package/docs/examples/messaging/get-topic.md +2 -0
- package/docs/examples/messaging/list-message-logs.md +2 -0
- package/docs/examples/messaging/list-messages.md +1 -0
- package/docs/examples/messaging/list-provider-logs.md +2 -0
- package/docs/examples/messaging/list-providers.md +1 -0
- package/docs/examples/messaging/list-subscriber-logs.md +2 -0
- package/docs/examples/messaging/list-subscribers.md +2 -0
- package/docs/examples/messaging/list-targets.md +2 -0
- package/docs/examples/messaging/list-topic-logs.md +2 -0
- package/docs/examples/messaging/list-topics.md +1 -0
- package/docs/examples/messaging/update-apns-provider.md +2 -0
- package/docs/examples/messaging/update-email.md +2 -0
- package/docs/examples/messaging/update-fcm-provider.md +2 -0
- package/docs/examples/messaging/update-mailgun-provider.md +2 -0
- package/docs/examples/messaging/update-msg-91-provider.md +2 -0
- package/docs/examples/messaging/update-push.md +2 -0
- package/docs/examples/messaging/update-resend-provider.md +2 -0
- package/docs/examples/messaging/update-sendgrid-provider.md +2 -0
- package/docs/examples/messaging/update-sms.md +2 -0
- package/docs/examples/messaging/update-smtp-provider.md +2 -0
- package/docs/examples/messaging/update-telesign-provider.md +2 -0
- package/docs/examples/messaging/update-textmagic-provider.md +2 -0
- package/docs/examples/messaging/update-topic.md +2 -0
- package/docs/examples/messaging/update-twilio-provider.md +2 -0
- package/docs/examples/messaging/update-vonage-provider.md +2 -0
- package/docs/examples/migrations/create-appwrite-migration.md +5 -0
- package/docs/examples/migrations/create-csv-export.md +3 -0
- package/docs/examples/migrations/create-csv-import.md +4 -0
- package/docs/examples/migrations/create-firebase-migration.md +3 -0
- package/docs/examples/migrations/create-n-host-migration.md +8 -0
- package/docs/examples/migrations/create-supabase-migration.md +7 -0
- package/docs/examples/migrations/delete.md +2 -0
- package/docs/examples/migrations/get-appwrite-report.md +5 -0
- package/docs/examples/migrations/get-firebase-report.md +3 -0
- package/docs/examples/migrations/get-n-host-report.md +8 -0
- package/docs/examples/migrations/get-supabase-report.md +7 -0
- package/docs/examples/migrations/get.md +2 -0
- package/docs/examples/migrations/list.md +1 -0
- package/docs/examples/migrations/retry.md +2 -0
- package/docs/examples/project/create-variable.md +3 -0
- package/docs/examples/project/delete-variable.md +2 -0
- package/docs/examples/project/get-usage.md +3 -0
- package/docs/examples/project/get-variable.md +2 -0
- package/docs/examples/project/list-variables.md +1 -0
- package/docs/examples/project/update-variable.md +3 -0
- package/docs/examples/projects/create-dev-key.md +4 -0
- package/docs/examples/projects/create-jwt.md +3 -0
- package/docs/examples/projects/create-key.md +4 -0
- package/docs/examples/projects/create-platform.md +4 -0
- package/docs/examples/projects/create-smtp-test.md +6 -0
- package/docs/examples/projects/create-webhook.md +6 -0
- package/docs/examples/projects/create.md +4 -0
- package/docs/examples/projects/delete-dev-key.md +3 -0
- package/docs/examples/projects/delete-email-template.md +4 -0
- package/docs/examples/projects/delete-key.md +3 -0
- package/docs/examples/projects/delete-platform.md +3 -0
- package/docs/examples/projects/delete-sms-template.md +4 -0
- package/docs/examples/projects/delete-webhook.md +3 -0
- package/docs/examples/projects/delete.md +2 -0
- package/docs/examples/projects/get-dev-key.md +3 -0
- package/docs/examples/projects/get-email-template.md +4 -0
- package/docs/examples/projects/get-key.md +3 -0
- package/docs/examples/projects/get-platform.md +3 -0
- package/docs/examples/projects/get-sms-template.md +4 -0
- package/docs/examples/projects/get-webhook.md +3 -0
- package/docs/examples/projects/get.md +2 -0
- package/docs/examples/projects/list-dev-keys.md +2 -0
- package/docs/examples/projects/list-keys.md +2 -0
- package/docs/examples/projects/list-platforms.md +2 -0
- package/docs/examples/projects/list-webhooks.md +2 -0
- package/docs/examples/projects/list.md +1 -0
- package/docs/examples/projects/update-api-status-all.md +3 -0
- package/docs/examples/projects/update-api-status.md +4 -0
- package/docs/examples/projects/update-auth-duration.md +3 -0
- package/docs/examples/projects/update-auth-limit.md +3 -0
- package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
- package/docs/examples/projects/update-auth-password-history.md +3 -0
- package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
- package/docs/examples/projects/update-auth-status.md +4 -0
- package/docs/examples/projects/update-dev-key.md +5 -0
- package/docs/examples/projects/update-email-template.md +6 -0
- package/docs/examples/projects/update-key.md +5 -0
- package/docs/examples/projects/update-memberships-privacy.md +5 -0
- package/docs/examples/projects/update-mock-numbers.md +3 -0
- package/docs/examples/projects/update-o-auth-2.md +3 -0
- package/docs/examples/projects/update-personal-data-check.md +3 -0
- package/docs/examples/projects/update-platform.md +4 -0
- package/docs/examples/projects/update-service-status-all.md +3 -0
- package/docs/examples/projects/update-service-status.md +4 -0
- package/docs/examples/projects/update-session-alerts.md +3 -0
- package/docs/examples/projects/update-session-invalidation.md +3 -0
- package/docs/examples/projects/update-sms-template.md +5 -0
- package/docs/examples/projects/update-smtp.md +3 -0
- package/docs/examples/projects/update-team.md +3 -0
- package/docs/examples/projects/update-webhook-signature.md +3 -0
- package/docs/examples/projects/update-webhook.md +7 -0
- package/docs/examples/projects/update.md +3 -0
- package/docs/examples/proxy/create-api-rule.md +2 -0
- package/docs/examples/proxy/create-function-rule.md +3 -0
- package/docs/examples/proxy/create-redirect-rule.md +6 -0
- package/docs/examples/proxy/create-site-rule.md +3 -0
- package/docs/examples/proxy/delete-rule.md +2 -0
- package/docs/examples/proxy/get-rule.md +2 -0
- package/docs/examples/proxy/list-rules.md +1 -0
- package/docs/examples/proxy/update-rule-verification.md +2 -0
- package/docs/examples/sites/create-deployment.md +4 -0
- package/docs/examples/sites/create-duplicate-deployment.md +3 -0
- package/docs/examples/sites/create-template-deployment.md +7 -0
- package/docs/examples/sites/create-variable.md +4 -0
- package/docs/examples/sites/create-vcs-deployment.md +4 -0
- package/docs/examples/sites/create.md +5 -0
- package/docs/examples/sites/delete-deployment.md +3 -0
- package/docs/examples/sites/delete-log.md +3 -0
- package/docs/examples/sites/delete-variable.md +3 -0
- package/docs/examples/sites/delete.md +2 -0
- package/docs/examples/sites/get-deployment-download.md +3 -0
- package/docs/examples/sites/get-deployment.md +3 -0
- package/docs/examples/sites/get-log.md +3 -0
- package/docs/examples/sites/get-template.md +2 -0
- package/docs/examples/sites/get-usage.md +2 -0
- package/docs/examples/sites/get-variable.md +3 -0
- package/docs/examples/sites/get.md +2 -0
- package/docs/examples/sites/list-deployments.md +2 -0
- package/docs/examples/sites/list-frameworks.md +1 -0
- package/docs/examples/sites/list-logs.md +2 -0
- package/docs/examples/sites/list-specifications.md +1 -0
- package/docs/examples/sites/list-templates.md +1 -0
- package/docs/examples/sites/list-usage.md +1 -0
- package/docs/examples/sites/list-variables.md +2 -0
- package/docs/examples/sites/list.md +1 -0
- package/docs/examples/sites/update-deployment-status.md +3 -0
- package/docs/examples/sites/update-site-deployment.md +3 -0
- package/docs/examples/sites/update-variable.md +4 -0
- package/docs/examples/sites/update.md +4 -0
- package/docs/examples/storage/create-bucket.md +3 -0
- package/docs/examples/storage/create-file.md +4 -0
- package/docs/examples/storage/delete-bucket.md +2 -0
- package/docs/examples/storage/delete-file.md +3 -0
- package/docs/examples/storage/get-bucket-usage.md +2 -0
- package/docs/examples/storage/get-bucket.md +2 -0
- package/docs/examples/storage/get-file-download.md +3 -0
- package/docs/examples/storage/get-file-preview.md +3 -0
- package/docs/examples/storage/get-file-view.md +3 -0
- package/docs/examples/storage/get-file.md +3 -0
- package/docs/examples/storage/get-usage.md +1 -0
- package/docs/examples/storage/list-buckets.md +1 -0
- package/docs/examples/storage/list-files.md +2 -0
- package/docs/examples/storage/update-bucket.md +3 -0
- package/docs/examples/storage/update-file.md +3 -0
- package/docs/examples/tablesdb/create-boolean-column.md +5 -0
- package/docs/examples/tablesdb/create-datetime-column.md +5 -0
- package/docs/examples/tablesdb/create-email-column.md +5 -0
- package/docs/examples/tablesdb/create-enum-column.md +6 -0
- package/docs/examples/tablesdb/create-float-column.md +5 -0
- package/docs/examples/tablesdb/create-index.md +6 -0
- package/docs/examples/tablesdb/create-integer-column.md +5 -0
- package/docs/examples/tablesdb/create-ip-column.md +5 -0
- package/docs/examples/tablesdb/create-line-column.md +5 -0
- package/docs/examples/tablesdb/create-operations.md +2 -0
- package/docs/examples/tablesdb/create-point-column.md +5 -0
- package/docs/examples/tablesdb/create-polygon-column.md +5 -0
- package/docs/examples/tablesdb/create-relationship-column.md +5 -0
- package/docs/examples/tablesdb/create-row.md +5 -0
- package/docs/examples/tablesdb/create-rows.md +4 -0
- package/docs/examples/tablesdb/create-string-column.md +6 -0
- package/docs/examples/tablesdb/create-table.md +4 -0
- package/docs/examples/tablesdb/create-transaction.md +1 -0
- package/docs/examples/tablesdb/create-url-column.md +5 -0
- package/docs/examples/tablesdb/create.md +3 -0
- package/docs/examples/tablesdb/decrement-row-column.md +5 -0
- package/docs/examples/tablesdb/delete-column.md +4 -0
- package/docs/examples/tablesdb/delete-index.md +4 -0
- package/docs/examples/tablesdb/delete-row.md +4 -0
- package/docs/examples/tablesdb/delete-rows.md +3 -0
- package/docs/examples/tablesdb/delete-table.md +3 -0
- package/docs/examples/tablesdb/delete-transaction.md +2 -0
- package/docs/examples/tablesdb/delete.md +2 -0
- package/docs/examples/tablesdb/get-column.md +4 -0
- package/docs/examples/tablesdb/get-index.md +4 -0
- package/docs/examples/tablesdb/get-row.md +4 -0
- package/docs/examples/tablesdb/get-table-usage.md +3 -0
- package/docs/examples/tablesdb/get-table.md +3 -0
- package/docs/examples/tablesdb/get-transaction.md +2 -0
- package/docs/examples/tablesdb/get-usage.md +2 -0
- package/docs/examples/tablesdb/get.md +2 -0
- package/docs/examples/tablesdb/increment-row-column.md +5 -0
- package/docs/examples/tablesdb/list-columns.md +3 -0
- package/docs/examples/tablesdb/list-indexes.md +3 -0
- package/docs/examples/tablesdb/list-row-logs.md +4 -0
- package/docs/examples/tablesdb/list-rows.md +3 -0
- package/docs/examples/tablesdb/list-table-logs.md +3 -0
- package/docs/examples/tablesdb/list-tables.md +2 -0
- package/docs/examples/tablesdb/list-transactions.md +1 -0
- package/docs/examples/tablesdb/list-usage.md +1 -0
- package/docs/examples/tablesdb/list.md +1 -0
- package/docs/examples/tablesdb/update-boolean-column.md +6 -0
- package/docs/examples/tablesdb/update-datetime-column.md +6 -0
- package/docs/examples/tablesdb/update-email-column.md +6 -0
- package/docs/examples/tablesdb/update-enum-column.md +7 -0
- package/docs/examples/tablesdb/update-float-column.md +6 -0
- package/docs/examples/tablesdb/update-integer-column.md +6 -0
- package/docs/examples/tablesdb/update-ip-column.md +6 -0
- package/docs/examples/tablesdb/update-line-column.md +5 -0
- package/docs/examples/tablesdb/update-point-column.md +5 -0
- package/docs/examples/tablesdb/update-polygon-column.md +5 -0
- package/docs/examples/tablesdb/update-relationship-column.md +4 -0
- package/docs/examples/tablesdb/update-row.md +4 -0
- package/docs/examples/tablesdb/update-rows.md +3 -0
- package/docs/examples/tablesdb/update-string-column.md +6 -0
- package/docs/examples/tablesdb/update-table.md +4 -0
- package/docs/examples/tablesdb/update-transaction.md +2 -0
- package/docs/examples/tablesdb/update-url-column.md +6 -0
- package/docs/examples/tablesdb/update.md +3 -0
- package/docs/examples/tablesdb/upsert-row.md +4 -0
- package/docs/examples/tablesdb/upsert-rows.md +4 -0
- package/docs/examples/teams/create-membership.md +3 -0
- package/docs/examples/teams/create.md +3 -0
- package/docs/examples/teams/delete-membership.md +3 -0
- package/docs/examples/teams/delete.md +2 -0
- package/docs/examples/teams/get-membership.md +3 -0
- package/docs/examples/teams/get-prefs.md +2 -0
- package/docs/examples/teams/get.md +2 -0
- package/docs/examples/teams/list-logs.md +2 -0
- package/docs/examples/teams/list-memberships.md +2 -0
- package/docs/examples/teams/list.md +1 -0
- package/docs/examples/teams/update-membership-status.md +5 -0
- package/docs/examples/teams/update-membership.md +4 -0
- package/docs/examples/teams/update-name.md +3 -0
- package/docs/examples/teams/update-prefs.md +3 -0
- package/docs/examples/tokens/create-file-token.md +3 -0
- package/docs/examples/tokens/delete.md +2 -0
- package/docs/examples/tokens/get.md +2 -0
- package/docs/examples/tokens/list.md +3 -0
- package/docs/examples/tokens/update.md +2 -0
- package/docs/examples/users/create-argon-2-user.md +4 -0
- package/docs/examples/users/create-bcrypt-user.md +4 -0
- package/docs/examples/users/create-jwt.md +2 -0
- package/docs/examples/users/create-md-5-user.md +4 -0
- package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
- package/docs/examples/users/create-ph-pass-user.md +4 -0
- package/docs/examples/users/create-scrypt-modified-user.md +7 -0
- package/docs/examples/users/create-scrypt-user.md +9 -0
- package/docs/examples/users/create-session.md +2 -0
- package/docs/examples/users/create-sha-user.md +4 -0
- package/docs/examples/users/create-target.md +5 -0
- package/docs/examples/users/create-token.md +2 -0
- package/docs/examples/users/create.md +2 -0
- package/docs/examples/users/delete-identity.md +2 -0
- package/docs/examples/users/delete-mfa-authenticator.md +3 -0
- package/docs/examples/users/delete-session.md +3 -0
- package/docs/examples/users/delete-sessions.md +2 -0
- package/docs/examples/users/delete-target.md +3 -0
- package/docs/examples/users/delete.md +2 -0
- package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
- package/docs/examples/users/get-prefs.md +2 -0
- package/docs/examples/users/get-target.md +3 -0
- package/docs/examples/users/get-usage.md +1 -0
- package/docs/examples/users/get.md +2 -0
- package/docs/examples/users/list-identities.md +1 -0
- package/docs/examples/users/list-logs.md +2 -0
- package/docs/examples/users/list-memberships.md +2 -0
- package/docs/examples/users/list-mfa-factors.md +2 -0
- package/docs/examples/users/list-sessions.md +2 -0
- package/docs/examples/users/list-targets.md +2 -0
- package/docs/examples/users/list.md +1 -0
- package/docs/examples/users/update-email-verification.md +3 -0
- package/docs/examples/users/update-email.md +3 -0
- package/docs/examples/users/update-labels.md +3 -0
- package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
- package/docs/examples/users/update-mfa.md +3 -0
- package/docs/examples/users/update-name.md +3 -0
- package/docs/examples/users/update-password.md +3 -0
- package/docs/examples/users/update-phone-verification.md +3 -0
- package/docs/examples/users/update-phone.md +3 -0
- package/docs/examples/users/update-prefs.md +3 -0
- package/docs/examples/users/update-status.md +3 -0
- package/docs/examples/users/update-target.md +3 -0
- package/docs/examples/vcs/create-repository-detection.md +4 -0
- package/docs/examples/vcs/create-repository.md +4 -0
- package/docs/examples/vcs/delete-installation.md +2 -0
- package/docs/examples/vcs/get-installation.md +2 -0
- package/docs/examples/vcs/get-repository-contents.md +3 -0
- package/docs/examples/vcs/get-repository.md +3 -0
- package/docs/examples/vcs/list-installations.md +1 -0
- package/docs/examples/vcs/list-repositories.md +3 -0
- package/docs/examples/vcs/list-repository-branches.md +3 -0
- package/docs/examples/vcs/update-external-deployments.md +4 -0
- package/index.ts +25 -165
- package/install.ps1 +2 -2
- package/install.sh +1 -1
- package/lib/client.ts +14 -6
- package/lib/commands/config.ts +494 -0
- package/lib/commands/db.ts +324 -0
- package/lib/commands/errors.ts +93 -0
- package/lib/commands/init.ts +25 -14
- package/lib/commands/pull.ts +683 -420
- package/lib/commands/push.ts +1677 -2404
- package/lib/commands/run.ts +1 -1
- package/lib/commands/schema.ts +122 -0
- package/lib/commands/services/account.ts +200 -385
- package/lib/commands/services/console.ts +13 -34
- package/lib/commands/services/databases.ts +298 -1215
- package/lib/commands/services/functions.ts +115 -434
- package/lib/commands/services/graphql.ts +5 -2
- package/lib/commands/services/health.ts +87 -149
- package/lib/commands/services/locale.ts +36 -33
- package/lib/commands/services/messaging.ts +180 -999
- package/lib/commands/services/migrations.ts +54 -226
- package/lib/commands/services/project.ts +19 -23
- package/lib/commands/services/projects.ts +182 -714
- package/lib/commands/services/proxy.ts +30 -58
- package/lib/commands/services/sites.ts +107 -379
- package/lib/commands/services/storage.ts +93 -302
- package/lib/commands/services/tables-db.ts +1150 -0
- package/lib/commands/services/teams.ts +48 -110
- package/lib/commands/services/tokens.ts +16 -28
- package/lib/commands/services/users.ts +133 -403
- package/lib/commands/services/vcs.ts +48 -151
- package/lib/commands/types.ts +1 -1
- package/lib/commands/update.ts +13 -22
- package/lib/commands/utils/attributes.ts +719 -0
- package/lib/commands/utils/change-approval.ts +186 -0
- package/lib/commands/utils/database-sync.ts +180 -0
- package/lib/commands/utils/deployment.ts +184 -0
- package/lib/commands/utils/error-formatter.ts +417 -0
- package/lib/commands/utils/pools.ts +355 -0
- package/lib/config.ts +46 -82
- package/lib/constants.ts +22 -0
- package/lib/emulation/docker.ts +101 -87
- package/lib/parser.ts +16 -11
- package/lib/questions.ts +20 -21
- package/lib/sdks.ts +15 -11
- package/lib/types.ts +0 -229
- package/lib/utils.ts +45 -4
- package/package.json +12 -11
- package/scoop/appwrite.config.json +29 -19
- package/.github/workflows/build-verify.yml +0 -71
- package/bun.lock +0 -625
- package/dist/lib/commands/services/avatars.d.ts +0 -3
- package/dist/lib/commands/services/avatars.d.ts.map +0 -1
- package/dist/lib/commands/services/avatars.js +0 -118
- package/dist/lib/commands/services/avatars.js.map +0 -1
- package/dist/lib/commands/services/tablesdb.d.ts +0 -3
- package/dist/lib/commands/services/tablesdb.d.ts.map +0 -1
- package/dist/lib/commands/services/tablesdb.js.map +0 -1
- package/dist/scripts/generate-commands.d.ts +0 -2
- package/dist/scripts/generate-commands.d.ts.map +0 -1
- package/dist/scripts/generate-commands.js +0 -398
- package/dist/scripts/generate-commands.js.map +0 -1
- package/lib/commands/services/avatars.ts +0 -400
- package/lib/commands/services/tablesdb.ts +0 -1928
- package/scripts/generate-commands.ts +0 -539
package/lib/emulation/docker.ts
CHANGED
|
@@ -10,7 +10,7 @@ import fs from "fs";
|
|
|
10
10
|
import { log, error, success } from "../parser.js";
|
|
11
11
|
import { openRuntimesVersion, systemTools, Queue } from "./utils.js";
|
|
12
12
|
import { getAllFiles } from "../utils.js";
|
|
13
|
-
import type {
|
|
13
|
+
import type { FunctionType } from "../commands/config.js";
|
|
14
14
|
|
|
15
15
|
export async function dockerStop(id: string): Promise<void> {
|
|
16
16
|
const stopProcess = childProcess.spawn("docker", ["rm", "--force", id], {
|
|
@@ -26,7 +26,7 @@ export async function dockerStop(id: string): Promise<void> {
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export async function dockerPull(func:
|
|
29
|
+
export async function dockerPull(func: FunctionType): Promise<void> {
|
|
30
30
|
const runtimeChunks = func.runtime.split("-");
|
|
31
31
|
const runtimeVersion = runtimeChunks.pop();
|
|
32
32
|
const runtimeName = runtimeChunks.join("-");
|
|
@@ -48,7 +48,7 @@ export async function dockerPull(func: FunctionConfig): Promise<void> {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export async function dockerBuild(
|
|
51
|
-
func:
|
|
51
|
+
func: FunctionType,
|
|
52
52
|
variables: Record<string, string>,
|
|
53
53
|
): Promise<void> {
|
|
54
54
|
const runtimeChunks = func.runtime.split("-");
|
|
@@ -78,111 +78,125 @@ export async function dockerBuild(
|
|
|
78
78
|
fs.mkdirSync(tmpBuildPath, { recursive: true });
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
let killInterval: ReturnType<typeof setInterval> | undefined;
|
|
82
|
+
|
|
83
|
+
try {
|
|
84
|
+
for (const f of files) {
|
|
85
|
+
const filePath = path.join(tmpBuildPath, f);
|
|
86
|
+
const fileDir = path.dirname(filePath);
|
|
87
|
+
if (!fs.existsSync(fileDir)) {
|
|
88
|
+
fs.mkdirSync(fileDir, { recursive: true });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const sourcePath = path.join(functionDir, f);
|
|
92
|
+
fs.copyFileSync(sourcePath, filePath);
|
|
86
93
|
}
|
|
87
94
|
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
const params: string[] = ["run"];
|
|
96
|
+
params.push("--name", id);
|
|
97
|
+
params.push("-v", `${tmpBuildPath}/:/mnt/code:rw`);
|
|
98
|
+
params.push("-e", "OPEN_RUNTIMES_ENV=development");
|
|
99
|
+
params.push("-e", "OPEN_RUNTIMES_SECRET=");
|
|
100
|
+
params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
|
|
91
101
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
params.push("-e", "OPEN_RUNTIMES_ENV=development");
|
|
96
|
-
params.push("-e", "OPEN_RUNTIMES_SECRET=");
|
|
97
|
-
params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
|
|
102
|
+
for (const k of Object.keys(variables)) {
|
|
103
|
+
params.push("-e", `${k}=${variables[k]}`);
|
|
104
|
+
}
|
|
98
105
|
|
|
99
|
-
|
|
100
|
-
params.push("-e", `${k}=${variables[k]}`);
|
|
101
|
-
}
|
|
106
|
+
params.push(imageName, "sh", "-c", `helpers/build.sh "${func.commands}"`);
|
|
102
107
|
|
|
103
|
-
|
|
108
|
+
const buildProcess = childProcess.spawn("docker", params, {
|
|
109
|
+
stdio: "pipe",
|
|
110
|
+
cwd: functionDir,
|
|
111
|
+
env: {
|
|
112
|
+
...process.env,
|
|
113
|
+
DOCKER_CLI_HINTS: "false",
|
|
114
|
+
},
|
|
115
|
+
});
|
|
104
116
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
env: {
|
|
109
|
-
...process.env,
|
|
110
|
-
DOCKER_CLI_HINTS: "false",
|
|
111
|
-
},
|
|
112
|
-
});
|
|
117
|
+
buildProcess.stdout.on("data", (data) => {
|
|
118
|
+
process.stdout.write(chalk.blackBright(`${data}\n`));
|
|
119
|
+
});
|
|
113
120
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
121
|
+
buildProcess.stderr.on("data", (data) => {
|
|
122
|
+
process.stderr.write(chalk.blackBright(`${data}\n`));
|
|
123
|
+
});
|
|
117
124
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
125
|
+
killInterval = setInterval(() => {
|
|
126
|
+
if (!Queue.isEmpty()) {
|
|
127
|
+
log("Cancelling build ...");
|
|
128
|
+
buildProcess.stdout.destroy();
|
|
129
|
+
buildProcess.stdin.destroy();
|
|
130
|
+
buildProcess.stderr.destroy();
|
|
131
|
+
buildProcess.kill("SIGKILL");
|
|
132
|
+
clearInterval(killInterval);
|
|
133
|
+
}
|
|
134
|
+
}, 100);
|
|
121
135
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
buildProcess.stdout.destroy();
|
|
126
|
-
buildProcess.stdin.destroy();
|
|
127
|
-
buildProcess.stderr.destroy();
|
|
128
|
-
buildProcess.kill("SIGKILL");
|
|
129
|
-
clearInterval(killInterval);
|
|
130
|
-
}
|
|
131
|
-
}, 100);
|
|
136
|
+
await new Promise<void>((res) => {
|
|
137
|
+
buildProcess.on("close", res);
|
|
138
|
+
});
|
|
132
139
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
});
|
|
140
|
+
clearInterval(killInterval);
|
|
141
|
+
killInterval = undefined;
|
|
136
142
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
if (!Queue.isEmpty()) {
|
|
144
|
+
await dockerStop(id);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
141
147
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
const copyPath = path.join(
|
|
149
|
+
localConfig.getDirname(),
|
|
150
|
+
func.path,
|
|
151
|
+
".appwrite",
|
|
152
|
+
"build.tar.gz",
|
|
153
|
+
);
|
|
154
|
+
const copyDir = path.dirname(copyPath);
|
|
155
|
+
if (!fs.existsSync(copyDir)) {
|
|
156
|
+
fs.mkdirSync(copyDir, { recursive: true });
|
|
157
|
+
}
|
|
152
158
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
const copyProcess = childProcess.spawn(
|
|
160
|
+
"docker",
|
|
161
|
+
["cp", `${id}:/mnt/code/code.tar.gz`, copyPath],
|
|
162
|
+
{
|
|
163
|
+
stdio: "pipe",
|
|
164
|
+
cwd: functionDir,
|
|
165
|
+
env: {
|
|
166
|
+
...process.env,
|
|
167
|
+
DOCKER_CLI_HINTS: "false",
|
|
168
|
+
},
|
|
162
169
|
},
|
|
163
|
-
|
|
164
|
-
);
|
|
170
|
+
);
|
|
165
171
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
172
|
+
await new Promise<void>((res) => {
|
|
173
|
+
copyProcess.on("close", res);
|
|
174
|
+
});
|
|
169
175
|
|
|
170
|
-
|
|
176
|
+
await dockerStop(id);
|
|
177
|
+
} finally {
|
|
178
|
+
// Clean up interval if still running
|
|
179
|
+
if (killInterval !== undefined) {
|
|
180
|
+
clearInterval(killInterval);
|
|
181
|
+
}
|
|
171
182
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
fs.
|
|
179
|
-
|
|
183
|
+
// Clean up temp files
|
|
184
|
+
const tempPath = path.join(
|
|
185
|
+
localConfig.getDirname(),
|
|
186
|
+
func.path,
|
|
187
|
+
"code.tar.gz",
|
|
188
|
+
);
|
|
189
|
+
if (fs.existsSync(tempPath)) {
|
|
190
|
+
fs.rmSync(tempPath, { force: true });
|
|
191
|
+
}
|
|
180
192
|
|
|
181
|
-
|
|
193
|
+
// Always clean up tmpBuildPath
|
|
194
|
+
fs.rmSync(tmpBuildPath, { recursive: true, force: true });
|
|
195
|
+
}
|
|
182
196
|
}
|
|
183
197
|
|
|
184
198
|
export async function dockerStart(
|
|
185
|
-
func:
|
|
199
|
+
func: FunctionType,
|
|
186
200
|
variables: Record<string, string>,
|
|
187
201
|
port: number,
|
|
188
202
|
): Promise<void> {
|
package/lib/parser.ts
CHANGED
|
@@ -8,6 +8,12 @@ import os from "os";
|
|
|
8
8
|
import { Client } from "@appwrite.io/console";
|
|
9
9
|
import { isCloud } from "./utils.js";
|
|
10
10
|
import type { CliConfig } from "./types.js";
|
|
11
|
+
import {
|
|
12
|
+
SDK_VERSION,
|
|
13
|
+
SDK_TITLE,
|
|
14
|
+
SDK_LOGO,
|
|
15
|
+
EXECUTABLE_NAME,
|
|
16
|
+
} from "./constants.js";
|
|
11
17
|
|
|
12
18
|
const cliConfig: CliConfig = {
|
|
13
19
|
verbose: false,
|
|
@@ -128,8 +134,8 @@ export const parseError = (err: Error): void => {
|
|
|
128
134
|
// Silently fail
|
|
129
135
|
}
|
|
130
136
|
|
|
131
|
-
const version =
|
|
132
|
-
const stepsToReproduce = `Running
|
|
137
|
+
const version = SDK_VERSION;
|
|
138
|
+
const stepsToReproduce = `Running \`${EXECUTABLE_NAME} ${(cliConfig.reportData as any).data.args.join(" ")}\``;
|
|
133
139
|
const yourEnvironment = `CLI version: ${version}\nOperation System: ${os.type()}\nAppwrite version: ${appwriteVersion}\nIs Cloud: ${isCloud()}`;
|
|
134
140
|
|
|
135
141
|
const stack = "```\n" + (err.stack || err.message) + "\n```";
|
|
@@ -226,8 +232,7 @@ export const error = (message?: string): void => {
|
|
|
226
232
|
console.error(`${chalk.red.bold("✗ Error:")} ${chalk.red(message ?? "")}`);
|
|
227
233
|
};
|
|
228
234
|
|
|
229
|
-
export const logo =
|
|
230
|
-
"\n _ _ _ ___ __ _____\n \/_\\ _ __ _ ____ ___ __(_) |_ ___ \/ __\\ \/ \/ \\_ \\\n \/\/_\\\\| '_ \\| '_ \\ \\ \/\\ \/ \/ '__| | __\/ _ \\ \/ \/ \/ \/ \/ \/\\\/\n \/ _ \\ |_) | |_) \\ V V \/| | | | || __\/ \/ \/___\/ \/___\/\\\/ \/_\n \\_\/ \\_\/ .__\/| .__\/ \\_\/\\_\/ |_| |_|\\__\\___| \\____\/\\____\/\\____\/\n |_| |_|\n\n";
|
|
235
|
+
export const logo = SDK_LOGO;
|
|
231
236
|
|
|
232
237
|
export const commandDescriptions: Record<string, string> = {
|
|
233
238
|
account: `The account command allows you to authenticate and manage a user account.`,
|
|
@@ -235,25 +240,25 @@ export const commandDescriptions: Record<string, string> = {
|
|
|
235
240
|
avatars: `The avatars command aims to help you complete everyday tasks related to your app image, icons, and avatars.`,
|
|
236
241
|
databases: `(Legacy) The databases command allows you to create structured collections of documents and query and filter lists of documents.`,
|
|
237
242
|
"tables-db": `The tables-db command allows you to create structured tables of columns and query and filter lists of rows.`,
|
|
238
|
-
init: `The init command provides a convenient wrapper for creating and initializing projects, functions, collections, buckets, teams, and messaging-topics in
|
|
243
|
+
init: `The init command provides a convenient wrapper for creating and initializing projects, functions, collections, buckets, teams, and messaging-topics in ${SDK_TITLE}.`,
|
|
239
244
|
push: `The push command provides a convenient wrapper for pushing your functions, collections, buckets, teams, and messaging-topics.`,
|
|
240
245
|
run: `The run command allows you to run the project locally to allow easy development and quick debugging.`,
|
|
241
246
|
functions: `The functions command allows you to view, create, and manage your Cloud Functions.`,
|
|
242
|
-
health: `The health command allows you to both validate and monitor your
|
|
243
|
-
pull: `The pull command helps you pull your
|
|
247
|
+
health: `The health command allows you to both validate and monitor your ${SDK_TITLE} server's health.`,
|
|
248
|
+
pull: `The pull command helps you pull your ${SDK_TITLE} project, functions, collections, buckets, teams, and messaging-topics`,
|
|
244
249
|
locale: `The locale command allows you to customize your app based on your users' location.`,
|
|
245
250
|
sites: `The sites command allows you to view, create and manage your Appwrite Sites.`,
|
|
246
251
|
storage: `The storage command allows you to manage your project files.`,
|
|
247
252
|
teams: `The teams command allows you to group users of your project to enable them to share read and write access to your project resources.`,
|
|
248
|
-
update: `The update command allows you to update the
|
|
253
|
+
update: `The update command allows you to update the ${SDK_TITLE} CLI to the latest version.`,
|
|
249
254
|
users: `The users command allows you to manage your project users.`,
|
|
250
255
|
projects: `The projects command allows you to manage your projects, add platforms, manage API keys, Dev Keys etc.`,
|
|
251
256
|
project: `The project command allows you to manage project related resources like usage, variables, etc.`,
|
|
252
257
|
client: `The client command allows you to configure your CLI`,
|
|
253
258
|
login: `The login command allows you to authenticate and manage a user account.`,
|
|
254
|
-
logout: `The logout command allows you to log out of your
|
|
255
|
-
whoami: `The
|
|
256
|
-
register: `Outputs the link to create an
|
|
259
|
+
logout: `The logout command allows you to log out of your ${SDK_TITLE} account.`,
|
|
260
|
+
whoami: `The whoami command gives information about the currently logged-in user.`,
|
|
261
|
+
register: `Outputs the link to create an ${SDK_TITLE} account.`,
|
|
257
262
|
console: `The console command gives you access to the APIs used by the Appwrite Console.`,
|
|
258
263
|
messaging: `The messaging command allows you to manage topics and targets and send messages.`,
|
|
259
264
|
migrations: `The migrations command allows you to migrate data between services.`,
|
package/lib/questions.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
getSitesService,
|
|
14
14
|
getDatabasesService,
|
|
15
15
|
} from "./services.js";
|
|
16
|
+
import { SDK_TITLE, DEFAULT_ENDPOINT, EXECUTABLE_NAME } from "./constants.js";
|
|
16
17
|
|
|
17
18
|
interface Answers {
|
|
18
19
|
override?: boolean;
|
|
@@ -48,9 +49,9 @@ const whenOverride = (answers: Answers): boolean =>
|
|
|
48
49
|
answers.override === undefined ? true : answers.override;
|
|
49
50
|
|
|
50
51
|
const getIgnores = (runtime: string): string[] => {
|
|
51
|
-
const
|
|
52
|
+
const language = runtime.split("-").slice(0, -1).join("-");
|
|
52
53
|
|
|
53
|
-
switch (
|
|
54
|
+
switch (language) {
|
|
54
55
|
case "cpp":
|
|
55
56
|
return ["build", "CMakeFiles", "CMakeCaches.txt"];
|
|
56
57
|
case "dart":
|
|
@@ -82,9 +83,9 @@ const getIgnores = (runtime: string): string[] => {
|
|
|
82
83
|
};
|
|
83
84
|
|
|
84
85
|
const getEntrypoint = (runtime: string): string | undefined => {
|
|
85
|
-
const
|
|
86
|
+
const language = runtime.split("-").slice(0, -1).join("-");
|
|
86
87
|
|
|
87
|
-
switch (
|
|
88
|
+
switch (language) {
|
|
88
89
|
case "dart":
|
|
89
90
|
return "lib/main.dart";
|
|
90
91
|
case "deno":
|
|
@@ -120,9 +121,9 @@ const getEntrypoint = (runtime: string): string | undefined => {
|
|
|
120
121
|
};
|
|
121
122
|
|
|
122
123
|
const getInstallCommand = (runtime: string): string | undefined => {
|
|
123
|
-
const
|
|
124
|
+
const language = runtime.split("-").slice(0, -1).join("-");
|
|
124
125
|
|
|
125
|
-
switch (
|
|
126
|
+
switch (language) {
|
|
126
127
|
case "dart":
|
|
127
128
|
return "dart pub get";
|
|
128
129
|
case "deno":
|
|
@@ -156,7 +157,7 @@ export const questionsInitProject: Question[] = [
|
|
|
156
157
|
{
|
|
157
158
|
type: "confirm",
|
|
158
159
|
name: "override",
|
|
159
|
-
message: `An
|
|
160
|
+
message: `An ${SDK_TITLE} project ( ${localConfig.getProject()["projectId"]} ) is already associated with the current directory. Would you like to override it?`,
|
|
160
161
|
when() {
|
|
161
162
|
return Object.keys(localConfig.getProject()).length !== 0;
|
|
162
163
|
},
|
|
@@ -233,7 +234,7 @@ export const questionsInitProject: Question[] = [
|
|
|
233
234
|
{
|
|
234
235
|
type: "search-list",
|
|
235
236
|
name: "project",
|
|
236
|
-
message:
|
|
237
|
+
message: `Choose your ${SDK_TITLE} project.`,
|
|
237
238
|
choices: async (answers: Answers) => {
|
|
238
239
|
const queries = [
|
|
239
240
|
JSON.stringify({
|
|
@@ -273,11 +274,10 @@ export const questionsInitProject: Question[] = [
|
|
|
273
274
|
{
|
|
274
275
|
type: "list",
|
|
275
276
|
name: "region",
|
|
276
|
-
message:
|
|
277
|
+
message: `Select your ${SDK_TITLE} Cloud region`,
|
|
277
278
|
choices: async () => {
|
|
278
279
|
let client = await sdkForConsole(true);
|
|
279
|
-
const endpoint =
|
|
280
|
-
globalConfig.getEndpoint() || "https://cloud.appwrite.io/v1";
|
|
280
|
+
const endpoint = globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
|
|
281
281
|
let response = (await client.call(
|
|
282
282
|
"GET",
|
|
283
283
|
new URL(endpoint + "/console/regions"),
|
|
@@ -306,7 +306,7 @@ export const questionsInitProjectAutopull: Question[] = [
|
|
|
306
306
|
{
|
|
307
307
|
type: "confirm",
|
|
308
308
|
name: "autopull",
|
|
309
|
-
message: `Would you like to pull all resources from project you just linked?`,
|
|
309
|
+
message: `Would you like to pull all resources from the project you just linked?`,
|
|
310
310
|
},
|
|
311
311
|
];
|
|
312
312
|
|
|
@@ -348,7 +348,7 @@ export const questionsPullFunctions: Question[] = [
|
|
|
348
348
|
);
|
|
349
349
|
|
|
350
350
|
if (functions.length === 0) {
|
|
351
|
-
throw
|
|
351
|
+
throw `We couldn't find any functions in your ${SDK_TITLE} project`;
|
|
352
352
|
}
|
|
353
353
|
return functions.map((func: any) => {
|
|
354
354
|
return {
|
|
@@ -383,7 +383,7 @@ export const questionsPullSites: Question[] = [
|
|
|
383
383
|
);
|
|
384
384
|
|
|
385
385
|
if (sites.length === 0) {
|
|
386
|
-
throw
|
|
386
|
+
throw `We couldn't find any sites in your ${SDK_TITLE} project`;
|
|
387
387
|
}
|
|
388
388
|
return sites.map((site: any) => {
|
|
389
389
|
return {
|
|
@@ -502,7 +502,7 @@ export const questionsCreateBucket: Question[] = [
|
|
|
502
502
|
export const questionsCreateTeam: Question[] = [
|
|
503
503
|
{
|
|
504
504
|
type: "input",
|
|
505
|
-
name: "
|
|
505
|
+
name: "team",
|
|
506
506
|
message: "What would you like to name your team?",
|
|
507
507
|
default: "My Awesome Team",
|
|
508
508
|
},
|
|
@@ -703,7 +703,7 @@ export const questionsLogin: Question[] = [
|
|
|
703
703
|
{
|
|
704
704
|
type: "list",
|
|
705
705
|
name: "method",
|
|
706
|
-
message: "What you like to do?",
|
|
706
|
+
message: "What would you like to do?",
|
|
707
707
|
choices: [
|
|
708
708
|
{ name: "Login to an account", value: "login" },
|
|
709
709
|
{ name: "Switch to an account", value: "select" },
|
|
@@ -771,7 +771,7 @@ export const questionGetEndpoint: Question[] = [
|
|
|
771
771
|
{
|
|
772
772
|
type: "input",
|
|
773
773
|
name: "endpoint",
|
|
774
|
-
message:
|
|
774
|
+
message: `Enter the endpoint of your ${SDK_TITLE} server`,
|
|
775
775
|
default: "http://localhost/v1",
|
|
776
776
|
async validate(value: string) {
|
|
777
777
|
if (!value) {
|
|
@@ -1014,7 +1014,6 @@ export const questionsGetEntrypoint: Question[] = [
|
|
|
1014
1014
|
type: "input",
|
|
1015
1015
|
name: "entrypoint",
|
|
1016
1016
|
message: "Enter the entrypoint",
|
|
1017
|
-
default: null,
|
|
1018
1017
|
validate(value: string) {
|
|
1019
1018
|
if (!value) {
|
|
1020
1019
|
return "Please enter your entrypoint";
|
|
@@ -1062,11 +1061,11 @@ export const questionsListFactors: Question[] = [
|
|
|
1062
1061
|
value: "totp",
|
|
1063
1062
|
},
|
|
1064
1063
|
{
|
|
1065
|
-
name: `Email (Get a security code at your
|
|
1064
|
+
name: `Email (Get a security code at your ${SDK_TITLE} email address)`,
|
|
1066
1065
|
value: "email",
|
|
1067
1066
|
},
|
|
1068
1067
|
{
|
|
1069
|
-
name: `SMS (Get a security code on your
|
|
1068
|
+
name: `SMS (Get a security code on your ${SDK_TITLE} phone number)`,
|
|
1070
1069
|
value: "phone",
|
|
1071
1070
|
},
|
|
1072
1071
|
{
|
|
@@ -1104,7 +1103,7 @@ export const questionsRunFunctions: Question[] = [
|
|
|
1104
1103
|
let functions = localConfig.getFunctions();
|
|
1105
1104
|
if (functions.length === 0) {
|
|
1106
1105
|
throw new Error(
|
|
1107
|
-
|
|
1106
|
+
`No functions found. Use '${EXECUTABLE_NAME} pull functions' to synchronize existing one, or use '${EXECUTABLE_NAME} init function' to create a new one.`,
|
|
1108
1107
|
);
|
|
1109
1108
|
}
|
|
1110
1109
|
let choices = functions.map((func: any, idx: number) => {
|
package/lib/sdks.ts
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { globalConfig, localConfig } from "./config.js";
|
|
2
2
|
import { Client } from "@appwrite.io/console";
|
|
3
3
|
import os from "os";
|
|
4
|
+
import {
|
|
5
|
+
DEFAULT_ENDPOINT,
|
|
6
|
+
EXECUTABLE_NAME,
|
|
7
|
+
SDK_TITLE,
|
|
8
|
+
SDK_VERSION,
|
|
9
|
+
} from "./constants.js";
|
|
4
10
|
|
|
5
11
|
export const sdkForConsole = async (
|
|
6
12
|
requiresAuth: boolean = true,
|
|
7
13
|
): Promise<Client> => {
|
|
8
14
|
const client = new Client();
|
|
9
|
-
const endpoint = globalConfig.getEndpoint() ||
|
|
15
|
+
const endpoint = globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
|
|
10
16
|
const cookie = globalConfig.getCookie();
|
|
11
17
|
const selfSigned = globalConfig.getSelfSigned();
|
|
12
18
|
|
|
13
19
|
if (requiresAuth && cookie === "") {
|
|
14
20
|
throw new Error(
|
|
15
|
-
|
|
21
|
+
`Session not found. Please run \`${EXECUTABLE_NAME} login\` to create a session`,
|
|
16
22
|
);
|
|
17
23
|
}
|
|
18
24
|
|
|
@@ -20,8 +26,8 @@ export const sdkForConsole = async (
|
|
|
20
26
|
"x-sdk-name": "Command Line",
|
|
21
27
|
"x-sdk-platform": "console",
|
|
22
28
|
"x-sdk-language": "cli",
|
|
23
|
-
"x-sdk-version":
|
|
24
|
-
"user-agent": `AppwriteCLI
|
|
29
|
+
"x-sdk-version": SDK_VERSION,
|
|
30
|
+
"user-agent": `AppwriteCLI/${SDK_VERSION} (${os.type()} ${os.version()}; ${os.arch()})`,
|
|
25
31
|
};
|
|
26
32
|
|
|
27
33
|
client
|
|
@@ -38,9 +44,7 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
38
44
|
const client = new Client();
|
|
39
45
|
|
|
40
46
|
const endpoint =
|
|
41
|
-
localConfig.getEndpoint() ||
|
|
42
|
-
globalConfig.getEndpoint() ||
|
|
43
|
-
"https://cloud.appwrite.io/v1";
|
|
47
|
+
localConfig.getEndpoint() || globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
|
|
44
48
|
|
|
45
49
|
const project = localConfig.getProject().projectId
|
|
46
50
|
? localConfig.getProject().projectId
|
|
@@ -52,7 +56,7 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
52
56
|
|
|
53
57
|
if (!project) {
|
|
54
58
|
throw new Error(
|
|
55
|
-
|
|
59
|
+
`Project is not set. Please run \`${EXECUTABLE_NAME} init project\` to initialize the current directory with an ${SDK_TITLE} project.`,
|
|
56
60
|
);
|
|
57
61
|
}
|
|
58
62
|
|
|
@@ -60,8 +64,8 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
60
64
|
"x-sdk-name": "Command Line",
|
|
61
65
|
"x-sdk-platform": "console",
|
|
62
66
|
"x-sdk-language": "cli",
|
|
63
|
-
"x-sdk-version":
|
|
64
|
-
"user-agent": `AppwriteCLI
|
|
67
|
+
"x-sdk-version": SDK_VERSION,
|
|
68
|
+
"user-agent": `AppwriteCLI/${SDK_VERSION} (${os.type()} ${os.version()}; ${os.arch()})`,
|
|
65
69
|
};
|
|
66
70
|
|
|
67
71
|
client
|
|
@@ -79,6 +83,6 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
throw new Error(
|
|
82
|
-
|
|
86
|
+
`Session not found. Please run \`${EXECUTABLE_NAME} login\` to create a session.`,
|
|
83
87
|
);
|
|
84
88
|
};
|