Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(eslint-plugin)!: change recommended config #729

Merged
merged 22 commits into from Aug 13, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
07a59d8
feat(eslint-plugin): change recommended config
bradzacher Jul 20, 2019
659115d
feat: disable base rules, prettier generated configs
bradzacher Jul 21, 2019
8d3cb2a
Merge branch 'master' into v2-update-recommended
bradzacher Jul 21, 2019
9b39860
Merge branch 'master' into v2-update-recommended
bradzacher Jul 25, 2019
52c1699
Merge branch 'master' into v2-update-recommended
bradzacher Jul 25, 2019
42d62f7
fix: lint errors
bradzacher Jul 25, 2019
df4b45c
Merge branch 'master' into v2-update-recommended
bradzacher Jul 25, 2019
d1ec431
Merge branch 'master' into v2-update-recommended
bradzacher Jul 28, 2019
c9ca0fe
chore: fix lint errors
bradzacher Jul 28, 2019
20761bb
Merge branch 'master' into v2-update-recommended
bradzacher Jul 29, 2019
22d2db7
chore: update yarn.lock
bradzacher Jul 29, 2019
ce7ecf1
Merge branch 'master' into v2-update-recommended
bradzacher Jul 29, 2019
a03c88f
feat: change defaults of no-this-alias
bradzacher Jul 29, 2019
bf4ae8a
fix: add generation for rules added in #595
bradzacher Jul 29, 2019
c3aef68
fix: fix the test because I'm a dummy
bradzacher Jul 30, 2019
953d20d
Merge branch 'master' into v2-update-recommended
bradzacher Jul 30, 2019
a031e18
chore: review fixes
bradzacher Jul 31, 2019
0c0cbc3
Merge branch 'master' into v2-update-recommended
bradzacher Aug 2, 2019
81b9d43
fix: correct defaults for no-inferrable-types
bradzacher Aug 8, 2019
a0404b8
docs: update no-inferrable-types docs
bradzacher Aug 8, 2019
aa1193e
fix: lint
bradzacher Aug 8, 2019
d56558b
Merge branch 'master' into v2-update-recommended
JamesHenry Aug 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 18 additions & 18 deletions packages/eslint-plugin/README.md

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions packages/eslint-plugin/src/configs/base.json
Expand Up @@ -3,7 +3,5 @@
"parserOptions": {
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
]
"plugins": ["@typescript-eslint"]
}
22 changes: 14 additions & 8 deletions packages/eslint-plugin/src/configs/recommended.json
Expand Up @@ -2,35 +2,41 @@
"extends": "./configs/base.json",
"rules": {
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
bradzacher marked this conversation as resolved.
Show resolved Hide resolved
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/ban-ts-ignore": "error",
"@typescript-eslint/ban-types": "error",
"camelcase": "off",
"@typescript-eslint/camelcase": "error",
"@typescript-eslint/class-name-casing": "error",
"@typescript-eslint/consistent-type-definitions": "error",
"@typescript-eslint/explicit-function-return-type": "warn",
"@typescript-eslint/explicit-member-accessibility": "error",
"indent": "off",
"@typescript-eslint/indent": "error",
"@typescript-eslint/interface-name-prefix": "error",
"@typescript-eslint/member-delimiter-style": "error",
"@typescript-eslint/no-angle-bracket-type-assertion": "error",
"no-array-constructor": "off",
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-empty-function": "error",
bradzacher marked this conversation as resolved.
Show resolved Hide resolved
"@typescript-eslint/no-empty-interface": "error",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-inferrable-types": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-non-null-assertion": "warn",
"@typescript-eslint/no-object-literal-type-assertion": "error",
"@typescript-eslint/no-parameter-properties": "error",
"@typescript-eslint/no-this-alias": "error",
"@typescript-eslint/no-unnecessary-type-assertion": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "warn",
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": "error",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/prefer-includes": "error",
"@typescript-eslint/prefer-namespace-keyword": "error",
"@typescript-eslint/type-annotation-spacing": "error"
"@typescript-eslint/prefer-regexp-exec": "error",
"@typescript-eslint/prefer-string-starts-ends-with": "error",
"@typescript-eslint/require-await": "error",
bradzacher marked this conversation as resolved.
Show resolved Hide resolved
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/unbound-method": "error"
}
}
3 changes: 2 additions & 1 deletion packages/eslint-plugin/src/rules/array-type.ts
Expand Up @@ -86,7 +86,8 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Requires using either `T[]` or `Array<T>` for arrays',
category: 'Stylistic Issues',
recommended: 'error',
// too opinionated to be recommended
recommended: false,
},
fixable: 'code',
messages: {
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/await-thenable.ts
Expand Up @@ -9,7 +9,7 @@ export default util.createRule({
docs: {
description: 'Disallows awaiting a value that is not a Thenable',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
messages: {
await: 'Unexpected `await` of a non-Promise (non-"Thenable") value.',
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/ban-ts-ignore.ts
Expand Up @@ -7,7 +7,7 @@ export default util.createRule({
docs: {
description: 'Bans “// @ts-ignore” comments from being used',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
schema: [],
messages: {
Expand Down
Expand Up @@ -9,6 +9,7 @@ export default util.createRule({
description:
'Consistent with type definition either `interface` or `type`',
category: 'Stylistic Issues',
// too opinionated to be recommended
recommended: false,
},
messages: {
Expand Down
Expand Up @@ -47,8 +47,8 @@ export default util.createRule<Options, MessageIds>({
defaultOptions: [
{
allowExpressions: false,
allowTypedFunctionExpressions: false,
allowHigherOrderFunctions: false,
allowTypedFunctionExpressions: true,
allowHigherOrderFunctions: true,
},
],
create(context, [options]) {
Expand Down
Expand Up @@ -33,8 +33,9 @@ export default util.createRule<Options, MessageIds>({
docs: {
description:
'Require explicit accessibility modifiers on class properties and methods',
category: 'Best Practices',
recommended: 'error',
category: 'Stylistic Issues',
// too opinionated to be recommended
recommended: false,
},
messages: {
missingAccessibility:
Expand Down
1 change: 1 addition & 0 deletions packages/eslint-plugin/src/rules/generic-type-naming.ts
Expand Up @@ -10,6 +10,7 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Enforces naming of generic type variables',
category: 'Stylistic Issues',
// too opinionated to be recommended
recommended: false,
},
messages: {
Expand Down
3 changes: 2 additions & 1 deletion packages/eslint-plugin/src/rules/indent.ts
Expand Up @@ -89,7 +89,8 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Enforce consistent indentation',
category: 'Stylistic Issues',
recommended: 'error',
// too opinionated to be recommended
recommended: false,
},
fixable: 'whitespace',
schema: baseRule.meta.schema,
Expand Down
2 changes: 2 additions & 0 deletions packages/eslint-plugin/src/rules/interface-name-prefix.ts
Expand Up @@ -10,6 +10,8 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Require that interface names be prefixed with `I`',
bradzacher marked this conversation as resolved.
Show resolved Hide resolved
category: 'Stylistic Issues',
// this will always be recommended as there's no reason to use this convention
// https://github.com/typescript-eslint/typescript-eslint/issues/374
recommended: 'error',
},
messages: {
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/no-empty-function.ts
Expand Up @@ -15,7 +15,7 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Disallow empty functions',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
schema: baseRule.meta.schema,
messages: baseRule.meta.messages,
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/no-for-in-array.ts
Expand Up @@ -7,7 +7,7 @@ export default util.createRule({
docs: {
description: 'Disallow iterating over an array with a for-in loop',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
messages: {
forInViolation:
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/no-misused-new.ts
Expand Up @@ -16,7 +16,7 @@ export default util.createRule({
schema: [],
messages: {
errorMessageInterface: 'Interfaces cannot be constructed, only classes.',
errorMessageClass: 'Class cannon have method named `new`.',
errorMessageClass: 'Class cannot have method named `new`.',
},
},
defaultOptions: [],
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/no-misused-promises.ts
Expand Up @@ -17,7 +17,7 @@ export default util.createRule<Options, 'conditional' | 'voidReturn'>({
docs: {
description: 'Avoid using promises in places not designed to handle them',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
messages: {
voidReturn:
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/no-non-null-assertion.ts
Expand Up @@ -8,7 +8,7 @@ export default util.createRule({
description:
'Disallows non-null assertions using the `!` postfix operator',
category: 'Stylistic Issues',
recommended: 'error',
recommended: 'warn',
},
messages: {
noNonNull: 'Forbidden non-null assertion.',
Expand Down
3 changes: 2 additions & 1 deletion packages/eslint-plugin/src/rules/no-parameter-properties.ts
Expand Up @@ -27,7 +27,8 @@ export default util.createRule<Options, MessageIds>({
description:
'Disallow the use of parameter properties in class constructors',
category: 'Stylistic Issues',
recommended: 'error',
// too opinionated to be recommended
recommended: false,
},
messages: {
noParamProp:
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/no-this-alias.ts
Expand Up @@ -19,7 +19,7 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Disallow aliasing `this`',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
schema: [
{
Expand Down
Expand Up @@ -7,7 +7,7 @@ export default util.createRule({
docs: {
description: 'Disallow `/// <reference path="" />` comments',
category: 'Best Practices',
recommended: 'error',
recommended: false,
},
schema: [],
deprecated: true,
Expand Down
1 change: 1 addition & 0 deletions packages/eslint-plugin/src/rules/no-type-alias.ts
Expand Up @@ -44,6 +44,7 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Disallow the use of type aliases',
category: 'Stylistic Issues',
// too opinionated to be recommended
recommended: false,
},
messages: {
Expand Down
Expand Up @@ -27,7 +27,7 @@ export default util.createRule<Options, MessageIds>({
description:
'Warns if a type assertion does not change the type of an expression',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
fixable: 'code',
messages: {
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/prefer-includes.ts
Expand Up @@ -13,7 +13,7 @@ export default createRule({
docs: {
description: 'Enforce `includes` method over `indexOf` method',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
fixable: 'code',
messages: {
Expand Down
3 changes: 2 additions & 1 deletion packages/eslint-plugin/src/rules/prefer-interface.ts
Expand Up @@ -9,7 +9,8 @@ export default util.createRule({
description:
'Prefer an interface declaration over a type literal (type T = { ... })',
category: 'Stylistic Issues',
recommended: 'error',
// too opinionated to be recommended
recommended: false,
},
fixable: 'code',
messages: {
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/prefer-regexp-exec.ts
Expand Up @@ -12,7 +12,7 @@ export default createRule({
description:
'Prefer RegExp#exec() over String#match() if no global flag is provided',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
messages: {
regExpExecOverStringMatch: 'Use the `RegExp#exec()` method instead.',
Expand Down
Expand Up @@ -20,7 +20,7 @@ export default createRule({
description:
'Enforce the use of `String#startsWith` and `String#endsWith` instead of other equivalent methods of checking substrings',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
messages: {
preferStartsWith: "Use 'String#startsWith' method instead.",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/require-await.ts
Expand Up @@ -23,7 +23,7 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Disallow async functions which have no `await` expression',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
schema: baseRule.meta.schema,
messages: baseRule.meta.messages,
Expand Down
1 change: 1 addition & 0 deletions packages/eslint-plugin/src/rules/semi.ts
Expand Up @@ -16,6 +16,7 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Require or disallow semicolons instead of ASI',
category: 'Stylistic Issues',
// too opinionated to be recommended
recommended: false,
},
fixable: 'code',
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/triple-slash-reference.ts
Expand Up @@ -18,7 +18,7 @@ export default util.createRule<Options, MessageIds>({
description:
'Sets preference level for triple slash directives versus ES6-style import declarations',
category: 'Best Practices',
recommended: false,
recommended: 'error',
},
messages: {
tripleSlashReference:
Expand Down
3 changes: 2 additions & 1 deletion packages/eslint-plugin/src/rules/type-annotation-spacing.ts
Expand Up @@ -39,7 +39,8 @@ export default util.createRule<Options, MessageIds>({
docs: {
description: 'Require consistent spacing around type annotations',
category: 'Stylistic Issues',
recommended: 'error',
// too opinionated to be recommended
recommended: false,
},
fixable: 'whitespace',
messages: {
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/src/rules/unbound-method.ts
Expand Up @@ -25,7 +25,7 @@ export default util.createRule<Options, MessageIds>({
category: 'Best Practices',
description:
'Enforces unbound methods are called with their expected scope',
recommended: false,
recommended: 'error',
},
messages: {
unbound:
Expand Down
1 change: 1 addition & 0 deletions packages/eslint-plugin/src/rules/unified-signatures.ts
Expand Up @@ -55,6 +55,7 @@ export default util.createRule({
description:
'Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter',
category: 'Variables',
// too opinionated to be recommended
recommended: false,
},
type: 'suggestion',
Expand Down