eslint-plugin-vue-kuzzle

Kuzzle Vue Coding Standard
83,068
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
Maintainer: kuzzle-ricky

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 npm
eslint-plugin-vue-kuzzle Vue.js 3 frontends npm

📖 Full documentation

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

eslint-plugin-vue-data-testid

An ESLint plugin to enforce consistent usage of 'data-testid' attributes in Vue....

147,849 3
eslint-plugin-vue-storefront

ESLint rules for Vue Storefront

39,292
eslint-plugin-vue-composable

ESLint plugin providing Vue composable related rules

551,160
@scayle/eslint-plugin-vue-composable

Rules to avoid unpleasant composable problems

207,394 4
@component-hook/eslint-plugin

ESLint config for component hook

8,834 4

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
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