vite-plugin-zephyr
Version:
Vite plugin for Zephyr
48 lines (47 loc) • 1.86 kB
JavaScript
import { buildAssetsMap } from "zephyr-agent";
import { loadStaticAssets } from "./load_static_assets.mjs";
import { mergeViteOutputAssets } from "./merge_vite_output_assets.mjs";
async function extract_vite_assets_map(_zephyr_engine, vite_internal_options) {
const assets = await loadStaticAssets(vite_internal_options);
const runtime_assets = vite_internal_options.assets;
const complete_assets = {
...assets
};
mergeViteOutputAssets(complete_assets, Object.entries(runtime_assets ?? {}), {
target: vite_internal_options.target
});
const filtered_assets = Object.fromEntries(Object.entries(complete_assets).map(toRollupOutputEntry).filter((entry)=>null !== entry));
return buildAssetsMap(filtered_assets, extractBuffer, getAssetType);
}
function shouldSkipAsset(assetPath) {
return /(^|\/)\.vite-inspect(\/|$)/.test(assetPath);
}
function isBundlerOutput(asset) {
if (!asset || 'object' != typeof asset || !('type' in asset)) return false;
if ('chunk' === asset.type) return 'code' in asset && 'string' == typeof asset.code;
if ('asset' === asset.type && 'source' in asset) return 'string' == typeof asset.source || asset.source instanceof Uint8Array;
return false;
}
function toRollupOutputEntry([assetPath, asset]) {
if (shouldSkipAsset(assetPath) || !isBundlerOutput(asset)) return null;
return [
assetPath,
asset
];
}
function getAssetType(asset) {
return asset.type;
}
function extractBuffer(asset) {
switch(asset.type){
case 'chunk':
return asset.code;
case 'asset':
if ('string' == typeof asset.source) return asset.source;
return Buffer.from(asset.source);
default:
return;
}
}
export { extract_vite_assets_map };
//# sourceMappingURL=extract_vite_assets_map.mjs.map