jsonbinpack
Version:
A space-efficient schema-driven binary JSON serialization format based on JSON Schema
157 lines (154 loc) • 5.35 kB
JSON
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [ "rules" ],
"properties": {
"rules": {
"type": "object",
"additionalProperties": false,
"required": [
"require-author",
"require-description",
"require-engines",
"require-license",
"require-name",
"require-repository",
"require-version",
"require-bugs",
"require-homepage",
"require-keywords",
"bin-type",
"config-type",
"description-type",
"devDependencies-type",
"directories-type",
"engines-type",
"files-type",
"homepage-type",
"keywords-type",
"license-type",
"main-type",
"man-type",
"name-type",
"preferGlobal-type",
"private-type",
"repository-type",
"scripts-type",
"version-type",
"valid-values-author",
"valid-values-private",
"no-restricted-dependencies",
"no-restricted-pre-release-dependencies",
"no-restricted-invalid-devDependencies",
"no-restricted-pre-release-devDependencies",
"name-format",
"version-format"
],
"properties": {
"require-author": { "enum": [ "off", "warning", "error" ] },
"require-description": { "enum": [ "off", "warning", "error" ] },
"require-engines": { "enum": [ "off", "warning", "error" ] },
"require-license": { "enum": [ "off", "warning", "error" ] },
"require-name": { "enum": [ "off", "warning", "error" ] },
"require-repository": { "enum": [ "off", "warning", "error" ] },
"require-version": { "enum": [ "off", "warning", "error" ] },
"require-bugs": { "enum": [ "off", "warning", "error" ] },
"require-homepage": { "enum": [ "off", "warning", "error" ] },
"require-keywords": { "enum": [ "off", "warning", "error" ] },
"bin-type": { "enum": [ "off", "warning", "error" ] },
"config-type": { "enum": [ "off", "warning", "error" ] },
"description-type": { "enum": [ "off", "warning", "error" ] },
"devDependencies-type": { "enum": [ "off", "warning", "error" ] },
"directories-type": { "enum": [ "off", "warning", "error" ] },
"engines-type": { "enum": [ "off", "warning", "error" ] },
"files-type": { "enum": [ "off", "warning", "error" ] },
"homepage-type": { "enum": [ "off", "warning", "error" ] },
"keywords-type": { "enum": [ "off", "warning", "error" ] },
"license-type": { "enum": [ "off", "warning", "error" ] },
"main-type": { "enum": [ "off", "warning", "error" ] },
"man-type": { "enum": [ "off", "warning", "error" ] },
"name-type": { "enum": [ "off", "warning", "error" ] },
"preferGlobal-type": { "enum": [ "off", "warning", "error" ] },
"private-type": { "enum": [ "off", "warning", "error" ] },
"repository-type": { "enum": [ "off", "warning", "error" ] },
"scripts-type": { "enum": [ "off", "warning", "error" ] },
"version-type": { "enum": [ "off", "warning", "error" ] },
"valid-values-author": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"prefixItems": [
{ "enum": [ "off", "warning", "error" ] },
{
"type": "array",
"items": { "type": "string" }
}
]
},
"valid-values-private": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"prefixItems": [
{ "enum": [ "off", "warning", "error" ] },
{
"type": "array",
"items": { "type": "boolean" }
}
]
},
"no-restricted-dependencies": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"prefixItems": [
{ "enum": [ "off", "warning", "error" ] },
{
"type": "array",
"items": { "type": "string" }
}
]
},
"no-restricted-pre-release-dependencies": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"prefixItems": [
{ "enum": [ "off", "warning", "error" ] },
{
"type": "array",
"items": { "type": "string" }
}
]
},
"no-restricted-invalid-devDependencies": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"prefixItems": [
{ "enum": [ "off", "warning", "error" ] },
{
"type": "array",
"items": { "type": "string" }
}
]
},
"no-restricted-pre-release-devDependencies": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"prefixItems": [
{ "enum": [ "off", "warning", "error" ] },
{
"type": "array",
"items": { "type": "string" }
}
]
},
"name-format": { "enum": [ "off", "warning", "error" ] },
"version-format": { "enum": [ "off", "warning", "error" ] }
}
}
}
}