npm.io
3.4.2 • Published 4 months ago

@kmhgmbh/eslint-config

Licence
UNLICENSED
Version
3.4.2
Deps
0
Vulns
0
Weekly
0

@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/backend adds recommended jest rules
  • @kmhgmbh/eslint-config/backend-vitest adds recommended vitest rules
  • @kmhgmbh/eslint-config/cdk adds AWS CDK-specific rules
  • @kmhgmbh/eslint-config/frontend-jest adds recommended Vue 3 and jest rules
  • @kmhgmbh/eslint-config/frontend-vitest adds 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 config
Usage

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/backend needs eslint-plugin-jest
  • @kmhgmbh/eslint-config/backend-vitest needs @vitest/eslint-plugin
  • @kmhgmbh/eslint-config/cdk needs eslint-plugin-jest
  • @kmhgmbh/eslint-config/frontend-jest needs eslint-plugin-jest and @vue/eslint-config-typescript
  • @kmhgmbh/eslint-config/frontend-vitest needs @vitest/eslint-plugin and @vue/eslint-config-typescript

You only need to install peer dependencies for the rule sets you're using.

Keywords