Skip to content

Commit

Permalink
chore: Upgrade dependencies.
Browse files Browse the repository at this point in the history
  • Loading branch information
cartant committed Oct 17, 2021
1 parent 1832aae commit c827e02
Show file tree
Hide file tree
Showing 19 changed files with 193 additions and 245 deletions.
17 changes: 7 additions & 10 deletions package.json
Expand Up @@ -5,22 +5,22 @@
},
"dependencies": {
"@phenomnomnominal/tsquery": "^4.0.0",
"@typescript-eslint/experimental-utils": "^4.0.0",
"eslint-etc": "^4.0.4",
"@typescript-eslint/experimental-utils": "^5.0.0",
"eslint-etc": "^5.0.0",
"requireindex": "~1.2.0",
"tslib": "^2.0.0",
"tsutils": "^3.0.0"
},
"description": "More general-purpose ESLint rules",
"devDependencies": {
"@cartant/eslint-config": "^2.0.0",
"@cartant/eslint-config": "^3.0.0",
"@types/common-tags": "^1.8.0",
"@types/eslint": "^7.0.0",
"@types/mocha": "^9.0.0",
"@types/node": "^16.0.0",
"@typescript-eslint/parser": "^4.0.0",
"@typescript-eslint/parser": "^5.0.0",
"common-tags": "^1.8.0",
"eslint": "^7.0.0",
"eslint": "^8.0.0",
"husky": "^7.0.0",
"lint-staged": "^11.0.0",
"mocha": "^9.0.0",
Expand All @@ -29,9 +29,6 @@
"ts-node": "^10.0.0",
"typescript": "~4.4.2"
},
"engines": {
"node": ">=10"
},
"files": [
"dist",
"docs",
Expand All @@ -51,8 +48,8 @@
"name": "eslint-plugin-etc",
"optionalDependencies": {},
"peerDependencies": {
"eslint": "^5.0.0 || ^6.0.0 || ^ 7.0.0",
"typescript": "^3.0.0 || ^4.0.0"
"eslint": "^8.0.0",
"typescript": "^4.0.0"
},
"private": false,
"publishConfig": {
Expand Down
35 changes: 18 additions & 17 deletions source/rules/no-assign-mutated-array.ts
Expand Up @@ -23,11 +23,11 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Possible Errors",
description: "Forbids the assignment of returned, mutated arrays.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "Assignment of mutated arrays is forbidden.",
},
Expand All @@ -38,23 +38,24 @@ const rule = ruleCreator({
create: (context) => {
const { couldBeType } = getTypeServices(context);
return {
[`CallExpression > MemberExpression[property.name=${mutatorRegExp.toString()}]`]: (
memberExpression: es.MemberExpression
) => {
const callExpression = getParent(memberExpression) as es.CallExpression;
const parent = getParent(callExpression);
if (parent && !isExpressionStatement(parent)) {
if (
couldBeType(memberExpression.object, "Array") &&
mutatesReferencedArray(callExpression)
) {
context.report({
messageId: "forbidden",
node: memberExpression.property,
});
[`CallExpression > MemberExpression[property.name=${mutatorRegExp.toString()}]`]:
(memberExpression: es.MemberExpression) => {
const callExpression = getParent(
memberExpression
) as es.CallExpression;
const parent = getParent(callExpression);
if (parent && !isExpressionStatement(parent)) {
if (
couldBeType(memberExpression.object, "Array") &&
mutatesReferencedArray(callExpression)
) {
context.report({
messageId: "forbidden",
node: memberExpression.property,
});
}
}
}
},
},
};

function isNewArray(node: es.LeftHandSideExpression): boolean {
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-commented-out-code.ts
Expand Up @@ -10,11 +10,11 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Best Practices",
description: "Forbids commented-out code.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "Commented-out code is forbidden.",
},
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-const-enum.ts
Expand Up @@ -17,11 +17,11 @@ const rule = ruleCreator({
defaultOptions,
meta: {
docs: {
category: "Best Practices",
description: "Forbids the use of `const enum`.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "`const enum` is forbidden.",
},
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-deprecated.ts
Expand Up @@ -20,11 +20,11 @@ const rule = ruleCreator({
defaultOptions,
meta: {
docs: {
category: "Best Practices",
description: "Forbids the use of deprecated APIs.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: `"{{name}}" is deprecated: {{comment}}`,
},
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-enum.ts
Expand Up @@ -12,11 +12,11 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Best Practices",
description: "Forbids the use of `enum`.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "`enum` is forbidden.",
},
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-foreach.ts
Expand Up @@ -15,11 +15,11 @@ const rule = ruleCreator({
defaultOptions,
meta: {
docs: {
category: "Best Practices",
description: "Forbids calling `forEach`.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "Calling `forEach` is forbidden.",
},
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-implicit-any-catch.ts
Expand Up @@ -41,13 +41,13 @@ const rule = ruleCreator({
defaultOptions,
meta: {
docs: {
category: "Possible Errors",
description:
"Forbids implicit `any` error parameters in promise rejections.",
recommended: false,
suggestion: true,
},
fixable: "code",
hasSuggestions: true,
messages: {
explicitAny: "Explicit `any` in promise rejection.",
implicitAny: "Implicit `any` in promise rejection.",
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-internal.ts
Expand Up @@ -22,11 +22,11 @@ const rule = ruleCreator({
defaultOptions,
meta: {
docs: {
category: "Best Practices",
description: "Forbids the use of internal APIs.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: `"{{name}}" is internal.`,
},
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-misused-generics.ts
Expand Up @@ -15,12 +15,12 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Best Practices",
description:
"Forbids type parameters without inference sites and type parameters that don't add type safety to declarations.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
canReplace:
"Type parameter '{{name}}' is not used to enforce a constraint between types and can be replaced with '{{replacement}}'.",
Expand Down
2 changes: 1 addition & 1 deletion source/rules/no-t.ts
Expand Up @@ -14,11 +14,11 @@ const rule = ruleCreator({
defaultOptions,
meta: {
docs: {
category: "Best Practices",
description: "Forbids single-character type parameters.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: `Single-character type parameters are forbidden. Choose a more descriptive name for "{{name}}"`,
prefix: `Type parameter "{{name}}" does not have prefix "{{prefix}}"`,
Expand Down
7 changes: 3 additions & 4 deletions source/rules/prefer-interface.ts
Expand Up @@ -27,11 +27,11 @@ const rule = ruleCreator({
defaultOptions: defaultOptions,
meta: {
docs: {
category: "Best Practices",
description: "Forbids type aliases where interfaces can be used.",
recommended: false,
},
fixable: "code",
hasSuggestions: true,
messages: {
forbidden: "Type can be declared using an interface.",
suggest: "Use an interface instead of a type alias.",
Expand All @@ -48,9 +48,8 @@ const rule = ruleCreator({
},
name: "prefer-interface",
create: (context, unused: typeof defaultOptions) => {
const [
{ allowIntersection = true, allowLocal = false } = {},
] = context.options;
const [{ allowIntersection = true, allowLocal = false } = {}] =
context.options;

function formatTypeParameters(
typeParameters?:
Expand Down
2 changes: 1 addition & 1 deletion source/rules/prefer-less-than.ts
Expand Up @@ -13,11 +13,11 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Best Practices",
description: "Forbids greater-than comparisons.",
recommended: false,
},
fixable: "code",
hasSuggestions: true,
messages: {
forbiddenGT: "Greater-than comparisons are forbidden.",
forbiddenGTE: "Greater-than-or-equal comparisons are forbidden.",
Expand Down
41 changes: 20 additions & 21 deletions source/rules/throw-error.ts
Expand Up @@ -11,11 +11,11 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Best Practices",
description: "Forbids throwing - or rejecting with - non-`Error` values.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "{{usage}} non-`Error` values is forbidden.",
},
Expand Down Expand Up @@ -49,27 +49,26 @@ const rule = ruleCreator({
}
checkRejection(getParent(node) as es.CallExpression);
},
"NewExpression[callee.name='Promise'] > ArrowFunctionExpression, NewExpression[callee.name='Promise'] > FunctionExpression": (
node: es.ArrowFunctionExpression | es.FunctionExpression
) => {
const [, param] = node.params;
if (!param) {
return;
}
const text = sourceCode.getText(param);
const variable = context
.getDeclaredVariables(node)
.find((variable) => variable.name === text);
if (!variable) {
return;
}
variable.references.forEach(({ identifier }) => {
const parent = getParent(identifier) as es.Node;
if (isCallExpression(parent) && identifier === parent.callee) {
checkRejection(parent);
"NewExpression[callee.name='Promise'] > ArrowFunctionExpression, NewExpression[callee.name='Promise'] > FunctionExpression":
(node: es.ArrowFunctionExpression | es.FunctionExpression) => {
const [, param] = node.params;
if (!param) {
return;
}
});
},
const text = sourceCode.getText(param);
const variable = context
.getDeclaredVariables(node)
.find((variable) => variable.name === text);
if (!variable) {
return;
}
variable.references.forEach(({ identifier }) => {
const parent = getParent(identifier) as es.Node;
if (isCallExpression(parent) && identifier === parent.callee) {
checkRejection(parent);
}
});
},
ThrowStatement: (node: es.ThrowStatement) => {
if (
node.argument &&
Expand Down
4 changes: 2 additions & 2 deletions source/rules/underscore-internal.ts
Expand Up @@ -13,12 +13,12 @@ const rule = ruleCreator({
defaultOptions: [],
meta: {
docs: {
category: "Best Practices",
description:
"Forbids internal APIs that are not prefixed with underscores.",
recommended: false,
},
fixable: undefined,
hasSuggestions: false,
messages: {
forbidden: "Internal APIs not prefixed with underscores are forbidden.",
},
Expand All @@ -45,7 +45,7 @@ const rule = ruleCreator({
checkDeclaration(node.id, esTreeNodeToTSNodeMap.get(node));
}
},
"ClassProperty[key.name=/^[^_]/]": (node: es.ClassProperty) => {
"PropertyDefinition[key.name=/^[^_]/]": (node: es.PropertyDefinition) => {
if (isIdentifier(node.key)) {
checkDeclaration(node.key, esTreeNodeToTSNodeMap.get(node));
}
Expand Down

0 comments on commit c827e02

Please sign in to comment.