https://github.com/seebigs/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...
https://github.com/seebigs/bundl-pack
bundles dependencies pack
Last synced: 5 months ago
JSON representation
Pack project dependencies into one JS file. Easily include external HTML and CSS files as strings. Pre-process LESS, SASS, CoffeeScript, and more...
- Host: GitHub
- URL: https://github.com/seebigs/bundl-pack
- Owner: seebigs
- Created: 2017-01-06T21:18:57.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-11-17T22:03:53.000Z (over 7 years ago)
- Last Synced: 2025-03-10T06:09:06.226Z (about 1 year ago)
- Topics: bundles, dependencies, pack
- Language: JavaScript
- Size: 131 KB
- Stars: 1
- Watchers: 0
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://github.com/seebigs/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](https://github.com/seebigs/bundl/wiki/Popular-Plugins#modules--dependencies) to allow easy importing of many other popular file types)
* js
* json
* css
* html
---
# Use as a plugin
```
$ npm install --save-dev bundl-pack
```
```js
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:
```js
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.
```js
{
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`.
```js
{
exitProcessOnError: false,
}
```
## .leadingComments
Display a comment at the top of every module showing the full module path. Defaults to `true`.
```js
{
leadingComments: false,
}
```
## .obscure
Hide relative path names from require statements (`require('../path/file.js')` becomes `require(2)`)
```js
{
obscure: true,
}
```
## .paths
An array of paths to use when resolving required/imported files
```js
{
paths: [
'src/javascripts',
'src/stylesheets',
]
}
```
## .[extension]
Define processors and options for files of any type. See [plugins](https://github.com/seebigs/bundl/wiki/Popular-Plugins#modules--dependencies)
```js
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'],
}),
}
```