eslint-plugin-json-schema-validator
Version:
ESLint plugin that validates data using JSON Schema Validator.
1 lines • 13.9 kB
JSON
{"$schema":"https://json-schema.org/draft/2019-09/schema#","type":"object","definitions":{"gocritic-checks":{"enum":["appendAssign","argOrder","badCall","badCond","caseOrder","codegenComment","commentedOutCode","deprecatedComment","dupArg","dupBranchBody","dupCase","dupSubExpr","evalOrder","exitAfterDefer","flagDeref","flagName","mapKey","nilValReturn","octalLiteral","offBy1","regexpPattern","sloppyReassign","truncateCmp","weakCond","assignOp","boolExprSimplify","builtinShadow","captLocal","commentFormatting","commentedOutImport","defaultCaseOrder","docStub","dupImport","elseif","emptyFallthrough","emptyStringTest","hexLiteral","ifElseChain","importShadow","initClause","methodExprCall","nestingReduce","newDeref","paramTypeCombine","ptrToRefParam","regexpMust","singleCaseSwitch","sloppyLen","stringXbytes","switchTrue","typeAssertChain","typeSwitchVar","typeUnparen","underef","unlabelStmt","unlambda","unnamedResult","unnecessaryBlock","unslice","valSwap","whyNoLint","wrapperFunc","yodaStyleExpr","appendCombine","equalFold","hugeParam","indexAlloc","rangeExprCopy","rangeValCopy"]},"gocritic-tags":{"enum":["diagnostic","style","performance","experimental","opinionated","security"]},"govet-analyzers":{"enum":["asmdecl","assign","atomic","atomicalign","bools","buildtag","cgocall","composite","copylocks","deepequalerrors","errorsas","findcall","httpresponse","loopclosure","lostcancel","nilfunc","nilness","printf","shadow","shift","sortslice","stdmethods","structtag","testinggoroutine","tests","unmarshal","unreachable","unsafeptr","unusedresult"]},"linters":{"$comment":"anyOf with enum is used to allow auto completion of non-custom linters","anyOf":[{"enum":["govet","errcheck","staticcheck","unused","gosimple","structcheck","varcheck","ineffassign","deadcode","bodyclose","noctx","golint","rowserrcheck","stylecheck","gosec","interfacer","unconvert","dupl","goconst","gocyclo","gocognit","asciicheck","gofmt","gofumpt","goimports","goheader","gci","maligned","depguard","misspell","lll","unparam","dogsled","nakedret","prealloc","scopelint","gocritic","gochecknoinits","gochecknoglobals","godox","funlen","whitespace","wsl","goprintffuncname","gomnd","goerr113","gomodguard","godot","testpackage","nestif","exportloopref","exhaustive","sqlclosecheck","nlreturn","wrapcheck","tparallel","exhaustivestruct","errorlint","nolintlint"]},{"type":"string"}]},"issue-match-path":{"type":"object","properties":{"path":{"type":"string"},"severity":{"$comment":"This is here only to allow `additionalProperties: false`."}},"additionalProperties":false},"issue-match-linters":{"type":"object","properties":{"linters":{"type":"array","items":{"$ref":"#/definitions/linters"}},"severity":{"$comment":"This is here only to allow `additionalProperties: false`."}},"additionalProperties":false},"issue-match-source":{"type":"object","properties":{"source":{"type":"string"},"severity":{"$comment":"This is here only to allow `additionalProperties: false`."}},"additionalProperties":false},"issue-match-text":{"type":"object","properties":{"text":{"type":"string"},"severity":{"$comment":"This is here only to allow `additionalProperties: false`."}},"additionalProperties":false}},"properties":{"run":{"type":"object","properties":{"concurrency":{"type":"integer","minimum":1,"examples":[4]},"timeout":{"type":"string","pattern":"^\\d*[sm]$","default":"1m","examples":["30s","5m"]},"issue-exit-code":{"type":"integer","default":1},"tests":{"type":"boolean","default":true},"build-tags":{"type":"array","items":{"type":"string"},"default":[],"examples":[["mytag"]]},"skip-dirs":{"type":"array","items":{"type":"string","examples":["generated.*"]},"default":[],"examples":[["src/external_libs","autogenerated_by_my_lib"]]},"skip-dirs-use-default":{"type":"boolean","default":true},"skip-files":{"type":"array","items":{"type":"string","examples":[".*\\.my\\.go$"]},"default":[],"examples":[[".*\\.my\\.go$","lib/bad.go"]]},"modules-download-mode":{"enum":["readonly","release","vendor"]},"allow-parallel-runners":{"type":"boolean","default":false}}},"output":{"type":"object","properties":{"format":{"enum":["colored-line-number","line-number","json","tab","checkstyle","code-climate"],"default":"colored-line-number"},"print-issued-lines":{"type":"boolean","default":true},"print-linter-name":{"type":"boolean","default":true},"unique-by-line":{"type":"boolean","default":true},"path-prefix":{"type":"string","default":""}}},"linters-settings":{"type":"object","properties":{"dogsled":{"type":"object","properties":{"max-blank-identifiers":{"type":"integer","default":2,"minimum":0}}},"dupl":{"type":"object","properties":{"threshold":{"type":"integer","default":150,"minimum":0}}},"errcheck":{"type":"object","properties":{"check-type-assertions":{"type":"boolean","default":false},"check-blank":{"type":"boolean","default":false},"ignore":{"type":"string","default":"fmt:.*"},"exclude":{"type":"string","examples":["/path/to/file.txt"]}}},"exhaustive":{"type":"object","properties":{"check-generated":{"type":"boolean","default":false},"default-signifies-exhaustive":{"type":"boolean","default":false}}},"funlen":{"type":"object","properties":{"lines":{"type":"integer","default":60},"statements":{"type":"integer","default":40}}},"gci":{"type":"object","properties":{"local-prefixes":{"type":"string","examples":["github.com/org/project"]}}},"gocognit":{"type":"object","properties":{"min-complexity":{"type":"integer","default":30}}},"nestif":{"type":"object","properties":{"min-complexity":{"type":"integer","default":5}}},"goconst":{"type":"object","properties":{"min-len":{"type":"integer","default":3},"min-occurrences":{"type":"integer","default":3}}},"gocritic":{"type":"object","properties":{"enabled-checks":{"type":"array","items":{"$ref":"#/definitions/gocritic-checks"}},"disabled-checks":{"type":"array","items":{"$ref":"#/definitions/gocritic-checks"},"default":[]},"enabled-tags":{"type":"array","items":{"$ref":"#/definitions/gocritic-tags"}},"disabled-tags":{"type":"array","items":{"$ref":"#/definitions/gocritic-tags"}},"settings":{"type":"object","propertyNames":{"$ref":"#/definitions/gocritic-checks"}}}},"gocyclo":{"type":"object","properties":{"min-complexity":{"type":"integer","default":30}}},"godot":{"type":"object","properties":{"check-all":{"type":"boolean","default":false}}},"godox":{"type":"object","properties":{"keywords":{"type":"array","items":{"type":"string"},"default":["TODO","BUG","FIXME"]}}},"gofmt":{"type":"object","properties":{"simplify":{"type":"boolean","default":true}}},"goheader":{"type":"object","allOf":[{"properties":{"values":{"type":"object","properties":{"const":{"type":"object","patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false,"examples":[{"YEAR":"2030","COMPANY":"MY FUTURISTIC COMPANY"}]},"regexp":{"type":"object","patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false,"examples":[{"AUTHOR":".*@mycompany\\.com"}]}}}}},{"oneOf":[{"properties":{"template":{"type":"string","examples":["{{ MY COMPANY }}\nSPDX-License-Identifier: Apache-2.0\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at:\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."]}},"required":["template"]},{"properties":{"template-path":{"type":"string","examples":["my_header_template.txt"]}},"required":["template-path"]}]}]},"goimports":{"type":"object","properties":{"local-prefixes":{"type":"string","examples":["github.com/org/project"]}}},"golint":{"type":"object","properties":{"min-confidence":{"type":"number","minimum":0,"exclusiveMaximum":1}}},"gomnd":{"type":"object","properties":{"settings":{"type":"object","properties":{"mnd":{"type":"object","properties":{"checks":{"type":"array","items":{"enum":["argument","case","condition","operation","return","assign"]}}}}}}}},"gomodguard":{"type":"object","properties":{"allowed":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"string","examples":["gopkg.in/yaml.v2"]}},"domains":{"type":"array","items":{"type":"string","examples":["golang.org"]}}}},"blocked":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","patternProperties":{"^.*$":{"type":"object","properties":{"recommendations":{"type":"array","items":{"type":"string"}},"reason":{"type":"string"}}}},"additionalProperties":false}},"versions":{"type":"array","items":{"type":"object","patternProperties":{"^.*$":{"type":"object","properties":{"version":{"type":"string"},"reason":{"type":"string"}},"required":["reason"]}}}}}}}},"govet":{"type":"object","properties":{"check-shadowing":{"type":"boolean","default":true},"settings":{"type":"object","propertyNames":{"$ref":"#/definitions/govet-analyzers"},"patternProperties":{"^.*$":{"type":"object"}}},"enable":{"type":"array","items":{"$ref":"#/definitions/govet-analyzers"}},"disable":{"type":"array","items":{"$ref":"#/definitions/govet-analyzers"}},"enable-all":{"type":"boolean","default":false},"disable-all":{"type":"boolean","default":false}}},"depguard":{"type":"object","properties":{"list-type":{"enum":["blacklist","whitelist"],"default":"blacklist"},"include-go-root":{"type":"boolean","default":false},"packages":{"type":"array","items":{"type":"string","examples":["github.com/OpenPeeDeeP/depguard"]}},"packages-with-error-message":{"type":"object","patternProperties":{"^.*$":{"type":"string"}},"examples":[{"github.com/OpenPeeDeeP/depguards":"Please use \"github.com/OpenPeeDeeP/depguard\"."}]}}},"lll":{"type":"object","properties":{"line-length":{"type":"integer","minimum":1,"default":120},"tab-width":{"type":"integer","minimum":0,"default":1}}},"maligned":{"type":"object","properties":{"suggest-new":{"type":"boolean","default":false}}},"misspell":{"type":"object","properties":{"locale":{"enum":["US","UK"]},"ignore-words":{"type":"array","items":{"type":"string"}}}},"nakedret":{"type":"object","properties":{"max-func-lines":{"type":"integer","minimum":0,"default":30}}},"prealloc":{"type":"object","properties":{"simple":{"type":"boolean","default":true},"range-loops":{"type":"boolean","default":true},"for-loops":{"type":"boolean","default":false}}},"nolintlint":{"type":"object","properties":{"allow-unused":{"type":"boolean","default":true},"allow-leading-space":{"type":"boolean","default":true},"allow-no-explanation":{"type":"array","items":{"type":"string"},"default":[]},"require-explanation":{"type":"boolean","default":false},"require-specific":{"type":"boolean","default":false}}},"rowserrcheck":{"type":"object","properties":{"packages":{"type":"array","items":{"type":"string","examples":["github.com/jmoiron/sqlx"]}}}},"testpackage":{"type":"object","properties":{"skip-regexp":{"type":"string","examples":["(export|internal)_test\\.go"]}}},"unparam":{"type":"object","properties":{"check-exported":{"type":"boolean","default":false}}},"unused":{"type":"object","properties":{"check-exported":{"type":"boolean","default":false}}},"whitespace":{"type":"object","properties":{"multi-if":{"type":"boolean","default":false},"multi-func":{"type":"boolean","default":false}}},"wsl":{"type":"object","properties":{"strict-append":{"type":"boolean","default":true},"allow-assign-and-call":{"type":"boolean","default":true},"allow-multiline-assign":{"type":"boolean","default":true},"allow-cuddle-declarations":{"type":"boolean","default":false},"allow-trailing-comment":{"type":"boolean","default":false},"force-case-trailing-whitespace":{"type":"integer","minimum":0,"default":0},"force-err-cuddling":{"type":"boolean","default":false},"allow-separated-leading-comment":{"type":"boolean","default":false}}},"gofumpt":{"type":"object","properties":{"extra-rules":{"type":"boolean","default":false}}},"errorlint":{"type":"object","properties":{"errorf":{"type":"boolean","default":true}}},"custom":{"type":"object","patternProperties":{"^.*$":{"type":"object","properties":{"path":{"type":"string","examples":["/path/to/example.so"]},"description":{"type":"string"},"original-url":{"type":"string"}},"required":["path"]}}}}},"linters":{"type":"object","properties":{"enable":{"type":"array","items":{"$ref":"#/definitions/linters"}},"disable":{"type":"array","items":{"$ref":"#/definitions/linters"}},"disable-all":{"type":"boolean","default":false},"presets":{"type":"array","items":{"type":"string"}},"fast":{"type":"boolean","default":false}}},"issues":{"type":"object","properties":{"exclude":{"type":"array","items":{"type":"string"}},"exclude-rules":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"linters":{"type":"array","items":{"$ref":"#/definitions/linters"}},"text":{"type":"string"},"source":{"type":"string"}}}},"exclude-use-default":{"type":"boolean","default":true},"exclude-case-sensitive":{"type":"boolean","default":false},"include":{"type":"array","items":{"type":"string"},"default":[]},"max-issues-per-linter":{"type":"integer","default":50,"minimum":0},"max-same-issues":{"type":"integer","default":3,"minimum":0},"new":{"type":"boolean","default":false},"new-from-rev":{"type":"string"},"new-from-patch":{"type":"string","examples":["path/to/patch/file"]}}},"severity":{"type":"object","properties":{"default-severity":{"type":"string","default":""},"case-sensitive":{"type":"boolean","default":false},"rules":{"type":"array","items":{"allOf":[{"oneOf":[{"$ref":"#/definitions/issue-match-path"},{"$ref":"#/definitions/issue-match-source"},{"$ref":"#/definitions/issue-match-linters"},{"$ref":"#/definitions/issue-match-text"}]},{"properties":{"severity":{"type":"string"}}}]},"default":[]}}}}}