mirror of
https://github.com/morten-olsen/reservoir.git
synced 2026-02-07 17:36:24 +01:00
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
import { defineConfig } from 'eslint/config';
|
|
import { FlatCompat } from '@eslint/eslintrc';
|
|
import importPlugin from 'eslint-plugin-import';
|
|
import eslint from '@eslint/js';
|
|
import eslintConfigPrettier from 'eslint-config-prettier';
|
|
import tseslint from 'typescript-eslint';
|
|
|
|
const compat = new FlatCompat({
|
|
baseDirectory: import.meta.__dirname,
|
|
resolvePluginsRelativeTo: import.meta.__dirname,
|
|
});
|
|
|
|
export default defineConfig(
|
|
eslint.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
...tseslint.configs.stylistic,
|
|
eslintConfigPrettier,
|
|
{
|
|
files: ['**/*.{ts,tsxx}'],
|
|
extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript],
|
|
rules: {
|
|
'import/no-unresolved': 'off',
|
|
'import/extensions': ['error', 'ignorePackages'],
|
|
'import/exports-last': 'error',
|
|
'import/no-default-export': 'error',
|
|
'import/order': [
|
|
'error',
|
|
{
|
|
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
|
|
'newlines-between': 'always',
|
|
},
|
|
],
|
|
'import/no-duplicates': 'error',
|
|
},
|
|
},
|
|
{
|
|
rules: {
|
|
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
|
|
},
|
|
},
|
|
{
|
|
files: ['**.d.ts'],
|
|
rules: {
|
|
'@typescript-eslint/triple-slash-reference': 'off',
|
|
'@typescript-eslint/consistent-type-definitions': 'off',
|
|
},
|
|
},
|
|
...compat.extends('plugin:prettier/recommended'),
|
|
{
|
|
ignores: ['**/node_modules/', '**/dist/', '**/.turbo/', '**/generated/'],
|
|
},
|
|
);
|