I am working on developing a custom widget for ThingWorx using **Angular 17**. I have created an Angular Element and successfully generated the build output (main.js, runtime.js, polyfills.js, etc.).
Now I want to package this as a proper ThingWorx widget (extension) using the Web Component SDK.
However, I don’t have the **ThingWorx Web Component SDK** that includes the necessary CLI utility and scripts like:
- `devops/wcp_components.js`
- `cli.js` for packaging the widget
Because of this, I'm unable to generate the required `metadata.xml`, widget JSON, and other files needed for import into ThingWorx Composer.
### My Request:
- Can someone please share the **official way to download the ThingWorx Web Component SDK** for Angular?
- Or provide a working copy (ZIP or repo)?
- Any documentation link or setup guide would be helpful too.
I’m not using Lit or other frameworks — this is strictly for Angular-based widgets.
Solved! Go to Solution.
The only SDK available is in product download as "ThingWorx Web Component SDK Utility" and "ThingWorx Web Component SDK Library" and to my knowledge they use Lit. Have you seen anyone else using Angular for Thingworx widgets?
AFAIK if you want to use Angular, you will have to provide the packaging yourself. You would also have to make sure the angular libraries are available at runtime,
The only SDK available is in product download as "ThingWorx Web Component SDK Utility" and "ThingWorx Web Component SDK Library" and to my knowledge they use Lit. Have you seen anyone else using Angular for Thingworx widgets?
AFAIK if you want to use Angular, you will have to provide the packaging yourself. You would also have to make sure the angular libraries are available at runtime,
Hello @NB_13740052,
Angular is an entire web framework with its own event loop. You can't just "wrap" a single Angular Element in a Web Component and use it elsewhere. You might be able to wrap the entire app though, but I wouldn't do it if I were you.
At this stage I would consider either moving entirely to Web Components and sticking to ThingWorx Mashup Runtime, or implement your entire frontend as an Angular app.
/ Constantine
