From d77221704f1909b2df2c9f3c0c417fafeb8dfab5 Mon Sep 17 00:00:00 2001 From: Dmitry Patsura Date: Wed, 19 Nov 2025 14:22:47 +0100 Subject: [PATCH 1/2] chore(server-core): Make cubestore as requirement --- packages/cubejs-server-core/package.json | 2 +- .../cubejs-server-core/src/core/OptsHandler.ts | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 4d1f92127f058..4847dc3d3bd38 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -35,6 +35,7 @@ "@cubejs-backend/native": "1.5.4", "@cubejs-backend/query-orchestrator": "1.5.4", "@cubejs-backend/schema-compiler": "1.5.4", + "@cubejs-backend/cubestore-driver": "1.5.4", "@cubejs-backend/shared": "1.5.4", "@cubejs-backend/templates": "1.5.4", "codesandbox-import-utils": "^2.1.12", @@ -59,7 +60,6 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.5.4", "@cubejs-backend/linter": "1.5.4", "@cubejs-client/playground": "1.5.4", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-server-core/src/core/OptsHandler.ts b/packages/cubejs-server-core/src/core/OptsHandler.ts index 015a59f9b647f..c696321771a02 100644 --- a/packages/cubejs-server-core/src/core/OptsHandler.ts +++ b/packages/cubejs-server-core/src/core/OptsHandler.ts @@ -7,6 +7,8 @@ import { isDockerImage, displayCLIWarning, } from '@cubejs-backend/shared'; +import { isCubeStoreSupported, CubeStoreHandler } from "@cubejs-backend/cubestore-driver"; + import { CreateOptions, SystemOptions, @@ -403,15 +405,8 @@ export class OptsHandler { if (externalDbType === 'cubestore' && this.isDevMode() && !opts.serverless) { if (!definedExtDBVariables.length) { - // There is no @cubejs-backend/cubestore-driver dependency in the core - // package. At the same time, @cubejs-backend/cubestore-driver is already - // exist at the moment, when the core server instance is up. That is the - // reason why we inject it in this way. - // - // eslint-disable-next-line global-require,import/no-extraneous-dependencies - const cubeStorePackage = require('@cubejs-backend/cubestore-driver'); - if (cubeStorePackage.isCubeStoreSupported()) { - const cubeStoreHandler = new cubeStorePackage.CubeStoreHandler({ + if (isCubeStoreSupported()) { + const cubeStoreHandler = new CubeStoreHandler({ stdout: (data) => { console.log(data.toString().trim()); }, @@ -436,7 +431,7 @@ export class OptsHandler { // Lazy loading for Cube Store externalDriverFactory = - () => new cubeStorePackage.CubeStoreDevDriver(cubeStoreHandler); + () => new CubeStoreDevDriver(cubeStoreHandler); } else { this.core.logger('Cube Store is not supported on your system', { warning: ( From 7e412e219b8fb4817b4ce23ff964aa296213b85b Mon Sep 17 00:00:00 2001 From: Dmitry Patsura Date: Wed, 19 Nov 2025 14:30:38 +0100 Subject: [PATCH 2/2] chore: fix --- packages/cubejs-server-core/src/core/OptsHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cubejs-server-core/src/core/OptsHandler.ts b/packages/cubejs-server-core/src/core/OptsHandler.ts index c696321771a02..0ab7704e7e58f 100644 --- a/packages/cubejs-server-core/src/core/OptsHandler.ts +++ b/packages/cubejs-server-core/src/core/OptsHandler.ts @@ -7,7 +7,7 @@ import { isDockerImage, displayCLIWarning, } from '@cubejs-backend/shared'; -import { isCubeStoreSupported, CubeStoreHandler } from "@cubejs-backend/cubestore-driver"; +import { isCubeStoreSupported, CubeStoreHandler, CubeStoreDevDriver } from "@cubejs-backend/cubestore-driver"; import { CreateOptions,