The next version of FuseBox (4.0) will feature major improvements to speed and HMR. See the changelog here.
FuseBox is a performant bundler/module loader, where you measure you build time in millseconds. It combines the power of Webpack, JSPM and SystemJS.
FuseBox is extremely convenient for developers. Incremental build of an entire
application takes 50 to 100 milliseconds. It requires no configuration to bundle
projects such as babel-core
.
FuseBox loves TypeScript, and does not require any additional configuration to support it. It will compile and bundle your code within a fraction of a second, yet it offers a comprehensive loader API. It is packed with features and unfolds limitless possibilities of extending.
FuseBox features a powerfull task runner. It fits perfectly in the modern API of FuseBox while resembling well established concepts behind Gulp.
We maintain all of the most used plugins. You can just pick what you need and plug it in. If there's anything missing, let us know!
- No headache, minimal configuration
- First class TypeScript support
- Tree shaking
- Code Splitting
- Dynamic imports
- CSS Code splitting
- Blazing fast bundle time
- DevServer and HMR integrate with existing HTTP apps in 1 second!
- Works everywhere for easy universal applications
There is so much more... FuseBox pushes bundling to a whole new level!
FuseBox has many baked in plugins to help you get started. All you need to do is
to install fuse-box
using npm or yarn.
npm install fuse-box --save-dev
yarn add fuse-box --dev
To build a TypeScript application, create a file fuse.js
in the root directory
of your project:
const { FuseBox } = require("fuse-box");
const fuse = FuseBox.init({
homeDir: "src",
output: "dist/$name.js",
});
fuse.bundle("app").instructions(`> index.ts`);
fuse.run();
And run it!
node fuse
You can find a more detailed getting started guide on our website. It will walk you through the basics and give you a solid foundation to dig deeper.
You can find many examples and application scaffolds on our here. Don't hesitate to reach out to us on Gitter. Please consult our Contributing guidelines before creating an issue, we're trying to keep it nice and tidy.
React project using React with Code Splitting CSS Splitting
FuseBox contributors do this open source work in their free time. If you feel that using FuseBox increases your productivity and you'd like us to invest more time in it, please back us up.
Support us with a monthly donation and help us continue our activities. Become a backer.
Become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor
Please consult Contributing Guildelines for details. If you already know it, here's a fastlane to our communication channels:
Special thanks to devmondo for incredible ideas, giving inspiration and relentless testing/contributing to the project.
If you like the project, don't forget to star it!