{"id":13577552,"url":"https://github.com/ExtendScript/extendscriptr","last_synced_at":"2025-04-05T12:30:34.940Z","repository":{"id":7860380,"uuid":"56682250","full_name":"ExtendScript/extendscriptr","owner":"ExtendScript","description":"An NPM command line tool to compile modern javascript (es5 \u0026 es6) into executable extendscript (es3)","archived":false,"fork":false,"pushed_at":"2023-07-26T10:29:47.000Z","size":1510,"stargazers_count":157,"open_issues_count":21,"forks_count":17,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-02T11:08:48.033Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ExtendScript.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-04-20T11:44:51.000Z","updated_at":"2025-03-21T13:13:27.000Z","dependencies_parsed_at":"2024-01-19T08:15:58.493Z","dependency_job_id":"8b6f0d30-4347-4358-8dc0-5c6af245bd61","html_url":"https://github.com/ExtendScript/extendscriptr","commit_stats":{"total_commits":138,"total_committers":15,"mean_commits":9.2,"dds":0.7681159420289855,"last_synced_commit":"5f6b5c0284c6885dca5c6ba8e1ae8eceb2782dff"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExtendScript%2Fextendscriptr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExtendScript%2Fextendscriptr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExtendScript%2Fextendscriptr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExtendScript%2Fextendscriptr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExtendScript","download_url":"https://codeload.github.com/ExtendScript/extendscriptr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246802623,"owners_count":20836373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T15:01:22.433Z","updated_at":"2025-04-05T12:30:34.905Z","avatar_url":"https://github.com/ExtendScript.png","language":"JavaScript","readme":"# Extendscriptr\n\n[![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\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) [![travis](https://travis-ci.org/ExtendScript/extendscriptr.svg?style=flat-square)](https://travis-ci.org/ExtendScript/extendscriptr)\n\nExtendscriptr is NPM CLI module that allows you to benefit of many modern javascript features of es5 and es6 in a es3 extendscript environment.\n\n## Why\n\nBuilding 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.\n\nExtendscriptr 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!\n\nExtendscriptr 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.\n\n## Prerequisites\n\nThis tool currently needs npm version 3.x or higher due to the flattened folder structure.\n\n## Usage\n\nWe recommend using it as a local dependency\\*\n\n- `npm install extendscriptr --save-dev`\n- `extendscriptr --script src/scripts/helloWorld.js --output dist/helloWord.js`\n- open the outputted file with ExtendScript Toolkit OR place your script in the relevant application script folder\n- run it\n\n### Watch mode\n\nExstendscriptr does not have any built-in _watch_ capability, but you can accomplish this using the [watch](https://www.npmjs.com/package/watch) module:\n\n```bash\nnpm install watch -D\n```\n\nRun the following and Extendscriptr will automatically run every time you save a file in the `src/` directory:\n\n```bash\n./node_modules/.bin/watch \"./node_modules/.bin/extendscriptr --script src/helloWorld.js --output dist/helloWord.js\" src/\n```\n\n### Contribute\n\nWe 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.\n\n### Report issues\n\nFeel free to report any issue you would encounter using the module.\nhttps://github.com/vogelino/extendscriptr/issues\n\n### License\n\nWTFPL - Do whatever the fuck you want\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n\u003ctable\u003e\u003ctr\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"http://www.vogelino.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2759340?v=4\" width=\"50px;\" alt=\"Lucas Vogel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLucas Vogel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ExtendScript/extendscriptr/commits?author=vogelino\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-vogelino\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://fabianmoronzirfas.me\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/315106?v=4\" width=\"50px;\" alt=\"Fabian Morón Zirfas\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFabian Morón Zirfas\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-fabianmoronzirfas\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#design-fabianmoronzirfas\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"http://brunoherfst.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1421477?v=4\" width=\"50px;\" alt=\"Bruno Herfst\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBruno Herfst\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ExtendScript/extendscriptr/commits?author=GitBruno\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"http://andydayton.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/151084?v=4\" width=\"50px;\" alt=\"Andy Dayton\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndy Dayton\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ExtendScript/extendscriptr/commits?author=andyinabox\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/stefanomasini\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1584765?v=4\" width=\"50px;\" alt=\"Stefano Masini\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStefano Masini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ExtendScript/extendscriptr/commits?author=stefanomasini\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://bsky.moe\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/38746192?v=4\" width=\"50px;\" alt=\"bsky\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ebsky\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-imbsky\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"http://lumenn.pl\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/15074603?v=4\" width=\"50px;\" alt=\"silmelumenn\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esilmelumenn\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ExtendScript/extendscriptr/commits?author=lumenn\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ExtendScript/extendscriptr/commits?author=lumenn\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExtendScript%2Fextendscriptr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FExtendScript%2Fextendscriptr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExtendScript%2Fextendscriptr/lists"}