{
  "$schema": "http://json-schema.org/schema",
  "cli": "nx",
  "$id": "Application",
  "title": "Vue Application Options Schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the application",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "What name would you like to use?"
    },
    "tags": {
      "type": "string",
      "description": "Add tags to the project (used for linting)",
      "alias": "t"
    },
    "directory": {
      "type": "string",
      "description": "A directory where the project is placed",
      "alias": "d"
    },
    "style": {
      "description": "The file extension to be used for style files.",
      "type": "string",
      "default": "css",
      "x-prompt": {
        "message": "Which style format would you like to use?",
        "type": "list",
        "items": [
          {
            "value": "css",
            "label": "CSS"
          },
          {
            "value": "scss",
            "label": "SCSS   [ https://sass-lang.com/documentation/syntax#scss ]"
          },
          {
            "value": "stylus",
            "label": "Stylus [ https://stylus-lang.com                         ]"
          },
          {
            "value": "less",
            "label": "LESS   [ http://lesscss.org                              ]"
          }
        ]
      }
    },
    "unitTestRunner": {
      "type": "string",
      "enum": ["jest", "none"],
      "description": "Test runner to use for unit tests",
      "default": "jest"
    },
    "e2eTestRunner": {
      "type": "string",
      "enum": ["cypress", "none"],
      "description": "Test runner to use for end to end (e2e) tests",
      "default": "cypress"
    },
    "routing": {
      "type": "boolean",
      "description": "Generate routing configuration",
      "x-prompt": "Would you like to configure routing for this application?",
      "default": false
    },
    "vueVersion": {
      "description": "The version of Vue.js that you want to start the project with.",
      "type": "number",
      "default": 0,
      "x-prompt": {
        "message": "Which version of Vue.js would you like to use?",
        "type": "list",
        "items": [
          {
            "value": 2,
            "label": "2.x"
          },
          {
            "value": 3,
            "label": "3.x"
          }
        ]
      }
    },
    "skipFormat": {
      "type": "boolean",
      "description": "Skip formatting files",
      "default": false
    },
    "babel": {
      "type": "boolean",
      "description": "Add Babel support.",
      "default": false,
      "x-prompt": "Use Babel alongside TypeScript?"
    }
  },
  "required": ["name"]
}
