Skip to content

Instantly share code, notes, and snippets.

@AxelConceicao
Last active June 24, 2022 23:29
Show Gist options
  • Save AxelConceicao/b724ee674fa6338d7958abeddad883d3 to your computer and use it in GitHub Desktop.
Save AxelConceicao/b724ee674fa6338d7958abeddad883d3 to your computer and use it in GitHub Desktop.
{"lastUpload":"2022-06-24T23:29:06.664Z","extensionVersion":"v3.4.3"}
[
{
"metadata": {
"id": "61ce9ab3-f230-47ea-8cdc-2b5eb25f3ae2",
"publisherId": "antfu.browse-lite",
"publisherDisplayName": "antfu"
},
"name": "browse-lite",
"publisher": "antfu",
"version": "0.3.0"
},
{
"metadata": {
"id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
"publisherId": "Shan.code-settings-sync",
"publisherDisplayName": "Shan"
},
"name": "code-settings-sync",
"publisher": "Shan",
"version": "3.4.3"
},
{
"metadata": {
"id": "a2cec723-5349-460d-9de9-0fd1f8d3456f",
"publisherId": "xabikos.JavaScriptSnippets",
"publisherDisplayName": "xabikos"
},
"name": "JavaScriptSnippets",
"publisher": "xabikos",
"version": "1.8.0"
},
{
"metadata": {
"id": "7f147721-ec06-4043-9e37-c9ffbecbccd1",
"publisherId": "whizkydee.material-palenight-theme",
"publisherDisplayName": "whizkydee"
},
"name": "material-palenight-theme",
"publisher": "whizkydee",
"version": "2.0.2"
},
{
"metadata": {
"id": "80def04d-6d01-495b-9d59-4ad19408872f",
"publisherId": "csstools.postcss",
"publisherDisplayName": "csstools"
},
"name": "postcss",
"publisher": "csstools",
"version": "1.0.9"
},
{
"metadata": {
"id": "f0c5397b-d357-4197-99f0-cb4202f22818",
"publisherId": "ms-vscode-remote.remote-wsl",
"publisherDisplayName": "ms-vscode-remote"
},
"name": "remote-wsl",
"publisher": "ms-vscode-remote",
"version": "0.66.3"
},
{
"metadata": {
"id": "9ccc1dd7-7ec4-4a46-bd4f-7d7b8b9d322a",
"publisherId": "vscode-icons-team.vscode-icons",
"publisherDisplayName": "vscode-icons-team"
},
"name": "vscode-icons",
"publisher": "vscode-icons-team",
"version": "11.12.0"
},
{
"metadata": {
"id": "3851b234-107a-4b82-a50d-0414e166220d",
"publisherId": "MS-CEINTL.vscode-language-pack-fr",
"publisherDisplayName": "MS-CEINTL"
},
"name": "vscode-language-pack-fr",
"publisher": "MS-CEINTL",
"version": "1.68.6150916"
},
{
"metadata": {
"id": "97a08c5f-6667-4242-a5c5-045dfb6bd4b9",
"publisherId": "wayou.vscode-todo-highlight",
"publisherDisplayName": "wayou"
},
"name": "vscode-todo-highlight",
"publisher": "wayou",
"version": "1.0.5"
}
]
{"previous":null,"current":{"extension":"1.30.0","vscode":"1.66.2"},"apiAvailable":true,"queue":[],"attempts":1}
{
"telemetry.machineId": "50b0f097333b481176d9ab3b2faac8a9e857a108ac1603d80135993b02dd4bc3",
"theme": "vs-dark",
"themeBackground": "#292d3e",
"windowsState": {
"lastActiveWindow": {
"backupPath": "C:\\Users\\Takoo\\AppData\\Roaming\\Code\\Backups\\1656112542966",
"remoteAuthority": "wsl+Ubuntu-20.04",
"uiState": {
"mode": 0,
"x": 800,
"y": 396,
"width": 832,
"height": 624
}
},
"openedWindows": []
},
"pickerWorkingDir": "C:\\Users\\Takoo\\lab\\simco",
"windowSplash": {
"baseTheme": "vs-dark",
"colorInfo": {
"foreground": "#ffffff",
"background": "#292d3e",
"editorBackground": "#292d3e",
"titleBarBackground": "#292d3e",
"activityBarBackground": "#282c3d",
"sideBarBackground": "#292d3e",
"statusBarBackground": "#282c3d",
"statusBarNoFolderBackground": "#292d3e"
},
"layoutInfo": {
"sideBarSide": "left",
"editorPartMinWidth": 220,
"titleBarHeight": 30,
"activityBarWidth": 48,
"sideBarWidth": 287,
"statusBarHeight": 22,
"windowBorder": false
}
}
}
{
"title": "JSON schema for ESLint configuration files",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"definitions": {
"rule": {
"oneOf": [
{
"description": "ESLint rule\n\n0 - turns the rule off\n1 - turn the rule on as a warning (doesn't affect exit code)\n2 - turn the rule on as an error (exit code is 1 when triggered)\n",
"type": "integer",
"minimum": 0,
"maximum": 2
},
{
"description": "ESLint rule\n\n\"off\" - turns the rule off\n\"warn\" - turn the rule on as a warning (doesn't affect exit code)\n\"error\" - turn the rule on as an error (exit code is 1 when triggered)\n",
"type": "string",
"enum": [
"off", "warn", "error"
]
},
{
"type": "array"
}
]
},
"possibleErrors": {
"properties": {
"comma-dangle": { "$ref": "#/definitions/rule", "description": "Require or disallow trailing commas"},
"for-direction": {"$ref": "#/definitions/rule", "description": "Enforce “for” loop update clause moving the counter in the right direction"},
"getter-return": {"$ref": "#/definitions/rule", "description": "Enforce return statements in getters"},
"no-await-in-loop": {"$ref": "#/definitions/rule", "description": "Disallow await inside of loops"},
"no-compare-neg-zero": {"$ref": "#/definitions/rule", "description": "Disallow comparing against -0"},
"no-cond-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignment operators in conditional expressions" },
"no-console": { "$ref": "#/definitions/rule", "description": "Disallow the use of console" },
"no-constant-condition": { "$ref": "#/definitions/rule", "description": "Disallow constant expressions in conditions" },
"no-control-regex": { "$ref": "#/definitions/rule", "description": "Disallow control characters in regular expressions" },
"no-debugger": { "$ref": "#/definitions/rule", "description": "Disallow the use of debugger" },
"no-dupe-args": { "$ref": "#/definitions/rule", "description": "Disallow duplicate arguments in function definitions" },
"no-dupe-keys": { "$ref": "#/definitions/rule", "description": "Disallow duplicate keys in object literals" },
"no-duplicate-case": { "$ref": "#/definitions/rule", "description": "Disallow duplicate case labels" },
"no-empty": { "$ref": "#/definitions/rule", "description": "Disallow empty block statements" },
"no-empty-character-class": { "$ref": "#/definitions/rule", "description": "Disallow empty character classes in regular expressions" },
"no-ex-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning exceptions in catch clauses" },
"no-extra-boolean-cast": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary boolean casts" },
"no-extra-parens": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary parentheses" },
"no-extra-semi": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary semicolons" },
"no-func-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning function declarations" },
"no-inner-declarations": { "$ref": "#/definitions/rule", "description": "Disallow function or var declarations in nested blocks" },
"no-invalid-regexp": { "$ref": "#/definitions/rule", "description": "Disallow invalid regular expression strings in RegExp constructors" },
"no-irregular-whitespace": { "$ref": "#/definitions/rule", "description": "Disallow irregular whitespace outside of strings and comments" },
"no-negated-in-lhs": { "$ref": "#/definitions/rule", "description": "Disallow negating the left operand in in expressions (deprecated)"},
"no-obj-calls": { "$ref": "#/definitions/rule", "description": "Disallow calling global object properties as functions" },
"no-prototype-builtins": { "$ref": "#/definitions/rule", "description": "Disallow calling some Object.prototype methods directly on objects" },
"no-regex-spaces": { "$ref": "#/definitions/rule", "description": "Disallow multiple spaces in regular expressions" },
"no-sparse-arrays": { "$ref": "#/definitions/rule", "description": "Disallow sparse arrays" },
"no-template-curly-in-string": { "$ref": "#/definitions/rule", "description": "Disallow template literal placeholder syntax in regular strings" },
"no-unexpected-multiline": { "$ref": "#/definitions/rule", "description": "Disallow confusing multiline expressions" },
"no-unreachable": { "$ref": "#/definitions/rule", "description": "Disallow unreachable code after return, throw, continue, and break statements" },
"no-unsafe-finally": { "$ref": "#/definitions/rule", "description": "Disallow control flow statements in finally blocks" },
"no-unsafe-negation": { "$ref": "#/definitions/rule", "description": "Disallow negating the left operand of relational operators" },
"use-isnan": { "$ref": "#/definitions/rule", "description": "Require calls to isNaN() when checking for NaN" },
"valid-jsdoc": { "$ref": "#/definitions/rule", "description": "Enforce valid JSDoc comments" },
"valid-typeof": { "$ref": "#/definitions/rule", "description": "Enforce comparing typeof expressions against valid strings" }
}
},
"bestPractices": {
"properties": {
"accessor-pairs": { "$ref": "#/definitions/rule", "description": "Enforce getter and setter pairs in objects" },
"array-callback-return": { "$ref": "#/definitions/rule", "description": "Enforce return statements in callbacks of array methods" },
"block-scoped-var": { "$ref": "#/definitions/rule", "description": "Enforce the use of variables within the scope they are defined" },
"class-methods-use-this": { "$ref": "#/definitions/rule", "description": "Enforce that class methods utilize this" },
"complexity": { "$ref": "#/definitions/rule", "description": "Enforce a maximum cyclomatic complexity allowed in a program" },
"consistent-return": { "$ref": "#/definitions/rule", "description": "Require return statements to either always or never specify values" },
"curly": { "$ref": "#/definitions/rule", "description": "Enforce consistent brace style for all control statements" },
"default-case": { "$ref": "#/definitions/rule", "description": "Require default cases in switch statements" },
"dot-location": { "$ref": "#/definitions/rule", "description": "Enforce consistent newlines before and after dots" },
"dot-notation": { "$ref": "#/definitions/rule", "description": "Enforce dot notation whenever possible" },
"eqeqeq": { "$ref": "#/definitions/rule", "description": "Require the use of === and !==" },
"guard-for-in": { "$ref": "#/definitions/rule", "description": "Require for-in loops to include an if statement" },
"no-alert": { "$ref": "#/definitions/rule", "description": "Disallow the use of alert, confirm, and prompt" },
"no-caller": { "$ref": "#/definitions/rule", "description": "Disallow the use of arguments.caller or arguments.callee" },
"no-case-declarations": { "$ref": "#/definitions/rule", "description": "Disallow lexical declarations in case clauses" },
"no-div-regex": { "$ref": "#/definitions/rule", "description": "Disallow division operators explicitly at the beginning of regular expressions" },
"no-else-return": { "$ref": "#/definitions/rule", "description": "Disallow else blocks after return statements in if statements" },
"no-empty-function": { "$ref": "#/definitions/rule", "description": "Disallow empty functions" },
"no-empty-pattern": { "$ref": "#/definitions/rule", "description": "Disallow empty destructuring patterns" },
"no-eq-null": { "$ref": "#/definitions/rule", "description": "Disallow null comparisons without type-checking operators" },
"no-eval": { "$ref": "#/definitions/rule", "description": "Disallow the use of eval()" },
"no-extend-native": { "$ref": "#/definitions/rule", "description": "Disallow extending native types" },
"no-extra-bind": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary calls to .bind()" },
"no-extra-label": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary labels" },
"no-fallthrough": { "$ref": "#/definitions/rule", "description": "Disallow fallthrough of case statements" },
"no-floating-decimal": { "$ref": "#/definitions/rule", "description": "Disallow leading or trailing decimal points in numeric literals" },
"no-global-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignments to native objects or read-only global variables" },
"no-implicit-coercion": { "$ref": "#/definitions/rule", "description": "Disallow shorthand type conversions" },
"no-implicit-globals": { "$ref": "#/definitions/rule", "description": "Disallow var and named function declarations in the global scope" },
"no-implied-eval": { "$ref": "#/definitions/rule", "description": "Disallow the use of eval()-like methods" },
"no-invalid-this": { "$ref": "#/definitions/rule", "description": "Disallow this keywords outside of classes or class-like objects" },
"no-iterator": { "$ref": "#/definitions/rule", "description": "Disallow the use of the __iterator__ property" },
"no-labels": { "$ref": "#/definitions/rule", "description": "Disallow labeled statements" },
"no-lone-blocks": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary nested blocks" },
"no-loop-func": { "$ref": "#/definitions/rule", "description": "Disallow function declarations and expressions inside loop statements" },
"no-magic-numbers": { "$ref": "#/definitions/rule", "description": "Disallow magic numbers" },
"no-multi-spaces": { "$ref": "#/definitions/rule", "description": "Disallow multiple spaces" },
"no-multi-str": { "$ref": "#/definitions/rule", "description": "Disallow multiline strings" },
"no-native-reassign": { "$ref": "#/definitions/rule"},
"no-new": { "$ref": "#/definitions/rule", "description": "Disallow new operators outside of assignments or comparisons" },
"no-new-func": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the Function object" },
"no-new-wrappers": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the String, Number, and Boolean objects" },
"no-octal": { "$ref": "#/definitions/rule", "description": "Disallow octal literals" },
"no-octal-escape": { "$ref": "#/definitions/rule", "description": "Disallow octal escape sequences in string literals" },
"no-param-reassign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning function parameters" },
"no-proto": { "$ref": "#/definitions/rule", "description": "Disallow the use of the __proto__ property" },
"no-redeclare": { "$ref": "#/definitions/rule", "description": "Disallow var redeclaration" },
"no-restricted-properties": { "$ref": "#/definitions/rule", "description": "Disallow certain properties on certain objects" },
"no-return-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignment operators in return statements" },
"no-return-await": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary return await" },
"no-script-url": { "$ref": "#/definitions/rule", "description": "Disallow javascript: urls" },
"no-self-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignments where both sides are exactly the same" },
"no-self-compare": { "$ref": "#/definitions/rule", "description": "Disallow comparisons where both sides are exactly the same" },
"no-sequences": { "$ref": "#/definitions/rule", "description": "Disallow comma operators" },
"no-throw-literal": { "$ref": "#/definitions/rule", "description": "Disallow throwing literals as exceptions" },
"no-unmodified-loop-condition": { "$ref": "#/definitions/rule", "description": "Disallow unmodified loop conditions" },
"no-unused-expressions": { "$ref": "#/definitions/rule", "description": "Disallow unused expressions" },
"no-unused-labels": { "$ref": "#/definitions/rule", "description": "Disallow unused labels" },
"no-useless-call": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary calls to .call() and .apply()" },
"no-useless-concat": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary concatenation of literals or template literals" },
"no-useless-escape": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary escape characters" },
"no-useless-return": { "$ref": "#/definitions/rule", "description": "Disallow redundant return statements" },
"no-void": { "$ref": "#/definitions/rule", "description": "Disallow void operators" },
"no-warning-comments": { "$ref": "#/definitions/rule", "description": "Disallow specified warning terms in comments" },
"no-with": { "$ref": "#/definitions/rule", "description": "Disallow with statements" },
"prefer-promise-reject-errors": { "$ref": "#/definitions/rule", "description": "Require using Error objects as Promise rejection reasons" },
"radix": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of the radix argument when using parseInt()" },
"require-await": { "$ref": "#/definitions/rule", "description": "Disallow async functions which have no await expression" },
"vars-on-top": { "$ref": "#/definitions/rule", "description": "Require var declarations be placed at the top of their containing scope" },
"wrap-iife": { "$ref": "#/definitions/rule", "description": "Require parentheses around immediate function invocations" },
"yoda": { "$ref": "#/definitions/rule", "description": "Require or Disallow “Yoda” conditions" }
}
},
"strictMode": {
"properties": {
"strict": { "$ref": "#/definitions/rule", "description": "require or disallow strict mode directives" }
}
},
"variables": {
"properties": {
"init-declarations": { "$ref": "#/definitions/rule", "description": "Require or disallow initialization in var declarations" },
"no-catch-shadow": { "$ref": "#/definitions/rule", "description": "Disallow catch clause parameters from shadowing variables in the outer scope" },
"no-delete-var": { "$ref": "#/definitions/rule", "description": "Disallow deleting variables" },
"no-label-var": { "$ref": "#/definitions/rule", "description": "Disallow labels that share a name with a variable" },
"no-restricted-globals": { "$ref": "#/definitions/rule", "description": "Disallow specified global variables" },
"no-shadow": { "$ref": "#/definitions/rule", "description": "Disallow var declarations from shadowing variables in the outer scope" },
"no-shadow-restricted-names": { "$ref": "#/definitions/rule", "description": "Disallow identifiers from shadowing restricted names" },
"no-undef": { "$ref": "#/definitions/rule", "description": "Disallow the use of undeclared variables unless mentioned in /*global */ comments" },
"no-undefined": { "$ref": "#/definitions/rule", "description": "Disallow the use of undefined as an identifier" },
"no-undef-init": { "$ref": "#/definitions/rule", "description": "Disallow initializing variables to undefined" },
"no-unused-vars": { "$ref": "#/definitions/rule", "description": "Disallow unused variables" },
"no-use-before-define": { "$ref": "#/definitions/rule", "description": "Disallow the use of variables before they are defined" }
}
},
"nodeAndCommonJs": {
"properties": {
"callback-return": { "$ref": "#/definitions/rule", "description": "Require return statements after callbacks" },
"global-require": { "$ref": "#/definitions/rule", "description": "Require require() calls to be placed at top-level module scope" },
"handle-callback-err": { "$ref": "#/definitions/rule", "description": "Require error handling in callbacks" },
"no-buffer-constructor": { "$ref": "#/definitions/rule", "description": "Disallow use of the Buffer() constructor" },
"no-mixed-requires": { "$ref": "#/definitions/rule", "description": "Disallow require calls to be mixed with regular var declarations" },
"no-new-require": { "$ref": "#/definitions/rule", "description": "Disallow new operators with calls to require" },
"no-path-concat": { "$ref": "#/definitions/rule", "description": "Disallow string concatenation with __dirname and __filename" },
"no-process-env": { "$ref": "#/definitions/rule", "description": "Disallow the use of process.env" },
"no-process-exit": { "$ref": "#/definitions/rule", "description": "Disallow the use of process.exit()" },
"no-restricted-modules": { "$ref": "#/definitions/rule", "description": "Disallow specified modules when loaded by require" },
"no-sync": { "$ref": "#/definitions/rule", "description": "Disallow synchronous methods" }
}
},
"stylisticIssues": {
"properties": {
"array-bracket-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks after opening and before closing array brackets" },
"array-bracket-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside array brackets" },
"array-element-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks after each array element" },
"block-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside single-line blocks" },
"brace-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent brace style for blocks" },
"camelcase": { "$ref": "#/definitions/rule", "description": "Enforce camelcase naming convention" },
"capitalized-comments": { "$ref": "#/definitions/rule", "description": "Enforce or disallow capitalization of the first letter of a comment" },
"comma-dangle": { "$ref": "#/definitions/rule", "description": "Require or disallow trailing commas" },
"comma-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after commas" },
"comma-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent comma style" },
"computed-property-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside computed property brackets" },
"consistent-this": { "$ref": "#/definitions/rule", "description": "Enforce consistent naming when capturing the current execution context" },
"eol-last": { "$ref": "#/definitions/rule", "description": "Enforce at least one newline at the end of files" },
"func-call-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing between function identifiers and their invocations" },
"func-name-matching": { "$ref": "#/definitions/rule", "description": "Require function names to match the name of the variable or property to which they are assigned" },
"func-names": { "$ref": "#/definitions/rule", "description": "Require or disallow named function expressions" },
"func-style": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either function declarations or expressions" },
"function-call-argument-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks between arguments of a function call" },
"function-paren-newline": { "$ref": "#/definitions/rule", "description": "Enforce consistent line breaks inside function parentheses" },
"id-blacklist": { "$ref": "#/definitions/rule", "description": "Disallow specified identifiers" },
"id-length": { "$ref": "#/definitions/rule", "description": "Enforce minimum and maximum identifier lengths" },
"id-match": { "$ref": "#/definitions/rule", "description": "Require identifiers to match a specified regular expression" },
"implicit-arrow-linebreak": { "$ref": "#/definitions/rule", "description": "Enforce the location of arrow function bodies" },
"indent": { "$ref": "#/definitions/rule", "description": "Enforce consistent indentation" },
"indent-legacy": { "$ref": "#/definitions/rule", "description": "Enforce consistent indentation (legacy, deprecated)" },
"jsx-quotes": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either double or single quotes in JSX attributes" },
"key-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing between keys and values in object literal properties" },
"keyword-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after keywords" },
"line-comment-position": { "$ref": "#/definitions/rule", "description": "Enforce position of line comments" },
"lines-between-class-members": { "$ref": "#/definitions/rule", "description": "Require or disallow an empty line between class members" },
"linebreak-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent linebreak style" },
"lines-around-comment": { "$ref": "#/definitions/rule", "description": "Require empty lines around comments" },
"lines-around-directive": { "$ref": "#/definitions/rule", "description": "Require or disallow newlines around directives" },
"max-depth": { "$ref": "#/definitions/rule", "description": "Enforce a maximum depth that blocks can be nested" },
"max-len": { "$ref": "#/definitions/rule", "description": "Enforce a maximum line length" },
"max-lines": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of lines per file" },
"max-nested-callbacks": { "$ref": "#/definitions/rule", "description": "Enforce a maximum depth that callbacks can be nested" },
"max-params": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of parameters in function definitions" },
"max-statements": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of statements allowed in function blocks" },
"max-statements-per-line": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of statements allowed per line" },
"multiline-comment-style": { "$ref": "#/definitions/rule", "description": "Enforce a particular style for multiline comments" },
"multiline-ternary": { "$ref": "#/definitions/rule", "description": "Enforce newlines between operands of ternary expressions" },
"new-cap": { "$ref": "#/definitions/rule", "description": "Require constructor function names to begin with a capital letter" },
"newline-after-var": { "$ref": "#/definitions/rule", "description": "Require or disallow an empty line after var declarations" },
"newline-before-return": { "$ref": "#/definitions/rule", "description": "Require an empty line before return statements" },
"newline-per-chained-call": { "$ref": "#/definitions/rule", "description": "Require a newline after each call in a method chain" },
"new-parens": { "$ref": "#/definitions/rule", "description": "Require parentheses when invoking a constructor with no arguments" },
"no-array-constructor": { "$ref": "#/definitions/rule", "description": "Disallow Array constructors" },
"no-bitwise": { "$ref": "#/definitions/rule", "description": "Disallow bitwise operators" },
"no-continue": { "$ref": "#/definitions/rule", "description": "Disallow continue statements" },
"no-inline-comments": { "$ref": "#/definitions/rule", "description": "Disallow inline comments after code" },
"no-lonely-if": { "$ref": "#/definitions/rule", "description": "Disallow if statements as the only statement in else blocks" },
"no-mixed-operators": { "$ref": "#/definitions/rule", "description": "Disallow mixed binary operators" },
"no-mixed-spaces-and-tabs": { "$ref": "#/definitions/rule", "description": "Disallow mixed spaces and tabs for indentation" },
"no-multi-assign": { "$ref": "#/definitions/rule", "description": "Disallow use of chained assignment expressions" },
"no-multiple-empty-lines": { "$ref": "#/definitions/rule", "description": "Disallow multiple empty lines" },
"no-negated-condition": { "$ref": "#/definitions/rule", "description": "Disallow negated conditions" },
"no-nested-ternary": { "$ref": "#/definitions/rule", "description": "Disallow nested ternary expressions" },
"no-new-object": { "$ref": "#/definitions/rule", "description": "Disallow Object constructors" },
"no-plusplus": { "$ref": "#/definitions/rule", "description": "Disallow the unary operators ++ and --" },
"no-restricted-syntax": { "$ref": "#/definitions/rule", "description": "Disallow specified syntax" },
"no-spaced-func": { "$ref": "#/definitions/rule"},
"no-tabs": { "$ref": "#/definitions/rule", "description": "Disallow tabs in file" },
"no-ternary": { "$ref": "#/definitions/rule", "description": "Disallow ternary operators" },
"no-trailing-spaces": { "$ref": "#/definitions/rule", "description": "Disallow trailing whitespace at the end of lines" },
"no-underscore-dangle": { "$ref": "#/definitions/rule", "description": "Disallow dangling underscores in identifiers" },
"no-unneeded-ternary": { "$ref": "#/definitions/rule", "description": "Disallow ternary operators when simpler alternatives exist" },
"no-whitespace-before-property": { "$ref": "#/definitions/rule", "description": "Disallow whitespace before properties" },
"nonblock-statement-body-position": { "$ref": "#/definitions/rule", "description": "Enforce the location of single-line statements" },
"object-curly-newline": { "$ref": "#/definitions/rule", "description": "Enforce consistent line breaks inside braces" },
"object-curly-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside braces" },
"object-property-newline": { "$ref": "#/definitions/rule", "description": "Enforce placing object properties on separate lines" },
"object-shorthand": { "$ref": "#/definitions/rule"},
"one-var": { "$ref": "#/definitions/rule", "description": "Enforce variables to be declared either together or separately in functions" },
"one-var-declaration-per-line": { "$ref": "#/definitions/rule", "description": "Require or disallow newlines around var declarations" },
"operator-assignment": { "$ref": "#/definitions/rule", "description": "Require or disallow assignment operator shorthand where possible" },
"operator-linebreak": { "$ref": "#/definitions/rule", "description": "Enforce consistent linebreak style for operators" },
"padded-blocks": { "$ref": "#/definitions/rule", "description": "Require or disallow padding within blocks" },
"padding-line-between-statements": { "$ref": "#/definitions/rule", "description": "Require or disallow padding lines between statements" },
"quote-props": { "$ref": "#/definitions/rule", "description": "Require quotes around object literal property names" },
"quotes": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either backticks, double, or single quotes" },
"require-jsdoc": { "$ref": "#/definitions/rule", "description": "Require JSDoc comments" },
"semi": { "$ref": "#/definitions/rule", "description": "Require or disallow semicolons instead of ASI" },
"semi-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after semicolons" },
"semi-style": { "$ref": "#/definitions/rule", "description": "Enforce location of semicolons" },
"sort-keys": { "$ref": "#/definitions/rule", "description": "Requires object keys to be sorted" },
"sort-vars": { "$ref": "#/definitions/rule", "description": "Require variables within the same declaration block to be sorted" },
"space-before-blocks": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before blocks" },
"space-before-function-paren": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before function definition opening parenthesis" },
"spaced-comment": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing after the // or /* in a comment" },
"space-infix-ops": { "$ref": "#/definitions/rule", "description": "Require spacing around operators" },
"space-in-parens": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside parentheses" },
"space-unary-ops": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before or after unary operators" },
"switch-colon-spacing": { "$ref": "#/definitions/rule", "description": "Enforce spacing around colons of switch statements" },
"template-tag-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing between template tags and their literals" },
"unicode-bom": { "$ref": "#/definitions/rule", "description": "Require or disallow Unicode byte order mark (BOM)" },
"wrap-regex": { "$ref": "#/definitions/rule", "description": "Require parenthesis around regex literals" }
}
},
"ecmaScript6": {
"properties": {
"arrow-body-style": { "$ref": "#/definitions/rule", "description": "Require braces around arrow function bodies" },
"arrow-parens": { "$ref": "#/definitions/rule", "description": "Require parentheses around arrow function arguments" },
"arrow-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after the arrow in arrow functions" },
"constructor-super": { "$ref": "#/definitions/rule", "description": "Require super() calls in constructors" },
"generator-star-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing around * operators in generator functions" },
"no-class-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning class members" },
"no-confusing-arrow": { "$ref": "#/definitions/rule", "description": "Disallow arrow functions where they could be confused with comparisons" },
"no-const-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning const variables" },
"no-dupe-class-members": { "$ref": "#/definitions/rule", "description": "Disallow duplicate class members" },
"no-duplicate-imports": { "$ref": "#/definitions/rule", "description": "Disallow duplicate module imports" },
"no-new-symbol": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the Symbol object" },
"no-restricted-imports": { "$ref": "#/definitions/rule", "description": "Disallow specified modules when loaded by import" },
"no-this-before-super": { "$ref": "#/definitions/rule", "description": "Disallow this/super before calling super() in constructors" },
"no-useless-computed-key": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary computed property keys in object literals" },
"no-useless-constructor": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary constructors" },
"no-useless-rename": { "$ref": "#/definitions/rule", "description": "Disallow renaming import, export, and destructured assignments to the same name" },
"no-var": { "$ref": "#/definitions/rule", "description": "Require let or const instead of var" },
"object-shorthand": { "$ref": "#/definitions/rule", "description": "Require or disallow method and property shorthand syntax for object literals" },
"prefer-arrow-callback": { "$ref": "#/definitions/rule", "description": "Require arrow functions as callbacks" },
"prefer-const": { "$ref": "#/definitions/rule", "description": "Require const declarations for variables that are never reassigned after declared" },
"prefer-destructuring": { "$ref": "#/definitions/rule", "description": "Require destructuring from arrays and/or objects" },
"prefer-numeric-literals": { "$ref": "#/definitions/rule", "description": "Disallow parseInt() in favor of binary, octal, and hexadecimal literals" },
"prefer-reflect": { "$ref": "#/definitions/rule", "description": "Require Reflect methods where applicable" },
"prefer-rest-params": { "$ref": "#/definitions/rule", "description": "Require rest parameters instead of arguments" },
"prefer-spread": { "$ref": "#/definitions/rule", "description": "Require spread operators instead of .apply()" },
"prefer-template": { "$ref": "#/definitions/rule", "description": "Require template literals instead of string concatenation" },
"require-yield": { "$ref": "#/definitions/rule", "description": "Require generator functions to contain yield" },
"rest-spread-spacing": { "$ref": "#/definitions/rule", "description": "Enforce spacing between rest and spread operators and their expressions" },
"sort-imports": { "$ref": "#/definitions/rule", "description": "Enforce sorted import declarations within modules" },
"symbol-description": { "$ref": "#/definitions/rule", "description": "Require symbol descriptions" },
"template-curly-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing around embedded expressions of template strings" },
"yield-star-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing around the * in yield* expressions" }
}
},
"legacy": {
"properties": {
"max-depth": { "$ref": "#/definitions/rule" },
"max-len": { "$ref": "#/definitions/rule" },
"max-params": { "$ref": "#/definitions/rule" },
"max-statements": { "$ref": "#/definitions/rule" },
"no-bitwise": { "$ref": "#/definitions/rule" },
"no-plusplus": { "$ref": "#/definitions/rule" }
}
}
},
"properties": {
"ecmaFeatures": {
"description": "By default, ESLint supports only ECMAScript 5 syntax. You can override that setting to enable support for ECMAScript 6 as well as JSX by using configuration settings.",
"type": "object",
"properties": {
"arrowFunctions": { "type": "boolean" },
"binaryLiterals": { "type": "boolean" },
"blockBindings": { "type": "boolean" },
"classes": { "type": "boolean" },
"defaultParams": { "type": "boolean" },
"destructuring": { "type": "boolean" },
"experimentalObjectRestSpread": { "type": "boolean",
"description": "Enables support for the experimental object rest/spread properties (IMPORTANT: This is an experimental feature that may change significantly in the future. It’s recommended that you do not write rules relying on this functionality unless you are willing to incur maintenance cost when it changes.)"},
"forOf": { "type": "boolean" },
"generators": { "type": "boolean" },
"globalReturn": { "type": "boolean", "description": "allow return statements in the global scope" },
"impliedStrict": { "type": "boolean", "description": "enable global strict mode (if ecmaVersion is 5 or greater)" },
"jsx": { "type": "boolean", "description": "enable JSX" },
"modules": { "type": "boolean" },
"objectLiteralComputedProperties": { "type": "boolean" },
"objectLiteralDuplicateProperties": { "type": "boolean" },
"objectLiteralShorthandMethods": { "type": "boolean" },
"objectLiteralShorthandProperties": { "type": "boolean" },
"octalLiterals": { "type": "boolean" },
"regexUFlag": { "type": "boolean" },
"regexYFlag": { "type": "boolean" },
"restParams": { "type": "boolean" },
"spread": { "type": "boolean" },
"superInFunctions": { "type": "boolean" },
"templateStrings": { "type": "boolean" },
"unicodeCodePointEscapes": { "type": "boolean" }
}
},
"env": {
"description": "An environment defines global variables that are predefined.",
"type": "object",
"properties": {
"amd": {
"type": "boolean",
"description": "defines require() and define() as global variables as per the amd spec"
},
"applescript": {
"type": "boolean",
"description": "AppleScript global variables"
},
"atomtest": {
"type": "boolean",
"description": "Atom test helper globals"
},
"browser": {
"type": "boolean",
"description": "browser global variables"
},
"commonjs": {
"type": "boolean",
"description": "CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack)"
},
"shared-node-browser": {
"type": "boolean",
"description": "Globals common to both Node and Browser"
},
"embertest": {
"type": "boolean",
"description": "Ember test helper globals"
},
"es6": {
"type": "boolean",
"description": "enable all ECMAScript 6 features except for modules"
},
"greasemonkey": {
"type": "boolean",
"description": "GreaseMonkey globals"
},
"jasmine": {
"type": "boolean",
"description": "adds all of the Jasmine testing global variables for version 1.3 and 2.0"
},
"jest": {
"type": "boolean",
"description": "Jest global variables"
},
"jquery": {
"type": "boolean",
"description": "jQuery global variables"
},
"meteor": {
"type": "boolean",
"description": "Meteor global variables"
},
"mocha": {
"type": "boolean",
"description": "adds all of the Mocha test global variables"
},
"mongo": {
"type": "boolean",
"description": "MongoDB global variables"
},
"nashorn": {
"type": "boolean",
"description": "Java 8 Nashorn global variables"
},
"node": {
"type": "boolean",
"description": "Node.js global variables and Node.js scoping"
},
"phantomjs": {
"type": "boolean",
"description": "PhantomJS global variables"
},
"prototypejs": {
"type": "boolean",
"description": "Prototype.js global variables"
},
"protractor": {
"type": "boolean",
"description": "Protractor global variables"
},
"qunit": {
"type": "boolean",
"description": "QUnit global variables"
},
"serviceworker": {
"type": "boolean",
"description": "Service Worker global variables"
},
"shelljs": {
"type": "boolean",
"description": "ShellJS global variables"
},
"webextensions": {
"type": "boolean",
"description": "WebExtensions globals"
},
"worker": {
"type": "boolean",
"description": "web workers global variables"
}
}
},
"extends": {
"description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"globals": {
"description": "Set each global variable name equal to true to allow the variable to be overwritten or false to disallow overwriting.",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"enum": [
"readonly", "writable", "off"
]
},
{
"description": "The values false|\"readable\" and true|\"writeable\" are deprecated, they are equivalent to \"readonly\" and \"writable\", respectively.",
"type": "boolean"
}
]
}
},
"noInlineConfig": {
"description": "Prevent comments from changing config or rules",
"type": "boolean"
},
"parser": {
"type": "string"
},
"parserOptions": {
"description": "The JavaScript language options to be supported",
"type": "object",
"properties": {
"ecmaFeatures": {
"$ref": "#/properties/ecmaFeatures"
},
"ecmaVersion": {
"enum": [ 3, 5, 6, 2015, 7, 2016, 8, 2017, 9, 2018, 10, 2019, 11, 2020, 12, 2021, 13, 2022, "latest" ],
"default": 11,
"description": "Set to 3, 5, 6, 7, 8, 9, 10, 11 (default), 12, 13 or \"latest\" to specify the version of ECMAScript syntax you want to use. You can also set to 2015 (same as 6), 2016 (same as 7), 2017 (same as 8), 2018 (same as 9), 2019 (same as 10), 2020 (same as 11) or 2021 (same as 12) or 2022 (same as 13) to use the year-based naming. \"latest\" always enables the latest supported ECMAScript version."
},
"sourceType": {
"enum": [ "script", "module" ],
"default": "script",
"description": "set to \"script\" (default) or \"module\" if your code is in ECMAScript modules"
}
}
},
"plugins": {
"description": "ESLint supports the use of third-party plugins. Before using the plugin, you have to install it using npm.",
"type": "array",
"items": {
"type": "string"
}
},
"root": {
"description": "By default, ESLint will look for configuration files in all parent folders up to the root directory. This can be useful if you want all of your projects to follow a certain convention, but can sometimes lead to unexpected results. To limit ESLint to a specific project, set this to `true` in a configuration in the root of your project.",
"type": "boolean"
},
"ignorePatterns": {
"description": "Tell ESLint to ignore specific files and directories. Each value uses the same pattern as the `.eslintignore` file.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"rules": {
"description": "ESLint comes with a large number of rules. You can modify which rules your project uses either using configuration comments or configuration files.",
"type": "object",
"allOf": [
{ "$ref": "#/definitions/possibleErrors" },
{ "$ref": "#/definitions/bestPractices" },
{ "$ref": "#/definitions/strictMode" },
{ "$ref": "#/definitions/variables" },
{ "$ref": "#/definitions/nodeAndCommonJs" },
{ "$ref": "#/definitions/stylisticIssues" },
{ "$ref": "#/definitions/ecmaScript6" },
{ "$ref": "#/definitions/legacy" }
]
},
"settings": {
"description": "ESLint supports adding shared settings into configuration file. You can add settings object to ESLint configuration file and it will be supplied to every rule that will be executed. This may be useful if you are adding custom rules and want them to have access to the same information and be easily configurable.",
"type": "object"
},
"overrides": {
"type": "array",
"description": "Allows to override configuration for files and folders, specified by glob patterns",
"items": {
"type": "object",
"properties": {
"files": {
"description": "Glob pattern for files to apply 'overrides' configuration, relative to the directory of the config file",
"oneOf": [
{
"type": "string"
},
{
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
]
},
"extends": {
"description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"excludedFiles": {
"description": "If a file matches any of the 'excludedFiles' glob patterns, the 'overrides' configuration won’t apply",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"ecmaFeatures": {
"$ref": "#/properties/ecmaFeatures"
},
"env": {
"$ref": "#/properties/env"
},
"globals": {
"$ref": "#/properties/globals"
},
"parser": {
"$ref": "#/properties/parser"
},
"parserOptions": {
"$ref": "#/properties/parserOptions"
},
"plugins": {
"$ref": "#/properties/plugins"
},
"processor": {
"description": "To specify a processor, specify the plugin name and processor name joined by a forward slash",
"type": "string"
},
"rules": {
"$ref": "#/properties/rules"
},
"settings": {
"$ref": "#/properties/settings"
}
},
"additionalProperties": false,
"required": [
"files"
]
}
}
}
}
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Schema for .prettierrc",
"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": ["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": [],
"type": "array",
"items": { "type": "string" }
},
"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"
},
"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
}
}
}
}
},
"oneOf": [
{
"type": "object",
"allOf": [
{ "$ref": "#/definitions/optionsDefinition" },
{ "$ref": "#/definitions/overridesDefinition" }
]
},
{ "type": "string" }
]
}
{
"$id": "https://github.com/microsoft/terminal/blob/main/doc/cascadia/profiles.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Microsoft's Windows Terminal Settings Profile Schema",
"$defs": {
"KeyChordSegment": {
"pattern": "^(?:(?:ctrl|alt|shift|win)\\+)*(?:app|backspace|browser_(?:back|forward|refresh|stop|search|favorites|home)|comma|delete|down|end|enter|esc|escape|home|insert|left|menu|minus|pagedown|pageup|period|pgdn|pgup|plus|right|space|tab|up|f(?:1\\d?|2[0-4]?|[3-9])|numpad\\d|numpad_(?:\\d|add|decimal|divide|minus|multiply|period|plus|subtract)|(?:vk|sc)\\((?:[1-9]|1?\\d{2}|2[0-4]\\d|25[0-5])\\)|[^\\s+])(?:\\+(?:ctrl|alt|shift|win))*$",
"type": "string",
"description": "The string should fit the format \"[ctrl+][alt+][shift+][win+]<KeyName>\", where each modifier is optional. KeyName is either any single key character, an explicit virtual key or scan code in the form vk(nnn) and sc(nnn) respectively, or one of the special names listed at https://docs.microsoft.com/en-us/windows/terminal/customize-settings/actions#accepted-modifiers-and-keys"
},
"Color": {
"default": "#",
"pattern": "^#[A-Fa-f0-9]{3}(?:[A-Fa-f0-9]{3})?$",
"type": "string",
"format": "color"
},
"Coordinates": {
"pattern": "^(-?\\d+)?(,\\s?(-?\\d+)?)?$",
"type": "string"
},
"DynamicProfileSource": {
"enum": [
"Windows.Terminal.Wsl",
"Windows.Terminal.Azure",
"Windows.Terminal.PowershellCore"
],
"type": "string"
},
"BellStyle": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"enum": [
"audible",
"window",
"taskbar"
]
}
},
{
"type": "string",
"enum": [
"audible",
"taskbar",
"window",
"all",
"none"
]
}
]
},
"AppearanceConfig": {
"properties": {
"colorScheme": {
"description": "The name of a color scheme to use when unfocused.",
"type": "string"
},
"foreground": {
"$ref": "#/$defs/Color",
"default": "#cccccc",
"description": "Sets the text color when unfocused. Overrides \"foreground\" from the color scheme. Uses hex color format: \"#rrggbb\".",
"type": [
"string",
"null"
]
},
"background": {
"$ref": "#/$defs/Color",
"default": "#0c0c0c",
"description": "Sets the background color of the text when unfocused. Overrides \"background\" from the color scheme. Uses hex color format: \"#rrggbb\".",
"type": [
"string",
"null"
]
},
"selectionBackground": {
"oneOf": [
{
"$ref": "#/$defs/Color"
},
{
"type": "null"
}
],
"description": "Sets the background color of selected text when unfocused. Overrides selectionBackground set in the color scheme. Uses hex color format: \"#rrggbb\"."
},
"cursorColor": {
"oneOf": [
{
"$ref": "#/$defs/Color"
},
{
"type": "null"
}
],
"description": "Sets the color of the cursor when unfocused. Overrides the cursor color from the color scheme. Uses hex color format: \"#rrggbb\"."
},
"cursorShape": {
"default": "bar",
"description": "Sets the shape of the cursor when unfocused. Possible values:\n -\"bar\" ( ┃, default )\n -\"doubleUnderscore\" ( ‗ )\n -\"emptyBox\" ( ▯ )\n -\"filledBox\" ( █ )\n -\"underscore\" ( ▁ )\n -\"vintage\" ( ▃ )",
"enum": [
"bar",
"doubleUnderscore",
"emptyBox",
"filledBox",
"underscore",
"vintage"
],
"type": "string"
},
"cursorHeight": {
"description": "Sets the percentage height of the cursor (when unfocused) starting from the bottom. Only works when cursorShape is set to \"vintage\". Accepts values from 1-100.",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
],
"default": 25
},
"backgroundImage": {
"description": "Sets the file location of the image to draw over the window background when unfocused.",
"oneOf": [
{
"type": [
"string",
"null"
]
},
{
"enum": [
"desktopWallpaper"
]
}
],
"type": [
"string",
"null"
]
},
"backgroundImageOpacity": {
"default": 1.0,
"description": "Sets the transparency of the background image when unfocused. Accepts floating point values from 0-1.",
"maximum": 1.0,
"minimum": 0.0,
"type": "number"
},
"backgroundImageStretchMode": {
"default": "uniformToFill",
"description": "Sets how the background image is resized to fill the window when unfocused.",
"enum": [
"fill",
"none",
"uniform",
"uniformToFill"
],
"type": "string"
},
"backgroundImageAlignment": {
"default": "center",
"enum": [
"bottom",
"bottomLeft",
"bottomRight",
"center",
"left",
"right",
"top",
"topLeft",
"topRight"
],
"description": "Sets how the background image aligns to the boundaries of the window when unfocused. Possible values: \"center\", \"left\", \"top\", \"right\", \"bottom\", \"topLeft\", \"topRight\", \"bottomLeft\", \"bottomRight\"",
"type": "string"
},
"intenseTextStyle": {
"default": "bright",
"description": "Controls how 'intense' text is rendered. Values are \"bold\", \"bright\", \"all\" and \"none\"",
"enum": [
"none",
"bold",
"bright",
"all"
],
"type": "string"
},
"adjustIndistinguishableColors": {
"description": "When set to true, we will (when necessary) adjust the foreground color to make it more visible, based on the background color.",
"type": "boolean"
},
"experimental.retroTerminalEffect": {
"description": "When set to true, enable retro terminal effects when unfocused. This is an experimental feature, and its continued existence is not guaranteed.",
"type": "boolean"
},
"experimental.pixelShaderPath": {
"description": "Use to set a path to a pixel shader to use with the Terminal when unfocused. Overrides `experimental.retroTerminalEffect`. This is an experimental feature, and its continued existence is not guaranteed.",
"type": "string"
}
},
"type": "object"
},
"FontConfig": {
"properties": {
"face": {
"default": "Cascadia Mono",
"description": "Name of the font face used in the profile.",
"type": "string"
},
"size": {
"default": 12,
"description": "Size of the font in points.",
"minimum": 1,
"type": "integer"
},
"weight": {
"default": "normal",
"description": "Sets the weight (lightness or heaviness of the strokes) for the given font. Possible values:\n -\"thin\"\n -\"extra-light\"\n -\"light\"\n -\"semi-light\"\n -\"normal\" (default)\n -\"medium\"\n -\"semi-bold\"\n -\"bold\"\n -\"extra-bold\"\n -\"black\"\n -\"extra-black\"\n or the corresponding numeric representation of OpenType font weight.",
"oneOf": [
{
"enum": [
"thin",
"extra-light",
"light",
"semi-light",
"normal",
"medium",
"semi-bold",
"bold",
"extra-bold",
"black",
"extra-black"
],
"type": "string"
},
{
"maximum": 990,
"minimum": 100,
"type": "integer"
}
]
},
"features": {
"description": "Sets the DWrite font features for the given font. For example, { \"ss01\": 1, \"liga\":0 } will enable ss01 and disable ligatures.",
"type": "object",
"patternProperties": {
"^(([A-Za-z0-9]){4})$": {
"type": "integer"
}
},
"additionalProperties": false
},
"axes": {
"description": "Sets the DWrite font axes for the given font. For example, { \"wght\": 200 } will set the font weight to 200.",
"type": "object",
"patternProperties": {
"^([A-Za-z]{4})$": {
"type": "number"
}
},
"additionalProperties": false
}
},
"type": "object"
},
"ProfileGuid": {
"default": "{}",
"pattern": "^\\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\}$",
"type": "string"
},
"Icon": {
"description": "Image file location or an emoji to be used as an icon. Displays within the tab, the dropdown menu, and jumplist.",
"type": [
"string",
"null"
]
},
"ShortcutActionName": {
"enum": [
"adjustFontSize",
"clearBuffer",
"closeOtherTabs",
"closePane",
"closeTab",
"closeTabsAfter",
"closeWindow",
"commandPalette",
"copy",
"duplicateTab",
"exportBuffer",
"find",
"findMatch",
"focusPane",
"globalSummon",
"identifyWindow",
"identifyWindows",
"moveFocus",
"movePane",
"swapPane",
"moveTab",
"multipleActions",
"newTab",
"newWindow",
"nextTab",
"openNewTabDropdown",
"openSettings",
"openTabColorPicker",
"openWindowRenamer",
"paste",
"prevTab",
"renameTab",
"openSystemMenu",
"openTabRenamer",
"quakeMode",
"resetFontSize",
"resizePane",
"renameWindow",
"scrollDown",
"scrollDownPage",
"scrollUp",
"scrollUpPage",
"scrollToBottom",
"scrollToTop",
"sendInput",
"setColorScheme",
"setTabColor",
"splitPane",
"switchToTab",
"tabSearch",
"toggleAlwaysOnTop",
"toggleFocusMode",
"setFocusMode",
"toggleFullscreen",
"setFullScreen",
"setMaximized",
"togglePaneZoom",
"toggleSplitOrientation",
"toggleReadOnlyMode",
"toggleShaderEffects",
"wt",
"quit",
"adjustOpacity",
"restoreLastClosed",
"unbound"
],
"type": "string"
},
"FocusDirection": {
"enum": [
"left",
"right",
"up",
"down",
"previous",
"nextInOrder",
"previousInOrder",
"first",
"parent",
"child"
],
"type": "string"
},
"ResizeDirection": {
"enum": [
"left",
"right",
"up",
"down"
],
"type": "string"
},
"MoveTabDirection": {
"enum": [
"forward",
"backward"
],
"type": "string"
},
"FindMatchDirection": {
"enum": [
"next",
"prev"
],
"type": "string"
},
"SplitDirection": {
"enum": [
"auto",
"up",
"right",
"down",
"left"
],
"type": "string"
},
"CopyFormat": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"enum": [
"html",
"rtf"
]
}
},
{
"type": "string",
"enum": [
"html",
"rtf",
"all",
"none"
]
}
]
},
"AnchorKey": {
"enum": [
"ctrl",
"alt",
"shift"
],
"type": "string"
},
"CommandPaletteLaunchMode": {
"enum": [
"action",
"commandLine"
],
"type": "string"
},
"ClearBufferType": {
"enum": [
"all",
"screen",
"scrollback"
],
"type": "string"
},
"NewTerminalArgs": {
"properties": {
"commandline": {
"description": "A commandline to use instead of the profile's",
"type": "string"
},
"tabTitle": {
"description": "An initial tabTitle to use instead of the profile's",
"type": "string"
},
"startingDirectory": {
"description": "A startingDirectory to use instead of the profile's",
"type": "string"
},
"profile": {
"description": "Either the GUID or name of a profile to use, instead of launching the default",
"type": "string"
},
"index": {
"type": "integer",
"description": "The index of the profile in the new tab dropdown (starting at 0)"
},
"tabColor": {
"$ref": "#/$defs/Color",
"default": null,
"description": "If provided, will set the tab's color to the given value"
},
"suppressApplicationTitle": {
"type": "boolean",
"default": false,
"description": "When set to true, tabTitle overrides the default title of the tab and any title change messages from the application will be suppressed. When set to false, tabTitle behaves as normal"
},
"colorScheme": {
"description": "The name of a color scheme to use, instead of the one specified by the profile",
"type": "string"
},
"elevate": {
"type": "boolean",
"default": false,
"description": "This will override the profile's `elevate` setting."
},
},
"type": "object"
},
"SwitchToAdjacentTabArgs": {
"oneOf": [
{
"type": "null"
},
{
"enum": [
"mru",
"inOrder",
"disabled"
],
"type": "string"
}
]
},
"ShortcutAction": {
"properties": {
"action": {
"description": "The action to execute",
"$ref": "#/$defs/ShortcutActionName"
}
},
"required": [
"action"
],
"type": "object"
},
"AdjustFontSizeAction": {
"description": "Arguments corresponding to an Adjust Font Size Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "adjustFontSize"
},
"delta": {
"type": "integer",
"default": 0,
"description": "How much to change the current font point size"
}
}
}
],
"required": [
"delta"
]
},
"CopyAction": {
"description": "Arguments corresponding to a Copy Text Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "copy"
},
"singleLine": {
"type": "boolean",
"default": false,
"description": "If true, the copied content will be copied as a single line (even if there are hard line breaks present in the text). If false, newlines persist from the selected text."
},
"copyFormatting": {
"default": null,
"description": "When set to `true`, the color and font formatting of selected text is also copied to your clipboard. When set to `false`, only plain text is copied to your clipboard. An array of specific formats can also be used. Supported array values include `html` and `rtf`. Plain text is always copied. Not setting this value inherits the behavior of the `copyFormatting` global setting.",
"oneOf": [
{
"$ref": "#/$defs/CopyFormat"
},
{
"type": "null"
}
]
}
}
}
]
},
"NewTabAction": {
"description": "Arguments corresponding to a New Tab Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"$ref": "#/$defs/NewTerminalArgs"
},
{
"properties": {
"action": {
"type": "string",
"const": "newTab"
}
}
}
]
},
"SwitchToTabAction": {
"description": "Arguments corresponding to a Switch To Tab Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "switchToTab"
},
"index": {
"type": "integer",
"default": 0,
"description": "Which tab to switch to, with the first being 0"
}
}
}
],
"required": [
"index"
]
},
"MovePaneAction": {
"description": "Arguments corresponding to a Move Pane Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "movePane"
},
"index": {
"type": "integer",
"default": 0,
"description": "Which tab to move the pane to, with the first being 0"
}
}
}
],
"required": [
"index"
]
},
"MoveFocusAction": {
"description": "Arguments corresponding to a Move Focus Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "moveFocus"
},
"direction": {
"$ref": "#/$defs/FocusDirection",
"default": "left",
"description": "The direction to move focus in, between panes. Direction can be 'previous' to move to the most recently used pane, 'nextInOrder' or 'previousInOrder' to move to the next or previous pane, 'first' to focus the first pane, or 'parent' or 'child' to move up and down the tree."
}
}
}
],
"required": [
"direction"
]
},
"SwapPaneAction": {
"description": "Arguments corresponding to a Swap Pane Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "swapPane"
},
"direction": {
"$ref": "#/$defs/FocusDirection",
"default": "left",
"description": "The direction to move the focus pane in, swapping panes. Direction can be 'previous' to swap with the most recently used pane, 'nextInOrder' or 'previousInOrder' to move to the next or previous pane, or 'first' to swap with the first pane."
}
}
}
],
"required": [
"direction"
]
},
"ResizePaneAction": {
"description": "Arguments corresponding to a Resize Pane Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "resizePane"
},
"direction": {
"$ref": "#/$defs/ResizeDirection",
"default": "left",
"description": "The direction to move the pane separator in."
}
}
}
],
"required": [
"direction"
]
},
"SendInputAction": {
"description": "Arguments corresponding to a Send Input Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "sendInput"
},
"input": {
"type": "string",
"default": "",
"description": "The text input to feed into the shell. ANSI escape sequences may be used. Escape codes like \\x1b must be written as \\u001b."
}
}
}
],
"required": [
"input"
]
},
"SplitPaneAction": {
"description": "Arguments corresponding to a Split Pane Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"$ref": "#/$defs/NewTerminalArgs"
},
{
"properties": {
"action": {
"type": "string",
"const": "splitPane"
},
"split": {
"$ref": "#/$defs/SplitDirection",
"default": "auto",
"description": "The orientation to split the pane in. Possible values:\n -\"auto\" (splits pane based on remaining space)\n -\"up\" (think [-] and above)\n -\"down\" (think [-] and below)\n -\"left\" (think [|] and to the left)\n -\"right\"(think [|] and to the right)"
},
"splitMode": {
"default": "duplicate",
"description": "Control how the pane splits. Only accepts \"duplicate\" which will duplicate the focused pane's profile into a new pane."
},
"size": {
"default": 0.5,
"description": "Specify how large the new pane should be, as a fraction of the current pane's size. 1.0 would be 'all of the current pane', and 0.0 is 'None of the parent'. Accepts floating point values from 0-1 (default 0.5).",
"maximum": 1,
"minimum": 0,
"type": "number"
}
}
}
]
},
"OpenSettingsAction": {
"description": "Arguments corresponding to a Open Settings Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "openSettings"
},
"target": {
"type": "string",
"default": "settingsUI",
"description": "Opens Settings UI or settings file.",
"enum": [
"settingsFile",
"defaultsFile",
"allFiles",
"settingsUI"
]
}
}
}
]
},
"SetTabColorAction": {
"description": "Arguments corresponding to a Set Tab Color Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "setTabColor"
},
"color": {
"$ref": "#/$defs/Color",
"default": null,
"description": "If provided, will set the tab's color to the given value. If omitted, will reset the tab's color."
}
}
}
]
},
"SetColorSchemeAction": {
"description": "Arguments corresponding to a Set Color Scheme Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "setColorScheme"
},
"colorScheme": {
"type": "string",
"default": "",
"description": "the name of the scheme to apply to the active pane"
}
}
}
],
"required": [
"colorScheme"
]
},
"SetFocusModeAction": {
"description": "Arguments for a setFocusMode action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "setFocusMode"
},
"isFocusMode": {
"type": "boolean",
"description": "whether focus mode is enabled"
}
}
}
],
},
"SetFullScreenAction": {
"description": "Arguments for a setFullScreen action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "setFullScreen"
},
"isFullScreen": {
"type": "boolean",
"description": "whether the window should be full screen"
}
}
}
],
},
"SetMaximizedAction": {
"description": "Arguments for a setMaximized action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "setMaximized"
},
"isMaximized": {
"type": "boolean",
"description": "whether the window should be maximized"
}
}
}
],
},
"WtAction": {
"description": "Arguments corresponding to a wt Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "wt"
},
"commandline": {
"type": "string",
"default": "",
"description": "a `wt` commandline to run in the current window"
}
}
}
],
"required": [
"commandline"
]
},
"CloseOtherTabsAction": {
"description": "Arguments for a closeOtherTabs action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "closeOtherTabs"
},
"index": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Close the tabs other than the one at this index. If no index is provided, use the focused tab's index."
}
}
}
]
},
"CloseTabsAfterAction": {
"description": "Arguments for a closeTabsAfter action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "closeTabsAfter"
},
"index": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Close the tabs following the tab at this index. If no index is provided, use the focused tab's index."
}
}
}
]
},
"CloseTabAction": {
"description": "Arguments for a closeTab action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "closeTab"
},
"index": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Close the tab at this index. If no index is provided, use the focused tab's index."
}
}
}
]
},
"ScrollUpAction": {
"description": "Arguments for a scrollUp action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "scrollUp"
},
"rowsToScroll": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Scroll up rowsToScroll lines. If no value is provided, use the system-level defaults."
}
}
}
]
},
"ScrollDownAction": {
"description": "Arguments for a scrollDown action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "scrollDown"
},
"rowsToScroll": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Scroll down rowsToScroll lines. If no value is provided, use the system-level defaults."
}
}
}
]
},
"MoveTabAction": {
"description": "Arguments for moving a tab",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "moveTab"
},
"direction": {
"$ref": "#/$defs/MoveTabDirection",
"description": "The direction to move the tab"
}
}
}
],
"required": [
"direction"
]
},
"MultipleActionsAction": {
"description": "Arguments for the multiple actions command",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "multipleActions"
},
"actions": {
"$ref": "#/$defs/ShortcutAction",
"type": "array",
"minItems": 1,
"description": "A list of other actions."
}
}
}
],
"required": [
"actions"
]
},
"CommandPaletteAction": {
"description": "Arguments for a commandPalette action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "commandPalette"
},
"launchMode": {
"$ref": "#/$defs/CommandPaletteLaunchMode",
"default": "action",
"description": "Toggle command palette in either action or command line mode. If no value is provided, the palette will launch in action mode."
}
}
}
]
},
"FindMatchAction": {
"description": "Arguments corresponding to a Find Match Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "findMatch"
},
"direction": {
"$ref": "#/$defs/FindMatchDirection",
"default": "prev",
"description": "The direction to search in. \"prev\" will search upwards in the buffer, and \"next\" will search downwards."
}
}
}
],
"required": [
"direction"
]
},
"NewWindowAction": {
"description": "Arguments corresponding to a New Window Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"$ref": "#/$defs/NewTerminalArgs"
},
{
"properties": {
"action": {
"type": "string",
"const": "newWindow"
}
}
}
]
},
"PrevTabAction": {
"description": "Arguments corresponding to a Previous Tab Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "prevTab"
},
"tabSwitcherMode": {
"$ref": "#/$defs/SwitchToAdjacentTabArgs",
"default": null,
"description": "Move to the previous tab using \"tabSwitcherMode\". If no mode is provided, use the one globally defined one."
}
}
}
]
},
"NextTabAction": {
"description": "Arguments corresponding to a Next Tab Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "nextTab"
},
"tabSwitcherMode": {
"$ref": "#/$defs/SwitchToAdjacentTabArgs",
"default": null,
"description": "Move to the next tab using \"tabSwitcherMode\". If no mode is provided, use the one globally defined one."
}
}
}
]
},
"RenameTabAction": {
"description": "Arguments corresponding to a renameTab Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "renameTab"
},
"title": {
"type": "string",
"default": "",
"description": "A title to assign to the tab. If omitted or null, this action will restore the tab's title to the original value."
}
}
}
]
},
"RenameWindowAction": {
"description": "Arguments corresponding to a renameWindow Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "renameWindow"
},
"name": {
"type": "string",
"default": "",
"description": "A name to assign to the window."
}
}
}
]
},
"FocusPaneAction": {
"description": "Arguments corresponding to a focusPane Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "focusPane"
},
"id": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "The ID of the pane to focus"
}
}
}
]
},
"ClearBufferAction": {
"description": "Arguments corresponding to a clearBuffer Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "clearBuffer"
},
"clear": {
"$ref": "#/$defs/ClearBufferType",
"default": "all",
"description": "What to clear. Accepts one of `screen`, `scrollback` or `all` (for both)."
}
}
}
]
},
"ExportBufferAction": {
"description": "Arguments corresponding to a exportBuffer Action",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "exportBuffer"
},
"path": {
"type": "string",
"default": "",
"description": "The path to export the text buffer to. If left blank, the Terminal will open a file picker to choose the path."
}
}
}
]
},
"GlobalSummonAction": {
"description": "This is a special action that works globally in the OS, rather than only in the context of the terminal window. When pressed, this action will summon the terminal window.",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "globalSummon"
},
"desktop": {
"type": "string",
"default": "toCurrent",
"description": "This controls how the terminal should interact with virtual desktops.\n- \"any\": Leave the window on whichever desktop it's already on - will switch to that desktop as the window is activated.\n- \"toCurrent\" (default): Move the window to the current virtual desktop.\n- \"onCurrent\": Only summon the window if it's already on the current virtual desktop. ",
"enum": [
"any",
"toCurrent",
"onCurrent"
]
},
"monitor": {
"type": "string",
"default": "toMouse",
"description": "This controls the monitor that the window will be summoned from/to.\n- \"any\": Summon the most recently used window, regardless of which monitor it's currently on.\n- \"toCurrent\": Summon the most recently used window to the monitor with the current foreground window.\n- \"toMouse\" (default): Summon the most recently used window to the monitor where the mouse cursor is.",
"enum": [
"any",
"toCurrent",
"toMouse"
]
},
"name": {
"type": "string",
"description": "When provided, summon the window whose name or ID matches the given name value. If no such window exists, then create a new window with that name."
},
"dropdownDuration": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "When provided with a positive number, \"slide\" the window in from the top of the screen using an animation that lasts dropdownDuration milliseconds."
},
"toggleVisibility": {
"type": "boolean",
"default": true,
"description": "When true, pressing the assigned keys for this action will dismiss (minimize) the window when the window is currently the foreground window."
}
}
}
]
},
"QuakeModeAction": {
"description": "This action is a special variation of the globalSummon action. It specifically summons a window called \"_quake\". If you would like to change the behavior of the quakeMode action, we recommended creating a new globalSummon entry.",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "quakeMode"
}
}
}
]
},
"AdjustOpacityAction": {
"description": "Changes the opacity of the active Terminal window. If `relative` is specified, then this action will increase/decrease relative to the current opacity.",
"allOf": [
{
"$ref": "#/$defs/ShortcutAction"
},
{
"properties": {
"action": {
"type": "string",
"const": "adjustOpacity"
},
"opacity": {
"type": "integer",
"minimum": -100,
"maximum": 100,
"default": 0,
"description": "How opaque the terminal should become or how much the opacity should be changed by, depending on the value of `relative`"
},
"relative": {
"type": "boolean",
"default": true,
"description": "If true, then adjust the current opacity by the given `opacity` parameter, additively. If false, set the opacity to exactly that value."
}
}
}
]
},
"Keybinding": {
"additionalProperties": false,
"properties": {
"command": {
"description": "The action executed when the associated key bindings are pressed.",
"oneOf": [
{
"$ref": "#/$defs/AdjustFontSizeAction"
},
{
"$ref": "#/$defs/CopyAction"
},
{
"$ref": "#/$defs/ShortcutActionName"
},
{
"$ref": "#/$defs/NewTabAction"
},
{
"$ref": "#/$defs/SwitchToTabAction"
},
{
"$ref": "#/$defs/MoveFocusAction"
},
{
"$ref": "#/$defs/MovePaneAction"
},
{
"$ref": "#/$defs/SwapPaneAction"
},
{
"$ref": "#/$defs/ResizePaneAction"
},
{
"$ref": "#/$defs/SendInputAction"
},
{
"$ref": "#/$defs/SplitPaneAction"
},
{
"$ref": "#/$defs/OpenSettingsAction"
},
{
"$ref": "#/$defs/SetTabColorAction"
},
{
"$ref": "#/$defs/SetColorSchemeAction"
},
{
"$ref": "#/$defs/WtAction"
},
{
"$ref": "#/$defs/CloseOtherTabsAction"
},
{
"$ref": "#/$defs/CloseTabsAfterAction"
},
{
"$ref": "#/$defs/CloseTabAction"
},
{
"$ref": "#/$defs/ScrollUpAction"
},
{
"$ref": "#/$defs/ScrollDownAction"
},
{
"$ref": "#/$defs/MoveTabAction"
},
{
"$ref": "#/$defs/MultipleActionsAction"
},
{
"$ref": "#/$defs/CommandPaletteAction"
},
{
"$ref": "#/$defs/FindMatchAction"
},
{
"$ref": "#/$defs/NewWindowAction"
},
{
"$ref": "#/$defs/NextTabAction"
},
{
"$ref": "#/$defs/PrevTabAction"
},
{
"$ref": "#/$defs/RenameTabAction"
},
{
"$ref": "#/$defs/RenameWindowAction"
},
{
"$ref": "#/$defs/FocusPaneAction"
},
{
"$ref": "#/$defs/ExportBufferAction"
},
{
"$ref": "#/$defs/ClearBufferAction"
},
{
"$ref": "#/$defs/GlobalSummonAction"
},
{
"$ref": "#/$defs/QuakeModeAction"
},
{
"$ref": "#/$defs/AdjustOpacityAction"
},
{
"type": "null"
}
]
},
"keys": {
"description": "Defines the key combinations used to call the command. It must be composed of...\n -any number of modifiers (ctrl/alt/shift)\n -a non-modifier key",
"oneOf": [
{
"$ref": "#/$defs/KeyChordSegment"
},
{
"items": {
"$ref": "#/$defs/KeyChordSegment"
},
"minItems": 1,
"type": "array"
}
]
},
"icon": {
"$ref": "#/$defs/Icon"
},
"name": {
"description": "The name that will appear in the command palette. If one isn't provided, the terminal will attempt to automatically generate a name.\nIf name is a string, it will be the name of the command.\nIf name is a object, the key property of the object will be used to lookup a localized string resource for the command",
"properties": {
"key": {
"type": "string"
}
},
"type": [
"string",
"object",
"null"
]
},
"iterateOn": {
"type": "string",
"description": "Used to create iterable commands based on other objects in your settings. Possible values:\n- \"profiles\" \n- \"schemes\"",
"enum": [
"profiles",
"schemes"
]
},
"commands": {
"description": "List of commands to execute",
"items": {
"$ref": "#/$defs/Keybinding/properties/command"
},
"minItems": 1,
"type": "array"
}
},
"anyOf": [
{
"required": [
"name",
"commands"
]
},
{
"required": [
"command"
]
}
],
"type": "object"
},
"Globals": {
"additionalProperties": true,
"description": "Properties that affect the entire window, regardless of the profile settings.",
"properties": {
"alwaysOnTop": {
"default": false,
"description": "When set to true, the window is created on top of all other windows. If multiple windows are all \"always on top\", the most recently focused one will be the topmost",
"type": "boolean"
},
"alwaysShowTabs": {
"default": true,
"description": "When set to true, tabs are always displayed. When set to false and \"showTabsInTitlebar\" is set to false, tabs only appear after opening a new tab.",
"type": "boolean"
},
"centerOnLaunch": {
"default": false,
"description": "When set to `true`, the terminal window will auto-center itself on the display it opens on. The terminal will use the \"initialPosition\" to determine which display to open on.",
"type": "boolean"
},
"inputServiceWarning": {
"default": true,
"description": "Warning if 'Touch Keyboard and Handwriting Panel Service' is disabled.",
"type": "boolean"
},
"copyOnSelect": {
"default": false,
"description": "When set to true, a selection is immediately copied to your clipboard upon creation. When set to false, the selection persists and awaits further action.",
"type": "boolean"
},
"focusFollowMouse": {
"default": false,
"description": "When set to true, the terminal will focus the pane on mouse hover.",
"type": "boolean"
},
"copyFormatting": {
"default": true,
"description": "When set to `true`, the color and font formatting of selected text is also copied to your clipboard. When set to `false`, only plain text is copied to your clipboard. An array of specific formats can also be used. Supported array values include `html` and `rtf`. Plain text is always copied.",
"$ref": "#/$defs/CopyFormat"
},
"trimBlockSelection": {
"default": false,
"description": "When set to true, trailing white-spaces will be removed from text in rectangular (block) selection while copied to your clipboard. When set to false, the white-spaces will be preserved.",
"type": "boolean"
},
"trimPaste": {
"default": true,
"description": "When enabled, the Terminal will automatically trim trailing whitespace characters when pasting text",
"type": "boolean"
},
"experimental.detectURLs": {
"default": true,
"description": "When set to true, URLs will be detected by the Terminal. This will cause URLs to underline on hover and be clickable by pressing Ctrl.",
"type": "boolean"
},
"disableAnimations": {
"default": false,
"description": "When set to `true`, visual animations will be disabled across the application.",
"type": "boolean"
},
"largePasteWarning": {
"default": true,
"description": "When set to true, trying to paste text with more than 5 KiB of characters will display a warning asking you whether to continue or not with the paste.",
"type": "boolean"
},
"multiLinePasteWarning": {
"default": true,
"description": "When set to true, trying to paste text with a \"new line\" character will display a warning asking you whether to continue or not with the paste.",
"type": "boolean"
},
"defaultProfile": {
"description": "Sets the default profile. Opens by clicking the \"+\" icon or typing the key binding assigned to \"newTab\".",
"type": "string"
},
"startupActions": {
"description": "Sets the list of actions to apply if no command line is provided. Uses the same format as command line arguments",
"type": "string"
},
"disabledProfileSources": {
"description": "Disables all the dynamic profile generators in this list, preventing them from adding their profiles to the list of profiles on startup.",
"items": {
"$ref": "#/$defs/DynamicProfileSource"
},
"type": "array"
},
"experimental.rendering.forceFullRepaint": {
"description": "When set to true, we will redraw the entire screen each frame. When set to false, we will render only the updates to the screen between frames.",
"type": "boolean"
},
"experimental.rendering.software": {
"description": "When set to true, we will use the software renderer (a.k.a. WARP) instead of the hardware one.",
"type": "boolean"
},
"experimental.input.forceVT": {
"description": "Force the terminal to use the legacy input encoding. Certain keys in some applications may stop working when enabling this setting.",
"type": "boolean"
},
"initialCols": {
"default": 120,
"description": "The number of columns displayed in the window upon first load. If \"launchMode\" is set to \"maximized\" (or \"maximizedFocus\"), this property is ignored.",
"maximum": 999,
"minimum": 1,
"type": "integer"
},
"initialPosition": {
"$ref": "#/$defs/Coordinates",
"description": "The position of the top left corner of the window upon first load. On a system with multiple displays, these coordinates are relative to the top left of the primary display. If \"launchMode\" is set to \"maximized\" (or \"maximizedFocus\"), the window will be maximized on the monitor specified by those coordinates."
},
"initialRows": {
"default": 30,
"description": "The number of rows displayed in the window upon first load. If \"launchMode\" is set to \"maximized\" (or \"maximizedFocus\"), this property is ignored.",
"maximum": 999,
"minimum": 1,
"type": "integer"
},
"startOnUserLogin": {
"default": false,
"description": "When set to true, this enables the launch of Terminal at startup. Setting this to false will disable the startup task entry. If the Terminal startup task entry is disabled either by org policy or by user action this setting will have no effect.",
"type": "boolean"
},
"firstWindowPreference": {
"default": "defaultProfile",
"description": "Defines what behavior the terminal takes when it starts. \"defaultProfile\" will have the terminal launch with one tab of the default profile, and \"persistedWindowLayout\" will cause the terminal to save its layout on close and reload it on open.",
"enum": [
"defaultProfile",
"persistedWindowLayout"
],
"type": "string"
},
"launchMode": {
"default": "default",
"description": "Defines whether the terminal will launch as maximized, full screen, or in a window. Setting this to \"focus\" is equivalent to launching the terminal in the \"default\" mode, but with the focus mode enabled. Similar, setting this to \"maximizedFocus\" will result in launching the terminal in a maximized window with the focus mode enabled.",
"enum": [
"fullscreen",
"maximized",
"default",
"focus",
"maximizedFocus"
],
"type": "string"
},
"rowsToScroll": {
"default": "system",
"description": "This parameter once allowed you to override the systemwide \"choose how many lines to scroll at one time\" setting. It no longer does so. However, you can customize the number of lines to scroll in \"scrollUp\" and \"scrollDown\" bindings.",
"maximum": 999,
"minimum": 0,
"type": [
"integer",
"string"
],
"deprecated": true
},
"minimizeToNotificationArea": {
"default": false,
"description": "When set to true, minimizing a Terminal window will no longer appear in the taskbar. Instead, a Terminal icon will appear in the notification area through which the user can access their windows.",
"type": "boolean"
},
"alwaysShowNotificationIcon": {
"default": false,
"description": "When set to true, the Terminal's notification icon will always be shown in the notification area.",
"type": "boolean"
},
"showAdminShield": {
"default": true,
"description": "When set to true, the Terminal's tab row will display a shield icon when the Terminal is running with administrator privileges",
"type": "boolean"
},
"useAcrylicInTabRow": {
"default": false,
"description": "When set to true, the tab row will have an acrylic background with 50% opacity.",
"type": "boolean"
},
"actions": {
"description": "Properties are specific to each custom action.",
"items": {
"$ref": "#/$defs/Keybinding"
},
"type": "array"
},
"keybindings": {
"description": "[deprecated] Use actions instead.",
"deprecated": true,
"items": {
"$ref": "#/$defs/Keybinding"
},
"type": "array"
},
"language": {
"default": "",
"description": "Sets an override for the app's preferred language, expressed as a BCP-47 language tag like en-US.",
"type": "string"
},
"theme": {
"default": "system",
"description": "Sets the theme of the application. The special value \"system\" refers to the active Windows system theme.",
"enum": [
"light",
"dark",
"system"
],
"type": "string"
},
"showTabsInTitlebar": {
"default": true,
"description": "When set to true, the tabs are moved into the titlebar and the titlebar disappears. When set to false, the titlebar sits above the tabs.",
"type": "boolean"
},
"showTerminalTitleInTitlebar": {
"default": true,
"description": "When set to true, titlebar displays the title of the selected tab. When set to false, titlebar displays \"Windows Terminal\".",
"type": "boolean"
},
"snapToGridOnResize": {
"default": false,
"description": "When set to true, the window will snap to the nearest character boundary on resize. When false, the window will resize smoothly",
"type": "boolean"
},
"tabWidthMode": {
"default": "equal",
"description": "Sets the width of the tabs. Possible values include:\n -\"equal\" sizes each tab to the same width\n -\"titleLength\" sizes each tab to the length of its title\n -\"compact\" sizes each tab to the length of its title when focused, and shrinks to the size of only the icon when the tab is unfocused.",
"enum": [
"compact",
"equal",
"titleLength"
],
"type": "string"
},
"wordDelimiters": {
"default": " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?│",
"description": "Determines the delimiters used in a double click selection.",
"type": "string"
},
"confirmCloseAllTabs": {
"default": true,
"description": "When set to \"true\" closing a window with multiple tabs open will require confirmation. When set to \"false\", the confirmation dialog will not appear.",
"type": "boolean"
},
"useTabSwitcher": {
"default": true,
"description": "Deprecated. Please use \"tabSwitcherMode\" instead.",
"oneOf": [
{
"type": "boolean"
},
{
"enum": [
"mru",
"inOrder",
"disabled"
],
"type": "string"
}
],
"deprecated": true
},
"tabSwitcherMode": {
"default": "inOrder",
"description": "When set to \"true\" or \"mru\", the \"nextTab\" and \"prevTab\" commands will use the tab switcher UI, with most-recently-used ordering. When set to \"inOrder\", these actions will switch tabs in their current ordering. Set to \"false\" to disable the tab switcher.",
"oneOf": [
{
"type": "boolean"
},
{
"enum": [
"mru",
"inOrder",
"disabled"
],
"type": "string"
}
]
},
"windowingBehavior": {
"default": "useNew",
"description": "Controls how new terminal instances attach to existing windows. \"useNew\" will always create a new window. \"useExisting\" will create new tabs in the most recently used window on this virtual desktop, and \"useAnyExisting\" will create tabs in the most recent window on any desktop.",
"enum": [
"useNew",
"useExisting",
"useAnyExisting"
],
"type": "string"
}
},
"required": [
"defaultProfile"
],
"type": "object"
},
"Profile": {
"description": "Properties specific to a unique profile.",
"additionalProperties": false,
"properties": {
"acrylicOpacity": {
"default": 0.5,
"description": "[deprecated] Please use `opacity` instead.",
"deprecated": true,
"maximum": 1,
"minimum": 0,
"type": "number"
},
"antialiasingMode": {
"default": "grayscale",
"description": "Controls how text is antialiased in the renderer. Possible values are \"grayscale\", \"cleartype\" and \"aliased\". Note that changing this setting will require starting a new terminal instance.",
"enum": [
"grayscale",
"cleartype",
"aliased"
],
"type": "string"
},
"background": {
"$ref": "#/$defs/Color",
"default": "#0c0c0c",
"description": "Sets the background color of the text. Overrides \"background\" from the color scheme. Uses hex color format: \"#rrggbb\".",
"type": [
"string",
"null"
]
},
"unfocusedAppearance": {
"$ref": "#/$defs/AppearanceConfig",
"description": "Sets the appearance of the terminal when it is unfocused.",
"type": [
"object",
"null"
]
},
"font": {
"$ref": "#/$defs/FontConfig",
"description": "Sets the font options of the terminal.",
"type": [
"object",
"null"
]
},
"backgroundImage": {
"description": "Sets the file location of the image to draw over the window background.",
"oneOf": [
{
"type": [
"string",
"null"
]
},
{
"enum": [
"desktopWallpaper"
]
}
],
"type": [
"string",
"null"
]
},
"backgroundImageAlignment": {
"default": "center",
"enum": [
"bottom",
"bottomLeft",
"bottomRight",
"center",
"left",
"right",
"top",
"topLeft",
"topRight"
],
"description": "Sets how the background image aligns to the boundaries of the window. Possible values: \"center\", \"left\", \"top\", \"right\", \"bottom\", \"topLeft\", \"topRight\", \"bottomLeft\", \"bottomRight\"",
"type": "string"
},
"backgroundImageOpacity": {
"default": 1.0,
"description": "Sets the transparency of the background image. Accepts floating point values from 0-1.",
"maximum": 1.0,
"minimum": 0.0,
"type": "number"
},
"backgroundImageStretchMode": {
"default": "uniformToFill",
"description": "Sets how the background image is resized to fill the window.",
"enum": [
"fill",
"none",
"uniform",
"uniformToFill"
],
"type": "string"
},
"bellStyle": {
"default": "audible",
"description": "Controls what happens when the application emits a BEL character. When set to \"all\", the Terminal will play a sound, flash the taskbar icon (if the terminal window is not in focus) and flash the window. An array of specific behaviors can also be used. Supported array values include `audible`, `window` and `taskbar`. When set to \"none\", nothing will happen.",
"$ref": "#/$defs/BellStyle"
},
"closeOnExit": {
"default": "graceful",
"description": "Sets how the profile reacts to termination or failure to launch. Possible values:\n -\"graceful\" (close when exit is typed or the process exits normally)\n -\"always\" (always close)\n -\"never\" (never close).\ntrue and false are accepted as synonyms for \"graceful\" and \"never\" respectively.",
"oneOf": [
{
"enum": [
"never",
"graceful",
"always"
],
"type": "string"
},
{
"type": "boolean"
}
]
},
"colorScheme": {
"default": "Campbell",
"description": "Name of the terminal color scheme to use. Color schemes are defined under \"schemes\".",
"type": "string"
},
"commandline": {
"description": "Executable used in the profile.",
"type": "string"
},
"cursorColor": {
"oneOf": [
{
"$ref": "#/$defs/Color"
},
{
"type": "null"
}
],
"description": "Sets the color of the cursor. Overrides the cursor color from the color scheme. Uses hex color format: \"#rrggbb\"."
},
"cursorHeight": {
"description": "Sets the percentage height of the cursor starting from the bottom. Only works when cursorShape is set to \"vintage\". Accepts values from 1-100.",
"maximum": 100,
"minimum": 1,
"type": [
"integer",
"null"
],
"default": 25
},
"cursorShape": {
"default": "bar",
"description": "Sets the shape of the cursor. Possible values:\n -\"bar\" ( ┃, default )\n -\"doubleUnderscore\" ( ‗ )\n -\"emptyBox\" ( ▯ )\n -\"filledBox\" ( █ )\n -\"underscore\" ( ▁ )\n -\"vintage\" ( ▃ )",
"enum": [
"bar",
"doubleUnderscore",
"emptyBox",
"filledBox",
"underscore",
"vintage"
],
"type": "string"
},
"elevate": {
"type": "boolean",
"default": false,
"description": "When true, this profile should always open in an elevated context. If the window isn't running as an Administrator, then a new elevated window will be created."
},
"experimental.retroTerminalEffect": {
"description": "When set to true, enable retro terminal effects. This is an experimental feature, and its continued existence is not guaranteed.",
"type": "boolean"
},
"experimental.pixelShaderPath": {
"description": "Use to set a path to a pixel shader to use with the Terminal. Overrides `experimental.retroTerminalEffect`. This is an experimental feature, and its continued existence is not guaranteed.",
"type": "string"
},
"experimental.useAtlasEngine": {
"description": "Enable using the experimental new rendering engine for this profile. This is an experimental feature, and its continued existence is not guaranteed.",
"type": "boolean",
"default": false
},
"fontFace": {
"default": "Cascadia Mono",
"description": "[deprecated] Define 'face' within the 'font' object instead.",
"type": "string",
"deprecated": true
},
"fontSize": {
"default": 12,
"description": "[deprecated] Define 'size' within the 'font' object instead.",
"minimum": 1,
"type": "integer",
"deprecated": true
},
"fontWeight": {
"default": "normal",
"description": "[deprecated] Define 'weight' within the 'font' object instead.",
"oneOf": [
{
"enum": [
"thin",
"extra-light",
"light",
"semi-light",
"normal",
"medium",
"semi-bold",
"bold",
"extra-bold",
"black",
"extra-black"
],
"type": "string"
},
{
"maximum": 990,
"minimum": 100,
"type": "integer"
}
],
"deprecated": true
},
"foreground": {
"$ref": "#/$defs/Color",
"default": "#cccccc",
"description": "Sets the text color. Overrides \"foreground\" from the color scheme. Uses hex color format: \"#rrggbb\".",
"type": [
"string",
"null"
]
},
"guid": {
"$ref": "#/$defs/ProfileGuid",
"description": "Unique identifier of the profile. Written in registry format: \"{00000000-0000-0000-0000-000000000000}\"."
},
"hidden": {
"default": false,
"description": "If set to true, the profile will not appear in the list of profiles. This can be used to hide default profiles and dynamically generated profiles, while leaving them in your settings file.",
"type": "boolean"
},
"historySize": {
"default": 9001,
"description": "The number of lines above the ones displayed in the window you can scroll back to.",
"minimum": -1,
"type": "integer"
},
"icon": {
"$ref": "#/$defs/Icon"
},
"name": {
"description": "Name of the profile. Displays in the dropdown menu.",
"minLength": 1,
"type": "string"
},
"opacity": {
"default": 100,
"description": "Sets the opacity of the window for the profile. Accepts values from 0-100. Defaults to 50 when useAcrylic is set to true.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"padding": {
"default": "8, 8, 8, 8",
"description": "Sets the padding around the text within the window. Can have three different formats:\n -\"#\" sets the same padding for all sides \n -\"#, #\" sets the same padding for left-right and top-bottom\n -\"#, #, #, #\" sets the padding individually for left, top, right, and bottom.",
"oneOf": [
{
"pattern": "^-?[0-9]+(\\.[0-9]+)?( *, *-?[0-9]+(\\.[0-9]+)?|( *, *-?[0-9]+(\\.[0-9]+)?){3})?$",
"type": "string"
},
{
"type": "integer"
}
]
},
"adjustIndistinguishableColors": {
"description": "When set to true, we will (when necessary) adjust the foreground color to make it more visible, based on the background color.",
"type": "boolean"
},
"scrollbarState": {
"default": "visible",
"description": "Defines the visibility of the scrollbar.",
"enum": [
"visible",
"hidden"
],
"type": "string"
},
"selectionBackground": {
"oneOf": [
{
"$ref": "#/$defs/Color"
},
{
"type": "null"
}
],
"description": "Sets the background color of selected text. Overrides selectionBackground set in the color scheme. Uses hex color format: \"#rrggbb\"."
},
"snapOnInput": {
"default": true,
"description": "When set to true, the window will scroll to the command input line when typing. When set to false, the window will not scroll when you start typing.",
"type": "boolean"
},
"altGrAliasing": {
"default": true,
"description": "By default Windows treats Ctrl+Alt as an alias for AltGr. When altGrAliasing is set to false, this behavior will be disabled.",
"type": "boolean"
},
"source": {
"description": "Stores the name of the profile generator that originated this profile.",
"type": [
"string",
"null"
]
},
"startingDirectory": {
"description": "The directory the shell starts in when it is loaded.",
"type": "string"
},
"suppressApplicationTitle": {
"description": "When set to true, tabTitle overrides the default title of the tab and any title change messages from the application will be suppressed. When set to false, tabTitle behaves as normal.",
"type": "boolean",
"default": false
},
"tabColor": {
"$ref": "#/$defs/Color",
"description": "Sets the color of the profile's tab. Using the tab color picker will override this color.",
"type": [
"string",
"null"
]
},
"tabTitle": {
"description": "If set, will replace the name as the title to pass to the shell on startup. Some shells (like bash) may choose to ignore this initial value, while others (cmd, powershell) may use this value over the lifetime of the application.",
"type": [
"string",
"null"
]
},
"useAcrylic": {
"default": false,
"description": "When set to true, the window will have an acrylic background. When set to false, the window will have a plain, untextured background.",
"type": "boolean"
}
},
"type": "object"
},
"ProfileList": {
"description": "A list of profiles and the properties specific to each.",
"items": {
"$ref": "#/$defs/Profile",
"required": [
"guid",
"name"
]
},
"type": "array"
},
"ProfilesObject": {
"description": "A list of profiles and default settings that apply to all of them",
"properties": {
"list": {
"$ref": "#/$defs/ProfileList"
},
"defaults": {
"description": "The default settings that apply to every profile.",
"$ref": "#/$defs/Profile"
}
},
"type": "object"
},
"SchemeList": {
"description": "Properties are specific to each color scheme. ColorTool is a great tool you can use to create and explore new color schemes. All colors use hex color format.",
"items": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Name of the color scheme.",
"minLength": 1,
"type": "string"
},
"background": {
"$ref": "#/$defs/Color",
"description": "Sets the background color of the color scheme."
},
"black": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI black."
},
"blue": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI blue."
},
"brightBlack": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright black."
},
"brightBlue": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright blue."
},
"brightCyan": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright cyan."
},
"brightGreen": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright green."
},
"brightPurple": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright purple."
},
"brightRed": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright red."
},
"brightWhite": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright white."
},
"brightYellow": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI bright yellow."
},
"cursorColor": {
"$ref": "#/$defs/Color",
"default": "#FFFFFF",
"description": "Sets the cursor color of the color scheme."
},
"cyan": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI cyan."
},
"foreground": {
"$ref": "#/$defs/Color",
"description": "Sets the foreground color of the color scheme."
},
"green": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI green."
},
"purple": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI purple."
},
"red": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI red."
},
"selectionBackground": {
"$ref": "#/$defs/Color",
"description": "Sets the selection background color of the color scheme."
},
"white": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI white."
},
"yellow": {
"$ref": "#/$defs/Color",
"description": "Sets the color used as ANSI yellow."
}
},
"type": "object"
},
"type": "array"
}
},
"allOf": [
{
"$ref": "#/$defs/Globals"
},
{
"additionalItems": true,
"properties": {
"profiles": {
"oneOf": [
{
"$ref": "#/$defs/ProfileList"
},
{
"$ref": "#/$defs/ProfilesObject"
}
]
},
"schemes": {
"$ref": "#/$defs/SchemeList"
}
},
"required": [
"profiles",
"schemes",
"defaultProfile"
]
}
]
}
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JSON schema for NPM package.json files",
"definitions": {
"person": {
"description": "A person who has been involved in creating or maintaining this package.",
"type": [
"object",
"string"
],
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"email": {
"type": "string",
"format": "email"
}
}
},
"dependency": {
"description": "Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"scriptsInstallAfter": {
"description": "Run AFTER the package is installed.",
"type": "string"
},
"scriptsPublishAfter": {
"description": "Run AFTER the package is published.",
"type": "string"
},
"scriptsRestart": {
"description": "Run by the 'npm restart' command. Note: 'npm restart' will run the stop and start scripts if no restart script is provided.",
"type": "string"
},
"scriptsStart": {
"description": "Run by the 'npm start' command.",
"type": "string"
},
"scriptsStop": {
"description": "Run by the 'npm stop' command.",
"type": "string"
},
"scriptsTest": {
"description": "Run by the 'npm test' command.",
"type": "string"
},
"scriptsUninstallBefore": {
"description": "Run BEFORE the package is uninstalled.",
"type": "string"
},
"scriptsVersionBefore": {
"description": "Run BEFORE bump the package version.",
"type": "string"
},
"packageExportsEntryPath": {
"type": [
"string",
"null"
],
"description": "The module path that is resolved when this specifier is imported. Set to `null` to disallow importing this module.",
"pattern": "^\\./"
},
"packageExportsEntryObject": {
"type": "object",
"description": "Used to specify conditional exports, note that Conditional exports are unsupported in older environments, so it's recommended to use the fallback array option if support for those environments is a concern.",
"properties": {
"require": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as a CommonJS module using the `require(...)` function."
},
"import": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this specifier is imported as an ECMAScript module using an `import` declaration or the dynamic `import(...)` function."
},
"node": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this environment is Node.js."
},
"default": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when no other export type matches."
}
},
"patternProperties": {
"^(?![\\.0-9]).": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when this environment matches the property name."
}
},
"additionalProperties": false
},
"packageExportsEntry": {
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntryPath"
},
{
"$ref": "#/definitions/packageExportsEntryObject"
}
]
},
"packageExportsFallback": {
"type": "array",
"description": "Used to allow fallbacks in case this environment doesn't support the preceding entries.",
"items": {
"$ref": "#/definitions/packageExportsEntry"
}
},
"packageExportsEntryOrFallback": {
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntry"
},
{
"$ref": "#/definitions/packageExportsFallback"
}
]
}
},
"type": "object",
"patternProperties": {
"^_": {
"description": "Any property starting with _ is valid.",
"tsType": "any"
}
},
"properties": {
"name": {
"description": "The name of the package.",
"type": "string",
"maxLength": 214,
"minLength": 1,
"pattern": "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$"
},
"version": {
"description": "Version must be parseable by node-semver, which is bundled with npm as a dependency.",
"type": "string"
},
"description": {
"description": "This helps people discover your package, as it's listed in 'npm search'.",
"type": "string"
},
"keywords": {
"description": "This helps people discover your package as it's listed in 'npm search'.",
"type": "array",
"items": {
"type": "string"
}
},
"homepage": {
"description": "The url to the project homepage.",
"type": "string"
},
"bugs": {
"description": "The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.",
"type": [
"object",
"string"
],
"properties": {
"url": {
"type": "string",
"description": "The url to your project's issue tracker.",
"format": "uri"
},
"email": {
"type": "string",
"description": "The email address to which issues should be reported.",
"format": "email"
}
}
},
"license": {
"type": "string",
"description": "You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it."
},
"licenses": {
"description": "DEPRECATED: Instead, use SPDX expressions, like this: { \"license\": \"ISC\" } or { \"license\": \"(MIT OR Apache-2.0)\" } see: 'https://docs.npmjs.com/files/package.json#license'.",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"author": {
"$ref": "#/definitions/person"
},
"contributors": {
"description": "A list of people who contributed to this package.",
"type": "array",
"items": {
"$ref": "#/definitions/person"
}
},
"maintainers": {
"description": "A list of people who maintains this package.",
"type": "array",
"items": {
"$ref": "#/definitions/person"
}
},
"files": {
"description": "The 'files' field is an array of files to include in your project. If you name a folder in the array, then it will also include the files inside that folder.",
"type": "array",
"items": {
"type": "string"
}
},
"main": {
"description": "The main field is a module ID that is the primary entry point to your program.",
"type": "string"
},
"exports": {
"description": "The \"exports\" field is used to restrict external access to non-exported module files, also enables a module to import itself using \"name\".",
"oneOf": [
{
"$ref": "#/definitions/packageExportsEntryPath",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
},
{
"type": "object",
"properties": {
".": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
}
},
"patternProperties": {
"^\\./.+": {
"$ref": "#/definitions/packageExportsEntryOrFallback",
"description": "The module path prefix that is resolved when the module specifier starts with \"name/\", set to \"./*\" to allow external modules to import any subpath."
}
},
"additionalProperties": false
},
{
"$ref": "#/definitions/packageExportsEntryObject",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
},
{
"$ref": "#/definitions/packageExportsFallback",
"description": "The module path that is resolved when the module specifier matches \"name\", shadows the \"main\" field."
}
]
},
"bin": {
"type": [
"string",
"object"
],
"additionalProperties": {
"type": "string"
}
},
"type": {
"description": "When set to \"module\", the type field allows a package to specify all .js files within are ES modules. If the \"type\" field is omitted or set to \"commonjs\", all .js files are treated as CommonJS.",
"type": "string",
"enum": [
"commonjs",
"module"
],
"default": "commonjs"
},
"types": {
"description": "Set the types property to point to your bundled declaration file.",
"type": "string"
},
"typings": {
"description": "Note that the \"typings\" field is synonymous with \"types\", and could be used as well.",
"type": "string"
},
"typesVersions": {
"description": "The \"typesVersions\" field is used since TypeScript 3.1 to support features that were only made available in newer TypeScript versions.",
"type": "object",
"additionalProperties": {
"description": "Contains overrides for the TypeScript version that matches the version range matching the property key.",
"type": "object",
"properties": {
"*": {
"description": "Maps all file paths to the file paths specified in the array.",
"type": "array",
"items": {
"type": "string",
"pattern": "^[^*]*(?:\\*[^*]*)?$"
}
}
},
"patternProperties": {
"^[^*]+$": {
"description": "Maps the file path matching the property key to the file paths specified in the array.",
"type": "array",
"items": {
"type": "string"
}
},
"^[^*]*\\*[^*]*$": {
"description": "Maps file paths matching the pattern specified in property key to file paths specified in the array.",
"type": "array",
"items": {
"type": "string",
"pattern": "^[^*]*(?:\\*[^*]*)?$"
}
}
},
"additionalProperties": false
}
},
"man": {
"type": [
"array",
"string"
],
"description": "Specify either a single file or an array of filenames to put in place for the man program to find.",
"items": {
"type": "string"
}
},
"directories": {
"type": "object",
"properties": {
"bin": {
"description": "If you specify a 'bin' directory, then all the files in that folder will be used as the 'bin' hash.",
"type": "string"
},
"doc": {
"description": "Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday.",
"type": "string"
},
"example": {
"description": "Put example scripts in here. Someday, it might be exposed in some clever way.",
"type": "string"
},
"lib": {
"description": "Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info.",
"type": "string"
},
"man": {
"description": "A folder that is full of man pages. Sugar to generate a 'man' array by walking the folder.",
"type": "string"
},
"test": {
"type": "string"
}
}
},
"repository": {
"description": "Specify the place where your code lives. This is helpful for people who want to contribute.",
"type": [
"object",
"string"
],
"properties": {
"type": {
"type": "string"
},
"url": {
"type": "string"
},
"directory": {
"type": "string"
}
}
},
"scripts": {
"description": "The 'scripts' member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.",
"type": "object",
"properties": {
"lint": {
"type": "string",
"description": "Run code quality tools, e.g. ESLint, TSLint, etc."
},
"prepublish": {
"type": "string",
"description": "Run BEFORE the package is published (Also run on local npm install without any arguments)."
},
"prepare": {
"type": "string",
"description": "Run both BEFORE the package is packed and published, and on local npm install without any arguments. This is run AFTER prepublish, but BEFORE prepublishOnly."
},
"prepublishOnly": {
"type": "string",
"description": "Run BEFORE the package is prepared and packed, ONLY on npm publish."
},
"prepack": {
"type": "string",
"description": "run BEFORE a tarball is packed (on npm pack, npm publish, and when installing git dependencies)."
},
"postpack": {
"type": "string",
"description": "Run AFTER the tarball has been generated and moved to its final destination."
},
"publish": {
"type": "string",
"description": "Publishes a package to the registry so that it can be installed by name. See https://docs.npmjs.com/cli/v8/commands/npm-publish"
},
"postpublish": {
"$ref": "#/definitions/scriptsPublishAfter"
},
"preinstall": {
"type": "string",
"description": "Run BEFORE the package is installed."
},
"install": {
"$ref": "#/definitions/scriptsInstallAfter"
},
"postinstall": {
"$ref": "#/definitions/scriptsInstallAfter"
},
"preuninstall": {
"$ref": "#/definitions/scriptsUninstallBefore"
},
"uninstall": {
"$ref": "#/definitions/scriptsUninstallBefore"
},
"postuninstall": {
"type": "string",
"description": "Run AFTER the package is uninstalled."
},
"preversion": {
"$ref": "#/definitions/scriptsVersionBefore"
},
"version": {
"$ref": "#/definitions/scriptsVersionBefore"
},
"postversion": {
"type": "string",
"description": "Run AFTER bump the package version."
},
"pretest": {
"$ref": "#/definitions/scriptsTest"
},
"test": {
"$ref": "#/definitions/scriptsTest"
},
"posttest": {
"$ref": "#/definitions/scriptsTest"
},
"prestop": {
"$ref": "#/definitions/scriptsStop"
},
"stop": {
"$ref": "#/definitions/scriptsStop"
},
"poststop": {
"$ref": "#/definitions/scriptsStop"
},
"prestart": {
"$ref": "#/definitions/scriptsStart"
},
"start": {
"$ref": "#/definitions/scriptsStart"
},
"poststart": {
"$ref": "#/definitions/scriptsStart"
},
"prerestart": {
"$ref": "#/definitions/scriptsRestart"
},
"restart": {
"$ref": "#/definitions/scriptsRestart"
},
"postrestart": {
"$ref": "#/definitions/scriptsRestart"
},
"serve": {
"type": "string",
"description": "Start dev server to serve application files"
}
},
"additionalProperties": {
"type": "string",
"tsType": "string | undefined"
}
},
"config": {
"description": "A 'config' hash can be used to set configuration parameters used in package scripts that persist across upgrades.",
"type": "object",
"additionalProperties": true
},
"dependencies": {
"$ref": "#/definitions/dependency"
},
"devDependencies": {
"$ref": "#/definitions/dependency"
},
"optionalDependencies": {
"$ref": "#/definitions/dependency"
},
"peerDependencies": {
"$ref": "#/definitions/dependency"
},
"peerDependenciesMeta": {
"description": "When a user installs your package, warnings are emitted if packages specified in \"peerDependencies\" are not already installed. The \"peerDependenciesMeta\" field serves to provide more information on how your peer dependencies are utilized. Most commonly, it allows peer dependencies to be marked as optional. Metadata for this field is specified with a simple hash of the package name to a metadata object.",
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": true,
"properties": {
"optional": {
"description": "Specifies that this peer dependency is optional and should not be installed automatically.",
"type": "boolean"
}
}
}
},
"bundledDependencies": {
"description": "Array of package names that will be bundled when publishing the package.",
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "boolean"
}
]
},
"bundleDependencies": {
"description": "DEPRECATED: This field is honored, but \"bundledDependencies\" is the correct field name.",
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "boolean"
}
]
},
"resolutions": {
"description": "Resolutions is used to support selective version resolutions, which lets you define custom package versions or ranges inside your dependencies. See: https://classic.yarnpkg.com/en/docs/selective-version-resolutions",
"type": "object"
},
"packageManager": {
"description": "Defines which package manager is expected to be used when working on the current project. This field is currently experimental and needs to be opted-in; see https://nodejs.org/api/corepack.html",
"type": "string",
"pattern": "(npm|pnpm|yarn)@\\d+\\.\\d+\\.\\d+(-.+)?"
},
"engines": {
"type": "object",
"properties": {
"node": {
"type": "string"
}
},
"additionalProperties": {
"type": "string"
}
},
"engineStrict": {
"type": "boolean"
},
"os": {
"description": "Specify which operating systems your module will run on.",
"type": "array",
"items": {
"type": "string"
}
},
"cpu": {
"description": "Specify that your code only runs on certain cpu architectures.",
"type": "array",
"items": {
"type": "string"
}
},
"preferGlobal": {
"type": "boolean",
"description": "DEPRECATED: This option used to trigger an npm warning, but it will no longer warn. It is purely there for informational purposes. It is now recommended that you install any binaries as local devDependencies wherever possible."
},
"private": {
"description": "If set to true, then npm will refuse to publish it.",
"oneOf": [
{
"type": "boolean"
},
{
"enum": [
"false",
"true"
]
}
]
},
"publishConfig": {
"type": "object",
"properties": {
"access": {
"type": "string",
"enum": [
"public",
"restricted"
]
},
"tag": {
"type": "string"
},
"registry": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": true
},
"dist": {
"type": "object",
"properties": {
"shasum": {
"type": "string"
},
"tarball": {
"type": "string"
}
}
},
"readme": {
"type": "string"
},
"module": {
"description": "An ECMAScript module ID that is the primary entry point to your program.",
"type": "string"
},
"esnext": {
"description": "A module ID with untranspiled code that is the primary entry point to your program.",
"type": [
"string",
"object"
],
"properties": {
"main": {
"type": "string"
},
"browser": {
"type": "string"
}
},
"additionalProperties": {
"type": "string"
}
},
"workspaces": {
"description": "Allows packages within a directory to depend on one another using direct linking of local files. Additionally, dependencies within a workspace are hoisted to the workspace root when possible to reduce duplication. Note: It's also a good idea to set \"private\" to true when using this feature.",
"anyOf": [
{
"type": "array",
"description": "Workspace package paths. Glob patterns are supported.",
"items": {
"type": "string"
}
},
{
"type": "object",
"properties": {
"packages": {
"type": "array",
"description": "Workspace package paths. Glob patterns are supported.",
"items": {
"type": "string"
}
},
"nohoist": {
"type": "array",
"description": "Packages to block from hoisting to the workspace root. Currently only supported in Yarn only.",
"items": {
"type": "string"
}
}
}
}
]
},
"jspm": {
"$ref": "#"
}
},
"anyOf": [
{
"type": "object",
"not": {
"required": [
"bundledDependencies",
"bundleDependencies"
]
}
},
{
"type": "object",
"not": {
"required": [
"bundleDependencies"
]
},
"required": [
"bundledDependencies"
]
},
{
"type": "object",
"not": {
"required": [
"bundledDependencies"
]
},
"required": [
"bundleDependencies"
]
}
]
}
{
"title": "JSON schema for ESLint configuration files",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"definitions": {
"rule": {
"oneOf": [
{
"description": "ESLint rule\n\n0 - turns the rule off\n1 - turn the rule on as a warning (doesn't affect exit code)\n2 - turn the rule on as an error (exit code is 1 when triggered)\n",
"type": "integer",
"minimum": 0,
"maximum": 2
},
{
"description": "ESLint rule\n\n\"off\" - turns the rule off\n\"warn\" - turn the rule on as a warning (doesn't affect exit code)\n\"error\" - turn the rule on as an error (exit code is 1 when triggered)\n",
"type": "string",
"enum": [
"off", "warn", "error"
]
},
{
"type": "array"
}
]
},
"possibleErrors": {
"properties": {
"comma-dangle": { "$ref": "#/definitions/rule", "description": "Require or disallow trailing commas"},
"for-direction": {"$ref": "#/definitions/rule", "description": "Enforce “for” loop update clause moving the counter in the right direction"},
"getter-return": {"$ref": "#/definitions/rule", "description": "Enforce return statements in getters"},
"no-await-in-loop": {"$ref": "#/definitions/rule", "description": "Disallow await inside of loops"},
"no-compare-neg-zero": {"$ref": "#/definitions/rule", "description": "Disallow comparing against -0"},
"no-cond-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignment operators in conditional expressions" },
"no-console": { "$ref": "#/definitions/rule", "description": "Disallow the use of console" },
"no-constant-condition": { "$ref": "#/definitions/rule", "description": "Disallow constant expressions in conditions" },
"no-control-regex": { "$ref": "#/definitions/rule", "description": "Disallow control characters in regular expressions" },
"no-debugger": { "$ref": "#/definitions/rule", "description": "Disallow the use of debugger" },
"no-dupe-args": { "$ref": "#/definitions/rule", "description": "Disallow duplicate arguments in function definitions" },
"no-dupe-keys": { "$ref": "#/definitions/rule", "description": "Disallow duplicate keys in object literals" },
"no-duplicate-case": { "$ref": "#/definitions/rule", "description": "Disallow duplicate case labels" },
"no-empty": { "$ref": "#/definitions/rule", "description": "Disallow empty block statements" },
"no-empty-character-class": { "$ref": "#/definitions/rule", "description": "Disallow empty character classes in regular expressions" },
"no-ex-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning exceptions in catch clauses" },
"no-extra-boolean-cast": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary boolean casts" },
"no-extra-parens": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary parentheses" },
"no-extra-semi": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary semicolons" },
"no-func-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning function declarations" },
"no-inner-declarations": { "$ref": "#/definitions/rule", "description": "Disallow function or var declarations in nested blocks" },
"no-invalid-regexp": { "$ref": "#/definitions/rule", "description": "Disallow invalid regular expression strings in RegExp constructors" },
"no-irregular-whitespace": { "$ref": "#/definitions/rule", "description": "Disallow irregular whitespace outside of strings and comments" },
"no-negated-in-lhs": { "$ref": "#/definitions/rule", "description": "Disallow negating the left operand in in expressions (deprecated)"},
"no-obj-calls": { "$ref": "#/definitions/rule", "description": "Disallow calling global object properties as functions" },
"no-prototype-builtins": { "$ref": "#/definitions/rule", "description": "Disallow calling some Object.prototype methods directly on objects" },
"no-regex-spaces": { "$ref": "#/definitions/rule", "description": "Disallow multiple spaces in regular expressions" },
"no-sparse-arrays": { "$ref": "#/definitions/rule", "description": "Disallow sparse arrays" },
"no-template-curly-in-string": { "$ref": "#/definitions/rule", "description": "Disallow template literal placeholder syntax in regular strings" },
"no-unexpected-multiline": { "$ref": "#/definitions/rule", "description": "Disallow confusing multiline expressions" },
"no-unreachable": { "$ref": "#/definitions/rule", "description": "Disallow unreachable code after return, throw, continue, and break statements" },
"no-unsafe-finally": { "$ref": "#/definitions/rule", "description": "Disallow control flow statements in finally blocks" },
"no-unsafe-negation": { "$ref": "#/definitions/rule", "description": "Disallow negating the left operand of relational operators" },
"use-isnan": { "$ref": "#/definitions/rule", "description": "Require calls to isNaN() when checking for NaN" },
"valid-jsdoc": { "$ref": "#/definitions/rule", "description": "Enforce valid JSDoc comments" },
"valid-typeof": { "$ref": "#/definitions/rule", "description": "Enforce comparing typeof expressions against valid strings" }
}
},
"bestPractices": {
"properties": {
"accessor-pairs": { "$ref": "#/definitions/rule", "description": "Enforce getter and setter pairs in objects" },
"array-callback-return": { "$ref": "#/definitions/rule", "description": "Enforce return statements in callbacks of array methods" },
"block-scoped-var": { "$ref": "#/definitions/rule", "description": "Enforce the use of variables within the scope they are defined" },
"class-methods-use-this": { "$ref": "#/definitions/rule", "description": "Enforce that class methods utilize this" },
"complexity": { "$ref": "#/definitions/rule", "description": "Enforce a maximum cyclomatic complexity allowed in a program" },
"consistent-return": { "$ref": "#/definitions/rule", "description": "Require return statements to either always or never specify values" },
"curly": { "$ref": "#/definitions/rule", "description": "Enforce consistent brace style for all control statements" },
"default-case": { "$ref": "#/definitions/rule", "description": "Require default cases in switch statements" },
"dot-location": { "$ref": "#/definitions/rule", "description": "Enforce consistent newlines before and after dots" },
"dot-notation": { "$ref": "#/definitions/rule", "description": "Enforce dot notation whenever possible" },
"eqeqeq": { "$ref": "#/definitions/rule", "description": "Require the use of === and !==" },
"guard-for-in": { "$ref": "#/definitions/rule", "description": "Require for-in loops to include an if statement" },
"no-alert": { "$ref": "#/definitions/rule", "description": "Disallow the use of alert, confirm, and prompt" },
"no-caller": { "$ref": "#/definitions/rule", "description": "Disallow the use of arguments.caller or arguments.callee" },
"no-case-declarations": { "$ref": "#/definitions/rule", "description": "Disallow lexical declarations in case clauses" },
"no-div-regex": { "$ref": "#/definitions/rule", "description": "Disallow division operators explicitly at the beginning of regular expressions" },
"no-else-return": { "$ref": "#/definitions/rule", "description": "Disallow else blocks after return statements in if statements" },
"no-empty-function": { "$ref": "#/definitions/rule", "description": "Disallow empty functions" },
"no-empty-pattern": { "$ref": "#/definitions/rule", "description": "Disallow empty destructuring patterns" },
"no-eq-null": { "$ref": "#/definitions/rule", "description": "Disallow null comparisons without type-checking operators" },
"no-eval": { "$ref": "#/definitions/rule", "description": "Disallow the use of eval()" },
"no-extend-native": { "$ref": "#/definitions/rule", "description": "Disallow extending native types" },
"no-extra-bind": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary calls to .bind()" },
"no-extra-label": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary labels" },
"no-fallthrough": { "$ref": "#/definitions/rule", "description": "Disallow fallthrough of case statements" },
"no-floating-decimal": { "$ref": "#/definitions/rule", "description": "Disallow leading or trailing decimal points in numeric literals" },
"no-global-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignments to native objects or read-only global variables" },
"no-implicit-coercion": { "$ref": "#/definitions/rule", "description": "Disallow shorthand type conversions" },
"no-implicit-globals": { "$ref": "#/definitions/rule", "description": "Disallow var and named function declarations in the global scope" },
"no-implied-eval": { "$ref": "#/definitions/rule", "description": "Disallow the use of eval()-like methods" },
"no-invalid-this": { "$ref": "#/definitions/rule", "description": "Disallow this keywords outside of classes or class-like objects" },
"no-iterator": { "$ref": "#/definitions/rule", "description": "Disallow the use of the __iterator__ property" },
"no-labels": { "$ref": "#/definitions/rule", "description": "Disallow labeled statements" },
"no-lone-blocks": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary nested blocks" },
"no-loop-func": { "$ref": "#/definitions/rule", "description": "Disallow function declarations and expressions inside loop statements" },
"no-magic-numbers": { "$ref": "#/definitions/rule", "description": "Disallow magic numbers" },
"no-multi-spaces": { "$ref": "#/definitions/rule", "description": "Disallow multiple spaces" },
"no-multi-str": { "$ref": "#/definitions/rule", "description": "Disallow multiline strings" },
"no-native-reassign": { "$ref": "#/definitions/rule"},
"no-new": { "$ref": "#/definitions/rule", "description": "Disallow new operators outside of assignments or comparisons" },
"no-new-func": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the Function object" },
"no-new-wrappers": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the String, Number, and Boolean objects" },
"no-octal": { "$ref": "#/definitions/rule", "description": "Disallow octal literals" },
"no-octal-escape": { "$ref": "#/definitions/rule", "description": "Disallow octal escape sequences in string literals" },
"no-param-reassign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning function parameters" },
"no-proto": { "$ref": "#/definitions/rule", "description": "Disallow the use of the __proto__ property" },
"no-redeclare": { "$ref": "#/definitions/rule", "description": "Disallow var redeclaration" },
"no-restricted-properties": { "$ref": "#/definitions/rule", "description": "Disallow certain properties on certain objects" },
"no-return-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignment operators in return statements" },
"no-return-await": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary return await" },
"no-script-url": { "$ref": "#/definitions/rule", "description": "Disallow javascript: urls" },
"no-self-assign": { "$ref": "#/definitions/rule", "description": "Disallow assignments where both sides are exactly the same" },
"no-self-compare": { "$ref": "#/definitions/rule", "description": "Disallow comparisons where both sides are exactly the same" },
"no-sequences": { "$ref": "#/definitions/rule", "description": "Disallow comma operators" },
"no-throw-literal": { "$ref": "#/definitions/rule", "description": "Disallow throwing literals as exceptions" },
"no-unmodified-loop-condition": { "$ref": "#/definitions/rule", "description": "Disallow unmodified loop conditions" },
"no-unused-expressions": { "$ref": "#/definitions/rule", "description": "Disallow unused expressions" },
"no-unused-labels": { "$ref": "#/definitions/rule", "description": "Disallow unused labels" },
"no-useless-call": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary calls to .call() and .apply()" },
"no-useless-concat": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary concatenation of literals or template literals" },
"no-useless-escape": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary escape characters" },
"no-useless-return": { "$ref": "#/definitions/rule", "description": "Disallow redundant return statements" },
"no-void": { "$ref": "#/definitions/rule", "description": "Disallow void operators" },
"no-warning-comments": { "$ref": "#/definitions/rule", "description": "Disallow specified warning terms in comments" },
"no-with": { "$ref": "#/definitions/rule", "description": "Disallow with statements" },
"prefer-promise-reject-errors": { "$ref": "#/definitions/rule", "description": "Require using Error objects as Promise rejection reasons" },
"radix": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of the radix argument when using parseInt()" },
"require-await": { "$ref": "#/definitions/rule", "description": "Disallow async functions which have no await expression" },
"vars-on-top": { "$ref": "#/definitions/rule", "description": "Require var declarations be placed at the top of their containing scope" },
"wrap-iife": { "$ref": "#/definitions/rule", "description": "Require parentheses around immediate function invocations" },
"yoda": { "$ref": "#/definitions/rule", "description": "Require or Disallow “Yoda” conditions" }
}
},
"strictMode": {
"properties": {
"strict": { "$ref": "#/definitions/rule", "description": "require or disallow strict mode directives" }
}
},
"variables": {
"properties": {
"init-declarations": { "$ref": "#/definitions/rule", "description": "Require or disallow initialization in var declarations" },
"no-catch-shadow": { "$ref": "#/definitions/rule", "description": "Disallow catch clause parameters from shadowing variables in the outer scope" },
"no-delete-var": { "$ref": "#/definitions/rule", "description": "Disallow deleting variables" },
"no-label-var": { "$ref": "#/definitions/rule", "description": "Disallow labels that share a name with a variable" },
"no-restricted-globals": { "$ref": "#/definitions/rule", "description": "Disallow specified global variables" },
"no-shadow": { "$ref": "#/definitions/rule", "description": "Disallow var declarations from shadowing variables in the outer scope" },
"no-shadow-restricted-names": { "$ref": "#/definitions/rule", "description": "Disallow identifiers from shadowing restricted names" },
"no-undef": { "$ref": "#/definitions/rule", "description": "Disallow the use of undeclared variables unless mentioned in /*global */ comments" },
"no-undefined": { "$ref": "#/definitions/rule", "description": "Disallow the use of undefined as an identifier" },
"no-undef-init": { "$ref": "#/definitions/rule", "description": "Disallow initializing variables to undefined" },
"no-unused-vars": { "$ref": "#/definitions/rule", "description": "Disallow unused variables" },
"no-use-before-define": { "$ref": "#/definitions/rule", "description": "Disallow the use of variables before they are defined" }
}
},
"nodeAndCommonJs": {
"properties": {
"callback-return": { "$ref": "#/definitions/rule", "description": "Require return statements after callbacks" },
"global-require": { "$ref": "#/definitions/rule", "description": "Require require() calls to be placed at top-level module scope" },
"handle-callback-err": { "$ref": "#/definitions/rule", "description": "Require error handling in callbacks" },
"no-buffer-constructor": { "$ref": "#/definitions/rule", "description": "Disallow use of the Buffer() constructor" },
"no-mixed-requires": { "$ref": "#/definitions/rule", "description": "Disallow require calls to be mixed with regular var declarations" },
"no-new-require": { "$ref": "#/definitions/rule", "description": "Disallow new operators with calls to require" },
"no-path-concat": { "$ref": "#/definitions/rule", "description": "Disallow string concatenation with __dirname and __filename" },
"no-process-env": { "$ref": "#/definitions/rule", "description": "Disallow the use of process.env" },
"no-process-exit": { "$ref": "#/definitions/rule", "description": "Disallow the use of process.exit()" },
"no-restricted-modules": { "$ref": "#/definitions/rule", "description": "Disallow specified modules when loaded by require" },
"no-sync": { "$ref": "#/definitions/rule", "description": "Disallow synchronous methods" }
}
},
"stylisticIssues": {
"properties": {
"array-bracket-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks after opening and before closing array brackets" },
"array-bracket-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside array brackets" },
"array-element-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks after each array element" },
"block-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside single-line blocks" },
"brace-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent brace style for blocks" },
"camelcase": { "$ref": "#/definitions/rule", "description": "Enforce camelcase naming convention" },
"capitalized-comments": { "$ref": "#/definitions/rule", "description": "Enforce or disallow capitalization of the first letter of a comment" },
"comma-dangle": { "$ref": "#/definitions/rule", "description": "Require or disallow trailing commas" },
"comma-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after commas" },
"comma-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent comma style" },
"computed-property-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside computed property brackets" },
"consistent-this": { "$ref": "#/definitions/rule", "description": "Enforce consistent naming when capturing the current execution context" },
"eol-last": { "$ref": "#/definitions/rule", "description": "Enforce at least one newline at the end of files" },
"func-call-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing between function identifiers and their invocations" },
"func-name-matching": { "$ref": "#/definitions/rule", "description": "Require function names to match the name of the variable or property to which they are assigned" },
"func-names": { "$ref": "#/definitions/rule", "description": "Require or disallow named function expressions" },
"func-style": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either function declarations or expressions" },
"function-call-argument-newline": { "$ref": "#/definitions/rule", "description": "Enforce line breaks between arguments of a function call" },
"function-paren-newline": { "$ref": "#/definitions/rule", "description": "Enforce consistent line breaks inside function parentheses" },
"id-blacklist": { "$ref": "#/definitions/rule", "description": "Disallow specified identifiers" },
"id-length": { "$ref": "#/definitions/rule", "description": "Enforce minimum and maximum identifier lengths" },
"id-match": { "$ref": "#/definitions/rule", "description": "Require identifiers to match a specified regular expression" },
"implicit-arrow-linebreak": { "$ref": "#/definitions/rule", "description": "Enforce the location of arrow function bodies" },
"indent": { "$ref": "#/definitions/rule", "description": "Enforce consistent indentation" },
"indent-legacy": { "$ref": "#/definitions/rule", "description": "Enforce consistent indentation (legacy, deprecated)" },
"jsx-quotes": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either double or single quotes in JSX attributes" },
"key-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing between keys and values in object literal properties" },
"keyword-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after keywords" },
"line-comment-position": { "$ref": "#/definitions/rule", "description": "Enforce position of line comments" },
"lines-between-class-members": { "$ref": "#/definitions/rule", "description": "Require or disallow an empty line between class members" },
"linebreak-style": { "$ref": "#/definitions/rule", "description": "Enforce consistent linebreak style" },
"lines-around-comment": { "$ref": "#/definitions/rule", "description": "Require empty lines around comments" },
"lines-around-directive": { "$ref": "#/definitions/rule", "description": "Require or disallow newlines around directives" },
"max-depth": { "$ref": "#/definitions/rule", "description": "Enforce a maximum depth that blocks can be nested" },
"max-len": { "$ref": "#/definitions/rule", "description": "Enforce a maximum line length" },
"max-lines": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of lines per file" },
"max-nested-callbacks": { "$ref": "#/definitions/rule", "description": "Enforce a maximum depth that callbacks can be nested" },
"max-params": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of parameters in function definitions" },
"max-statements": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of statements allowed in function blocks" },
"max-statements-per-line": { "$ref": "#/definitions/rule", "description": "Enforce a maximum number of statements allowed per line" },
"multiline-comment-style": { "$ref": "#/definitions/rule", "description": "Enforce a particular style for multiline comments" },
"multiline-ternary": { "$ref": "#/definitions/rule", "description": "Enforce newlines between operands of ternary expressions" },
"new-cap": { "$ref": "#/definitions/rule", "description": "Require constructor function names to begin with a capital letter" },
"newline-after-var": { "$ref": "#/definitions/rule", "description": "Require or disallow an empty line after var declarations" },
"newline-before-return": { "$ref": "#/definitions/rule", "description": "Require an empty line before return statements" },
"newline-per-chained-call": { "$ref": "#/definitions/rule", "description": "Require a newline after each call in a method chain" },
"new-parens": { "$ref": "#/definitions/rule", "description": "Require parentheses when invoking a constructor with no arguments" },
"no-array-constructor": { "$ref": "#/definitions/rule", "description": "Disallow Array constructors" },
"no-bitwise": { "$ref": "#/definitions/rule", "description": "Disallow bitwise operators" },
"no-continue": { "$ref": "#/definitions/rule", "description": "Disallow continue statements" },
"no-inline-comments": { "$ref": "#/definitions/rule", "description": "Disallow inline comments after code" },
"no-lonely-if": { "$ref": "#/definitions/rule", "description": "Disallow if statements as the only statement in else blocks" },
"no-mixed-operators": { "$ref": "#/definitions/rule", "description": "Disallow mixed binary operators" },
"no-mixed-spaces-and-tabs": { "$ref": "#/definitions/rule", "description": "Disallow mixed spaces and tabs for indentation" },
"no-multi-assign": { "$ref": "#/definitions/rule", "description": "Disallow use of chained assignment expressions" },
"no-multiple-empty-lines": { "$ref": "#/definitions/rule", "description": "Disallow multiple empty lines" },
"no-negated-condition": { "$ref": "#/definitions/rule", "description": "Disallow negated conditions" },
"no-nested-ternary": { "$ref": "#/definitions/rule", "description": "Disallow nested ternary expressions" },
"no-new-object": { "$ref": "#/definitions/rule", "description": "Disallow Object constructors" },
"no-plusplus": { "$ref": "#/definitions/rule", "description": "Disallow the unary operators ++ and --" },
"no-restricted-syntax": { "$ref": "#/definitions/rule", "description": "Disallow specified syntax" },
"no-spaced-func": { "$ref": "#/definitions/rule"},
"no-tabs": { "$ref": "#/definitions/rule", "description": "Disallow tabs in file" },
"no-ternary": { "$ref": "#/definitions/rule", "description": "Disallow ternary operators" },
"no-trailing-spaces": { "$ref": "#/definitions/rule", "description": "Disallow trailing whitespace at the end of lines" },
"no-underscore-dangle": { "$ref": "#/definitions/rule", "description": "Disallow dangling underscores in identifiers" },
"no-unneeded-ternary": { "$ref": "#/definitions/rule", "description": "Disallow ternary operators when simpler alternatives exist" },
"no-whitespace-before-property": { "$ref": "#/definitions/rule", "description": "Disallow whitespace before properties" },
"nonblock-statement-body-position": { "$ref": "#/definitions/rule", "description": "Enforce the location of single-line statements" },
"object-curly-newline": { "$ref": "#/definitions/rule", "description": "Enforce consistent line breaks inside braces" },
"object-curly-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside braces" },
"object-property-newline": { "$ref": "#/definitions/rule", "description": "Enforce placing object properties on separate lines" },
"object-shorthand": { "$ref": "#/definitions/rule"},
"one-var": { "$ref": "#/definitions/rule", "description": "Enforce variables to be declared either together or separately in functions" },
"one-var-declaration-per-line": { "$ref": "#/definitions/rule", "description": "Require or disallow newlines around var declarations" },
"operator-assignment": { "$ref": "#/definitions/rule", "description": "Require or disallow assignment operator shorthand where possible" },
"operator-linebreak": { "$ref": "#/definitions/rule", "description": "Enforce consistent linebreak style for operators" },
"padded-blocks": { "$ref": "#/definitions/rule", "description": "Require or disallow padding within blocks" },
"padding-line-between-statements": { "$ref": "#/definitions/rule", "description": "Require or disallow padding lines between statements" },
"quote-props": { "$ref": "#/definitions/rule", "description": "Require quotes around object literal property names" },
"quotes": { "$ref": "#/definitions/rule", "description": "Enforce the consistent use of either backticks, double, or single quotes" },
"require-jsdoc": { "$ref": "#/definitions/rule", "description": "Require JSDoc comments" },
"semi": { "$ref": "#/definitions/rule", "description": "Require or disallow semicolons instead of ASI" },
"semi-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after semicolons" },
"semi-style": { "$ref": "#/definitions/rule", "description": "Enforce location of semicolons" },
"sort-keys": { "$ref": "#/definitions/rule", "description": "Requires object keys to be sorted" },
"sort-vars": { "$ref": "#/definitions/rule", "description": "Require variables within the same declaration block to be sorted" },
"space-before-blocks": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before blocks" },
"space-before-function-paren": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before function definition opening parenthesis" },
"spaced-comment": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing after the // or /* in a comment" },
"space-infix-ops": { "$ref": "#/definitions/rule", "description": "Require spacing around operators" },
"space-in-parens": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing inside parentheses" },
"space-unary-ops": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before or after unary operators" },
"switch-colon-spacing": { "$ref": "#/definitions/rule", "description": "Enforce spacing around colons of switch statements" },
"template-tag-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing between template tags and their literals" },
"unicode-bom": { "$ref": "#/definitions/rule", "description": "Require or disallow Unicode byte order mark (BOM)" },
"wrap-regex": { "$ref": "#/definitions/rule", "description": "Require parenthesis around regex literals" }
}
},
"ecmaScript6": {
"properties": {
"arrow-body-style": { "$ref": "#/definitions/rule", "description": "Require braces around arrow function bodies" },
"arrow-parens": { "$ref": "#/definitions/rule", "description": "Require parentheses around arrow function arguments" },
"arrow-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing before and after the arrow in arrow functions" },
"constructor-super": { "$ref": "#/definitions/rule", "description": "Require super() calls in constructors" },
"generator-star-spacing": { "$ref": "#/definitions/rule", "description": "Enforce consistent spacing around * operators in generator functions" },
"no-class-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning class members" },
"no-confusing-arrow": { "$ref": "#/definitions/rule", "description": "Disallow arrow functions where they could be confused with comparisons" },
"no-const-assign": { "$ref": "#/definitions/rule", "description": "Disallow reassigning const variables" },
"no-dupe-class-members": { "$ref": "#/definitions/rule", "description": "Disallow duplicate class members" },
"no-duplicate-imports": { "$ref": "#/definitions/rule", "description": "Disallow duplicate module imports" },
"no-new-symbol": { "$ref": "#/definitions/rule", "description": "Disallow new operators with the Symbol object" },
"no-restricted-imports": { "$ref": "#/definitions/rule", "description": "Disallow specified modules when loaded by import" },
"no-this-before-super": { "$ref": "#/definitions/rule", "description": "Disallow this/super before calling super() in constructors" },
"no-useless-computed-key": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary computed property keys in object literals" },
"no-useless-constructor": { "$ref": "#/definitions/rule", "description": "Disallow unnecessary constructors" },
"no-useless-rename": { "$ref": "#/definitions/rule", "description": "Disallow renaming import, export, and destructured assignments to the same name" },
"no-var": { "$ref": "#/definitions/rule", "description": "Require let or const instead of var" },
"object-shorthand": { "$ref": "#/definitions/rule", "description": "Require or disallow method and property shorthand syntax for object literals" },
"prefer-arrow-callback": { "$ref": "#/definitions/rule", "description": "Require arrow functions as callbacks" },
"prefer-const": { "$ref": "#/definitions/rule", "description": "Require const declarations for variables that are never reassigned after declared" },
"prefer-destructuring": { "$ref": "#/definitions/rule", "description": "Require destructuring from arrays and/or objects" },
"prefer-numeric-literals": { "$ref": "#/definitions/rule", "description": "Disallow parseInt() in favor of binary, octal, and hexadecimal literals" },
"prefer-reflect": { "$ref": "#/definitions/rule", "description": "Require Reflect methods where applicable" },
"prefer-rest-params": { "$ref": "#/definitions/rule", "description": "Require rest parameters instead of arguments" },
"prefer-spread": { "$ref": "#/definitions/rule", "description": "Require spread operators instead of .apply()" },
"prefer-template": { "$ref": "#/definitions/rule", "description": "Require template literals instead of string concatenation" },
"require-yield": { "$ref": "#/definitions/rule", "description": "Require generator functions to contain yield" },
"rest-spread-spacing": { "$ref": "#/definitions/rule", "description": "Enforce spacing between rest and spread operators and their expressions" },
"sort-imports": { "$ref": "#/definitions/rule", "description": "Enforce sorted import declarations within modules" },
"symbol-description": { "$ref": "#/definitions/rule", "description": "Require symbol descriptions" },
"template-curly-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing around embedded expressions of template strings" },
"yield-star-spacing": { "$ref": "#/definitions/rule", "description": "Require or disallow spacing around the * in yield* expressions" }
}
},
"legacy": {
"properties": {
"max-depth": { "$ref": "#/definitions/rule" },
"max-len": { "$ref": "#/definitions/rule" },
"max-params": { "$ref": "#/definitions/rule" },
"max-statements": { "$ref": "#/definitions/rule" },
"no-bitwise": { "$ref": "#/definitions/rule" },
"no-plusplus": { "$ref": "#/definitions/rule" }
}
}
},
"properties": {
"ecmaFeatures": {
"description": "By default, ESLint supports only ECMAScript 5 syntax. You can override that setting to enable support for ECMAScript 6 as well as JSX by using configuration settings.",
"type": "object",
"properties": {
"arrowFunctions": { "type": "boolean" },
"binaryLiterals": { "type": "boolean" },
"blockBindings": { "type": "boolean" },
"classes": { "type": "boolean" },
"defaultParams": { "type": "boolean" },
"destructuring": { "type": "boolean" },
"experimentalObjectRestSpread": { "type": "boolean",
"description": "Enables support for the experimental object rest/spread properties (IMPORTANT: This is an experimental feature that may change significantly in the future. It’s recommended that you do not write rules relying on this functionality unless you are willing to incur maintenance cost when it changes.)"},
"forOf": { "type": "boolean" },
"generators": { "type": "boolean" },
"globalReturn": { "type": "boolean", "description": "allow return statements in the global scope" },
"impliedStrict": { "type": "boolean", "description": "enable global strict mode (if ecmaVersion is 5 or greater)" },
"jsx": { "type": "boolean", "description": "enable JSX" },
"modules": { "type": "boolean" },
"objectLiteralComputedProperties": { "type": "boolean" },
"objectLiteralDuplicateProperties": { "type": "boolean" },
"objectLiteralShorthandMethods": { "type": "boolean" },
"objectLiteralShorthandProperties": { "type": "boolean" },
"octalLiterals": { "type": "boolean" },
"regexUFlag": { "type": "boolean" },
"regexYFlag": { "type": "boolean" },
"restParams": { "type": "boolean" },
"spread": { "type": "boolean" },
"superInFunctions": { "type": "boolean" },
"templateStrings": { "type": "boolean" },
"unicodeCodePointEscapes": { "type": "boolean" }
}
},
"env": {
"description": "An environment defines global variables that are predefined.",
"type": "object",
"properties": {
"amd": {
"type": "boolean",
"description": "defines require() and define() as global variables as per the amd spec"
},
"applescript": {
"type": "boolean",
"description": "AppleScript global variables"
},
"atomtest": {
"type": "boolean",
"description": "Atom test helper globals"
},
"browser": {
"type": "boolean",
"description": "browser global variables"
},
"commonjs": {
"type": "boolean",
"description": "CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack)"
},
"shared-node-browser": {
"type": "boolean",
"description": "Globals common to both Node and Browser"
},
"embertest": {
"type": "boolean",
"description": "Ember test helper globals"
},
"es6": {
"type": "boolean",
"description": "enable all ECMAScript 6 features except for modules"
},
"greasemonkey": {
"type": "boolean",
"description": "GreaseMonkey globals"
},
"jasmine": {
"type": "boolean",
"description": "adds all of the Jasmine testing global variables for version 1.3 and 2.0"
},
"jest": {
"type": "boolean",
"description": "Jest global variables"
},
"jquery": {
"type": "boolean",
"description": "jQuery global variables"
},
"meteor": {
"type": "boolean",
"description": "Meteor global variables"
},
"mocha": {
"type": "boolean",
"description": "adds all of the Mocha test global variables"
},
"mongo": {
"type": "boolean",
"description": "MongoDB global variables"
},
"nashorn": {
"type": "boolean",
"description": "Java 8 Nashorn global variables"
},
"node": {
"type": "boolean",
"description": "Node.js global variables and Node.js scoping"
},
"phantomjs": {
"type": "boolean",
"description": "PhantomJS global variables"
},
"prototypejs": {
"type": "boolean",
"description": "Prototype.js global variables"
},
"protractor": {
"type": "boolean",
"description": "Protractor global variables"
},
"qunit": {
"type": "boolean",
"description": "QUnit global variables"
},
"serviceworker": {
"type": "boolean",
"description": "Service Worker global variables"
},
"shelljs": {
"type": "boolean",
"description": "ShellJS global variables"
},
"webextensions": {
"type": "boolean",
"description": "WebExtensions globals"
},
"worker": {
"type": "boolean",
"description": "web workers global variables"
}
}
},
"extends": {
"description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"globals": {
"description": "Set each global variable name equal to true to allow the variable to be overwritten or false to disallow overwriting.",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"enum": [
"readonly", "writable", "off"
]
},
{
"description": "The values false|\"readable\" and true|\"writeable\" are deprecated, they are equivalent to \"readonly\" and \"writable\", respectively.",
"type": "boolean"
}
]
}
},
"noInlineConfig": {
"description": "Prevent comments from changing config or rules",
"type": "boolean"
},
"parser": {
"type": "string"
},
"parserOptions": {
"description": "The JavaScript language options to be supported",
"type": "object",
"properties": {
"ecmaFeatures": {
"$ref": "#/properties/ecmaFeatures"
},
"ecmaVersion": {
"enum": [ 3, 5, 6, 2015, 7, 2016, 8, 2017, 9, 2018, 10, 2019, 11, 2020, 12, 2021, 13, 2022, "latest" ],
"default": 11,
"description": "Set to 3, 5, 6, 7, 8, 9, 10, 11 (default), 12, 13 or \"latest\" to specify the version of ECMAScript syntax you want to use. You can also set to 2015 (same as 6), 2016 (same as 7), 2017 (same as 8), 2018 (same as 9), 2019 (same as 10), 2020 (same as 11) or 2021 (same as 12) or 2022 (same as 13) to use the year-based naming. \"latest\" always enables the latest supported ECMAScript version."
},
"sourceType": {
"enum": [ "script", "module" ],
"default": "script",
"description": "set to \"script\" (default) or \"module\" if your code is in ECMAScript modules"
}
}
},
"plugins": {
"description": "ESLint supports the use of third-party plugins. Before using the plugin, you have to install it using npm.",
"type": "array",
"items": {
"type": "string"
}
},
"root": {
"description": "By default, ESLint will look for configuration files in all parent folders up to the root directory. This can be useful if you want all of your projects to follow a certain convention, but can sometimes lead to unexpected results. To limit ESLint to a specific project, set this to `true` in a configuration in the root of your project.",
"type": "boolean"
},
"ignorePatterns": {
"description": "Tell ESLint to ignore specific files and directories. Each value uses the same pattern as the `.eslintignore` file.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"rules": {
"description": "ESLint comes with a large number of rules. You can modify which rules your project uses either using configuration comments or configuration files.",
"type": "object",
"allOf": [
{ "$ref": "#/definitions/possibleErrors" },
{ "$ref": "#/definitions/bestPractices" },
{ "$ref": "#/definitions/strictMode" },
{ "$ref": "#/definitions/variables" },
{ "$ref": "#/definitions/nodeAndCommonJs" },
{ "$ref": "#/definitions/stylisticIssues" },
{ "$ref": "#/definitions/ecmaScript6" },
{ "$ref": "#/definitions/legacy" }
]
},
"settings": {
"description": "ESLint supports adding shared settings into configuration file. You can add settings object to ESLint configuration file and it will be supplied to every rule that will be executed. This may be useful if you are adding custom rules and want them to have access to the same information and be easily configurable.",
"type": "object"
},
"overrides": {
"type": "array",
"description": "Allows to override configuration for files and folders, specified by glob patterns",
"items": {
"type": "object",
"properties": {
"files": {
"description": "Glob pattern for files to apply 'overrides' configuration, relative to the directory of the config file",
"oneOf": [
{
"type": "string"
},
{
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
]
},
"extends": {
"description": "If you want to extend a specific configuration file, you can use the extends property and specify the path to the file. The path can be either relative or absolute.",
"type": [ "string", "array" ],
"items": {
"type": "string"
}
},
"excludedFiles": {
"description": "If a file matches any of the 'excludedFiles' glob patterns, the 'overrides' configuration won’t apply",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"ecmaFeatures": {
"$ref": "#/properties/ecmaFeatures"
},
"env": {
"$ref": "#/properties/env"
},
"globals": {
"$ref": "#/properties/globals"
},
"parser": {
"$ref": "#/properties/parser"
},
"parserOptions": {
"$ref": "#/properties/parserOptions"
},
"plugins": {
"$ref": "#/properties/plugins"
},
"processor": {
"description": "To specify a processor, specify the plugin name and processor name joined by a forward slash",
"type": "string"
},
"rules": {
"$ref": "#/properties/rules"
},
"settings": {
"$ref": "#/properties/settings"
}
},
"additionalProperties": false,
"required": [
"files"
]
}
}
}
}
{"version":1,"resource":"file:///d%3A/Games/Planet%20Coaster/Origins.ini","entries":[{"id":"6kHf.ini","timestamp":1655675233908}]}
{"version":1,"resource":"file://wsl%24/Ubuntu-20.04/home/takoo/PROJECTS/trash/google.css","entries":[{"id":"79Il.css","source":"textFileCreate.source","timestamp":1653232744805}]}
{
"folders": [
{
"path": "C:\\Users\\Takoo\\hub\\epigram\\back"
},
{
"path": "C:\\Users\\Takoo\\lab\\polaris\\polaback"
},
{
"path": "..\\..\\..\\..\\..\\lab\\simco\\simdrive-back"
}
],
"settings": {}
}
{
"folders": [
{
"path": "C:\\Users\\Takoo\\hub\\epigram\\back"
},
{
"path": "C:\\Users\\Takoo\\lab\\polaris\\polaback"
},
{
"path": "..\\..\\..\\..\\..\\lab\\simco\\simdrive-back"
},
{
"path": "..\\..\\..\\..\\..\\lab\\simco\\simactu-back"
}
],
"settings": {}
}
{"version":1,"resource":"file:///d%3A/Games/SteamLibrary/steamapps/common/Mount%20%26%20Blade%20II%20Bannerlord/Modules/ServeAsSoldier/settings.xml","entries":[{"id":"Hyxx.xml","timestamp":1653700600935}]}
{"version":1,"resource":"file:///d%3A/Games/SteamLibrary/steamapps/common/Mount%20%26%20Blade%20II%20Bannerlord/Modules/CustomizableClanTier/settings.xml","entries":[{"id":"7QME.xml","timestamp":1654177625321}]}
{
"workbench.colorTheme": "Palenight Theme",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"vsicons.dontShowNewVersionMessage": true,
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"C_Cpp.updateChannel": "Insiders",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"git.ignoreMissingGitWarning": true,
"workbench.startupEditor": "newUntitledFile",
"python.showStartPage": false,
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"sonarlint.ls.javaHome": "/home/takoo/.vscode-server/extensions/sonarsource.sonarlint_managed-jre/jre/jdk-11.0.10+9-jre",
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.tabSize": 2,
"vetur.ignoreProjectWarning": true,
"security.workspace.trust.untrustedFiles": "open",
"workbench.iconTheme": "vscode-icons",
"workbench.editorAssociations": {
"*.ipynb": "jupyter-notebook"
},
"notebook.cellToolbarLocation": {
"default": "right",
"jupyter-notebook": "left"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"javascript.updateImportsOnFileMove.enabled": "always",
"search.exclude": {
"**/node_modules": false
},
"files.eol": "\n",
"git.confirmSync": false,
"prettier.requireConfig": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"workbench.editor.splitInGroupLayout": "vertical",
"i18n-ally.displayLanguage": "fr",
"vite.autoStart": false,
"vite.browserType": "system",
"vite.devCommand": "npm run dev",
"vite.port": 3000,
"iconify.excludes": ["el"],
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"window.zoomLevel": 1,
"sync.gist": "b724ee674fa6338d7958abeddad883d3"
}
{
// Place your snippets for vue here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
"Print to console": {
"prefix": "log",
"body": ["console.log('$1');", "$2"],
"description": "Log output to console"
},
"vuestart": {
"body": [
"<template>",
"<div id='$1'>$0</div>",
"</template>",
"",
"<script>",
"import { mapState, mapGetters, mapMutations, mapActions } from 'vuex'",
"",
"export default {",
"name: '$1',",
" computed: {",
"...mapState([$2]),",
"...mapGetters([$3]),",
"},",
"data() {",
"return {}",
"},",
"mounted() {},",
"methods: {",
"...mapMutations([$4]),",
"...mapActions([$5]),",
"},",
"}",
"</script>",
"",
"<style lang='scss' scoped>",
"#$1 {}",
"</style>",
"",
"<style lang='scss'>",
"#$1 {}",
"</style>"
],
"prefix": "vuestart",
"description": "Creates a new template."
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment