Files
SpotMicroESP32-Leika/app/vite-plugin-littlefs.ts
Rune Harlyk 91a7b170fe 🎨 format
2025-10-11 10:42:32 +02:00

50 lines
1.6 KiB
TypeScript

import type { Plugin } from 'vite'
export default function viteLittleFS(): Plugin[] {
return [
{
name: 'vite-plugin-littlefs',
enforce: 'post',
apply: 'build',
async config(config) {
const output = config.build?.rollupOptions?.output
if (!output || !config.build?.rollupOptions) {
return
}
const outputOptions = Array.isArray(output) ? output[0] : output
if (!outputOptions) {
return
}
const { assetFileNames, chunkFileNames, entryFileNames } = outputOptions
if (assetFileNames && typeof assetFileNames === 'string') {
config.build.rollupOptions.output = {
...outputOptions,
assetFileNames: assetFileNames.replace('.[hash]', '')
}
}
if (
chunkFileNames &&
typeof chunkFileNames === 'string' &&
chunkFileNames.includes('hash')
) {
config.build.rollupOptions.output = {
...config.build.rollupOptions.output,
chunkFileNames: chunkFileNames.replace('.[hash]', ''),
...(entryFileNames &&
typeof entryFileNames === 'string' && {
entryFileNames: entryFileNames.replace('.[hash]', '')
})
}
}
}
}
]
}