From 1a9d8d0c0e554fbc0deb1eb8dca62d88cf61df3e Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Sat, 9 May 2026 13:06:11 +0700 Subject: [PATCH] fix(build): rollup treeshake 'safest' to keep cubejs static methods 'smallest' dropped cubejs's top-level `Cube.initSolver = function...` assignments, breaking the prod solver with `t.initSolver is not a function`. Tests passed because vitest uses esbuild, not rollup tree-shaking. --- vite/config.prod.mjs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vite/config.prod.mjs b/vite/config.prod.mjs index 6def914..87dc700 100644 --- a/vite/config.prod.mjs +++ b/vite/config.prod.mjs @@ -8,7 +8,10 @@ export default defineConfig({ outDir: 'dist', emptyOutDir: true, rollupOptions: { - treeshake: 'smallest' + // 'smallest' drops cubejs's top-level `Cube.initSolver = ...` static-method + // assignments, producing `t.initSolver is not a function` at runtime. + // 'safest' (Rollup default) preserves these side-effectful writes. + treeshake: 'safest' } } });