Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

package-json-validator

Package Overview
Dependencies
Maintainers
3
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

package-json-validator

Tools to validate package.json files.

  • 0.7.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

package.json validator

Tools to validate package.json files.

🤝 Code of Conduct: Kept 📝 License: MIT 📦 npm version

Supported Specifications

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

Usages

Command line

npm install package-json-validator -g

See pjv --help for usage:

Options:
  --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]

Node.js

npm install package-json-validator
import { PJV } from "package-json-validator";

PJV.validate(/* ... */);

API

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
}

Example:

const { PJV } = require("package-json-validator");

PJV.validate(data, spec, options);

Example1:

const { PJV } = require("package-json-validator");

const text = JSON.stringify({
	name: "packageJsonValidator",
	version: "0.1.0",
	private: true,
	dependencies: {
		"date-fns": "^2.29.3",
		install: "^0.13.0",
		react: "^18.2.0",
		"react-chartjs-2": "^5.0.1",
		"react-dom": "^18.2.0",
		"react-material-ui-carousel": "^3.4.2",
		"react-multi-carousel": "^2.8.2",
		"react-redux": "^8.0.5",
		"react-router-dom": "^6.4.3",
		"react-scripts": "5.0.1",
		redux: "^4.2.0",
		"styled-components": "^5.3.6",
		"web-vitals": "^2.1.4",
	},
	scripts: {
		start: "react-scripts start",
	},
	eslintConfig: {
		extends: ["react-app", "react-app/jest"],
	},
	browserslist: {
		production: [">0.2%", "not dead", "not op_mini all"],
		development: [
			"last 1 chrome version",
			"last 1 firefox version",
			"last 1 safari version",
		],
	},
});

const data = PJV.validate(text);

Output for above example:

console.log(data);
// {
//  valid: true,
//   warnings: [
//    'Missing recommended field: description',
//    'Missing recommended field: keywords',
//    'Missing recommended field: bugs',
//    'Missing recommended field: licenses',
//    'Missing recommended field: author',
//    'Missing recommended field: contributors',
//    'Missing recommended field: repository'
//  ],
//  recommendations: [
//    'Missing optional field: homepage',
//    'Missing optional field: engines'
//  ]
}

Contributors

Alan
Alan

🤔
Amila Welihinda
Amila Welihinda

💻
Andreas Brekken
Andreas Brekken

💻
August Valera
August Valera

💻
Brett Zamir
Brett Zamir

🤔
Chris Montgomery
Chris Montgomery

💻
Clay Carpenter
Clay Carpenter

💻
Dav Glass
Dav Glass

💻
DjDCH
DjDCH

🐛
Eric Cornelissen
Eric Cornelissen

🐛
Gord Tanner
Gord Tanner

💻
Hemanth HM
Hemanth HM

💻
Jason Jarrett
Jason Jarrett

🤔
Jatin Chopra
Jatin Chopra

💻
Josh Goldberg ✨
Josh Goldberg ✨

🐛 💻 📖 🤔 🚧 🔧
L N M Anudeep
L N M Anudeep

💻
Linus Unnebäck
Linus Unnebäck

🚧
Matthew Holloway
Matthew Holloway

🐛
Nick Sullivan
Nick Sullivan

🐛 💻 📖 🤔 🚧
Norman Sue
Norman Sue

🐛
Peter deHaan
Peter deHaan

🤔 💻
Reggi
Reggi

🤔
Sebastien Dubois
Sebastien Dubois

💻
Simon
Simon

🤔
Slava Fomin II
Slava Fomin II

🤔
Stephen Zhou
Stephen Zhou

💻
Veniamin Krol
Veniamin Krol

💻
gramergrater
gramergrater

🐛
sarahhagstrom
sarahhagstrom

💻

Appreciation

Many thanks to @TechNickAI for creating the initial version and core infrastructure of this package! 💖

Keywords

FAQs

Package last updated on 17 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc