404 lines
13 KiB
JSON
404 lines
13 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"definitions": {
|
|
"optionsDefinition": {
|
|
"type": "object",
|
|
"properties": {
|
|
"arrowParens": {
|
|
"description": "Include parentheses around a sole arrow function parameter.",
|
|
"default": "always",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["always"],
|
|
"description": "Always include parens. Example: `(x) => x`"
|
|
},
|
|
{
|
|
"enum": ["avoid"],
|
|
"description": "Omit parens when possible. Example: `x => x`"
|
|
}
|
|
]
|
|
},
|
|
"bracketSameLine": {
|
|
"description": "Put > of opening tags on the last line instead of on a new line.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"bracketSpacing": {
|
|
"description": "Print spaces between brackets.",
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"cursorOffset": {
|
|
"description": "Print (to stderr) where a cursor at the given position would move to after formatting.\nThis option cannot be used with --range-start and --range-end.",
|
|
"default": -1,
|
|
"type": "integer"
|
|
},
|
|
"embeddedLanguageFormatting": {
|
|
"description": "Control how Prettier formats quoted code embedded in the file.",
|
|
"default": "auto",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["auto"],
|
|
"description": "Format embedded code if Prettier can automatically identify it."
|
|
},
|
|
{
|
|
"enum": ["off"],
|
|
"description": "Never automatically format embedded code."
|
|
}
|
|
]
|
|
},
|
|
"endOfLine": {
|
|
"description": "Which end of line characters to apply.",
|
|
"default": "lf",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["lf"],
|
|
"description": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos"
|
|
},
|
|
{
|
|
"enum": ["crlf"],
|
|
"description": "Carriage Return + Line Feed characters (\\r\\n), common on Windows"
|
|
},
|
|
{
|
|
"enum": ["cr"],
|
|
"description": "Carriage Return character only (\\r), used very rarely"
|
|
},
|
|
{
|
|
"enum": ["auto"],
|
|
"description": "Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)"
|
|
}
|
|
]
|
|
},
|
|
"filepath": {
|
|
"description": "Specify the input filepath. This will be used to do parser inference.",
|
|
"type": "string"
|
|
},
|
|
"htmlWhitespaceSensitivity": {
|
|
"description": "How to handle whitespaces in HTML.",
|
|
"default": "css",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["css"],
|
|
"description": "Respect the default value of CSS display property."
|
|
},
|
|
{
|
|
"enum": ["strict"],
|
|
"description": "Whitespaces are considered sensitive."
|
|
},
|
|
{
|
|
"enum": ["ignore"],
|
|
"description": "Whitespaces are considered insensitive."
|
|
}
|
|
]
|
|
},
|
|
"insertPragma": {
|
|
"description": "Insert @format pragma into file's first docblock comment.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"jsxSingleQuote": {
|
|
"description": "Use single quotes in JSX.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"parser": {
|
|
"description": "Which parser to use.",
|
|
"anyOf": [
|
|
{
|
|
"enum": ["flow"],
|
|
"description": "Flow"
|
|
},
|
|
{
|
|
"enum": ["babel"],
|
|
"description": "JavaScript"
|
|
},
|
|
{
|
|
"enum": ["babel-flow"],
|
|
"description": "Flow"
|
|
},
|
|
{
|
|
"enum": ["babel-ts"],
|
|
"description": "TypeScript"
|
|
},
|
|
{
|
|
"enum": ["typescript"],
|
|
"description": "TypeScript"
|
|
},
|
|
{
|
|
"enum": ["acorn"],
|
|
"description": "JavaScript"
|
|
},
|
|
{
|
|
"enum": ["espree"],
|
|
"description": "JavaScript"
|
|
},
|
|
{
|
|
"enum": ["meriyah"],
|
|
"description": "JavaScript"
|
|
},
|
|
{
|
|
"enum": ["css"],
|
|
"description": "CSS"
|
|
},
|
|
{
|
|
"enum": ["less"],
|
|
"description": "Less"
|
|
},
|
|
{
|
|
"enum": ["scss"],
|
|
"description": "SCSS"
|
|
},
|
|
{
|
|
"enum": ["json"],
|
|
"description": "JSON"
|
|
},
|
|
{
|
|
"enum": ["json5"],
|
|
"description": "JSON5"
|
|
},
|
|
{
|
|
"enum": ["json-stringify"],
|
|
"description": "JSON.stringify"
|
|
},
|
|
{
|
|
"enum": ["graphql"],
|
|
"description": "GraphQL"
|
|
},
|
|
{
|
|
"enum": ["markdown"],
|
|
"description": "Markdown"
|
|
},
|
|
{
|
|
"enum": ["mdx"],
|
|
"description": "MDX"
|
|
},
|
|
{
|
|
"enum": ["vue"],
|
|
"description": "Vue"
|
|
},
|
|
{
|
|
"enum": ["yaml"],
|
|
"description": "YAML"
|
|
},
|
|
{
|
|
"enum": ["glimmer"],
|
|
"description": "Ember / Handlebars"
|
|
},
|
|
{
|
|
"enum": ["html"],
|
|
"description": "HTML"
|
|
},
|
|
{
|
|
"enum": ["angular"],
|
|
"description": "Angular"
|
|
},
|
|
{
|
|
"enum": ["lwc"],
|
|
"description": "Lightning Web Components"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Custom parser"
|
|
}
|
|
]
|
|
},
|
|
"pluginSearchDirs": {
|
|
"description": "Custom directory that contains prettier plugins in node_modules subdirectory.\nOverrides default behavior when plugins are searched relatively to the location of Prettier.\nMultiple values are accepted.",
|
|
"default": [],
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"enum": [false],
|
|
"description": "Disable plugin autoloading."
|
|
}
|
|
]
|
|
},
|
|
"plugins": {
|
|
"description": "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",
|
|
"default": [],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"printWidth": {
|
|
"description": "The line length where Prettier will try wrap.",
|
|
"default": 80,
|
|
"type": "integer"
|
|
},
|
|
"proseWrap": {
|
|
"description": "How to wrap prose.",
|
|
"default": "preserve",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["always"],
|
|
"description": "Wrap prose if it exceeds the print width."
|
|
},
|
|
{
|
|
"enum": ["never"],
|
|
"description": "Do not wrap prose."
|
|
},
|
|
{
|
|
"enum": ["preserve"],
|
|
"description": "Wrap prose as-is."
|
|
}
|
|
]
|
|
},
|
|
"quoteProps": {
|
|
"description": "Change when properties in objects are quoted.",
|
|
"default": "as-needed",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["as-needed"],
|
|
"description": "Only add quotes around object properties where required."
|
|
},
|
|
{
|
|
"enum": ["consistent"],
|
|
"description": "If at least one property in an object requires quotes, quote all properties."
|
|
},
|
|
{
|
|
"enum": ["preserve"],
|
|
"description": "Respect the input use of quotes in object properties."
|
|
}
|
|
]
|
|
},
|
|
"rangeEnd": {
|
|
"description": "Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.\nThis option cannot be used with --cursor-offset.",
|
|
"default": null,
|
|
"type": "integer"
|
|
},
|
|
"rangeStart": {
|
|
"description": "Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.\nThis option cannot be used with --cursor-offset.",
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"requirePragma": {
|
|
"description": "Require either '@prettier' or '@format' to be present in the file's first docblock comment\nin order for it to be formatted.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"semi": {
|
|
"description": "Print semicolons.",
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"singleAttributePerLine": {
|
|
"description": "Enforce single attribute per line in HTML, Vue and JSX.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"singleQuote": {
|
|
"description": "Use single quotes instead of double quotes.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"tabWidth": {
|
|
"description": "Number of spaces per indentation level.",
|
|
"default": 2,
|
|
"type": "integer"
|
|
},
|
|
"trailingComma": {
|
|
"description": "Print trailing commas wherever possible when multi-line.",
|
|
"default": "es5",
|
|
"oneOf": [
|
|
{
|
|
"enum": ["es5"],
|
|
"description": "Trailing commas where valid in ES5 (objects, arrays, etc.)"
|
|
},
|
|
{
|
|
"enum": ["none"],
|
|
"description": "No trailing commas."
|
|
},
|
|
{
|
|
"enum": ["all"],
|
|
"description": "Trailing commas wherever possible (including function arguments)."
|
|
}
|
|
]
|
|
},
|
|
"useTabs": {
|
|
"description": "Indent with tabs instead of spaces.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"vueIndentScriptAndStyle": {
|
|
"description": "Indent script and style tags in Vue files.",
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"overridesDefinition": {
|
|
"type": "object",
|
|
"properties": {
|
|
"overrides": {
|
|
"type": "array",
|
|
"description": "Provide a list of patterns to override prettier configuration.",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["files"],
|
|
"properties": {
|
|
"files": {
|
|
"description": "Include these files in this override.",
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"excludeFiles": {
|
|
"description": "Exclude these files from this override.",
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"description": "The options to apply for this override.",
|
|
"$ref": "#/definitions/optionsDefinition"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"id": "https://json.schemastore.org/prettierrc.json",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/optionsDefinition"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/overridesDefinition"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"title": "Schema for .prettierrc"
|
|
}
|