Automate Adobe products with es6 and execute them from node or command line.
- Adobe’s IDE for making .jsx scripts makes me sad, and I would rather use more familiar tools and conventions
- I want to reuse bits of script without mysterious include comments
- Sometimes I want to make the script accept arguments on a command line or from another process (such as my build) and I'm not aware of an easy way to do that without something like this.
- loosing the autocompletion of the IDE. But I think it would be awesome if adobe released official typescript definitions for all their global objects. Do they?
- Not even close to official.
- Only works on a mac.
$ npm install nodobe -g
Command Line Usage
$ nodobe --app photoshop --script my-automation-script.js
--script, -srequired relative path to your automation script
--app, -arequired adobe application you wish to use (ie:
--config, -crelative path to a configuration file for your script
--preset, -ppath to the generated script (if true, creates the script in application’s preset folder)
--helpoutputs help in cli
The same options are available in the node interface as well
const nodobe =
Immediate execution vs preset generation
If you do not specify the
preset option, your script will build and execute immediately. However, if you prefer to create a preset you can use the
preset flag or option is
nodobe will attempt to build the script to the applications
Presets/Scripts folder. Typically this would require
sudo unless you have changed the permissions for that folder.
preset can also be set to a relative path where you want to generate the script.
Configuration for your script
Configuration is optional, and you can use a file or extra cli arguments
If you specify the
nodobe will attempt to resolve it using require. The resolved object must be an object that can be JSON stringified. It will then be available to your automation script like so:
All the cli arguments are parsed by
minimist and passed directly into your script, which means you can use them like so:
If you want to contribute, you can build all the example scripts with
$ npm start
Or you can start a watcher with
$ npm run dev