UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS and CSS.

464 lines (461 loc) 10.6 kB
module.exports = { plugins: [ 'babel', 'import', 'sorting' ], ecmaFeatures: { arrowFunctions: true, blockBindings: true, classes: true, defaultParams: true, destructuring: true, modules: true, jsx: true }, env: { browser: true, mocha: true, node: true, es6: true }, rules: { 'comma-dangle': [ 2, 'never' ], 'no-cond-assign': 2, 'no-console': 1, 'no-constant-condition': 1, 'no-control-regex': 2, 'no-debugger': 1, 'no-dupe-args': 2, 'no-dupe-keys': 2, 'no-duplicate-case': 2, 'no-empty-character-class': 2, 'no-empty': 1, 'no-ex-assign': 2, 'no-extra-boolean-cast': 0, 'no-extra-parens': 2, '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-unexpected-multiline': 2, 'no-unreachable': 1, 'use-isnan': 2, 'valid-jsdoc': [ 1, { 'requireParamDescription': false, 'requireReturnDescription': false } ], 'valid-typeof': 2, 'accessor-pairs': 2, 'block-scoped-var': 2, 'complexity': [ 1, 10 ], 'consistent-return': 2, 'curly': 2, 'default-case': 0, 'dot-location': [ 2, 'property' ], 'dot-notation': 2, 'eqeqeq': 2, 'guard-for-in': 2, 'no-alert': 2, 'no-caller': 2, 'no-case-declarations': 2, 'no-div-regex': 2, 'no-else-return': 0, 'no-empty-label': 2, 'no-empty-pattern': 2, 'no-eq-null': 2, 'no-eval': 2, 'no-extend-native': 2, 'no-extra-bind': 2, 'no-fallthrough': 2, 'no-floating-decimal': 2, 'no-implicit-coercion': 2, 'no-implied-eval': 2, 'no-invalid-this': 0, 'no-iterator': 2, 'no-labels': 2, 'no-lone-blocks': 2, 'no-loop-func': 2, 'no-magic-numbers': 0, 'no-multi-spaces': 2, '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': [ 2, { 'props': false } ], 'no-process-env': 2, 'no-proto': 2, 'no-redeclare': [ 2, { 'builtinGlobals': true } ], 'no-return-assign': 2, 'no-script-url': 2, 'no-self-compare': 2, 'no-sequences': 2, 'no-throw-literal': 2, 'no-unused-expressions': 2, 'no-useless-call': 2, 'no-useless-concat': 2, 'no-void': 2, 'no-warning-comments': [ 1, { 'terms': [ 'todo', '@toto' ], 'location': 'start' } ], 'no-with': 2, 'radix': 2, 'vars-on-top': 2, 'wrap-iife': [ 2, 'inside' ], 'yoda': 0, 'strict': [ 2, 'never' ], 'init-declarations': [ 2, 'never' ], 'no-catch-shadow': 2, 'no-delete-var': 2, 'no-label-var': 2, 'no-shadow-restricted-names': 2, 'no-shadow': [ 2, { 'builtinGlobals': false, 'hoist': 'all' } ], 'no-undef-init': 2, 'no-undef': 2, 'no-undefined': 2, 'no-unused-vars': 2, 'no-use-before-define': 2, 'callback-return': 2, 'global-require': 2, 'handle-callback-err': 2, 'no-mixed-requires': 0, 'no-new-require': 2, 'no-path-concat': 2, 'no-process-exit': 2, 'no-restricted-modules': 0, 'no-sync': 0, 'array-bracket-spacing': [ 2, 'never' ], 'block-spacing': [ 2, 'always' ], 'brace-style': [ 2, '1tbs', { 'allowSingleLine': true } ], 'camelcase': [ 2, { 'properties': 'always' } ], 'comma-spacing': [ 2, { 'before': false, 'after': true } ], 'comma-style': [ 2, 'last' ], 'computed-property-spacing': [ 2, 'never' ], 'consistent-this': [ 2, 'self' ], 'eol-last': 2, 'func-names': 0, 'func-style': [ 2, 'expression' ], 'id-length': [ 1, { 'min': 2, 'max': 50, 'exceptions': [ 'P', '$', '_' ] } ], 'id-match': [ 1, '(^[A-Za-z]+(?:[A-Z][a-z]*)*\\d*$)|(^[A-Z]+(_[A-Z]+)*(_\\d$)*$)|(^(_|\\$)$)', { 'properties': true } ], 'indent': [ 2, 4 ], 'jsx-quotes': [ 1, 'prefer-single' ], 'key-spacing': [ 2, { 'beforeColon': false, 'afterColon': true } ], 'linebreak-style': [ 2, 'unix' ], 'lines-around-comment': [ 2, { 'beforeBlockComment': false, 'beforeLineComment': false } ], 'max-nested-callbacks': [ 1, 3 ], 'new-cap': [ 0, { 'newIsCap': true, 'capIsNew': false } ], 'new-parens': 2, 'newline-after-var': [ 2, 'always' ], 'no-array-constructor': 2, 'no-continue': 2, 'no-inline-comments': 2, 'no-lonely-if': 2, 'no-mixed-spaces-and-tabs': 2, 'no-multiple-empty-lines': [ 2, { 'max': 2 } ], 'no-negated-condition': 2, 'no-nested-ternary': 2, 'no-new-object': 2, 'no-restricted-syntax': [ 2, 'TemplateLiteral' ], 'no-spaced-func': 2, 'no-ternary': 0, 'no-trailing-spaces': 2, 'no-underscore-dangle': 2, 'no-unneeded-ternary': 2, 'object-curly-spacing': [ 0, 'never' ], 'one-var': [ 2, 'always' ], 'operator-assignment': [ 2, 'always' ], 'operator-linebreak': [ 2, 'after' ], 'padded-blocks': [ 2, 'never' ], 'quote-props': [ 2, 'as-needed' ], 'quotes': [ 2, 'single' ], 'require-jsdoc': 0, 'semi-spacing': [ 2, { 'before': false, 'after': true } ], 'semi': [ 2, 'always' ], 'sort-vars': 2, 'space-after-keywords': [ 2, 'always' ], 'space-before-blocks': [ 2, 'always' ], 'space-before-function-paren': [ 2, 'always' ], 'space-before-keywords': [ 2, 'always' ], 'space-in-parens': [ 2, 'never' ], 'space-infix-ops': 2, 'space-return-throw-case': 2, 'space-unary-ops': [ 2, { 'words': true, 'nonwords': false } ], 'spaced-comment': [ 2, 'always' ], 'wrap-regex': 0, 'arrow-body-style': [ 2, 'always' ], 'arrow-parens': [ 0, 'always' ], 'arrow-spacing': [ 2, { 'before': true, 'after': true } ], 'constructor-super': 2, 'generator-star-spacing': [ 0, { 'before': true, 'after': false } ], 'no-arrow-condition': 2, 'no-class-assign': 2, 'no-const-assign': 2, 'no-dupe-class-members': 2, 'no-this-before-super': 2, 'no-var': 2, 'object-shorthand': [ 0, 'always' ], 'prefer-arrow-callback': 2, 'prefer-const': 0, 'prefer-reflect': 2, 'prefer-spread': 2, 'prefer-template': 0, 'require-yield': 2, 'import/no-unresolved': 0, 'import/named': 2, 'import/default': 2, 'import/namespace': 2, 'import/no-require': 2, 'import/no-named-as-default': 2, 'import/export': 2, 'import/no-duplicates': 2, 'import/imports-first': [ 2, { 'absolute-first': true } ], 'babel/generator-star-spacing': 1, 'babel/new-cap': 0, 'babel/object-curly-spacing': 1, 'babel/object-shorthand': [ 1, 'always' ], 'babel/arrow-parens': 1, 'babel/no-await-in-loop': 1, 'sorting/sort-object-props': [ 1, { ignoreCase: false, ignoreMethods: false } ] }, settings: { 'import/ignore': [ 'node_modules', 'css', '\\.scss$' ] } };