Skip to content

A blazing fast js bundler/loader with a comprehensive API 🔥

License

Notifications You must be signed in to change notification settings

AndreyTretyak/fuse-box

 
 

Repository files navigation

A bundler that does it right

Travis CI Build Status npm version monthly downloads from npm code style: prettier
Backers on Open Collective Sponsors on Open Collective Chat on Gitter Follow FuseBox on Twitter


The next version of FuseBox (4.0) will feature major improvements to speed and HMR. See the changelog here.


Introduction

FuseBox is a performant bundler/module loader, where you measure you build time in millseconds. It combines the power of Webpack, JSPM and SystemJS.

Blazing fast

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.

TypeScript First

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.

Task Runner

FuseBox features a powerfull task runner. It fits perfectly in the modern API of FuseBox while resembling well established concepts behind Gulp.

Plugins

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!

Highlights

There is so much more... FuseBox pushes bundling to a whole new level!

Getting Started

Installation

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

Usage

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

Documentation

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.

Examples and seeds

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 Example

React project using React with Code Splitting CSS Splitting

Open Collective

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.

Backers

Support us with a monthly donation and help us continue our activities. Become a backer.

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor

Contributing

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!

About

A blazing fast js bundler/loader with a comprehensive API 🔥

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 81.4%
  • JavaScript 18.1%
  • Other 0.5%