Package 'required' and 'imported' dependencies


Keywords
bundles, dependencies, pack
License
MIT
Install
npm install bundl-pack@2.0.3

Documentation

bundl-pack

Pack project dependencies into one JS file. Easily include external HTML and CSS files as strings. Pre-process LESS, SASS, CoffeeScript, and more...

Supports ES6 imports via bundl-pack-babel

Default processors automatically handle the requiring/importing of the following extensions. (Default behavior can be modified or overriden, and plugins already exist to allow easy importing of many other popular file types)

  • json
  • css
  • html

$ npm install --save-dev bundl-pack
var bundl = require('bundl');
var pack = require('bundl-pack');
var write = require('bundl-write');

var packOptions = {
    paths: ['/src/javascripts']
};

bundl('entry.js')
    .then(pack(packOptions))
    .then(write())
    .go();

Options

.paths

An array of paths to use when resolving required/imported files

{
    paths: [
        'src/javascripts',
        'src/stylesheets'
    ]
}

.leadingComments

Display a comment at the top of every module showing the full module path. Defaults to true.

{
    leadingComments: false
}

.obscure

Hide relative path names from require statements (require('../path/file.js') becomes require(2))

{
    obscure: true
}

.[extension]

Define processors and options for files of any type. See plugins

var babelProcessor = require('bundl-pack-babel');
var lessProcessor = require('bundl-pack-less');

{
    css: {
        compatibility: 'ie8',
        autoInject: false
    },
    html: {
        removeComments: false
    },
    json: {
        autoInject: false
    },
    less: lessProcessor({
        relativeUrls: false
    }),
    js: babelProcessor({
        presets: ['es2015']
    })
}

Stand-Alone Usage

If you want to package files manually, you can do the following:

var pack = require('bundl-pack');

var packed = pack(options).one(entryFileContents);

console.log(packed.contents);