pgxn_meta 0.7.0

The PGXN distribution metadata specification
Documentation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://pgxn.org/meta/v2/version_range.schema.json",
  "title": "Version Range",
  "description": "A *Version Range* a range of versions that **may** be present or installed to fulfill dependencies.\n\nA Version Range of the number `0` indicates all available versions. No other number values are allowed.\n\nOften a Version Range is just a single version. For a [SemVer](https://semver.org), for example, `2.4.2` means that **at least** version 2.4.2 must be present.\n\nAlternatively, a version range **may** use the operators `<` (less than), `<=` (less than or equal), `>` (greater than), `>=` (greater than or equal), `==` (equal), and `!=` (not equal). For example, the specification `< 2.0` means that any version less than version 2.0 is suitable.\n\nFor more complicated situations, version specifications **may** be AND-ed together using commas. The specification `>= 1.2.0, != 1.5.2, < 2.0.0` indicates a version that must be **at least** 1.2.0, **less than** 2.0.0, and **not equal to** 1.5.2.",
  "oneOf": [
    {
      "type": "string",
      "pattern": "^(([=!]=|[<>]=?)\\s*)?((0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*))?)?(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?|0)(,\\s*((([=!]=|[<>]=?)\\s*)?)(?:(0\\.(?:[1-9]\\d*))|([1-9]\\d*)(?:\\.(0|[1-9]\\d*))?)(?:\\.(0|[1-9]\\d*))?(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)*$",
      "$comment": "https://regex101.com/r/8ECGOy"
    },
    {
      "const": 0
    }
  ],
  "examples": [
    0,
    "0",
    "2",
    "1.0",
    "==1.1",
    "1.3.6",
    "==0.0.4",
    "<= 1.1.2+meta",
    ">= 2.0.0, 1.5.6",
    ">= 1.2.0, != 1.5.0, < 2.0.0",
    ">=1,<2",
    ">= 1.0, < 2.0"
  ]
}