Using real-life open-source examples, we'll explore the power of TypeScript to improve your users' experience. We'll cover best practices for library authors, as well as tips and tricks for how to take a library to the next level. This talk will cover:
- how to leverage the type inference to provide help to your users;
- using types to reduce the need and complexity of your documentation - for example, using function overloads, string literal types, and helper (no-op) functions;
- setting up testing to ensure your library works (and your types do too!) with tools like tsd and expect-type;
- treating types as an API and reducing breaking changes whilst shipping enhancements;
- I'd draw on my experience with libraries like nuxt3, sanity-typed-queries and typed-vuex and show what we managed to do and what I'd do differently in future.