npm.io
0.3.6 • Published 3 months ago

fastify-linters-config

Licence
—
Version
0.3.6
Deps
0
Size
12 kB
Vulns
0
Weekly
0

Конфиги eslint и prettier для fastify

npm

Легко принимать свободу как должное, если никогда её не лишался. (Дик Чейни)

Редактор кода - VS Code с установленными плагинами ESLint и Prettier.

Установка

npm i fastify-linters-config --save-dev

Установка сторонних зависимостей:

npm i @eslint/js eslint eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import-x eslint-plugin-prettier eslint-plugin-sonarjs eslint-plugin-unicorn globals typescript-eslint --save-dev

В package.json добавить команду в секцию script для запуска npm run lint:

"lint": "eslint **/*.{js,ts}"

Применение правил

В корневой папке создать файлы: eslint.config.js и prettier.config.js.

eslint.config.js:

import { fileURLToPath } from 'node:url';
import path from 'node:path';
import js from '@eslint/js';
import { defineConfig } from 'eslint/config';
import tseslint from 'typescript-eslint';
import pluginImportX from 'eslint-plugin-import-x';
import pluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import pluginSonar from 'eslint-plugin-sonarjs';
import pluginUnicorn from 'eslint-plugin-unicorn';
import globals from 'globals';
import { parser, options, ignores, settings, rules } from 'fastify-linters-config';

const dirname = path.dirname(fileURLToPath(import.meta.url));

export default defineConfig(
  js.configs.recommended,
  ...tseslint.configs.recommended,
  pluginSonar.configs.recommended,
  pluginUnicorn.configs.recommended,
  pluginImportX.flatConfigs.recommended,
  pluginImportX.flatConfigs.typescript,

  ignores,

  parser(tseslint.parser, dirname),

  { ...options(globals), ...settings, ...rules },

  pluginPrettierRecommended
);

prettier.config.js:

export { prettier as default } from 'fastify-linters-config';