| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import eslint from '@eslint/js';
- import tseslint from 'typescript-eslint';
- import react from 'eslint-plugin-react';
- import prettier from 'eslint-plugin-prettier/recommended';
- import reactHooks from 'eslint-plugin-react-hooks';
- import cypress from 'eslint-plugin-cypress';
- import globals from 'globals';
- export default tseslint.config(
- {
- ignores: ['dist/', 'node_modules/'],
- },
- eslint.configs.recommended,
- tseslint.configs.recommended,
- reactHooks.configs.flat.recommended,
- {
- files: ['src/**/*.{ts,tsx}'],
- plugins: {
- react,
- },
- rules: {
- ...eslint.configs.recommended.rules,
- ...tseslint.configs.recommended.rules,
- ...react.configs.recommended.rules,
- ...react.configs['jsx-runtime'].rules,
- },
- languageOptions: {
- globals: globals.browser,
- parserOptions: {
- ecmaFeatures: {
- jsx: true,
- },
- }
- },
- settings: {
- react: {
- version: 'detect',
- },
- }
- },
- {
- files: ['integration-tests/**/*.{ts,tsx,js}'],
- ...cypress.configs.recommended,
- languageOptions: {
- globals: {
- require: 'readonly',
- module: 'writable',
- },
- },
- rules: {
- ...cypress.configs.recommended.rules,
- 'no-console': 'off',
- '@typescript-eslint/no-namespace': 'off',
- '@typescript-eslint/no-require-imports': 'off',
- '@typescript-eslint/no-unused-expressions': 'off',
- },
- },
- prettier,
- );
|