Fix the node_modules download hook.

Currently we use download_from_google_storage to download
the node_modules.tar.gz archive from GCS; however, the archive
contains a .bin/ directory containing a bunch of symlinks, and
download_from_google_storage won't let you decompress such an

In theory we could (should?) add a flag to download_from_google_storage
to support this, now that symlinks should work everywhere, but in
the meantime this CL replaces download_from_google_storage with a
custom download script that does the same thing but allows such
archive members.

Change-Id: I1467f95197aae7dee2c1914916e4caa0fd0a381d
Reviewed-by: Struan Shrimpton <>
Commit-Queue: Dirk Pranke <>
2 files changed
tree: 79963f6ea24bfd078e1db3a6b7987fed82d9183c
  1. docs/
  2. infra/
  3. scripts/
  4. site/
  5. third_party/
  6. .eleventy.js
  7. .firebaserc
  8. .gclient
  9. .gitignore
  10. .vpython3
  12. DEPS
  13. firebase.json
  14. node_modules.tar.gz.sha1
  15. npmw
  16. OWNERS
  17. package-lock.json
  18. package.json

Source code for

This Git repo contains the source content for

NOTE: 2021-10-19. This is not (yet) actually true. This is a work-in-progress repo that we plan to move to.

The website is implemented by serving static content (mostly Markdown files) that is translated / built ahead of time into HTML using the Eleventy static site generator (which is written in Node/JS) and deployed onto Firebase Cloud Hosting.

The Markdown is translated using a single extremely simple Nunjucks template and the site is served with a single basic Sass/SCSS stylesheet (using the Node/NPM library version of Sass).

Large objects (PDFs, big images, etc.) are stored in a Google Cloud Storage bucket, indexed by SHA-1 checksums that are committed into this repo.

See //docs/ if you wish to contribute to the site.