{
  "$id": "https://nuscien.github.io/winkit/schema/localwebapp.v6.json",
  "$schema": "https://json-schema.org/draft-07/schema",
  "description": "The resource package manifest file of local web app.",
  "properties": {
    "copyright": {
      "description": "The copyright.",
      "type": "string"
    },
    "dataRes": {
      "description": "The JSON files which will load on app init to bind.",
      "patternProperties": {
        "\\s\\S": {
          "description": "The relative path of the JSON file to bind.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "description": {
      "description": "The project description",
      "type": "string"
    },
    "entry": {
      "description": "The file name of the homepage.",
      "type": "string"
    },
    "host": {
      "description": "The host app binding information.",
      "items": {
        "properties": {
          "id": {
            "description": "The host app identifier to match.",
            "type": "string"
          },
          "kind": {
            "description": "The host app kind.",
            "type": "string"
          },
          "max": {
            "description": "The maximum verstion to test",
            "type": "string"
          },
          "min": {
            "description": "The minimum version to test.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "icon": {
      "description": "The relative path of the icon.",
      "type": "string"
    },
    "id": {
      "description": "The project identifier, such as @demo/app.",
      "maxLength": 214,
      "minLength": 1,
      "pattern": "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$",
      "type": "string"
    },
    "meta": {
      "description": "Additional metadata.",
      "type": "object"
    },
    "publisher": {
      "description": "The display name of publisher.",
      "maxLength": 240,
      "type": "string"
    },
    "strRes": {
      "description": "The plain text files which will load on app init to bind.",
      "patternProperties": {
        "\\s\\S": {
          "description": "The relative path of the plain text file to bind.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "tags": {
      "description": "The tags.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "title": {
      "description": "The display name of the project.",
      "maxLength": 214,
      "type": "string"
    },
    "version": {
      "description": "Version must be in node-semver.",
      "maxLength": 214,
      "type": "string"
    },
    "website": {
      "description": "The homepage URL of the official website of the project or publisher.",
      "type": "string"
    }
  },
  "title": "LWA resource package mainfest",
  "type": "object"
}