// @ts-check
import eslint from '@eslint/js';
import eslintPluginPathBoundaryImports from '@gergelyszerovay/eslint-plugin-path-boundary-imports';
import sheriff from '@softarc/eslint-plugin-sheriff';
import * as importPlugin from 'eslint-plugin-import';
import tseslint from 'typescript-eslint';
export default tseslint.config(
{
files: ['src/**/*.ts'],
extends: [
eslint.configs.recommended,
tseslint.configs.strictTypeChecked,
tseslint.configs.stylisticTypeChecked,
sheriff.configs.all
],
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
plugins: {
path: eslintPluginPathBoundaryImports,
import: importPlugin,
},
rules: {
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
"@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
],
'path/enforce-import-pattern': [
'error',
{
levels: 2,
},
],
"import/no-default-export": "error"
},
settings: {
'path': {
'config': 'tsconfig.app.json',
},
},
}
);