@odg/eslint-config 2.0.4 → 3.0.1

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.
@@ -0,0 +1,82 @@
1
+ export default {
2
+ rules: {
3
+ "no-eval": [ "error" ], // Não permite usar eval
4
+ "no-implied-eval": [ "error" ], // Bloqueia eval implícito
5
+ "security/detect-unsafe-regex": [ "error" ], // Bloqueia Algumas regex que podem gerar Falhas Segurança
6
+ "security/detect-buffer-noassert": [ "error" ], // Buffer sem noAssert não são permitidos
7
+ "security/detect-child-process": [ "error" ], // Não use exec ProcessChild
8
+ "security/detect-disable-mustache-escape": [ "error" ], // Não use object.escapeMarkup = false
9
+ "security/detect-no-csrf-before-method-override": [ "error" ], // Valida CSRF antes override express
10
+ "security/detect-non-literal-fs-filename": [ "error" ],
11
+ "security/detect-pseudoRandomBytes": [ "error" ], // Não use pseudo Random
12
+ "unicorn/no-document-cookie": [ "error" ], // Não setCookie pelo document.cookie
13
+ "security/detect-eval-with-expression": [ "error" ], // Não permite eval com expressões
14
+ "security/detect-new-buffer": [ "error" ], // Bloqueia New Buffer
15
+ "security/detect-non-literal-regexp": [ "error" ], // Regex Protect
16
+ "security/detect-non-literal-require": [ "error" ], // Require Protect
17
+ "security/detect-possible-timing-attacks": [ "error" ], // Previne Tokens no código
18
+ "security/detect-bidi-characters": [ "error" ], // Anti Trojan code program
19
+ "import/no-dynamic-require": [ "error", { "esmodule": true } ], // Sem import dinâmicos
20
+ "no-prototype-builtins": [ "error" ], // Object.prototype.hasOwnProperty.call no lugar obj.hasOwnProperty
21
+ "sonarjs/aws-apigateway-public-api": [ "error" ], // Bloqueia API Gateway público
22
+ "sonarjs/aws-ec2-rds-dms-public": [ "error" ], // Bloqueia rds public
23
+ "sonarjs/aws-ec2-unencrypted-ebs-volume": [ "error" ], // Segurança aws
24
+ "sonarjs/aws-efs-unencrypted": [ "error" ], // Segurança aws
25
+ "sonarjs/aws-iam-all-privileges": [ "error" ], // Segurança aws
26
+ "sonarjs/aws-iam-privilege-escalation": [ "error" ], // Segurança aws
27
+ "sonarjs/aws-iam-public-access": [ "error" ], // Segurança aws
28
+ "sonarjs/aws-opensearchservice-domain": [ "error" ], // Segurança aws
29
+ "sonarjs/aws-rds-unencrypted-databases": [ "error" ], // Segurança aws
30
+ "sonarjs/aws-restricted-ip-admin-access": [ "error" ], // Segurança aws
31
+ "sonarjs/aws-s3-bucket-granted-access": [ "error" ], // Segurança aws
32
+ "sonarjs/aws-s3-bucket-insecure-http": [ "error" ], // Segurança aws
33
+ "sonarjs/aws-s3-bucket-public-access": [ "error" ], // Segurança aws
34
+ "sonarjs/aws-s3-bucket-versioning": [ "error" ], // Segurança aws
35
+ "sonarjs/aws-sagemaker-unencrypted-notebook": [ "error" ], // Segurança aws
36
+ "sonarjs/aws-sns-unencrypted-topics": [ "error" ], // Segurança aws
37
+ "sonarjs/aws-sqs-unencrypted-queue": [ "error" ], // Segurança aws
38
+ "sonarjs/content-length": [ "error" ], // Request body limit
39
+ "sonarjs/content-security-policy": [ "error" ], // Dado seguro express
40
+ "sonarjs/cookie-no-httponly": [ "error" ], // Use cookies http Only
41
+ "sonarjs/cors": [ "error" ], // Configure cors de maneira segura
42
+ "sonarjs/csrf": [ "error" ], // Configure CSRF seguro
43
+ "sonarjs/disabled-auto-escaping": [ "error" ], // Não desligue scaping de html por segurança
44
+ "sonarjs/disabled-resource-integrity": [ "error" ], // Verifique integridade script
45
+ // "sonarjs/dynamically-constructed-templates": [ "error" ], // Templates dinâmicos são inseguros com pug lib
46
+ "sonarjs/encryption-secure-mode": [ "error" ], // Crypto de forma segura
47
+ "sonarjs/file-permissions": [ "error" ], // Crie arquivos com perm segura
48
+ "sonarjs/file-uploads": [ "error" ], // Upload arquivos seguro
49
+ "sonarjs/frame-ancestors": [ "error" ], // Frame ancestors police
50
+ // "sonarjs/hardcoded-secret-signatures": [ "error" ], // Poe senha no código nao mano
51
+ "sonarjs/hashing": [ "error" ], // Crie hash seguros
52
+ "sonarjs/hidden-files": [ "error" ], // Server arquivos statics n deve deixar listagem publica
53
+ "sonarjs/insecure-cookie": [ "error" ], // Cookies security = true
54
+ "sonarjs/insecure-jwt-token": [ "error" ], // JWT de forma segura
55
+ "sonarjs/link-with-target-blank": [ "error" ], // Abrir uma nova janela use parameters seguros
56
+ "sonarjs/no-clear-text-protocols": [ "error" ], // Diversos protocolos seguros
57
+ "sonarjs/no-hardcoded-ip": [ "error" ], // Não coloque ip dentro do código
58
+ "sonarjs/no-hardcoded-passwords": [ "error" ], // Não coloque senha dentro do código
59
+ "sonarjs/no-hardcoded-secrets": [ "error" ], // Não coloque token dentro do código
60
+ "sonarjs/no-mime-sniff": [ "error" ], // Segurança sniff mime
61
+ "sonarjs/no-mixed-content": [ "error" ], // Mixed-content is security-sensitive
62
+ "sonarjs/no-os-command-from-path": [ "error" ], // Execute arquivo com caminho completo
63
+ "sonarjs/no-reference-error": [ "error" ], // Referer security
64
+ "sonarjs/no-unsafe-unzip": [ "error" ], // Faça unzip de forma segura
65
+ "sonarjs/no-weak-cipher": [ "error" ], // Crypto seguro
66
+ "sonarjs/no-weak-keys": [ "error" ], // Crypto seguro
67
+ "sonarjs/os-command": [ "error" ], // Comandos Exec seguro
68
+ "sonarjs/post-message": [ "error" ], // Mensagens iframe seguras
69
+ "sonarjs/production-debug": [ "error" ], // Error handler apenas no dev
70
+ "sonarjs/pseudo-random": [ "error" ], // Não use Math.random
71
+ "sonarjs/publicly-writable-directories": [ "error" ], // Use temp of node
72
+ // "sonarjs/review-blockchain-mnemonic": [ "error" ], // Não coloca token no código
73
+ "sonarjs/session-regeneration": [ "error" ], // Renovar sessão de login
74
+ "sonarjs/sql-queries": [ "error" ], // Não Concatene SQL
75
+ "sonarjs/strict-transport-security": [ "error" ], // Segurança em H-STS
76
+ "sonarjs/unverified-certificate": [ "error" ], // Validar certificado SSL
77
+ "sonarjs/unverified-hostname": [ "error" ], // Validar host SSL
78
+ "sonarjs/weak-ssl": [ "error" ], // Validar fraco SSL
79
+ "sonarjs/x-powered-by": [ "error" ], // Oculta info do node
80
+ "sonarjs/xml-parser-xxe": [ "error" ], // Xml proteção de venerabilidade
81
+ },
82
+ };
@@ -1,12 +1,16 @@
1
- module.exports = {
1
+ export default {
2
2
  rules: {
3
3
  "filenames/match-regex": [ "off" ],
4
- "max-len": [ "warn", {
5
- code: 120,
6
- ignoreUrls: true,
7
- ignoreStrings: true,
8
- ignoreTemplateLiterals: true,
9
- } ], // Caracteres máximo por linhas
4
+ "@stylistic/max-len": [
5
+ "warn",
6
+ {
7
+ code: 120,
8
+ ignoreUrls: true,
9
+ ignoreStrings: true,
10
+ ignoreTemplateLiterals: true,
11
+ ignoreRegExpLiterals: true,
12
+ },
13
+ ], // Caracteres máximo por linhas
10
14
  "toml/indent": [ "error" ], // Indent
11
15
  "toml/keys-order": [ "error" ], // Indent
12
16
  "toml/no-non-decimal-integer": [ "error" ], // No decimal int
@@ -24,13 +28,20 @@ module.exports = {
24
28
  "toml/array-element-newline": [ "error", "consistent" ], // Array multipla linhas
25
29
  "toml/comma-style": [ "error" ], // Virgula a direita
26
30
  "toml/spaced-comment": [ "error" ], // Espaço a esquerda comentário
27
- "toml/inline-table-curly-spacing": [ "error", "always", {
28
- arraysInObjects: true,
29
- objectsInObjects: true,
30
- } ], // Espaço em declarar {}
31
- "toml/key-spacing": [ "error", {
32
- beforeEqual: false,
33
- afterEqual: false,
34
- } ], // Sem espaço antes de depois do igual
31
+ "toml/inline-table-curly-spacing": [
32
+ "error",
33
+ "always",
34
+ {
35
+ arraysInObjects: true,
36
+ objectsInObjects: true,
37
+ },
38
+ ], // Espaço em declarar {}
39
+ "toml/key-spacing": [
40
+ "error",
41
+ {
42
+ beforeEqual: false,
43
+ afterEqual: false,
44
+ },
45
+ ], // Sem espaço antes de depois do igual
35
46
  },
36
47
  };