UNPKG

@redwoodjs/sdk

Version:

Build fast, server-driven webapps on Cloudflare with SSR, RSC, and realtime

22 lines (21 loc) 1.18 kB
import { resolve } from "node:path"; import { remove } from "fs-extra"; // port(justinvdm, 24 Mar 2025): Taken from vite to match how vite computes paths for optimized deps // https://github.com/vitejs/vite/blob/d0d4c66bd539a5232005ac7ad63ec19f0794f2a5/packages/vite/src/node/utils.ts#L71 // https://github.com/vitejs/vite/blob/6e0e3c0b990f1132db923e4599e18b270baa3a93/packages/vite/src/node/optimizer/index.ts#L914-L921 const replaceSlashOrColonRE = /[/:]/g; const replaceDotRE = /\./g; const replaceNestedIdRE = /\s*>\s*/g; const replaceHashRE = /#/g; export const flattenId = (id) => id .replace(replaceSlashOrColonRE, "_") .replace(replaceDotRE, "__") .replace(replaceNestedIdRE, "___") .replace(replaceHashRE, "____"); export const invalidateViteDepsCacheEntry = async ({ projectRootDir, environment, entry, }) => { const suffix = environment === "worker" ? "_worker" : ""; const viteDepsCachePath = resolve(projectRootDir, "node_modules", ".vite", `deps${suffix}`, `${flattenId(entry)}.js`); console.log("Invalidating vite deps cache entry", viteDepsCachePath); await remove(viteDepsCachePath); await remove(`${viteDepsCachePath}.map`); };