import js from '@eslint/js'; import tseslint from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; import importPlugin from 'eslint-plugin-import'; import globals from 'globals'; export default [ js.configs.recommended, { files: ['packages/**/src/**/*.{ts,tsx}'], languageOptions: { parser: tsParser, ecmaVersion: 'latest', sourceType: 'module', globals: { ...globals.node, }, }, plugins: { '@typescript-eslint': tseslint, import: importPlugin, }, rules: { 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_', }, ], '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-explicit-any': 'off', 'no-dupe-class-members': 'off', 'sort-imports': [ 'error', { ignoreDeclarationSort: true, ignoreCase: true, }, ], 'import/order': [ 'error', { groups: [ 'builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type', ], }, ], '@typescript-eslint/consistent-type-imports': 'warn', }, }, { files: ['scripts/**/*.js'], languageOptions: { ecmaVersion: 'latest', sourceType: 'module', globals: { ...globals.node, }, }, rules: { 'no-unused-vars': 'error', }, }, { ignores: ['**/node_modules/**', '**/dist/**', '**/build/**'], }, ];