Extension development in pure Typescript

One thing that would go a long way to easing the extension development experience – based on my efforts over the last few days to build a Nova extension using TypeScript – would be a Panic-authored type definition for the Nova extension environment.

Right now I am using @types/nova-editor-node type definitions, which are accurate… ish. They include definitions for some types that actually do not exist (like TransformStream) which has made it difficult to understand what I am actually allowed to do in my extension. It would make life a lot easier to have a set of definitions here that I can actually trust!

I think building on that with an example extension written in TypeScript would be really helpful too. For example, if you want to use npm dependencies, showing how to use esbuild to bundle everything into a single file would be really helpful for people that aren’t super well-versed in the vast world of JavaScript tools.

2 Likes