quick-lint-js

Find bugs in JavaScript programs.

E0217: TypeScript interface methods cannot be marked 'async'

The async keyword on methods changes the body of that method. TypeScript interface methods do not have bodies. Therefore, async does not make sense on TypeScript interface methods, and it is a syntax error to write it:

interface DataLoader {
  async load(): Promise<LoadedData>;
}

To fix this error, remove the async keyword:

interface DataLoader {
  load(): Promise<LoadedData>;
}

Documentation for other errors