Adobe-CEP / CEP-Resources

Tools and documentation for building Creative Cloud app extensions with CEP
https://www.adobe.io/apis/creativecloud/cep.html
1.62k stars 824 forks source link

Are Node addons supported / will CEP ever support them? #70

Open undavide opened 8 years ago

undavide commented 8 years ago

Hi, according to this thread in the Forums, Node addons are not supported. But apparently they're used in an Adobe sample extension, so it's really unclear whether they work even if they shouldn't, or what else.

I'm doing tests with them and I keep getting "Uncaught Error: Module did not self-register." Since I'm just hacking node addons, I'd like to understand if it's just me doing something wrong, or CEP itself that can't support them. In which case... will it ever support them or it's a completely locked option?

Thank you! –Davide

undavide commented 8 years ago

As a side note, the Node.js that powers Photoshop Generator seems to digest addons pretty well!

derrickb commented 8 years ago

@undavide This would make a great topic for a blog post!

dinghui0712 commented 8 years ago

Javascript Node.js addons are supported. However, native Node.js addons are not officially supported (you might need to rebuild the add-on using CEP's version of libuv and v8).

undavide commented 8 years ago

Thanks @dinghui0712 ! I've compiled a native add-on (this one: https://github.com/EyalAr/lwip) following the instruction in its own repository. Can you please point me to doc about recompiling the sourcecode using "CEP's version of libuv and v8" (I'm afraid I'm only hacking that lwip library and I have no clue about libuv and v8) Thank you very much! Davide

heyakyra commented 1 year ago

Having trouble using a .node binary and hoping others might have figured this out in the better part of a decade since this was reported… :sweat_smile: The original linked forum thread seems to be gone—has the URL moved?

https://github.com/Adobe-CEP/CEP-Resources/issues/70#issuecomment-237048092

Can you please point me to doc about recompiling the sourcecode using "CEP's version of libuv and v8"

Yes, this would be very helpful indeed! Or a reference to where you were told this, so we can follow up.

https://github.com/Adobe-CEP/CEP-Resources/issues/70#issue-168489769

Node addons are […] used in an Adobe sample extension

Where/which?

ErinFinnegan commented 1 year ago

Having trouble using a .node binary and hoping others might have figured this out in the better part of a decade since this was reported… 😅 The original linked forum thread seems to be gone—has the URL moved?

Indeed. Fortunately I was able to de-archive it: https://community.adobe.com/t5/exchange-discussions/are-node-js-addons-supported-by-cep/td-p/6872845

Node addons are […] used in an Adobe sample extension

Where/which?

Oh in that specific thread, the destination sample has also moved, this one is for CEP 10 & 11: https://github.com/Adobe-CEP/CEP-Resources/tree/master/CEP_11.x/Samples/CEP_HTML_Test_Extension-10.0/node_modules/mongodb/node_modules/bson

heyakyra commented 1 year ago

Thanks! I had replied to another discussion, but a community expert deleted my reply and shamed me for bringing the discussion back for some reason..

Anyways, another thread suggested using WebAssembly/WASM to get around the limitations, but I'm not really sure if that covers the same bases or how involved that might be: https://community.adobe.com/t5/indesign-discussions/c-node-addons-supported-in-cep/m-p/14044844#M539960

ErinFinnegan commented 1 year ago

@heyakyra - I don't fully understand what you're trying to do, and what is blocking you. People use node all the time in CEP extensions, and sometimes it causes problems, but it's not prohibited... When you say "node binary" do you mean there's a C++ component?

heyakyra commented 1 year ago

Yes, exactly. Sorry I guess that context was only in the link