jetpack-validation
Validate a directory with a manifest for Firefox Add-ons using the Jetpack/Add-on SDK and jpm.
Install
npm install jetpack-validate --save
Usage
The main export takes a path to a directory and returns an object containing properties that have error messages as values. Some should be showstoppers (invalid ID) and some should just be used as warnings (invalid semver version, only for use with npm).
var validate = require("jetpack-validation");
var errors = validate("/path/to/my/addon");
if (Object.keys(errors).length) {
Object.keys(errors).forEach(function (key) {
console.error("Found " + key + " error: " + errors[key]);
});
} else {
console.log("No errors found!");
}
Validations
- id: Uses jetpack-id to ensure a proper ID for AMO. Manifest must contain either an
id
field, adhering to Mozilla's Add-on manifest rules as either a GUID or a domain (in the case of jetpack addons converted from the cfx tool), or just a validname
field, which works as identification injpm
addons, and is compatable withnpm
's naming scheme. - main: Ensures that the
main
entry in the manifest refers to a file that exists, or resolves to a file that exists (using node loading rules), or that there is anindex.js
file in the root. - title: Ensures that the manifest contains either a
title
property to be displayed when using the addon, and falls back to the more strictname
property. - name: Validates that the
name
property is a valid name for use withnpm
. - version: Validates that the
version
property is in proper semver format, for use withnpm
, as Mozilla's toolkit version format is much less strict.
License
MIT License, Copyright (c) 2014 Jordan Santell