{
  "$schema": "http://json-schema.org/schema",
  "id": "module",
  "title": "NX Module Options Schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the module."
    },
    "path": {
      "type": "string",
      "format": "path",
      "description": "The path to create the module.",
      "default": "app",
      "visible": false
    },
    "sourceDir": {
      "type": "string",
      "format": "path",
      "description": "The path of the source directory.",
      "default": "src",
      "visible": false
    },
    "appRoot": {
      "type": "string",
      "format": "path",
      "description": "The root of the application.",
      "visible": false
    },
    "routing": {
      "type": "boolean",
      "description": "Generates a routing module.",
      "default": false
    },
    "routingScope": {
      "enum": ["Child", "Root"],
      "type": "string",
      "description": "The scope for the generated routing.",
      "default": "Child"
    },
    "spec": {
      "type": "boolean",
      "description": "Specifies if a spec file is generated.",
      "default": true
    },
    "flat": {
      "type": "boolean",
      "description": "Flag to indicate if a dir is created.",
      "default": false
    },
    "commonModule": {
      "type": "boolean",
      "description": "Flag to control whether the CommonModule is imported.",
      "default": true,
      "visible": false
    },
    "skipFormat": {
      "description": "Skip formatting files",
      "type": "boolean",
      "default": false
    },
    "module": {
      "type": "string",
      "description": "Allows specification of the declaring module.",
      "alias": "m"
    }
  },
  "required": ["name"]
}
