There exist many tools that try and make working with webpack/rspack easier:
- create-react-app β a great and powerful tool. I personally tend not to use, because I find it slightly big and intimidating with a large codebase, it's overly React specific and brings in opinionated tools such as
jest
testing framework. But it's a very comprehensive tool with great documentation, so keep using it if it works for you! - pwa-cli β very similar to what jetpack is trying to do. Has a neat plugin system for extending its functionality beyond what the core provides. Why jetpack and not pwa-cli? Not sure, you'll have to try both and see what you prefer.
There are also alternatives to webpack/rspack:
- Parcel is making π. Let's see what version 2.0 brings to the table. It has very similar goals to that of jetpack's β most things should just work and be convenient without configuration.
- Browserify β probably still has a hard core fan base ;) with dev servers similar to jetpack, e.g. budo and bankai to mention a couple.
There also exist higher level frameworks for certain use cases:
- Next.js - use this when you need server side rendering. Server side rendering can be tricky to wrap your head around and so when you just want an Single Page Application β jetpack might be a better choice.
- Gatsby.js - use this when you're building a web app that can be exported to a bunch of html files β it's a great fit for websites. For richer, interactive web applications, jetpack might just be a simpler choice.
In general, where jetpack tries to be different is:
- make it possible to run globally anywhere on your machine, just like you can run
node ~/Desktop/test.js
- have good workflow for simultaneously developing the client and the server
- make sure that if no configuration is touched, the application is bundled in the best possible way for production
- serve the SPA use case well (as opposed to SSR or SSG)
Because jetpack avoids anything too fancy, a lot of the time your app might already work with jetpack out of the box. For example, this works:
$ npx create-react-app my-app
$ cd my-app
$ jetpack