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
|
@@ -1,408 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MySQL binary detection for system-installed MySQL
|
|
3
|
-
* Detects MySQL installations from Homebrew, apt, or other package managers
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { exec } from 'child_process'
|
|
7
|
-
import { existsSync, realpathSync } from 'fs'
|
|
8
|
-
import { promisify } from 'util'
|
|
9
|
-
import { platformService } from '../../core/platform-service'
|
|
10
|
-
import { Platform } from '../../types'
|
|
11
|
-
|
|
12
|
-
const execAsync = promisify(exec)
|
|
13
|
-
|
|
14
|
-
// Find a MySQL binary by name using the platform service
|
|
15
|
-
export async function findMysqlBinary(name: string): Promise<string | null> {
|
|
16
|
-
return platformService.findToolPath(name)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Get the path to mysqld (MySQL server)
|
|
20
|
-
export async function getMysqldPath(): Promise<string | null> {
|
|
21
|
-
return findMysqlBinary('mysqld')
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Get the path to mysql client
|
|
25
|
-
export async function getMysqlClientPath(): Promise<string | null> {
|
|
26
|
-
return findMysqlBinary('mysql')
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Get the path to mysqladmin
|
|
30
|
-
export async function getMysqladminPath(): Promise<string | null> {
|
|
31
|
-
return findMysqlBinary('mysqladmin')
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Get the path to mysqldump
|
|
35
|
-
export async function getMysqldumpPath(): Promise<string | null> {
|
|
36
|
-
return findMysqlBinary('mysqldump')
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Get the path to mysql_install_db (MariaDB initialization script)
|
|
40
|
-
export async function getMysqlInstallDbPath(): Promise<string | null> {
|
|
41
|
-
return findMysqlBinary('mysql_install_db')
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Get the path to mariadb-install-db (alternative MariaDB initialization)
|
|
45
|
-
export async function getMariadbInstallDbPath(): Promise<string | null> {
|
|
46
|
-
return findMysqlBinary('mariadb-install-db')
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Detect if the installed MySQL is actually MariaDB
|
|
50
|
-
export async function isMariaDB(): Promise<boolean> {
|
|
51
|
-
const mysqld = await getMysqldPath()
|
|
52
|
-
if (!mysqld) return false
|
|
53
|
-
|
|
54
|
-
try {
|
|
55
|
-
const { stdout } = await execAsync(`"${mysqld}" --version`)
|
|
56
|
-
return stdout.toLowerCase().includes('mariadb')
|
|
57
|
-
} catch {
|
|
58
|
-
return false
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Get the MySQL server version from a mysqld binary
|
|
63
|
-
export async function getMysqlVersion(
|
|
64
|
-
mysqldPath: string,
|
|
65
|
-
): Promise<string | null> {
|
|
66
|
-
try {
|
|
67
|
-
const { stdout } = await execAsync(`"${mysqldPath}" --version`)
|
|
68
|
-
// Example output: mysqld Ver 8.0.35 for macos14.0 on arm64 (Homebrew)
|
|
69
|
-
const match = stdout.match(/Ver\s+(\d+\.\d+\.\d+)/)
|
|
70
|
-
return match ? match[1] : null
|
|
71
|
-
} catch {
|
|
72
|
-
return null
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Get the major version from a full version string
|
|
78
|
-
* e.g., "8.0.35" -> "8.0", "v8.0.35" -> "8.0", "8" -> "8"
|
|
79
|
-
*/
|
|
80
|
-
export function getMajorVersion(fullVersion: string): string {
|
|
81
|
-
if (!fullVersion) return ''
|
|
82
|
-
|
|
83
|
-
// Trim whitespace and strip leading "v" prefix
|
|
84
|
-
const normalized = fullVersion.trim().replace(/^v/i, '')
|
|
85
|
-
if (!normalized) return ''
|
|
86
|
-
|
|
87
|
-
const parts = normalized.split('.')
|
|
88
|
-
|
|
89
|
-
// If only one part (e.g., "8"), return it as-is
|
|
90
|
-
if (parts.length < 2) {
|
|
91
|
-
return parts[0] || ''
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return `${parts[0]}.${parts[1]}`
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Detect all installed MySQL versions
|
|
99
|
-
* Returns a map of major version -> full version string
|
|
100
|
-
*/
|
|
101
|
-
export async function detectInstalledVersions(): Promise<
|
|
102
|
-
Record<string, string>
|
|
103
|
-
> {
|
|
104
|
-
const versions: Record<string, string> = {}
|
|
105
|
-
const { platform } = platformService.getPlatformInfo()
|
|
106
|
-
|
|
107
|
-
// Check default mysqld
|
|
108
|
-
const defaultMysqld = await getMysqldPath()
|
|
109
|
-
if (defaultMysqld) {
|
|
110
|
-
const version = await getMysqlVersion(defaultMysqld)
|
|
111
|
-
if (version) {
|
|
112
|
-
const major = getMajorVersion(version)
|
|
113
|
-
versions[major] = version
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// Check versioned Homebrew installations (macOS only)
|
|
118
|
-
if (platform === Platform.Darwin) {
|
|
119
|
-
const homebrewPaths = [
|
|
120
|
-
'/opt/homebrew/opt/mysql@5.7/bin/mysqld',
|
|
121
|
-
'/opt/homebrew/opt/mysql@8.0/bin/mysqld',
|
|
122
|
-
'/opt/homebrew/opt/mysql@8.4/bin/mysqld',
|
|
123
|
-
'/usr/local/opt/mysql@5.7/bin/mysqld',
|
|
124
|
-
'/usr/local/opt/mysql@8.0/bin/mysqld',
|
|
125
|
-
'/usr/local/opt/mysql@8.4/bin/mysqld',
|
|
126
|
-
]
|
|
127
|
-
|
|
128
|
-
for (const path of homebrewPaths) {
|
|
129
|
-
if (existsSync(path)) {
|
|
130
|
-
const version = await getMysqlVersion(path)
|
|
131
|
-
if (version) {
|
|
132
|
-
const major = getMajorVersion(version)
|
|
133
|
-
if (!versions[major]) {
|
|
134
|
-
versions[major] = version
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
return versions
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Version-specific Homebrew paths for MySQL
|
|
146
|
-
* Used to find binaries for a specific major version
|
|
147
|
-
*/
|
|
148
|
-
const HOMEBREW_MYSQL_VERSION_PATHS: Record<string, string[]> = {
|
|
149
|
-
'9': [
|
|
150
|
-
'/opt/homebrew/opt/mysql@9.0/bin',
|
|
151
|
-
'/opt/homebrew/opt/mysql/bin', // Unversioned formula might be v9
|
|
152
|
-
'/usr/local/opt/mysql@9.0/bin',
|
|
153
|
-
'/usr/local/opt/mysql/bin',
|
|
154
|
-
],
|
|
155
|
-
'8': [
|
|
156
|
-
'/opt/homebrew/opt/mysql@8.0/bin',
|
|
157
|
-
'/opt/homebrew/opt/mysql@8.4/bin',
|
|
158
|
-
'/opt/homebrew/opt/mysql/bin', // Unversioned formula might be v8
|
|
159
|
-
'/usr/local/opt/mysql@8.0/bin',
|
|
160
|
-
'/usr/local/opt/mysql@8.4/bin',
|
|
161
|
-
'/usr/local/opt/mysql/bin',
|
|
162
|
-
],
|
|
163
|
-
'5': ['/opt/homebrew/opt/mysql@5.7/bin', '/usr/local/opt/mysql@5.7/bin'],
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// Get mysqld path for a specific major version
|
|
167
|
-
export async function getMysqldPathForVersion(
|
|
168
|
-
majorVersion: string,
|
|
169
|
-
): Promise<string | null> {
|
|
170
|
-
const { platform } = platformService.getPlatformInfo()
|
|
171
|
-
|
|
172
|
-
// On macOS, check version-specific Homebrew paths
|
|
173
|
-
if (platform === Platform.Darwin) {
|
|
174
|
-
const paths = HOMEBREW_MYSQL_VERSION_PATHS[majorVersion] || []
|
|
175
|
-
for (const dir of paths) {
|
|
176
|
-
const mysqldPath = `${dir}/mysqld`
|
|
177
|
-
if (existsSync(mysqldPath)) {
|
|
178
|
-
// Verify this is the correct major version
|
|
179
|
-
const version = await getMysqlVersion(mysqldPath)
|
|
180
|
-
if (version) {
|
|
181
|
-
const detectedMajor = getMajorVersion(version).split('.')[0]
|
|
182
|
-
if (detectedMajor === majorVersion) {
|
|
183
|
-
return mysqldPath
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// Fall back to generic detection and version check
|
|
191
|
-
const genericPath = await getMysqldPath()
|
|
192
|
-
if (genericPath) {
|
|
193
|
-
const version = await getMysqlVersion(genericPath)
|
|
194
|
-
if (version) {
|
|
195
|
-
const detectedMajor = getMajorVersion(version).split('.')[0]
|
|
196
|
-
if (detectedMajor === majorVersion) {
|
|
197
|
-
return genericPath
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
return null
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// Get install instructions for MySQL
|
|
206
|
-
export function getInstallInstructions(): string {
|
|
207
|
-
const { platform } = platformService.getPlatformInfo()
|
|
208
|
-
|
|
209
|
-
if (platform === Platform.Darwin) {
|
|
210
|
-
return (
|
|
211
|
-
'MySQL server not found. Install MySQL:\n' +
|
|
212
|
-
' brew install mysql\n' +
|
|
213
|
-
' # or for a specific version:\n' +
|
|
214
|
-
' brew install mysql@8.0'
|
|
215
|
-
)
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
if (platform === Platform.Linux) {
|
|
219
|
-
return (
|
|
220
|
-
'MySQL server not found. Install MySQL:\n' +
|
|
221
|
-
' Ubuntu/Debian: sudo apt install mysql-server\n' +
|
|
222
|
-
' RHEL/CentOS: sudo yum install mysql-server'
|
|
223
|
-
)
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
return (
|
|
227
|
-
'MySQL server not found. Please install MySQL from:\n' +
|
|
228
|
-
' https://dev.mysql.com/downloads/mysql/'
|
|
229
|
-
)
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export type MysqlPackageManager =
|
|
233
|
-
| 'homebrew'
|
|
234
|
-
| 'apt'
|
|
235
|
-
| 'yum'
|
|
236
|
-
| 'dnf'
|
|
237
|
-
| 'pacman'
|
|
238
|
-
| 'unknown'
|
|
239
|
-
|
|
240
|
-
export type MysqlInstallInfo = {
|
|
241
|
-
packageManager: MysqlPackageManager
|
|
242
|
-
packageName: string
|
|
243
|
-
path: string
|
|
244
|
-
uninstallCommand: string
|
|
245
|
-
isMariaDB: boolean
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
// Detect which package manager installed MySQL and get uninstall info
|
|
249
|
-
export async function getMysqlInstallInfo(
|
|
250
|
-
mysqldPath: string,
|
|
251
|
-
): Promise<MysqlInstallInfo> {
|
|
252
|
-
const { platform } = platformService.getPlatformInfo()
|
|
253
|
-
const mariadb = await isMariaDB()
|
|
254
|
-
|
|
255
|
-
// Resolve symlinks to get the actual path
|
|
256
|
-
// e.g., /opt/homebrew/bin/mysqld -> /opt/homebrew/Cellar/mysql/9.5.0/bin/mysqld
|
|
257
|
-
let resolvedPath = mysqldPath
|
|
258
|
-
try {
|
|
259
|
-
resolvedPath = realpathSync(mysqldPath)
|
|
260
|
-
} catch {
|
|
261
|
-
// If symlink resolution fails, use the original path
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
// macOS: Check if path is in Homebrew directories
|
|
265
|
-
if (platform === Platform.Darwin) {
|
|
266
|
-
if (
|
|
267
|
-
mysqldPath.includes('/opt/homebrew/') ||
|
|
268
|
-
mysqldPath.includes('/usr/local/Cellar/') ||
|
|
269
|
-
resolvedPath.includes('/opt/homebrew/') ||
|
|
270
|
-
resolvedPath.includes('/usr/local/Cellar/')
|
|
271
|
-
) {
|
|
272
|
-
// Extract package name from resolved path
|
|
273
|
-
// e.g., /opt/homebrew/Cellar/mysql/9.5.0/bin/mysqld -> mysql
|
|
274
|
-
// e.g., /opt/homebrew/Cellar/mysql@8.0/8.0.35/bin/mysqld -> mysql@8.0
|
|
275
|
-
// e.g., /opt/homebrew/opt/mysql@8.0/bin/mysqld -> mysql@8.0
|
|
276
|
-
let packageName = mariadb ? 'mariadb' : 'mysql'
|
|
277
|
-
|
|
278
|
-
// Try to extract from Cellar path first (most reliable after symlink resolution)
|
|
279
|
-
// Format: /opt/homebrew/Cellar/<formula>/<version>/bin/mysqld
|
|
280
|
-
const cellarMatch = resolvedPath.match(
|
|
281
|
-
/\/(?:opt\/homebrew|usr\/local)\/Cellar\/([^/]+)\//,
|
|
282
|
-
)
|
|
283
|
-
if (cellarMatch) {
|
|
284
|
-
packageName = cellarMatch[1]
|
|
285
|
-
} else {
|
|
286
|
-
// Fall back to opt path pattern
|
|
287
|
-
// Format: /opt/homebrew/opt/<formula>/bin/mysqld
|
|
288
|
-
const optMatch = resolvedPath.match(
|
|
289
|
-
/\/(?:opt\/homebrew|usr\/local)\/opt\/([^/]+)\//,
|
|
290
|
-
)
|
|
291
|
-
if (optMatch) {
|
|
292
|
-
packageName = optMatch[1]
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
return {
|
|
297
|
-
packageManager: 'homebrew',
|
|
298
|
-
packageName,
|
|
299
|
-
path: mysqldPath,
|
|
300
|
-
uninstallCommand: `brew uninstall ${packageName}`,
|
|
301
|
-
isMariaDB: mariadb,
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// Linux: Detect package manager using memoized helper
|
|
307
|
-
if (platform === Platform.Linux) {
|
|
308
|
-
const pm = await getLinuxPackageManager()
|
|
309
|
-
if (pm) {
|
|
310
|
-
const packageName = mariadb ? pm.mariadbPackage : pm.mysqlPackage
|
|
311
|
-
return {
|
|
312
|
-
packageManager: pm.name,
|
|
313
|
-
packageName,
|
|
314
|
-
path: mysqldPath,
|
|
315
|
-
uninstallCommand: pm.uninstallCmd(packageName),
|
|
316
|
-
isMariaDB: mariadb,
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
// Unknown package manager
|
|
322
|
-
return {
|
|
323
|
-
packageManager: 'unknown',
|
|
324
|
-
packageName: mariadb ? 'mariadb' : 'mysql',
|
|
325
|
-
path: mysqldPath,
|
|
326
|
-
uninstallCommand: 'Use your system package manager to uninstall',
|
|
327
|
-
isMariaDB: mariadb,
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* Linux package manager configuration
|
|
333
|
-
* Prioritized list: most common package managers first for faster detection
|
|
334
|
-
*/
|
|
335
|
-
type LinuxPackageManagerConfig = {
|
|
336
|
-
name: MysqlPackageManager
|
|
337
|
-
command: string
|
|
338
|
-
mysqlPackage: string
|
|
339
|
-
mariadbPackage: string
|
|
340
|
-
uninstallCmd: (pkg: string) => string
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
const LINUX_PACKAGE_MANAGERS: LinuxPackageManagerConfig[] = [
|
|
344
|
-
{
|
|
345
|
-
name: 'apt',
|
|
346
|
-
command: 'apt',
|
|
347
|
-
mysqlPackage: 'mysql-server',
|
|
348
|
-
mariadbPackage: 'mariadb-server',
|
|
349
|
-
uninstallCmd: (pkg) => `sudo apt remove ${pkg}`,
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
name: 'dnf',
|
|
353
|
-
command: 'dnf',
|
|
354
|
-
mysqlPackage: 'mysql-server',
|
|
355
|
-
mariadbPackage: 'mariadb-server',
|
|
356
|
-
uninstallCmd: (pkg) => `sudo dnf remove ${pkg}`,
|
|
357
|
-
},
|
|
358
|
-
{
|
|
359
|
-
name: 'yum',
|
|
360
|
-
command: 'yum',
|
|
361
|
-
mysqlPackage: 'mysql-server',
|
|
362
|
-
mariadbPackage: 'mariadb-server',
|
|
363
|
-
uninstallCmd: (pkg) => `sudo yum remove ${pkg}`,
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
name: 'pacman',
|
|
367
|
-
command: 'pacman',
|
|
368
|
-
mysqlPackage: 'mysql',
|
|
369
|
-
mariadbPackage: 'mariadb',
|
|
370
|
-
uninstallCmd: (pkg) => `sudo pacman -Rs ${pkg}`,
|
|
371
|
-
},
|
|
372
|
-
]
|
|
373
|
-
|
|
374
|
-
// Memoized Linux package manager detection result
|
|
375
|
-
let cachedLinuxPackageManager: LinuxPackageManagerConfig | null | undefined
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* Detect the Linux package manager (memoized)
|
|
379
|
-
* Returns the first available package manager from the prioritized list
|
|
380
|
-
*/
|
|
381
|
-
async function getLinuxPackageManager(): Promise<LinuxPackageManagerConfig | null> {
|
|
382
|
-
// Return cached result if available (undefined means not checked yet)
|
|
383
|
-
if (cachedLinuxPackageManager !== undefined) {
|
|
384
|
-
return cachedLinuxPackageManager
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
for (const pm of LINUX_PACKAGE_MANAGERS) {
|
|
388
|
-
try {
|
|
389
|
-
const { stdout } = await execAsync(`which ${pm.command} 2>/dev/null`)
|
|
390
|
-
if (stdout.trim()) {
|
|
391
|
-
cachedLinuxPackageManager = pm
|
|
392
|
-
return pm
|
|
393
|
-
}
|
|
394
|
-
} catch {
|
|
395
|
-
// Package manager not found, try next
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
cachedLinuxPackageManager = null
|
|
400
|
-
return null
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
/**
|
|
404
|
-
* Clear the memoized package manager cache (useful for testing)
|
|
405
|
-
*/
|
|
406
|
-
export function clearPackageManagerCache(): void {
|
|
407
|
-
cachedLinuxPackageManager = undefined
|
|
408
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MySQL Binary Manager
|
|
3
|
-
*
|
|
4
|
-
* Handles downloading, extracting, and managing MySQL binaries from hostdb.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
BaseServerBinaryManager,
|
|
9
|
-
type ServerBinaryManagerConfig,
|
|
10
|
-
} from '../../core/base-server-binary-manager'
|
|
11
|
-
import { getBinaryUrl } from './binary-urls'
|
|
12
|
-
import { normalizeVersion } from './version-maps'
|
|
13
|
-
import { Engine, type Platform, type Arch } from '../../types'
|
|
14
|
-
|
|
15
|
-
class MySQLBinaryManager extends BaseServerBinaryManager {
|
|
16
|
-
protected readonly config: ServerBinaryManagerConfig = {
|
|
17
|
-
engine: Engine.MySQL,
|
|
18
|
-
engineName: 'mysql',
|
|
19
|
-
displayName: 'MySQL',
|
|
20
|
-
serverBinaryNames: ['mysqld'],
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
protected getBinaryUrlFromModule(
|
|
24
|
-
version: string,
|
|
25
|
-
platform: Platform,
|
|
26
|
-
arch: Arch,
|
|
27
|
-
): string {
|
|
28
|
-
return getBinaryUrl(version, platform, arch)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
protected normalizeVersionFromModule(version: string): string {
|
|
32
|
-
return normalizeVersion(version)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
protected parseVersionFromOutput(stdout: string): string | null {
|
|
36
|
-
// Extract version from output like "mysqld Ver 8.0.40"
|
|
37
|
-
const match = stdout.match(/Ver\s+([\d.]+)/)
|
|
38
|
-
return match?.[1] ?? null
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export const mysqlBinaryManager = new MySQLBinaryManager()
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { FALLBACK_VERSION_MAP } from './version-maps'
|
|
2
|
-
import { buildHostdbUrl } from '../../core/hostdb-client'
|
|
3
|
-
import { validateSemverLikeVersion } from '../../core/version-utils'
|
|
4
|
-
import { Engine, Platform, type Arch } from '../../types'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Supported platform identifiers for hostdb downloads.
|
|
8
|
-
* hostdb uses standard Node.js platform naming.
|
|
9
|
-
*/
|
|
10
|
-
const SUPPORTED_PLATFORMS = new Set([
|
|
11
|
-
'darwin-arm64',
|
|
12
|
-
'darwin-x64',
|
|
13
|
-
'linux-arm64',
|
|
14
|
-
'linux-x64',
|
|
15
|
-
'win32-x64',
|
|
16
|
-
])
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Get the hostdb platform identifier
|
|
20
|
-
*
|
|
21
|
-
* hostdb uses standard platform naming (e.g., 'darwin-arm64', 'linux-x64')
|
|
22
|
-
* which matches Node.js platform identifiers directly.
|
|
23
|
-
*
|
|
24
|
-
* @param platform - Node.js platform (e.g., 'darwin', 'linux', 'win32')
|
|
25
|
-
* @param arch - Node.js architecture (e.g., 'arm64', 'x64')
|
|
26
|
-
* @returns hostdb platform identifier or null if unsupported
|
|
27
|
-
*/
|
|
28
|
-
export function getHostdbPlatform(
|
|
29
|
-
platform: Platform,
|
|
30
|
-
arch: Arch,
|
|
31
|
-
): string | null {
|
|
32
|
-
const key = `${platform}-${arch}`
|
|
33
|
-
return SUPPORTED_PLATFORMS.has(key) ? key : null
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Build the download URL for MySQL binaries from hostdb
|
|
38
|
-
*
|
|
39
|
-
* Format: https://registry.layerbase.host/mysql-{version}/mysql-{version}-{platform}-{arch}.tar.gz
|
|
40
|
-
* Windows: https://registry.layerbase.host/mysql-{version}/mysql-{version}-{platform}-{arch}.zip
|
|
41
|
-
*
|
|
42
|
-
* @param version - MySQL version (e.g., '8.0', '8.0.40')
|
|
43
|
-
* @param platform - Platform identifier (e.g., 'darwin', 'linux')
|
|
44
|
-
* @param arch - Architecture identifier (e.g., 'arm64', 'x64')
|
|
45
|
-
* @returns Download URL for the binary
|
|
46
|
-
*/
|
|
47
|
-
export function getBinaryUrl(
|
|
48
|
-
version: string,
|
|
49
|
-
platform: Platform,
|
|
50
|
-
arch: Arch,
|
|
51
|
-
): string {
|
|
52
|
-
const platformKey = `${platform}-${arch}`
|
|
53
|
-
const hostdbPlatform = getHostdbPlatform(platform, arch)
|
|
54
|
-
if (!hostdbPlatform) {
|
|
55
|
-
throw new Error(`Unsupported platform: ${platformKey}`)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Normalize version (handles major version lookup and X.Y -> X.Y.Z conversion)
|
|
59
|
-
const fullVersion = normalizeVersion(version, FALLBACK_VERSION_MAP)
|
|
60
|
-
const ext = platform === Platform.Win32 ? 'zip' : 'tar.gz'
|
|
61
|
-
|
|
62
|
-
return buildHostdbUrl(Engine.MySQL, {
|
|
63
|
-
version: fullVersion,
|
|
64
|
-
hostdbPlatform,
|
|
65
|
-
extension: ext,
|
|
66
|
-
})
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Normalize version string to X.Y.Z format
|
|
71
|
-
*
|
|
72
|
-
* @param version - Version string (e.g., '8.0', '8.0.40', '9')
|
|
73
|
-
* @param versionMap - Optional version map for major version lookup
|
|
74
|
-
* @returns Normalized version (e.g., '8.0.40')
|
|
75
|
-
* @throws TypeError if version string is malformed
|
|
76
|
-
*/
|
|
77
|
-
function normalizeVersion(
|
|
78
|
-
version: string,
|
|
79
|
-
versionMap: Record<string, string> = FALLBACK_VERSION_MAP,
|
|
80
|
-
): string {
|
|
81
|
-
// Check if it's a major version in the map
|
|
82
|
-
if (versionMap[version]) {
|
|
83
|
-
return versionMap[version]
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Validate version format: must be numeric semver-like (X, X.Y, or X.Y.Z)
|
|
87
|
-
validateSemverLikeVersion(version, 'MySQL')
|
|
88
|
-
|
|
89
|
-
// Normalize to X.Y.Z format
|
|
90
|
-
const parts = version.split('.')
|
|
91
|
-
if (parts.length === 1) {
|
|
92
|
-
return `${version}.0.0`
|
|
93
|
-
} else if (parts.length === 2) {
|
|
94
|
-
return `${version}.0`
|
|
95
|
-
}
|
|
96
|
-
return version
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Get the full version string for a major version
|
|
101
|
-
*
|
|
102
|
-
* @param majorVersion - Major version (e.g., '8.0', '9')
|
|
103
|
-
* @returns Full version string (e.g., '8.0.40') or null if not supported
|
|
104
|
-
*/
|