@kmhgmbh/eslint-config
v3.3.1
Published
Set of ESLint configurations for usage across different project types
Keywords
Readme
@kmhgmbh/eslint-config
A set of ESLint configurations for usage across different project types.
Rules composition
The main rule set is a modified airbnb-base.
The rules have been extracted from the repository in order to support ESLint 9.x.
Additionally, the main ruleset is extended by the recommended rules for TypeScript via the package typescript-eslint and a customized set of rules regarding module imports from eslint-plugin-import.
Based on the main rule set, this package includes ready-to-use configurations that extend the main rule set with common options for our projects:
@kmhgmbh/eslint-config/backendadds recommended jest rules@kmhgmbh/eslint-config/backend-vitestadds recommended vitest rules@kmhgmbh/eslint-config/cdkadds AWS CDK-specific rules@kmhgmbh/eslint-config/frontend-jestadds recommended Vue 3 and jest rules@kmhgmbh/eslint-config/frontend-vitestadds recommended Vue 3 and vitest rules
Using this package in your project
Installation
Install this package as a dev dependency along with all relevant peer dependencies you need (see below).
nvm use # skip this step if you configure your Node version manually
npm install --save-dev @kmhgmbh/eslint-config eslint-plugin-jest # example for backend configUsage
Create a eslint.config.mjs in your project root. You can then import the configuration you need:
import backend from '@kmhgmbh/eslint-config/backend';
export default backend;You can also extend the configuration using eslint utilities:
import { defineConfig } from 'eslint/config';
import backend from '@kmhgmbh/eslint-config/backend';
export default defineConfig([
...backend,
{
rules: {
'global-require': 'off',
},
},
]);
You probably also need an npm script in your package.json tu run eslint, e.g.:
"scripts": {
"lint": "eslint --ext .ts,.js,.vue src test"
}Which would run eslint on all files ending in .js, .ts or .vue found in src/ and test/.
Peer Dependencies
This package defines a set of optional peer dependencies that are required depending on which rule sets are used in the target project.
@kmhgmbh/eslint-config/backendneedseslint-plugin-jest@kmhgmbh/eslint-config/backend-vitestneeds@vitest/eslint-plugin@kmhgmbh/eslint-config/cdkneedseslint-plugin-jest@kmhgmbh/eslint-config/frontend-jestneedseslint-plugin-jestand@vue/eslint-config-typescript@kmhgmbh/eslint-config/frontend-vitestneeds@vitest/eslint-pluginand@vue/eslint-config-typescript
You only need to install peer dependencies for the rule sets you're using.
