0.0.7 • Published 2 years ago
@open-xchange/eslint-config-frontend-standard v0.0.7
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
eslintas well as the packages above from the list above
pnpm remove @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- Add the package
pnpm add @open-xchange/eslint-config-frontend-standard- Create a
.npmrc^1
echo "public-hoist-pattern[]=*eslint*" >> .npmrcAlthough
eslintis inpublic-hoist-patternby default, it gets manually added here to prevent overwriting it.
- Create a minimal
eslint.config.js
echo "import frontendStandard from '@open-xchange/eslint-config-frontend-standard'
export default [
...frontendStandard,
]" > eslint.config.js- Add the following entry to the
package.jsonto prevent warnings.
"pnpm": {
"peerDependencyRules": {
"allowedVersions": {
"eslint": "9",
"eslint-plugin-n": "17"
}
}
}- Optional: Migrate necessary rules from the old
eslint.rcto the new flat config format in theeslint.config.js. For help and references see the official migration guide.
Customization
Customizing the configuration means adding rules or plugins to the eslint.config.js. To do this please refer to the documentation.