Recursively crawls a directory and browserifies, watches, source-maps, displays errors, minifies, and gzips multiple files based on filename matching. This is a pre-configured utility for developer convenience that is still very customizable.
const bcrawl =const emitter =consoleemitteremitteremitteremitteremitter
The above will find all files named
page.js in the
client/js directory, even nested ones. It will then recreate a mirror directory structure in
public/js with all the compiled files.
For example, if you have
client/js/dashboard/page.js, then the compiler will create
public/js/dashboard/page.js, which will be the built versions of the files. The compiler will also create
options object can have these properties:
source: path of the input directory containing all your mainfiles (which may be in nested directories). Required.
dest: path of your output directory, typically
dest, etc. Required.
fileName: name of the main-file(s) that you want to compile. Defaults to
page.js. These are the root files that you actually want to include in your html in a script element.
browserify: an object of browserify options from the browserify api
watch: whether to run watchify on each file to recompile on any changes
compress: whether to uglify & gzip the compiled file (slower)
unassertify: whether to run
commonShakeify: whether to run
uglifyify: whether to run
The return value is an event emitter that allows you to listen to the following events:
compile: a file has finished compling. Callback receives the full file path.
build: the full set of files have finished the initial build. Callback receives an array of all file paths
update: a file has been updated but not yet compiled
compress: a file has finished being minified and gzipped
error: an error has been caught, most likely a browserify parse error
const bcrawl =const emitter =const logTime = consoleconst time =emitteremitteremitteremitter
const bcrawl =const emitter =const logTime = consoleconst time =emitteremitteremitter