dprint 0.55.2

Binary for dprint code formatter—a pluggable and configurable code formatting platform.
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://dprint.dev/schemas/v0.json",
  "title": "dprint configuration file",
  "description": "Schema for a dprint configuration file.",
  "type": "object",
  "properties": {
    "$schema": {
      "description": "The JSON schema reference. Normally you shouldn't bother to provide this as the dprint vscode editor extension will handle constructing the schema for you based on the plugins provided.",
      "type": "string"
    },
    "incremental": {
      "description": "Whether to format files only when they change.",
      "type": "boolean",
      "default": true
    },
    "inherit": {
      "description": "For a nested (directory specific) configuration file, whether to inherit the plugins and configuration of the ancestor configuration file. Has no effect on a root configuration file.",
      "type": "boolean",
      "default": false
    },
    "extends": {
      "description": "Configurations to extend.",
      "anyOf": [{
        "description": "A file path or url to a configuration file to extend.",
        "type": "string"
      }, {
        "description": "A collection of file paths and/or urls to configuration files to extend.",
        "type": "array",
        "items": {
          "type": "string"
        }
      }]
    },
    "lineWidth": {
      "description": "The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.",
      "type": "number"
    },
    "indentWidth": {
      "description": "The number of characters for an indent.",
      "type": "number"
    },
    "useTabs": {
      "description": "Whether to use tabs (true) or spaces (false) for indentation.",
      "type": "boolean"
    },
    "newLineKind": {
      "description": "The kind of newline to use.",
      "type": "string",
      "oneOf": [
        {
          "const": "auto",
          "description": "For each file, uses the newline kind found at the end of the last line."
        },
        {
          "const": "crlf",
          "description": "Uses carriage return, line feed."
        },
        {
          "const": "lf",
          "description": "Uses line feed."
        },
        {
          "const": "system",
          "description": "Uses the system standard (ex. crlf on Windows)."
        }
      ]
    },
    "includes": {
      "description": "Array of patterns (globs) to use to find files to format.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "excludes": {
      "description": "Array of patterns (globs) to exclude files or directories to format.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "plugins": {
      "description": "Array of plugin URLs to format files.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": {
    "description": "Plugin configuration.",
    "type": "object",
    "properties": {
      "locked": {
        "description": "Whether this plugin configuration is locked against overrides from extending configurations.",
        "type": "boolean"
      },
      "associations": {
        "description": "File patterns to associate with this plugin, in addition to the file extensions and file names it matches by default. Use a negated glob (ex. \"!**/*.js\") to stop matching a default extension or file name.",
        "anyOf": [{
          "type": "string"
        }, {
          "type": "array",
          "items": {
            "type": "string"
          }
        }]
      },
      "overrides": {
        "description": "Plugin configuration overrides for specific file patterns.",
        "anyOf": [{
          "$ref": "#/definitions/pluginConfigOverride"
        }, {
          "type": "array",
          "items": {
            "$ref": "#/definitions/pluginConfigOverride"
          }
        }]
      }
    },
    "additionalProperties": true
  },
  "definitions": {
    "pluginConfigOverride": {
      "type": "object",
      "required": ["files"],
      "minProperties": 2,
      "properties": {
        "files": {
          "description": "File patterns this override applies to.",
          "anyOf": [{
            "type": "string"
          }, {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          }]
        }
      },
      "additionalProperties": true
    }
  },
  "allowTrailingCommas": true
}