spindb 0.37.2 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/bin.js +9 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/attach.js +102 -0
- package/dist/cli/commands/attach.js.map +1 -0
- package/dist/cli/commands/backup.js +197 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/backups.js +190 -0
- package/dist/cli/commands/backups.js.map +1 -0
- package/dist/cli/commands/clone.js +119 -0
- package/dist/cli/commands/clone.js.map +1 -0
- package/dist/cli/commands/config.js +276 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/connect.js +559 -0
- package/dist/cli/commands/connect.js.map +1 -0
- package/dist/cli/commands/create.js +952 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/databases.js +485 -0
- package/dist/cli/commands/databases.js.map +1 -0
- package/dist/cli/commands/delete.js +106 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/deps.js +238 -0
- package/dist/cli/commands/deps.js.map +1 -0
- package/dist/cli/commands/detach.js +81 -0
- package/dist/cli/commands/detach.js.map +1 -0
- package/dist/cli/commands/doctor.js +567 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/duckdb.js +207 -0
- package/dist/cli/commands/duckdb.js.map +1 -0
- package/dist/cli/commands/edit.js +524 -0
- package/dist/cli/commands/edit.js.map +1 -0
- package/dist/cli/commands/engines.js +1414 -0
- package/dist/cli/commands/engines.js.map +1 -0
- package/dist/cli/commands/export.js +383 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/info.js +270 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/list.js +215 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/logs.js +81 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/menu/backup-handlers.js +1202 -0
- package/dist/cli/commands/menu/backup-handlers.js.map +1 -0
- package/dist/cli/commands/menu/container-handlers.js +1788 -0
- package/dist/cli/commands/menu/container-handlers.js.map +1 -0
- package/dist/cli/commands/menu/engine-handlers.js +235 -0
- package/dist/cli/commands/menu/engine-handlers.js.map +1 -0
- package/dist/cli/commands/menu/index.js +266 -0
- package/dist/cli/commands/menu/index.js.map +1 -0
- package/dist/cli/commands/menu/settings-handlers.js +320 -0
- package/dist/cli/commands/menu/settings-handlers.js.map +1 -0
- package/dist/cli/commands/menu/shared.js +13 -0
- package/dist/cli/commands/menu/shared.js.map +1 -0
- package/dist/cli/commands/menu/shell-handlers.js +1573 -0
- package/dist/cli/commands/menu/shell-handlers.js.map +1 -0
- package/dist/cli/commands/menu/sql-handlers.js +185 -0
- package/dist/cli/commands/menu/sql-handlers.js.map +1 -0
- package/dist/cli/commands/menu/update-handlers.js +322 -0
- package/dist/cli/commands/menu/update-handlers.js.map +1 -0
- package/dist/cli/commands/menu/validators.js +9 -0
- package/dist/cli/commands/menu/validators.js.map +1 -0
- package/dist/cli/commands/ports.js +166 -0
- package/dist/cli/commands/ports.js.map +1 -0
- package/dist/cli/commands/pull.js +166 -0
- package/dist/cli/commands/pull.js.map +1 -0
- package/dist/cli/commands/query.js +180 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/restore.js +428 -0
- package/dist/cli/commands/restore.js.map +1 -0
- package/dist/cli/commands/run.js +115 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/self-update.js +99 -0
- package/dist/cli/commands/self-update.js.map +1 -0
- package/dist/cli/commands/sqlite.js +207 -0
- package/dist/cli/commands/sqlite.js.map +1 -0
- package/dist/cli/commands/start.js +196 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/stop.js +182 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/commands/url.js +88 -0
- package/dist/cli/commands/url.js.map +1 -0
- package/dist/cli/commands/users.js +189 -0
- package/dist/cli/commands/users.js.map +1 -0
- package/dist/cli/commands/version.js +52 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/commands/which.js +258 -0
- package/dist/cli/commands/which.js.map +1 -0
- package/dist/cli/constants.js +212 -0
- package/dist/cli/constants.js.map +1 -0
- package/dist/cli/helpers.js +1120 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.js +146 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/prompts.js +1002 -0
- package/dist/cli/ui/prompts.js.map +1 -0
- package/dist/cli/ui/spinner.js +74 -0
- package/dist/cli/ui/spinner.js.map +1 -0
- package/dist/cli/ui/theme.js +99 -0
- package/dist/cli/ui/theme.js.map +1 -0
- package/dist/cli/utils/file-follower.js +79 -0
- package/dist/cli/utils/file-follower.js.map +1 -0
- package/dist/config/backup-formats.js +363 -0
- package/dist/config/backup-formats.js.map +1 -0
- package/dist/config/defaults.js +25 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/engine-defaults.js +303 -0
- package/dist/config/engine-defaults.js.map +1 -0
- package/dist/config/engines-registry.js +103 -0
- package/dist/config/engines-registry.js.map +1 -0
- package/dist/config/os-dependencies.js +767 -0
- package/dist/config/os-dependencies.js.map +1 -0
- package/dist/config/paths.js +156 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/version.js +3 -0
- package/dist/config/version.js.map +1 -0
- package/dist/core/backup-restore.js +219 -0
- package/dist/core/backup-restore.js.map +1 -0
- package/dist/core/base-binary-manager.js +403 -0
- package/dist/core/base-binary-manager.js.map +1 -0
- package/dist/core/base-document-binary-manager.js +364 -0
- package/dist/core/base-document-binary-manager.js.map +1 -0
- package/dist/core/base-embedded-binary-manager.js +364 -0
- package/dist/core/base-embedded-binary-manager.js.map +1 -0
- package/dist/core/base-server-binary-manager.js +368 -0
- package/dist/core/base-server-binary-manager.js.map +1 -0
- package/dist/core/config-manager.js +495 -0
- package/dist/core/config-manager.js.map +1 -0
- package/dist/core/container-manager.js +609 -0
- package/dist/core/container-manager.js.map +1 -0
- package/dist/core/credential-generator.js +67 -0
- package/dist/core/credential-generator.js.map +1 -0
- package/dist/core/credential-manager.js +211 -0
- package/dist/core/credential-manager.js.map +1 -0
- package/dist/core/dblab-utils.js +105 -0
- package/dist/core/dblab-utils.js.map +1 -0
- package/dist/core/dependency-manager.js +359 -0
- package/dist/core/dependency-manager.js.map +1 -0
- package/dist/core/docker-exporter.js +1077 -0
- package/dist/core/docker-exporter.js.map +1 -0
- package/dist/core/error-handler.js +295 -0
- package/dist/core/error-handler.js.map +1 -0
- package/dist/core/fs-error-utils.js +74 -0
- package/dist/core/fs-error-utils.js.map +1 -0
- package/dist/core/homebrew-version-manager.js +280 -0
- package/dist/core/homebrew-version-manager.js.map +1 -0
- package/dist/core/hostdb-client.js +252 -0
- package/dist/core/hostdb-client.js.map +1 -0
- package/dist/core/hostdb-metadata.js +243 -0
- package/dist/core/hostdb-metadata.js.map +1 -0
- package/dist/core/hostdb-releases-factory.js +161 -0
- package/dist/core/hostdb-releases-factory.js.map +1 -0
- package/dist/core/library-env.js +88 -0
- package/dist/core/library-env.js.map +1 -0
- package/dist/core/pgweb-utils.js +53 -0
- package/dist/core/pgweb-utils.js.map +1 -0
- package/dist/core/platform-service.js +632 -0
- package/dist/core/platform-service.js.map +1 -0
- package/dist/core/port-manager.js +136 -0
- package/dist/core/port-manager.js.map +1 -0
- package/dist/core/process-manager.js +445 -0
- package/dist/core/process-manager.js.map +1 -0
- package/dist/core/pull-manager.js +418 -0
- package/dist/core/pull-manager.js.map +1 -0
- package/dist/core/query-parser.js +449 -0
- package/dist/core/query-parser.js.map +1 -0
- package/dist/core/spawn-utils.js +90 -0
- package/dist/core/spawn-utils.js.map +1 -0
- package/dist/core/start-with-retry.js +90 -0
- package/dist/core/start-with-retry.js.map +1 -0
- package/dist/core/test-cleanup.js +85 -0
- package/dist/core/test-cleanup.js.map +1 -0
- package/dist/core/tls-generator.js +84 -0
- package/dist/core/tls-generator.js.map +1 -0
- package/dist/core/transaction-manager.js +139 -0
- package/dist/core/transaction-manager.js.map +1 -0
- package/dist/core/update-manager.js +241 -0
- package/dist/core/update-manager.js.map +1 -0
- package/dist/core/version-migration.js +260 -0
- package/dist/core/version-migration.js.map +1 -0
- package/dist/core/version-utils.js +91 -0
- package/dist/core/version-utils.js.map +1 -0
- package/dist/engines/base-engine.js +179 -0
- package/dist/engines/base-engine.js.map +1 -0
- package/dist/engines/clickhouse/backup.js +289 -0
- package/dist/engines/clickhouse/backup.js.map +1 -0
- package/dist/engines/clickhouse/binary-manager.js +145 -0
- package/dist/engines/clickhouse/binary-manager.js.map +1 -0
- package/dist/engines/clickhouse/binary-urls.js +100 -0
- package/dist/engines/clickhouse/binary-urls.js.map +1 -0
- package/dist/engines/clickhouse/cli-utils.js +143 -0
- package/dist/engines/clickhouse/cli-utils.js.map +1 -0
- package/dist/engines/clickhouse/hostdb-releases.js +24 -0
- package/dist/engines/clickhouse/hostdb-releases.js.map +1 -0
- package/dist/engines/clickhouse/index.js +1077 -0
- package/dist/engines/clickhouse/index.js.map +1 -0
- package/dist/engines/clickhouse/restore.js +335 -0
- package/dist/engines/clickhouse/restore.js.map +1 -0
- package/dist/engines/clickhouse/version-maps.js +83 -0
- package/dist/engines/clickhouse/version-maps.js.map +1 -0
- package/dist/engines/clickhouse/version-validator.js +133 -0
- package/dist/engines/clickhouse/version-validator.js.map +1 -0
- package/dist/engines/cockroachdb/backup.js +261 -0
- package/dist/engines/cockroachdb/backup.js.map +1 -0
- package/dist/engines/cockroachdb/binary-manager.js +33 -0
- package/dist/engines/cockroachdb/binary-manager.js.map +1 -0
- package/dist/engines/cockroachdb/binary-urls.js +33 -0
- package/dist/engines/cockroachdb/binary-urls.js.map +1 -0
- package/dist/engines/cockroachdb/cli-utils.js +338 -0
- package/dist/engines/cockroachdb/cli-utils.js.map +1 -0
- package/dist/engines/cockroachdb/hostdb-releases.js +21 -0
- package/dist/engines/cockroachdb/hostdb-releases.js.map +1 -0
- package/dist/engines/cockroachdb/index.js +1016 -0
- package/dist/engines/cockroachdb/index.js.map +1 -0
- package/dist/engines/cockroachdb/restore.js +323 -0
- package/dist/engines/cockroachdb/restore.js.map +1 -0
- package/dist/engines/cockroachdb/version-maps.js +37 -0
- package/dist/engines/cockroachdb/version-maps.js.map +1 -0
- package/dist/engines/couchdb/api-client.js +64 -0
- package/dist/engines/couchdb/api-client.js.map +1 -0
- package/dist/engines/couchdb/backup.js +90 -0
- package/dist/engines/couchdb/backup.js.map +1 -0
- package/dist/engines/couchdb/binary-manager.js +62 -0
- package/dist/engines/couchdb/binary-manager.js.map +1 -0
- package/dist/engines/couchdb/binary-urls.js +92 -0
- package/dist/engines/couchdb/binary-urls.js.map +1 -0
- package/dist/engines/couchdb/hostdb-releases.js +21 -0
- package/dist/engines/couchdb/hostdb-releases.js.map +1 -0
- package/dist/engines/couchdb/index.js +1043 -0
- package/dist/engines/couchdb/index.js.map +1 -0
- package/dist/engines/couchdb/restore.js +198 -0
- package/dist/engines/couchdb/restore.js.map +1 -0
- package/dist/engines/couchdb/version-maps.js +67 -0
- package/dist/engines/couchdb/version-maps.js.map +1 -0
- package/dist/engines/couchdb/version-validator.js +88 -0
- package/dist/engines/couchdb/version-validator.js.map +1 -0
- package/dist/engines/duckdb/binary-manager.js +33 -0
- package/dist/engines/duckdb/binary-manager.js.map +1 -0
- package/{engines/duckdb/binary-urls.ts → dist/engines/duckdb/binary-urls.js} +11 -16
- package/dist/engines/duckdb/binary-urls.js.map +1 -0
- package/dist/engines/duckdb/hostdb-releases.js +21 -0
- package/dist/engines/duckdb/hostdb-releases.js.map +1 -0
- package/dist/engines/duckdb/index.js +594 -0
- package/dist/engines/duckdb/index.js.map +1 -0
- package/dist/engines/duckdb/registry.js +265 -0
- package/dist/engines/duckdb/registry.js.map +1 -0
- package/dist/engines/duckdb/scanner.js +12 -0
- package/dist/engines/duckdb/scanner.js.map +1 -0
- package/dist/engines/duckdb/version-maps.js +67 -0
- package/dist/engines/duckdb/version-maps.js.map +1 -0
- package/dist/engines/duckdb/version-validator.js +62 -0
- package/dist/engines/duckdb/version-validator.js.map +1 -0
- package/dist/engines/ferretdb/backup.js +170 -0
- package/dist/engines/ferretdb/backup.js.map +1 -0
- package/dist/engines/ferretdb/binary-manager.js +765 -0
- package/dist/engines/ferretdb/binary-manager.js.map +1 -0
- package/dist/engines/ferretdb/binary-urls.js +135 -0
- package/dist/engines/ferretdb/binary-urls.js.map +1 -0
- package/dist/engines/ferretdb/index.js +1517 -0
- package/dist/engines/ferretdb/index.js.map +1 -0
- package/dist/engines/ferretdb/restore.js +310 -0
- package/dist/engines/ferretdb/restore.js.map +1 -0
- package/{engines/ferretdb/version-maps.ts → dist/engines/ferretdb/version-maps.js} +62 -79
- package/dist/engines/ferretdb/version-maps.js.map +1 -0
- package/dist/engines/file-based-utils.js +184 -0
- package/dist/engines/file-based-utils.js.map +1 -0
- package/dist/engines/index.js +124 -0
- package/dist/engines/index.js.map +1 -0
- package/dist/engines/influxdb/api-client.js +54 -0
- package/dist/engines/influxdb/api-client.js.map +1 -0
- package/dist/engines/influxdb/backup.js +119 -0
- package/dist/engines/influxdb/backup.js.map +1 -0
- package/dist/engines/influxdb/binary-manager.js +87 -0
- package/dist/engines/influxdb/binary-manager.js.map +1 -0
- package/dist/engines/influxdb/binary-urls.js +56 -0
- package/dist/engines/influxdb/binary-urls.js.map +1 -0
- package/dist/engines/influxdb/hostdb-releases.js +21 -0
- package/dist/engines/influxdb/hostdb-releases.js.map +1 -0
- package/dist/engines/influxdb/index.js +962 -0
- package/dist/engines/influxdb/index.js.map +1 -0
- package/dist/engines/influxdb/restore.js +329 -0
- package/dist/engines/influxdb/restore.js.map +1 -0
- package/dist/engines/influxdb/version-maps.js +64 -0
- package/dist/engines/influxdb/version-maps.js.map +1 -0
- package/dist/engines/influxdb/version-validator.js +109 -0
- package/dist/engines/influxdb/version-validator.js.map +1 -0
- package/dist/engines/mariadb/backup.js +178 -0
- package/dist/engines/mariadb/backup.js.map +1 -0
- package/dist/engines/mariadb/binary-manager.js +33 -0
- package/dist/engines/mariadb/binary-manager.js.map +1 -0
- package/{engines/mariadb/binary-urls.ts → dist/engines/mariadb/binary-urls.js} +38 -55
- package/dist/engines/mariadb/binary-urls.js.map +1 -0
- package/dist/engines/mariadb/hostdb-releases.js +21 -0
- package/dist/engines/mariadb/hostdb-releases.js.map +1 -0
- package/dist/engines/mariadb/index.js +1011 -0
- package/dist/engines/mariadb/index.js.map +1 -0
- package/dist/engines/mariadb/restore.js +322 -0
- package/dist/engines/mariadb/restore.js.map +1 -0
- package/dist/engines/mariadb/version-maps.js +63 -0
- package/dist/engines/mariadb/version-maps.js.map +1 -0
- package/dist/engines/mariadb/version-validator.js +143 -0
- package/dist/engines/mariadb/version-validator.js.map +1 -0
- package/dist/engines/meilisearch/api-client.js +50 -0
- package/dist/engines/meilisearch/api-client.js.map +1 -0
- package/dist/engines/meilisearch/backup.js +167 -0
- package/dist/engines/meilisearch/backup.js.map +1 -0
- package/dist/engines/meilisearch/binary-manager.js +31 -0
- package/dist/engines/meilisearch/binary-manager.js.map +1 -0
- package/dist/engines/meilisearch/binary-urls.js +56 -0
- package/dist/engines/meilisearch/binary-urls.js.map +1 -0
- package/dist/engines/meilisearch/hostdb-releases.js +21 -0
- package/dist/engines/meilisearch/hostdb-releases.js.map +1 -0
- package/dist/engines/meilisearch/index.js +992 -0
- package/dist/engines/meilisearch/index.js.map +1 -0
- package/dist/engines/meilisearch/restore.js +167 -0
- package/dist/engines/meilisearch/restore.js.map +1 -0
- package/dist/engines/meilisearch/version-maps.js +67 -0
- package/dist/engines/meilisearch/version-maps.js.map +1 -0
- package/dist/engines/meilisearch/version-validator.js +109 -0
- package/dist/engines/meilisearch/version-validator.js.map +1 -0
- package/dist/engines/mongodb/backup.js +109 -0
- package/dist/engines/mongodb/backup.js.map +1 -0
- package/dist/engines/mongodb/binary-manager.js +36 -0
- package/dist/engines/mongodb/binary-manager.js.map +1 -0
- package/dist/engines/mongodb/binary-urls.js +46 -0
- package/dist/engines/mongodb/binary-urls.js.map +1 -0
- package/dist/engines/mongodb/cli-utils.js +131 -0
- package/dist/engines/mongodb/cli-utils.js.map +1 -0
- package/dist/engines/mongodb/hostdb-releases.js +77 -0
- package/dist/engines/mongodb/hostdb-releases.js.map +1 -0
- package/dist/engines/mongodb/index.js +873 -0
- package/dist/engines/mongodb/index.js.map +1 -0
- package/dist/engines/mongodb/restore.js +276 -0
- package/dist/engines/mongodb/restore.js.map +1 -0
- package/dist/engines/mongodb/version-maps.js +79 -0
- package/dist/engines/mongodb/version-maps.js.map +1 -0
- package/dist/engines/mongodb/version-validator.js +133 -0
- package/dist/engines/mongodb/version-validator.js.map +1 -0
- package/dist/engines/mysql/backup.js +210 -0
- package/dist/engines/mysql/backup.js.map +1 -0
- package/dist/engines/mysql/binary-detection.js +325 -0
- package/dist/engines/mysql/binary-detection.js.map +1 -0
- package/dist/engines/mysql/binary-manager.js +30 -0
- package/dist/engines/mysql/binary-manager.js.map +1 -0
- package/dist/engines/mysql/binary-urls.js +87 -0
- package/dist/engines/mysql/binary-urls.js.map +1 -0
- package/{engines/mysql/hostdb-releases.ts → dist/engines/mysql/hostdb-releases.js} +20 -23
- package/dist/engines/mysql/hostdb-releases.js.map +1 -0
- package/dist/engines/mysql/index.js +1066 -0
- package/dist/engines/mysql/index.js.map +1 -0
- package/dist/engines/mysql/restore.js +361 -0
- package/dist/engines/mysql/restore.js.map +1 -0
- package/dist/engines/mysql/version-maps.js +79 -0
- package/dist/engines/mysql/version-maps.js.map +1 -0
- package/dist/engines/mysql/version-validator.js +266 -0
- package/dist/engines/mysql/version-validator.js.map +1 -0
- package/dist/engines/postgresql/backup.js +118 -0
- package/dist/engines/postgresql/backup.js.map +1 -0
- package/dist/engines/postgresql/binary-manager.js +85 -0
- package/dist/engines/postgresql/binary-manager.js.map +1 -0
- package/dist/engines/postgresql/binary-urls.js +80 -0
- package/dist/engines/postgresql/binary-urls.js.map +1 -0
- package/dist/engines/postgresql/hostdb-releases.js +21 -0
- package/dist/engines/postgresql/hostdb-releases.js.map +1 -0
- package/dist/engines/postgresql/index.js +852 -0
- package/dist/engines/postgresql/index.js.map +1 -0
- package/dist/engines/postgresql/remote-version.js +109 -0
- package/dist/engines/postgresql/remote-version.js.map +1 -0
- package/dist/engines/postgresql/restore.js +254 -0
- package/dist/engines/postgresql/restore.js.map +1 -0
- package/dist/engines/postgresql/version-maps.js +73 -0
- package/dist/engines/postgresql/version-maps.js.map +1 -0
- package/dist/engines/postgresql/version-validator.js +286 -0
- package/dist/engines/postgresql/version-validator.js.map +1 -0
- package/dist/engines/qdrant/api-client.js +50 -0
- package/dist/engines/qdrant/api-client.js.map +1 -0
- package/dist/engines/qdrant/backup.js +115 -0
- package/dist/engines/qdrant/backup.js.map +1 -0
- package/dist/engines/qdrant/binary-manager.js +31 -0
- package/dist/engines/qdrant/binary-manager.js.map +1 -0
- package/dist/engines/qdrant/binary-urls.js +92 -0
- package/dist/engines/qdrant/binary-urls.js.map +1 -0
- package/dist/engines/qdrant/cli-utils.js +39 -0
- package/dist/engines/qdrant/cli-utils.js.map +1 -0
- package/dist/engines/qdrant/hostdb-releases.js +21 -0
- package/dist/engines/qdrant/hostdb-releases.js.map +1 -0
- package/dist/engines/qdrant/index.js +1002 -0
- package/dist/engines/qdrant/index.js.map +1 -0
- package/dist/engines/qdrant/restore.js +154 -0
- package/dist/engines/qdrant/restore.js.map +1 -0
- package/dist/engines/qdrant/version-maps.js +67 -0
- package/dist/engines/qdrant/version-maps.js.map +1 -0
- package/dist/engines/qdrant/version-validator.js +109 -0
- package/dist/engines/qdrant/version-validator.js.map +1 -0
- package/dist/engines/questdb/backup.js +191 -0
- package/dist/engines/questdb/backup.js.map +1 -0
- package/dist/engines/questdb/binary-manager.js +247 -0
- package/dist/engines/questdb/binary-manager.js.map +1 -0
- package/dist/engines/questdb/binary-urls.js +27 -0
- package/dist/engines/questdb/binary-urls.js.map +1 -0
- package/dist/engines/questdb/hostdb-releases.js +21 -0
- package/dist/engines/questdb/hostdb-releases.js.map +1 -0
- package/dist/engines/questdb/index.js +814 -0
- package/dist/engines/questdb/index.js.map +1 -0
- package/dist/engines/questdb/restore.js +202 -0
- package/dist/engines/questdb/restore.js.map +1 -0
- package/dist/engines/questdb/version-maps.js +33 -0
- package/dist/engines/questdb/version-maps.js.map +1 -0
- package/dist/engines/questdb/version-validator.js +99 -0
- package/dist/engines/questdb/version-validator.js.map +1 -0
- package/dist/engines/redis/backup.js +292 -0
- package/dist/engines/redis/backup.js.map +1 -0
- package/dist/engines/redis/binary-manager.js +32 -0
- package/dist/engines/redis/binary-manager.js.map +1 -0
- package/dist/engines/redis/binary-urls.js +96 -0
- package/dist/engines/redis/binary-urls.js.map +1 -0
- package/dist/engines/redis/cli-utils.js +38 -0
- package/dist/engines/redis/cli-utils.js.map +1 -0
- package/dist/engines/redis/hostdb-releases.js +21 -0
- package/dist/engines/redis/hostdb-releases.js.map +1 -0
- package/dist/engines/redis/index.js +1263 -0
- package/dist/engines/redis/index.js.map +1 -0
- package/dist/engines/redis/restore.js +338 -0
- package/dist/engines/redis/restore.js.map +1 -0
- package/dist/engines/redis/version-maps.js +70 -0
- package/dist/engines/redis/version-maps.js.map +1 -0
- package/dist/engines/redis/version-validator.js +109 -0
- package/dist/engines/redis/version-validator.js.map +1 -0
- package/dist/engines/sqlite/binary-manager.js +39 -0
- package/dist/engines/sqlite/binary-manager.js.map +1 -0
- package/{engines/sqlite/binary-urls.ts → dist/engines/sqlite/binary-urls.js} +11 -16
- package/dist/engines/sqlite/binary-urls.js.map +1 -0
- package/dist/engines/sqlite/hostdb-releases.js +21 -0
- package/dist/engines/sqlite/hostdb-releases.js.map +1 -0
- package/dist/engines/sqlite/index.js +493 -0
- package/dist/engines/sqlite/index.js.map +1 -0
- package/dist/engines/sqlite/registry.js +163 -0
- package/dist/engines/sqlite/registry.js.map +1 -0
- package/dist/engines/sqlite/scanner.js +12 -0
- package/dist/engines/sqlite/scanner.js.map +1 -0
- package/dist/engines/sqlite/version-maps.js +57 -0
- package/dist/engines/sqlite/version-maps.js.map +1 -0
- package/dist/engines/surrealdb/backup.js +97 -0
- package/dist/engines/surrealdb/backup.js.map +1 -0
- package/dist/engines/surrealdb/binary-manager.js +33 -0
- package/dist/engines/surrealdb/binary-manager.js.map +1 -0
- package/dist/engines/surrealdb/binary-urls.js +33 -0
- package/dist/engines/surrealdb/binary-urls.js.map +1 -0
- package/dist/engines/surrealdb/cli-utils.js +147 -0
- package/dist/engines/surrealdb/cli-utils.js.map +1 -0
- package/dist/engines/surrealdb/hostdb-releases.js +21 -0
- package/dist/engines/surrealdb/hostdb-releases.js.map +1 -0
- package/dist/engines/surrealdb/index.js +1022 -0
- package/dist/engines/surrealdb/index.js.map +1 -0
- package/dist/engines/surrealdb/restore.js +224 -0
- package/dist/engines/surrealdb/restore.js.map +1 -0
- package/dist/engines/surrealdb/version-maps.js +36 -0
- package/dist/engines/surrealdb/version-maps.js.map +1 -0
- package/dist/engines/tigerbeetle/backup.js +36 -0
- package/dist/engines/tigerbeetle/backup.js.map +1 -0
- package/dist/engines/tigerbeetle/binary-manager.js +72 -0
- package/dist/engines/tigerbeetle/binary-manager.js.map +1 -0
- package/dist/engines/tigerbeetle/binary-urls.js +49 -0
- package/dist/engines/tigerbeetle/binary-urls.js.map +1 -0
- package/dist/engines/tigerbeetle/hostdb-releases.js +21 -0
- package/dist/engines/tigerbeetle/hostdb-releases.js.map +1 -0
- package/dist/engines/tigerbeetle/index.js +559 -0
- package/dist/engines/tigerbeetle/index.js.map +1 -0
- package/dist/engines/tigerbeetle/restore.js +91 -0
- package/dist/engines/tigerbeetle/restore.js.map +1 -0
- package/{engines/tigerbeetle/version-maps.ts → dist/engines/tigerbeetle/version-maps.js} +22 -31
- package/dist/engines/tigerbeetle/version-maps.js.map +1 -0
- package/dist/engines/tigerbeetle/version-validator.js +108 -0
- package/dist/engines/tigerbeetle/version-validator.js.map +1 -0
- package/dist/engines/typedb/backup.js +129 -0
- package/dist/engines/typedb/backup.js.map +1 -0
- package/dist/engines/typedb/binary-manager.js +151 -0
- package/dist/engines/typedb/binary-manager.js.map +1 -0
- package/dist/engines/typedb/binary-urls.js +33 -0
- package/dist/engines/typedb/binary-urls.js.map +1 -0
- package/dist/engines/typedb/cli-utils.js +163 -0
- package/dist/engines/typedb/cli-utils.js.map +1 -0
- package/dist/engines/typedb/hostdb-releases.js +21 -0
- package/dist/engines/typedb/hostdb-releases.js.map +1 -0
- package/dist/engines/typedb/index.js +1003 -0
- package/dist/engines/typedb/index.js.map +1 -0
- package/dist/engines/typedb/restore.js +279 -0
- package/dist/engines/typedb/restore.js.map +1 -0
- package/dist/engines/typedb/version-maps.js +40 -0
- package/dist/engines/typedb/version-maps.js.map +1 -0
- package/dist/engines/typedb/version-validator.js +103 -0
- package/dist/engines/typedb/version-validator.js.map +1 -0
- package/dist/engines/valkey/backup.js +292 -0
- package/dist/engines/valkey/backup.js.map +1 -0
- package/dist/engines/valkey/binary-manager.js +33 -0
- package/dist/engines/valkey/binary-manager.js.map +1 -0
- package/dist/engines/valkey/binary-urls.js +98 -0
- package/dist/engines/valkey/binary-urls.js.map +1 -0
- package/dist/engines/valkey/cli-utils.js +38 -0
- package/dist/engines/valkey/cli-utils.js.map +1 -0
- package/dist/engines/valkey/hostdb-releases.js +21 -0
- package/dist/engines/valkey/hostdb-releases.js.map +1 -0
- package/dist/engines/valkey/index.js +1257 -0
- package/dist/engines/valkey/index.js.map +1 -0
- package/dist/engines/valkey/restore.js +340 -0
- package/dist/engines/valkey/restore.js.map +1 -0
- package/dist/engines/valkey/version-maps.js +70 -0
- package/dist/engines/valkey/version-maps.js.map +1 -0
- package/dist/engines/valkey/version-validator.js +112 -0
- package/dist/engines/valkey/version-validator.js.map +1 -0
- package/dist/engines/weaviate/api-client.js +50 -0
- package/dist/engines/weaviate/api-client.js.map +1 -0
- package/dist/engines/weaviate/backup.js +95 -0
- package/dist/engines/weaviate/backup.js.map +1 -0
- package/dist/engines/weaviate/binary-manager.js +58 -0
- package/dist/engines/weaviate/binary-manager.js.map +1 -0
- package/dist/engines/weaviate/binary-urls.js +92 -0
- package/dist/engines/weaviate/binary-urls.js.map +1 -0
- package/dist/engines/weaviate/cli-utils.js +39 -0
- package/dist/engines/weaviate/cli-utils.js.map +1 -0
- package/dist/engines/weaviate/hostdb-releases.js +21 -0
- package/dist/engines/weaviate/hostdb-releases.js.map +1 -0
- package/dist/engines/weaviate/index.js +871 -0
- package/dist/engines/weaviate/index.js.map +1 -0
- package/dist/engines/weaviate/restore.js +185 -0
- package/dist/engines/weaviate/restore.js.map +1 -0
- package/dist/engines/weaviate/version-maps.js +67 -0
- package/dist/engines/weaviate/version-maps.js.map +1 -0
- package/dist/engines/weaviate/version-validator.js +109 -0
- package/dist/engines/weaviate/version-validator.js.map +1 -0
- package/dist/types/index.js +102 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +12 -9
- package/bin/cli.js +0 -68
- package/cli/bin.ts +0 -10
- package/cli/commands/attach.ts +0 -139
- package/cli/commands/backup.ts +0 -290
- package/cli/commands/backups.ts +0 -247
- package/cli/commands/clone.ts +0 -159
- package/cli/commands/config.ts +0 -367
- package/cli/commands/connect.ts +0 -684
- package/cli/commands/create.ts +0 -1201
- package/cli/commands/databases.ts +0 -630
- package/cli/commands/delete.ts +0 -133
- package/cli/commands/deps.ts +0 -342
- package/cli/commands/detach.ts +0 -107
- package/cli/commands/doctor.ts +0 -689
- package/cli/commands/duckdb.ts +0 -273
- package/cli/commands/edit.ts +0 -683
- package/cli/commands/engines.ts +0 -1914
- package/cli/commands/export.ts +0 -544
- package/cli/commands/info.ts +0 -340
- package/cli/commands/list.ts +0 -284
- package/cli/commands/logs.ts +0 -102
- package/cli/commands/menu/backup-handlers.ts +0 -1571
- package/cli/commands/menu/container-handlers.ts +0 -2288
- package/cli/commands/menu/engine-handlers.ts +0 -355
- package/cli/commands/menu/index.ts +0 -342
- package/cli/commands/menu/settings-handlers.ts +0 -365
- package/cli/commands/menu/shared.ts +0 -23
- package/cli/commands/menu/shell-handlers.ts +0 -1811
- package/cli/commands/menu/sql-handlers.ts +0 -231
- package/cli/commands/menu/update-handlers.ts +0 -378
- package/cli/commands/menu/validators.ts +0 -8
- package/cli/commands/ports.ts +0 -211
- package/cli/commands/pull.ts +0 -223
- package/cli/commands/query.ts +0 -241
- package/cli/commands/restore.ts +0 -587
- package/cli/commands/run.ts +0 -178
- package/cli/commands/self-update.ts +0 -121
- package/cli/commands/sqlite.ts +0 -273
- package/cli/commands/start.ts +0 -218
- package/cli/commands/stop.ts +0 -241
- package/cli/commands/url.ts +0 -104
- package/cli/commands/users.ts +0 -264
- package/cli/commands/version.ts +0 -55
- package/cli/commands/which.ts +0 -290
- package/cli/constants.ts +0 -233
- package/cli/helpers.ts +0 -1593
- package/cli/index.ts +0 -162
- package/cli/ui/prompts.ts +0 -1525
- package/cli/ui/spinner.ts +0 -88
- package/cli/ui/theme.ts +0 -128
- package/cli/utils/file-follower.ts +0 -93
- package/config/backup-formats.ts +0 -446
- package/config/defaults.ts +0 -56
- package/config/engine-defaults.ts +0 -336
- package/config/engines-registry.ts +0 -150
- package/config/engines.schema.json +0 -135
- package/config/os-dependencies.ts +0 -888
- package/config/paths.ts +0 -200
- package/core/backup-restore.ts +0 -330
- package/core/base-binary-manager.ts +0 -562
- package/core/base-document-binary-manager.ts +0 -523
- package/core/base-embedded-binary-manager.ts +0 -547
- package/core/base-server-binary-manager.ts +0 -523
- package/core/config-manager.ts +0 -652
- package/core/container-manager.ts +0 -787
- package/core/credential-generator.ts +0 -93
- package/core/credential-manager.ts +0 -259
- package/core/dblab-utils.ts +0 -113
- package/core/dependency-manager.ts +0 -512
- package/core/docker-exporter.ts +0 -1345
- package/core/error-handler.ts +0 -419
- package/core/fs-error-utils.ts +0 -82
- package/core/homebrew-version-manager.ts +0 -352
- package/core/hostdb-client.ts +0 -344
- package/core/hostdb-metadata.ts +0 -350
- package/core/hostdb-releases-factory.ts +0 -237
- package/core/library-env.ts +0 -118
- package/core/pgweb-utils.ts +0 -62
- package/core/platform-service.ts +0 -829
- package/core/port-manager.ts +0 -165
- package/core/process-manager.ts +0 -576
- package/core/pull-manager.ts +0 -511
- package/core/query-parser.ts +0 -514
- package/core/spawn-utils.ts +0 -122
- package/core/start-with-retry.ts +0 -130
- package/core/test-cleanup.ts +0 -108
- package/core/tls-generator.ts +0 -116
- package/core/transaction-manager.ts +0 -158
- package/core/update-manager.ts +0 -308
- package/core/version-migration.ts +0 -346
- package/core/version-utils.ts +0 -104
- package/engines/base-engine.ts +0 -340
- package/engines/clickhouse/README.md +0 -231
- package/engines/clickhouse/backup.ts +0 -398
- package/engines/clickhouse/binary-manager.ts +0 -201
- package/engines/clickhouse/binary-urls.ts +0 -125
- package/engines/clickhouse/cli-utils.ts +0 -176
- package/engines/clickhouse/hostdb-releases.ts +0 -30
- package/engines/clickhouse/index.ts +0 -1345
- package/engines/clickhouse/restore.ts +0 -466
- package/engines/clickhouse/version-maps.ts +0 -95
- package/engines/clickhouse/version-validator.ts +0 -154
- package/engines/cockroachdb/README.md +0 -170
- package/engines/cockroachdb/backup.ts +0 -376
- package/engines/cockroachdb/binary-manager.ts +0 -45
- package/engines/cockroachdb/binary-urls.ts +0 -40
- package/engines/cockroachdb/cli-utils.ts +0 -384
- package/engines/cockroachdb/hostdb-releases.ts +0 -26
- package/engines/cockroachdb/index.ts +0 -1276
- package/engines/cockroachdb/restore.ts +0 -455
- package/engines/cockroachdb/version-maps.ts +0 -42
- package/engines/couchdb/README.md +0 -257
- package/engines/couchdb/api-client.ts +0 -81
- package/engines/couchdb/backup.ts +0 -137
- package/engines/couchdb/binary-manager.ts +0 -86
- package/engines/couchdb/binary-urls.ts +0 -115
- package/engines/couchdb/hostdb-releases.ts +0 -23
- package/engines/couchdb/index.ts +0 -1429
- package/engines/couchdb/restore.ts +0 -290
- package/engines/couchdb/version-maps.ts +0 -78
- package/engines/couchdb/version-validator.ts +0 -111
- package/engines/duckdb/README.md +0 -154
- package/engines/duckdb/binary-manager.ts +0 -45
- package/engines/duckdb/hostdb-releases.ts +0 -23
- package/engines/duckdb/index.ts +0 -749
- package/engines/duckdb/registry.ts +0 -303
- package/engines/duckdb/scanner.ts +0 -22
- package/engines/duckdb/version-maps.ts +0 -78
- package/engines/duckdb/version-validator.ts +0 -78
- package/engines/ferretdb/README.md +0 -262
- package/engines/ferretdb/backup.ts +0 -173
- package/engines/ferretdb/binary-manager.ts +0 -1095
- package/engines/ferretdb/binary-urls.ts +0 -183
- package/engines/ferretdb/index.ts +0 -1907
- package/engines/ferretdb/restore.ts +0 -357
- package/engines/file-based-utils.ts +0 -262
- package/engines/index.ts +0 -131
- package/engines/influxdb/README.md +0 -180
- package/engines/influxdb/api-client.ts +0 -64
- package/engines/influxdb/backup.ts +0 -160
- package/engines/influxdb/binary-manager.ts +0 -110
- package/engines/influxdb/binary-urls.ts +0 -69
- package/engines/influxdb/hostdb-releases.ts +0 -23
- package/engines/influxdb/index.ts +0 -1272
- package/engines/influxdb/restore.ts +0 -417
- package/engines/influxdb/version-maps.ts +0 -75
- package/engines/influxdb/version-validator.ts +0 -128
- package/engines/mariadb/README.md +0 -141
- package/engines/mariadb/backup.ts +0 -233
- package/engines/mariadb/binary-manager.ts +0 -45
- package/engines/mariadb/hostdb-releases.ts +0 -23
- package/engines/mariadb/index.ts +0 -1300
- package/engines/mariadb/restore.ts +0 -447
- package/engines/mariadb/version-maps.ts +0 -72
- package/engines/mariadb/version-validator.ts +0 -181
- package/engines/meilisearch/README.md +0 -255
- package/engines/meilisearch/api-client.ts +0 -61
- package/engines/meilisearch/backup.ts +0 -233
- package/engines/meilisearch/binary-manager.ts +0 -43
- package/engines/meilisearch/binary-urls.ts +0 -69
- package/engines/meilisearch/hostdb-releases.ts +0 -26
- package/engines/meilisearch/index.ts +0 -1292
- package/engines/meilisearch/restore.ts +0 -219
- package/engines/meilisearch/version-maps.ts +0 -78
- package/engines/meilisearch/version-validator.ts +0 -128
- package/engines/mongodb/README.md +0 -162
- package/engines/mongodb/backup.ts +0 -127
- package/engines/mongodb/binary-manager.ts +0 -48
- package/engines/mongodb/binary-urls.ts +0 -63
- package/engines/mongodb/cli-utils.ts +0 -171
- package/engines/mongodb/hostdb-releases.ts +0 -91
- package/engines/mongodb/index.ts +0 -1118
- package/engines/mongodb/restore.ts +0 -361
- package/engines/mongodb/version-maps.ts +0 -91
- package/engines/mongodb/version-validator.ts +0 -160
- package/engines/mysql/README.md +0 -142
- package/engines/mysql/backup.ts +0 -270
- package/engines/mysql/binary-detection.ts +0 -408
- package/engines/mysql/binary-manager.ts +0 -42
- package/engines/mysql/binary-urls.ts +0 -104
- package/engines/mysql/index.ts +0 -1361
- package/engines/mysql/restore.ts +0 -500
- package/engines/mysql/version-maps.ts +0 -91
- package/engines/mysql/version-validator.ts +0 -369
- package/engines/postgresql/README.md +0 -158
- package/engines/postgresql/backup.ts +0 -151
- package/engines/postgresql/binary-manager.ts +0 -114
- package/engines/postgresql/binary-urls.ts +0 -99
- package/engines/postgresql/hostdb-releases.ts +0 -26
- package/engines/postgresql/index.ts +0 -1143
- package/engines/postgresql/remote-version.ts +0 -161
- package/engines/postgresql/restore.ts +0 -342
- package/engines/postgresql/version-maps.ts +0 -83
- package/engines/postgresql/version-validator.ts +0 -413
- package/engines/qdrant/README.md +0 -222
- package/engines/qdrant/api-client.ts +0 -61
- package/engines/qdrant/backup.ts +0 -165
- package/engines/qdrant/binary-manager.ts +0 -43
- package/engines/qdrant/binary-urls.ts +0 -115
- package/engines/qdrant/cli-utils.ts +0 -43
- package/engines/qdrant/hostdb-releases.ts +0 -23
- package/engines/qdrant/index.ts +0 -1312
- package/engines/qdrant/restore.ts +0 -203
- package/engines/qdrant/version-maps.ts +0 -78
- package/engines/qdrant/version-validator.ts +0 -128
- package/engines/questdb/README.md +0 -334
- package/engines/questdb/backup.ts +0 -220
- package/engines/questdb/binary-manager.ts +0 -310
- package/engines/questdb/binary-urls.ts +0 -34
- package/engines/questdb/hostdb-releases.ts +0 -23
- package/engines/questdb/index.ts +0 -1023
- package/engines/questdb/restore.ts +0 -260
- package/engines/questdb/version-maps.ts +0 -37
- package/engines/questdb/version-validator.ts +0 -121
- package/engines/redis/README.md +0 -173
- package/engines/redis/backup.ts +0 -389
- package/engines/redis/binary-manager.ts +0 -44
- package/engines/redis/binary-urls.ts +0 -117
- package/engines/redis/cli-utils.ts +0 -42
- package/engines/redis/hostdb-releases.ts +0 -23
- package/engines/redis/index.ts +0 -1583
- package/engines/redis/restore.ts +0 -443
- package/engines/redis/version-maps.ts +0 -81
- package/engines/redis/version-validator.ts +0 -131
- package/engines/sqlite/README.md +0 -162
- package/engines/sqlite/binary-manager.ts +0 -52
- package/engines/sqlite/hostdb-releases.ts +0 -23
- package/engines/sqlite/index.ts +0 -641
- package/engines/sqlite/registry.ts +0 -198
- package/engines/sqlite/scanner.ts +0 -22
- package/engines/sqlite/version-maps.ts +0 -64
- package/engines/surrealdb/README.md +0 -218
- package/engines/surrealdb/backup.ts +0 -131
- package/engines/surrealdb/binary-manager.ts +0 -45
- package/engines/surrealdb/binary-urls.ts +0 -40
- package/engines/surrealdb/cli-utils.ts +0 -173
- package/engines/surrealdb/hostdb-releases.ts +0 -23
- package/engines/surrealdb/index.ts +0 -1246
- package/engines/surrealdb/restore.ts +0 -302
- package/engines/surrealdb/version-maps.ts +0 -41
- package/engines/tigerbeetle/README.md +0 -61
- package/engines/tigerbeetle/backup.ts +0 -49
- package/engines/tigerbeetle/binary-manager.ts +0 -95
- package/engines/tigerbeetle/binary-urls.ts +0 -62
- package/engines/tigerbeetle/hostdb-releases.ts +0 -26
- package/engines/tigerbeetle/index.ts +0 -746
- package/engines/tigerbeetle/restore.ts +0 -130
- package/engines/tigerbeetle/version-validator.ts +0 -126
- package/engines/typedb/backup.ts +0 -167
- package/engines/typedb/binary-manager.ts +0 -200
- package/engines/typedb/binary-urls.ts +0 -40
- package/engines/typedb/cli-utils.ts +0 -210
- package/engines/typedb/hostdb-releases.ts +0 -23
- package/engines/typedb/index.ts +0 -1275
- package/engines/typedb/restore.ts +0 -377
- package/engines/typedb/version-maps.ts +0 -48
- package/engines/typedb/version-validator.ts +0 -127
- package/engines/valkey/README.md +0 -219
- package/engines/valkey/backup.ts +0 -389
- package/engines/valkey/binary-manager.ts +0 -45
- package/engines/valkey/binary-urls.ts +0 -122
- package/engines/valkey/cli-utils.ts +0 -42
- package/engines/valkey/hostdb-releases.ts +0 -23
- package/engines/valkey/index.ts +0 -1585
- package/engines/valkey/restore.ts +0 -446
- package/engines/valkey/version-maps.ts +0 -81
- package/engines/valkey/version-validator.ts +0 -131
- package/engines/weaviate/README.md +0 -302
- package/engines/weaviate/api-client.ts +0 -61
- package/engines/weaviate/backup.ts +0 -145
- package/engines/weaviate/binary-manager.ts +0 -80
- package/engines/weaviate/binary-urls.ts +0 -115
- package/engines/weaviate/cli-utils.ts +0 -43
- package/engines/weaviate/hostdb-releases.ts +0 -23
- package/engines/weaviate/index.ts +0 -1139
- package/engines/weaviate/restore.ts +0 -235
- package/engines/weaviate/version-maps.ts +0 -78
- package/engines/weaviate/version-validator.ts +0 -128
- package/types/index.ts +0 -624
- /package/{config → dist/config}/engines.json +0 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version migration utilities for detecting and updating outdated container versions
|
|
3
|
+
*
|
|
4
|
+
* Detects containers using versions that are no longer in the version maps
|
|
5
|
+
* (e.g., from the zonky.io era) and offers to migrate them to currently
|
|
6
|
+
* supported versions while preserving major version compatibility.
|
|
7
|
+
*/
|
|
8
|
+
import { existsSync } from 'fs';
|
|
9
|
+
import { rm } from 'fs/promises';
|
|
10
|
+
import { paths } from '../config/paths.js';
|
|
11
|
+
import { containerManager } from './container-manager.js';
|
|
12
|
+
import { platformService } from './platform-service.js';
|
|
13
|
+
import { Engine, isFileBasedEngine } from '../types/index.js';
|
|
14
|
+
// Import version maps from all engines
|
|
15
|
+
import { POSTGRESQL_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as PG_MAJORS, } from '../engines/postgresql/version-maps.js';
|
|
16
|
+
import { MYSQL_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as MYSQL_MAJORS, } from '../engines/mysql/version-maps.js';
|
|
17
|
+
import { MARIADB_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as MARIADB_MAJORS, } from '../engines/mariadb/version-maps.js';
|
|
18
|
+
import { MONGODB_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as MONGODB_MAJORS, } from '../engines/mongodb/version-maps.js';
|
|
19
|
+
import { FERRETDB_VERSION_MAP, DOCUMENTDB_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as FERRET_MAJORS, } from '../engines/ferretdb/version-maps.js';
|
|
20
|
+
import { REDIS_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as REDIS_MAJORS, } from '../engines/redis/version-maps.js';
|
|
21
|
+
import { VALKEY_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as VALKEY_MAJORS, } from '../engines/valkey/version-maps.js';
|
|
22
|
+
import { CLICKHOUSE_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as CH_MAJORS, } from '../engines/clickhouse/version-maps.js';
|
|
23
|
+
import { QDRANT_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as QDRANT_MAJORS, } from '../engines/qdrant/version-maps.js';
|
|
24
|
+
import { MEILISEARCH_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS as MEILI_MAJORS, } from '../engines/meilisearch/version-maps.js';
|
|
25
|
+
// Registry of version maps per engine
|
|
26
|
+
const VERSION_MAPS = {
|
|
27
|
+
[Engine.PostgreSQL]: {
|
|
28
|
+
versionMap: POSTGRESQL_VERSION_MAP,
|
|
29
|
+
majorVersions: PG_MAJORS,
|
|
30
|
+
},
|
|
31
|
+
[Engine.MySQL]: {
|
|
32
|
+
versionMap: MYSQL_VERSION_MAP,
|
|
33
|
+
majorVersions: MYSQL_MAJORS,
|
|
34
|
+
},
|
|
35
|
+
[Engine.MariaDB]: {
|
|
36
|
+
versionMap: MARIADB_VERSION_MAP,
|
|
37
|
+
majorVersions: MARIADB_MAJORS,
|
|
38
|
+
},
|
|
39
|
+
[Engine.MongoDB]: {
|
|
40
|
+
versionMap: MONGODB_VERSION_MAP,
|
|
41
|
+
majorVersions: MONGODB_MAJORS,
|
|
42
|
+
},
|
|
43
|
+
[Engine.FerretDB]: {
|
|
44
|
+
versionMap: FERRETDB_VERSION_MAP,
|
|
45
|
+
majorVersions: FERRET_MAJORS,
|
|
46
|
+
},
|
|
47
|
+
[Engine.Redis]: {
|
|
48
|
+
versionMap: REDIS_VERSION_MAP,
|
|
49
|
+
majorVersions: REDIS_MAJORS,
|
|
50
|
+
},
|
|
51
|
+
[Engine.Valkey]: {
|
|
52
|
+
versionMap: VALKEY_VERSION_MAP,
|
|
53
|
+
majorVersions: VALKEY_MAJORS,
|
|
54
|
+
},
|
|
55
|
+
[Engine.ClickHouse]: {
|
|
56
|
+
versionMap: CLICKHOUSE_VERSION_MAP,
|
|
57
|
+
majorVersions: CH_MAJORS,
|
|
58
|
+
},
|
|
59
|
+
[Engine.Qdrant]: {
|
|
60
|
+
versionMap: QDRANT_VERSION_MAP,
|
|
61
|
+
majorVersions: QDRANT_MAJORS,
|
|
62
|
+
},
|
|
63
|
+
[Engine.Meilisearch]: {
|
|
64
|
+
versionMap: MEILISEARCH_VERSION_MAP,
|
|
65
|
+
majorVersions: MEILI_MAJORS,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
// Separate map for FerretDB backend (DocumentDB)
|
|
69
|
+
const DOCUMENTDB_INFO = {
|
|
70
|
+
versionMap: DOCUMENTDB_VERSION_MAP,
|
|
71
|
+
majorVersions: ['17'],
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Find which major version a full version belongs to by checking prefixes
|
|
75
|
+
* against SUPPORTED_MAJOR_VERSIONS.
|
|
76
|
+
*
|
|
77
|
+
* Different engines use different major version formats:
|
|
78
|
+
* - PostgreSQL: Single digit (e.g., '17')
|
|
79
|
+
* - MySQL: Two-part (e.g., '8.4')
|
|
80
|
+
* - MariaDB: Two-part (e.g., '11.8')
|
|
81
|
+
* - MongoDB: Two-part (e.g., '8.0')
|
|
82
|
+
* - ClickHouse: Two-part YY.MM (e.g., '25.12')
|
|
83
|
+
* - Redis/Valkey: Single digit (e.g., '7', '8')
|
|
84
|
+
* - Qdrant/Meilisearch: Single digit (e.g., '1')
|
|
85
|
+
*
|
|
86
|
+
* @param engine - The database engine
|
|
87
|
+
* @param version - Full version string (e.g., '17.2.0')
|
|
88
|
+
* @returns Major version string or null if not found
|
|
89
|
+
*/
|
|
90
|
+
export function getMajorVersion(engine, version) {
|
|
91
|
+
const info = VERSION_MAPS[engine];
|
|
92
|
+
if (!info)
|
|
93
|
+
return null;
|
|
94
|
+
// Sort by length descending so "8.4" matches before "8"
|
|
95
|
+
const sorted = [...info.majorVersions].sort((a, b) => b.length - a.length);
|
|
96
|
+
for (const major of sorted) {
|
|
97
|
+
if (version.startsWith(major + '.') || version === major) {
|
|
98
|
+
return major;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get the major version for FerretDB backend (DocumentDB).
|
|
105
|
+
* Backend versions use format like "17-0.107.0" where "17" is the major.
|
|
106
|
+
*/
|
|
107
|
+
export function getDocumentDBMajorVersion(version) {
|
|
108
|
+
// Format: "17-0.107.0" -> major is "17"
|
|
109
|
+
const dashIndex = version.indexOf('-');
|
|
110
|
+
if (dashIndex > 0) {
|
|
111
|
+
const major = version.substring(0, dashIndex);
|
|
112
|
+
if (DOCUMENTDB_INFO.majorVersions.includes(major)) {
|
|
113
|
+
return major;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Check if a version exists as a VALUE in the version map
|
|
120
|
+
* (not just a key).
|
|
121
|
+
*
|
|
122
|
+
* @param engine - The database engine
|
|
123
|
+
* @param version - Version string to check
|
|
124
|
+
* @returns True if the version is a supported full version
|
|
125
|
+
*/
|
|
126
|
+
export function isVersionSupported(engine, version) {
|
|
127
|
+
const info = VERSION_MAPS[engine];
|
|
128
|
+
if (!info)
|
|
129
|
+
return false;
|
|
130
|
+
const supportedVersions = Object.values(info.versionMap);
|
|
131
|
+
return supportedVersions.includes(version);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Check if a DocumentDB backend version is supported.
|
|
135
|
+
*/
|
|
136
|
+
export function isDocumentDBVersionSupported(version) {
|
|
137
|
+
const supportedVersions = Object.values(DOCUMENTDB_INFO.versionMap);
|
|
138
|
+
return supportedVersions.includes(version);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the current full version for a major version.
|
|
142
|
+
*
|
|
143
|
+
* @param engine - The database engine
|
|
144
|
+
* @param majorVersion - Major version (e.g., '17', '8.4')
|
|
145
|
+
* @returns Current full version or null if not found
|
|
146
|
+
*/
|
|
147
|
+
export function getTargetVersion(engine, majorVersion) {
|
|
148
|
+
const info = VERSION_MAPS[engine];
|
|
149
|
+
if (!info)
|
|
150
|
+
return null;
|
|
151
|
+
return info.versionMap[majorVersion] || null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get the current full version for a DocumentDB major version.
|
|
155
|
+
*/
|
|
156
|
+
export function getDocumentDBTargetVersion(majorVersion) {
|
|
157
|
+
return DOCUMENTDB_INFO.versionMap[majorVersion] || null;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Find all containers that have outdated versions.
|
|
161
|
+
* Returns containers whose versions are not in the current version maps.
|
|
162
|
+
*
|
|
163
|
+
* @returns Array of outdated container information
|
|
164
|
+
*/
|
|
165
|
+
export async function findOutdatedContainers() {
|
|
166
|
+
const containers = await containerManager.list();
|
|
167
|
+
const outdated = [];
|
|
168
|
+
for (const container of containers) {
|
|
169
|
+
const engine = container.engine;
|
|
170
|
+
// Skip file-based engines - they use simplified major versions (e.g., "3", "1")
|
|
171
|
+
// that always resolve to current
|
|
172
|
+
if (isFileBasedEngine(engine)) {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
// Check main version
|
|
176
|
+
if (!isVersionSupported(engine, container.version)) {
|
|
177
|
+
const majorVersion = getMajorVersion(engine, container.version);
|
|
178
|
+
if (majorVersion) {
|
|
179
|
+
const targetVersion = getTargetVersion(engine, majorVersion);
|
|
180
|
+
if (targetVersion && targetVersion !== container.version) {
|
|
181
|
+
outdated.push({
|
|
182
|
+
container,
|
|
183
|
+
currentVersion: container.version,
|
|
184
|
+
targetVersion,
|
|
185
|
+
majorVersion,
|
|
186
|
+
field: 'version',
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Check FerretDB backend version
|
|
192
|
+
if (engine === Engine.FerretDB && container.backendVersion) {
|
|
193
|
+
if (!isDocumentDBVersionSupported(container.backendVersion)) {
|
|
194
|
+
const majorVersion = getDocumentDBMajorVersion(container.backendVersion);
|
|
195
|
+
if (majorVersion) {
|
|
196
|
+
const targetVersion = getDocumentDBTargetVersion(majorVersion);
|
|
197
|
+
if (targetVersion && targetVersion !== container.backendVersion) {
|
|
198
|
+
outdated.push({
|
|
199
|
+
container,
|
|
200
|
+
currentVersion: container.backendVersion,
|
|
201
|
+
targetVersion,
|
|
202
|
+
majorVersion,
|
|
203
|
+
field: 'backendVersion',
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return outdated;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Update a container's version in its config file.
|
|
214
|
+
*
|
|
215
|
+
* @param name - Container name
|
|
216
|
+
* @param targetVersion - New version to set
|
|
217
|
+
* @param field - Which field to update ('version' or 'backendVersion')
|
|
218
|
+
*/
|
|
219
|
+
export async function migrateContainerVersion(name, targetVersion, field) {
|
|
220
|
+
await containerManager.updateConfig(name, { [field]: targetVersion });
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Check if any containers are using a specific version.
|
|
224
|
+
*
|
|
225
|
+
* @param engine - The database engine
|
|
226
|
+
* @param version - The version to check
|
|
227
|
+
* @returns True if at least one container uses this version
|
|
228
|
+
*/
|
|
229
|
+
export async function isVersionInUse(engine, version) {
|
|
230
|
+
const containers = await containerManager.list();
|
|
231
|
+
return containers.some((c) => c.engine === engine &&
|
|
232
|
+
(c.version === version || c.backendVersion === version));
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Delete an old binary directory from ~/.spindb/bin/
|
|
236
|
+
* Only deletes if no other containers are using this version.
|
|
237
|
+
*
|
|
238
|
+
* @param engine - The database engine
|
|
239
|
+
* @param oldVersion - The old version to remove
|
|
240
|
+
* @returns True if the binary was deleted, false if still in use or not found
|
|
241
|
+
*/
|
|
242
|
+
export async function deleteOldBinaryIfUnused(engine, oldVersion) {
|
|
243
|
+
// Check if any containers still use this version
|
|
244
|
+
if (await isVersionInUse(engine, oldVersion)) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
const platformInfo = platformService.getPlatformInfo();
|
|
248
|
+
const binaryPath = paths.getBinaryPath({
|
|
249
|
+
engine: engine,
|
|
250
|
+
version: oldVersion,
|
|
251
|
+
platform: platformInfo.platform,
|
|
252
|
+
arch: platformInfo.arch,
|
|
253
|
+
});
|
|
254
|
+
if (existsSync(binaryPath)) {
|
|
255
|
+
await rm(binaryPath, { recursive: true, force: true });
|
|
256
|
+
return true;
|
|
257
|
+
}
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=version-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-migration.js","sourceRoot":"","sources":["../../core/version-migration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAwB,MAAM,UAAU,CAAA;AAE1E,uCAAuC;AACvC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,IAAI,SAAS,GACtC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,wBAAwB,IAAI,YAAY,GACzC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,IAAI,cAAc,GAC3C,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,IAAI,cAAc,GAC3C,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,IAAI,aAAa,GAC1C,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,IAAI,YAAY,GACzC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,IAAI,aAAa,GAC1C,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,IAAI,SAAS,GACtC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,IAAI,aAAa,GAC1C,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,IAAI,YAAY,GACzC,MAAM,qCAAqC,CAAA;AAO5C,sCAAsC;AACtC,MAAM,YAAY,GAA4C;IAC5D,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACnB,UAAU,EAAE,sBAAsB;QAClC,aAAa,EAAE,SAAS;KACzB;IACD,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACd,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,YAAY;KAC5B;IACD,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAChB,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,cAAc;KAC9B;IACD,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAChB,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,cAAc;KAC9B;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACjB,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,aAAa;KAC7B;IACD,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACd,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,YAAY;KAC5B;IACD,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QACf,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,aAAa;KAC7B;IACD,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACnB,UAAU,EAAE,sBAAsB;QAClC,aAAa,EAAE,SAAS;KACzB;IACD,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QACf,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,aAAa;KAC7B;IACD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACpB,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,YAAY;KAC5B;CACF,CAAA;AAED,iDAAiD;AACjD,MAAM,eAAe,GAAmB;IACtC,UAAU,EAAE,sBAAsB;IAClC,aAAa,EAAE,CAAC,IAAI,CAAC;CACtB,CAAA;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAAe;IAEf,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtB,wDAAwD;IACxD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACzD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,wCAAwC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACtC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QAC7C,IAAI,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,OAAe;IAChE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEvB,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IACnE,OAAO,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,YAAoB;IAEpB,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,YAAoB;IAEpB,OAAO,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAA;IAChD,MAAM,QAAQ,GAAwB,EAAE,CAAA;IAExC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAA;QAEzC,gFAAgF;QAChF,iCAAiC;QACjC,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,SAAQ;QACV,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;YAC/D,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;gBAC5D,IAAI,aAAa,IAAI,aAAa,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBACzD,QAAQ,CAAC,IAAI,CAAC;wBACZ,SAAS;wBACT,cAAc,EAAE,SAAS,CAAC,OAAO;wBACjC,aAAa;wBACb,YAAY;wBACZ,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,MAAM,KAAK,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAC3D,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;gBACxE,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,aAAa,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAA;oBAC9D,IAAI,aAAa,IAAI,aAAa,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;wBAChE,QAAQ,CAAC,IAAI,CAAC;4BACZ,SAAS;4BACT,cAAc,EAAE,SAAS,CAAC,cAAc;4BACxC,aAAa;4BACb,YAAY;4BACZ,KAAK,EAAE,gBAAgB;yBACxB,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAY,EACZ,aAAqB,EACrB,KAAmC;IAEnC,MAAM,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,OAAe;IAEf,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAA;IAChD,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,MAAM;QACnB,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,CAC1D,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuB,EACvB,UAAkB;IAElB,iDAAiD;IACjD,IAAI,MAAM,cAAc,CAAC,MAAgB,EAAE,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,EAAE,CAAA;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC;QACrC,MAAM,EAAE,MAAgB;QACxB,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,IAAI,EAAE,YAAY,CAAC,IAAI;KACxB,CAAC,CAAA;IAEF,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared version comparison utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides robust version comparison that handles prerelease suffixes
|
|
5
|
+
* like "11.8.0-rc1" or "7.4.7-beta2".
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parse a version segment into numeric prefix and suffix
|
|
9
|
+
*
|
|
10
|
+
* Expected format: optional digits followed by optional suffix
|
|
11
|
+
* Examples:
|
|
12
|
+
* "7" -> { num: 7, suffix: "" }
|
|
13
|
+
* "7-rc1" -> { num: 7, suffix: "-rc1" }
|
|
14
|
+
* "0" -> { num: 0, suffix: "" }
|
|
15
|
+
*
|
|
16
|
+
* Non-numeric segments (no leading digits):
|
|
17
|
+
* "abc" -> { num: -1, suffix: "abc" }
|
|
18
|
+
* "" -> { num: -1, suffix: "" }
|
|
19
|
+
*
|
|
20
|
+
* Use num === -1 to detect non-numeric segments. When comparing versions,
|
|
21
|
+
* non-numeric segments sort before numeric ones (since -1 < 0).
|
|
22
|
+
*
|
|
23
|
+
* @param segment - A single version segment (part between dots)
|
|
24
|
+
* @returns Object with numeric prefix and remaining suffix
|
|
25
|
+
*/
|
|
26
|
+
export function parseVersionSegment(segment) {
|
|
27
|
+
const match = segment.match(/^(\d+)(.*)$/);
|
|
28
|
+
if (!match) {
|
|
29
|
+
// Non-numeric segment: use -1 as sentinel so callers can distinguish
|
|
30
|
+
return { num: -1, suffix: segment };
|
|
31
|
+
}
|
|
32
|
+
return { num: parseInt(match[1], 10), suffix: match[2] };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Compare two version strings (e.g., "11.8.5" vs "11.8.4")
|
|
36
|
+
* Handles prerelease suffixes like "11.8.0-rc1" - empty suffix sorts after prerelease
|
|
37
|
+
* Returns positive if a > b, negative if a < b, 0 if equal
|
|
38
|
+
*/
|
|
39
|
+
export function compareVersions(a, b) {
|
|
40
|
+
const partsA = a.split('.');
|
|
41
|
+
const partsB = b.split('.');
|
|
42
|
+
for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
|
|
43
|
+
const segA = parseVersionSegment(partsA[i] || '0');
|
|
44
|
+
const segB = parseVersionSegment(partsB[i] || '0');
|
|
45
|
+
// Compare numeric parts first
|
|
46
|
+
if (segA.num !== segB.num) {
|
|
47
|
+
return segA.num - segB.num;
|
|
48
|
+
}
|
|
49
|
+
// If numeric parts equal, compare suffixes
|
|
50
|
+
// Empty suffix (release) > prerelease suffix (e.g., "-rc1")
|
|
51
|
+
if (segA.suffix !== segB.suffix) {
|
|
52
|
+
if (segA.suffix === '')
|
|
53
|
+
return 1; // a is release, b is prerelease
|
|
54
|
+
if (segB.suffix === '')
|
|
55
|
+
return -1; // b is release, a is prerelease
|
|
56
|
+
// NOTE: Lexicographic comparison means -rc10 < -rc2 (incorrect for numeric suffixes).
|
|
57
|
+
// This is acceptable for hostdb versions which use single-digit prereleases.
|
|
58
|
+
// If multi-digit prereleases are needed, parse numeric suffix separately.
|
|
59
|
+
return segA.suffix.localeCompare(segB.suffix);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if versionA is newer than versionB
|
|
66
|
+
* Convenience wrapper around compareVersions
|
|
67
|
+
*/
|
|
68
|
+
export function isNewerVersion(versionA, versionB) {
|
|
69
|
+
return compareVersions(versionA, versionB) > 0;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Regex pattern for validating semver-like version strings.
|
|
73
|
+
* Matches: X, X.Y, or X.Y.Z where each component is numeric.
|
|
74
|
+
* Examples: "8", "8.0", "8.0.40", "17", "17.7.0"
|
|
75
|
+
*/
|
|
76
|
+
export const SEMVER_LIKE_PATTERN = /^\d+(\.\d+){0,2}$/;
|
|
77
|
+
/**
|
|
78
|
+
* Validate that a version string matches semver-like format (X, X.Y, or X.Y.Z).
|
|
79
|
+
* Used by engines that require strict version format validation (MySQL, PostgreSQL).
|
|
80
|
+
*
|
|
81
|
+
* @param version - Version string to validate
|
|
82
|
+
* @param engineName - Engine name for error message (e.g., 'MySQL', 'PostgreSQL')
|
|
83
|
+
* @throws TypeError if version format is invalid
|
|
84
|
+
*/
|
|
85
|
+
export function validateSemverLikeVersion(version, engineName) {
|
|
86
|
+
if (!SEMVER_LIKE_PATTERN.test(version)) {
|
|
87
|
+
throw new TypeError(`Invalid ${engineName} version format: "${version}". ` +
|
|
88
|
+
`Expected format: X, X.Y, or X.Y.Z (e.g., "8", "8.0", "8.0.40")`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=version-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-utils.js","sourceRoot":"","sources":["../../core/version-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAIjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,qEAAqE;QACrE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACrC,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QAElD,8BAA8B;QAC9B,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAC5B,CAAC;QAED,2CAA2C;QAC3C,4DAA4D;QAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAA,CAAC,gCAAgC;YACjE,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAA,CAAC,gCAAgC;YAClE,sFAAsF;YACtF,6EAA6E;YAC7E,0EAA0E;YAC1E,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,QAAgB;IAC/D,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,UAAkB;IAElB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CACjB,WAAW,UAAU,qBAAqB,OAAO,KAAK;YACpD,gEAAgE,CACnE,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { UnsupportedOperationError } from '../core/error-handler.js';
|
|
2
|
+
import { stopPgweb } from '../core/pgweb-utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Base class for database engines
|
|
5
|
+
* All engines (PostgreSQL, MySQL, SQLite) should extend this class
|
|
6
|
+
*/
|
|
7
|
+
export class BaseEngine {
|
|
8
|
+
/**
|
|
9
|
+
* Get the path to the psql client if available
|
|
10
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
11
|
+
* configured psql should override this method.
|
|
12
|
+
*/
|
|
13
|
+
async getPsqlPath() {
|
|
14
|
+
throw new Error('psql not found');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get the path to the mysql client if available
|
|
18
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
19
|
+
* configured mysql should override this method.
|
|
20
|
+
*/
|
|
21
|
+
async getMysqlClientPath() {
|
|
22
|
+
throw new Error('mysql client not found');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the path to the mariadb client if available
|
|
26
|
+
* Default implementation throws; MariaDB engine overrides this method.
|
|
27
|
+
*/
|
|
28
|
+
async getMariadbClientPath() {
|
|
29
|
+
throw new Error('mariadb client not found');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get the path to the mysqladmin client if available
|
|
33
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
34
|
+
* configured mysqladmin should override this method.
|
|
35
|
+
*/
|
|
36
|
+
async getMysqladminPath() {
|
|
37
|
+
throw new Error('mysqladmin not found');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get the path to the mongosh client if available
|
|
41
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
42
|
+
* configured mongosh should override this method.
|
|
43
|
+
*/
|
|
44
|
+
async getMongoshPath() {
|
|
45
|
+
throw new Error('mongosh not found');
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the path to the redis-cli client if available
|
|
49
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
50
|
+
* configured redis-cli should override this method.
|
|
51
|
+
*/
|
|
52
|
+
async getRedisCliPath() {
|
|
53
|
+
throw new Error('redis-cli not found');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get the path to the valkey-cli client if available
|
|
57
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
58
|
+
* configured valkey-cli should override this method.
|
|
59
|
+
*/
|
|
60
|
+
async getValkeyCliPath() {
|
|
61
|
+
throw new Error('valkey-cli not found');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get the path to the clickhouse client if available
|
|
65
|
+
* Default implementation throws; engines that can provide a bundled or
|
|
66
|
+
* configured clickhouse should override this method.
|
|
67
|
+
*/
|
|
68
|
+
async getClickHouseClientPath() {
|
|
69
|
+
throw new Error('clickhouse client not found');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the path to the cockroach binary if available
|
|
73
|
+
* Default implementation throws; CockroachDB engine overrides this method.
|
|
74
|
+
*/
|
|
75
|
+
async getCockroachPath(_version) {
|
|
76
|
+
throw new Error('cockroach not found');
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get the path to the surreal binary if available
|
|
80
|
+
* Default implementation throws; SurrealDB engine overrides this method.
|
|
81
|
+
*/
|
|
82
|
+
async getSurrealPath(_version) {
|
|
83
|
+
throw new Error('surreal not found');
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the path to the typedb console binary if available
|
|
87
|
+
* Default implementation throws; TypeDB engine overrides this method.
|
|
88
|
+
*/
|
|
89
|
+
async getTypeDBConsolePath(_version) {
|
|
90
|
+
throw new Error('typedb_console_bin not found');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the path to the influxdb3 binary if available
|
|
94
|
+
* Default implementation throws; InfluxDB engine overrides this method.
|
|
95
|
+
*/
|
|
96
|
+
async getInfluxDBPath(_version) {
|
|
97
|
+
throw new Error('influxdb3 not found');
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the path to the tigerbeetle binary if available
|
|
101
|
+
* Default implementation throws; TigerBeetle engine overrides this method.
|
|
102
|
+
*/
|
|
103
|
+
async getTigerBeetlePath(_version) {
|
|
104
|
+
throw new Error('tigerbeetle not found');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get the path to the sqlite3 client if available
|
|
108
|
+
* Default implementation returns null; SQLite engine overrides this method.
|
|
109
|
+
*/
|
|
110
|
+
async getSqlite3Path(_version) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get the path to the duckdb client if available
|
|
115
|
+
* Default implementation returns null; DuckDB engine overrides this method.
|
|
116
|
+
*/
|
|
117
|
+
async getDuckDBPath(_version) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Fetch all available versions from remote source (grouped by major version)
|
|
122
|
+
* Returns a map of major version -> array of full versions (sorted latest first)
|
|
123
|
+
* Falls back to hardcoded versions if network fails
|
|
124
|
+
*/
|
|
125
|
+
async fetchAvailableVersions() {
|
|
126
|
+
// Default implementation returns supported versions as single-item arrays
|
|
127
|
+
const versions = {};
|
|
128
|
+
for (const v of this.supportedVersions) {
|
|
129
|
+
versions[v] = [v];
|
|
130
|
+
}
|
|
131
|
+
return versions;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Terminate all active connections to a database.
|
|
135
|
+
* Required before dropping a database that may have active connections.
|
|
136
|
+
* Default implementation is a no-op - engines that need it should override.
|
|
137
|
+
* @param container - The container configuration
|
|
138
|
+
* @param database - The database name to terminate connections for
|
|
139
|
+
*/
|
|
140
|
+
async terminateConnections(_container, _database) {
|
|
141
|
+
// Default: no-op. Override in engines that support connection termination.
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Stop pgweb if running for this container.
|
|
145
|
+
* Called from stop() in engines that support pgweb (PostgreSQL, CockroachDB, FerretDB).
|
|
146
|
+
*/
|
|
147
|
+
async stopPgweb(containerName) {
|
|
148
|
+
await stopPgweb(containerName, this.name);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* List all user databases on the server, excluding system databases.
|
|
152
|
+
* Used to sync the registry with actual databases on the server.
|
|
153
|
+
*
|
|
154
|
+
* System databases excluded by default:
|
|
155
|
+
* - PostgreSQL: template0, template1, postgres
|
|
156
|
+
* - MySQL/MariaDB: information_schema, mysql, performance_schema, sys
|
|
157
|
+
* - CockroachDB: defaultdb, postgres, system
|
|
158
|
+
*
|
|
159
|
+
* @param container - The container configuration
|
|
160
|
+
* @returns Array of database names (excluding system databases)
|
|
161
|
+
* @throws Error if the engine doesn't support multiple databases or listing
|
|
162
|
+
*/
|
|
163
|
+
async listDatabases(_container) {
|
|
164
|
+
throw new UnsupportedOperationError('listDatabases', this.displayName);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Create a database user with the given credentials.
|
|
168
|
+
* Returns credentials including connection string.
|
|
169
|
+
*
|
|
170
|
+
* @param container - The container configuration
|
|
171
|
+
* @param options - Username, password, and optional target database
|
|
172
|
+
* @returns UserCredentials with connection info
|
|
173
|
+
* @throws UnsupportedOperationError for engines that don't support users (SQLite, DuckDB, QuestDB)
|
|
174
|
+
*/
|
|
175
|
+
async createUser(_container, _options) {
|
|
176
|
+
throw new UnsupportedOperationError('createUser', this.displayName);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=base-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
|