{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "additionalProperties": false,
  "id": "https://json.schemastore.org/agripparc-1.4.json",
  "properties": {
    "props": {
      "description": "Which prop declaration method to use",
      "type": "string",
      "enum": ["ts", "jsdoc", "prop-types", "none"]
    },
    "children": {
      "description": "Whether the component is meant to have children (FC) or not (VFC)",
      "type": "boolean"
    },
    "typescript": {
      "description": "Wether to use Typescript",
      "type": "boolean"
    },
    "flat": {
      "description": "Whether to create a new, dedicated dir for the component (false) or not (true)",
      "type": "boolean"
    },
    "styling": {
      "description": "Which styling solution to use",
      "type": "string",
      "enum": [
        "css",
        "scss",
        "jss",
        "mui",
        "react-native",
        "styled-components",
        "none"
      ]
    },
    "stylingModule": {
      "description": "Relevant for `css` or `scss` styling. If true, generates a scoped `module` stylesheet",
      "type": "boolean"
    },
    "importReact": {
      "description": "Whether to import React",
      "type": "boolean"
    },
    "overwrite": {
      "description": "Whether to overwrite existing files, if any are found",
      "type": "boolean"
    },
    "postCommand": {
      "description": "A command to run after a component was successfully generated",
      "type": "string"
    },
    "baseDir": {
      "description": "Path to a base directory which components should be genenrated in or relative to",
      "type": "string"
    },
    "destination": {
      "description": "The path in which the component folder/files should be generated, relative to baseDir",
      "type": "string"
    },
    "allowOutsideBase": {
      "description": "If true, allows components to be generated outside the resolved baseDir",
      "type": "boolean"
    },
    "exportType": {
      "description": "Whether to use a named export or a default export for the component",
      "type": "string",
      "enum": ["named", "default"]
    },
    "declaration": {
      "description": "Whether to declare the component as a const with an arrow function or a function declaration",
      "type": "string",
      "enum": ["const", "function"]
    },
    "tsPropsDeclaration": {
      "description": "For TS components, whether to declare props as an interface or a type",
      "type": "string",
      "enum": ["interface", "type"]
    },
    "memo": {
      "description": "Whether to generate a memo() component. Overrides the declaration option",
      "type": "boolean"
    },
    "separateIndex": {
      "description": "Whether to use a dedicated index file (recommended)",
      "type": "boolean"
    },
    "reactNative": {
      "description": "Whether to generate React Native components"
    },
    "debug": {
      "description": "Whether to log additional debug information",
      "type": "boolean"
    },
    "$schema": {
      "description": "Link to https://json.schemastore.org/agripparc-1.4.json",
      "type": "string",
      "enum": ["https://json.schemastore.org/agripparc-1.4.json"]
    }
  },
  "title": "JSON schema for the Agrippa config file",
  "type": "object"
}