npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nodobe

v1.1.0

Published

A collection of photoshop tools

Downloads

6

Readme

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