vite-plugin-cesium-build
Version:
CesiumJS support for Vite
47 lines (43 loc) • 1.57 kB
JavaScript
'use strict';
const pathe = require('pathe');
const vitePluginStaticCopy = require('vite-plugin-static-copy');
const setBaseUrl = require('./shared/vite-plugin-cesium-build.CBlexsze.cjs');
function pluginEntry(pluginOptions) {
const options = setBaseUrl.resolveOptions(pluginOptions, "./node_modules/@cesium/engine");
return [
// copy
...vitePluginStaticCopy.viteStaticCopy({
targets: [
{
src: pathe.join(options.from, "/Source/Assets/*"),
dest: pathe.join(options.to, "/Assets/")
},
{
src: pathe.join(options.from, "/Source/ThirdParty/*.wasm"),
dest: pathe.join(options.to, "/ThirdParty/")
},
{
src: pathe.join(options.from, "/Build/ThirdParty/*"),
dest: pathe.join(options.to, "/ThirdParty/")
},
{
src: pathe.join(options.from, "/Build/Workers/*"),
dest: pathe.join(options.to, "/Workers/")
},
...options.css ? [{
src: pathe.join(options.from, "/Source/Widget/CesiumWidget.css"),
dest: pathe.join(options.to, "/Widget/")
}] : []
],
silent: true
}),
// imports
...options.css ? [
setBaseUrl.imports([(base) => pathe.join(base, options.from, "/Source/Widget/CesiumWidget.css")], "serve"),
setBaseUrl.imports([(base) => pathe.join(base, options.to, "/Widget/CesiumWidget.css")], "build")
] : [],
// base url
...options.customCesiumBaseUrl !== true ? [setBaseUrl.setBaseUrl(options)] : []
];
}
module.exports = pluginEntry;