/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import typescriptEslint from '@typescript-eslint/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; export default [ { files: ['**/*.ts', '**/*.tsx'], }, { files: ['**/*.js', '**/*.cjs', '**/*.mjs'], languageOptions: { ecmaVersion: 2022, sourceType: 'commonjs', globals: { module: 'readonly', require: 'readonly', __dirname: 'readonly', __filename: 'readonly', process: 'readonly', console: 'readonly', }, }, }, { plugins: { '@typescript-eslint': typescriptEslint, }, languageOptions: { parser: tsParser, ecmaVersion: 2022, sourceType: 'module', parserOptions: { ecmaFeatures: { jsx: true, }, }, }, rules: { '@typescript-eslint/naming-convention': [ 'warn', { selector: 'import', format: ['camelCase', 'PascalCase'], }, ], curly: 'warn', eqeqeq: 'warn', 'no-throw-literal': 'warn', semi: 'warn', }, }, ];