Follow Vite plugin package naming conventions
Run this rule
pnpm vite-doctor . --framework vite --rules vite/plugin-package/naming-conventions
Why it matters
Vite's plugin conventions ask Vite-only plugins to use the vite-plugin- prefix and the vite-plugin keyword. Plugins that only work with Vue, React, or Svelte should put the framework in the prefix, as in vite-plugin-vue-. Plugins that also work with Rolldown should use the rolldown-plugin- prefix and the rolldown-plugin and vite-plugin keywords; Vite 7 and earlier gave the same guidance for rollup-plugin- packages. These names and keywords are how users find plugins on npm and recognize what a package works with. The Rule runs only on a public package (not private and without bin) that declares vite as a required peer dependency and whose main entry exports a function returning a Vite plugin. Scoped packages are exempt from the prefix checks because Vite's conventions do not define a scoped form; they still need the keywords. The plugin object's name property is not checked: the conventions say nothing about its format, and vite/plugin/require-name already reports a missing name.
Recommended fix
Add the "vite-plugin" keyword, plus "rolldown-plugin" or "rollup-plugin" for packages with those prefixes. Use the vite-plugin- prefix, or vite-plugin-vue-, vite-plugin-react-, or vite-plugin-svelte- for framework-specific plugins. Renaming an already published package means publishing under the new name and deprecating the old one.
Useful links
Example
Use the Vite plugin prefix and keyword
Before
{
"name": "my-icons",
"keywords": ["icons"]
}
After
{
"name": "vite-plugin-icons",
"keywords": ["vite-plugin", "icons"]
}