node package manager


render-appcache-manifest Build Status Dependency Status

Renders HTML5 application cache manifest.

See also parse-appcache-manifest.


npm install render-appcache-manifest

Generate Manifest from Direct Object

renderManifest = require "render-appcache-manifest"

renderManifest returns the rendered manifest as a string.
contents is an object that can have the following properties, all optional:

  • cache - an array of entries (urls) you want in the CACHE section.
  • network - an array of entries (urls or url-patterns, using wildcards) you want in the NETWORK section
  • fallback - an object with key-value pairs where key is the url or url-pattern to capture, and value is the fallback url. They will appear in the FALLBACK section.
  • settings - an array of settings. Currently the only value that appcaches understand is prefer-online or fast which refers to the caching mode enabled. See for full details.
  • unique - if set to a truthy value, will add result of Math.random() as a comment, guaranteeing uniqueness.
  • lastModified - a Date object. Will be used to generate a "Last modified at" comment.
  • comment - a comment string.
  • comments - an array of comment strings, each comment will take up one line.

There's no way to control layout of the generated manifest. The output will be generally neat.

render-appcache-manifest will not validate the correctness of input. You are responsible for providing corrent urls or url-patterns, where appropriate. Also, adding a multi-line string as a comment will break the manifest.

Generate Manifest from Tokens

If you need fine grained control over the rendering process, you may pass in a list of ordered tokens to render a manifest. The tokens are generated by, but you can just as easily craft your own token list provided the format matches.

appcacheRender = require 'render-appcache-manifest'
out = appcacheRender tokens


To compile the code:

npm install # once, to get the dev dependencies 
make build

To test the code:

npm test


The initial structure of this module was generated by Jumpstart, using the Jumpstart Black Coffee template.

Tokenizing support, settings support, whatwg spec conformance, and updated documentation from


render-appcache-manifest is released under the MIT License.
Copyright (c) 2013 Meryn Stol, Michael Reinstein