New NPM Packages for Premiere UXP APIs

We are excited to announce two new NodeJS packages, available now on NPM, to help improve your development of UXP plugins for Premiere Pro.

@adobe/premierepro

The @adobe/premierepro package includes the TypeScript declarations previously available as the downloadable file shared through the documentation website. To get started, install the package as part of your developer dependencies using your package manager of choice:

npm install -D @adobe/premierepro

More details can be found on the package README and on the Premiere UXP documentation website.

@adobe/eslint-plugin-premierepro

ESLint is a static analysis tool which helps identify bugs, suggest fixes, and recommend best practices when writing JavaScript or TypeScript projects. You can use ESLint’s tooling to help catch these issues earlier in the development and continuous improvement process.

The @adobe/eslint-plugin-premierepro package is an ESLint plugin which adds a set of rules specifically for using the Premiere Pro UXP APIs. These rules currently cover best practices such as:

  • Creating and using Actions within lockedAccess()/executeTransaction() calls
  • Avoid using asynchronous callbacks within lockedAccess()/executeTransaction() functions
  • Warning when calling executeTransaction() without an undo message

To get started, install the package as part of your developer dependencies using your package manager of choice:

npm install -D @adobe/eslint-plugin-premierepro

More details about configuring the plugin, available rules, and use with TypeScript-enabled projects can be found on the package README and on the Premiere UXP documentation website.

What’s Next?

Going forward we’ll be maintaining these packages following Premiere Pro release versions; we currently have packages published for Premiere Pro 26.2 and 26.3 Beta.

You can also see examples of how these packages are used with our uxp-premiere-pro-samples repository. In particular:

  • metadata-handler, while being a vanilla JavaScript project, uses the TypeScript declarations to populate JSDoc type information and give Intellisense-like type hints for variables.
  • premiere-api uses both TypeScript and ESLint to help provide static analysis checks against the various APIs available today.

Make sure to give these packages a try soon and let us know what you think!

4 Likes

This is awesome!!! Should make the developer experience so, so much better. Someone should forward this to the InDesign UXP team…

2 Likes