Official Plugins (Kuzzle v2.x)
ESLint Configuration v1.x
2

Migrating #

Backend: from eslint-plugin-kuzzle 0.0.x #

The 0.0.x line was eslintrc-based and targeted ESLint 8.

1. Move the configuration. ESLint 9 removed eslintrc support. Delete .eslintrc.json and .eslintignore, and write an eslint.config.mjs instead — see Backend projects. The plugin:kuzzle/* syntax is gone; configs are arrays you spread.

2. Remove the TypeScript packages. @typescript-eslint/eslint-plugin and @typescript-eslint/parser must leave your package.json: the plugin depends on typescript-eslint directly, and two copies in one lint run conflict.

3. Expect these rules to be gone.

RemovedReplacement
semi, keyword-spacing, comma-spacing, object-curly-spacing, no-multi-spaces, no-multiple-empty-lines, linebreak-styleprettier/prettier — they were deprecated in ESLint core and redundant
no-catch-shadowno-shadow covers it
no-native-reassignno-global-assign
no-new-requirenone — ESLint moved the Node.js rules out of core to eslint-plugin-n
no-return-awaitnone. Deprecated in core; use @typescript-eslint/return-await, which needs type-aware linting
the eslint-plugin-jest blocksnone. No Kuzzle project uses Jest

4. Two severities changed. sort-keys and kuzzle/array-foreach are warn instead of error.

Frontend: from eslint-plugin-vue-kuzzle 1.0.0-eslint-9.x #

Those prereleases never worked, and there is no configuration to carry over. The published tarball shipped lib/*.ts while main pointed at lib/index.js — which the build emits to dist/ — so the package could not be resolved at all; and the configs inside were still eslintrc-style (extends: ["plugin:vue/recommended"], overrides, parserOptions.parser), which ESLint 9 cannot read. Both are fixed in 1.0.0.

Beyond that:

  • @vue/eslint-config-standard and @vue/eslint-config-standard-with-typescript are dropped. Both are eslintrc-only, and StandardJS formatting conflicts with Prettier, which the same config then had to undo
  • the eslint-plugin-jest override is gone
  • eslint-plugin-vue moves from 9 to 10, @vue/eslint-config-typescript from 14.1 to 14.9, typescript-eslint from 8.17 to 8.70
  • the ./importOption export is now ./importOptions, which is the name of the file it was always meant to point at