nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

base.js (13852B)


      1 'use strict';
      2 
      3 module.exports = {
      4     extends: ['eslint:recommended'],
      5     rules: {
      6         'accessor-pairs': 'error',
      7         'array-bracket-newline': ['error', 'consistent'],
      8         'array-bracket-spacing': 'error',
      9         'array-callback-return': 'error',
     10         'array-element-newline': ['error', 'consistent'],
     11         'arrow-body-style': ['error', 'as-needed'], // disabled by prettier-config
     12         'arrow-parens': 'error',
     13         'arrow-spacing': 'error',
     14         'block-scoped-var': 'error',
     15         // 'block-spacing': 'error', // for single line blocks, not needed
     16         'brace-style': 'error',
     17         // 'callback-return': 'error', // specific to nodejs, skip
     18         'camelcase': ['error', {allow: ['_unused_[^_]+']}],
     19         // 'capitalized-comments': 'error', // checked, declined
     20         // 'class-methods-use-this': 'error', // checked, declined
     21         'comma-dangle': ['error', 'always-multiline'],
     22         'comma-spacing': 'error',
     23         'comma-style': 'error',
     24         'complexity': 'error',
     25         'computed-property-spacing': 'error',
     26         'consistent-return': 'error',
     27         'consistent-this': 'error',
     28         // 'constructor-super': 'error', // in eslint-recommended
     29         'curly': 'error', // disabled by prettier-config
     30         'default-case': 'error',
     31         'default-param-last': 'error',
     32         'dot-location': ['error', 'property'],
     33         // 'dot-notation': 'error', // checked, declined
     34         'eol-last': 'error',
     35         'eqeqeq': 'error',
     36         // 'for-direction': 'error', // in eslint-recommended
     37         'func-call-spacing': 'error',
     38         // 'func-name-matching': 'error', // checked, declined
     39         // 'func-names': 'error', // checked, declined
     40         'func-style': ['error', 'declaration'],
     41         // 'function-call-argument-newline': 'error', // checked, declined
     42         'function-paren-newline': 'error',
     43         'generator-star-spacing': ['error', {named: 'after', anonymous: 'neither', method: 'before'}],
     44         // 'getter-return': 'error', // in eslint-recommended
     45         // 'global-require': 'error',  // specific to nodejs, skip
     46         'grouped-accessor-pairs': 'error',
     47         'guard-for-in': 'error',
     48         // 'handle-callback-err': 'error', // specific to nodejs, skip
     49         // 'id-blacklist': 'error', // checked, declined
     50         // 'id-length': 'error', // checked, declined
     51         // 'id-match': 'error', // checked, declined
     52         // 'implicit-arrow-linebreak': 'error', // checked, declined
     53         'indent': 'error',
     54         // 'init-declarations': 'error', // checked, declined
     55         // 'jsx-quotes': 'error', // jsx not used
     56         'key-spacing': 'error',
     57         'keyword-spacing': 'error',
     58         // 'line-comment-position': 'error', //checked, declined
     59         'linebreak-style': 'error',
     60         // 'lines-around-comment': 'error', // checked, declined
     61         'lines-between-class-members': ['error', 'always', {exceptAfterSingleLine: true}],
     62         // 'max-classes-per-file': 'error', // checked, declined
     63         'max-depth': 'error',
     64         'max-len': ['error', {code: 120}],
     65         // 'max-lines': 'error', // checked, declined
     66         // 'max-lines-per-function': 'error', // checked, declined
     67         'max-nested-callbacks': ['error', 2],
     68         // 'max-params': 'error', // checked, declined
     69         // 'max-statements': 'error', // checked, declined
     70         'max-statements-per-line': 'error',
     71         // 'multiline-comment-style': 'error', // checked, declined
     72         // 'multiline-ternary': 'error', // checked, declined
     73         'new-cap': 'error',
     74         'new-parens': 'error',
     75         // 'newline-per-chained-call': 'error', // checked, declined
     76         // 'no-alert': 'error', // checked, declined
     77         'no-array-constructor': 'error',
     78         // 'no-async-promise-executor': 'error', // in eslint-recommended
     79         // 'no-await-in-loop': 'error', // checked, declined
     80         // 'no-bitwise': 'error', // checked, declined
     81         // 'no-buffer-constructor': 'error', // specific to nodejs, skip
     82         'no-caller': 'error',
     83         // 'no-case-declarations': 'error', // in eslint-recommended
     84         // 'no-class-assign': 'error', // in eslint-recommended
     85         // 'no-compare-neg-zero': 'error', // in eslint-recommended
     86         // 'no-cond-assign': 'error', // in eslint-recommended
     87         'no-confusing-arrow': 'error',
     88         'no-console': 'error',
     89         // 'no-const-assign': 'error', // in eslint-recommended
     90         // 'no-constant-condition': 'error', // in eslint-recommended
     91         'no-constructor-return': 'error',
     92         // 'no-continue': 'error', // checked, declined
     93         // 'no-control-regex': 'error', // in eslint-recommended
     94         // 'no-debugger': 'error', // in eslint-recommended
     95         // 'no-delete-var': 'error', // in eslint-recommended
     96         // 'no-div-regex': 'error', // checked, declined
     97         // 'no-dupe-args': 'error', // in eslint-recommended
     98         // 'no-dupe-class-members': 'error', // in eslint-recommended
     99         'no-dupe-else-if': 'error',
    100         // 'no-dupe-keys': 'error', // in eslint-recommended
    101         // 'no-duplicate-case': 'error', // in eslint-recommended
    102         'no-duplicate-imports': 'error',
    103         'no-else-return': 'error',
    104         // 'no-empty': 'error', // in eslint-recommended
    105         // 'no-empty-character-class': 'error', // in eslint-recommended
    106         'no-empty-function': 'error',
    107         // 'no-empty-pattern': 'error', // in eslint-recommended
    108         'no-eq-null': 'error',
    109         'no-eval': 'error',
    110         // 'no-ex-assign': 'error', // in eslint-recommended
    111         'no-extend-native': 'error',
    112         'no-extra-bind': 'error',
    113         // 'no-extra-boolean-cast': 'error', // in eslint-recommended
    114         'no-extra-label': 'error',
    115         // 'no-extra-parens': 'error', // checked, declined
    116         // 'no-extra-semi': 'error', // in eslint-recommended
    117         // 'no-fallthrough': 'error', // in eslint-recommended
    118         'no-floating-decimal': 'error',
    119         // 'no-func-assign': 'error', // in eslint-recommended
    120         // 'no-global-assign': 'error', // in eslint-recommended
    121         'no-implicit-coercion': 'error',
    122         'no-implicit-globals': 'error',
    123         'no-implied-eval': 'error',
    124         'no-import-assign': 'error',
    125         // 'no-inline-comments': 'error', // checked, declined
    126         // 'no-inner-declarations': 'error', // in eslint-recommended
    127         // 'no-invalid-regexp': 'error', // in eslint-recommended
    128         'no-invalid-this': 'error',
    129         // 'no-irregular-whitespace': 'error', // in eslint-recommended
    130         'no-iterator': 'error',
    131         'no-label-var': 'error',
    132         'no-labels': 'error', // not quire sure if this should be enabled
    133         'no-lone-blocks': 'error',
    134         // 'no-lonely-if': 'error', // checked, declined
    135         'no-loop-func': 'error',
    136         // 'no-magic-numbers': 'error', // checked, declined
    137         // 'no-misleading-character-class': 'error', // in eslint-recommended
    138         // 'no-mixed-operators': 'error', // checked, declined
    139         'no-mixed-requires': 'error',
    140         // 'no-mixed-spaces-and-tabs': 'error', // in eslint-recommended
    141         'no-multi-assign': 'error',
    142         'no-multi-spaces': [
    143             'error',
    144             {
    145                 ignoreEOLComments: true,
    146                 exceptions: {Property: false},
    147             },
    148         ],
    149         'no-multi-str': 'error',
    150         'no-multiple-empty-lines': ['error', {max: 1}],
    151         'no-negated-condition': 'error',
    152         'no-nested-ternary': 'error',
    153         'no-new': 'error',
    154         'no-new-func': 'error',
    155         'no-new-object': 'error',
    156         'no-new-require': 'error',
    157         // 'no-new-symbol': 'error', // in eslint-recommended
    158         'no-new-wrappers': 'error',
    159         // 'no-obj-calls': 'error', // in eslint-recommended
    160         // 'no-octal': 'error', // in eslint-recommended
    161         'no-octal-escape': 'error',
    162         'no-param-reassign': 'error',
    163         'no-path-concat': 'error',
    164         'no-plusplus': ['error', {allowForLoopAfterthoughts: true}],
    165         // 'no-process-env': 'error', // checked, declined
    166         // 'no-process-exit': 'error', // checked, declined
    167         'no-proto': 'error',
    168         // 'no-prototype-builtins': 'error', // in eslint-recommended
    169         // 'no-redeclare': 'error', // in eslint-recommended
    170         // 'no-regex-spaces': 'error', // in eslint-recommended
    171         // 'no-restricted-globals': 'error', // no forbidden globals defined so far
    172         // 'no-restricted-imports': 'error', // checked, declined
    173         // 'no-restricted-modules': 'error', // checked, declined
    174         // 'no-restricted-properties': 'error', // no forbidden properties defined so far
    175         'no-restricted-syntax': ['error', 'SequenceExpression'],
    176         'no-return-assign': 'error',
    177         'no-return-await': 'error',
    178         'no-script-url': 'error',
    179         // 'no-self-assign': 'error', // in eslint-recommended
    180         'no-self-compare': 'error',
    181         'no-sequences': 'error',
    182         'no-setter-return': 'error',
    183         'no-shadow': ['error', {builtinGlobals: true}],
    184         // 'no-shadow-restricted-names': 'error', // in eslint-recommended
    185         // 'no-sparse-arrays': 'error', // in eslint-recommended
    186         // 'no-sync': 'error', // checked, declined
    187         'no-tabs': 'error',
    188         'no-template-curly-in-string': 'error',
    189         // 'no-ternary': 'error', // checked, declined
    190         // 'no-this-before-super': 'error', // in eslint-recommended
    191         'no-throw-literal': 'error',
    192         'no-trailing-spaces': 'error',
    193         // 'no-undef': 'error', // in eslint-recommended
    194         'no-undef-init': 'error',
    195         // 'no-undefined': 'error', // not needed since no-global-assign and no-shadow-restricted-names are enabled
    196         // 'no-underscore-dangle': 'error', // checked, declined
    197         // 'no-unexpected-multiline': 'error', // in eslint-recommended
    198         'no-unmodified-loop-condition': 'error',
    199         'no-unneeded-ternary': 'error',
    200         // 'no-unreachable': 'error', // in eslint-recommended
    201         // 'no-unsafe-finally': 'error', // in eslint-recommended
    202         // 'no-unsafe-negation': 'error', // in eslint-recommended
    203         'no-unused-expressions': 'error',
    204         // 'no-unused-labels': 'error', // in eslint-recommended
    205         'no-unused-vars': ['error', {argsIgnorePattern: '_unused(_.+)?'}], // redefine eslint-recommended
    206         'no-use-before-define': 'error',
    207         'no-useless-call': 'error',
    208         // 'no-useless-catch': 'error', // in eslint-recommended
    209         'no-useless-computed-key': ['error', {enforceForClassMembers: true}],
    210         'no-useless-concat': 'error',
    211         'no-useless-constructor': 'error',
    212         // 'no-useless-escape': 'error', // in eslint-recommended
    213         'no-useless-rename': 'error',
    214         'no-useless-return': 'error',
    215         'no-var': 'error',
    216         'no-void': 'error',
    217         'no-warning-comments': 'error',
    218         'no-whitespace-before-property': 'error',
    219         // 'no-with': 'error', // in eslint-recommended
    220         // 'nonblock-statement-body-position': 'error', // not needed since if-s without block are not allowed
    221         'object-curly-newline': 'error',
    222         'object-curly-spacing': 'error',
    223         'object-property-newline': ['error', {allowAllPropertiesOnSameLine: true}],
    224         // 'object-shorthand': 'error', // checked, declined
    225         'one-var': ['error', {initialized: 'never'}],
    226         'one-var-declaration-per-line': 'error',
    227         'operator-assignment': 'error',
    228         'operator-linebreak': 'error',
    229         'padded-blocks': ['error', 'never'],
    230         // 'padding-line-between-statements': 'error', // checked, declined
    231         // 'prefer-arrow-callback': 'error', // checked, declined
    232         'prefer-const': 'error',
    233         // 'prefer-destructuring': 'error', // checked, declined
    234         'prefer-exponentiation-operator': 'error',
    235         // 'prefer-named-capture-group': 'error', // checked, declined
    236         'prefer-numeric-literals': 'error',
    237         'prefer-object-spread': 'error',
    238         'prefer-promise-reject-errors': 'error',
    239         // 'prefer-regex-literals': 'error', // checked, declined
    240         'prefer-rest-params': 'error',
    241         'prefer-spread': 'error',
    242         // 'prefer-template': 'error', // checked, declined
    243         'quote-props': ['error', 'consistent-as-needed'],
    244         'quotes': ['error', 'single', {allowTemplateLiterals: false}],
    245         'radix': 'error',
    246         'require-atomic-updates': 'error',
    247         // 'require-await': 'error', // checked, declined
    248         'require-unicode-regexp': 'error',
    249         // 'require-yield': 'error', // in eslint-recommended
    250         'rest-spread-spacing': 'error',
    251         'semi': 'error',
    252         'semi-spacing': 'error',
    253         'semi-style': 'error',
    254         // 'sort-imports': 'error', // checked, declined
    255         // 'sort-keys': 'error', // checked, declined
    256         // 'sort-vars': 'error', // checked, declined
    257         'space-before-blocks': 'error',
    258         'space-before-function-paren': ['error', 'never'],
    259         'space-in-parens': 'error',
    260         'space-infix-ops': 'error',
    261         'space-unary-ops': 'error',
    262         'spaced-comment': 'error',
    263         'strict': ['error', 'global'],
    264         'switch-colon-spacing': 'error',
    265         'symbol-description': 'error',
    266         'template-curly-spacing': 'error',
    267         'template-tag-spacing': 'error',
    268         // 'unicode-bom': 'error', // checked, declined
    269         // 'use-isnan': 'error', // in eslint-recommended
    270         // 'valid-typeof': 'error', // in eslint-recommended
    271         // 'vars-on-top': 'error', // vars should be forbidden
    272         // 'wrap-iife': 'error', // checked, declined
    273         // 'wrap-regex': 'error', // checked, declined
    274         'yield-star-spacing': 'error',
    275         'yoda': 'error',
    276     },
    277 };