Encapsulating CEP Extension and Node.js Setup in InDesign UXP

Hello,

I’ve been developing Tree Shade over the past decade, and it currently consists of three main components:

  1. CEP Extension for InDesign
  2. Startup script for Adobe Bridge
  3. Node.js Application

Currently, after installing Tree Shade as a CEP extension, the following steps are required:

  • The extension in Bridge copies a startup script to the appropriate location and asks the user to restart Bridge.
  • It also copies a main.js file to the root folder of the projects.
  • Finally, the user needs to set up a Node.js server and manually install required plugins such as nodemailer, formidable, and puppeteer.

Now, I’m looking to transition to InDesign UXP and wondering if there’s a way to encapsulate all of this within the UXP extension so that all the setup and configuration (such as copying scripts, setting up Node.js, and installing the required plugins) is handled automatically in the background. My goal is to streamline the process for users by avoiding manual steps.

Some specific questions:

  1. Is it possible to package or trigger Node.js setups within the UXP extension?
  2. Can UXP handle file operations like copying startup scripts to other applications (e.g., Bridge)?
  3. Are there any best practices for managing external dependencies (like Node.js plugins) in UXP?

Any guidance or suggestions on how to achieve this would be greatly appreciated!

Thank you!