You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Starting to think about removing esbuild (or any build tool) from Joystick. We're hitting a point where modern JavaScript has enough universal support that a build tool isn't terribly necessary.
It'd be worth doing a feature branch where we rip out building and just replace it with some simple copying to .joystick/build and maybe do some minification. Ideally, Joystick v2 ships without a build tool entirely. Not only would that reduce the footprint dramatically but development changes would be instant.
The only real advantage right now is build plugins which we use to do the component IDs and mount injection. These are technically just regexes, though, so migrating that work out of a plugin should be pretty straightforward.
The text was updated successfully, but these errors were encountered:
This is even more interesting because it brings Joystick even closer to being a "standards based" approach to full-stack dev. No hacks/abstractions/etc., just raw web dev in an easy-to-consume package.
A quick test shows this is pretty straightforward. Only hang up will be Joystick UI where we'll need to polyfill the window in Node for SSR. One way to do that is to make it so we can "init" joystick.js/ui, passing a window object. So, instead of expecting an actual global window, pass a root object that could be window, process, global, or just a random object.
Starting to think about removing esbuild (or any build tool) from Joystick. We're hitting a point where modern JavaScript has enough universal support that a build tool isn't terribly necessary.
It'd be worth doing a feature branch where we rip out building and just replace it with some simple copying to
.joystick/build
and maybe do some minification. Ideally, Joystick v2 ships without a build tool entirely. Not only would that reduce the footprint dramatically but development changes would be instant.The only real advantage right now is build plugins which we use to do the component IDs and mount injection. These are technically just regexes, though, so migrating that work out of a plugin should be pretty straightforward.
The text was updated successfully, but these errors were encountered: