import js from '@eslint/js'
export default [
{
ignores: ['node_modules/', 'dist/'],
},
{
files: ['src/**/*.{js,jsx}'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
},
globals: {
h: 'readonly',
Fragment: 'readonly',
window: 'readonly',
document: 'readonly',
console: 'readonly',
setTimeout: 'readonly',
setInterval: 'readonly',
clearInterval: 'readonly',
fetch: 'readonly',
localStorage: 'readonly',
URLSearchParams: 'readonly',
crypto: 'readonly',
},
},
rules: {
...js.configs.recommended.rules,
indent: ['error', 2],
'no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^[A-Z]',
},
],
'no-console': ['error', { 'allow': ['warn', 'error'] }]
},
},
{
files: ['src/**/*.test.{js,jsx}', 'vitest.setup.js'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
describe: 'readonly',
it: 'readonly',
expect: 'readonly',
beforeEach: 'readonly',
afterEach: 'readonly',
beforeAll: 'readonly',
afterAll: 'readonly',
vi: 'readonly',
global: 'readonly',
window: 'readonly',
document: 'readonly',
Blob: 'readonly',
},
},
rules: {
...js.configs.recommended.rules,
indent: ['error', 2],
'no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^[A-Z]',
},
],
},
},
]