wxt
Version:
⚡ Next-gen Web Extension Framework
26 lines (25 loc) • 951 B
JavaScript
import { wxt } from "../../wxt.mjs";
import { printFileList } from "./printFileList.mjs";
import { resolve } from "path";
//#region src/core/utils/log/printBuildSummary.ts
async function printBuildSummary(log, header, output) {
const files = [...output.steps.flatMap((step) => step.chunks), ...output.publicAssets].sort((l, r) => {
const diff = getChunkSortWeight(l.fileName) - getChunkSortWeight(r.fileName);
if (diff !== 0) return diff;
return l.fileName.localeCompare(r.fileName);
}).map((chunk) => resolve(wxt.config.outDir, chunk.fileName));
await printFileList(log, header, wxt.config.outDir, files);
}
const DEFAULT_SORT_WEIGHT = 100;
const CHUNK_SORT_WEIGHTS = {
"manifest.json": 0,
".html": 1,
".js.map": 2,
".js": 2,
".css": 3
};
function getChunkSortWeight(filename) {
return Object.entries(CHUNK_SORT_WEIGHTS).find(([key]) => filename.endsWith(key))?.[1] ?? DEFAULT_SORT_WEIGHT;
}
//#endregion
export { printBuildSummary };