@open-xchange/lint v0.0.9
Open-Xchange ESLint Configuration
This is meta npm module 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-config-standard
- eslint-plugin-chai-friendly
- eslint-plugin-codeceptjs
- eslint-plugin-import
- eslint-plugin-jsdoc
- eslint-plugin-license-header
- eslint-plugin-mocha
- eslint-plugin-n
- eslint-plugin-promise
- eslint-plugin-vue
Migration
To start using this configuration, a few steps are needed:
Remove
eslint
as well as the packages above from the list above.Add the package:
pnpm add -D @open-xchange/lint
- Create a minimal
eslint.config.js
:
echo "import config from '@open-xchange/lint'
export default [
...config,
]" > eslint.config.js
- Add the following entry to the
package.json
to prevent warnings:
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {
"eslint": "9",
"eslint-plugin-n": "17"
}
}
}
Optional: If you are using VS Code, you have to enable the setting
"eslint.experimental.useFlatConfig": true
.Optional: Migrate necessary rules from the old
eslint.rc
to the new flat config format in theeslint.config.js
. For help and references see the official migration guide.Optional: If you have a
.npmrc
file, add the following line:
echo "public-hoist-pattern[]=*eslint*" >> .npmrc
Although
eslint
is inpublic-hoist-pattern
by default, it gets manually added here to prevent overwriting it.
Customization
Customizing the configuration means adding rules or plugins to the eslint.config.js
. To do this please refer to the documentation.
11 days ago
18 days ago
18 days ago
9 months ago
9 months ago
12 months ago
1 year ago
2 years ago