{
  "type": "object",
  "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
  "options": {
    "propertyEncodings": {
      "rules": {
        "type": "object",
        "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
        "options": {
          "propertyEncodings": {
            "require-author": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-description": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-engines": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-license": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-name": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-repository": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-version": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-bugs": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-homepage": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "require-keywords": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "bin-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "config-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "description-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "devDependencies-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "directories-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "engines-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "files-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "homepage-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "keywords-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "license-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "main-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "man-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "name-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "preferGlobal-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "private-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "repository-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "scripts-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "version-type": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "valid-values-author": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 2,
                "maximum": 2,
                "prefixEncodings": [
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "off",
                        "warning",
                        "error"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "valid-values-private": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 2,
                "maximum": 2,
                "prefixEncodings": [
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "off",
                        "warning",
                        "error"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "enum",
                        "encoding": "BOUNDED_CHOICE_INDEX",
                        "options": {
                          "choices": [
                            false,
                            true
                          ]
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "no-restricted-dependencies": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 2,
                "maximum": 2,
                "prefixEncodings": [
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "off",
                        "warning",
                        "error"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "no-restricted-pre-release-dependencies": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 2,
                "maximum": 2,
                "prefixEncodings": [
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "off",
                        "warning",
                        "error"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "no-restricted-invalid-devDependencies": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 2,
                "maximum": 2,
                "prefixEncodings": [
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "off",
                        "warning",
                        "error"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "no-restricted-pre-release-devDependencies": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 2,
                "maximum": 2,
                "prefixEncodings": [
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "off",
                        "warning",
                        "error"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "name-format": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            },
            "version-format": {
              "type": "enum",
              "encoding": "BOUNDED_CHOICE_INDEX",
              "options": {
                "choices": [
                  "off",
                  "warning",
                  "error"
                ]
              }
            }
          },
          "requiredProperties": [
            "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-format",
            "name-type",
            "no-restricted-dependencies",
            "no-restricted-invalid-devDependencies",
            "no-restricted-pre-release-dependencies",
            "no-restricted-pre-release-devDependencies",
            "preferGlobal-type",
            "private-type",
            "repository-type",
            "require-author",
            "require-bugs",
            "require-description",
            "require-engines",
            "require-homepage",
            "require-keywords",
            "require-license",
            "require-name",
            "require-repository",
            "require-version",
            "scripts-type",
            "valid-values-author",
            "valid-values-private",
            "version-format",
            "version-type"
          ],
          "booleanRequiredProperties": []
        }
      }
    },
    "requiredProperties": [
      "rules"
    ],
    "booleanRequiredProperties": []
  }
}
