Our great sponsors
-
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.
-
svelte-typescript-esbuild-tailwind-template
Build Svelte single page applications with the best tools.
-
htm
Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
If you're going to have a build step at all, instead of hand rolling your build commands and configs, just use Vite already. It uses esbuild for development and rollup for production (since esbuild is not featureful enough for a lot of production use cases), you get instantaneous startup, hot module replacement, static asset imports, etc. for free. It's from Evan You, the creator of Vue, but it also supports React, which works pretty well with it in my experience.
https://vitejs.dev/
I think you should be able to do something similar to the webpack config that Vue ships would be to use https://github.com/igoradamenko/esbuild-plugin-alias and pass in a similar `runtimeCompiler` option to your build script.
I love swc, it's close to a drop-in replacement for babel, but with a native executable and doesn't download half of the internet in JavaScript dependencies. You can use your existing build system, but get substantial speedups over using babel.
[1] https://parceljs.org/
esbuild is the gold standard its creator has done a phenomenal job (and it's still early in its lifecycle). It's the first time I used a JS build tool and didn't scream at the monitor when dealing with nonsensical APIs and error output.
Re-implemented a complex setup using it in an afternoon with very few hiccups: https://github.com/cheatcode/joystick/blob/master/cli/src/fu....
Instead of JSX I’ve been using htm, which fulfills roughly the same role but runs entirely in the browser: https://github.com/developit/htm
I find typescript useful for libraries, less so for application code.