parse-appcache-manifest

Parses HTML5 application cache manifest.

parse-appcache-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 =

CACHE MANIFEST
 
# some explicit resources
CACHE:
/happy.html
/good.css
 
NETWORK:
*
http://*
https://*

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 https://github.com/meryn/render-appcache-manifest 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 https://github.com/mreinstein.

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