UNPKG

vite-plugin-file-rename

Version:
41 lines (40 loc) 1.45 kB
const defaultConfig = { fileMap: {}, keepOriginal: false, useRegex: false, }; export function fileRename({ keepOriginal = false, fileMap = {}, useRegex = false } = defaultConfig) { let config; return { name: "vite:filerename", enforce: "post", configResolved(resolvedConfig) { config = resolvedConfig; }, generateBundle(_, bundle) { for (const [name, asset] of Object.entries(bundle)) { for (const [key, value] of Object.entries(fileMap)) { let shouldRename = false; if (useRegex) { const pattern = new RegExp(key); shouldRename = pattern.test(name); } else { shouldRename = name.includes(key); } if (shouldRename) { const newName = useRegex ? name.replace(new RegExp(key), value) : name.replace(key, value); config.logger.info(`Renaming ${name} to ${newName}`); bundle[newName] = { ...asset, fileName: newName, }; if (!keepOriginal) { delete bundle[name]; } } } } }, }; }