Skip to content

marionebl/jsonlint-cli

Repository files navigation

jsonlint-cli

jsonlint-cli logo

jsonlint-cli - cli wrapper for jsonlint

Thin wrapper around jsonlint improving on its cli. It introduces glob expansion and advanced schema validation. Borrows heavily from jsonlint in every regard.

Feature comparison

jsonlint-cli introduces valuable improvements and additions to the cli shipping with jsonlint.

Feature jsonlint jsonlint-cli Description
json validity checking ✔️ ✔️ jsonlint-cli uses jsonlint to parse and validate
local schema validation ✔️ ✔️ specify local schemas to validate input against
read from stdin ✔️ ✔️ stream json in via stdin
read from fs ✔️ ✔️ specify file's path to lint
glob expansion ✔️ specify globs of files to lint, e.g. **/*.json
remote schema validation ✔️ specify remote schemas to validate against
v4 schema validation ✔️ use v4 jsonschema
config files ✔️ support for eslint style config files

Installation

# Install it from npm
npm install -g jsonlint-cli

Usage

jsonlint-cli exposes a command line interface

❯ jsonlint-cli --help
  jsonlint-cli@1.0.0 - cli wrapper for jsonlint

  [input] reads from stdin if [files] are omitted
  --ignore,-i     glob pattern to exclude from linting, defaults to: node_modules
  --validate,-s   uri to schema to use for validation, defaults to:
  --indent,-w     whitespace to use for pretty printing, defaults to: "  "
  --env,-e        json schema env to use for validation, defaults to: json-schema-draft-04
  --pretty,-p     pretty-print the input, defaults to: false
  --sort,-t       sort json keys alphabetically, defaults to: false
  --version,-v    print the version
  --help,-h       show this help

Configuration

jsonlint-cli picks up configuration files, searching upwards from process.cwd() or the file path if specified.

.jsonlintrc

{
  "validate": "", // schema uri to validate against
  "ignore": ["node_modules/**/*"], // glob patterns to ignore
  "indent": "", // indent to use for pretty-printed output
  "env": "json-schema-draft-04", // json schema env version to use
  "pretty": true // pretty-print formatted json if quiet is false
}

.jsonlintignore

node_modules/ # ignored by default
distribution/

Copyright 2016 by Mario Nebl and contributors. Released under the MIT license.