Fuse-Box is a JavaScript and TypeScript module bundler known for its focus on speed, simplicity, and extensibility through a plugin system. Version 4.0.0, released in 2019, introduced significant architectural changes, most notably a shift from JavaScript-based configuration files (e.g., `fbx_switch.js`) to XML-based configuration (`fusebox.xml` and `circuit.xml`) for defining application circuits and parameters. It supports features like TypeScript compilation by default, a powerful caching system, zero-configuration code splitting, Hot Module Replacement (HMR), and an integrated task runner (Sparky). While it aimed to be a simpler alternative to Webpack for application bundling, the project appears to be no longer actively maintained, with its last npm publish in December 2020 and its GitHub repository archived in June 2023.
npm install fuse-boxVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates a basic Fuse-Box v4 setup for a TypeScript project, including development server, HMR, and production build tasks using the integrated Sparky runner. It showcases modular configuration and task execution.
Migrate your project configuration to the new XML format. Consult the official Fuse-Box v4 documentation for details on `fusebox.xml` and `circuit.xml` structure.
Review your Sparky tasks and update them to the v4 API, typically importing `sparky` from 'fuse-box' directly and utilizing its context-based task definitions.
Consider migrating to an actively maintained bundler like Webpack, Rollup, or Vite for new projects or existing projects requiring ongoing support and security patching.
Ensure source map generation is enabled in your `fusebox` configuration. For complex setups, custom `sourceMap` configurations or external source map tools might be required, though official support is now absent.
Use the v4 import syntax: `import { sparky } from 'fuse-box';` and then destructure task methods from the `sparky(Context)` call. Ensure your project is configured for ESM if using `import`.Verify your `fusebox.xml` and `circuit.xml` files are correctly structured according to v4 documentation. Ensure necessary plugins (e.g., `WebIndexPlugin` if dealing with HTML) are configured, especially if the file is an entry point or template.
Always import the `fusebox` function explicitly: `import { fusebox } from 'fuse-box';` and use it to create a new instance (e.g., `fusebox({...})`). Avoid relying on global variables.No dependency data recorded yet.