UNPKG

@mikey-pro/eslint-config-svelte

Version:

Mikey Pro ESLint Svelte configuration - Ultimate Svelte coding style guide

90 lines (83 loc) 1.85 kB
// Modern Svelte ESLint configuration for Mikey Pro import { baseConfig } from '../eslint-config/base-config.js'; import { baseOverrides } from '../eslint-config/overrides.js'; import svelte from 'eslint-plugin-svelte'; import svelteParser from 'svelte-eslint-parser'; // Svelte-specific configuration const svelteConfig = { files: ['**/*.svelte'], languageOptions: { parser: svelteParser, parserOptions: { ecmaFeatures: { jsx: true, }, ecmaVersion: 'latest', sourceType: 'module', }, }, plugins: { svelte, }, rules: { // Svelte rules - use recommended configuration ...svelte.configs.recommended.rules, }, settings: { 'import/resolver': { typescript: { alwaysTryTypes: true, }, }, }, }; // Export the complete Svelte configuration export default [ // Global ignores { ignores: [ '**/dist/**/*', '**/vendor/**/*', '**/node_modules/**/*', '**/coverage/**/*', '**/.next/**/*', '**/.nuxt/**/*', '**/.output/**/*', '**/.vite/**/*', '**/build/**/*', '**/out/**/*', '*.properties', '*.cclibs', '*.svg', '*.png', '*.jpg', '*.jpeg', '*.gif', '*.ico', '*.webp', '*.aco', '*.psd', '*.ai', '*.ase', '*.sh', '*.bat', '*.cmd', 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'LICENSE', 'CNAME', '*.min.js', '*.min.css', ], }, // Base configuration baseConfig, // Svelte-specific configuration svelteConfig, // File-specific overrides ...baseOverrides, ]; // Export individual components for advanced usage export { baseConfig } from '../eslint-config/base-config.js'; export { baseOverrides } from '../eslint-config/overrides.js';