orbital-camera-control
Version:
Orbital camera control using gl-matrix
319 lines (236 loc) • 10.1 kB
Plain Text
{
env: {
es6: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: 'module',
ecmaFeatures: {
generators: false,
objectLiteralDuplicateProperties: false
}
},
rules: {
// enforces no braces where they can be omitted
// http://eslint.org/docs/rules/arrow-body-style
'arrow-body-style': [2, 'as-needed'],
// require parens in arrow function arguments
'arrow-parens': 0,
// require space before/after arrow function's arrow
// http://eslint.org/docs/rules/arrow-spacing
// 'arrow-spacing': [2, { before: true, after: true }],
// verify super() callings in constructors
'constructor-super': 0,
// enforce the spacing around the * in generator functions
// http://eslint.org/docs/rules/generator-star-spacing
'generator-star-spacing': [2, { before: false, after: true }],
// disallow modifying variables of class declarations
// http://eslint.org/docs/rules/no-class-assign
'no-class-assign': 2,
// disallow arrow functions where they could be confused with comparisons
// http://eslint.org/docs/rules/no-confusing-arrow
'no-confusing-arrow': [2, {
allowParens: true,
}],
// disallow modifying variables that are declared using const
'no-const-assign': 2,
// disallow duplicate class members
// http://eslint.org/docs/rules/no-dupe-class-members
'no-dupe-class-members': 2,
// disallow importing from the same path more than once
// http://eslint.org/docs/rules/no-duplicate-imports
'no-duplicate-imports': 2,
// disallow symbol constructor
// http://eslint.org/docs/rules/no-new-symbol
'no-new-symbol': 2,
// disallow specific imports
// http://eslint.org/docs/rules/no-restricted-imports
'no-restricted-imports': 0,
// disallow to use this/super before super() calling in constructors.
'no-this-before-super': 0,
// disallow useless computed property keys
// http://eslint.org/docs/rules/no-useless-computed-key
'no-useless-computed-key': 2,
// disallow unnecessary constructor
// http://eslint.org/docs/rules/no-useless-constructor
'no-useless-constructor': 2,
// require let or const instead of var
'no-var': 2,
// require method and property shorthand syntax for object literals
// http://eslint.org/docs/rules/object-shorthand
'object-shorthand': [2, 'always', {
ignoreConstructors: false,
avoidQuotes: true,
}],
// suggest using arrow functions as callbacks
'prefer-arrow-callback': [2, {
allowNamedFunctions: false,
allowUnboundThis: true,
}],
// suggest using of const declaration for variables that are never modified after declared
'prefer-const': [2, {
destructuring: 'any',
ignoreReadBeforeAssign: true,
}],
// suggest using Reflect methods where applicable
'prefer-reflect': 0,
// use rest parameters instead of arguments
// http://eslint.org/docs/rules/prefer-rest-params
'prefer-rest-params': 2,
// suggest using the spread operator instead of .apply()
'prefer-spread': 0,
// suggest using template literals instead of string concatenation
// http://eslint.org/docs/rules/prefer-template
'prefer-template': 2,
// disallow generator functions that do not have yield
'require-yield': 0,
// import sorting
// http://eslint.org/docs/rules/sort-imports
'sort-imports': 0,
// enforce usage of spacing in template strings
// http://eslint.org/docs/rules/template-curly-spacing
'template-curly-spacing': 2,
// enforce spacing around the * in yield* expressions
// http://eslint.org/docs/rules/yield-star-spacing
'yield-star-spacing': [2, 'after'],
// enforce spacing inside array brackets
//'array-bracket-spacing': [2, 'never'],
// enforce spacing inside single-line blocks
// http://eslint.org/docs/rules/block-spacing
'block-spacing': [2, 'always'],
// enforce one true brace style
'brace-style': [2, '1tbs', { allowSingleLine: true }],
// require camel case names
camelcase: [2, { properties: 'never' }],
// enforce spacing before and after comma
'comma-spacing': [2, { before: false, after: true }],
// enforce one true comma style
'comma-style': [2, 'last'],
// disallow padding inside computed properties
'computed-property-spacing': [2, 'never'],
// enforces consistent naming when capturing the current execution context
'consistent-this': 0,
// enforces use of function declarations or expressions
'func-style': 0,
// Blacklist certain identifiers to prevent them being used
// http://eslint.org/docs/rules/id-blacklist
'id-blacklist': 0,
// this option enforces minimum and maximum identifier lengths
// (variable names, property names etc.)
'id-length': 0,
// require identifiers to match the provided regular expression
'id-match': 0,
// this option sets a specific tab width for your code
// http://eslint.org/docs/rules/indent
indent: ["error", "tab"],
// specify whether double or single quotes should be used in JSX attributes
// http://eslint.org/docs/rules/jsx-quotes
'jsx-quotes': 0,
// disallow mixed 'LF' and 'CRLF' as linebreaks
'linebreak-style': 0,
// enforces empty lines around comments
'lines-around-comment': 0,
// specify the maximum depth that blocks can be nested
'max-depth': [0, 4],
// specify the maximum depth callbacks can be nested
'max-nested-callbacks': 0,
// limits the number of parameters that can be used in the function declaration.
'max-params': [0, 3],
// specify the maximum number of statement allowed in a function
'max-statements': [0, 10],
// restrict the number of statements per line
// http://eslint.org/docs/rules/max-statements-per-line
'max-statements-per-line': [0, { max: 1 }],
// require a capital letter for constructors
'new-cap': [1, { newIsCap: true }],
// disallow the omission of parentheses when invoking a constructor with no arguments
'new-parens': 0,
// enforces new line after each method call in the chain to make it
// more readable and easy to maintain
// http://eslint.org/docs/rules/newline-per-chained-call
'newline-per-chained-call': [2, { ignoreChainWithDepth: 3 }],
// disallow use of the Array constructor
'no-array-constructor': 2,
// disallow use of bitwise operators
'no-bitwise': 0,
// disallow use of the continue statement
'no-continue': 0,
// disallow comments inline after code
'no-inline-comments': 0,
// disallow if as the only statement in an else block
'no-lonely-if': 0,
// disallow mixed spaces and tabs for indentation
'no-mixed-spaces-and-tabs': 2,
// disallow negated conditions
// http://eslint.org/docs/rules/no-negated-condition
'no-negated-condition': 0,
// disallow nested ternary expressions
'no-nested-ternary': 2,
// disallow use of the Object constructor
'no-new-object': 2,
// disallow use of unary operators, ++ and --
'no-plusplus': 0,
// disallow certain syntax forms
// http://eslint.org/docs/rules/no-restricted-syntax
'no-restricted-syntax': [
2,
'LabeledStatement',
'WithStatement',
],
// disallow space between function identifier and application
'no-spaced-func': 2,
// disallow the use of ternary operators
'no-ternary': 0,
// disallow the use of Boolean literals in conditional expressions
// also, prefer `a || b` over `a ? a : b`
// http://eslint.org/docs/rules/no-unneeded-ternary
'no-unneeded-ternary': [2, { defaultAssignment: false }],
// disallow whitespace before properties
// http://eslint.org/docs/rules/no-whitespace-before-property
'no-whitespace-before-property': 2,
// require padding inside curly braces
'object-curly-spacing': [2, 'always'],
// enforce "same line" or "multiple line" on object properties.
// http://eslint.org/docs/rules/object-property-newline
// TODO: enable when https://github.com/eslint/eslint/issues/5667#issuecomment-219334864 is resolved
'object-property-newline': [0, {
allowMultiplePropertiesPerLine: true,
}],
// require assignment operator shorthand where possible or prohibit it entirely
'operator-assignment': 0,
// enforce operators to be placed before or after line breaks
'operator-linebreak': 0,
// require quotes around object literal property names
// http://eslint.org/docs/rules/quote-props.html
'quote-props': [2, 'as-needed', { keywords: false, unnecessary: true, numbers: false }],
// specify whether double or single quotes should be used
quotes: [2, 'single', { avoidEscape: true }],
// do not require jsdoc
// http://eslint.org/docs/rules/require-jsdoc
'require-jsdoc': 0,
// require or disallow use of semicolons instead of ASI
semi: [2, 'always'],
// enforce spacing before and after semicolons
'semi-spacing': [2, { before: false, after: true }],
// sort variables within the same declaration block
'sort-vars': 0,
// require or disallow space before blocks
'space-before-blocks': 2,
// require or disallow space before function opening parenthesis
// http://eslint.org/docs/rules/space-before-function-paren
'space-before-function-paren': [2, { anonymous: 'always', named: 'never' }],
// require or disallow spaces inside parentheses
'space-in-parens': [2, 'never'],
// require spaces around operators
//'space-infix-ops': 2,
// Require or disallow spaces before/after unary operators
'space-unary-ops': 0,
// require or disallow a space immediately following the // or /* in a comment
'spaced-comment': [2, 'always', {
exceptions: ['-', '+'],
markers: ['=', '!'] // space here to support sprockets directives
}],
// require regex literals to be wrapped in parentheses
'wrap-regex': 0
}
}