Spaces:
Runtime error
Runtime error
/* | |
* STOP!!! DO NOT MODIFY. | |
* | |
* This file is part of the ongoing work to move the eslintrc-style config | |
* system into the @eslint/eslintrc package. This file needs to remain | |
* unchanged in order for this work to proceed. | |
* | |
* If you think you need to change this file, please contact @nzakas first. | |
* | |
* Thanks in advance for your cooperation. | |
*/ | |
/** | |
* @fileoverview Defines a schema for configs. | |
* @author Sylvan Mably | |
*/ | |
; | |
const baseConfigProperties = { | |
$schema: { type: "string" }, | |
env: { type: "object" }, | |
extends: { $ref: "#/definitions/stringOrStrings" }, | |
globals: { type: "object" }, | |
overrides: { | |
type: "array", | |
items: { $ref: "#/definitions/overrideConfig" }, | |
additionalItems: false | |
}, | |
parser: { type: ["string", "null"] }, | |
parserOptions: { type: "object" }, | |
plugins: { type: "array" }, | |
processor: { type: "string" }, | |
rules: { type: "object" }, | |
settings: { type: "object" }, | |
noInlineConfig: { type: "boolean" }, | |
reportUnusedDisableDirectives: { type: "boolean" }, | |
ecmaFeatures: { type: "object" } // deprecated; logs a warning when used | |
}; | |
const configSchema = { | |
definitions: { | |
stringOrStrings: { | |
oneOf: [ | |
{ type: "string" }, | |
{ | |
type: "array", | |
items: { type: "string" }, | |
additionalItems: false | |
} | |
] | |
}, | |
stringOrStringsRequired: { | |
oneOf: [ | |
{ type: "string" }, | |
{ | |
type: "array", | |
items: { type: "string" }, | |
additionalItems: false, | |
minItems: 1 | |
} | |
] | |
}, | |
// Config at top-level. | |
objectConfig: { | |
type: "object", | |
properties: { | |
root: { type: "boolean" }, | |
ignorePatterns: { $ref: "#/definitions/stringOrStrings" }, | |
...baseConfigProperties | |
}, | |
additionalProperties: false | |
}, | |
// Config in `overrides`. | |
overrideConfig: { | |
type: "object", | |
properties: { | |
excludedFiles: { $ref: "#/definitions/stringOrStrings" }, | |
files: { $ref: "#/definitions/stringOrStringsRequired" }, | |
...baseConfigProperties | |
}, | |
required: ["files"], | |
additionalProperties: false | |
} | |
}, | |
$ref: "#/definitions/objectConfig" | |
}; | |
module.exports = configSchema; | |