{
  "$schema": "http://json-schema.org/schema",
  "$id": "neo-schematics://module",
  "title": "Neo Module Options Schema",
  "type": "object",
  "description": "Creates a different module types",
  "additionalProperties": false,
  "properties": {
    "subpath": {
      "type": "string",
      "description": "The subpath of the module",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "What subpath (app/<subpath>) would you like for the module?"
    },
    "type": {
      "type": "string",
      "default": "",
      "$default": {
        "$source": "argv",
        "index": 1
      },
      "enum": [
        "",
        "core",
        "layout",
        "routing",
        "shared"
      ],
      "x-prompt": {
        "message": "Which type of module would you like to use?",
        "type": "list",
        "items": [
          {
            "value": "",
            "label": "Default Module"
          },
          {
            "value": "core",
            "label": "Core Module"
          },
          {
            "value": "layout",
            "label": "Layout Module"
          },
          {
            "value": "routing",
            "label": "Routing Module"
          },
          {
            "value": "shared",
            "label": "Shared Module"
          }
        ]
      }
    },
    "project": {
      "type": "string",
      "description": "Generate in specific Angular CLI workspace project",
      "$default": {
        "$source": "projectName"
      }
    },
    "skipview": {
      "type": "boolean",
      "description": "Prohibits the generation of a view component",
      "default": false
    },
    "withsubrouting": {
      "type": "boolean",
      "description": "Adds subrouting to module",
      "default": false
    },
    "forroot": {
      "type": "boolean",
      "description": "Routing module is root",
      "default": false
    },
    "debug": {
      "type": "boolean",
      "description": "Runs debug script for easier problem analysis",
      "default": false
    }
  },
  "required": [
    "subpath"
  ]
}