Nullifying Precipitation Machine

    eslint-plugin-json-format

    2.0.1 • Public • Published

    eslint-plugin-json-format

    CircleCI

    An ESLint plugin to lint, format, auto-fix, and sort your json files.

    Features

    • lint, format, and auto-fix json files (files ending with .json or rc)
    • auto-sort package.json files (default true, can be disabled and sorting configured)
    • ignores json-with-comments files (default ["**/.tsconfig.json", ".vscode/**"])
    • ignores certain files by default (default ["**/package-lock.json"])

    Installation

    You'll first need to install ESLint:

    npm install eslint --save-dev

    Next, install eslint-plugin-json-format:

    npm install eslint-plugin-json-format --save-dev

    Usage

    Add json-format to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

    {
      "plugins": [
        "json-format"
      ]
    }

    cli example:

    # lint entire poject for js and various json files 
    eslint --ext .js,.json,.eslintrc,.babelrc --fix .

    Note: In order to lint hidden files (e.g. .eslintrc.json), you'll need to modify/create a .eslintignore in your project root with these contents: .eslintignore:

    # eslint ignores hidden files by default
    !.*
    **/node_modules

    Settings

    default settings (.eslintrc):

    "settings"{
      "json/sort-package-json": "standard",
      "json/ignore-files": ["**/package-lock.json"],
      "json/json-with-comments-files": ["**/tsconfig.json", ".vscode/**"],
    }

    Note: glob patterns use minimatch against path names relative to the project root (cwd)

    sort-package-json order

    You can configure the exact sort order of your package.json files (or turn it off entirely with false)

    Available sorting options

    false: disable package.json sorting.

    "standard": default from sort-package-json. This is a sane, standard order.

    "pro": places scripts and dependencies at the top, reducing need to scroll down to view them. Pros only.

    ["your", "custom", "order", "here"]: provide an array to manually set the sort order.

    Settings examples

    to turn off sorting package.json files for example, in your .eslintrc:

    {
      "plugins": [
        "json-format"
      ],
      "settings": {
        "json/sort-package-json": false,
      }
    }

    to format tsconfig.json (this will strip comments!), in your .eslintrc:

    {
      "plugins": [
        "json-format"
      ],
      "settings": {
        "json/json-with-comments-files": [],
      }
    }

    change the sort order of package.json:

    {
      "plugins": [
        "json-format"
      ],
      "settings": {
        "json/package-json-sort-order": ["license", "dependencies"],
      }
    }

    Editor Configuration

    VSCode:

    In order for editor integration via the vscode-eslint extension, you'll need to enable linting json files.

    settings.json:

    // enable eslint fix-on-save
      "eslint.autoFixOnSave"true,
      "eslint.validate"[
        {
          "language": "json",
          "autoFix": true
        },

    to auto-format* json-with-comments-files, also add "language": "jsonc" (* will strip comments)

    License

    MIT

    Credits

    large amount of code borrowed from eslint-plugin-html

    Install

    npm i eslint-plugin-json-format

    DownloadsWeekly Downloads

    24,492

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    22.5 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar