Parses HTML5 application cache manifest.


Parses HTML5 application cache manifest.

npm install parse-appcache-manifest

parseManifest = require("parse-appcache-manifest")
entries = parseManifest(manifest)

entries will be an object with four properties: cache, network, fallback, and settings.

cache, settings, and network are arrays which contain entries.

fallback is an object with the url (or url pattern) as key, and the fallback url as value.

If you need access to a tokenized version of the manifest file (e.g., you want to modify an existing manifest file and need to preserve comments and newlines, etc)

appcacheParse  = require 'parse-appcache-manifest'
result = appcacheParse(input).tokens

where result is a flat, ordered list of tokens that comes back.

input =

# some explicit resources

result =

  { type: 'magic signature', value: 'CACHE MANIFEST' },
  { type: 'newline' },
  { type: 'comment', value: 'some explicit resources' },
  { type: 'mode', value: 'CACHE' }
  { type: 'data', tokens: [ '/happy.html' ] },
  { type: 'data', tokens: [ '/good.css' ] },
  { type: 'newline' },
  { type: 'mode', value: 'NETWORK' }
  { type: 'data', tokens: [ '*' ] },
  { type: 'data', tokens: [ 'http://*' ] },
  { type: 'data', tokens: [ 'https://*' ] }

You can use to convert a token list back to an appcache manifest.

To compile the code:

cd parse-appcache-manifest
coffee -cm -o lib/ src/

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

This code is based on code from Mikko Ohtamaa.

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

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