298 lines
10 KiB
JSON
298 lines
10 KiB
JSON
|
{
|
||
|
"$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."
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|