14534 lines
459 KiB
JSON
14534 lines
459 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://json.schemastore.org/partial-eslint-plugins.json",
|
|
"$comment": "For improvements to this schema, please send a PR to https://github.com/fox-projects/jsonschema-extractor.",
|
|
"type": "object",
|
|
"definitions": {
|
|
"ruleNumber": {
|
|
"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
|
|
},
|
|
"ruleString": {
|
|
"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"]
|
|
},
|
|
"pluginNames": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"eslint-plugin-jest",
|
|
"eslint-plugin-n",
|
|
"eslint-plugin-jsx-a11y",
|
|
"eslint-plugin-react",
|
|
"eslint-plugin-unused-imports",
|
|
"eslint-plugin-react-hooks",
|
|
"eslint-plugin-import",
|
|
"eslint-plugin-security",
|
|
"eslint-plugin-unicorn",
|
|
"eslint-plugin-regexp",
|
|
"eslint-plugin-ft-flow",
|
|
"eslint-plugin-prettier",
|
|
"eslint-plugin-cypress",
|
|
"eslint-plugin-eslint-plugin",
|
|
"eslint-plugin-mocha",
|
|
"eslint-plugin-qunit",
|
|
"eslint-plugin-jasmine",
|
|
"eslint-plugin-ember",
|
|
"eslint-plugin-you-dont-need-lodash-underscore",
|
|
"@tanstack/eslint-plugin-query",
|
|
"eslint-plugin-react-perf",
|
|
"eslint-plugin-no-only-tests",
|
|
"eslint-plugin-jsdoc",
|
|
"eslint-plugin-yml",
|
|
"eslint-plugin-vue",
|
|
"eslint-plugin-jest-dom",
|
|
"eslint-plugin-simple-import-sort",
|
|
"eslint-plugin-ava",
|
|
"eslint-plugin-es-x",
|
|
"eslint-plugin-testing-library",
|
|
"eslint-plugin-i18next",
|
|
"eslint-plugin-markdown",
|
|
"eslint-plugin-local-rules",
|
|
"eslint-plugin-html",
|
|
"eslint-plugin-sonarjs",
|
|
"eslint-plugin-lodash",
|
|
"@next/eslint-plugin-next",
|
|
"eslint-plugin-perfectionist",
|
|
"eslint-plugin-canonical",
|
|
"eslint-plugin-jest-formatting",
|
|
"eslint-plugin-babel",
|
|
"eslint-plugin-tailwindcss",
|
|
"eslint-plugin-flowtype",
|
|
"eslint-plugin-lit-a11y",
|
|
"@rushstack/eslint-plugin-security",
|
|
"eslint-plugin-sort-exports",
|
|
"eslint-plugin-json",
|
|
"eslint-plugin-react-native",
|
|
"eslint-plugin-deprecation",
|
|
"eslint-plugin-vuejs-accessibility",
|
|
"eslint-plugin-chai-friendly",
|
|
"eslint-plugin-check-file",
|
|
"eslint-plugin-promise",
|
|
"eslint-plugin-sort-class-members",
|
|
"eslint-plugin-astro",
|
|
"eslint-plugin-playwright",
|
|
"eslint-plugin-typescript-sort-keys",
|
|
"eslint-plugin-react-refresh",
|
|
"eslint-plugin-jsonc",
|
|
"eslint-plugin-ban",
|
|
"eslint-plugin-tsdoc",
|
|
"eslint-plugin-vitest",
|
|
"eslint-plugin-nuxt",
|
|
"eslint-plugin-i",
|
|
"eslint-plugin-css-modules",
|
|
"eslint-plugin-no-secrets"
|
|
]
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"properties": {
|
|
"@angular-eslint/component-class-suffix": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"suffixes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Classes decorated with @Component must have suffix \"Component\" (or custom) in their name. See more at https://angular.dev/style-guide#style-02-03\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-class-suffix.md"
|
|
},
|
|
"@angular-eslint/component-max-inline-declarations": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"template": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"styles": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"animations": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforces a maximum number of lines in inline template, styles and animations. See more at https://angular.dev/style-guide#style-05-04\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-max-inline-declarations.md"
|
|
},
|
|
"@angular-eslint/component-selector": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"type": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["element", "attribute"]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"prefix": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
},
|
|
"style": {
|
|
"type": "string",
|
|
"enum": ["camelCase", "kebab-case"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Component selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-07, https://angular.dev/style-guide#style-05-02\n and https://angular.dev/style-guide#style-05-03.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/component-selector.md"
|
|
},
|
|
"@angular-eslint/consistent-component-styles": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensures consistent usage of `styles`/`styleUrls`/`styleUrl` within Component metadata\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-component-styles.md"
|
|
},
|
|
"@angular-eslint/contextual-decorator": {
|
|
"description": "Ensures that classes use contextual decorators in its body\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-decorator.md"
|
|
},
|
|
"@angular-eslint/contextual-lifecycle": {
|
|
"description": "Ensures that lifecycle methods are used in a correct context\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/contextual-lifecycle.md"
|
|
},
|
|
"@angular-eslint/directive-class-suffix": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"suffixes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Classes decorated with @Directive must have suffix \"Directive\" (or custom) in their name. See more at https://angular.dev/style-guide#style-02-03\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-class-suffix.md"
|
|
},
|
|
"@angular-eslint/directive-selector": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"type": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["element", "attribute"]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"prefix": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
},
|
|
"style": {
|
|
"type": "string",
|
|
"enum": ["camelCase", "kebab-case"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Directive selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-06 and https://angular.dev/style-guide#style-02-08.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/directive-selector.md"
|
|
},
|
|
"@angular-eslint/no-async-lifecycle-method": {
|
|
"description": "Angular Lifecycle methods should not be async. Angular does not wait for async lifecycle but the code incorrectly suggests it does.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-async-lifecycle-method.md"
|
|
},
|
|
"@angular-eslint/no-attribute-decorator": {
|
|
"description": "The @Attribute decorator is used to obtain a single value for an attribute. This is a much less common use-case than getting a stream of values (using @Input), so often the @Attribute decorator is mistakenly used when @Input was what was intended. This rule disallows usage of @Attribute decorator altogether in order to prevent these mistakes.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-attribute-decorator.md"
|
|
},
|
|
"@angular-eslint/no-conflicting-lifecycle": {
|
|
"description": "Ensures that directives not implement conflicting lifecycle interfaces.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-conflicting-lifecycle.md"
|
|
},
|
|
"@angular-eslint/no-duplicates-in-metadata-arrays": {
|
|
"description": "Ensures that metadata arrays do not contain duplicate entries.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-duplicates-in-metadata-arrays.md"
|
|
},
|
|
"@angular-eslint/no-empty-lifecycle-method": {
|
|
"description": "Disallows declaring empty lifecycle methods\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-empty-lifecycle-method.md"
|
|
},
|
|
"@angular-eslint/no-forward-ref": {
|
|
"description": "Disallows usage of `forwardRef` references for DI\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-forward-ref.md"
|
|
},
|
|
"@angular-eslint/no-host-metadata-property": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowStatic": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallows usage of the `host` metadata property. NOTE: This used to be recommended by the Angular Team, but now they recommend the exact opposite: https://github.com/angular/angular/issues/54284\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-host-metadata-property.md"
|
|
},
|
|
"@angular-eslint/no-input-prefix": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"prefixes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensures that input bindings, including aliases, are not named or prefixed by the configured disallowed prefixes\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-prefix.md"
|
|
},
|
|
"@angular-eslint/no-input-rename": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowedNames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "A list with allowed input names",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensures that input bindings are not aliased\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-input-rename.md"
|
|
},
|
|
"@angular-eslint/no-inputs-metadata-property": {
|
|
"description": "Disallows usage of the `inputs` metadata property. See more at https://angular.dev/style-guide#style-05-12\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-inputs-metadata-property.md"
|
|
},
|
|
"@angular-eslint/no-lifecycle-call": {
|
|
"description": "Disallows explicit calls to lifecycle methods\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-lifecycle-call.md"
|
|
},
|
|
"@angular-eslint/no-output-native": {
|
|
"description": "Ensures that output bindings, including aliases, are not named as standard DOM events\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-native.md"
|
|
},
|
|
"@angular-eslint/no-output-on-prefix": {
|
|
"description": "Ensures that output bindings, including aliases, are not named \"on\", nor prefixed with it. See more at https://angular.dev/style-guide#style-05-16\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-on-prefix.md"
|
|
},
|
|
"@angular-eslint/no-output-rename": {
|
|
"description": "Ensures that output bindings are not aliased\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-output-rename.md"
|
|
},
|
|
"@angular-eslint/no-outputs-metadata-property": {
|
|
"description": "Disallows usage of the `outputs` metadata property. See more at https://angular.dev/style-guide#style-05-12\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-outputs-metadata-property.md"
|
|
},
|
|
"@angular-eslint/no-pipe-impure": {
|
|
"description": "Disallows the declaration of impure pipes\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-pipe-impure.md"
|
|
},
|
|
"@angular-eslint/no-queries-metadata-property": {
|
|
"description": "Disallows usage of the `queries` metadata property. See more at https://angular.dev/style-guide#style-05-12.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/no-queries-metadata-property.md"
|
|
},
|
|
"@angular-eslint/pipe-prefix": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"prefixes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent prefix for pipes.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/pipe-prefix.md"
|
|
},
|
|
"@angular-eslint/prefer-on-push-component-change-detection": {
|
|
"description": "Ensures component's `changeDetection` is set to `ChangeDetectionStrategy.OnPush`\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-on-push-component-change-detection.md"
|
|
},
|
|
"@angular-eslint/prefer-standalone": {
|
|
"description": "Ensures component, directive and pipe `standalone` property is set to `true` in the component decorator\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone.md"
|
|
},
|
|
"@angular-eslint/prefer-standalone-component": {
|
|
"description": "Ensures component `standalone` property is set to `true` in the component decorator\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone-component.md"
|
|
},
|
|
"@angular-eslint/prefer-output-readonly": {
|
|
"description": "Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-readonly.md"
|
|
},
|
|
"@angular-eslint/relative-url-prefix": {
|
|
"description": "The ./ and ../ prefix is standard syntax for relative URLs; don't depend on Angular's current ability to do without that prefix. See more at https://angular.dev/style-guide#style-05-04\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/relative-url-prefix.md"
|
|
},
|
|
"@angular-eslint/require-localize-metadata": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"requireDescription": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"requireMeaning": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensures that $localize tagged messages contain helpful metadata to aid with translations.\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/require-localize-metadata.md"
|
|
},
|
|
"@angular-eslint/sort-lifecycle-methods": {
|
|
"description": "Ensures that lifecycle methods are declared in order of execution\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-lifecycle-methods.md"
|
|
},
|
|
"@angular-eslint/sort-ngmodule-metadata-arrays": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "A string with a BCP 47 language tag.",
|
|
"default": "en-US"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensures ASC alphabetical order for `NgModule` metadata arrays for easy visual scanning\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/sort-ngmodule-metadata-arrays.md"
|
|
},
|
|
"@angular-eslint/use-component-selector": {
|
|
"description": "Component selector must be declared\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-selector.md"
|
|
},
|
|
"@angular-eslint/use-component-view-encapsulation": {
|
|
"description": "Disallows using `ViewEncapsulation.None`\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-view-encapsulation.md"
|
|
},
|
|
"@angular-eslint/use-injectable-provided-in": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreClassNamePattern": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Using the `providedIn` property makes `Injectables` tree-shakable\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-injectable-provided-in.md"
|
|
},
|
|
"@angular-eslint/use-lifecycle-interface": {
|
|
"description": "Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.dev/style-guide#style-09-01\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-lifecycle-interface.md"
|
|
},
|
|
"@angular-eslint/use-pipe-transform-interface": {
|
|
"description": "Ensures that `Pipes` implement `PipeTransform` interface\nhttps://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-pipe-transform-interface.md"
|
|
},
|
|
"eslint-plugin-import/no-unresolved": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
},
|
|
"amd": {
|
|
"type": "boolean"
|
|
},
|
|
"esmodule": {
|
|
"type": "boolean"
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"caseSensitive": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"caseSensitiveStrict": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensure imports point to a file/module that can be resolved.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unresolved.md"
|
|
},
|
|
"eslint-plugin-import/named": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensure named imports correspond to a named export in the remote file.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/named.md"
|
|
},
|
|
"eslint-plugin-import/default": {
|
|
"description": "Ensure a default export is present, given a default import.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/default.md"
|
|
},
|
|
"eslint-plugin-import/namespace": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowComputed": {
|
|
"description": "If `false`, will report computed (and thus, un-lintable) references to namespace members.",
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensure imported namespaces contain dereferenced properties as they are dereferenced.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/namespace.md"
|
|
},
|
|
"eslint-plugin-import/no-namespace": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignore": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid namespace (a.k.a. \"wildcard\" `*`) imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-namespace.md"
|
|
},
|
|
"eslint-plugin-import/export": {
|
|
"description": "Forbid any invalid exports, i.e. re-export of the same name.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/export.md"
|
|
},
|
|
"eslint-plugin-import/no-mutable-exports": {
|
|
"description": "Forbid the use of mutable exports with `var` or `let`.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-mutable-exports.md"
|
|
},
|
|
"eslint-plugin-import/extensions": {
|
|
"description": "Ensure consistent use of file extension within the import path.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/extensions.md"
|
|
},
|
|
"eslint-plugin-import/no-restricted-paths": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"zones": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
}
|
|
]
|
|
},
|
|
"from": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
}
|
|
]
|
|
},
|
|
"except": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"basePath": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce which files can be imported in a given folder.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-restricted-paths.md"
|
|
},
|
|
"eslint-plugin-import/no-internal-modules": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid importing the submodules of other modules.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-internal-modules.md"
|
|
},
|
|
"eslint-plugin-import/group-exports": {
|
|
"description": "Prefer named exports to be grouped together in a single export declaration\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/group-exports.md"
|
|
},
|
|
"eslint-plugin-import/no-relative-packages": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
},
|
|
"amd": {
|
|
"type": "boolean"
|
|
},
|
|
"esmodule": {
|
|
"type": "boolean"
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid importing packages through relative paths.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-relative-packages.md"
|
|
},
|
|
"eslint-plugin-import/no-relative-parent-imports": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
},
|
|
"amd": {
|
|
"type": "boolean"
|
|
},
|
|
"esmodule": {
|
|
"type": "boolean"
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid importing modules from parent directories.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-relative-parent-imports.md"
|
|
},
|
|
"eslint-plugin-import/consistent-type-specifier-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce or ban the use of inline type-only markers for named imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/consistent-type-specifier-style.md"
|
|
},
|
|
"eslint-plugin-import/no-self-import": {
|
|
"description": "Forbid a module from importing itself.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-self-import.md"
|
|
},
|
|
"eslint-plugin-import/no-cycle": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
},
|
|
"amd": {
|
|
"type": "boolean"
|
|
},
|
|
"esmodule": {
|
|
"type": "boolean"
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"maxDepth": {
|
|
"anyOf": [
|
|
{
|
|
"description": "maximum dependency depth to traverse",
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
{
|
|
"enum": ["∞"],
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"ignoreExternal": {
|
|
"description": "ignore external modules",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowUnsafeDynamicCyclicDependency": {
|
|
"description": "Allow cyclic dependency if there is at least one dynamic import in the chain",
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid a module from importing a module with a dependency path back to itself.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-cycle.md"
|
|
},
|
|
"eslint-plugin-import/no-named-default": {
|
|
"description": "Forbid named default exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-default.md"
|
|
},
|
|
"eslint-plugin-import/no-named-as-default": {
|
|
"description": "Forbid use of exported name as identifier of default export.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-as-default.md"
|
|
},
|
|
"eslint-plugin-import/no-named-as-default-member": {
|
|
"description": "Forbid use of exported name as property of default export.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-as-default-member.md"
|
|
},
|
|
"eslint-plugin-import/no-anonymous-default-export": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowArray": {
|
|
"description": "If `false`, will report default export of an array",
|
|
"type": "boolean"
|
|
},
|
|
"allowArrowFunction": {
|
|
"description": "If `false`, will report default export of an arrow function",
|
|
"type": "boolean"
|
|
},
|
|
"allowCallExpression": {
|
|
"description": "If `false`, will report default export of a function call",
|
|
"type": "boolean"
|
|
},
|
|
"allowAnonymousClass": {
|
|
"description": "If `false`, will report default export of an anonymous class",
|
|
"type": "boolean"
|
|
},
|
|
"allowAnonymousFunction": {
|
|
"description": "If `false`, will report default export of an anonymous function",
|
|
"type": "boolean"
|
|
},
|
|
"allowLiteral": {
|
|
"description": "If `false`, will report default export of a literal",
|
|
"type": "boolean"
|
|
},
|
|
"allowObject": {
|
|
"description": "If `false`, will report default export of an object expression",
|
|
"type": "boolean"
|
|
},
|
|
"allowNew": {
|
|
"description": "If `false`, will report default export of a class instantiation",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid anonymous values as default exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-anonymous-default-export.md"
|
|
},
|
|
"eslint-plugin-import/no-unused-modules": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"src": {
|
|
"description": "files/paths to be analyzed (only for unused exports)",
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"ignoreExports": {
|
|
"description": "files/paths for which unused exports will not be reported (e.g module entry points)",
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"missingExports": {
|
|
"description": "report modules without any exports",
|
|
"type": "boolean"
|
|
},
|
|
"unusedExports": {
|
|
"description": "report exports without any usage",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid modules without exports, or exports without matching import in another module.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unused-modules.md"
|
|
},
|
|
"eslint-plugin-import/no-commonjs": {
|
|
"description": "Forbid CommonJS `require` calls and `module.exports` or `exports.*`.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-commonjs.md"
|
|
},
|
|
"eslint-plugin-import/no-amd": {
|
|
"description": "Forbid AMD `require` and `define` calls.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-amd.md"
|
|
},
|
|
"eslint-plugin-import/no-duplicates": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"considerQueryString": {
|
|
"type": "boolean"
|
|
},
|
|
"prefer-inline": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid repeated import of the same module in multiple places.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-duplicates.md"
|
|
},
|
|
"eslint-plugin-import/first": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Ensure all imports appear before other statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/first.md"
|
|
},
|
|
"eslint-plugin-import/max-dependencies": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"max": {
|
|
"type": "number"
|
|
},
|
|
"ignoreTypeImports": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce the maximum number of dependencies a module can have.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/max-dependencies.md"
|
|
},
|
|
"eslint-plugin-import/no-extraneous-dependencies": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"devDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"optionalDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"peerDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"bundledDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"packageDir": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"includeInternal": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
},
|
|
"includeTypes": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid the use of extraneous packages.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-extraneous-dependencies.md"
|
|
},
|
|
"eslint-plugin-import/no-absolute-path": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
},
|
|
"amd": {
|
|
"type": "boolean"
|
|
},
|
|
"esmodule": {
|
|
"type": "boolean"
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid import of modules using absolute paths.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-absolute-path.md"
|
|
},
|
|
"eslint-plugin-import/no-nodejs-modules": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid Node.js builtin modules.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-nodejs-modules.md"
|
|
},
|
|
"eslint-plugin-import/no-webpack-loader-syntax": {
|
|
"description": "Forbid webpack loader syntax in imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-webpack-loader-syntax.md"
|
|
},
|
|
"eslint-plugin-import/order": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"groups": {
|
|
"type": "array"
|
|
},
|
|
"pathGroupsExcludedImportTypes": {
|
|
"type": "array"
|
|
},
|
|
"distinctGroup": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"pathGroups": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pattern": {
|
|
"type": "string"
|
|
},
|
|
"patternOptions": {
|
|
"type": "object"
|
|
},
|
|
"group": {
|
|
"type": "string",
|
|
"enum": [
|
|
"builtin",
|
|
"external",
|
|
"internal",
|
|
"unknown",
|
|
"parent",
|
|
"sibling",
|
|
"index",
|
|
"object",
|
|
"type"
|
|
]
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"enum": ["after", "before"]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["pattern", "group"]
|
|
}
|
|
},
|
|
"newlines-between": {
|
|
"enum": [
|
|
"ignore",
|
|
"always",
|
|
"always-and-inside-groups",
|
|
"never"
|
|
]
|
|
},
|
|
"alphabetize": {
|
|
"type": "object",
|
|
"properties": {
|
|
"caseInsensitive": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"order": {
|
|
"enum": ["ignore", "asc", "desc"],
|
|
"default": "ignore"
|
|
},
|
|
"orderImportKind": {
|
|
"enum": ["ignore", "asc", "desc"],
|
|
"default": "ignore"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"warnOnUnassignedImports": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce a convention in module import order.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/order.md"
|
|
},
|
|
"eslint-plugin-import/newline-after-import": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"exactCount": {
|
|
"type": "boolean"
|
|
},
|
|
"considerComments": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce a newline after import statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/newline-after-import.md"
|
|
},
|
|
"eslint-plugin-import/prefer-default-export": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"enum": ["single", "any"],
|
|
"default": "single"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer a default export if module exports a single name or multiple names.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/prefer-default-export.md"
|
|
},
|
|
"eslint-plugin-import/no-default-export": {
|
|
"description": "Forbid default exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-default-export.md"
|
|
},
|
|
"eslint-plugin-import/no-named-export": {
|
|
"description": "Forbid named exports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-named-export.md"
|
|
},
|
|
"eslint-plugin-import/no-dynamic-require": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"esmodule": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid `require()` calls with expressions.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-dynamic-require.md"
|
|
},
|
|
"eslint-plugin-import/unambiguous": {
|
|
"description": "Forbid potentially ambiguous parse goal (`script` vs. `module`).\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/unambiguous.md"
|
|
},
|
|
"eslint-plugin-import/no-unassigned-import": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"devDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"optionalDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"peerDependencies": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
]
|
|
},
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid unassigned imports\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-unassigned-import.md"
|
|
},
|
|
"eslint-plugin-import/no-useless-path-segments": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"commonjs": {
|
|
"type": "boolean"
|
|
},
|
|
"noUselessIndex": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid unnecessary path segments in import and require statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-useless-path-segments.md"
|
|
},
|
|
"eslint-plugin-import/dynamic-import-chunkname": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"importFunctions": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"webpackChunknameFormat": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce a leading comment with the webpackChunkName for dynamic imports.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/dynamic-import-chunkname.md"
|
|
},
|
|
"eslint-plugin-import/no-import-module-exports": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"exceptions": {
|
|
"type": "array"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Forbid import statements with CommonJS module.exports.\n"
|
|
},
|
|
"eslint-plugin-import/no-empty-named-blocks": {
|
|
"description": "Forbid empty named import blocks.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-empty-named-blocks.md"
|
|
},
|
|
"eslint-plugin-import/exports-last": {
|
|
"description": "Ensure all exports appear after other statements.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/exports-last.md"
|
|
},
|
|
"eslint-plugin-import/no-deprecated": {
|
|
"description": "Forbid imported names marked with `@deprecated` documentation tag.\nhttps://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-deprecated.md"
|
|
},
|
|
"eslint-plugin-import/imports-first": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Replaced by `import/first`.\nhttps://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md"
|
|
},
|
|
"eslint-plugin-unicorn/better-regex": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"sortCharacterClasses": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Improve regexes by making them shorter, consistent, and safer.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/better-regex.md"
|
|
},
|
|
"eslint-plugin-unicorn/catch-error-name": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce a specific parameter name in catch clauses.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/catch-error-name.md"
|
|
},
|
|
"eslint-plugin-unicorn/consistent-destructuring": {
|
|
"description": "Use destructured variables over properties.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-destructuring.md"
|
|
},
|
|
"eslint-plugin-unicorn/consistent-empty-array-spread": {
|
|
"description": "Prefer consistent types when spreading a ternary in an array literal.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-empty-array-spread.md"
|
|
},
|
|
"eslint-plugin-unicorn/consistent-function-scoping": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkArrowFunctions": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Move function definitions to the highest possible scope.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-function-scoping.md"
|
|
},
|
|
"eslint-plugin-unicorn/custom-error-definition": {
|
|
"description": "Enforce correct `Error` subclassing.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/custom-error-definition.md"
|
|
},
|
|
"eslint-plugin-unicorn/empty-brace-spaces": {
|
|
"description": "Enforce no spaces between braces.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/empty-brace-spaces.md"
|
|
},
|
|
"eslint-plugin-unicorn/error-message": {
|
|
"description": "Enforce passing a `message` value when creating a built-in error.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/error-message.md"
|
|
},
|
|
"eslint-plugin-unicorn/escape-case": {
|
|
"description": "Require escape sequences to use uppercase values.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/escape-case.md"
|
|
},
|
|
"eslint-plugin-unicorn/expiring-todo-comments": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"terms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"ignoreDatesOnPullRequests": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"allowWarningComments": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"format": "date"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Add expiration conditions to TODO comments.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/expiring-todo-comments.md"
|
|
},
|
|
"eslint-plugin-unicorn/explicit-length-check": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"non-zero": {
|
|
"enum": ["greater-than", "not-equal"],
|
|
"default": "greater-than"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce explicitly comparing the `length` or `size` property of a value.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/explicit-length-check.md"
|
|
},
|
|
"eslint-plugin-unicorn/filename-case": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce a case style for filenames.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/filename-case.md"
|
|
},
|
|
"eslint-plugin-unicorn/import-style": {
|
|
"description": "Enforce specific import styles per module.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/import-style.md"
|
|
},
|
|
"eslint-plugin-unicorn/new-for-builtins": {
|
|
"description": "Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/new-for-builtins.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-abusive-eslint-disable": {
|
|
"description": "Enforce specifying rules to disable in `eslint-disable` comments.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-abusive-eslint-disable.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-anonymous-default-export": {
|
|
"description": "Disallow anonymous functions and classes as the default export.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-anonymous-default-export.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-array-callback-reference": {
|
|
"description": "Prevent passing a function reference directly to iterator methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-callback-reference.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-array-for-each": {
|
|
"description": "Prefer `for…of` over the `forEach` method.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-for-each.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-array-method-this-argument": {
|
|
"description": "Disallow using the `this` argument in array methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-method-this-argument.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-array-push-push": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignore": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce combining multiple `Array#push()` into one call.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-push-push.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-array-reduce": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowSimpleOperations": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow `Array#reduce()` and `Array#reduceRight()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-reduce.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-await-expression-member": {
|
|
"description": "Disallow member access from await expression.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-expression-member.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-await-in-promise-methods": {
|
|
"description": "Disallow using `await` in `Promise` method parameters.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-in-promise-methods.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-console-spaces": {
|
|
"description": "Do not use leading/trailing space between `console.log` parameters.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-console-spaces.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-document-cookie": {
|
|
"description": "Do not use `document.cookie` directly.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-document-cookie.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-empty-file": {
|
|
"description": "Disallow empty files.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-empty-file.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-for-loop": {
|
|
"description": "Do not use a `for` loop that can be replaced with a `for-of` loop.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-for-loop.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-hex-escape": {
|
|
"description": "Enforce the use of Unicode escapes instead of hexadecimal escapes.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-hex-escape.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-instanceof-array": {
|
|
"description": "Require `Array.isArray()` instead of `instanceof Array`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-instanceof-array.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-invalid-fetch-options": {
|
|
"description": "Disallow invalid options in `fetch()` and `new Request()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-fetch-options.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-invalid-remove-event-listener": {
|
|
"description": "Prevent calling `EventTarget#removeEventListener()` with the result of an expression.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-remove-event-listener.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-keyword-prefix": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"disallowedPrefixes": {
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"maxItems": 1
|
|
},
|
|
"checkProperties": {
|
|
"type": "boolean"
|
|
},
|
|
"onlyCamelCase": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow identifiers starting with `new` or `class`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-keyword-prefix.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-lonely-if": {
|
|
"description": "Disallow `if` statements as the only statement in `if` blocks without `else`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-lonely-if.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-magic-array-flat-depth": {
|
|
"description": "Disallow a magic number as the `depth` argument in `Array#flat(…).`\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-magic-array-flat-depth.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-negated-condition": {
|
|
"description": "Disallow negated conditions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negated-condition.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-negation-in-equality-check": {
|
|
"description": "Disallow negated expression in equality check.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negation-in-equality-check.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-nested-ternary": {
|
|
"description": "Disallow nested ternary expressions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-nested-ternary.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-new-array": {
|
|
"description": "Disallow `new Array()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-array.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-new-buffer": {
|
|
"description": "Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-buffer.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-null": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkStrictEquality": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow the use of the `null` literal.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-null.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-object-as-default-parameter": {
|
|
"description": "Disallow the use of objects as default parameters.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-object-as-default-parameter.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-process-exit": {
|
|
"description": "Disallow `process.exit()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-process-exit.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-single-promise-in-promise-methods": {
|
|
"description": "Disallow passing single-element arrays to `Promise` methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-single-promise-in-promise-methods.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-static-only-class": {
|
|
"description": "Disallow classes that only have static members.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-static-only-class.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-thenable": {
|
|
"description": "Disallow `then` property.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-thenable.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-this-assignment": {
|
|
"description": "Disallow assigning `this` to a variable.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-this-assignment.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-typeof-undefined": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkGlobalVariables": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow comparing `undefined` using `typeof`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-typeof-undefined.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-unnecessary-await": {
|
|
"description": "Disallow awaiting non-promise values.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-await.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-unnecessary-polyfills": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"targets": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce the use of built-in methods instead of unnecessary polyfills.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-polyfills.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-unreadable-array-destructuring": {
|
|
"description": "Disallow unreadable array destructuring.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-array-destructuring.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-unreadable-iife": {
|
|
"description": "Disallow unreadable IIFEs.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-iife.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-unused-properties": {
|
|
"description": "Disallow unused object properties.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unused-properties.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-useless-fallback-in-spread": {
|
|
"description": "Disallow useless fallback when spreading in object literals.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-fallback-in-spread.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-useless-length-check": {
|
|
"description": "Disallow useless array length check.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-length-check.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-useless-promise-resolve-reject": {
|
|
"description": "Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-promise-resolve-reject.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-useless-spread": {
|
|
"description": "Disallow unnecessary spread.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-spread.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-useless-switch-case": {
|
|
"description": "Disallow useless case in switch statements.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-switch-case.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-useless-undefined": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkArguments": {
|
|
"type": "boolean"
|
|
},
|
|
"checkArrowFunctionBody": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow useless `undefined`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-undefined.md"
|
|
},
|
|
"eslint-plugin-unicorn/no-zero-fractions": {
|
|
"description": "Disallow number literals with zero fractions or dangling dots.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-zero-fractions.md"
|
|
},
|
|
"eslint-plugin-unicorn/number-literal-case": {
|
|
"description": "Enforce proper case for numeric literals.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/number-literal-case.md"
|
|
},
|
|
"eslint-plugin-unicorn/numeric-separators-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"binary": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"onlyIfContainsSeparator": {
|
|
"type": "boolean"
|
|
},
|
|
"minimumDigits": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"default": 0
|
|
},
|
|
"groupLength": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"default": 4
|
|
}
|
|
}
|
|
},
|
|
"octal": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"onlyIfContainsSeparator": {
|
|
"type": "boolean"
|
|
},
|
|
"minimumDigits": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"default": 0
|
|
},
|
|
"groupLength": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"default": 4
|
|
}
|
|
}
|
|
},
|
|
"hexadecimal": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"onlyIfContainsSeparator": {
|
|
"type": "boolean"
|
|
},
|
|
"minimumDigits": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"default": 0
|
|
},
|
|
"groupLength": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"default": 2
|
|
}
|
|
}
|
|
},
|
|
"number": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"onlyIfContainsSeparator": {
|
|
"type": "boolean"
|
|
},
|
|
"minimumDigits": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"default": 5
|
|
},
|
|
"groupLength": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"default": 3
|
|
}
|
|
}
|
|
},
|
|
"onlyIfContainsSeparator": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce the style of numeric separators by correctly grouping digits.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/numeric-separators-style.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-add-event-listener": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"excludedPackages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-add-event-listener.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-array-find": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkFromLast": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-find.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-array-flat-map": {
|
|
"description": "Prefer `.flatMap(…)` over `.map(…).flat()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat-map.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-array-flat": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"functions": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `Array#flat()` over legacy techniques to flatten arrays.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-array-index-of": {
|
|
"description": "Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-index-of.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-array-some": {
|
|
"description": "Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-some.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-at": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"getLastElementFunctions": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"checkAllIndexAccess": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `.at()` method for index access and `String#charAt()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-at.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-blob-reading-methods": {
|
|
"description": "Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-blob-reading-methods.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-code-point": {
|
|
"description": "Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-code-point.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-date-now": {
|
|
"description": "Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-date-now.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-default-parameters": {
|
|
"description": "Prefer default parameters over reassignment.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-default-parameters.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-dom-node-append": {
|
|
"description": "Prefer `Node#append()` over `Node#appendChild()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-append.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-dom-node-dataset": {
|
|
"description": "Prefer using `.dataset` on DOM elements over calling attribute methods.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-dataset.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-dom-node-remove": {
|
|
"description": "Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-remove.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-dom-node-text-content": {
|
|
"description": "Prefer `.textContent` over `.innerText`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-text-content.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-event-target": {
|
|
"description": "Prefer `EventTarget` over `EventEmitter`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-event-target.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-export-from": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreUsedVariables": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `export…from` when re-exporting.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-export-from.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-includes": {
|
|
"description": "Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-includes.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-json-parse-buffer": {
|
|
"description": "Prefer reading a JSON file as a buffer.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-json-parse-buffer.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-keyboard-event-key": {
|
|
"description": "Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-keyboard-event-key.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-logical-operator-over-ternary": {
|
|
"description": "Prefer using a logical operator over a ternary.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-logical-operator-over-ternary.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-math-trunc": {
|
|
"description": "Enforce the use of `Math.trunc` instead of bitwise operators.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-math-trunc.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-modern-dom-apis": {
|
|
"description": "Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-dom-apis.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-modern-math-apis": {
|
|
"description": "Prefer modern `Math` APIs over legacy patterns.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-math-apis.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-module": {
|
|
"description": "Prefer JavaScript modules (ESM) over CommonJS.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-module.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-native-coercion-functions": {
|
|
"description": "Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-native-coercion-functions.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-negative-index": {
|
|
"description": "Prefer negative index over `.length - index` when possible.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-negative-index.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-node-protocol": {
|
|
"description": "Prefer using the `node:` protocol when importing Node.js builtin modules.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-node-protocol.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-number-properties": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkInfinity": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"checkNaN": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `Number` static properties over global ones.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-number-properties.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-object-from-entries": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"functions": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-object-from-entries.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-optional-catch-binding": {
|
|
"description": "Prefer omitting the `catch` binding parameter.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-optional-catch-binding.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-prototype-methods": {
|
|
"description": "Prefer borrowing methods from the prototype instead of the instance.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-prototype-methods.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-query-selector": {
|
|
"description": "Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-query-selector.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-reflect-apply": {
|
|
"description": "Prefer `Reflect.apply()` over `Function#apply()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-reflect-apply.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-regexp-test": {
|
|
"description": "Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-regexp-test.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-set-has": {
|
|
"description": "Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-has.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-set-size": {
|
|
"description": "Prefer using `Set#size` instead of `Array#length`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-size.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-spread": {
|
|
"description": "Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-spread.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-string-raw": {
|
|
"description": "Prefer using the `String.raw` tag to avoid escaping `\\`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-raw.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-string-replace-all": {
|
|
"description": "Prefer `String#replaceAll()` over regex searches with the global flag.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-replace-all.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-string-slice": {
|
|
"description": "Prefer `String#slice()` over `String#substr()` and `String#substring()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-slice.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-string-starts-ends-with": {
|
|
"description": "Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-starts-ends-with.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-string-trim-start-end": {
|
|
"description": "Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-trim-start-end.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-structured-clone": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"functions": {
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer using `structuredClone` to create a deep clone.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-structured-clone.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-switch": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"minimumCases": {
|
|
"type": "integer",
|
|
"minimum": 2,
|
|
"default": 3
|
|
},
|
|
"emptyDefaultCase": {
|
|
"enum": [
|
|
"no-default-comment",
|
|
"do-nothing-comment",
|
|
"no-default-case"
|
|
],
|
|
"default": "no-default-comment"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer `switch` over multiple `else-if`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-switch.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-ternary": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Prefer ternary expressions over simple `if-else` statements.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-ternary.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-top-level-await": {
|
|
"description": "Prefer top-level await over top-level promises and async function calls.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-top-level-await.md"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-type-error": {
|
|
"description": "Enforce throwing `TypeError` in type checking conditions.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-type-error.md"
|
|
},
|
|
"eslint-plugin-unicorn/prevent-abbreviations": {
|
|
"description": "Prevent abbreviations.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prevent-abbreviations.md"
|
|
},
|
|
"eslint-plugin-unicorn/relative-url-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent relative URL style.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/relative-url-style.md"
|
|
},
|
|
"eslint-plugin-unicorn/require-array-join-separator": {
|
|
"description": "Enforce using the separator argument with `Array#join()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-array-join-separator.md"
|
|
},
|
|
"eslint-plugin-unicorn/require-number-to-fixed-digits-argument": {
|
|
"description": "Enforce using the digits argument with `Number#toFixed()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-number-to-fixed-digits-argument.md"
|
|
},
|
|
"eslint-plugin-unicorn/require-post-message-target-origin": {
|
|
"description": "Enforce using the `targetOrigin` argument with `window.postMessage()`.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-post-message-target-origin.md"
|
|
},
|
|
"eslint-plugin-unicorn/string-content": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"patterns": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": ["suggest"],
|
|
"properties": {
|
|
"suggest": {
|
|
"type": "string"
|
|
},
|
|
"fix": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce better string content.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/string-content.md"
|
|
},
|
|
"eslint-plugin-unicorn/switch-case-braces": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent brace style for `case` clauses.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/switch-case-braces.md"
|
|
},
|
|
"eslint-plugin-unicorn/template-indent": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"indent": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\s+$"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"minimum": 1
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"functions": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"selectors": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"comments": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Fix whitespace-insensitive template indentation.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/template-indent.md"
|
|
},
|
|
"eslint-plugin-unicorn/text-encoding-identifier-case": {
|
|
"description": "Enforce consistent case for text encoding identifiers.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/text-encoding-identifier-case.md"
|
|
},
|
|
"eslint-plugin-unicorn/throw-new-error": {
|
|
"description": "Require `new` when creating an error.\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/throw-new-error.md"
|
|
},
|
|
"eslint-plugin-unicorn/import-index": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#import-index"
|
|
},
|
|
"eslint-plugin-unicorn/no-array-instanceof": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-array-instanceof"
|
|
},
|
|
"eslint-plugin-unicorn/no-fn-reference-in-iterator": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-fn-reference-in-iterator"
|
|
},
|
|
"eslint-plugin-unicorn/no-reduce": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-reduce"
|
|
},
|
|
"eslint-plugin-unicorn/no-unsafe-regex": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-unsafe-regex"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-dataset": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-dataset"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-event-key": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-event-key"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-exponentiation-operator": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-exponentiation-operator"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-flat-map": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-flat-map"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-node-append": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-append"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-node-remove": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-remove"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-object-has-own": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-object-has-own"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-replace-all": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-replace-all"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-starts-ends-with": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-starts-ends-with"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-text-content": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-text-content"
|
|
},
|
|
"eslint-plugin-unicorn/prefer-trim-start-end": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-trim-start-end"
|
|
},
|
|
"eslint-plugin-unicorn/regex-shorthand": {
|
|
"description": "\nhttps://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#regex-shorthand"
|
|
},
|
|
"eslint-plugin-vue/array-bracket-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce linebreaks after opening and before closing array brackets in `<template>`\nhttps://eslint.vuejs.org/rules/array-bracket-newline.html"
|
|
},
|
|
"eslint-plugin-vue/array-bracket-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing inside array brackets in `<template>`\nhttps://eslint.vuejs.org/rules/array-bracket-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/array-element-newline": {
|
|
"description": "Enforce line breaks after each array element in `<template>`\nhttps://eslint.vuejs.org/rules/array-element-newline.html"
|
|
},
|
|
"eslint-plugin-vue/arrow-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"after": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before and after the arrow in arrow functions in `<template>`\nhttps://eslint.vuejs.org/rules/arrow-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/attribute-hyphenation": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce attribute naming style on custom components in template\nhttps://eslint.vuejs.org/rules/attribute-hyphenation.html"
|
|
},
|
|
"eslint-plugin-vue/attributes-order": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"order": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"DEFINITION",
|
|
"LIST_RENDERING",
|
|
"CONDITIONALS",
|
|
"RENDER_MODIFIERS",
|
|
"GLOBAL",
|
|
"UNIQUE",
|
|
"SLOT",
|
|
"TWO_WAY_BINDING",
|
|
"OTHER_DIRECTIVES",
|
|
"OTHER_ATTR",
|
|
"ATTR_STATIC",
|
|
"ATTR_DYNAMIC",
|
|
"ATTR_SHORTHAND_BOOL",
|
|
"EVENTS",
|
|
"CONTENT"
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"DEFINITION",
|
|
"LIST_RENDERING",
|
|
"CONDITIONALS",
|
|
"RENDER_MODIFIERS",
|
|
"GLOBAL",
|
|
"UNIQUE",
|
|
"SLOT",
|
|
"TWO_WAY_BINDING",
|
|
"OTHER_DIRECTIVES",
|
|
"OTHER_ATTR",
|
|
"ATTR_STATIC",
|
|
"ATTR_DYNAMIC",
|
|
"ATTR_SHORTHAND_BOOL",
|
|
"EVENTS",
|
|
"CONTENT"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"alphabetical": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce order of attributes\nhttps://eslint.vuejs.org/rules/attributes-order.html"
|
|
},
|
|
"eslint-plugin-vue/block-lang": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow use other than available `lang`\nhttps://eslint.vuejs.org/rules/block-lang.html"
|
|
},
|
|
"eslint-plugin-vue/block-order": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"order": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce order of component top-level elements\nhttps://eslint.vuejs.org/rules/block-order.html"
|
|
},
|
|
"eslint-plugin-vue/block-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow or enforce spaces inside of blocks after opening block and before closing block in `<template>`\nhttps://eslint.vuejs.org/rules/block-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/block-tag-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"singleline": {
|
|
"enum": ["always", "never", "consistent", "ignore"]
|
|
},
|
|
"multiline": {
|
|
"enum": ["always", "never", "consistent", "ignore"]
|
|
},
|
|
"maxEmptyLines": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"blocks": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(?:\\S+)$": {
|
|
"type": "object",
|
|
"properties": {
|
|
"singleline": {
|
|
"enum": ["always", "never", "consistent", "ignore"]
|
|
},
|
|
"multiline": {
|
|
"enum": ["always", "never", "consistent", "ignore"]
|
|
},
|
|
"maxEmptyLines": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce line breaks after opening and before closing block-level tags\nhttps://eslint.vuejs.org/rules/block-tag-newline.html"
|
|
},
|
|
"eslint-plugin-vue/brace-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent brace style for blocks in `<template>`\nhttps://eslint.vuejs.org/rules/brace-style.html"
|
|
},
|
|
"eslint-plugin-vue/camelcase": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreDestructuring": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"ignoreImports": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"ignoreGlobals": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"properties": {
|
|
"enum": ["always", "never"]
|
|
},
|
|
"allow": {
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"minItems": 0,
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce camelcase naming convention in `<template>`\nhttps://eslint.vuejs.org/rules/camelcase.html"
|
|
},
|
|
"eslint-plugin-vue/comma-dangle": {
|
|
"description": "Require or disallow trailing commas in `<template>`\nhttps://eslint.vuejs.org/rules/comma-dangle.html"
|
|
},
|
|
"eslint-plugin-vue/comma-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"after": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before and after commas in `<template>`\nhttps://eslint.vuejs.org/rules/comma-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/comma-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent comma style in `<template>`\nhttps://eslint.vuejs.org/rules/comma-style.html"
|
|
},
|
|
"eslint-plugin-vue/comment-directive": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"reportUnusedDisableDirectives": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "support comment-directives in `<template>`\nhttps://eslint.vuejs.org/rules/comment-directive.html"
|
|
},
|
|
"eslint-plugin-vue/component-api-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce component API style\nhttps://eslint.vuejs.org/rules/component-api-style.html"
|
|
},
|
|
"eslint-plugin-vue/component-definition-name-casing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce specific casing for component definition name\nhttps://eslint.vuejs.org/rules/component-definition-name-casing.html"
|
|
},
|
|
"eslint-plugin-vue/component-name-in-template-casing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce specific casing for the component naming style in template\nhttps://eslint.vuejs.org/rules/component-name-in-template-casing.html"
|
|
},
|
|
"eslint-plugin-vue/component-options-name-casing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce the casing of component name in `components` options\nhttps://eslint.vuejs.org/rules/component-options-name-casing.html"
|
|
},
|
|
"eslint-plugin-vue/component-tags-order": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"order": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce order of component top-level elements\nhttps://eslint.vuejs.org/rules/component-tags-order.html"
|
|
},
|
|
"eslint-plugin-vue/custom-event-name-casing": {
|
|
"description": "enforce specific casing for custom event name\nhttps://eslint.vuejs.org/rules/custom-event-name-casing.html"
|
|
},
|
|
"eslint-plugin-vue/define-emits-declaration": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce declaration style of `defineEmits`\nhttps://eslint.vuejs.org/rules/define-emits-declaration.html"
|
|
},
|
|
"eslint-plugin-vue/define-macros-order": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"order": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"defineEmits",
|
|
"defineProps",
|
|
"defineOptions",
|
|
"defineSlots",
|
|
"defineModel"
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"defineExposeLast": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce order of `defineEmits` and `defineProps` compiler macros\nhttps://eslint.vuejs.org/rules/define-macros-order.html"
|
|
},
|
|
"eslint-plugin-vue/define-props-declaration": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce declaration style of `defineProps`\nhttps://eslint.vuejs.org/rules/define-props-declaration.html"
|
|
},
|
|
"eslint-plugin-vue/dot-location": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent newlines before and after dots in `<template>`\nhttps://eslint.vuejs.org/rules/dot-location.html"
|
|
},
|
|
"eslint-plugin-vue/dot-notation": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowKeywords": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"allowPattern": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce dot notation whenever possible in `<template>`\nhttps://eslint.vuejs.org/rules/dot-notation.html"
|
|
},
|
|
"eslint-plugin-vue/enforce-style-attribute": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["plain", "scoped", "module"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce or forbid the use of the `scoped` and `module` attributes in SFC top level style tags\nhttps://eslint.vuejs.org/rules/enforce-style-attribute.html"
|
|
},
|
|
"eslint-plugin-vue/eqeqeq": {
|
|
"description": "Require the use of `===` and `!==` in `<template>`\nhttps://eslint.vuejs.org/rules/eqeqeq.html"
|
|
},
|
|
"eslint-plugin-vue/first-attribute-linebreak": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"multiline": {
|
|
"enum": ["below", "beside", "ignore"]
|
|
},
|
|
"singleline": {
|
|
"enum": ["below", "beside", "ignore"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce the location of first attribute\nhttps://eslint.vuejs.org/rules/first-attribute-linebreak.html"
|
|
},
|
|
"eslint-plugin-vue/func-call-spacing": {
|
|
"description": "Require or disallow spacing between function identifiers and their invocations in `<template>`\nhttps://eslint.vuejs.org/rules/func-call-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/html-button-has-type": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"button": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"submit": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"reset": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow usage of button without an explicit type attribute\nhttps://eslint.vuejs.org/rules/html-button-has-type.html"
|
|
},
|
|
"eslint-plugin-vue/html-closing-bracket-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"singleline": {
|
|
"enum": ["always", "never"]
|
|
},
|
|
"multiline": {
|
|
"enum": ["always", "never"]
|
|
},
|
|
"selfClosingTag": {
|
|
"type": "object",
|
|
"properties": {
|
|
"singleline": {
|
|
"enum": ["always", "never"]
|
|
},
|
|
"multiline": {
|
|
"enum": ["always", "never"]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"minProperties": 1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require or disallow a line break before tag's closing brackets\nhttps://eslint.vuejs.org/rules/html-closing-bracket-newline.html"
|
|
},
|
|
"eslint-plugin-vue/html-closing-bracket-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"startTag": {
|
|
"enum": ["always", "never"]
|
|
},
|
|
"endTag": {
|
|
"enum": ["always", "never"]
|
|
},
|
|
"selfClosingTag": {
|
|
"enum": ["always", "never"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require or disallow a space before tag's closing brackets\nhttps://eslint.vuejs.org/rules/html-closing-bracket-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/html-comment-content-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce unified line brake in HTML comments\nhttps://eslint.vuejs.org/rules/html-comment-content-newline.html"
|
|
},
|
|
"eslint-plugin-vue/html-comment-content-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce unified spacing in HTML comments\nhttps://eslint.vuejs.org/rules/html-comment-content-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/html-comment-indent": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce consistent indentation in HTML comments\nhttps://eslint.vuejs.org/rules/html-comment-indent.html"
|
|
},
|
|
"eslint-plugin-vue/html-end-tags": {
|
|
"description": "enforce end tag style\nhttps://eslint.vuejs.org/rules/html-end-tags.html"
|
|
},
|
|
"eslint-plugin-vue/html-indent": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce consistent indentation in `<template>`\nhttps://eslint.vuejs.org/rules/html-indent.html"
|
|
},
|
|
"eslint-plugin-vue/html-quotes": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce quotes style of HTML attributes\nhttps://eslint.vuejs.org/rules/html-quotes.html"
|
|
},
|
|
"eslint-plugin-vue/html-self-closing": {
|
|
"description": "enforce self-closing style\nhttps://eslint.vuejs.org/rules/html-self-closing.html"
|
|
},
|
|
"eslint-plugin-vue/jsx-uses-vars": {
|
|
"description": "prevent variables used in JSX to be marked as unused\nhttps://eslint.vuejs.org/rules/jsx-uses-vars.html"
|
|
},
|
|
"eslint-plugin-vue/key-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing between keys and values in object literal properties in `<template>`\nhttps://eslint.vuejs.org/rules/key-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/keyword-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"after": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"overrides": {
|
|
"type": "object",
|
|
"properties": {
|
|
"abstract": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"as": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"async": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"await": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"boolean": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"break": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"byte": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"case": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"catch": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"char": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"class": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"const": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"continue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"debugger": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"default": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"delete": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"do": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"double": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"else": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"enum": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"export": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"extends": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"false": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"final": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"finally": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"float": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"for": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"from": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"function": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"get": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"goto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"if": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"implements": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"import": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"in": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"instanceof": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"int": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"interface": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"let": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"long": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"native": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"new": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"null": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"of": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"package": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"private": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"protected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"public": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"return": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"set": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"short": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"static": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"super": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"switch": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"synchronized": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"this": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"throw": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"throws": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"transient": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"true": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"try": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"typeof": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"var": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"void": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"volatile": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"while": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"with": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"yield": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before and after keywords in `<template>`\nhttps://eslint.vuejs.org/rules/keyword-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/match-component-file-name": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"shouldMatchCase": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require component name property to match its file name\nhttps://eslint.vuejs.org/rules/match-component-file-name.html"
|
|
},
|
|
"eslint-plugin-vue/match-component-import-name": {
|
|
"description": "require the registered component name to match the imported component name\nhttps://eslint.vuejs.org/rules/match-component-import-name.html"
|
|
},
|
|
"eslint-plugin-vue/max-attributes-per-line": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"singleline": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"max": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"multiline": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"max": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce the maximum number of attributes per line\nhttps://eslint.vuejs.org/rules/max-attributes-per-line.html"
|
|
},
|
|
"eslint-plugin-vue/max-len": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce a maximum line length in `.vue` files\nhttps://eslint.vuejs.org/rules/max-len.html"
|
|
},
|
|
"eslint-plugin-vue/max-lines-per-block": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"style": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"template": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"script": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"skipBlankLines": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce maximum number of lines in Vue SFC blocks\nhttps://eslint.vuejs.org/rules/max-lines-per-block.html"
|
|
},
|
|
"eslint-plugin-vue/multi-word-component-names": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignores": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require component names to be always multi-word\nhttps://eslint.vuejs.org/rules/multi-word-component-names.html"
|
|
},
|
|
"eslint-plugin-vue/multiline-html-element-content-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreWhenEmpty": {
|
|
"type": "boolean"
|
|
},
|
|
"ignores": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"allowEmptyLines": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require a line break before and after the contents of a multiline element\nhttps://eslint.vuejs.org/rules/multiline-html-element-content-newline.html"
|
|
},
|
|
"eslint-plugin-vue/multiline-ternary": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce newlines between operands of ternary expressions in `<template>`\nhttps://eslint.vuejs.org/rules/multiline-ternary.html"
|
|
},
|
|
"eslint-plugin-vue/mustache-interpolation-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce unified spacing in mustache interpolations\nhttps://eslint.vuejs.org/rules/mustache-interpolation-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/new-line-between-multi-line-property": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"minLineOfMultilineProperty": {
|
|
"type": "number",
|
|
"minimum": 2
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce new lines between multi-line properties in Vue components\nhttps://eslint.vuejs.org/rules/new-line-between-multi-line-property.html"
|
|
},
|
|
"eslint-plugin-vue/next-tick-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce Promise or callback style in `nextTick`\nhttps://eslint.vuejs.org/rules/next-tick-style.html"
|
|
},
|
|
"eslint-plugin-vue/no-arrow-functions-in-watch": {
|
|
"description": "disallow using arrow functions to define watcher\nhttps://eslint.vuejs.org/rules/no-arrow-functions-in-watch.html"
|
|
},
|
|
"eslint-plugin-vue/no-async-in-computed-properties": {
|
|
"description": "disallow asynchronous actions in computed properties\nhttps://eslint.vuejs.org/rules/no-async-in-computed-properties.html"
|
|
},
|
|
"eslint-plugin-vue/no-bare-strings-in-template": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowlist": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^(?:\\S+|/.*/[a-z]*)$": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"directives": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^v-"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow the use of bare strings in `<template>`\nhttps://eslint.vuejs.org/rules/no-bare-strings-in-template.html"
|
|
},
|
|
"eslint-plugin-vue/no-boolean-default": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow boolean defaults\nhttps://eslint.vuejs.org/rules/no-boolean-default.html"
|
|
},
|
|
"eslint-plugin-vue/no-child-content": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"additionalDirectives": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow element's child contents which would be overwritten by a directive like `v-html` or `v-text`\nhttps://eslint.vuejs.org/rules/no-child-content.html"
|
|
},
|
|
"eslint-plugin-vue/no-computed-properties-in-data": {
|
|
"description": "disallow accessing computed properties in `data`.\nhttps://eslint.vuejs.org/rules/no-computed-properties-in-data.html"
|
|
},
|
|
"eslint-plugin-vue/no-console": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow the use of `console` in `<template>`\nhttps://eslint.vuejs.org/rules/no-console.html"
|
|
},
|
|
"eslint-plugin-vue/no-constant-condition": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkLoops": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow constant expressions in conditions in `<template>`\nhttps://eslint.vuejs.org/rules/no-constant-condition.html"
|
|
},
|
|
"eslint-plugin-vue/no-custom-modifiers-on-v-model": {
|
|
"description": "disallow custom modifiers on v-model used on the component\nhttps://eslint.vuejs.org/rules/no-custom-modifiers-on-v-model.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-data-object-declaration": {
|
|
"description": "disallow using deprecated object declaration on data (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-data-object-declaration.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-destroyed-lifecycle": {
|
|
"description": "disallow using deprecated `destroyed` and `beforeDestroy` lifecycle hooks (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-destroyed-lifecycle.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-dollar-listeners-api": {
|
|
"description": "disallow using deprecated `$listeners` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-dollar-listeners-api.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-dollar-scopedslots-api": {
|
|
"description": "disallow using deprecated `$scopedSlots` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-dollar-scopedslots-api.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-events-api": {
|
|
"description": "disallow using deprecated events api (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-events-api.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-filter": {
|
|
"description": "disallow using deprecated filters syntax (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-filter.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-functional-template": {
|
|
"description": "disallow using deprecated the `functional` template (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-functional-template.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-html-element-is": {
|
|
"description": "disallow using deprecated the `is` attribute on HTML elements (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-html-element-is.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-inline-template": {
|
|
"description": "disallow using deprecated `inline-template` attribute (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-inline-template.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-model-definition": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowVue3Compat": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow deprecated `model` definition (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-model-definition.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-props-default-this": {
|
|
"description": "disallow deprecated `this` access in props default function (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-props-default-this.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-router-link-tag-prop": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"components": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow using deprecated `tag` property on `RouterLink` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-router-link-tag-prop.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-scope-attribute": {
|
|
"description": "disallow deprecated `scope` attribute (in Vue.js 2.5.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-scope-attribute.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-slot-attribute": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignore": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow deprecated `slot` attribute (in Vue.js 2.6.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-slot-scope-attribute": {
|
|
"description": "disallow deprecated `slot-scope` attribute (in Vue.js 2.6.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-slot-scope-attribute.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-v-bind-sync": {
|
|
"description": "disallow use of deprecated `.sync` modifier on `v-bind` directive (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-bind-sync.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-v-is": {
|
|
"description": "disallow deprecated `v-is` directive (in Vue.js 3.1.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-is.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-v-on-native-modifier": {
|
|
"description": "disallow using deprecated `.native` modifiers (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-on-native-modifier.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-v-on-number-modifiers": {
|
|
"description": "disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-v-on-number-modifiers.html"
|
|
},
|
|
"eslint-plugin-vue/no-deprecated-vue-config-keycodes": {
|
|
"description": "disallow using deprecated `Vue.config.keyCodes` (in Vue.js 3.0.0+)\nhttps://eslint.vuejs.org/rules/no-deprecated-vue-config-keycodes.html"
|
|
},
|
|
"eslint-plugin-vue/no-dupe-keys": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"groups": {
|
|
"type": "array"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow duplication of field names\nhttps://eslint.vuejs.org/rules/no-dupe-keys.html"
|
|
},
|
|
"eslint-plugin-vue/no-dupe-v-else-if": {
|
|
"description": "disallow duplicate conditions in `v-if` / `v-else-if` chains\nhttps://eslint.vuejs.org/rules/no-dupe-v-else-if.html"
|
|
},
|
|
"eslint-plugin-vue/no-duplicate-attr-inheritance": {
|
|
"description": "enforce `inheritAttrs` to be set to `false` when using `v-bind=\"$attrs\"`\nhttps://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html"
|
|
},
|
|
"eslint-plugin-vue/no-duplicate-attributes": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowCoexistClass": {
|
|
"type": "boolean"
|
|
},
|
|
"allowCoexistStyle": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow duplication of attributes\nhttps://eslint.vuejs.org/rules/no-duplicate-attributes.html"
|
|
},
|
|
"eslint-plugin-vue/no-empty-component-block": {
|
|
"description": "disallow the `<template>` `<script>` `<style>` block to be empty\nhttps://eslint.vuejs.org/rules/no-empty-component-block.html"
|
|
},
|
|
"eslint-plugin-vue/no-empty-pattern": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowObjectPatternsAsParameters": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow empty destructuring patterns in `<template>`\nhttps://eslint.vuejs.org/rules/no-empty-pattern.html"
|
|
},
|
|
"eslint-plugin-vue/no-export-in-script-setup": {
|
|
"description": "disallow `export` in `<script setup>`\nhttps://eslint.vuejs.org/rules/no-export-in-script-setup.html"
|
|
},
|
|
"eslint-plugin-vue/no-expose-after-await": {
|
|
"description": "disallow asynchronously registered `expose`\nhttps://eslint.vuejs.org/rules/no-expose-after-await.html"
|
|
},
|
|
"eslint-plugin-vue/no-extra-parens": {
|
|
"description": "Disallow unnecessary parentheses in `<template>`\nhttps://eslint.vuejs.org/rules/no-extra-parens.html"
|
|
},
|
|
"eslint-plugin-vue/no-invalid-model-keys": {
|
|
"description": "require valid keys in model option\nhttps://eslint.vuejs.org/rules/no-invalid-model-keys.html"
|
|
},
|
|
"eslint-plugin-vue/no-irregular-whitespace": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"skipComments": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"skipStrings": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"skipTemplates": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"skipRegExps": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"skipHTMLAttributeValues": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"skipHTMLTextContents": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow irregular whitespace in `.vue` files\nhttps://eslint.vuejs.org/rules/no-irregular-whitespace.html"
|
|
},
|
|
"eslint-plugin-vue/no-lifecycle-after-await": {
|
|
"description": "disallow asynchronously registered lifecycle hooks\nhttps://eslint.vuejs.org/rules/no-lifecycle-after-await.html"
|
|
},
|
|
"eslint-plugin-vue/no-lone-template": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreAccessible": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow unnecessary `<template>`\nhttps://eslint.vuejs.org/rules/no-lone-template.html"
|
|
},
|
|
"eslint-plugin-vue/no-loss-of-precision": {
|
|
"description": "Disallow literal numbers that lose precision in `<template>`\nhttps://eslint.vuejs.org/rules/no-loss-of-precision.html"
|
|
},
|
|
"eslint-plugin-vue/no-multi-spaces": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreProperties": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow multiple spaces\nhttps://eslint.vuejs.org/rules/no-multi-spaces.html"
|
|
},
|
|
"eslint-plugin-vue/no-multiple-objects-in-class": {
|
|
"description": "disallow to pass multiple objects into array to class\nhttps://eslint.vuejs.org/rules/no-multiple-objects-in-class.html"
|
|
},
|
|
"eslint-plugin-vue/no-multiple-slot-args": {
|
|
"description": "disallow to pass multiple arguments to scoped slots\nhttps://eslint.vuejs.org/rules/no-multiple-slot-args.html"
|
|
},
|
|
"eslint-plugin-vue/no-multiple-template-root": {
|
|
"description": "disallow adding multiple root nodes to the template\nhttps://eslint.vuejs.org/rules/no-multiple-template-root.html"
|
|
},
|
|
"eslint-plugin-vue/no-mutating-props": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"shallowOnly": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow mutation of component props\nhttps://eslint.vuejs.org/rules/no-mutating-props.html"
|
|
},
|
|
"eslint-plugin-vue/no-parsing-error": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"abrupt-closing-of-empty-comment": {
|
|
"type": "boolean"
|
|
},
|
|
"absence-of-digits-in-numeric-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"cdata-in-html-content": {
|
|
"type": "boolean"
|
|
},
|
|
"character-reference-outside-unicode-range": {
|
|
"type": "boolean"
|
|
},
|
|
"control-character-in-input-stream": {
|
|
"type": "boolean"
|
|
},
|
|
"control-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"eof-before-tag-name": {
|
|
"type": "boolean"
|
|
},
|
|
"eof-in-cdata": {
|
|
"type": "boolean"
|
|
},
|
|
"eof-in-comment": {
|
|
"type": "boolean"
|
|
},
|
|
"eof-in-tag": {
|
|
"type": "boolean"
|
|
},
|
|
"incorrectly-closed-comment": {
|
|
"type": "boolean"
|
|
},
|
|
"incorrectly-opened-comment": {
|
|
"type": "boolean"
|
|
},
|
|
"invalid-first-character-of-tag-name": {
|
|
"type": "boolean"
|
|
},
|
|
"missing-attribute-value": {
|
|
"type": "boolean"
|
|
},
|
|
"missing-end-tag-name": {
|
|
"type": "boolean"
|
|
},
|
|
"missing-semicolon-after-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"missing-whitespace-between-attributes": {
|
|
"type": "boolean"
|
|
},
|
|
"nested-comment": {
|
|
"type": "boolean"
|
|
},
|
|
"noncharacter-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"noncharacter-in-input-stream": {
|
|
"type": "boolean"
|
|
},
|
|
"null-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"surrogate-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"surrogate-in-input-stream": {
|
|
"type": "boolean"
|
|
},
|
|
"unexpected-character-in-attribute-name": {
|
|
"type": "boolean"
|
|
},
|
|
"unexpected-character-in-unquoted-attribute-value": {
|
|
"type": "boolean"
|
|
},
|
|
"unexpected-equals-sign-before-attribute-name": {
|
|
"type": "boolean"
|
|
},
|
|
"unexpected-null-character": {
|
|
"type": "boolean"
|
|
},
|
|
"unexpected-question-mark-instead-of-tag-name": {
|
|
"type": "boolean"
|
|
},
|
|
"unexpected-solidus-in-tag": {
|
|
"type": "boolean"
|
|
},
|
|
"unknown-named-character-reference": {
|
|
"type": "boolean"
|
|
},
|
|
"end-tag-with-attributes": {
|
|
"type": "boolean"
|
|
},
|
|
"duplicate-attribute": {
|
|
"type": "boolean"
|
|
},
|
|
"end-tag-with-trailing-solidus": {
|
|
"type": "boolean"
|
|
},
|
|
"non-void-html-element-start-tag-with-trailing-solidus": {
|
|
"type": "boolean"
|
|
},
|
|
"x-invalid-end-tag": {
|
|
"type": "boolean"
|
|
},
|
|
"x-invalid-namespace": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow parsing errors in `<template>`\nhttps://eslint.vuejs.org/rules/no-parsing-error.html"
|
|
},
|
|
"eslint-plugin-vue/no-potential-component-option-typo": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"presets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["all", "vue", "vue-router", "nuxt"]
|
|
},
|
|
"uniqueItems": true,
|
|
"minItems": 0
|
|
},
|
|
"custom": {
|
|
"type": "array",
|
|
"minItems": 0,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"threshold": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow a potential typo in your component property\nhttps://eslint.vuejs.org/rules/no-potential-component-option-typo.html"
|
|
},
|
|
"eslint-plugin-vue/no-ref-as-operand": {
|
|
"description": "disallow use of value wrapped by `ref()` (Composition API) as an operand\nhttps://eslint.vuejs.org/rules/no-ref-as-operand.html"
|
|
},
|
|
"eslint-plugin-vue/no-ref-object-destructure": {
|
|
"description": "disallow usages of ref objects that can lead to loss of reactivity\nhttps://eslint.vuejs.org/rules/no-ref-object-destructure.html"
|
|
},
|
|
"eslint-plugin-vue/no-ref-object-reactivity-loss": {
|
|
"description": "disallow usages of ref objects that can lead to loss of reactivity\nhttps://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html"
|
|
},
|
|
"eslint-plugin-vue/no-required-prop-with-default": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"autofix": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce props with default values to be optional\nhttps://eslint.vuejs.org/rules/no-required-prop-with-default.html"
|
|
},
|
|
"eslint-plugin-vue/no-reserved-component-names": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"disallowVueBuiltInComponents": {
|
|
"type": "boolean"
|
|
},
|
|
"disallowVue3BuiltInComponents": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow the use of reserved names in component definitions\nhttps://eslint.vuejs.org/rules/no-reserved-component-names.html"
|
|
},
|
|
"eslint-plugin-vue/no-reserved-keys": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"reserved": {
|
|
"type": "array"
|
|
},
|
|
"groups": {
|
|
"type": "array"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow overwriting reserved keys\nhttps://eslint.vuejs.org/rules/no-reserved-keys.html"
|
|
},
|
|
"eslint-plugin-vue/no-reserved-props": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"vueVersion": {
|
|
"enum": [2, 3]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow reserved names in props\nhttps://eslint.vuejs.org/rules/no-reserved-props.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-block": {
|
|
"description": "disallow specific block\nhttps://eslint.vuejs.org/rules/no-restricted-block.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-call-after-await": {
|
|
"description": "disallow asynchronously called restricted methods\nhttps://eslint.vuejs.org/rules/no-restricted-call-after-await.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-class": {
|
|
"description": "disallow specific classes in Vue components\nhttps://eslint.vuejs.org/rules/no-restricted-class.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-component-names": {
|
|
"description": "disallow specific component names\nhttps://eslint.vuejs.org/rules/no-restricted-component-names.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-component-options": {
|
|
"description": "disallow specific component option\nhttps://eslint.vuejs.org/rules/no-restricted-component-options.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-custom-event": {
|
|
"description": "disallow specific custom event\nhttps://eslint.vuejs.org/rules/no-restricted-custom-event.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-html-elements": {
|
|
"description": "disallow specific HTML elements\nhttps://eslint.vuejs.org/rules/no-restricted-html-elements.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-props": {
|
|
"description": "disallow specific props\nhttps://eslint.vuejs.org/rules/no-restricted-props.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-static-attribute": {
|
|
"description": "disallow specific attribute\nhttps://eslint.vuejs.org/rules/no-restricted-static-attribute.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-syntax": {
|
|
"description": "Disallow specified syntax in `<template>`\nhttps://eslint.vuejs.org/rules/no-restricted-syntax.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-v-bind": {
|
|
"description": "disallow specific argument in `v-bind`\nhttps://eslint.vuejs.org/rules/no-restricted-v-bind.html"
|
|
},
|
|
"eslint-plugin-vue/no-restricted-v-on": {
|
|
"description": "disallow specific argument in `v-on`\nhttps://eslint.vuejs.org/rules/no-restricted-v-on.html"
|
|
},
|
|
"eslint-plugin-vue/no-root-v-if": {
|
|
"description": "disallow `v-if` directives on root element\nhttps://eslint.vuejs.org/rules/no-root-v-if.html"
|
|
},
|
|
"eslint-plugin-vue/no-setup-props-destructure": {
|
|
"description": "disallow usages that lose the reactivity of `props` passed to `setup`\nhttps://eslint.vuejs.org/rules/no-setup-props-destructure.html"
|
|
},
|
|
"eslint-plugin-vue/no-setup-props-reactivity-loss": {
|
|
"description": "disallow usages that lose the reactivity of `props` passed to `setup`\nhttps://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html"
|
|
},
|
|
"eslint-plugin-vue/no-shared-component-data": {
|
|
"description": "enforce component's data property to be a function\nhttps://eslint.vuejs.org/rules/no-shared-component-data.html"
|
|
},
|
|
"eslint-plugin-vue/no-side-effects-in-computed-properties": {
|
|
"description": "disallow side effects in computed properties\nhttps://eslint.vuejs.org/rules/no-side-effects-in-computed-properties.html"
|
|
},
|
|
"eslint-plugin-vue/no-spaces-around-equal-signs-in-attribute": {
|
|
"description": "disallow spaces around equal signs in attribute\nhttps://eslint.vuejs.org/rules/no-spaces-around-equal-signs-in-attribute.html"
|
|
},
|
|
"eslint-plugin-vue/no-sparse-arrays": {
|
|
"description": "Disallow sparse arrays in `<template>`\nhttps://eslint.vuejs.org/rules/no-sparse-arrays.html"
|
|
},
|
|
"eslint-plugin-vue/no-static-inline-styles": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowBinding": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow static inline `style` attributes\nhttps://eslint.vuejs.org/rules/no-static-inline-styles.html"
|
|
},
|
|
"eslint-plugin-vue/no-template-key": {
|
|
"description": "disallow `key` attribute on `<template>`\nhttps://eslint.vuejs.org/rules/no-template-key.html"
|
|
},
|
|
"eslint-plugin-vue/no-template-shadow": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow variable declarations from shadowing variables declared in the outer scope\nhttps://eslint.vuejs.org/rules/no-template-shadow.html"
|
|
},
|
|
"eslint-plugin-vue/no-template-target-blank": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowReferrer": {
|
|
"type": "boolean"
|
|
},
|
|
"enforceDynamicLinks": {
|
|
"enum": ["always", "never"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow target=\"_blank\" attribute without rel=\"noopener noreferrer\"\nhttps://eslint.vuejs.org/rules/no-template-target-blank.html"
|
|
},
|
|
"eslint-plugin-vue/no-textarea-mustache": {
|
|
"description": "disallow mustaches in `<textarea>`\nhttps://eslint.vuejs.org/rules/no-textarea-mustache.html"
|
|
},
|
|
"eslint-plugin-vue/no-this-in-before-route-enter": {
|
|
"description": "disallow `this` usage in a `beforeRouteEnter` method\nhttps://eslint.vuejs.org/rules/no-this-in-before-route-enter.html"
|
|
},
|
|
"eslint-plugin-vue/no-undef-components": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignorePatterns": {
|
|
"type": "array"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow use of undefined components in `<template>`\nhttps://eslint.vuejs.org/rules/no-undef-components.html"
|
|
},
|
|
"eslint-plugin-vue/no-undef-properties": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignores": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow undefined properties\nhttps://eslint.vuejs.org/rules/no-undef-properties.html"
|
|
},
|
|
"eslint-plugin-vue/no-unsupported-features": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"ignores": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"slot-scope-attribute",
|
|
"dynamic-directive-arguments",
|
|
"v-slot",
|
|
"script-setup",
|
|
"style-css-vars-injection",
|
|
"v-model-argument",
|
|
"v-model-custom-modifiers",
|
|
"v-is",
|
|
"is-attribute-with-vue-prefix",
|
|
"v-memo",
|
|
"v-bind-prop-modifier-shorthand",
|
|
"v-bind-attr-modifier",
|
|
"define-options",
|
|
"define-slots",
|
|
"define-model",
|
|
"v-bind-same-name-shorthand"
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow unsupported Vue.js syntax on the specified version\nhttps://eslint.vuejs.org/rules/no-unsupported-features.html"
|
|
},
|
|
"eslint-plugin-vue/no-unused-components": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreWhenBindingPresent": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow registering components that are not used inside templates\nhttps://eslint.vuejs.org/rules/no-unused-components.html"
|
|
},
|
|
"eslint-plugin-vue/no-unused-emit-declarations": {
|
|
"description": "disallow unused emit declarations\nhttps://eslint.vuejs.org/rules/no-unused-emit-declarations.html"
|
|
},
|
|
"eslint-plugin-vue/no-unused-properties": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"groups": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"props",
|
|
"data",
|
|
"asyncData",
|
|
"computed",
|
|
"methods",
|
|
"setup"
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"deepData": {
|
|
"type": "boolean"
|
|
},
|
|
"ignorePublicMembers": {
|
|
"type": "boolean"
|
|
},
|
|
"unreferencedOptions": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"unknownMemberAsUnreferenced",
|
|
"returnAsUnreferenced"
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow unused properties\nhttps://eslint.vuejs.org/rules/no-unused-properties.html"
|
|
},
|
|
"eslint-plugin-vue/no-unused-refs": {
|
|
"description": "disallow unused refs\nhttps://eslint.vuejs.org/rules/no-unused-refs.html"
|
|
},
|
|
"eslint-plugin-vue/no-unused-vars": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignorePattern": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow unused variable definitions of v-for directives or scope attributes\nhttps://eslint.vuejs.org/rules/no-unused-vars.html"
|
|
},
|
|
"eslint-plugin-vue/no-use-computed-property-like-method": {
|
|
"description": "disallow use computed property like method\nhttps://eslint.vuejs.org/rules/no-use-computed-property-like-method.html"
|
|
},
|
|
"eslint-plugin-vue/no-use-v-else-with-v-for": {
|
|
"description": "disallow using `v-else-if`/`v-else` on the same element as `v-for`\nhttps://eslint.vuejs.org/rules/no-use-v-else-with-v-for.html"
|
|
},
|
|
"eslint-plugin-vue/no-use-v-if-with-v-for": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowUsingIterationVar": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow using `v-if` on the same element as `v-for`\nhttps://eslint.vuejs.org/rules/no-use-v-if-with-v-for.html"
|
|
},
|
|
"eslint-plugin-vue/no-useless-concat": {
|
|
"description": "Disallow unnecessary concatenation of literals or template literals in `<template>`\nhttps://eslint.vuejs.org/rules/no-useless-concat.html"
|
|
},
|
|
"eslint-plugin-vue/no-useless-mustaches": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreIncludesComment": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreStringEscape": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow unnecessary mustache interpolations\nhttps://eslint.vuejs.org/rules/no-useless-mustaches.html"
|
|
},
|
|
"eslint-plugin-vue/no-useless-template-attributes": {
|
|
"description": "disallow useless attribute on `<template>`\nhttps://eslint.vuejs.org/rules/no-useless-template-attributes.html"
|
|
},
|
|
"eslint-plugin-vue/no-useless-v-bind": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreIncludesComment": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreStringEscape": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow unnecessary `v-bind` directives\nhttps://eslint.vuejs.org/rules/no-useless-v-bind.html"
|
|
},
|
|
"eslint-plugin-vue/no-v-for-template-key-on-child": {
|
|
"description": "disallow key of `<template v-for>` placed on child elements\nhttps://eslint.vuejs.org/rules/no-v-for-template-key-on-child.html"
|
|
},
|
|
"eslint-plugin-vue/no-v-for-template-key": {
|
|
"description": "disallow `key` attribute on `<template v-for>`\nhttps://eslint.vuejs.org/rules/no-v-for-template-key.html"
|
|
},
|
|
"eslint-plugin-vue/no-v-html": {
|
|
"description": "disallow use of v-html to prevent XSS attack\nhttps://eslint.vuejs.org/rules/no-v-html.html"
|
|
},
|
|
"eslint-plugin-vue/no-v-model-argument": {
|
|
"description": "disallow adding an argument to `v-model` used in custom component\nhttps://eslint.vuejs.org/rules/no-v-model-argument.html"
|
|
},
|
|
"eslint-plugin-vue/no-v-text-v-html-on-component": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow v-text / v-html on component\nhttps://eslint.vuejs.org/rules/no-v-text-v-html-on-component.html"
|
|
},
|
|
"eslint-plugin-vue/no-v-text": {
|
|
"description": "disallow use of v-text\nhttps://eslint.vuejs.org/rules/no-v-text.html"
|
|
},
|
|
"eslint-plugin-vue/no-watch-after-await": {
|
|
"description": "disallow asynchronously registered `watch`\nhttps://eslint.vuejs.org/rules/no-watch-after-await.html"
|
|
},
|
|
"eslint-plugin-vue/object-curly-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent line breaks after opening and before closing braces in `<template>`\nhttps://eslint.vuejs.org/rules/object-curly-newline.html"
|
|
},
|
|
"eslint-plugin-vue/object-curly-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing inside braces in `<template>`\nhttps://eslint.vuejs.org/rules/object-curly-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/object-property-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowAllPropertiesOnSameLine": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowMultiplePropertiesPerLine": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce placing object properties on separate lines in `<template>`\nhttps://eslint.vuejs.org/rules/object-property-newline.html"
|
|
},
|
|
"eslint-plugin-vue/object-shorthand": {
|
|
"description": "Require or disallow method and property shorthand syntax for object literals in `<template>`\nhttps://eslint.vuejs.org/rules/object-shorthand.html"
|
|
},
|
|
"eslint-plugin-vue/one-component-per-file": {
|
|
"description": "enforce that each component should be in its own file\nhttps://eslint.vuejs.org/rules/one-component-per-file.html"
|
|
},
|
|
"eslint-plugin-vue/operator-linebreak": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent linebreak style for operators in `<template>`\nhttps://eslint.vuejs.org/rules/operator-linebreak.html"
|
|
},
|
|
"eslint-plugin-vue/order-in-components": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"order": {
|
|
"type": "array"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce order of properties in components\nhttps://eslint.vuejs.org/rules/order-in-components.html"
|
|
},
|
|
"eslint-plugin-vue/padding-line-between-blocks": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require or disallow padding lines between blocks\nhttps://eslint.vuejs.org/rules/padding-line-between-blocks.html"
|
|
},
|
|
"eslint-plugin-vue/padding-line-between-tags": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require or disallow newlines between sibling tags in template\nhttps://eslint.vuejs.org/rules/padding-line-between-tags.html"
|
|
},
|
|
"eslint-plugin-vue/padding-lines-in-component-definition": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require or disallow padding lines in component definition\nhttps://eslint.vuejs.org/rules/padding-lines-in-component-definition.html"
|
|
},
|
|
"eslint-plugin-vue/prefer-define-options": {
|
|
"description": "enforce use of `defineOptions` instead of default export.\nhttps://eslint.vuejs.org/rules/prefer-define-options.html"
|
|
},
|
|
"eslint-plugin-vue/prefer-import-from-vue": {
|
|
"description": "enforce import from 'vue' instead of import from '@vue/*'\nhttps://eslint.vuejs.org/rules/prefer-import-from-vue.html"
|
|
},
|
|
"eslint-plugin-vue/prefer-prop-type-boolean-first": {
|
|
"description": "enforce `Boolean` comes first in component prop types\nhttps://eslint.vuejs.org/rules/prefer-prop-type-boolean-first.html"
|
|
},
|
|
"eslint-plugin-vue/prefer-separate-static-class": {
|
|
"description": "require static class names in template to be in a separate `class` attribute\nhttps://eslint.vuejs.org/rules/prefer-separate-static-class.html"
|
|
},
|
|
"eslint-plugin-vue/prefer-template": {
|
|
"description": "Require template literals instead of string concatenation in `<template>`\nhttps://eslint.vuejs.org/rules/prefer-template.html"
|
|
},
|
|
"eslint-plugin-vue/prefer-true-attribute-shorthand": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require shorthand form attribute when `v-bind` value is `true`\nhttps://eslint.vuejs.org/rules/prefer-true-attribute-shorthand.html"
|
|
},
|
|
"eslint-plugin-vue/prop-name-casing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce specific casing for the Prop name in Vue components\nhttps://eslint.vuejs.org/rules/prop-name-casing.html"
|
|
},
|
|
"eslint-plugin-vue/quote-props": {
|
|
"description": "Require quotes around object literal property names in `<template>`\nhttps://eslint.vuejs.org/rules/quote-props.html"
|
|
},
|
|
"eslint-plugin-vue/require-component-is": {
|
|
"description": "require `v-bind:is` of `<component>` elements\nhttps://eslint.vuejs.org/rules/require-component-is.html"
|
|
},
|
|
"eslint-plugin-vue/require-default-prop": {
|
|
"description": "require default value for props\nhttps://eslint.vuejs.org/rules/require-default-prop.html"
|
|
},
|
|
"eslint-plugin-vue/require-direct-export": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"disallowFunctionalComponentFunction": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require the component to be directly exported\nhttps://eslint.vuejs.org/rules/require-direct-export.html"
|
|
},
|
|
"eslint-plugin-vue/require-emit-validator": {
|
|
"description": "require type definitions in emits\nhttps://eslint.vuejs.org/rules/require-emit-validator.html"
|
|
},
|
|
"eslint-plugin-vue/require-explicit-emits": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowProps": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require `emits` option with name triggered by `$emit()`\nhttps://eslint.vuejs.org/rules/require-explicit-emits.html"
|
|
},
|
|
"eslint-plugin-vue/require-explicit-slots": {
|
|
"description": "require slots to be explicitly defined\nhttps://eslint.vuejs.org/rules/require-explicit-slots.html"
|
|
},
|
|
"eslint-plugin-vue/require-expose": {
|
|
"description": "require declare public properties using `expose`\nhttps://eslint.vuejs.org/rules/require-expose.html"
|
|
},
|
|
"eslint-plugin-vue/require-macro-variable-name": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"defineProps": {
|
|
"type": "string",
|
|
"default": "props"
|
|
},
|
|
"defineEmits": {
|
|
"type": "string",
|
|
"default": "emit"
|
|
},
|
|
"defineSlots": {
|
|
"type": "string",
|
|
"default": "slots"
|
|
},
|
|
"useSlots": {
|
|
"type": "string",
|
|
"default": "slots"
|
|
},
|
|
"useAttrs": {
|
|
"type": "string",
|
|
"default": "attrs"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require a certain macro variable name\nhttps://eslint.vuejs.org/rules/require-macro-variable-name.html"
|
|
},
|
|
"eslint-plugin-vue/require-name-property": {
|
|
"description": "require a name property in Vue components\nhttps://eslint.vuejs.org/rules/require-name-property.html"
|
|
},
|
|
"eslint-plugin-vue/require-prop-comment": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"type": {
|
|
"enum": ["JSDoc", "line", "block", "any"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require props to have a comment\nhttps://eslint.vuejs.org/rules/require-prop-comment.html"
|
|
},
|
|
"eslint-plugin-vue/require-prop-type-constructor": {
|
|
"description": "require prop type to be a constructor\nhttps://eslint.vuejs.org/rules/require-prop-type-constructor.html"
|
|
},
|
|
"eslint-plugin-vue/require-prop-types": {
|
|
"description": "require type definitions in props\nhttps://eslint.vuejs.org/rules/require-prop-types.html"
|
|
},
|
|
"eslint-plugin-vue/require-render-return": {
|
|
"description": "enforce render function to always return value\nhttps://eslint.vuejs.org/rules/require-render-return.html"
|
|
},
|
|
"eslint-plugin-vue/require-slots-as-functions": {
|
|
"description": "enforce properties of `$slots` to be used as a function\nhttps://eslint.vuejs.org/rules/require-slots-as-functions.html"
|
|
},
|
|
"eslint-plugin-vue/require-toggle-inside-transition": {
|
|
"description": "require control the display of the content inside `<transition>`\nhttps://eslint.vuejs.org/rules/require-toggle-inside-transition.html"
|
|
},
|
|
"eslint-plugin-vue/require-typed-object-prop": {
|
|
"description": "enforce adding type declarations to object props\nhttps://eslint.vuejs.org/rules/require-typed-object-prop.html"
|
|
},
|
|
"eslint-plugin-vue/require-typed-ref": {
|
|
"description": "require `ref` and `shallowRef` functions to be strongly typed\nhttps://eslint.vuejs.org/rules/require-typed-ref.html"
|
|
},
|
|
"eslint-plugin-vue/require-v-for-key": {
|
|
"description": "require `v-bind:key` with `v-for` directives\nhttps://eslint.vuejs.org/rules/require-v-for-key.html"
|
|
},
|
|
"eslint-plugin-vue/require-valid-default-prop": {
|
|
"description": "enforce props default values to be valid\nhttps://eslint.vuejs.org/rules/require-valid-default-prop.html"
|
|
},
|
|
"eslint-plugin-vue/return-in-computed-property": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"treatUndefinedAsUnspecified": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce that a return statement is present in computed property\nhttps://eslint.vuejs.org/rules/return-in-computed-property.html"
|
|
},
|
|
"eslint-plugin-vue/return-in-emits-validator": {
|
|
"description": "enforce that a return statement is present in emits validator\nhttps://eslint.vuejs.org/rules/return-in-emits-validator.html"
|
|
},
|
|
"eslint-plugin-vue/script-indent": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce consistent indentation in `<script>`\nhttps://eslint.vuejs.org/rules/script-indent.html"
|
|
},
|
|
"eslint-plugin-vue/script-setup-uses-vars": {
|
|
"description": "prevent `<script setup>` variables used in `<template>` to be marked as unused\nhttps://eslint.vuejs.org/rules/script-setup-uses-vars.html"
|
|
},
|
|
"eslint-plugin-vue/singleline-html-element-content-newline": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreWhenNoAttributes": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreWhenEmpty": {
|
|
"type": "boolean"
|
|
},
|
|
"ignores": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"externalIgnores": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "require a line break before and after the contents of a singleline element\nhttps://eslint.vuejs.org/rules/singleline-html-element-content-newline.html"
|
|
},
|
|
"eslint-plugin-vue/sort-keys": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce sort-keys in a manner that is compatible with order-in-components\nhttps://eslint.vuejs.org/rules/sort-keys.html"
|
|
},
|
|
"eslint-plugin-vue/space-in-parens": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing inside parentheses in `<template>`\nhttps://eslint.vuejs.org/rules/space-in-parens.html"
|
|
},
|
|
"eslint-plugin-vue/space-infix-ops": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"int32Hint": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require spacing around infix operators in `<template>`\nhttps://eslint.vuejs.org/rules/space-infix-ops.html"
|
|
},
|
|
"eslint-plugin-vue/space-unary-ops": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"words": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"nonwords": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"overrides": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before or after unary operators in `<template>`\nhttps://eslint.vuejs.org/rules/space-unary-ops.html"
|
|
},
|
|
"eslint-plugin-vue/static-class-names-order": {
|
|
"description": "enforce static class names order\nhttps://eslint.vuejs.org/rules/static-class-names-order.html"
|
|
},
|
|
"eslint-plugin-vue/template-curly-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require or disallow spacing around embedded expressions of template strings in `<template>`\nhttps://eslint.vuejs.org/rules/template-curly-spacing.html"
|
|
},
|
|
"eslint-plugin-vue/this-in-template": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "disallow usage of `this` in template\nhttps://eslint.vuejs.org/rules/this-in-template.html"
|
|
},
|
|
"eslint-plugin-vue/use-v-on-exact": {
|
|
"description": "enforce usage of `exact` modifier on `v-on`\nhttps://eslint.vuejs.org/rules/use-v-on-exact.html"
|
|
},
|
|
"eslint-plugin-vue/v-bind-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce `v-bind` directive style\nhttps://eslint.vuejs.org/rules/v-bind-style.html"
|
|
},
|
|
"eslint-plugin-vue/v-for-delimiter-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce `v-for` directive's delimiter style\nhttps://eslint.vuejs.org/rules/v-for-delimiter-style.html"
|
|
},
|
|
"eslint-plugin-vue/v-if-else-key": {
|
|
"description": "require key attribute for conditionally rendered repeated components\nhttps://eslint.vuejs.org/rules/v-if-else-key.html"
|
|
},
|
|
"eslint-plugin-vue/v-on-event-hyphenation": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce v-on event naming style on custom components in template\nhttps://eslint.vuejs.org/rules/v-on-event-hyphenation.html"
|
|
},
|
|
"eslint-plugin-vue/v-on-function-call": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce or forbid parentheses after method calls without arguments in `v-on` directives\nhttps://eslint.vuejs.org/rules/v-on-function-call.html"
|
|
},
|
|
"eslint-plugin-vue/v-on-handler-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce writing style for handlers in `v-on` directives\nhttps://eslint.vuejs.org/rules/v-on-handler-style.html"
|
|
},
|
|
"eslint-plugin-vue/v-on-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce `v-on` directive style\nhttps://eslint.vuejs.org/rules/v-on-style.html"
|
|
},
|
|
"eslint-plugin-vue/v-slot-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce `v-slot` directive style\nhttps://eslint.vuejs.org/rules/v-slot-style.html"
|
|
},
|
|
"eslint-plugin-vue/valid-attribute-name": {
|
|
"description": "require valid attribute names\nhttps://eslint.vuejs.org/rules/valid-attribute-name.html"
|
|
},
|
|
"eslint-plugin-vue/valid-define-emits": {
|
|
"description": "enforce valid `defineEmits` compiler macro\nhttps://eslint.vuejs.org/rules/valid-define-emits.html"
|
|
},
|
|
"eslint-plugin-vue/valid-define-options": {
|
|
"description": "enforce valid `defineOptions` compiler macro\nhttps://eslint.vuejs.org/rules/valid-define-options.html"
|
|
},
|
|
"eslint-plugin-vue/valid-define-props": {
|
|
"description": "enforce valid `defineProps` compiler macro\nhttps://eslint.vuejs.org/rules/valid-define-props.html"
|
|
},
|
|
"eslint-plugin-vue/valid-model-definition": {
|
|
"description": "require valid keys in model option\nhttps://eslint.vuejs.org/rules/valid-model-definition.html"
|
|
},
|
|
"eslint-plugin-vue/valid-next-tick": {
|
|
"description": "enforce valid `nextTick` function calls\nhttps://eslint.vuejs.org/rules/valid-next-tick.html"
|
|
},
|
|
"eslint-plugin-vue/valid-template-root": {
|
|
"description": "enforce valid template root\nhttps://eslint.vuejs.org/rules/valid-template-root.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-bind-sync": {
|
|
"description": "enforce valid `.sync` modifier on `v-bind` directives\nhttps://eslint.vuejs.org/rules/valid-v-bind-sync.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-bind": {
|
|
"description": "enforce valid `v-bind` directives\nhttps://eslint.vuejs.org/rules/valid-v-bind.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-cloak": {
|
|
"description": "enforce valid `v-cloak` directives\nhttps://eslint.vuejs.org/rules/valid-v-cloak.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-else-if": {
|
|
"description": "enforce valid `v-else-if` directives\nhttps://eslint.vuejs.org/rules/valid-v-else-if.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-else": {
|
|
"description": "enforce valid `v-else` directives\nhttps://eslint.vuejs.org/rules/valid-v-else.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-for": {
|
|
"description": "enforce valid `v-for` directives\nhttps://eslint.vuejs.org/rules/valid-v-for.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-html": {
|
|
"description": "enforce valid `v-html` directives\nhttps://eslint.vuejs.org/rules/valid-v-html.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-if": {
|
|
"description": "enforce valid `v-if` directives\nhttps://eslint.vuejs.org/rules/valid-v-if.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-is": {
|
|
"description": "enforce valid `v-is` directives\nhttps://eslint.vuejs.org/rules/valid-v-is.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-memo": {
|
|
"description": "enforce valid `v-memo` directives\nhttps://eslint.vuejs.org/rules/valid-v-memo.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-model": {
|
|
"description": "enforce valid `v-model` directives\nhttps://eslint.vuejs.org/rules/valid-v-model.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-on": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"modifiers": {
|
|
"type": "array"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce valid `v-on` directives\nhttps://eslint.vuejs.org/rules/valid-v-on.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-once": {
|
|
"description": "enforce valid `v-once` directives\nhttps://eslint.vuejs.org/rules/valid-v-once.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-pre": {
|
|
"description": "enforce valid `v-pre` directives\nhttps://eslint.vuejs.org/rules/valid-v-pre.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-show": {
|
|
"description": "enforce valid `v-show` directives\nhttps://eslint.vuejs.org/rules/valid-v-show.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-slot": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowModifiers": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "enforce valid `v-slot` directives\nhttps://eslint.vuejs.org/rules/valid-v-slot.html"
|
|
},
|
|
"eslint-plugin-vue/valid-v-text": {
|
|
"description": "enforce valid `v-text` directives\nhttps://eslint.vuejs.org/rules/valid-v-text.html"
|
|
},
|
|
"@typescript-eslint/adjacent-overload-signatures": {
|
|
"description": "Require that function overload signatures be consecutive\nhttps://typescript-eslint.io/rules/adjacent-overload-signatures"
|
|
},
|
|
"@typescript-eslint/array-type": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"default": {
|
|
"description": "The array type expected for mutable cases."
|
|
},
|
|
"readonly": {
|
|
"description": "The array type expected for readonly cases. If omitted, the value for `default` will be used."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require consistently using either `T[]` or `Array<T>` for arrays\nhttps://typescript-eslint.io/rules/array-type"
|
|
},
|
|
"@typescript-eslint/await-thenable": {
|
|
"description": "Disallow awaiting a value that is not a Thenable\nhttps://typescript-eslint.io/rules/await-thenable"
|
|
},
|
|
"@typescript-eslint/ban-ts-comment": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ts-expect-error": {},
|
|
"ts-ignore": {},
|
|
"ts-nocheck": {},
|
|
"ts-check": {},
|
|
"minimumDescriptionLength": {
|
|
"type": "number",
|
|
"default": 3
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow `@ts-<directive>` comments or require descriptions after directives\nhttps://typescript-eslint.io/rules/ban-ts-comment"
|
|
},
|
|
"@typescript-eslint/ban-tslint-comment": {
|
|
"description": "Disallow `// tslint:<rule-flag>` comments\nhttps://typescript-eslint.io/rules/ban-tslint-comment"
|
|
},
|
|
"@typescript-eslint/ban-types": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"types": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
},
|
|
"extendDefaults": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow certain types\nhttps://typescript-eslint.io/rules/ban-types"
|
|
},
|
|
"@typescript-eslint/block-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow or enforce spaces inside of blocks after opening block and before closing block\nhttps://typescript-eslint.io/rules/block-spacing"
|
|
},
|
|
"@typescript-eslint/brace-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent brace style for blocks\nhttps://typescript-eslint.io/rules/brace-style"
|
|
},
|
|
"@typescript-eslint/class-literal-property-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce that literals on classes are exposed in a consistent style\nhttps://typescript-eslint.io/rules/class-literal-property-style"
|
|
},
|
|
"@typescript-eslint/class-methods-use-this": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"exceptMethods": {
|
|
"type": "array",
|
|
"description": "Allows specified method names to be ignored with this rule",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"enforceForClassFields": {
|
|
"type": "boolean",
|
|
"description": "Enforces that functions used as instance field initializers utilize `this`",
|
|
"default": true
|
|
},
|
|
"ignoreOverrideMethods": {
|
|
"type": "boolean",
|
|
"description": "Ignore members marked with the `override` modifier"
|
|
},
|
|
"ignoreClassesThatImplementAnInterface": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean",
|
|
"description": "Ignore all classes that implement an interface"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["public-fields"],
|
|
"description": "Ignore only the public fields of classes that implement an interface"
|
|
}
|
|
],
|
|
"description": "Ignore classes that specifically implement some interface"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce that class methods utilize `this`\nhttps://typescript-eslint.io/rules/class-methods-use-this"
|
|
},
|
|
"@typescript-eslint/comma-dangle": {
|
|
"description": "Require or disallow trailing commas\nhttps://typescript-eslint.io/rules/comma-dangle"
|
|
},
|
|
"@typescript-eslint/comma-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"after": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before and after commas\nhttps://typescript-eslint.io/rules/comma-spacing"
|
|
},
|
|
"@typescript-eslint/consistent-generic-constructors": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call\nhttps://typescript-eslint.io/rules/consistent-generic-constructors"
|
|
},
|
|
"@typescript-eslint/consistent-indexed-object-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["record", "index-signature"],
|
|
"description": "Whether to only allow the `Record` type or only allow index signatures"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require or disallow the `Record` type\nhttps://typescript-eslint.io/rules/consistent-indexed-object-style"
|
|
},
|
|
"@typescript-eslint/consistent-return": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"treatUndefinedAsUnspecified": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require `return` statements to either always or never specify values\nhttps://typescript-eslint.io/rules/consistent-return"
|
|
},
|
|
"@typescript-eslint/consistent-type-assertions": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent usage of type assertions\nhttps://typescript-eslint.io/rules/consistent-type-assertions"
|
|
},
|
|
"@typescript-eslint/consistent-type-definitions": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "This rule accepts the following options: \"interface\" (default): enforce using interfaces for object type definitions. \"type\": enforce using types for object type definitions.",
|
|
"enum": ["interface", "type"]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce type definitions to consistently use either `interface` or `type`\nhttps://typescript-eslint.io/rules/consistent-type-definitions"
|
|
},
|
|
"@typescript-eslint/consistent-type-exports": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"fixMixedExportsWithInlineTypeSpecifier": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent usage of type exports\nhttps://typescript-eslint.io/rules/consistent-type-exports"
|
|
},
|
|
"@typescript-eslint/consistent-type-imports": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"disallowTypeAnnotations": {
|
|
"type": "boolean"
|
|
},
|
|
"fixStyle": {
|
|
"type": "string",
|
|
"enum": ["separate-type-imports", "inline-type-imports"]
|
|
},
|
|
"prefer": {
|
|
"type": "string",
|
|
"enum": ["type-imports", "no-type-imports"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent usage of type imports\nhttps://typescript-eslint.io/rules/consistent-type-imports"
|
|
},
|
|
"@typescript-eslint/default-param-last": {
|
|
"description": "Enforce default parameters to be last\nhttps://typescript-eslint.io/rules/default-param-last"
|
|
},
|
|
"@typescript-eslint/dot-notation": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowKeywords": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"allowPattern": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"allowPrivateClassPropertyAccess": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowProtectedClassPropertyAccess": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowIndexSignaturePropertyAccess": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce dot notation whenever possible\nhttps://typescript-eslint.io/rules/dot-notation"
|
|
},
|
|
"@typescript-eslint/explicit-function-return-type": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowConciseArrowFunctionExpressionsStartingWithVoid": {
|
|
"description": "Whether to allow arrow functions that start with the `void` keyword.",
|
|
"type": "boolean"
|
|
},
|
|
"allowExpressions": {
|
|
"description": "Whether to ignore function expressions (functions which are not part of a declaration).",
|
|
"type": "boolean"
|
|
},
|
|
"allowHigherOrderFunctions": {
|
|
"description": "Whether to ignore functions immediately returning another function expression.",
|
|
"type": "boolean"
|
|
},
|
|
"allowTypedFunctionExpressions": {
|
|
"description": "Whether to ignore type annotations on the variable of function expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowDirectConstAssertionInArrowFunctions": {
|
|
"description": "Whether to ignore arrow functions immediately returning a `as const` value.",
|
|
"type": "boolean"
|
|
},
|
|
"allowFunctionsWithoutTypeParameters": {
|
|
"description": "Whether to ignore functions that don't have generic type parameters.",
|
|
"type": "boolean"
|
|
},
|
|
"allowedNames": {
|
|
"description": "An array of function/method names that will not have their arguments or return values checked.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"allowIIFEs": {
|
|
"description": "Whether to ignore immediately invoked function expressions (IIFEs).",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require explicit return types on functions and class methods\nhttps://typescript-eslint.io/rules/explicit-function-return-type"
|
|
},
|
|
"@typescript-eslint/explicit-member-accessibility": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"accessibility": {},
|
|
"overrides": {
|
|
"type": "object",
|
|
"properties": {
|
|
"accessors": {},
|
|
"constructors": {},
|
|
"methods": {},
|
|
"properties": {},
|
|
"parameterProperties": {}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"ignoredMethodNames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require explicit accessibility modifiers on class properties and methods\nhttps://typescript-eslint.io/rules/explicit-member-accessibility"
|
|
},
|
|
"@typescript-eslint/explicit-module-boundary-types": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowArgumentsExplicitlyTypedAsAny": {
|
|
"description": "Whether to ignore arguments that are explicitly typed as `any`.",
|
|
"type": "boolean"
|
|
},
|
|
"allowDirectConstAssertionInArrowFunctions": {
|
|
"description": "Whether to ignore return type annotations on body-less arrow functions that return an `as const` type assertion.\nYou must still type the parameters of the function.",
|
|
"type": "boolean"
|
|
},
|
|
"allowedNames": {
|
|
"description": "An array of function/method names that will not have their arguments or return values checked.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"allowHigherOrderFunctions": {
|
|
"description": "Whether to ignore return type annotations on functions immediately returning another function expression.\nYou must still type the parameters of the function.",
|
|
"type": "boolean"
|
|
},
|
|
"allowTypedFunctionExpressions": {
|
|
"description": "Whether to ignore type annotations on the variable of a function expression.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require explicit return and argument types on exported functions' and classes' public class methods\nhttps://typescript-eslint.io/rules/explicit-module-boundary-types"
|
|
},
|
|
"@typescript-eslint/func-call-spacing": {
|
|
"description": "Require or disallow spacing between function identifiers and their invocations\nhttps://typescript-eslint.io/rules/func-call-spacing"
|
|
},
|
|
"@typescript-eslint/indent": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent indentation\nhttps://typescript-eslint.io/rules/indent"
|
|
},
|
|
"@typescript-eslint/init-declarations": {
|
|
"description": "Require or disallow initialization in variable declarations\nhttps://typescript-eslint.io/rules/init-declarations"
|
|
},
|
|
"@typescript-eslint/key-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing between property names and type annotations in types and interfaces\nhttps://typescript-eslint.io/rules/key-spacing"
|
|
},
|
|
"@typescript-eslint/keyword-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"after": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"overrides": {
|
|
"type": "object",
|
|
"properties": {
|
|
"abstract": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"as": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"async": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"await": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"boolean": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"break": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"byte": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"case": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"catch": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"char": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"class": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"const": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"continue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"debugger": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"default": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"delete": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"do": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"double": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"else": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"enum": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"export": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"extends": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"false": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"final": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"finally": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"float": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"for": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"from": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"function": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"get": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"goto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"if": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"implements": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"import": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"in": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"instanceof": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"int": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"interface": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"let": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"long": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"native": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"new": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"null": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"of": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"package": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"private": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"protected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"public": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"return": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"set": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"short": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"static": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"super": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"switch": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"synchronized": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"this": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"throw": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"throws": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"transient": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"true": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"try": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"typeof": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"var": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"void": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"volatile": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"while": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"with": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"yield": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "object",
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before and after keywords\nhttps://typescript-eslint.io/rules/keyword-spacing"
|
|
},
|
|
"@typescript-eslint/lines-around-comment": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"beforeBlockComment": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"afterBlockComment": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"beforeLineComment": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"afterLineComment": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowBlockStart": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowBlockEnd": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowClassStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowClassEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"allowObjectStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowObjectEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"allowArrayStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowArrayEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"allowInterfaceStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowInterfaceEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"allowTypeStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowTypeEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"allowEnumStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowEnumEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"allowModuleStart": {
|
|
"type": "boolean"
|
|
},
|
|
"allowModuleEnd": {
|
|
"type": "boolean"
|
|
},
|
|
"ignorePattern": {
|
|
"type": "string"
|
|
},
|
|
"applyDefaultIgnorePatterns": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require empty lines around comments\nhttps://typescript-eslint.io/rules/lines-around-comment"
|
|
},
|
|
"@typescript-eslint/lines-between-class-members": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require or disallow an empty line between class members\nhttps://typescript-eslint.io/rules/lines-between-class-members"
|
|
},
|
|
"@typescript-eslint/max-params": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"maximum": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"max": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"countVoidThis": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce a maximum number of parameters in function definitions\nhttps://typescript-eslint.io/rules/max-params"
|
|
},
|
|
"@typescript-eslint/member-delimiter-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"multiline": {
|
|
"type": "object",
|
|
"properties": {
|
|
"delimiter": {},
|
|
"requireLast": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"singleline": {
|
|
"type": "object",
|
|
"properties": {
|
|
"delimiter": {},
|
|
"requireLast": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"overrides": {
|
|
"type": "object",
|
|
"properties": {
|
|
"interface": {},
|
|
"typeLiteral": {}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"multilineDetection": {
|
|
"type": "string",
|
|
"enum": ["brackets", "last-member"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require a specific member delimiter style for interfaces and type literals\nhttps://typescript-eslint.io/rules/member-delimiter-style"
|
|
},
|
|
"@typescript-eslint/member-ordering": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"default": {},
|
|
"classes": {},
|
|
"classExpressions": {},
|
|
"interfaces": {},
|
|
"typeLiterals": {}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require a consistent member declaration order\nhttps://typescript-eslint.io/rules/member-ordering"
|
|
},
|
|
"@typescript-eslint/method-signature-style": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce using a particular method signature syntax\nhttps://typescript-eslint.io/rules/method-signature-style"
|
|
},
|
|
"@typescript-eslint/naming-convention": {
|
|
"description": "Enforce naming conventions for everything across a codebase\nhttps://typescript-eslint.io/rules/naming-convention"
|
|
},
|
|
"@typescript-eslint/no-array-constructor": {
|
|
"description": "Disallow generic `Array` constructors\nhttps://typescript-eslint.io/rules/no-array-constructor"
|
|
},
|
|
"@typescript-eslint/no-array-delete": {
|
|
"description": "Disallow using the `delete` operator on array values\nhttps://typescript-eslint.io/rules/no-array-delete"
|
|
},
|
|
"@typescript-eslint/no-base-to-string": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoredTypeNames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require `.toString()` to only be called on objects which provide useful information when stringified\nhttps://typescript-eslint.io/rules/no-base-to-string"
|
|
},
|
|
"@typescript-eslint/no-confusing-non-null-assertion": {
|
|
"description": "Disallow non-null assertion in locations that may be confusing\nhttps://typescript-eslint.io/rules/no-confusing-non-null-assertion"
|
|
},
|
|
"@typescript-eslint/no-confusing-void-expression": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreArrowShorthand": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreVoidOperator": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require expressions of type void to appear in statement position\nhttps://typescript-eslint.io/rules/no-confusing-void-expression"
|
|
},
|
|
"@typescript-eslint/no-dupe-class-members": {
|
|
"description": "Disallow duplicate class members\nhttps://typescript-eslint.io/rules/no-dupe-class-members"
|
|
},
|
|
"@typescript-eslint/no-duplicate-enum-values": {
|
|
"description": "Disallow duplicate enum member values\nhttps://typescript-eslint.io/rules/no-duplicate-enum-values"
|
|
},
|
|
"@typescript-eslint/no-duplicate-type-constituents": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreIntersections": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreUnions": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow duplicate constituents of union or intersection types\nhttps://typescript-eslint.io/rules/no-duplicate-type-constituents"
|
|
},
|
|
"@typescript-eslint/no-dynamic-delete": {
|
|
"description": "Disallow using the `delete` operator on computed key expressions\nhttps://typescript-eslint.io/rules/no-dynamic-delete"
|
|
},
|
|
"@typescript-eslint/no-empty-function": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"functions",
|
|
"arrowFunctions",
|
|
"generatorFunctions",
|
|
"methods",
|
|
"generatorMethods",
|
|
"getters",
|
|
"setters",
|
|
"constructors",
|
|
"private-constructors",
|
|
"protected-constructors",
|
|
"asyncFunctions",
|
|
"asyncMethods",
|
|
"decoratedFunctions",
|
|
"overrideMethods"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow empty functions\nhttps://typescript-eslint.io/rules/no-empty-function"
|
|
},
|
|
"@typescript-eslint/no-empty-interface": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowSingleExtends": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow the declaration of empty interfaces\nhttps://typescript-eslint.io/rules/no-empty-interface"
|
|
},
|
|
"@typescript-eslint/no-explicit-any": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"fixToUnknown": {
|
|
"description": "Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.",
|
|
"type": "boolean"
|
|
},
|
|
"ignoreRestArgs": {
|
|
"description": "Whether to ignore rest parameter arrays.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow the `any` type\nhttps://typescript-eslint.io/rules/no-explicit-any"
|
|
},
|
|
"@typescript-eslint/no-extra-non-null-assertion": {
|
|
"description": "Disallow extra non-null assertions\nhttps://typescript-eslint.io/rules/no-extra-non-null-assertion"
|
|
},
|
|
"@typescript-eslint/no-extra-parens": {
|
|
"description": "Disallow unnecessary parentheses\nhttps://typescript-eslint.io/rules/no-extra-parens"
|
|
},
|
|
"@typescript-eslint/no-extra-semi": {
|
|
"description": "Disallow unnecessary semicolons\nhttps://typescript-eslint.io/rules/no-extra-semi"
|
|
},
|
|
"@typescript-eslint/no-extraneous-class": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowConstructorOnly": {
|
|
"description": "Whether to allow extraneous classes that contain only a constructor.",
|
|
"type": "boolean"
|
|
},
|
|
"allowEmpty": {
|
|
"description": "Whether to allow extraneous classes that have no body (i.e. are empty).",
|
|
"type": "boolean"
|
|
},
|
|
"allowStaticOnly": {
|
|
"description": "Whether to allow extraneous classes that only contain static members.",
|
|
"type": "boolean"
|
|
},
|
|
"allowWithDecorator": {
|
|
"description": "Whether to allow extraneous classes that include a decorator.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow classes used as namespaces\nhttps://typescript-eslint.io/rules/no-extraneous-class"
|
|
},
|
|
"@typescript-eslint/no-floating-promises": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreVoid": {
|
|
"description": "Whether to ignore `void` expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"ignoreIIFE": {
|
|
"description": "Whether to ignore async IIFEs (Immediately Invoked Function Expressions).",
|
|
"type": "boolean"
|
|
},
|
|
"allowForKnownSafePromises": {
|
|
"type": "array",
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"type": "string",
|
|
"enum": ["file"]
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["from", "name"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"type": "string",
|
|
"enum": ["lib"]
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["from", "name"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"type": "string",
|
|
"enum": ["package"]
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"package": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["from", "name", "package"]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require Promise-like statements to be handled appropriately\nhttps://typescript-eslint.io/rules/no-floating-promises"
|
|
},
|
|
"@typescript-eslint/no-for-in-array": {
|
|
"description": "Disallow iterating over an array with a for-in loop\nhttps://typescript-eslint.io/rules/no-for-in-array"
|
|
},
|
|
"@typescript-eslint/no-implied-eval": {
|
|
"description": "Disallow the use of `eval()`-like methods\nhttps://typescript-eslint.io/rules/no-implied-eval"
|
|
},
|
|
"@typescript-eslint/no-import-type-side-effects": {
|
|
"description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers\nhttps://typescript-eslint.io/rules/no-import-type-side-effects"
|
|
},
|
|
"@typescript-eslint/no-inferrable-types": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreParameters": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreProperties": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean\nhttps://typescript-eslint.io/rules/no-inferrable-types"
|
|
},
|
|
"@typescript-eslint/no-invalid-this": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"capIsConstructor": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow `this` keywords outside of classes or class-like objects\nhttps://typescript-eslint.io/rules/no-invalid-this"
|
|
},
|
|
"@typescript-eslint/no-invalid-void-type": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowInGenericTypeArguments": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 1
|
|
}
|
|
]
|
|
},
|
|
"allowAsThisParameter": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow `void` type outside of generic or return types\nhttps://typescript-eslint.io/rules/no-invalid-void-type"
|
|
},
|
|
"@typescript-eslint/no-loop-func": {
|
|
"description": "Disallow function declarations that contain unsafe references inside loop statements\nhttps://typescript-eslint.io/rules/no-loop-func"
|
|
},
|
|
"@typescript-eslint/no-loss-of-precision": {
|
|
"description": "Disallow literal numbers that lose precision\nhttps://typescript-eslint.io/rules/no-loss-of-precision"
|
|
},
|
|
"@typescript-eslint/no-magic-numbers": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"detectObjects": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"enforceConst": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"ignore": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"pattern": "^[+-]?(?:0|[1-9][0-9]*)n$"
|
|
}
|
|
]
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"ignoreArrayIndexes": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"ignoreDefaultValues": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"ignoreClassFieldInitialValues": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"ignoreNumericLiteralTypes": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreEnums": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreReadonlyClassProperties": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreTypeIndexes": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow magic numbers\nhttps://typescript-eslint.io/rules/no-magic-numbers"
|
|
},
|
|
"@typescript-eslint/no-meaningless-void-operator": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkNever": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow the `void` operator except when used to discard a value\nhttps://typescript-eslint.io/rules/no-meaningless-void-operator"
|
|
},
|
|
"@typescript-eslint/no-misused-new": {
|
|
"description": "Enforce valid definition of `new` and `constructor`\nhttps://typescript-eslint.io/rules/no-misused-new"
|
|
},
|
|
"@typescript-eslint/no-misused-promises": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checksConditionals": {
|
|
"type": "boolean"
|
|
},
|
|
"checksVoidReturn": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"arguments": {
|
|
"type": "boolean"
|
|
},
|
|
"attributes": {
|
|
"type": "boolean"
|
|
},
|
|
"properties": {
|
|
"type": "boolean"
|
|
},
|
|
"returns": {
|
|
"type": "boolean"
|
|
},
|
|
"variables": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
"checksSpreads": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow Promises in places not designed to handle them\nhttps://typescript-eslint.io/rules/no-misused-promises"
|
|
},
|
|
"@typescript-eslint/no-mixed-enums": {
|
|
"description": "Disallow enums from having both number and string members\nhttps://typescript-eslint.io/rules/no-mixed-enums"
|
|
},
|
|
"@typescript-eslint/no-namespace": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowDeclarations": {
|
|
"description": "Whether to allow `declare` with custom TypeScript namespaces.",
|
|
"type": "boolean"
|
|
},
|
|
"allowDefinitionFiles": {
|
|
"description": "Whether to allow `declare` with custom TypeScript namespaces inside definition files.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow TypeScript namespaces\nhttps://typescript-eslint.io/rules/no-namespace"
|
|
},
|
|
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": {
|
|
"description": "Disallow non-null assertions in the left operand of a nullish coalescing operator\nhttps://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing"
|
|
},
|
|
"@typescript-eslint/no-non-null-asserted-optional-chain": {
|
|
"description": "Disallow non-null assertions after an optional chain expression\nhttps://typescript-eslint.io/rules/no-non-null-asserted-optional-chain"
|
|
},
|
|
"@typescript-eslint/no-non-null-assertion": {
|
|
"description": "Disallow non-null assertions using the `!` postfix operator\nhttps://typescript-eslint.io/rules/no-non-null-assertion"
|
|
},
|
|
"@typescript-eslint/no-redeclare": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"builtinGlobals": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreDeclarationMerge": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow variable redeclaration\nhttps://typescript-eslint.io/rules/no-redeclare"
|
|
},
|
|
"@typescript-eslint/no-redundant-type-constituents": {
|
|
"description": "Disallow members of unions and intersections that do nothing or override type information\nhttps://typescript-eslint.io/rules/no-redundant-type-constituents"
|
|
},
|
|
"@typescript-eslint/no-require-imports": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Patterns of import paths to allow requiring from."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow invocation of `require()`\nhttps://typescript-eslint.io/rules/no-require-imports"
|
|
},
|
|
"@typescript-eslint/no-restricted-imports": {
|
|
"description": "Disallow specified modules when loaded by `import`\nhttps://typescript-eslint.io/rules/no-restricted-imports"
|
|
},
|
|
"@typescript-eslint/no-shadow": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"builtinGlobals": {
|
|
"type": "boolean"
|
|
},
|
|
"hoist": {
|
|
"type": "string",
|
|
"enum": ["all", "functions", "never"]
|
|
},
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ignoreOnInitialization": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreTypeValueShadow": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreFunctionTypeParameterNameValueShadow": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow variable declarations from shadowing variables declared in the outer scope\nhttps://typescript-eslint.io/rules/no-shadow"
|
|
},
|
|
"@typescript-eslint/no-this-alias": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowDestructuring": {
|
|
"description": "Whether to ignore destructurings, such as `const { props, state } = this`.",
|
|
"type": "boolean"
|
|
},
|
|
"allowedNames": {
|
|
"description": "Names to ignore, such as [\"self\"] for `const self = this;`.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow aliasing `this`\nhttps://typescript-eslint.io/rules/no-this-alias"
|
|
},
|
|
"@typescript-eslint/no-throw-literal": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowThrowingAny": {
|
|
"type": "boolean"
|
|
},
|
|
"allowThrowingUnknown": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow throwing literals as exceptions\nhttps://typescript-eslint.io/rules/no-throw-literal"
|
|
},
|
|
"@typescript-eslint/no-type-alias": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowAliases": {
|
|
"description": "Whether to allow direct one-to-one type aliases."
|
|
},
|
|
"allowCallbacks": {
|
|
"description": "Whether to allow type aliases for callbacks."
|
|
},
|
|
"allowConditionalTypes": {
|
|
"description": "Whether to allow type aliases for conditional types."
|
|
},
|
|
"allowConstructors": {
|
|
"description": "Whether to allow type aliases with constructors."
|
|
},
|
|
"allowLiterals": {
|
|
"description": "Whether to allow type aliases with object literal types."
|
|
},
|
|
"allowMappedTypes": {
|
|
"description": "Whether to allow type aliases with mapped types."
|
|
},
|
|
"allowTupleTypes": {
|
|
"description": "Whether to allow type aliases with tuple types."
|
|
},
|
|
"allowGenerics": {
|
|
"description": "Whether to allow type aliases with generic types."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow type aliases\nhttps://typescript-eslint.io/rules/no-type-alias"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-boolean-literal-compare": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowComparingNullableBooleansToTrue": {
|
|
"description": "Whether to allow comparisons between nullable boolean variables and `true`.",
|
|
"type": "boolean"
|
|
},
|
|
"allowComparingNullableBooleansToFalse": {
|
|
"description": "Whether to allow comparisons between nullable boolean variables and `false`.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow unnecessary equality comparisons against boolean literals\nhttps://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-condition": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowConstantLoopConditions": {
|
|
"description": "Whether to ignore constant loop conditions, such as `while (true)`.",
|
|
"type": "boolean"
|
|
},
|
|
"allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing": {
|
|
"description": "Whether to not error when running with a tsconfig that has strictNullChecks turned.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow conditionals where the type is always truthy or always falsy\nhttps://typescript-eslint.io/rules/no-unnecessary-condition"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-qualifier": {
|
|
"description": "Disallow unnecessary namespace qualifiers\nhttps://typescript-eslint.io/rules/no-unnecessary-qualifier"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-template-expression": {
|
|
"description": "Disallow unnecessary template expressions\nhttps://typescript-eslint.io/rules/no-unnecessary-template-expression"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-type-arguments": {
|
|
"description": "Disallow type arguments that are equal to the default\nhttps://typescript-eslint.io/rules/no-unnecessary-type-arguments"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-type-assertion": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"typesToIgnore": {
|
|
"description": "A list of type names to ignore.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow type assertions that do not change the type of an expression\nhttps://typescript-eslint.io/rules/no-unnecessary-type-assertion"
|
|
},
|
|
"@typescript-eslint/no-unnecessary-type-constraint": {
|
|
"description": "Disallow unnecessary constraints on generic types\nhttps://typescript-eslint.io/rules/no-unnecessary-type-constraint"
|
|
},
|
|
"@typescript-eslint/no-unsafe-argument": {
|
|
"description": "Disallow calling a function with a value with type `any`\nhttps://typescript-eslint.io/rules/no-unsafe-argument"
|
|
},
|
|
"@typescript-eslint/no-unsafe-assignment": {
|
|
"description": "Disallow assigning a value with type `any` to variables and properties\nhttps://typescript-eslint.io/rules/no-unsafe-assignment"
|
|
},
|
|
"@typescript-eslint/no-unsafe-call": {
|
|
"description": "Disallow calling a value with type `any`\nhttps://typescript-eslint.io/rules/no-unsafe-call"
|
|
},
|
|
"@typescript-eslint/no-unsafe-declaration-merging": {
|
|
"description": "Disallow unsafe declaration merging\nhttps://typescript-eslint.io/rules/no-unsafe-declaration-merging"
|
|
},
|
|
"@typescript-eslint/no-unsafe-enum-comparison": {
|
|
"description": "Disallow comparing an enum value with a non-enum value\nhttps://typescript-eslint.io/rules/no-unsafe-enum-comparison"
|
|
},
|
|
"@typescript-eslint/no-unsafe-member-access": {
|
|
"description": "Disallow member access on a value with type `any`\nhttps://typescript-eslint.io/rules/no-unsafe-member-access"
|
|
},
|
|
"@typescript-eslint/no-unsafe-return": {
|
|
"description": "Disallow returning a value with type `any` from a function\nhttps://typescript-eslint.io/rules/no-unsafe-return"
|
|
},
|
|
"@typescript-eslint/no-unsafe-unary-minus": {
|
|
"description": "Require unary negation to take a number\nhttps://typescript-eslint.io/rules/no-unsafe-unary-minus"
|
|
},
|
|
"@typescript-eslint/no-unused-expressions": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowShortCircuit": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowTernary": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"allowTaggedTemplates": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"enforceForJSX": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow unused expressions\nhttps://typescript-eslint.io/rules/no-unused-expressions"
|
|
},
|
|
"@typescript-eslint/no-unused-vars": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow unused variables\nhttps://typescript-eslint.io/rules/no-unused-vars"
|
|
},
|
|
"@typescript-eslint/no-use-before-define": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow the use of variables before they are defined\nhttps://typescript-eslint.io/rules/no-use-before-define"
|
|
},
|
|
"@typescript-eslint/no-useless-constructor": {
|
|
"description": "Disallow unnecessary constructors\nhttps://typescript-eslint.io/rules/no-useless-constructor"
|
|
},
|
|
"@typescript-eslint/no-useless-empty-export": {
|
|
"description": "Disallow empty exports that don't change anything in a module file\nhttps://typescript-eslint.io/rules/no-useless-empty-export"
|
|
},
|
|
"@typescript-eslint/no-useless-template-literals": {
|
|
"description": "Disallow unnecessary template expressions\nhttps://typescript-eslint.io/rules/no-useless-template-literals"
|
|
},
|
|
"@typescript-eslint/no-var-requires": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Patterns of import paths to allow requiring from."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow `require` statements except in import statements\nhttps://typescript-eslint.io/rules/no-var-requires"
|
|
},
|
|
"@typescript-eslint/non-nullable-type-assertion-style": {
|
|
"description": "Enforce non-null assertions over explicit type casts\nhttps://typescript-eslint.io/rules/non-nullable-type-assertion-style"
|
|
},
|
|
"@typescript-eslint/object-curly-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing inside braces\nhttps://typescript-eslint.io/rules/object-curly-spacing"
|
|
},
|
|
"@typescript-eslint/only-throw-error": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowThrowingAny": {
|
|
"type": "boolean"
|
|
},
|
|
"allowThrowingUnknown": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow throwing non-`Error` values as exceptions\nhttps://typescript-eslint.io/rules/only-throw-error"
|
|
},
|
|
"@typescript-eslint/padding-line-between-statements": {
|
|
"description": "Require or disallow padding lines between statements\nhttps://typescript-eslint.io/rules/padding-line-between-statements"
|
|
},
|
|
"@typescript-eslint/parameter-properties": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"prefer": {
|
|
"type": "string",
|
|
"enum": ["class-property", "parameter-property"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require or disallow parameter properties in class constructors\nhttps://typescript-eslint.io/rules/parameter-properties"
|
|
},
|
|
"@typescript-eslint/prefer-as-const": {
|
|
"description": "Enforce the use of `as const` over literal type\nhttps://typescript-eslint.io/rules/prefer-as-const"
|
|
},
|
|
"@typescript-eslint/prefer-destructuring": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require destructuring from arrays and/or objects\nhttps://typescript-eslint.io/rules/prefer-destructuring"
|
|
},
|
|
"@typescript-eslint/prefer-enum-initializers": {
|
|
"description": "Require each enum member value to be explicitly initialized\nhttps://typescript-eslint.io/rules/prefer-enum-initializers"
|
|
},
|
|
"@typescript-eslint/prefer-find": {
|
|
"description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result\nhttps://typescript-eslint.io/rules/prefer-find"
|
|
},
|
|
"@typescript-eslint/prefer-for-of": {
|
|
"description": "Enforce the use of `for-of` loop over the standard `for` loop where possible\nhttps://typescript-eslint.io/rules/prefer-for-of"
|
|
},
|
|
"@typescript-eslint/prefer-function-type": {
|
|
"description": "Enforce using function types instead of interfaces with call signatures\nhttps://typescript-eslint.io/rules/prefer-function-type"
|
|
},
|
|
"@typescript-eslint/prefer-includes": {
|
|
"description": "Enforce `includes` method over `indexOf` method\nhttps://typescript-eslint.io/rules/prefer-includes"
|
|
},
|
|
"@typescript-eslint/prefer-literal-enum-member": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowBitwiseExpressions": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require all enum members to be literal values\nhttps://typescript-eslint.io/rules/prefer-literal-enum-member"
|
|
},
|
|
"@typescript-eslint/prefer-namespace-keyword": {
|
|
"description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules\nhttps://typescript-eslint.io/rules/prefer-namespace-keyword"
|
|
},
|
|
"@typescript-eslint/prefer-nullish-coalescing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreConditionalTests": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreMixedLogicalExpressions": {
|
|
"type": "boolean"
|
|
},
|
|
"ignorePrimitives": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"bigint": {
|
|
"type": "boolean"
|
|
},
|
|
"boolean": {
|
|
"type": "boolean"
|
|
},
|
|
"number": {
|
|
"type": "boolean"
|
|
},
|
|
"string": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "boolean",
|
|
"enum": [true]
|
|
}
|
|
]
|
|
},
|
|
"ignoreTernaryTests": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining\nhttps://typescript-eslint.io/rules/prefer-nullish-coalescing"
|
|
},
|
|
"@typescript-eslint/prefer-optional-chain": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkAny": {
|
|
"type": "boolean",
|
|
"description": "Check operands that are typed as `any` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"checkUnknown": {
|
|
"type": "boolean",
|
|
"description": "Check operands that are typed as `unknown` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"checkString": {
|
|
"type": "boolean",
|
|
"description": "Check operands that are typed as `string` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"checkNumber": {
|
|
"type": "boolean",
|
|
"description": "Check operands that are typed as `number` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"checkBoolean": {
|
|
"type": "boolean",
|
|
"description": "Check operands that are typed as `boolean` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"checkBigInt": {
|
|
"type": "boolean",
|
|
"description": "Check operands that are typed as `bigint` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"requireNullish": {
|
|
"type": "boolean",
|
|
"description": "Skip operands that are not typed with `null` and/or `undefined` when inspecting \"loose boolean\" operands."
|
|
},
|
|
"allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing": {
|
|
"type": "boolean",
|
|
"description": "Allow autofixers that will change the return type of the expression. This option is considered unsafe as it may break the build."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects\nhttps://typescript-eslint.io/rules/prefer-optional-chain"
|
|
},
|
|
"@typescript-eslint/prefer-promise-reject-errors": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowEmptyReject": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require using Error objects as Promise rejection reasons\nhttps://typescript-eslint.io/rules/prefer-promise-reject-errors"
|
|
},
|
|
"@typescript-eslint/prefer-readonly": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"onlyInlineLambdas": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor\nhttps://typescript-eslint.io/rules/prefer-readonly"
|
|
},
|
|
"@typescript-eslint/prefer-readonly-parameter-types": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"type": "string",
|
|
"enum": ["file"]
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["from", "name"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"type": "string",
|
|
"enum": ["lib"]
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["from", "name"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"from": {
|
|
"type": "string",
|
|
"enum": ["package"]
|
|
},
|
|
"name": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"package": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["from", "name", "package"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"checkParameterProperties": {
|
|
"type": "boolean"
|
|
},
|
|
"ignoreInferredTypes": {
|
|
"type": "boolean"
|
|
},
|
|
"treatMethodsAsReadonly": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs\nhttps://typescript-eslint.io/rules/prefer-readonly-parameter-types"
|
|
},
|
|
"@typescript-eslint/prefer-reduce-type-parameter": {
|
|
"description": "Enforce using type parameter when calling `Array#reduce` instead of casting\nhttps://typescript-eslint.io/rules/prefer-reduce-type-parameter"
|
|
},
|
|
"@typescript-eslint/prefer-regexp-exec": {
|
|
"description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided\nhttps://typescript-eslint.io/rules/prefer-regexp-exec"
|
|
},
|
|
"@typescript-eslint/prefer-return-this-type": {
|
|
"description": "Enforce that `this` is used when only `this` type is returned\nhttps://typescript-eslint.io/rules/prefer-return-this-type"
|
|
},
|
|
"@typescript-eslint/prefer-string-starts-ends-with": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowSingleElementEquality": {
|
|
"description": "Whether to allow equality checks against the first or last element of a string.",
|
|
"enum": ["always", "never"],
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings\nhttps://typescript-eslint.io/rules/prefer-string-starts-ends-with"
|
|
},
|
|
"@typescript-eslint/prefer-ts-expect-error": {
|
|
"description": "Enforce using `@ts-expect-error` over `@ts-ignore`\nhttps://typescript-eslint.io/rules/prefer-ts-expect-error"
|
|
},
|
|
"@typescript-eslint/promise-function-async": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowAny": {
|
|
"description": "Whether to consider `any` and `unknown` to be Promises.",
|
|
"type": "boolean"
|
|
},
|
|
"allowedPromiseNames": {
|
|
"description": "Any extra names of classes or interfaces to be considered Promises.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"checkArrowFunctions": {
|
|
"type": "boolean"
|
|
},
|
|
"checkFunctionDeclarations": {
|
|
"type": "boolean"
|
|
},
|
|
"checkFunctionExpressions": {
|
|
"type": "boolean"
|
|
},
|
|
"checkMethodDeclarations": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require any function or method that returns a Promise to be marked async\nhttps://typescript-eslint.io/rules/promise-function-async"
|
|
},
|
|
"@typescript-eslint/quotes": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 3,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "String option: \"double\" (default) requires the use of double quotes wherever possible; \"single\" requires the use of single quotes wherever possible; \"backtick\" requires the use of backticks wherever possible",
|
|
"type": "string",
|
|
"enum": ["double", "single", "backtick"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"avoidEscape": {
|
|
"description": "allows strings to use single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise",
|
|
"type": "boolean"
|
|
},
|
|
"allowTemplateLiterals": {
|
|
"description": "allows strings to use backticks",
|
|
"type": "boolean"
|
|
},
|
|
"avoid-escape": {
|
|
"description": "Deprecated: The object property avoid-escape is deprecated; please use the object property avoidEscape instead.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce the consistent use of either backticks, double, or single quotes\nhttps://typescript-eslint.io/rules/quotes"
|
|
},
|
|
"@typescript-eslint/require-array-sort-compare": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreStringArrays": {
|
|
"description": "Whether to ignore arrays in which all elements are strings.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`\nhttps://typescript-eslint.io/rules/require-array-sort-compare"
|
|
},
|
|
"@typescript-eslint/require-await": {
|
|
"description": "Disallow async functions which do not return promises and have no `await` expression\nhttps://typescript-eslint.io/rules/require-await"
|
|
},
|
|
"@typescript-eslint/restrict-plus-operands": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowAny": {
|
|
"description": "Whether to allow `any` typed values.",
|
|
"type": "boolean"
|
|
},
|
|
"allowBoolean": {
|
|
"description": "Whether to allow `boolean` typed values.",
|
|
"type": "boolean"
|
|
},
|
|
"allowNullish": {
|
|
"description": "Whether to allow potentially `null` or `undefined` typed values.",
|
|
"type": "boolean"
|
|
},
|
|
"allowNumberAndString": {
|
|
"description": "Whether to allow `bigint`/`number` typed values and `string` typed values to be added together.",
|
|
"type": "boolean"
|
|
},
|
|
"allowRegExp": {
|
|
"description": "Whether to allow `regexp` typed values.",
|
|
"type": "boolean"
|
|
},
|
|
"skipCompoundAssignments": {
|
|
"description": "Whether to skip compound assignments such as `+=`.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`\nhttps://typescript-eslint.io/rules/restrict-plus-operands"
|
|
},
|
|
"@typescript-eslint/restrict-template-expressions": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowAny": {
|
|
"description": "Whether to allow `any` typed values in template expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowArray": {
|
|
"description": "Whether to allow `array` typed values in template expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowBoolean": {
|
|
"description": "Whether to allow `boolean` typed values in template expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowNullish": {
|
|
"description": "Whether to allow `nullish` typed values in template expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowNumber": {
|
|
"description": "Whether to allow `number` typed values in template expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowRegExp": {
|
|
"description": "Whether to allow `regexp` typed values in template expressions.",
|
|
"type": "boolean"
|
|
},
|
|
"allowNever": {
|
|
"description": "Whether to allow `never` typed values in template expressions.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce template literal expressions to be of `string` type\nhttps://typescript-eslint.io/rules/restrict-template-expressions"
|
|
},
|
|
"@typescript-eslint/return-await": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"const": "never",
|
|
"description": "Disallows awaiting any returned promises.",
|
|
"deprecated": true
|
|
},
|
|
{
|
|
"const": "error-handling-correctness-only",
|
|
"description": "In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited."
|
|
},
|
|
{
|
|
"const": "in-try-catch",
|
|
"description": "In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule enforces that returned promises must not be awaited."
|
|
},
|
|
{
|
|
"const": "always",
|
|
"description": "Requires that all returned promises be awaited."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent awaiting of returned promises\nhttps://typescript-eslint.io/rules/return-await"
|
|
},
|
|
"@typescript-eslint/semi": {
|
|
"description": "Require or disallow semicolons instead of ASI\nhttps://typescript-eslint.io/rules/semi"
|
|
},
|
|
"@typescript-eslint/sort-type-constituents": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"checkIntersections": {
|
|
"description": "Whether to check intersection types.",
|
|
"type": "boolean"
|
|
},
|
|
"checkUnions": {
|
|
"description": "Whether to check union types.",
|
|
"type": "boolean"
|
|
},
|
|
"caseSensitive": {
|
|
"description": "Whether to sort using case sensitive sorting.",
|
|
"type": "boolean"
|
|
},
|
|
"groupOrder": {
|
|
"description": "Ordering of the groups.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"conditional",
|
|
"function",
|
|
"import",
|
|
"intersection",
|
|
"keyword",
|
|
"nullish",
|
|
"literal",
|
|
"named",
|
|
"object",
|
|
"operator",
|
|
"tuple",
|
|
"union"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce constituents of a type union/intersection to be sorted alphabetically\nhttps://typescript-eslint.io/rules/sort-type-constituents"
|
|
},
|
|
"@typescript-eslint/space-before-blocks": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before blocks\nhttps://typescript-eslint.io/rules/space-before-blocks"
|
|
},
|
|
"@typescript-eslint/space-before-function-paren": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce consistent spacing before function parenthesis\nhttps://typescript-eslint.io/rules/space-before-function-paren"
|
|
},
|
|
"@typescript-eslint/space-infix-ops": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"int32Hint": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require spacing around infix operators\nhttps://typescript-eslint.io/rules/space-infix-ops"
|
|
},
|
|
"@typescript-eslint/strict-boolean-expressions": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowString": {
|
|
"type": "boolean"
|
|
},
|
|
"allowNumber": {
|
|
"type": "boolean"
|
|
},
|
|
"allowNullableObject": {
|
|
"type": "boolean"
|
|
},
|
|
"allowNullableBoolean": {
|
|
"type": "boolean"
|
|
},
|
|
"allowNullableString": {
|
|
"type": "boolean"
|
|
},
|
|
"allowNullableNumber": {
|
|
"type": "boolean"
|
|
},
|
|
"allowNullableEnum": {
|
|
"type": "boolean"
|
|
},
|
|
"allowAny": {
|
|
"type": "boolean"
|
|
},
|
|
"allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow certain types in boolean expressions\nhttps://typescript-eslint.io/rules/strict-boolean-expressions"
|
|
},
|
|
"@typescript-eslint/switch-exhaustiveness-check": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"allowDefaultCaseForExhaustiveSwitch": {
|
|
"description": "If 'true', allow 'default' cases on switch statements with exhaustive cases.",
|
|
"type": "boolean"
|
|
},
|
|
"requireDefaultForNonUnion": {
|
|
"description": "If 'true', require a 'default' clause for switches on non-union types.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require switch-case statements to be exhaustive\nhttps://typescript-eslint.io/rules/switch-exhaustiveness-check"
|
|
},
|
|
"@typescript-eslint/triple-slash-reference": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"lib": {
|
|
"type": "string",
|
|
"enum": ["always", "never"]
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"enum": ["always", "never"]
|
|
},
|
|
"types": {
|
|
"type": "string",
|
|
"enum": ["always", "never", "prefer-import"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow certain triple slash directives in favor of ES6-style import declarations\nhttps://typescript-eslint.io/rules/triple-slash-reference"
|
|
},
|
|
"@typescript-eslint/type-annotation-spacing": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"before": {
|
|
"type": "boolean"
|
|
},
|
|
"after": {
|
|
"type": "boolean"
|
|
},
|
|
"overrides": {
|
|
"type": "object",
|
|
"properties": {
|
|
"colon": {},
|
|
"arrow": {},
|
|
"variable": {},
|
|
"parameter": {},
|
|
"property": {},
|
|
"returnType": {}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require consistent spacing around type annotations\nhttps://typescript-eslint.io/rules/type-annotation-spacing"
|
|
},
|
|
"@typescript-eslint/typedef": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"arrayDestructuring": {
|
|
"type": "boolean"
|
|
},
|
|
"arrowParameter": {
|
|
"type": "boolean"
|
|
},
|
|
"memberVariableDeclaration": {
|
|
"type": "boolean"
|
|
},
|
|
"objectDestructuring": {
|
|
"type": "boolean"
|
|
},
|
|
"parameter": {
|
|
"type": "boolean"
|
|
},
|
|
"propertyDeclaration": {
|
|
"type": "boolean"
|
|
},
|
|
"variableDeclaration": {
|
|
"type": "boolean"
|
|
},
|
|
"variableDeclarationIgnoreFunction": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Require type annotations in certain places\nhttps://typescript-eslint.io/rules/typedef"
|
|
},
|
|
"@typescript-eslint/unbound-method": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreStatic": {
|
|
"description": "Whether to skip checking whether `static` methods are correctly bound.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Enforce unbound methods are called with their expected scope\nhttps://typescript-eslint.io/rules/unbound-method"
|
|
},
|
|
"@typescript-eslint/unified-signatures": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
},
|
|
{
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"type": "array",
|
|
"items": [
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ruleNumber"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ruleString"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ignoreDifferentlyNamedParameters": {
|
|
"description": "Whether two parameters with different names at the same index should be considered different even if their types are the same.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter\nhttps://typescript-eslint.io/rules/unified-signatures"
|
|
},
|
|
"@typescript-eslint/use-unknown-in-catch-callback-variable": {
|
|
"description": "Enforce typing arguments in `.catch()` callbacks as `unknown`\nhttps://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable"
|
|
}
|
|
}
|
|
}
|