Skip to content

CustomEvents are treated as any #432

Closed
@DetachHead

Description

@DetachHead

Before You File a Bug Report Please Confirm You Have Done The Following...

  • I have tried restarting my IDE and the issue persists.
  • I have updated to the latest version of the packages.

What version of ESLint are you using?

8.33.0

What version of eslint-plugin-svelte are you using?

2.25.0

What did you do?

Configuration
module.exports = {
    extends: ["plugin:svelte/recommended", "plugin:@typescript-eslint/recommended"],
    parser: "@typescript-eslint/parser",
    parserOptions: {
      project: "tsconfig.json",
      extraFileExtensions: [".svelte"],
    },
    rules:{
        "@typescript-eslint/no-unsafe-member-access": "error"
    },
    overrides: [
      {
        files: ["*.svelte"],
        parser: "svelte-eslint-parser",
        parserOptions: {
          parser: "@typescript-eslint/parser",
        },
      },
    ],
  }

asdf.svelte

<script lang="ts" strictEvents>
    import { createEventDispatcher } from 'svelte'

    const dispatch = createEventDispatcher<{ value: number }>()
    dispatch('value', 1)
</script>

main.svelte

<script lang="ts" strictEvents>
    import Asdf from './asdf.svelte'
</script>

<Asdf
    on:value={(e) => {
        e.detail.toString()
    }}
/>

What did you expect to happen?

no error, as e.detail is number, not any

What actually happened?

7:9  error  Unsafe member access .toString on an `any` value  @typescript-eslint/no-unsafe-member-access

Link to GitHub Repo with Minimal Reproducible Example

https://github.com/DetachHead/eslint-plugin-svelte-repros/tree/3a6151d1f80aacf9246db66758276bb8869f0721

Additional comments

related: #390

the issue was fixed for events with currentTarget, but not for CustomEvents

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions