json

PHOTO EMBED

Sun Oct 16 2022 10:40:44 GMT+0000 (Coordinated Universal Time)

Saved by @frikke #json

{
  "$id": "https://json.schemastore.org/pre-commit-config.json",
  "$schema": "http://json-schema.org/draft-07/schema",
  "definitions": {
    "meta_repo": {
      "type": "object",
      "properties": {
        "repo": {
          "default": "meta",
          "description": "meta hooks",
          "enum": ["meta"],
          "type": "string"
        },
        "hooks": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["id"],
            "properties": {
              "id": {
                "type": "string",
                "enum": [
                  "check-hooks-apply",
                  "check-useless-excludes",
                  "identity"
                ]
              }
            }
          }
        }
      }
    },
    "local_repo": {
      "type": "object",
      "properties": {
        "repo": {
          "default": "local",
          "description": "local hooks",
          "enum": ["local"],
          "type": "string"
        },
        "hooks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/hook_definition",
            "type": "object",
            "required": ["id", "name", "entry", "language"]
          }
        }
      }
    },
    "uri_repo": {
      "type": "object",
      "properties": {
        "repo": {
          "description": "the repository url to git clone from",
          "type": "string",
          "pattern": "^(?!.*(local|meta)).*$"
        },
        "rev": {
          "description": "the revision or tag to clone at (previously sha).",
          "type": "string"
        },
        "hooks": {
          "description": "A list of hook mappings. See https://pre-commit.com/#pre-commit-configyaml---hooks.",
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/hook_definition"
          }
        }
      }
    },
    "hook_definition": {
      "type": "object",
      "properties": {
        "id": {
          "description": "which hook from the repository to use.",
          "type": "string"
        },
        "alias": {
          "description": "(optional) allows the hook to be referenced using an additional id when using pre-commit run <hookid>.",
          "type": "string"
        },
        "name": {
          "description": "(optional) override the name of the hook - shown during hook execution.",
          "type": "string"
        },
        "language": {
          "description": "(optional) Tells pre-commit on how to install the hook. See https://pre-commit.com/#supported-languages",
          "$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/language"
        },
        "language_version": {
          "description": "(optional) override the language version for the hook. See https://pre-commit.com/#overriding-language-version.",
          "type": "string"
        },
        "files": {
          "description": "(optional) override the default pattern for files to run on.",
          "type": "string"
        },
        "entry": {
          "description": "(optional) Override default command to execute for the hook.",
          "type": "string"
        },
        "exclude": {
          "description": "(optional) file exclude pattern.",
          "type": "string"
        },
        "types": {
          "description": "(optional) override the default file types to run on. See https://pre-commit.com/#filtering-files-with-types.",
          "$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types"
        },
        "types_or": {
          "description": "(optional) override the default file types to run on (OR). See Filtering files with types. new in 2.9.0.",
          "$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types"
        },
        "exclude_types": {
          "description": "(optional) file types to exclude.",
          "$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types"
        },
        "args": {
          "description": "(optional) list of additional parameters to pass to the hook.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stages": {
          "description": "(optional) confines the hook to the commit, merge-commit, push, prepare-commit-msg, commit-msg, post-checkout, post-commit or manual stage. See https://pre-commit.com/#confining-hooks-to-run-at-certain-stages.",
          "$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/stages"
        },
        "additional_dependencies": {
          "description": "(optional) a list of dependencies that will be installed in the environment where this hook gets run. One useful application is to install plugins for hooks such as eslint.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "always_run": {
          "description": "(optional) if true, this hook will run even if there are no matching files.",
          "type": "boolean"
        },
        "verbose": {
          "description": "(optional) if true, forces the output of the hook to be printed even when the hook passes.",
          "type": "boolean"
        },
        "log_file": {
          "description": "(optional) if present, the hook output will additionally be written to a file.",
          "type": "string"
        },
        "pass_filenames": {
          "description": "(optional) if false, this hook will be called only once without being called for each matching file.",
          "type": "boolean",
          "default": false
        }
      }
    }
  },
  "properties": {
    "ci": {
      "description": "pre-commit.ci specific settings. See https://pre-commit.ci/#configuration",
      "type": "object",
      "properties": {
        "autofix_commit_msg": {
          "description": "custom commit message for PR autofixes",
          "default": "[pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci",
          "type": "string"
        },
        "autofix_prs": {
          "description": "whether to autofix pull requests. when disabled, comment \"pre-commit.ci autofix\" on a pull request to manually trigger auto-fixing",
          "default": true,
          "type": "boolean"
        },
        "autoupdate_branch": {
          "description": "branch to send autoupdate PRs to. by default, pre-commit.ci will update the default branch of the repository.",
          "default": "",
          "type": "string"
        },
        "autoupdate_commit_msg": {
          "description": "custom commit message for autoupdate PRs",
          "default": "[pre-commit.ci] pre-commit autoupdate",
          "type": "string"
        },
        "autoupdate_schedule": {
          "description": "control when the autoupdate runs",
          "type": "string",
          "default": "weekly",
          "enum": ["weekly", "monthly", "quarterly"]
        },
        "skip": {
          "description": "which hook ids to be skipped when running under pre-commit.ci",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "submodules": {
          "description": "whether to recursive check out submodules",
          "default": false,
          "type": "boolean"
        }
      }
    },
    "repos": {
      "description": "A list of repository mappings. See https://pre-commit.com/#pre-commit-configyaml---repos.",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "$ref": "#/definitions/meta_repo"
          },
          {
            "$ref": "#/definitions/local_repo"
          },
          {
            "$ref": "#/definitions/uri_repo"
          }
        ]
      }
    },
    "default_language_version": {
      "description": "(optional: default {}) a mapping from language to the default language_version that should be used for that language. This will only override individual hooks that do not set language_version.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "default_stages": {
      "description": "(optional: default (all stages)) a configuration-wide default for the stages property of hooks. This will only override individual hooks that do not set stages.",
      "$ref": "https://json.schemastore.org/pre-commit-hooks.json#/definitions/stages"
    },
    "files": {
      "description": "(optional: default '') global file include pattern.",
      "type": "string",
      "default": ""
    },
    "exclude": {
      "description": "(optional: default ^$) global file exclude pattern.",
      "type": "string",
      "default": "^$"
    },
    "fail_fast": {
      "description": "(optional: default false) set to true to have pre-commit stop running hooks after the first failure.",
      "type": "boolean",
      "default": false
    },
    "minimum_pre_commit_version": {
      "description": "(optional: default '0') require a minimum version of pre-commit.",
      "type": "string",
      "default": "0"
    }
  },
  "required": ["repos"],
  "title": "JSON schema for .pre-commit-config.yaml",
  "type": "object"
}
content_copyCOPY

visual studio code insiders

https://json.schemastore.org/pre-commit-config.json