Adobe's Common Extensibility Platform (CEP) provides the ability to create custom panels inside Adobe products. This project creates a test Node.js panel so we can trial running stuff through this framework.
This project was developed and tested solely on MacOS Mojave with Adobe InDesign CC 2019.
See LICENSE file in root folder. This license applies to all custom code, not libraries that carry their own licensing.
This article has a good overview and example of how to have the client JavaScript communicate with the host ExtendScript through JSON objects. In essence:
- Variables to ExtendScript should be sent as JSON objects. ExtendScript automatically parses them and makes them available right away.
- Return values back to client JavaScript should be converted to strings using
JSON.stringify(result). The client callback should do aJSON.parse(result)to access the returning data. This is done by the json2.js library.
Additional details about client or host side configurations can be seen in their README files.