Extendscriptr is NPM CLI module that allows you to benefit of many modern javascript features of es5 and es6 in a es3 extendscript environment.
Building scripts for Adobe products (mostly used for After Effects, InDesign, Photoshop or Illustrator) can be pain for the finger nails if you are used to proper javascript environments.
Extendscriptr relies on extendscript-es5-shim
and focuses on mostly used prototypes as a priority that are tested in the different Adobe applications. This dependency will be improved over time to covers always more es5 and es6 features. Contributions are welcome!
Extendscriptr doesn't use an existing full-stack polyfills like babel-polyfill
, es5-shim
or shim.js
as they are intended for the browser and don't work well in adobe applications.
This tool currently needs npm version 3.x or higher due to the flattened folder structure.
We recommend using it as a local dependency*
npm install extendscriptr --save-dev
extendscriptr --script src/scripts/helloWorld.js --output dist/helloWord.js
- open the outputted file with ExtendScript Toolkit OR place your script in the relevant application script folder
- run it
Exstendscriptr does not have any built-in watch capability, but you can accomplish this using the watch module:
npm install watch -D
Run the following and Extendscriptr will automatically run every time you save a file in the src/
directory:
./node_modules/.bin/watch "./node_modules/.bin/extendscriptr --script src/helloWorld.js --output dist/helloWord.js" src/
We would be happy to have contributions from other members as well. Don't hesitate to make pull requests or contact us if you wish to get contributor rights.
Feel free to report any issue you would encounter using the module. https://github.com/vogelino/extendscriptr/issues
WTFPL - Do whatever the fuck you want
Lucas Vogel 💻 🎨 | Fabian Morón Zirfas 💬 🎨 | Bruno Herfst 💻 | Andy Dayton 💻 | Stefano Masini 💻 | bsky 🚧 | silmelumenn 💻 |
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!