GitHub - w3c/third-party-resources-checker: A tool to detect non-w3.org and non-whitelisted resources in a Web page (original) (raw)

npm version License Build Status Coverage Status Dependency Status devDependency Status

Third Party Resources Checker

This PhantomJS-based tool loads a given URL and logs on the standard output any URL (one per line) the page requests while loading that is not a www.w3.org nor a whitelisted URL (as defined in the whitelisted_domains variable).

It is a component of the W3C automated publication workflow, orchestrated by Echidna.

Installation

Install the dependencies by running npm install.

Usage

Standalone

The checker can be run standalone via the command line:

Usage: third-party-resources-checker [options] URI

Options:

-h, --help                  output usage information
-V, --version               output the version number
-w, --whitelist <filename>  optional JSON file containing URIs and domains that are deemed OK

Examples:

$ third-party-resources-checker http://page.to.be/checked
$ third-party-resources-checker -w whitelist.json http://page.to.be/checked

As a module

The checker can also be run as a module. require('third-party-resources-checker') exposes a single check function:

It returns a Promise of a tuple (as a JavaScript Array):

Whitelist format

When used standalone, the whitelist must be written in a JSON file. When used as a module, it must be given to the check() function as a JavaScript object literal. In both cases, its format is the following:

{
    "domains": [
        "www.foobar.org"
    ],
    "urls": [
        "http://example.org/image.jpg"
    ]
}