10.1.0 • Published 9 years ago
reduce-js v10.1.0
reduce-js
Augment browserify with the following features:
- Accept patterns to add entries.
- Use
watchify2to watch files, which is able to detect new entries. - Use
common-bundleto pack modules by default, which makeb.bundle()output a stream manipulatable bygulpplugins.
Example
Suppose we want to create one bundle for each js file in /path/to/src,
and an additional common bundle to hold modules shared among them.
const reduce = require('reduce-js')
const path = require('path')
const del = require('del')
const uglify = require('gulp-uglify')
bundle(createBundler())
function createBundler(watch) {
var b = reduce.create(
/* glob for entries */
'*.js',
/* options for browserify */
{
basedir: path.join(__dirname, 'src'),
cache: {},
packageCache: {},
},
/* options for common-bundle */
// single bundle
// 'bundle.js',
// multiple bundles
{
groups: '*.js',
common: 'common.js',
},
/* options for watchify2 */
watch && { entryGlob: '*.js' }
)
return b
}
function bundle(b) {
var build = path.join(__dirname, 'build')
del.sync(build)
return b.bundle().pipe(uglify()).pipe(b.dest(build))
}To watch file changes:
var b = createBundler(true)
b.on('update', function update() {
bundle(b)
return update
}())To work with gulp:
var gulp = require('gulp')
gulp.task('build', function () {
return bundle(createBundler())
})
gulp.task('watch', function (cb) {
var b = createBundler(true)
b.on('update', function update() {
bundle(b)
return update
}())
b.on('close', cb)
})API
var reduce = require('reduce-js')
var b = reduce.create(entries, browserifyOptions, bundleOptions, watchifyOptions)reduce.create(entries, browserifyOptions, bundleOptions, watchifyOptions)
Return a browserify instance.
entries: patterns to locate input files. Checkglobbyfor more details.browserifyOptions: options forbrowserify.bundleOptions: options forcommon-bundle.watchifyOptions: options forwatchify2. If truthy, file changes are watched.
b.bundle()
Return a vinyl stream,
which can be processed by gulp plugins.
b.bundle().pipe(require('gulp-uglify')()).pipe(b.dest('build'))b.dest(outFolder, options)
The same with gulp.dest.
Related
10.1.0
9 years ago
10.0.2
9 years ago
10.0.1
9 years ago
10.0.0
9 years ago
9.4.0
10 years ago
9.3.0
10 years ago
9.2.0
10 years ago
9.1.0
10 years ago
9.0.0
10 years ago
8.1.0
10 years ago
8.0.1
10 years ago
8.0.0
10 years ago
7.0.2
10 years ago
7.0.1
10 years ago
7.0.0
10 years ago
6.0.0
10 years ago
5.0.2
10 years ago
5.0.1
10 years ago
5.0.0
10 years ago
4.0.0
10 years ago
3.0.1
10 years ago
3.0.0
10 years ago
2.1.1
10 years ago
2.1.0
10 years ago
2.0.0
10 years ago
1.0.0
10 years ago
0.0.1
10 years ago