| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- /**
 
-  * @fileoverview Defines a schema for configs.
 
-  * @author Sylvan Mably
 
-  */
 
- "use strict";
 
- const baseConfigProperties = {
 
-     env: { type: "object" },
 
-     globals: { type: "object" },
 
-     parser: { type: ["string", "null"] },
 
-     parserOptions: { type: "object" },
 
-     plugins: { type: "array" },
 
-     rules: { type: "object" },
 
-     settings: { type: "object" },
 
-     ecmaFeatures: { type: "object" } // deprecated; logs a warning when used
 
- };
 
- const overrideProperties = Object.assign(
 
-     {},
 
-     baseConfigProperties,
 
-     {
 
-         files: {
 
-             oneOf: [
 
-                 { type: "string" },
 
-                 {
 
-                     type: "array",
 
-                     items: { type: "string" },
 
-                     minItems: 1
 
-                 }
 
-             ]
 
-         },
 
-         excludedFiles: {
 
-             oneOf: [
 
-                 { type: "string" },
 
-                 {
 
-                     type: "array",
 
-                     items: { type: "string" }
 
-                 }
 
-             ]
 
-         }
 
-     }
 
- );
 
- const topLevelConfigProperties = Object.assign(
 
-     {},
 
-     baseConfigProperties,
 
-     {
 
-         extends: { type: ["string", "array"] },
 
-         root: { type: "boolean" },
 
-         overrides: {
 
-             type: "array",
 
-             items: {
 
-                 type: "object",
 
-                 properties: overrideProperties,
 
-                 required: ["files"],
 
-                 additionalProperties: false
 
-             }
 
-         }
 
-     }
 
- );
 
- const configSchema = {
 
-     type: "object",
 
-     properties: topLevelConfigProperties,
 
-     additionalProperties: false
 
- };
 
- module.exports = configSchema;
 
 
  |