nodobe

1.1.0 • Public • Published

nodobe

What

Automate Adobe products with es6 and execute them from node or command line.

Why

  • 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.

Drawbacks

  • 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.

Installation

$ npm install nodobe -g

Command Line Usage

$ nodobe --app photoshop --script my-automation-script.js

Options

  • --script, -s required relative path to your automation script
  • --app, -a required adobe application you wish to use (ie: photoshop)
  • --config, -c relative path to a configuration file for your script
  • --preset, -p path to the generated script (if true, creates the script in application’s preset folder)
  • --help outputs help in cli

Node usage

The same options are available in the node interface as well

const nodobe = require('nodobe')
 
nodobe({
  script: 'relative/path/to/script.js',
  app: 'illustrator',
  // ... optional options
}).catch(err => console.error(err))

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 option.

If the preset flag or option is true, then 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 config option, 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:

import { config } from 'nodobe'

All the cli arguments are parsed by minimist and passed directly into your script, which means you can use them like so:

import { argv } from 'nodobe'

Development

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

Readme

Keywords

none

Package Sidebar

Install

npm i nodobe

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

14.4 kB

Total Files

11

Last publish

Collaborators

  • skiano