{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/lerna",
  "description": "Lerna is a tool used in JavaScript monorepo projects. The lerna.json file is\nused to configure lerna to to best fit your project.",
  "properties": {
    "version": {
      "description": "The current version of the repository (or independent).",
      "type": "string"
    },
    "npmClient": {
      "description": "Specify which client to run commands with (change to \"yarn\" to run commands with yarn. Defaults to \"npm\".",
      "type": "string"
    },
    "npmClientArgs": {
      "description": "Array of strings that will be passed as arguments to the npmClient.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "useWorkspaces": {
      "description": "Enable workspaces integration when using Yarn.",
      "type": "boolean"
    },
    "workspaces": {
      "description": "Array of globs to use a workspace locations.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "packages": {
      "description": "Array of globs to use a package locations.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "ignoreChanges": {
      "description": "Array of globs of files to ignore when detecting changed packages.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "command": {
      "description": "Options for the CLI commands.",
      "type": "object",
      "properties": {
        "publish": {
          "description": "Options for the publish command.",
          "type": "object",
          "properties": {
            "ignoreChanges": {
              "description": "An array of globs that won't be included in \"lerna changed/publish\". Use this to prevent publishing of a new version unnecessarily for changes, such as fixing a README.md typo.",
              "type": ["string", "array"],
              "items": {
                "type": "string"
              }
            },
            "message": {
              "description": "A custom commit message when performing version updates for publication. See https://github.com/lerna/lerna/tree/master/commands/version#--message-msg for more information.",
              "type": "string"
            }
          }
        },
        "bootstrap": {
          "description": "Options for the bootstrap command.",
          "type": "object",
          "properties": {
            "ignore": {
              "description": "An array of globs that won't be bootstrapped when running \"lerna bootstrap\" command.",
              "type": ["string", "array"],
              "items": {
                "type": "string"
              }
            },
            "npmClientArgs": {
              "description": "Array of strings that will be passed as arguments directly to \"npm install\" during the \"lerna bootstrap\" command.",
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "init": {
          "description": "Options for the init command.",
          "type": "object",
          "properties": {
            "exact": {
              "description": "Use lerna 1.x behavior of \"exact\" comparison. It will enforce the exact match for all subsequent executions.",
              "type": "boolean"
            }
          }
        },
        "run": {
          "description": "Options for the run command.",
          "type": "object",
          "properties": {
            "npmClient": {
              "description": "Which npm client should be used when running package scripts.",
              "type": "string"
            }
          }
        },
        "version": {
          "description": "Options for the version command.",
          "type": "object",
          "properties": {
            "allowBranch": {
              "description": "A whitelist of globs that match git branches where \"lerna version\" is enabled.",
              "type": ["string", "array"],
              "items": {
                "type": "string"
              }
            },
            "message": {
              "description": "A custom commit message when performing version updates for publication. See https://github.com/lerna/lerna/tree/master/commands/version#--message-msg for more information.",
              "type": "string"
            }
          }
        }
      }
    }
  },
  "title": "A JSON schema for lerna.json files",
  "type": "object"
}
