Nova Javascript API Definitions + Extension development tools


I started writing my first extension and was wondering if there are existing tools for developing Nova extensions.

Is there a way to autocomplete methods etc… from the Nova Javascript API? Or a preferred set of eslint rules / guidelines? I searched but didn’t see anything immediately obvious in the documentation.


If you have a typescript extension setup you can install the @types/nova-editor-node package, which will provide you with autocompletion for nova APIs.


Hi there!

A couple of months ago I documented all the Nova APIs.

I also developed a small extension, not published yet, to add the definitions to a project and keep them up to date. No typescript extension setup required. You can continue developing the extension in plain javascript. You just have to add the types file provided by the extension, a jsconfig.json file with a couple of settings and most importantly the Typescript extension installed.

Here a quick screencast to show the process until the extension will be released:

I hope you’ll find it useful! If you find any issue please consider reporting it. Thanks!

P.S: The type definition is up to date with Nova v10.6. I spoke with @Logan and there are no API changes in v11 so you should be all set.


This is actually amazing! Thanks for sharing

1 Like

You’re welcome! I hope we as a community will be able to keep the definition up to date :crossed_fingers:

1 Like

Thank you for the responses everybody! To answer the other part of my question I did find this eslint plugin as well

GitHub - panicinc/eslint-plugin-nova: ESLint rules for the Nova extension API

I put together an initial extension for integrating perltidy to format perl files: Perltidy | Nova Extensions

So now there is one result for ‘perl’ extensions : )