import globals from 'globals'
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
import tslint from 'typescript-eslint'

export default [
    eslintPluginPrettierRecommended,
    ...tslint.configs.recommended,
    {
        name: 'config',
        languageOptions: {
            ecmaVersion: 'latest',
            sourceType: 'module',
            globals: {
                alt: true,
                ...globals.browser,
                ...globals.node,
            },
            parser: '@typescript-eslint/parser',
            parserOptions: {
                ecmaVersion: 'latest',
                sourceType: 'module',
            },
        },
        ignores: [
            'node_modules',
            'dist',
            '.eslintrc.mjs',
            '*.config.*',
            '*.yaml',
            '*.json',
            '**/*.d.ts',
        ],
        // plugins: ['prettier', '@typescript-eslint'],
        rules: {
            'no-console': 'off',
            'no-empty': 'off',
            'no-nested-ternary': 'off',
            'no-underscore-dangle': 'off',
            'no-unused-vars': 'off',
            '@typescript-eslint/no-unused-vars': [
                'warn',
                {
                    argsIgnorePattern: '^_',
                    varsIgnorePattern: '^_',
                    caughtErrorsIgnorePattern: '^_',
                },
            ],
            '@typescript-eslint/ban-ts-comment': 'off',
            'consistent-return': 'off',
            quotes: 'off',
            'import/prefer-default-export': 'off',
            'import/no-dynamic-require': 'off',
        },
    },
]
