Skip to content

Commit

Permalink
chore: eslint integration (#20)
Browse files Browse the repository at this point in the history
  • Loading branch information
magicmatatjahu authored Dec 14, 2021
1 parent 8d8506b commit 301075e
Show file tree
Hide file tree
Showing 29 changed files with 3,517 additions and 1,424 deletions.
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
public
docs
lib
build
134 changes: 134 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
env:
es6: true
node: true

parser: "@typescript-eslint/parser"

plugins:
- "@typescript-eslint"
- sonarjs
- security

extends:
- eslint:recommended
- plugin:@typescript-eslint/eslint-recommended
- plugin:@typescript-eslint/recommended
- plugin:sonarjs/recommended
- plugin:security/recommended

parserOptions:
ecmaVersion: 2018
sourceType: module
ecmaFeatures:
jsx: true
settings:
react:
version: detect

rules:
# Ignore Rules
strict: 0
no-underscore-dangle: 0
no-mixed-requires: 0
no-process-exit: 0
no-warning-comments: 0
curly: 0
no-multi-spaces: 0
no-alert: 0
consistent-return: 0
consistent-this: [0, self]
func-style: 0
max-nested-callbacks: 0
camelcase: 0

# Warnings
no-debugger: 1
no-empty: 1
no-invalid-regexp: 1
no-unused-expressions: 0
no-native-reassign: 1
no-fallthrough: 1
sonarjs/cognitive-complexity: 1

# Errors
eqeqeq: 2
no-undef: 2
no-dupe-keys: 2
no-empty-character-class: 2
no-self-compare: 2
valid-typeof: 2
no-unused-vars: [2, { "args": "none" }]
handle-callback-err: 2
no-shadow-restricted-names: 2
no-new-require: 2
no-mixed-spaces-and-tabs: 2
block-scoped-var: 2
no-else-return: 2
no-throw-literal: 2
no-void: 2
radix: 2
wrap-iife: [2, outside]
no-shadow: 0
no-path-concat: 2
valid-jsdoc: [0, {requireReturn: false, requireParamDescription: false, requireReturnDescription: false}]

# stylistic errors
no-spaced-func: 2
semi-spacing: 2
quotes: [2, 'single']
key-spacing: [2, { beforeColon: false, afterColon: true }]
indent: [2, 2]
no-lonely-if: 2
no-floating-decimal: 2
brace-style: [2, 1tbs, { allowSingleLine: true }]
comma-style: [2, last]
no-multiple-empty-lines: [2, {max: 1}]
no-nested-ternary: 2
operator-assignment: [2, always]
padded-blocks: [2, never]
quote-props: [2, as-needed]
keyword-spacing: [2, {'before': true, 'after': true, 'overrides': {}}]
space-before-blocks: [2, always]
array-bracket-spacing: [2, never]
computed-property-spacing: [2, never]
space-in-parens: [2, never]
space-unary-ops: [2, {words: true, nonwords: false}]
wrap-regex: 2
linebreak-style: 0
semi: [2, always]
arrow-spacing: [2, {before: true, after: true}]
no-class-assign: 2
no-const-assign: 2
no-dupe-class-members: 2
no-this-before-super: 2
no-var: 2
object-shorthand: [2, always]
prefer-arrow-callback: 2
prefer-const: 2
prefer-spread: 2
prefer-template: 2

# Security
"security/detect-non-literal-fs-filename": off

# TypeScript
"@typescript-eslint/no-empty-interface": "off"
# disable JS rule
no-use-before-define: "off"
"@typescript-eslint/no-use-before-define": ["error"]
"@typescript-eslint/no-empty-function": "off"
"@typescript-eslint/ban-ts-comment": "off"
"@typescript-eslint/no-explicit-any": "off"
"@typescript-eslint/explicit-module-boundary-types": "off"
"@typescript-eslint/no-this-alias": "off"

overrides:
- files:
- "*.spec.ts"
- "*.test.ts"
rules:
no-undef: "off"
no-console: "off"
prefer-arrow-callback: 0
sonarjs/no-duplicate-string: 0
security/detect-object-injection: 0
2 changes: 2 additions & 0 deletions .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Disable duplicate code in tests since it would introduce more complexity to reduce it.
sonar.cpd.exclusions=**/*.test.ts,**/*.spec.ts
2 changes: 1 addition & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ module.exports = {

testTimeout: 20000,

setupFiles: ["./tests/jest.setup.ts"],
setupFiles: ['./tests/jest.setup.ts'],
globals: {
'ts-jest': {
tsconfig: 'tsconfig.json',
Expand Down
Loading

0 comments on commit 301075e

Please sign in to comment.