Vulcanizing Material Design downloads

vulcanize is an npm module used to combine resources. In order to make the Material Design downloads page sufficiently fast, we run vulcanize on the source files to combine them and reduce blocking load/parse time.

Required software

Vulcanization currently requires:

  • node.js: v0.10.25 (can be found with node --version)
  • npm: 1.3.10 (can be found with npm --version)
  • vulcanize: 1.12.3 (can be found with vulcanize --version)
  • crisper: 1.0.7 (can be found with npm info crisper)

Installing required software

For instructions on installing node and npm, see here.

Once you've installed npm, you can get crisper and vulcanize via:

$ sudo npm install -g crisper vulcanize

Combining resources with vulcanize

To combine all the CSS/HTML/JS for the downloads page to make it production fast, you can run the commands:

$ chrome/browser/resources/md_downloads/vulcanize.py  # from src/

This should overwrite the following files:

  • chrome/browser/resources/md_downloads/
  • vulcanized.html (all and stylesheets inlined)
  • crisper.js (all JavaScript, extracted from vulcanized.html)

Testing downloads without vulcanizing

If you're locally working on the downloads page, you can simply load this URL to bypass the vulcanized version: chrome://downloads/dev.html