| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- /**
 
-  * @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"
 
- };
 
- export default configSchema;
 
 
  |