123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "type": "object",
- "properties": {
- "async": {
- "type": "boolean",
- "description": "When true, plugin will not block compilation to finish issues checking"
- },
- "typescript": {
- "$ref": "#/definitions/TypeScriptReporterOptions"
- },
- "eslint": {
- "$ref": "#/definitions/EsLintReporterOptions"
- },
- "formatter": {
- "$ref": "#/definitions/FormatterOptions"
- },
- "issue": {
- "$ref": "#/definitions/IssueOptions"
- },
- "logger": {
- "$ref": "#/definitions/LoggerOptions"
- }
- },
- "additionalProperties": false,
- "definitions": {
- "Formatter": {
- "instanceof": "Function"
- },
- "ComplexFormatterPreferences": {
- "type": "object",
- "properties": {
- "type": {
- "$ref": "#/definitions/FormatterType"
- },
- "options": {
- "type": "object",
- "additionalProperties": true
- }
- },
- "required": ["type"]
- },
- "FormatterType": {
- "type": "string",
- "enum": ["basic", "codeframe"]
- },
- "IssueMatch": {
- "type": "object",
- "properties": {
- "origin": {
- "type": "string",
- "enum": ["typescript", "eslint"]
- },
- "severity": {
- "type": "string",
- "enum": ["error", "warning"]
- },
- "code": {
- "type": "string"
- },
- "file": {
- "type": "string"
- }
- }
- },
- "IssuePredicate": {
- "instanceof": "Function"
- },
- "IssuePredicateOption": {
- "oneOf": [
- {
- "$ref": "#/definitions/IssuePredicate"
- },
- {
- "$ref": "#/definitions/IssueMatch"
- },
- {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "$ref": "#/definitions/IssuePredicate"
- },
- {
- "$ref": "#/definitions/IssueMatch"
- }
- ]
- }
- }
- ]
- },
- "LoggerType": {
- "type": "string",
- "enum": ["console", "webpack-infrastructure", "silent"]
- },
- "Logger": {
- "type": "object",
- "properties": {
- "error": {
- "instanceof": "Function"
- },
- "info": {
- "instanceof": "Function"
- },
- "log": {
- "instanceof": "Function"
- }
- }
- },
- "TypeScriptReporterOptions": {
- "oneOf": [
- {
- "type": "boolean",
- "description": "Enable TypeScript reporter."
- },
- {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean",
- "description": "Enable TypeScript reporter."
- },
- "memoryLimit": {
- "type": "number",
- "description": "Memory limit for TypeScript reporter process."
- },
- "configFile": {
- "type": "string",
- "description": "Path to tsconfig.json. By default plugin uses context or process.cwd() to localize tsconfig.json file."
- },
- "context": {
- "type": "string",
- "description": "The base path for finding files specified in the tsconfig.json. Same as context option from the ts-loader."
- },
- "build": {
- "type": "boolean",
- "description": "The equivalent of the `--build` flag from the `tsc`."
- },
- "mode": {
- "type": "string",
- "enum": ["readonly", "write-tsbuildinfo", "write-dts", "write-references"],
- "description": "`readonly` keeps all emitted files in memory, `write-tsbuildinfo` which writes only .tsbuildinfo files, `write-dts` writes .tsbuildinfo and type definition files, and `write-references` which writes both .tsbuildinfo and referenced projects output"
- },
- "compilerOptions": {
- "type": "object",
- "description": "Custom compilerOptions to be passed to the TypeScript compiler.",
- "additionalProperties": true
- },
- "diagnosticOptions": {
- "type": "object",
- "description": "Types of diagnostics to be reported.",
- "properties": {
- "syntactic": {
- "type": "boolean"
- },
- "semantic": {
- "type": "boolean"
- },
- "declaration": {
- "type": "boolean"
- },
- "global": {
- "type": "boolean"
- }
- }
- },
- "extensions": {
- "type": "object",
- "properties": {
- "vue": {
- "$ref": "#/definitions/TypeScriptVueExtensionOptions"
- }
- }
- },
- "profile": {
- "type": "boolean",
- "description": "Measures and prints timings related to the TypeScript performance."
- },
- "typescriptPath": {
- "type": "string",
- "description": "If supplied this is a custom path where TypeScript can be found."
- }
- }
- }
- ]
- },
- "TypeScriptVueExtensionOptions": {
- "oneOf": [
- {
- "type": "boolean",
- "description": "Enable TypeScript Vue extension."
- },
- {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean",
- "description": "Enable TypeScript Vue extension."
- },
- "compiler": {
- "type": "string",
- "description": "Custom vue-template-compiler package"
- }
- }
- }
- ]
- },
- "EsLintReporterOptions": {
- "type": "object",
- "properties": {
- "files": {
- "oneOf": [
- {
- "type": "array",
- "items": {
- "type": "string"
- },
- "minItems": 1,
- "uniqueItems": true
- },
- {
- "type": "string"
- }
- ],
- "description": "List of glob patterns or files to be linted."
- },
- "enabled": {
- "type": "boolean",
- "description": "Enable EsLint reporter."
- },
- "memoryLimit": {
- "type": "number",
- "description": "Memory limit for EsLint reporter process."
- },
- "options": {
- "type": "object",
- "description": "Custom options to be passed to the EsLint engine.",
- "additionalProperties": true
- }
- },
- "required": ["files"]
- },
- "FormatterOptions": {
- "oneOf": [
- {
- "$ref": "#/definitions/FormatterType"
- },
- {
- "$ref": "#/definitions/ComplexFormatterPreferences"
- },
- {
- "$ref": "#/definitions/Formatter"
- }
- ]
- },
- "IssueOptions": {
- "type": "object",
- "properties": {
- "include": {
- "$ref": "#/definitions/IssuePredicateOption"
- },
- "exclude": {
- "$ref": "#/definitions/IssuePredicateOption"
- }
- }
- },
- "LoggerOptions": {
- "type": "object",
- "properties": {
- "infrastructure": {
- "oneOf": [
- {
- "$ref": "#/definitions/LoggerType"
- },
- {
- "$ref": "#/definitions/Logger"
- }
- ]
- },
- "issues": {
- "oneOf": [
- {
- "$ref": "#/definitions/LoggerType"
- },
- {
- "$ref": "#/definitions/Logger"
- }
- ]
- },
- "devServer": {
- "type": "boolean",
- "description": "Enable reporting to Webpack Dev Server."
- }
- }
- }
- }
- }
|