Hi everyone,
I’m currently developing a CEP extension for After Effects using plain HTML, JS and node modules. During development I ran into an issue that only happens on Windows, not on macOS. The root cause is that the Node runtime embedded in CEP on Windows is significantly older than the one used on macOS.
This leads to very inconsistent behavior between platforms. One example is that many modern npm packages internally import core modules using the node: protocol, such as:
import { EventEmitter } from "node:events"
This syntax is fully valid in modern Node, but on Windows CEP it results in:
Error: Cannot find module 'node:events'
Even though the exact same code works perfectly on macOS.
The problem is not the package or code I write it’s simply the fact that CEP on Windows runs an older Node version that doesn’t support this syntax. Developers are now forced to downgrade packages, patch node_modules manually or use heavy bundling workarounds just to keep Windows compatibility.
Why this matters
• Platform inconsistencies
• Broken dependencies
• Reduced library support
• Harder development for new developers
• Friction and confusion for users testing extensions across OSes
Current workaround
Manually rewriting "node:xxx" imports to "xxx" inside node_modules or downgrading packages. Obviously this is not ideal for long term development.
Request
Please update the Node runtime inside CEP to a recent LTS release (Node 18 or newer), so extensions behave consistently across platforms and developers can rely on modern npm packages without needing to modify them.
This would massively simplify extension development and remove a whole category of cross-platform issues.
Thank you for considering this and for continuing development on Adobe extensibility.
Best regards,
Mk