This site uses cookies for analytics. By continuing to browse this site, you agree to this use.
A JS Foundation Project

Manifest parser

Manifest parser (@hint/parser-manifest)

parser-manifest detects if a web app manifest file was specified, and if so, it will try to fetch it, parse and check if its content is valid.

How to install and use it

To use it you will have to install it via npm:

npm install @hint/parser-manifest

If you want to install it globally, add the parameter -g. If you want to install it as a dev dependency, add the parameter --save-dev.

And then activate it via the .hintrc configuration file:

{
"connector": {...},
"formatters": [...],
"hints": {
...
},
"parsers": ["manifest"],
...
}

Events emitted

The following events are emitted by the parser:

fetch::start::manifest

Event is of type FetchStart and is emitted when the parser starts downloading the web app manifest file.

fetch::end::manifest

Event is of type FetchEnd and is emitted when the parser successfully downloaded the web app manifest file.

fetch::error::manifest

Event is of type FetchError and is emitted when the parser encounters a problem trying to fetch the web app manifest file.

parse::end::manifest

Event is emitted when the parser successfully completed parsing the web app manifest file.

Format:

export type ManifestParsed = FetchEnd & {
/** The content of manifest parsed */
parsedContent: Manifest;
};

parse::error::manifest::json

Event is emitted when the content of the web app manifest file is not valid JSON.

Format:

export type ManifestInvalidJSON = ErrorEvent & {
/** The parse JSON error. */
error: Error;
};

parse::error::manifest::schema

Event is emitted when the content of the web app manifest file is not valid according to the schema.

Format:

export type ManifestInvalidSchema = ErrorEvent & {
/** The parse errors as returned by ajv. */
errors: ajv.ErrorObject[];
/** The errors in a more human readable format. */
prettifiedErrors: string[];
};

Types

If you need to import any type or enum defined in this parser, you just need to import them as follows:

import { TypeOrEnumYouWantToUse } from '@hint/parser-manifest';