Skip to content

vladavoX/CEP-reload

Repository files navigation

CEP Reload

Monorepo for CEP auto-reload during ExtendScript development.

The goal is simple: when you save your host-side .jsx file, you should be able to see the new behavior in your CEP extension without closing and reopening the panel.

Today this repo contains a Vite plugin that supports that workflow. In the future, this monorepo may also grow additional integrations, such as a webpack-oriented plugin or other tooling around CEP development.

Why this exists

Developing CEP panels is slower than it needs to be when every ExtendScript change requires reopening the extension window.

This project focuses on the feedback loop:

  • save your ExtendScript bundle
  • detect the change from the panel
  • re-run the host script through CSInterface.evalScript(...)
  • keep the panel open while iterating

This is not true HMR for ExtendScript modules. It is a practical reload workflow for CEP development.

Current packages

Right now only the Vite plugin exists.

Status and testing

The current workflow has only been tested in After Effects.

I do not currently have a way to verify behavior in other CEP hosts such as Premiere Pro, Photoshop, Illustrator, or Media Encoder. If you try this in another Adobe app and it works, breaks, or needs host-specific handling, please open an issue or send a PR with details.

Useful reports include:

  • Adobe host name and version
  • operating system
  • CEP version if known
  • whether reload worked automatically
  • any host-specific quirks or required setup

Development

This repo uses Vite+ via the global vp CLI.

Install dependencies:

vp install

Run the basic example app in development:

vp run dev

Run the built-host example in development:

cd examples/vite-cep-plugin-built-host
vp run dev

The built-host example demonstrates the generated-bundle workflow directly: edit src/host/index.ts, let the watcher rebuild dist/host/index.jsx, and the CEP reload client will re-evaluate that output file.

Run the full ready/check flow:

vp run ready

Build all workspace packages:

vp run build -r

Run tests across the workspace:

vp run test -r

Contributing

Contributions are welcome, especially around:

  • testing in additional Adobe CEP hosts
  • bug fixes in the reload flow
  • better example projects
  • documentation improvements
  • future plugin support beyond Vite

If you want to contribute:

  1. Install dependencies with vp install.
  2. Make your change.
  3. Run vp run ready before opening a PR.
  4. Include reproduction steps, host details, and screenshots/logs when relevant.

For host-compatibility fixes, please be explicit about where you tested the change. Cross-host validation is currently the main gap in this project.

Notes

  • This repo is focused on developer experience for CEP + ExtendScript iteration.
  • The current package does not try to solve full production packaging or extension installation.
  • If Vite is not the only relevant bundler long term, this monorepo structure leaves room for additional plugins later.

About

When you save your host-side .jsx file, you should be able to see the new behavior in your CEP extension without closing and reopening the panel.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors