Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ExtendScript/extendscriptr

An NPM command line tool to compile modern javascript (es5 & es6) into executable extendscript (es3)
https://github.com/ExtendScript/extendscriptr

Last synced: about 2 months ago
JSON representation

An NPM command line tool to compile modern javascript (es5 & es6) into executable extendscript (es3)

Awesome Lists containing this project

README

        

# Extendscriptr

[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors) [![npm version](https://badge.fury.io/js/extendscriptr.svg?style=flat-square)](https://badge.fury.io/js/extendscriptr) [![Join the chat at https://gitter.im/vogelino/extendscriptr](https://badges.gitter.im/vogelino/extendscriptr.svg?style=flat-square)](https://gitter.im/vogelino/extendscriptr?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![travis](https://travis-ci.org/ExtendScript/extendscriptr.svg?style=flat-square)](https://travis-ci.org/ExtendScript/extendscriptr)

Extendscriptr is NPM CLI module that allows you to benefit of many modern javascript features of es5 and es6 in a es3 extendscript environment.

## Why

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`](https://github.com/ExtendScript/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.

## Prerequisites

This tool currently needs npm version 3.x or higher due to the flattened folder structure.

## Usage

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

### Watch mode

Exstendscriptr does not have any built-in _watch_ capability, but you can accomplish this using the [watch](https://www.npmjs.com/package/watch) module:

```bash
npm install watch -D
```

Run the following and Extendscriptr will automatically run every time you save a file in the `src/` directory:

```bash
./node_modules/.bin/watch "./node_modules/.bin/extendscriptr --script src/helloWorld.js --output dist/helloWord.js" src/
```

### Contribute

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.

### Report issues

Feel free to report any issue you would encounter using the module.
https://github.com/vogelino/extendscriptr/issues

### License

WTFPL - Do whatever the fuck you want

## Contributors

Lucas Vogel
Lucas Vogel

πŸ’» 🎨Fabian MorΓ³n Zirfas
Fabian MorΓ³n Zirfas

πŸ’¬ 🎨Bruno Herfst
Bruno Herfst

πŸ’»Andy Dayton
Andy Dayton

πŸ’»Stefano Masini
Stefano Masini

πŸ’»bsky
bsky

🚧silmelumenn
silmelumenn

πŸ’» ⚠️

Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):

This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!