eslint.config.js 988 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import prettier from 'eslint-config-prettier';
  2. import js from '@eslint/js';
  3. import { includeIgnoreFile } from '@eslint/compat';
  4. import svelte from 'eslint-plugin-svelte';
  5. import globals from 'globals';
  6. import { fileURLToPath } from 'node:url';
  7. import ts from 'typescript-eslint';
  8. import svelteConfig from './svelte.config.js';
  9. const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
  10. export default ts.config(
  11. includeIgnoreFile(gitignorePath),
  12. js.configs.recommended,
  13. ...ts.configs.recommended,
  14. ...svelte.configs.recommended,
  15. prettier,
  16. ...svelte.configs.prettier,
  17. {
  18. languageOptions: {
  19. globals: { ...globals.browser, ...globals.node }
  20. },
  21. rules: { 'no-undef': 'off' }
  22. },
  23. {
  24. files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
  25. ignores: ['eslint.config.js', 'svelte.config.js'],
  26. languageOptions: {
  27. parserOptions: {
  28. projectService: true,
  29. extraFileExtensions: ['.svelte'],
  30. parser: ts.parser,
  31. svelteConfig
  32. }
  33. }
  34. }
  35. );