{"id":22602,"library":"vite-plugin-cesium-build","title":"vite-plugin-cesium-build","description":"A Vite plugin for integrating CesiumJS into Vite projects. It externalizes Cesium.js and its CSS, copies the Cesium static assets to the output directory, and sets CESIUM_BASE_URL automatically. Current stable version is 0.7.4, supports Vite 5 through 8, and ships TypeScript types. Compared to other Cesium Vite plugins (e.g., vite-plugin-cesium), this plugin offers faster builds by not processing Cesium through Vite's bundler, supports @cesium/engine, and provides fine-grained control via options like iife, css, customCesiumBaseUrl.","status":"active","version":"0.7.4","language":"javascript","source_language":"en","source_url":"https://github.com/s3xysteak/vite-plugin-cesium-build","tags":["javascript","vite","vite-plugin","cesium","CesiumJS","typescript"],"install":[{"cmd":"npm install vite-plugin-cesium-build","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-cesium-build","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-cesium-build","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency - plugin requires Vite to function","package":"vite","optional":false}],"imports":[{"note":"Default export of the plugin function for standard CesiumJS package.","wrong":"import { cesium } from 'vite-plugin-cesium-build'","symbol":"default (cesium function)","correct":"import cesium from 'vite-plugin-cesium-build'"},{"note":"Use this subpath when using @cesium/engine. Exported as default.","wrong":"import { cesium } from 'vite-plugin-cesium-build'","symbol":"default (engine function)","correct":"import cesium from 'vite-plugin-cesium-build/engine'"},{"note":"Core utilities for custom setups. Only available from 'vite-plugin-cesium-build/core'.","wrong":"import { imports, setBaseUrl } from 'vite-plugin-cesium-build'","symbol":"imports, setBaseUrl","correct":"import { imports, setBaseUrl } from 'vite-plugin-cesium-build/core'"}],"quickstart":{"code":"import { defineConfig } from 'vite';\nimport cesium from 'vite-plugin-cesium-build';\n\nexport default defineConfig({\n  plugins: [cesium()],\n});","lang":"typescript","description":"Shows the minimal setup to add CesiumJS support to a Vite project using the default plugin."},"warnings":[{"fix":"If using core methods (imports, setBaseUrl), review the changes in v0.5.0 and adjust your configuration.","message":"In v0.5.0, the copy logic and imports were improved, potentially breaking custom setups using core methods.","severity":"breaking","affected_versions":">=0.5.0 <0.6.0"},{"fix":"Ensure your Cesium assets are served with appropriate CORS headers, or set customCesiumBaseUrl to handle cross-origin manually.","message":"In v0.5.0, crossorigin attribute is now used in production for script tags, which may cause CORS issues if your Cesium assets are on a different origin.","severity":"breaking","affected_versions":">=0.5.0"},{"fix":"Set iife:true (default) for automatic script injection, or manually import Cesium in your application code if iife:false.","message":"When iife:false, Cesium is not automatically added to index.html; you must import Cesium modules manually via ES imports.","severity":"gotcha","affected_versions":">=0.6.0"},{"fix":"Always set css:true if you want Cesium CSS to be included. In future, the plugin may auto-detect.","message":"The css option was introduced in v0.4.4 and may be deprecated in future versions in favor of automatic detection.","severity":"deprecated","affected_versions":">=0.4.4"},{"fix":"Use `import cesium from 'vite-plugin-cesium-build/engine'` when your project uses @cesium/engine.","message":"Using vite-plugin-cesium-build with @cesium/engine requires importing from 'vite-plugin-cesium-build/engine', not the default path.","severity":"gotcha","affected_versions":">=0.4.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Set the 'from' option to the correct path where Cesium's Build/Cesium folder exists, e.g., cesium({ from: 'node_modules/cesium/Build/Cesium' })","cause":"The default 'from' path points to 'node_modules/cesium/Build/Cesium', but the actual Cesium package might be located elsewhere (e.g., cesium/Build/Cesium with different casing).","error":"Error: ENOTDIR: not a directory, scandir 'node_modules/cesium/Build/Cesium'"},{"fix":"Use `import cesium from 'vite-plugin-cesium-build'` (default import) instead of `import { cesium } from 'vite-plugin-cesium-build'`.","cause":"Using wrong import path or named import instead of default for the plugin function.","error":"TypeError: Cannot read properties of undefined (reading 'cesium')"},{"fix":"Ensure the Cesium static assets (Cesium.js, widgets.css) are copied correctly to the output directory and the script tag is present in index.html. Check network tab for 404 errors.","cause":"When iife:true (default), Cesium is injected as a global via IIFE in index.html. If the script fails to load or is blocked, Cesium will be undefined.","error":"Cesium is not defined"},{"fix":"Install @cesium/engine and ensure you are using vite-plugin-cesium-build >=0.4.0.","cause":"Trying to use the engine subpath without having @cesium/engine installed, or the plugin version is too old (<0.4.0).","error":"Module not found: Error: Can't resolve 'vite-plugin-cesium-build/engine'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}