vite-plugin-cesium-build
Version:
CesiumJS support for Vite
47 lines (43 loc) • 1.51 kB
JavaScript
'use strict';
const pathe = require('pathe');
const vitePluginStaticCopy = require('vite-plugin-static-copy');
const core = require('./core.cjs');
function pluginEntry(pluginOptions) {
const options = core.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 ? [
core.imports([(base) => pathe.join(base, options.from, "/Source/Widget/CesiumWidget.css")], "serve"),
core.imports([(base) => pathe.join(base, options.to, "/Widget/CesiumWidget.css")], "build")
] : [],
// base url
...options.customCesiumBaseUrl !== true ? [core.setBaseUrl(options)] : []
];
}
module.exports = pluginEntry;