1 import eslint from '@eslint/js'
2 import globals from 'globals'
3 import tseslint from 'typescript-eslint'
4 import prettier from 'eslint-config-prettier'
5 import eslintPluginAstro from 'eslint-plugin-astro'
6
7 export default [
8 eslint.configs.recommended,
9 ...tseslint.configs.recommended,
10 ...eslintPluginAstro.configs.recommended,
11 {
12 languageOptions: {
13 globals: {
14 ...globals.browser,
15 ...globals.node
16 }
17 }
18 },
19 {
20 rules: {
21 'no-console': ['warn', { allow: ['warn', 'error'] }],
22 '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
23 '@typescript-eslint/no-explicit-any': 'warn',
24 'astro/no-set-html-directive': 'off'
25 }
26 },
27 {
28 // CLI/build scripts legitimately write to stdout.
29 files: ['scripts/**'],
30 rules: {
31 'no-console': 'off'
32 }
33 },
34 prettier,
35 {
36 ignores: [
37 'dist/**',
38 '.output/**',
39 'node_modules/**',
40 '*.log',
41 '.env*',
42 '.cache/**',
43 '.astro/**',
44 '.DS_Store',
45 'coverage/**'
46 ]
47 }
48 ]