UNPKG

vite-plugin-zephyr

Version:

Vite plugin for Zephyr

63 lines (62 loc) • 3 kB
import { ZeErrors, ZephyrEngine, ZephyrError, assertZephyrBuildTarget, handleGlobalError, savePartialAssetMap } from "zephyr-agent"; import { extract_vite_assets_map } from "./internal/extract/extract_vite_assets_map.mjs"; import { requireVitePartialBuildScope } from "./internal/partial-build-scope.mjs"; import * as __rspack_external_node_path_806ed179 from "node:path"; function withZephyrPartial(options = {}) { if (void 0 !== options.target) assertZephyrBuildTarget(options.target, 'withZephyrPartial({ target })'); const { zephyr_engine_defer, zephyr_defer_create } = ZephyrEngine.defer_create(); let partialScope; let resolve_vite_internal_options; const vite_internal_options_defer = new Promise((resolve)=>{ resolve_vite_internal_options = resolve; }); return { name: 'with-zephyr-partial', apply: 'build', enforce: 'post', configResolved: async (config)=>{ partialScope = requireVitePartialBuildScope(options); zephyr_defer_create({ builder: 'vite', context: config.root, target: options.target }); resolve_vite_internal_options({ root: config.root, configFile: config.configFile, outDir: config.build.outDir, publicDir: config.publicDir, target: options.target }); }, writeBundle: async function(options, bundle) { const baseOptions = await vite_internal_options_defer; const environmentName = this.environment?.name; const outputDir = __rspack_external_node_path_806ed179.resolve(baseOptions.root, options.dir ?? (options.file ? __rspack_external_node_path_806ed179.dirname(options.file) : baseOptions.outDir)); const vite_internal_options = { ...baseOptions, dir: options.dir, outDir: outputDir, assets: bundle }; try { if (!partialScope) throw new ZephyrError(ZeErrors.ERR_DEPLOY_LOCAL_BUILD, { message: 'Vite partial build scope was not resolved before writeBundle.' }); const zephyr_engine = await zephyr_engine_defer; const application_uid = zephyr_engine.application_uid; const assetsMap = await extract_vite_assets_map(zephyr_engine, vite_internal_options); await savePartialAssetMap(application_uid, [ 'vite-partial', vite_internal_options.configFile ?? 'partial', environmentName ?? 'default', outputDir.replace(/\\/g, '/') ].join(':'), assetsMap, partialScope); } catch (error) { handleGlobalError(error); } } }; } export { withZephyrPartial }; //# sourceMappingURL=vite-plugin-zephyr-partial.mjs.map