UNPKG

wxt

Version:

⚡ Next-gen Web Extension Framework

34 lines (33 loc) 1.26 kB
import { generateWxtDir } from "../../generate-wxt-dir.mjs"; import { buildEntrypoints } from "./build-entrypoints.mjs"; import { generateManifest, writeManifest } from "../../utils/manifest.mjs"; import { wxt } from "../../wxt.mjs"; export async function rebuild(allEntrypoints, entrypointGroups, existingOutput = { steps: [], publicAssets: [] }) { const { default: ora } = await import("ora"); const spinner = ora(`Preparing...`).start(); await generateWxtDir(allEntrypoints).catch((err) => { wxt.logger.warn("Failed to update .wxt directory:", err); if (wxt.config.command === "build") throw err; }); const newOutput = await buildEntrypoints(entrypointGroups, spinner); const mergedOutput = { steps: [...existingOutput.steps, ...newOutput.steps], // Do not merge existing because all publicAssets copied everytime publicAssets: newOutput.publicAssets }; const { manifest: newManifest, warnings: manifestWarnings } = await generateManifest(allEntrypoints, mergedOutput); const finalOutput = { manifest: newManifest, ...mergedOutput }; await writeManifest(newManifest, finalOutput); spinner.clear().stop(); return { output: finalOutput, manifest: newManifest, warnings: manifestWarnings }; }