Skip to content

Commit

Permalink
Set up linting.
Browse files Browse the repository at this point in the history
  • Loading branch information
RubenVerborgh committed Sep 27, 2023
1 parent 8c00ae0 commit b33d9d5
Show file tree
Hide file tree
Showing 4 changed files with 2,151 additions and 1 deletion.
185 changes: 185 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
{
env: {
node: true,
es2021: true,
},

parserOptions: {
sourceType: "module",
},

rules: {
// Possible Errors
comma-dangle: [2, "always-multiline"],
no-cond-assign: 0,
no-console: [2, { allow: ["error"] }],
no-constant-condition: 0,
no-debugger: 2,
no-dupe-args: 2,
no-dupe-keys: 2,
no-duplicate-case: 2,
no-empty: 2,
no-empty-character-class: 2,
no-ex-assign: 2,
no-extra-boolean-cast: 2,
no-extra-parens: 0,
no-extra-semi: 2,
no-func-assign: 2,
no-inner-declarations: 2,
no-invalid-regexp: 2,
no-irregular-whitespace: 2,
no-negated-in-lhs: 2,
no-obj-calls: 2,
no-regex-spaces: 2,
no-sparse-arrays: 2,
no-unreachable: 2,
use-isnan: 2,
valid-jsdoc: 0,
valid-typeof: 2,
no-unexpected-multiline: 2,

// Best Practices
accessor-pairs: 2,
block-scoped-var: 2,
complexity: 0,
consistent-return: 0,
curly: 0,
default-case: 0,
dot-notation: 2,
dot-location: [2, "property"],
eqeqeq: 2,
guard-for-in: 0,
no-alert: 2,
no-caller: 2,
no-div-regex: 2,
no-else-return: 0,
no-labels: 2,
no-eq-null: 2,
no-eval: 2,
no-extend-native: 2,
no-extra-bind: 2,
no-fallthrough: 0,
no-floating-decimal: 2,
no-implicit-coercion: 0,
no-implied-eval: 2,
no-invalid-this: 2,
no-iterator: 2,
no-lone-blocks: 2,
no-loop-func: 2,
no-multi-spaces: 0,
no-multi-str: 2,
no-native-reassign: 2,
no-new-func: 2,
no-new-wrappers: 2,
no-new: 2,
no-octal-escape: 2,
no-octal: 2,
no-param-reassign: 0,
no-process-env: 2,
no-proto: 2,
no-redeclare: 2,
no-return-assign: 0,
no-script-url: 2,
no-self-compare: 2,
no-sequences: 0, // allow the comma operator
no-throw-literal: 2,
no-unused-expressions: 0,
no-useless-call: 2,
no-void: 2,
no-warning-comments: 2,
no-with: 2,
radix: 2,
vars-on-top: 0,
wrap-iife: [2, "inside"],
yoda: 2,

// Strict Mode
strict: [2, "never"],

// Variables
init-declarations: 0,
no-catch-shadow: 2,
no-delete-var: 2,
no-label-var: 2,
no-shadow-restricted-names: 2,
no-shadow: 0,
no-undef-init: 2,
no-undef: 2,
no-undefined: 0,
no-unused-vars: [ 2, { args: "none" }],
no-use-before-define: [2, { functions: false, classes: false }],

// Node.js
callback-return: 2,
handle-callback-err: 2,
no-mixed-requires: 2,
no-new-require: 2,
no-path-concat: 2,
no-process-exit: 0,
no-restricted-modules: 2,
no-sync: 2,

// Stylistic Issues
array-bracket-spacing: 2,
arrow-parens: [2, "as-needed"],
block-spacing: 2,
brace-style: [2, "stroustrup", { allowSingleLine: true }],
camelcase: 2,
comma-spacing: 2,
comma-style: 2,
computed-property-spacing: 2,
consistent-this: 0,
eol-last: 2,
func-names: 0,
func-style: [2, "declaration"],
id-length: 0,
id-match: 2,
indent-legacy: [2, 2, { VariableDeclarator: 2 }],
key-spacing: [2, { mode: "minimum" }],
lines-around-comment: 2,
linebreak-style: 2,
max-nested-callbacks: [2, 1],
new-cap: 2,
new-parens: 2,
newline-after-var: 0,
no-array-constructor: 2,
no-const-assign: 2,
no-continue: 2,
no-inline-comments: 0,
no-lonely-if: 2,
no-mixed-spaces-and-tabs: 2,
no-multiple-empty-lines: 0,
no-nested-ternary: 0,
no-new-object: 2,
no-spaced-func: 2,
no-ternary: 0,
no-trailing-spaces: 2,
no-underscore-dangle: 0,
no-unneeded-ternary: 2,
no-var: 2,
object-curly-spacing: [2, "always"],
object-curly-newline: 0,
object-property-newline: 0,
one-var: 0,
operator-assignment: 2,
operator-linebreak: [2, "after", { overrides: { ":": "ignore" } }],
padded-blocks: [2, "never"],
prefer-arrow-callback: 2,
prefer-const: 2,
prefer-template: 2,
quote-props: [2, "consistent-as-needed"],
quotes: [2, "single", "avoid-escape"],
semi-spacing: 2,
semi: 2,
sort-vars: 0,
keyword-spacing: 2,
space-before-blocks: 2,
space-before-function-paren: [2, {"anonymous": "always", "named": "never"}],
space-in-parens: 2,
space-infix-ops: 2,
space-unary-ops: 2,
spaced-comment: [2, "always", { block: { markers: ["!"] } }],
template-curly-spacing: 2,
wrap-regex: 0,
},
}
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run lint
Loading

0 comments on commit b33d9d5

Please sign in to comment.