-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
You might already know, but for mocha you can use https://www.npmjs.com/package/ts-mocha. And if you're using karma, I recommend replacing it with cypress. Looks like karma-typescript doesn't even support Typescript 5: https://github.com/monounity/karma-typescript/issues/619
Here's a simple sample project which host the vite devserver inside express for development (so you don't have a chaos with different processes / ports / origins). This should be the way to go.