sveltejs / eslint-plugin-svelte3

An ESLint plugin for Svelte v3 components.
MIT License
372 stars 43 forks source link

[typescript] Error `no-use-before-define` when no use before #175

Open orblazer opened 2 years ago

orblazer commented 2 years ago

Hello, I have an issue with no-use-before-define rule when i want use it in html with export prefix and without use it before.

Code i have :

<script lang="ts">
  export let mode: 'stroke' | 'fill' = 'stroke'
</script>

<svg class:icon-fill={mode === 'fill'}>
  ...
</svg>

Eslint config:

module.exports = {
  root: true,
  parser: '@typescript-eslint/parser',
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:@typescript-eslint/recommended-requiring-type-checking',
    'standard',
    'prettier'
  ],
  plugins: ['svelte3', '@typescript-eslint'],
  env: {
    es2021: true,
    browser: true
  },
  parserOptions: {
    ecmaVersion: 2021,
    sourceType: 'module',
    project: ['./tsconfig.eslint.json', './tsconfig.json'],
    extraFileExtensions: ['.svelte']
  },
  settings: {
    'svelte3/typescript': () => require('typescript') // pass the TypeScript package to the Svelte plugin
  },
  globals: {
    svelte: true //  For `svelte.JSX` type
  },
  overrides: [
    {
      files: ['*.svelte'],
      processor: 'svelte3/svelte3',
      rules: {
        'import/first': 'off',
        'import/no-duplicates': 'off',
        'import/no-mutable-exports': 'off',
        'import/prefer-default-export': 'off'
      }
    }
  ]
}

Thanks/

andrewjmeier commented 2 years ago

I'm running into this issue as well