bundl-pack

2.0.3 • Public • Published

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 overridden, and plugins already exist to allow easy importing of many other popular file types)

  • js
  • json
  • css
  • html

Use as a plugin

$ 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'],
};
 
new Bundl('entry.js')
    .then(pack(packOptions))
    .then(write())
    .go();

Use standalone

If you want to just pass a String of contents and return the packaged result, you can do the following:

var pack = require('bundl-pack');
var fileContents = '...';
pack.create(fileContents, options, function (packed) {
    console.log(packed);
});

Options

.allowCircular

By default, circular dependencies will throw an error. Set this option to true to suppress this error and continue packaging anyways.

{
    allowCircular: true,
}

.exitProcessOnError

A message will always be printed if a syntax error is encountered while packing. This option controls whether to halt the process or continue. Defaults to true.

{
    exitProcessOnError: false,
}

.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,
}

.paths

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

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

.[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'],
    }),
}

Readme

Keywords

none

Package Sidebar

Install

npm i bundl-pack

Weekly Downloads

29

Version

2.0.3

License

MIT

Unpacked Size

115 kB

Total Files

63

Last publish

Collaborators

  • seebigs