{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": "@ly-js/automatic auto-router pages.json",
  "definitions": {
    "page": {
      "$id": "#page",
      "type": "object",
      "properties": {
        "component": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "redirect": {
          "type": "string"
        },
        "meta": {
          "type": "objcet",
          "properties": {
            "title": {
              "description": "route menu title",
              "type": "string"
            },
            "icon": {
              "description": "route menu icon",
              "type": "string"
            },
            "disableRedirection": {
              "description": "disable redirection jump, only in ly-e-layout valid",
              "type": "boolean"
            },
            "hidden": {
              "description": "hidden in menus show, only in ly-e-layout valid",
              "type": "boolean"
            },
            "keepAlive": {
              "description": "keepAlive route",
              "type": "boolean"
            },
            "affix": {
              "description": "affix route in tab, only in ly-e-layout valid",
              "type": "boolean"
            },
            "activeMenu": {
              "description": "active menu in menus show, only in ly-e-layout valid",
              "type": "string"
            }
          }
        },
        "include": {
          "type": "array",
          "items": [{
            "type": "string"
          }]
        },
        "exclude": {
          "type": "array",
          "items": [{
            "type": "string"
          }]
        }
      },
      "required": ["component"]
    }
  },
  "properties": {
    "pages": {
      "description": "project pages setting",
      "type": "array",
      "items": {
        "$ref": "#page",
      }
    },
    "nestedRoutes": {
      "description": "project pages nested routes setting",
      "type": "array",
      "items": {
        "$ref": "#page",
      }
    },
    "exclude": {
      "description": "exclude pages in auto-router",
      "type": "array",
      "items": [
        {
          "type": "string"
        }
      ]
    }
  },
  "required": []
}
