{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/agripparc-json/versions/1.4.json",
  "title": "JSON schema for the Agrippa config file",
  "x-lintel": {
    "source": "https://www.schemastore.org/agripparc-1.4.json",
    "sourceSha256": "2b17ef79e7f140408917b009d600775bb320cb66c6660822ee3eace8ab550409",
    "fileMatch": [
      ".agripparc.json",
      "agripparc.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "type": "object",
  "properties": {
    "$schema": {
      "description": "Link to <https://www.schemastore.org/agripparc-1.4.json>",
      "type": "string",
      "enum": [
        "https://www.schemastore.org/agripparc-1.4.json"
      ]
    },
    "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": "Whether 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"
    }
  },
  "id": "https://json.schemastore.org/agripparc-1.4.json",
  "additionalProperties": false
}
