By default, Vite does not analyze or modify webmanifest, so it does not emit the icons it references.
The plugin analyzes the webmanifest and emits icons from it, and also modifies the paths to these icons in the manifest itself.
# npm
npm i -D @budarin/vite-plugin-webmanifest
# yarn
yarn add -D @budarin/vite-plugin-webmanifest
# pnpm
pnpm add -D @budarin/vite-plugin-webmanifest
Add webmanifest
plugin to vite.config.mjs / vite.config.mts and configure it:
import { webmanifestPlugin } from '@budarin/vite-plugin-webmanifest';
export default {
plugins: [webmanifestPlugin()],
};