from Hacker News

Automatically add missing "async/await" keywords to your TypeScript code

by theThree on 5/3/25, 4:48 PM with 7 comments

  • by primitivesuave on 5/5/25, 9:50 PM

    I took a peek at the implementation - I think this only works for a case where the typing explicitly contains the string "Promise". For example, I don't think it would work if I use `SomeInterface["some_promise_key"]` or might incorrectly add an async if I use `Awaited<Promise<...>>`.

    I think what you're trying to build might be best served by Typescript's VFS - https://www.npmjs.com/package/@typescript/vfs. You can load the local files into an in-memory type system, and quickly extract async/await hints that might be more useful for a typical TS developer. I think there's a lot of really interesting static analysis you could do to improve async/await safety, as it certainly leads to issues from time to time.

  • by bastawhiz on 5/5/25, 9:35 PM

    Is this a problem that people actually have?
  • by joshstrange on 5/5/25, 9:59 PM

    I do not want to be mean but I think you'd be much better served with ESLint rules to yell at you when you don't await when you should or do when you shouldn't.

    This should _not_ be an automatic operation since it can change behavior in ways that will be unclear to the developer (completely undoing any gain from them being added automatically).

  • by xeromal on 5/5/25, 9:50 PM

    Fun side project man!