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
watchify2
to watch files, which is able to detect new entries. - Use
common-bundle
to pack modules by default, which makeb.bundle()
output a stream manipulatable bygulp
plugins.
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. Checkglobby
for 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
9 years ago
9.3.0
9 years ago
9.2.0
9 years ago
9.1.0
9 years ago
9.0.0
9 years ago
8.1.0
9 years ago
8.0.1
9 years ago
8.0.0
9 years ago
7.0.2
9 years ago
7.0.1
9 years ago
7.0.0
9 years ago
6.0.0
9 years ago
5.0.2
9 years ago
5.0.1
9 years ago
5.0.0
9 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