googlearchive / polybuild

Easy Optimization Tool / Gulp plugin
BSD 3-Clause "New" or "Revised" License
75 stars 19 forks source link

polybuild is deprecated!

Please use the Polymer CLI or polymer-build instead.


Polybuild

An all-in-one build tool for Polymer apps

Polybuild combines vulcanize, crisper, and polyclean into one easy to use solution for optimizing Polymer applications for production.

Polybuild exposes a gulp plugin, and a small command line tool to fit your build environment.

Command Line Tool

Install:

npm install -g polybuild

Use:

polybuild index.html

Output: index.build.html and index.build.js

The equivalent command line usage is:

vulcanize --inline-css --inline-scripts --strip-comments index.html | polyclean | crisper --html index.build.html --js index.build.js

Gulp Plugin

Install:

npm install polybuild

Use in gulpfile.js:

var gulp = require('gulp');
var polybuild = require('polybuild');

gulp.task('build', function() {
  return gulp.src('index.html')
  .pipe(polybuild())
  .pipe(gulp.dest('.'))
;
})

Output: index.build.html and index.build.js

The equivalent gulp pipeline is found in index.js

Options

PolyBuild has two options: "maximum crush" and "suffix". First option affects whether the output javascript is minified, or only has whitespace removed, second option needed if you want change default "build" suffix.

If you have a more advanced use case than is provided, please copy the equivalent portions of the command line or gulp internals as a starting point.

Example of options usage on the command line with flags:

polybuild index.html --maximum-crush --suffix customsuffix

which will output the file index.customsuffix.html

You can use options in gulp, like in this example

//...
.pipe(polybuild({maximumCrush: true, suffix: 'build'})
//...