UNPKG

@tiagoporto/eslint-config

Version:

Shareable Config for ESlint.

49 lines (44 loc) 1.38 kB
import jsdoc from 'eslint-plugin-jsdoc' import neostandard, { plugins } from 'neostandard' import { baseConfig, testRules } from './javascript.mjs' const neoConfig = neostandard({ noStyle: true, ts: true, noJsx: true }) export const tsConfig = { languageOptions: { // typescript-eslint/base ...plugins['typescript-eslint'].configs.recommended[0].languageOptions, }, plugins: { ...baseConfig.plugins, // typescript-eslint/base ...plugins['typescript-eslint'].configs.recommended[0].plugins, }, settings: { ...plugins['import-x'].flatConfigs.typescript.settings, }, rules: { ...baseConfig.rules, 'n/no-unpublished-import': 'off', // typescript-eslint/eslint-recommended ...plugins['typescript-eslint'].configs.recommended[1].rules, // typescript-eslint/recommended ...plugins['typescript-eslint'].configs.recommended[2].rules, // neostandard/ts ...neoConfig[2].rules, ...plugins['import-x'].flatConfigs.typescript.rules, // jsdoc/flat/recommended-typescript ...jsdoc.configs['flat/recommended-typescript'].rules, }, } /** @type {import('eslint').Linter.Config[]} */ export const typescriptConfig = plugins['typescript-eslint'].config( { files: ['**/*.{ts,mts,cts}'], ...tsConfig, }, { files: ['**/*.{test,spec}.{ts,mts,cts}'], rules: { ...testRules, }, }, )