| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | /* * 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 */"use strict";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;
 |