Oxlint Plugin
oxlint-plugin-vize lets Oxlint execute Vize Patina diagnostics through Oxlint's JS plugin system.
Use it when you want Oxlint's Rust-native JS and TS rules together with Vize's Vue-aware
diagnostics in one run.
For the native lint and type-checking pipeline outside Oxlint, see Static Analysis.
Important
The package is available on npm, but the integration is still early. For human-readable terminal output, prefer
oxlint-vize -f stylishwhile original SFC range fidelity continues to improve.
Installation
Install vp once from the Vite+ install guide, then add the packages:
vp install -D oxlint oxlint-plugin-vize
oxlint-plugin-vize resolves the matching Vize native binding through optional dependencies, so
most users do not need to install @vizejs/native separately.
Basic Usage
{
"plugins": ["vue"],
"jsPlugins": ["oxlint-plugin-vize"],
"settings": {
"vize": {
"helpLevel": "short"
}
},
"rules": {
"eqeqeq": "error",
"vize/vue/require-v-for-key": "error",
"vize/vue/no-v-html": "warn",
"no-console": "warn"
}
}
If you use a JS or TS Oxlint config, the package also exports preset rule maps:
import { configs } from "oxlint-plugin-vize";
export default {
plugins: ["vue"],
jsPlugins: ["oxlint-plugin-vize"],
settings: {
vize: {
helpLevel: "short",
preset: "opinionated",
},
},
rules: configs.opinionated,
};
Available preset exports include:
configs.recommendedconfigs.essentialconfigs.opinionatedconfigs.nuxtconfigs.allconfigs.recommendedWithTypeAwareconfigs.opinionatedWithTypeAware
Recommended Command
vp exec oxlint-vize -c .oxlintrc.json -f stylish src
oxlint-vize is a thin wrapper around oxlint that smooths over scriptless .vue edge cases
while upstream JS plugin coverage continues improving.
Settings
Settings are passed through settings.vize:
{
"settings": {
"vize": {
"locale": "ja",
"preset": "general-recommended",
"helpLevel": "short"
}
}
}
localecontrols the diagnostic language.presetaccepts"general-recommended","essential","incremental","opinionated", or"nuxt".presetdefaults to"general-recommended".incrementalruns only the rules you explicitly configure.helpLevelaccepts"full","short", or"none".showHelpandsettings.patinaare still accepted for backward compatibility.
Current Limitations
Raw
oxlintcan still miss some.vuefiles without<script>or<script setup>. Useoxlint-vizeif your project includes template-only SFCs.Oxlint JS plugins still anchor ranges to the extracted script program, so template and style diagnostics do not yet preserve original SFC ranges in every formatter.
stylishis currently the best human-readable formatter for mixed Oxlint + Vize output. JSON and other machine-readable formats should be treated as best-effort for original template/style positions.
Local Development
nix develop
vp install --frozen-lockfile
vp run --filter './npm/vize-native' build
vp run --filter './npm/oxlint-plugin-vize' build