feat(wip): initial boilerplate
This commit is contained in:
196
.eslintrc.js
Normal file
196
.eslintrc.js
Normal file
@@ -0,0 +1,196 @@
|
||||
module.exports = {
|
||||
parser: '@typescript-eslint/parser',
|
||||
parserOptions: {
|
||||
project: 'tsconfig.json',
|
||||
sourceType: 'module',
|
||||
},
|
||||
plugins: ['@typescript-eslint/eslint-plugin'],
|
||||
extends: [
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:prettier/recommended',
|
||||
],
|
||||
root: true,
|
||||
env: {
|
||||
node: true,
|
||||
jest: true,
|
||||
},
|
||||
ignorePatterns: ['.eslintrc.js'],
|
||||
rules: {
|
||||
'@typescript-eslint/interface-name-prefix': 'off',
|
||||
'@typescript-eslint/explicit-function-return-type': 'off',
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
// '@typescript-eslint/no-explicit-any': 'off',
|
||||
'no-template-curly-in-string': 'warn',
|
||||
'array-callback-return': 'warn',
|
||||
'curly': 'warn',
|
||||
'dot-location': [
|
||||
'warn',
|
||||
'property'
|
||||
],
|
||||
'eqeqeq': 'warn',
|
||||
'no-alert': 'error',
|
||||
'no-else-return': 'warn',
|
||||
'no-eval': 'error',
|
||||
'no-implied-eval': 'error',
|
||||
'no-labels': 'error',
|
||||
'no-lone-blocks': 'warn',
|
||||
'no-param-reassign': [
|
||||
'warn',
|
||||
{
|
||||
'props': true,
|
||||
'ignorePropertyModificationsFor': [
|
||||
'ctx',
|
||||
'target'
|
||||
]
|
||||
}
|
||||
],
|
||||
'no-return-await': 'warn',
|
||||
'no-return-assign': 'warn',
|
||||
'no-self-compare': 'warn',
|
||||
'no-sequences': 'warn',
|
||||
'no-throw-literal': 'warn',
|
||||
'no-unused-expressions': 'warn',
|
||||
'no-void': 'warn',
|
||||
'no-useless-concat': 'warn',
|
||||
'no-console': 'error',
|
||||
'array-bracket-newline': [
|
||||
'warn',
|
||||
'consistent'
|
||||
],
|
||||
'array-bracket-spacing': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'block-spacing': 'warn',
|
||||
'brace-style': 'warn',
|
||||
'camelcase': 'warn',
|
||||
'comma-dangle': [
|
||||
'warn',
|
||||
'always-multiline'
|
||||
],
|
||||
'comma-spacing': 'warn',
|
||||
'comma-style': 'warn',
|
||||
'computed-property-spacing': 'warn',
|
||||
'func-call-spacing': 'warn',
|
||||
'eol-last': 'warn',
|
||||
'func-name-matching': 'warn',
|
||||
'function-call-argument-newline': [
|
||||
'warn',
|
||||
'consistent'
|
||||
],
|
||||
'indent': [
|
||||
'warn',
|
||||
2
|
||||
],
|
||||
'linebreak-style': 'warn',
|
||||
'keyword-spacing': 'warn',
|
||||
'lines-between-class-members': 'warn',
|
||||
'no-lonely-if': 'warn',
|
||||
'no-multi-assign': 'warn',
|
||||
'no-trailing-spaces': 'warn',
|
||||
'no-whitespace-before-property': 'warn',
|
||||
'object-curly-newline': [
|
||||
'warn',
|
||||
{
|
||||
'multiline': true,
|
||||
'consistent': true
|
||||
}
|
||||
],
|
||||
'object-property-newline': 'warn',
|
||||
'operator-linebreak': [
|
||||
'warn',
|
||||
'after'
|
||||
],
|
||||
'padded-blocks': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'padding-line-between-statements': [
|
||||
'warn',
|
||||
{
|
||||
'blankLine': 'always',
|
||||
'prev': '*',
|
||||
'next': 'multiline-block-like'
|
||||
},
|
||||
{
|
||||
'blankLine': 'always',
|
||||
'prev': 'multiline-block-like',
|
||||
'next': '*'
|
||||
},
|
||||
{
|
||||
'blankLine': 'always',
|
||||
'prev': '*',
|
||||
'next': [
|
||||
'const',
|
||||
'let',
|
||||
'export'
|
||||
]
|
||||
},
|
||||
{
|
||||
'blankLine': 'always',
|
||||
'prev': [
|
||||
'const',
|
||||
'let',
|
||||
'export'
|
||||
],
|
||||
'next': '*'
|
||||
},
|
||||
{
|
||||
'blankLine': 'any',
|
||||
'prev': [
|
||||
'const',
|
||||
'let',
|
||||
'export'
|
||||
],
|
||||
'next': [
|
||||
'const',
|
||||
'let',
|
||||
'export'
|
||||
]
|
||||
},
|
||||
{
|
||||
'blankLine': 'always',
|
||||
'prev': '*',
|
||||
'next': 'return'
|
||||
}
|
||||
],
|
||||
'quotes': [
|
||||
'warn',
|
||||
'single',
|
||||
{ 'allowTemplateLiterals': true }
|
||||
],
|
||||
'semi': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'semi-style': 'warn',
|
||||
'space-before-blocks': 'warn',
|
||||
'space-in-parens': 'warn',
|
||||
'space-before-function-paren': [
|
||||
'warn',
|
||||
{
|
||||
'named': 'never',
|
||||
'anonymous': 'never',
|
||||
'asyncArrow': 'always'
|
||||
}
|
||||
],
|
||||
'space-infix-ops': 'warn',
|
||||
'space-unary-ops': 'warn',
|
||||
'switch-colon-spacing': 'warn',
|
||||
'arrow-body-style': ['warn', 'always'],
|
||||
'arrow-parens': [
|
||||
'warn',
|
||||
'as-needed',
|
||||
{
|
||||
'requireForBlockBody': true
|
||||
}
|
||||
],
|
||||
'no-confusing-arrow': 'warn',
|
||||
'no-duplicate-imports': 'warn',
|
||||
'no-var': 'warn',
|
||||
'prefer-arrow-callback': 'warn',
|
||||
'prefer-const': 'warn',
|
||||
'prefer-template': 'warn',
|
||||
'template-curly-spacing': 'warn'
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user