cue.dev/x/npmjs/prettier@v0.7.0

schema.cue raw

  1package prettier
  2
  3// Schema for .prettierrc
  4#Schema: {
  5	@jsonschema(schema="http://json-schema.org/draft-07/schema#")
  6	@jsonschema(id="https://www.schemastore.org/prettierrc.json")
  7	matchN(1, [#optionsDefinition & #overridesDefinition, string])
  8
  9	#optionsDefinition: {
 10		// Include parentheses around a sole arrow function parameter.
 11		arrowParens?: matchN(1, ["always", "avoid"])
 12
 13		// Put > of opening tags on the last line instead of on a new line.
 14		bracketSameLine?: bool
 15
 16		// Print spaces between brackets.
 17		bracketSpacing?: bool
 18
 19		// Check whether the file's first docblock comment contains '@noprettier' or
 20		// '@noformat' to determine if it should be formatted.
 21		checkIgnorePragma?: bool
 22
 23		// Print (to stderr) where a cursor at the given position would move to after formatting.
 24		cursorOffset?: int
 25
 26		// Control how Prettier formats quoted code embedded in the file.
 27		embeddedLanguageFormatting?: matchN(1, ["auto", "off"])
 28
 29		// Which end of line characters to apply.
 30		endOfLine?: matchN(1, ["lf", "crlf", "cr", "auto"])
 31
 32		// Where to print operators when binary expressions wrap lines.
 33		experimentalOperatorPosition?: matchN(1, ["start", "end"])
 34
 35		// Use curious ternaries, with the question mark after the condition.
 36		experimentalTernaries?: bool
 37
 38		// Specify the input filepath. This will be used to do parser inference.
 39		filepath?: string
 40
 41		// How to handle whitespaces in HTML.
 42		htmlWhitespaceSensitivity?: matchN(1, ["css", "strict", "ignore"])
 43
 44		// Insert @format pragma into file's first docblock comment.
 45		insertPragma?: bool
 46
 47		// Use single quotes in JSX.
 48		jsxSingleQuote?: bool
 49
 50		// How to wrap object literals.
 51		objectWrap?: matchN(1, ["preserve", "collapse"])
 52
 53		// Which parser to use.
 54		parser?: matchN(>=1, [
 55			"flow",
 56			"babel",
 57			"babel-flow",
 58			"babel-ts",
 59			"typescript",
 60			"acorn",
 61			"espree",
 62			"meriyah",
 63			"css",
 64			"less",
 65			"scss",
 66			"json",
 67			"json5",
 68			"jsonc",
 69			"json-stringify",
 70			"graphql",
 71			"markdown",
 72			"mdx",
 73			"vue",
 74			"yaml",
 75			"glimmer",
 76			"html",
 77			"angular",
 78			"lwc",
 79			"mjml",
 80			string,
 81		])
 82
 83		// Add a plugin. Multiple plugins can be passed as separate `--plugin`s.
 84		plugins?: [...string]
 85
 86		// The line length where Prettier will try wrap.
 87		printWidth?: int
 88
 89		// How to wrap prose.
 90		proseWrap?: matchN(1, ["always", "never", "preserve"])
 91
 92		// Change when properties in objects are quoted.
 93		quoteProps?: matchN(1, ["as-needed", "consistent", "preserve"])
 94
 95		// Format code ending at a given character offset (exclusive).
 96		// The range will extend forwards to the end of the selected statement.
 97		rangeEnd?: int
 98
 99		// Format code starting at a given character offset.
100		// The range will extend backwards to the start of the first line containing the selected statement.
101		rangeStart?: int
102
103		// Require either '@prettier' or '@format' to be present in the file's first
104		// docblock comment in order for it to be formatted.
105		requirePragma?: bool
106
107		// Print semicolons.
108		semi?: bool
109
110		// Enforce single attribute per line in HTML, Vue and JSX.
111		singleAttributePerLine?: bool
112
113		// Use single quotes instead of double quotes.
114		singleQuote?: bool
115
116		// Number of spaces per indentation level.
117		tabWidth?: int
118
119		// Print trailing commas wherever possible when multi-line.
120		trailingComma?: matchN(1, ["all", "es5", "none"])
121
122		// Indent with tabs instead of spaces.
123		useTabs?: bool
124
125		// Indent script and style tags in Vue files.
126		vueIndentScriptAndStyle?: bool
127		...
128	}
129
130	#overridesDefinition: {
131		// Provide a list of patterns to override prettier configuration.
132		overrides?: [...close({
133			// Include these files in this override.
134			files!: matchN(1, [string, [...string]])
135
136			// Exclude these files from this override.
137			excludeFiles?: matchN(1, [string, [...string]])
138			options?:      #optionsDefinition
139		})]
140		...
141	}
142}