FR: Official NPM package for WebView UIs

I would be nice to have an official JUCE frontend module hosted on npm with full typescript support (e.g. not only is it written in TS and the types created by tooling, but also important types are exported so you can use them in your projects).

There’s this, however not sure the author is willing to push to the registry each time there’s a new JUCE release.

Using the provided .js code which comes with JUCE would require frontend devs to have JUCE checked out or at least the file copied into the frontend project.

Edit with additional nice-to-have:
Support for client-and-server frameworks (e.g. NextJS): Make the module also work when components are rendered both on clients and server. This happens e.g. during development.

Server doesn’t have a window instance so most of the code currently fails and I had to add several checks for that. I know that using such a framework isn’t a perfect match for WebUI frontend dev, a simple react would be enough. However, in my use-case I deploy it on vercel to show my client updates and add middleware for an easy password protection of the deployment.

Hi.
That is a very good suggestion!
I would like to maintain the mentioned packages whenever possible, but I think it is best that the packages are officially delivered by npm.

I created this library for my own needs and figured it might also help others out: @bbx-audio/nectar

It has a lot of useful things, mainly the parameter and parameter manager stuff which make it easier to handle both sides of the front ←→ back comms. Also has other non-JUCE stuff like a global event manager, some math utils, etc. Last thing it has is an interface that you define on your frontend and call in the backend for sending data for visual components, e.g. spectrum data for analyzers, buffers for oscilloscopes, VU data for a VU meter.

The idea is that it’s a slightly more general package to help with web-based plugin development (that is JUCE-centric). I have only tried with Svelte, so while I suspect compatibility with other frameworks is fine, I cannot confirm that.