@open-xchange/lint
v0.2.1
Published
Meta package for eslint and common plugins
Downloads
4,725
Maintainers
Keywords
Readme
Open-Xchange ESLint Configuration
This is a meta npm module that contains a standard configuration for linting. Adding this module makes sure that all projects are using the same version of ESLint as well as the same basic rules, which results in a more streamlined codebase.
Included packages
The following packages are already part of the configuration:
- @eslint/eslintrc
- @vue/eslint-config-standard
- eslint
- eslint-plugin-chai-friendly
- eslint-plugin-codeceptjs
- eslint-plugin-import
- eslint-plugin-license-header
- eslint-plugin-mocha
- eslint-plugin-vue
Migration
To start using this configuration, a few steps are needed:
Remove eslint as well as the packages from the list above.
Add the package:
pnpm i -D @open-xchange/lintCreate a minimal eslint.config.js
echo "import config from '@open-xchange/lint'
export default [
...config,
]" > eslint.config.jsAdd the following entry to the package.json to prevent warnings:
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {
"eslint": "9",
"eslint-plugin-n": "17"
}
}
}Optional:
- Migrate necessary rules from the old
.eslintrcto the new flat config format in theeslint.config.js. For help and references see the official migration guide. - Depending on your projects setup you may need to change your pnpm-workspace.yaml. See: https://pnpm.io/settings#publichoistpattern
Customization
Customizing the configuration means adding rules or plugins to the eslint.config.js. To do this please refer to the documentation.
