INNER CODE UNIT · TypeScript

hashAndRenameCss

gimlet-io/capacitor · bundle.ts:12

async function hashAndRenameCss(): Promise<string | null> {
    const cssDir = "bundle/styles";
    const baseName = "main.css";
    const basePath = `${cssDir}/${baseName}`;

    try {
        const cssContent = await Deno.readFile(basePath);
        const digest = await crypto.subtle.digest("SHA-256", cssContent);
        const shortHash = toShortHex(digest);
        const hashedName = `main-${shortHash}.css`;
        const hashedPath = `${cssDir}/${hashedName}`;

        // Write/overwrite hashed file
        await Deno.writeFile(hashedPath, cssContent);

        // Cleanup old hashed CSS assets except current one
        for await (const entry of Deno.readDir(cssDir)) {
            if (!entry.isFile) continue;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…