Skip to content
A tool/library for validating npm/node package.json files
JavaScript HTML CSS Shell
Branch: master
Clone or download
LinusU Merge pull request #64 from amilajack/patch-1
add syntax highlighting to readme
Latest commit 8f8cb16 Feb 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Merge pull request #46 from gtanner/master Dec 6, 2015
.gitignore Ignore webstorm files Mar 21, 2013
.jshintrc Initial .jshintrc Sep 12, 2013
Gruntfile.js Initial Grunt infrastructure, handle linting and tests Sep 12, 2013
LICENSE Initial license. Update README to reflect current vs future Dec 25, 2012
PJV.js Fix type of man field to accept string or array Dec 29, 2017 add syntax highlighting to readme Feb 2, 2019
base64.js Move base64 to a separate file Jan 5, 2013
index.html Remove link to creationeer website and link to github instead Jan 31, 2018
package.json 0.6.3 Jan 8, 2018
push_to_s3.bash bash command to push to s3 Jan 30, 2018
robots.txt Noop robots.txt Dec 25, 2012


package.json files are required for node.js/npm projects. Beyond just valid json, there are required fields to follow the specifications. This tool verifies the package.json against the specification of your choice, letting you know if you have a valid file. The validation reports required fields that you MUST have, warns for fields that you SHOULD have, and recommends optional fields that you COULD have.

Circle CI Build Status

Supported Specifications

Of course, there are multiple ones to follow, which makes it trickier.



Online copy hosted courtesy of Nick Sullivan at Want to run your own copy? You are welcome to clone or fork this repo.

Command line

npm install package-json-validator -g

See pjv --help for usage:

  --filename, -f         package.json file to validate                      [default: "package.json"]
  --spec, -s             which spec to use - npm|commonjs_1.0|commonjs_1.1  [default: "npm"]
  --warnings, -w         display warnings                                   [default: false]
  --recommendations, -r  display recommendations                            [default: false]
  --quiet, -q            less output                                        [default: false]
  --help, -h, -?         this help message                                  [default: false]

As a node library

npm install package-json-validator

Via Grunt

Have your package validate via a Grunt plugin - see grunt-nice-package

Via Gulp

Have your package validate via a gulp plugin - see gulp-nice-package


PJV.validate(packageData[[, spec], options])

spec is either npm, commonjs_1.0, or commonjs_1.1

options is an object with the following available:

    warnings: true, // show warnings
    recommendations: true // show recommendations


var PJV=require('package-json-validator').PJV;
PJV.validate(data, spec, options)


Please check out the existing issues, and if you don't see that your problem is already being worked on, please file an issue.

Fork and Pull request

Since you are probably a developer, you can probably just make the change yourself and submit a pull request



You can’t perform that action at this time.