Skip to main content
1-Visitor
July 17, 2025
Solved

ThingWorx Web Component SDK for Angular

  • July 17, 2025
  • 2 replies
  • 355 views

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.

Best answer by Rocko

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,

2 replies

Rocko
Rocko19-TanzaniteAnswer
19-Tanzanite
July 17, 2025

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,

18-Opal
July 28, 2025

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