eslint-plugin-sonar-config 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,33 +1,33 @@
1
- import noNestedTernary from "./rules/no-nested-ternary.js";
2
- import awaitOnlyPromises from "./rules/await-only-promises.js";
3
- import forLoopUpdateCounter from "./rules/for-loop-update-counter.js";
4
- import maxSwitchCases from "./rules/max-switch-cases.js";
5
- import noArrayDelete from "./rules/no-array-delete.js";
6
- import noExampleRule from "./rules/no-example-rule.js";
7
- import noInArray from "./rules/no-in-array.js";
8
- import noInWithPrimitives from "./rules/no-in-with-primitives.js";
9
- import noIndexOfComparePositive from "./rules/no-index-of-compare-positive.js";
10
- import noLabelInSwitch from "./rules/no-label-in-switch.js";
11
- import noThisInFunctionalComponent from "./rules/no-this-in-functional-component.js";
12
- import preferForOf from "./rules/prefer-for-of.js";
13
- import preferRegexExec from "./rules/prefer-regex-exec.js";
14
- import requireReduceInitialValue from "./rules/require-reduce-initial-value.js";
15
- import requireSortCompare from "./rules/require-sort-compare.js";
16
- import useStateCallback from "./rules/use-state-callback.js";
17
- import preferWhile from "./rules/prefer-while.js";
18
- import noIdenticalBranches from "./rules/no-identical-branches.js";
19
- import noEmptyRegexAlternatives from "./rules/no-empty-regex-alternatives.js";
20
- import regexAnchorWithAlternation from "./rules/regex-anchor-with-alternation.js";
21
- import noNonNumericArrayIndex from "./rules/no-non-numeric-array-index.js";
22
- import arrayMethodMissingArgs from "./rules/array-method-missing-args.js";
23
- import noMisleadingArrayMutation from "./rules/no-misleading-array-mutation.js";
24
- import noUnsafeWindowOpen from "./rules/no-unsafe-window-open.js";
25
- import noConstantBinaryExpression from "./rules/no-constant-binary-expression.js";
26
- import noBitwiseInBoolean from "./rules/no-bitwise-in-boolean.js";
27
- import noInvertedBooleanCheck from "./rules/no-inverted-boolean-check.js";
28
- import noGratuitousBoolean from "./rules/no-gratuitous-boolean.js";
29
- import noRedundantBooleanCondition from "./rules/no-redundant-boolean-condition.js";
30
- import noRedundantCallApply from "./rules/no-redundant-call-apply.js";
1
+ const noNestedTernary = require("./rules/no-nested-ternary.js");
2
+ const awaitOnlyPromises = require("./rules/await-only-promises.js");
3
+ const forLoopUpdateCounter = require("./rules/for-loop-update-counter.js");
4
+ const maxSwitchCases = require("./rules/max-switch-cases.js");
5
+ const noArrayDelete = require("./rules/no-array-delete.js");
6
+ const noExampleRule = require("./rules/no-example-rule.js");
7
+ const noInArray = require("./rules/no-in-array.js");
8
+ const noInWithPrimitives = require("./rules/no-in-with-primitives.js");
9
+ const noIndexOfComparePositive = require("./rules/no-index-of-compare-positive.js");
10
+ const noLabelInSwitch = require("./rules/no-label-in-switch.js");
11
+ const noThisInFunctionalComponent = require("./rules/no-this-in-functional-component.js");
12
+ const preferForOf = require("./rules/prefer-for-of.js");
13
+ const preferRegexExec = require("./rules/prefer-regex-exec.js");
14
+ const requireReduceInitialValue = require("./rules/require-reduce-initial-value.js");
15
+ const requireSortCompare = require("./rules/require-sort-compare.js");
16
+ const useStateCallback = require("./rules/use-state-callback.js");
17
+ const preferWhile = require("./rules/prefer-while.js");
18
+ const noIdenticalBranches = require("./rules/no-identical-branches.js");
19
+ const noEmptyRegexAlternatives = require("./rules/no-empty-regex-alternatives.js");
20
+ const regexAnchorWithAlternation = require("./rules/regex-anchor-with-alternation.js");
21
+ const noNonNumericArrayIndex = require("./rules/no-non-numeric-array-index.js");
22
+ const arrayMethodMissingArgs = require("./rules/array-method-missing-args.js");
23
+ const noMisleadingArrayMutation = require("./rules/no-misleading-array-mutation.js");
24
+ const noUnsafeWindowOpen = require("./rules/no-unsafe-window-open.js");
25
+ const noConstantBinaryExpression = require("./rules/no-constant-binary-expression.js");
26
+ const noBitwiseInBoolean = require("./rules/no-bitwise-in-boolean.js");
27
+ const noInvertedBooleanCheck = require("./rules/no-inverted-boolean-check.js");
28
+ const noGratuitousBoolean = require("./rules/no-gratuitous-boolean.js");
29
+ const noRedundantBooleanCondition = require("./rules/no-redundant-boolean-condition.js");
30
+ const noRedundantCallApply = require("./rules/no-redundant-call-apply.js");
31
31
 
32
32
  const rulesConfig = {
33
33
  "no-nested-ternary": { rule: noNestedTernary, level: "error" },
@@ -114,4 +114,4 @@ const plugin = {
114
114
  },
115
115
  };
116
116
 
117
- export default plugin;
117
+ module.exports = plugin;
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "eslint-plugin-sonar-config",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "ESLint plugin com regras customizadas para melhorar a qualidade de código em projeto com Sonar implementado.",
5
5
  "main": "index.js",
6
- "type": "module",
7
6
  "keywords": [
8
7
  "eslint",
9
8
  "eslintplugin",
@@ -13,12 +12,9 @@
13
12
  ],
