UNPKG

shader-minifier-wasm

Version:

Shader(GLSL) minifier using WebAssembly (powered by dotnet)

32 lines (31 loc) 1.55 kB
import { createMinifier as internal } from "#AppBundle"; export async function createMinifier() { const minifier = await internal(); return (sources, options = {}) => { return minifier(Object.entries(sources).flat(), false, // version options.outputName ?? "shader_code.h", // outputName options.format ?? "c-variables", // outputFormat options.verbose ?? false, // verbose options.debug ?? false, // debug options.fieldNames ?? "xyzw", // canonicalFieldNames !!(options.preserveExternals || options.preserveAllGlobals), // preserveExternals options.preserveAllGlobals ?? false, // preserveAllGlobals options.hlsl ?? false, // hlsl options.noInlining ?? false, // noInlining options.noOverloading ?? false, // noOverloading !!(options.aggressiveInlining && !options.noInlining), // aggroInlining options.noSequence ?? false, // noSequence options.noRenaming ?? false, // noRenaming // noRenamingList typeof options.noRenamingList === "string" ? options.noRenamingList.split(",") : (options.noRenamingList ?? ["main", "mainImage"]), options.noRemoveUnused ?? false, // noRemoveUnused options.moveDeclarations ?? false, // moveDeclarations options.preprocess ?? false, // preprocess options.exportKkpSymbolMaps ?? false); }; } export async function minify(sources, options = {}) { const minifier = await createMinifier(); return minifier(sources, options); }