123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513 |
- 'use strict';
- const os = require('os');
- module.exports = {
- rules: {
- /**
- * enforce spaces inside of brackets
- * @see http://eslint.org/docs/rules/array-bracket-spacing
- * @since 3.0.0
- */
- 'array-bracket-spacing': [ 'error', 'always', {
- objectsInArrays: false,
- arraysInArrays: false,
- }],
- /**
- * enforce spaces inside of single line blocks
- * @see http://eslint.org/docs/rules/block-spacing
- */
- 'block-spacing': [ 'error', 'always' ],
- /**
- * @see http://eslint.org/docs/rules/brace-style
- * @since 3.0.0
- * @example
- *
- * ```js
- * // correct
- * if (foo) {
- * bar();
- * }
- *
- * foo: { type: Array, default() { return []; } }
- *
- * if (foo) bar();
- *
- * if (foo) { bar(); }
- *
- * // incorrect
- *
- * if (foo) {
- * bar();
- * }
- * else {
- * baz();
- * }
- * ```
- */
- 'brace-style': [ 'error', '1tbs', { allowSingleLine: true }],
- /**
- * not require camel case names
- * @see http://eslint.org/docs/rules/camelcase
- */
- camelcase: 'off',
- /**
- * enforce spacing before and after comma
- * @see http://eslint.org/docs/rules/comma-spacing
- */
- 'comma-spacing': [ 'error', { before: false, after: true }],
- /**
- * enforce one true comma style
- * @see http://eslint.org/docs/rules/comma-style
- * @since 3.0.0
- * @example
- *
- * ```js
- * // incorrect
- * var foo = 1
- * ,
- * bar = 2;
- *
- * var foo = 1
- * , bar = 2;
- *
- * var foo = ["apples"
- * , "oranges"];
- *
- * function bar() {
- * return {
- * "a": 1
- * ,"b:": 'error
- * };
- * }
- * ```
- */
- 'comma-style': [ 'error', 'last' ],
- /**
- * allow padding inside computed properties
- * @see http://eslint.org/docs/rules/computed-property-spacing
- */
- 'computed-property-spacing': 'off',
- /**
- * not enforces consistent naming when capturing the current execution context
- * @see http://eslint.org/docs/rules/consistent-this
- */
- 'consistent-this': 'off',
- /**
- * enforce newline at the end of file, with no multiple empty lines
- * @see http://eslint.org/docs/rules/eol-last
- */
- 'eol-last': 'error',
- /**
- * not require function expressions to have a name
- * @see http://eslint.org/docs/rules/func-names
- */
- 'func-names': 'off',
- /**
- * not enforces use of function declarations or expressions
- * @see http://eslint.org/docs/rules/func-style
- */
- 'func-style': 'off',
- /**
- * Blacklist certain identifiers to prevent them being used
- * @see http://eslint.org/docs/rules/id-blacklist
- */
- 'id-blacklist': 'off',
- /**
- * not enforces minimum and maximum identifier lengths
- * (variable names, property names etc.)
- * @see http://eslint.org/docs/rules/id-length
- */
- 'id-length': 'off',
- /**
- * not require identifiers to match the provided regular expression
- * @see http://eslint.org/docs/rules/id-match
- */
- 'id-match': 'off',
- /**
- * this option sets a specific tab width for your code
- * @see http://eslint.org/docs/rules/indent
- */
- indent: [ 'error', 2, { SwitchCase: 1, VariableDeclarator: 1 }],
- /**
- * enforces spacing between keys and values in object literal properties
- * @see http://eslint.org/docs/rules/key-spacing
- */
- 'key-spacing': [ 'error', { beforeColon: false, afterColon: true }],
- /**
- * require a space before & after certain keywords
- * @see http://eslint.org/docs/rules/keyword-spacing
- */
- 'keyword-spacing': [ 'error', {
- before: true,
- after: true,
- overrides: {
- return: { after: true },
- throw: { after: true },
- case: { after: true },
- },
- }],
- /**
- * enforces the usage of Unix line endings: \n for LF
- * @see http://eslint.org/docs/rules/linebreak-style
- */
- 'linebreak-style': [ (os.platform() === 'win32' ? 'off' : 'error'), 'unix' ],
- /**
- * not enforces empty lines around comments
- * @see http://eslint.org/docs/rules/lines-around-comment
- */
- 'lines-around-comment': 'off',
- /**
- * specify the maximum depth that blocks can be nested
- * @see http://eslint.org/docs/rules/max-depth
- */
- 'max-depth': 'off',
- /**
- * not specify the maximum length of a line in your program
- * @see http://eslint.org/docs/rules/max-len
- * @since 3.0.0
- */
- 'max-len': 'off',
- /**
- * not specify the maximum depth callbacks can be nested
- * @see http://eslint.org/docs/rules/max-nested-callbacks
- */
- 'max-nested-callbacks': 'off',
- /**
- * limits the number of parameters that can be used in the function declaration.
- * @see http://eslint.org/docs/rules/max-params
- */
- 'max-params': 'off',
- /**
- * specify the maximum number of statement allowed in a function
- * @see http://eslint.org/docs/rules/max-statements
- */
- 'max-statements': 'off',
- /**
- * restrict the number of statements per line
- * @see http://eslint.org/docs/rules/max-statements-per-line
- * @since 3.0.0
- */
- 'max-statements-per-line': 'off',
- /**
- * not require a capital letter for constructors
- * @see http://eslint.org/docs/rules/new-cap
- */
- 'new-cap': 'off',
- /**
- * disallow the omission of parentheses when invoking a constructor with no arguments
- * @see http://eslint.org/docs/rules/new-parens
- */
- 'new-parens': 'error',
- /**
- * allow an empty newline after var statement
- * @see http://eslint.org/docs/rules/newline-after-var
- */
- 'newline-after-var': 'off',
- /**
- * @see http://eslint.org/docs/rules/newline-before-return
- */
- 'newline-before-return': 'off',
- /**
- * enforces new line after each method call in the chain to make it
- * more readable and easy to maintain
- */
- 'newline-per-chained-call': [ 'error', { ignoreChainWithDepth: 3 }],
- /**
- * disallow use of the Array constructor
- * @see http://eslint.org/docs/rules/no-array-constructor
- */
- 'no-array-constructor': 'error',
- /**
- * disallow use of bitwise operators
- * @see http://eslint.org/docs/rules/no-bitwise
- */
- 'no-bitwise': 'error',
- /**
- * allow use of the continue statement
- * @see http://eslint.org/docs/rules/no-continue
- */
- 'no-continue': 'off',
- /**
- * allow comments inline after code
- * @see http://eslint.org/docs/rules/no-inline-comments
- */
- 'no-inline-comments': 'off',
- /**
- * allow if as the only statement in an else block
- * @see http://eslint.org/docs/rules/no-lonely-if
- */
- 'no-lonely-if': 'off',
- /**
- * disallow mixed spaces and tabs for indentation
- * @see http://eslint.org/docs/rules/no-mixed-spaces-and-tabs
- */
- 'no-mixed-spaces-and-tabs': [ 'error', false ],
- /**
- * disallow multiple empty lines and only one newline at the end
- * @see http://eslint.org/docs/rules/no-multiple-empty-lines
- * @since 3.0.0
- */
- 'no-multiple-empty-lines': [ 'error', { max: 2, maxEOF: 1 }],
- /**
- * allow negated conditions
- * @see http://eslint.org/docs/rules/no-negated-condition
- */
- 'no-negated-condition': 'off',
- /**
- * disallow negating the left operand in `in` expressions
- * @see http://eslint.org/docs/rules/no-negated-in-lhs
- */
- 'no-negated-in-lhs': 'error',
- /**
- * allow nested ternary expressions
- * @see http://eslint.org/docs/rules/no-nested-ternary
- */
- 'no-nested-ternary': 'off',
- /**
- * disallow use of the Object constructor
- * @see http://eslint.org/docs/rules/no-new-object
- */
- 'no-new-object': 'error',
- /**
- * allow use of unary operators, ++ and --
- * @see http://eslint.org/docs/rules/no-plusplus
- */
- 'no-plusplus': 'off',
- /**
- * disallow certain syntax forms
- * @see http://eslint.org/docs/rules/no-restricted-syntax
- */
- 'no-restricted-syntax': [
- 2,
- 'WithStatement',
- ],
- /**
- * disallow space between function identifier and application
- * @see http://eslint.org/docs/rules/no-spaced-func
- */
- 'no-spaced-func': 'error',
- /**
- * allow the use of ternary operators
- * @see http://eslint.org/docs/rules/no-ternary
- */
- 'no-ternary': 'off',
- /**
- * disallow trailing whitespace at the end of lines
- * @see http://eslint.org/docs/rules/no-trailing-spaces
- */
- 'no-trailing-spaces': 'error',
- /**
- * allow dangling underscores in identifiers
- * @see http://eslint.org/docs/rules/no-underscore-dangle
- */
- 'no-underscore-dangle': 'off',
- /**
- * allow the use of Boolean literals in conditional expressions
- * also, prefer `a || b` over `a ? a : b`
- * @see http://eslint.org/docs/rules/no-unneeded-ternary
- */
- 'no-unneeded-ternary': 'error',
- /**
- * disallow whitespace before properties
- * @see http://eslint.org/docs/rules/no-whitespace-before-property
- */
- 'no-whitespace-before-property': 'error',
- /**
- * require padding inside curly braces
- * @see http://eslint.org/docs/rules/object-curly-spacing
- * @since 3.0.0
- * @example
- *
- * ```js
- * // incorrect
- * var obj = {'foo': 'bar'};
- * var obj = {'foo': 'bar' };
- * var obj = { baz: {'foo': 'qux'}, bar};
- * var obj = {baz: { 'foo': 'qux' }, bar};
- * var obj = {'foo': 'bar'
- * };
- * ```
- */
- 'object-curly-spacing': [ 'error', 'always' ],
- /**
- * not enforce "same line" or "multiple line" on object properties.
- * @see http://eslint.org/docs/rules/object-property-newline
- */
- 'object-property-newline': 'off',
- /**
- * allow just one var statement per function
- * @see http://eslint.org/docs/rules/one-var
- */
- 'one-var': 'off',
- /**
- * require a newline around variable declaration
- * @see http://eslint.org/docs/rules/one-var-declaration-per-line
- * @since 3.0.0
- */
- 'one-var-declaration-per-line': [ 'error', 'always' ],
- /**
- * not require assignment operator shorthand where possible or prohibit it entirely
- * @see http://eslint.org/docs/rules/operator-assignment
- */
- 'operator-assignment': 'off',
- /**
- * not enforce operators to be placed before or after line breaks
- * @see http://eslint.org/docs/rules/operator-linebreak
- */
- 'operator-linebreak': 'off',
- /**
- * allow padding within blocks
- * @see http://eslint.org/docs/rules/padded-blocks
- */
- 'padded-blocks': 'off',
- /**
- * not require quotes around object literal property names
- * @see http://eslint.org/docs/rules/quote-props
- */
- 'quote-props': [ 'error', 'as-needed', { keywords: false }],
- /**
- * specify whether double or single quotes should be used
- * @see http://eslint.org/docs/rules/quotes
- */
- quotes: [ 'error', 'single', { avoidEscape: true }],
- /**
- * do not require jsdoc
- * @see http://eslint.org/docs/rules/require-jsdoc
- */
- 'require-jsdoc': 'off',
- /**
- * disallow use of semicolons instead of ASI
- * @see http://eslint.org/docs/rules/semi
- */
- semi: [ 'error', 'always' ],
- /**
- * enforce spacing before and after semicolons
- * @see http://eslint.org/docs/rules/semi-spacing
- */
- 'semi-spacing': [ 'error', { before: false, after: true }],
- /**
- * not sort variables within the same declaration block
- * @see http://eslint.org/docs/rules/sort-vars
- */
- 'sort-vars': 'off',
- /**
- * disallow space before blocks
- * @see http://eslint.org/docs/rules/space-before-blocks
- */
- 'space-before-blocks': 'error',
- /**
- * require or disallow space before function opening parenthesis
- * @see http://eslint.org/docs/rules/space-before-function-paren
- */
- 'space-before-function-paren': [ 'error', {
- anonymous: 'never',
- named: 'never',
- }],
- /**
- * require or disallow spaces inside parentheses
- * @see http://eslint.org/docs/rules/space-in-parens
- */
- 'space-in-parens': [ 'error', 'never' ],
- /**
- * require spaces around operators
- * @see http://eslint.org/docs/rules/space-infix-ops
- */
- 'space-infix-ops': 'error',
- /**
- * Require spaces before/after unary operators
- * @see http://eslint.org/docs/rules/space-unary-ops
- */
- 'space-unary-ops': [ 'error', {
- words: true,
- nonwords: false,
- }],
- /**
- * require or disallow a space immediately following the // or /* in a comment
- * @see http://eslint.org/docs/rules/spaced-comment
- */
- 'spaced-comment': [ 'error', 'always', {
- exceptions: [ '-', '+' ],
- markers: [ '*!' ],
- }],
- /**
- * not require regex literals to be wrapped in parentheses
- * @see http://eslint.org/docs/rules/wrap-regex
- */
- 'wrap-regex': 'off',
- /**
- * unnecessary escape usage
- * @see http://eslint.org/docs/rules/no-useless-escape
- */
- 'no-useless-escape': 'off',
- },
- };
|