@vimlet/bundl

Build & pack anything your way!

Usage no npm install needed!

<script type="module">
  import vimletBundl from 'https://cdn.skypack.dev/@vimlet/bundl';
</script>

README

Build & pack anything your way!

NPM License Documentation Codacy grade Travis (.org)

Bundl is a flexible project bundler for any language. It allows you to split your code and assets in a convenient way for daily work, while optimizing the output for production with the help of any toolchain of your choice. You can think of Bundl as way to automate your build routine, while you focus on your development.

⭐ Features

  • Fast: It works asynchronously.
  • Flexible: Customize any task using NodeJS and NPM packages.
  • Code Split: Split your code to ease daily development.
  • Sequencing: Order tasks in a synchronous way.
  • Configurable: Friendly configuration file.
  • Watcher Mode: Track your files and work freely while Bundl triggers in the background.
  • Non Intrusive: Do things your way.
  • Join/Copy: Join or copy any assets to the output.
  • Templating: Use Meta template engine to control the output granularly.

💿 Installation

You'll need the latest NodeJS release.

NodeJS version must be greater than 8.X.X

Install through npm:

On your project root, run:

npm install @vimlet/bundl

🔮 Usage

Command line

Example bundl.config.js

module.exports = {
  output: {
    "dist/bundle.js": "src/js/**.js"
  }
};

On your project root, run:

npx @vimlet/bundl

or simply

npx bundl

If no args are provided this option will look for bundl.config.js at current working directory. A config path can be provided with -c like so:

npx bundl -c "path_to_config"

As a module

const bundl = require("@vimlet/bundl");

var config = {
  output: {
    "dist/bundle.js": "src/js/**.js"
  }
};

bundl.build(config);

📚 Documentation

Check the full documentation for configuration details and advanced features at https://bundlejs.org/doc

🔌 Plugins

Bundl can easily be extended with your own code but it also has an official GitHub plugin repository https://github.com/vimlet/bundl-plugins with plugins for most of the common tools out there.

  • babel
  • stylus
  • bubble
  • terser
  • etc

All official plugins can be found under the NPM organization @bundl, feel free to request joining the organization and repositories to start contributing to this awesome community.

PR: Are welcome too 😁