eslint-plugin-vue-kuzzle
| Install | |
|---|---|
npm install eslint-plugin-vue-kuzzle |
|
| Latest Version: | 2.0.0 |
| Vue: | 3 |
| License: | Apache-2.0 |
| Last Updated: | Oct 15, 2026 |
| Links: | GitHub · npm |
eslint-plugin-kuzzle
The Kuzzle coding standard, packaged as ESLint plugins.
This monorepo publishes two independent packages. They do not depend on each other — a full-stack repository installs both, one per workspace.
| Package | For | Version |
|---|---|---|
eslint-plugin-kuzzle |
Node.js / TypeScript backends, plugins, SDKs | |
eslint-plugin-vue-kuzzle |
Vue.js 3 frontends |
Quick start
Backend:
npm i -D eslint eslint-plugin-kuzzle
// eslint.config.mjs
import kuzzle from 'eslint-plugin-kuzzle';
export default [
{ ignores: ['dist/**'] },
...kuzzle.configs.default,
...kuzzle.configs.node,
...kuzzle.configs.typescript,
];
Vue.js:
npm i -D eslint eslint-plugin-vue-kuzzle
// eslint.config.mjs
import vueKuzzle from 'eslint-plugin-vue-kuzzle';
export default [{ ignores: ['dist/**'] }, ...vueKuzzle.configs.default];
Both packages are ESM and ship flat configs only: .eslintrc.json and the
plugin:kuzzle/* syntax are gone. Both are standalone — everything they compose
is a dependency, so a consuming project only needs eslint itself.
Custom rules
Shipped by eslint-plugin-kuzzle, under the kuzzle namespace:
| Rule | Description | Default |
|---|---|---|
kuzzle/array-foreach |
enforce for..of loops over Array.forEach |
warn |
kuzzle/no-then |
enforce async/await over Promise chains |
off (opt-in) |
Requirements
| Node.js | ^20.19.0 || >=22.12.0 |
| ESLint | ^9.10.0 || ^10.0.0 |
| TypeScript | >=5.2.0 <6.1.0, optional peer dependency |
Repository layout
packages/backend/ eslint-plugin-kuzzle — configs + custom rules + tests
packages/frontend/ eslint-plugin-vue-kuzzle — Vue configs + importOptions helper
doc/1/ the pages published at docs.kuzzle.io/official-plugins/eslint/1/
doc/2/ the pages published at docs.kuzzle.io/official-plugins/eslint/2/
Development
npm ci # install every workspace
npm run build # turbo run build — tsc, lib/ → dist/
npm run lint # turbo run lint — lints the plugins themselves
npm run test # turbo run test — vitest, RuleTester
The tasks run through Turborepo and are cached; the
per-package scripts live in each packages/*/package.json.
See CONTRIBUTING.md for commit conventions, branches and the release process.
Related Packages
An ESLint plugin to enforce consistent usage of 'data-testid' attributes in Vue....
Version History
| Version | Released | License |
|---|---|---|
| 2.0.0 | Apache-2.0 | |
| 1.0.2 | Apache-2.0 | |
| 1.0.1 | Apache-2.0 | |
| 1.0.0 | Apache-2.0 | |
| 0.0.15 | Apache 2 | |
| 0.0.14 | Apache 2 | |
| 0.0.13 | Apache 2 | |
| 0.0.12 | Apache 2 | |
| 0.0.11 | Apache 2 | |
| 0.0.10 | Apache 2 | |
| 0.0.9 | Apache 2 | |
| 0.0.8 | Apache 2 |
Pre-releases (9)
| Version | Released | License |
|---|---|---|
| 2.0.0-dev.1 | Apache-2.0 | |
| 1.0.2-1-dev.1 | Apache-2.0 | |
| 1.0.2-dev.2 | Apache-2.0 | |
| 1.0.2-dev.1 | Apache-2.0 | |
| 1.0.1-dev.2 | Apache-2.0 | |
| 1.0.1-dev.1 | Apache-2.0 | |
| 1.0.0-dev.3 | Apache-2.0 | |
| 1.0.0-dev.2 | Apache-2.0 | |
| 1.0.0-eslint-9.1 | Apache-2.0 |