14
13
  "license": "MIT",
15
14
  "peerDependencies": {
16
- "eslint": "8.57.0"
15
+ "eslint": ">=8.0.0"
17
16
  },
18
17
  "engines": {
19
- "node": "16.0.0"
20
- },
21
- "exports": {
22
- ".": "./index.js"
18
+ "node": ">=16.0.0"
23
19
  }
24
20
  }
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Métodos push/unshift devem receber pelo menos 1 argumento
3
3
  * [].push() ou arr.push() sem argumentos é inútil e provavelmente um bug
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  /** @type {import('eslint').Rule.RuleModule} */
11
- export default {
11
+ module.exports = {
12
12
  meta: {
13
13
  type: "problem",
14
14
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview O update do for loop deve modificar a variável usada na condição
3
3
  * Evita bugs onde o incremento modifica uma variável diferente da condição.
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -4,7 +4,7 @@
4
4
  */
5
5
  const MAX_CASES = 30;
6
6
 
7
- export default {
7
+ module.exports = {
8
8
  meta: {
9
9
  type: "suggestion",
10
10
  docs: {
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  /** @type {import('eslint').Rule.RuleModule} */
11
- export default {
11
+ module.exports = {
12
12
  meta: {
13
13
  type: "problem",
14
14
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Operadores bitwise não devem ser usados em contextos booleanos
3
3
  * if (a & b) provavelmente deveria ser if (a && b)
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Expressões que sempre retornam o mesmo valor
3
3
  * Cobre: a < a, true && x, x === new Object(), if ({})
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Alternativas em regex não devem ser vazias
3
3
  * /a|/ ou /|a/ ou /a||b/ são problemáticos
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  /** @type {import('eslint').Rule.RuleModule} */
11
- export default {
11
+ module.exports = {
12
12
  meta: {
13
13
  type: "suggestion", // "problem" | "suggestion" | "layout"
14
14
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Expressões booleanas não devem ser gratuitas
3
3
  * Cobre: a === true, a ? true : false, !a ? false : true
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "suggestion",
8
8
  docs: {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Branches de if/else/ternário/switch não devem ter implementações idênticas
3
3
  */
4
- export default {
4
+ module.exports = {
5
5
  meta: {
6
6
  type: "problem",
7
7
  docs: {
@@ -3,7 +3,7 @@
3
3
  * O operador "in" verifica propriedades do objeto, não índices do array.
4
4
  * Use includes(), indexOf() ou hasOwnProperty() para arrays.
5
5
  */
6
- export default {
6
+ module.exports = {
7
7
  meta: {
8
8
  type: "problem",
9
9
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Não usar operador "in" com tipos primitivos
3
3
  * O operador "in" com primitivos (string, number, boolean) causa TypeError.
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview indexOf não deve ser comparado com números positivos
3
3
  * Comparar indexOf > 0 ignora o primeiro elemento. Use >= 0 ou includes().
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Checks booleanos não devem ser invertidos desnecessariamente
3
3
  * !(a === b) deveria ser a !== b
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "suggestion",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Switch não deve conter labels que não são case
3
3
  * Misturar labels e cases no switch é confuso e pode ser erro de digitação.
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Métodos que mutam arrays não devem ser usados de forma enganosa
3
3
  * const reversed = arr.reverse() é problemático pois arr também é mutado
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  /** @type {import('eslint').Rule.RuleModule} */
9
- export default {
9
+ module.exports = {
10
10
  meta: {
11
11
  type: "problem",
12
12
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Índices de arrays devem ser numéricos
3
3
  * arr["foo"] é problemático, deve usar objeto ao invés de array
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Condições booleanas não devem ser redundantes
3
3
  * if (a) { if (a) { ... } } - o segundo if é redundante
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Chamadas .call() e .apply() não devem ser redundantes
3
3
  * fn.call(undefined, a, b) deveria ser fn(a, b)
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "suggestion",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Não usar "this" em componentes funcionais React
3
3
  * Componentes funcionais não têm instância, então "this" não faz sentido.
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview window.open() deve usar 'noopener' para segurança
3
3
  * Sem noopener, a janela aberta pode acessar window.opener
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Preferir for...of ao invés de for tradicional com índice
3
3
  * Quando o índice é usado apenas para acessar elementos do array, for...of é mais legível.
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "suggestion",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Preferir RegExp.exec() ao invés de String.match()
3
3
  * RegExp.exec() é mais rápido e produz o mesmo resultado quando não há flag 'g'.
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "suggestion",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Use "while" ao invés de "for" quando não há init e update
3
3
  * for (; condition; ) {} → while (condition) {}
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "suggestion",
8
8
  docs: {
@@ -2,7 +2,7 @@
2
2
  * @fileoverview Alternativas em regex devem ser agrupadas quando usadas com anchors (^ ou $)
3
3
  * /^a|b/ deveria ser /^(a|b)/ ou /^a|^b/
4
4
  */
5
- export default {
5
+ module.exports = {
6
6
  meta: {
7
7
  type: "problem",
8
8
  docs: {
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  /** @type {import('eslint').Rule.RuleModule} */
8
- export default {
8
+ module.exports = {
9
9
  meta: {
10
10
  type: "problem",
11
11
  docs: {
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  /** @type {import('eslint').Rule.RuleModule} */
8
- export default {
8
+ module.exports = {
9
9
  meta: {
10
10
  type: "problem",
11
11
  docs: {
@@ -35,7 +35,7 @@ function containsIdentifier(node, name) {
35
35
  return false;
36
36
  }
37
37
 
38
- export default {
38
+ module.exports = {
39
39
  meta: {
40
40
  type: "problem",
41
41
  docs: {