Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
147 lines (140 sloc) 3.39 KB
module.exports = {
env: {
browser: true,
commonjs: true,
es6: true
},
globals: {
// Allowed globals
console: true,
// Compile-time defines
__VERSION__: true,
__USE_SUBTITLES__: true,
__USE_ALT_AUDIO__: true,
__USE_EME_DRM__: true
},
// see https://standardjs.com/
// see https://github.com/standard/eslint-config-standard
extends: [
'eslint:recommended',
'standard'
],
parser: '@typescript-eslint/parser',
parserOptions: {
sourceType: 'module'
},
plugins: [
'@typescript-eslint'
],
rules: {
// our basic style rules
semi: [
'error',
'always'
],
indent: [
'error',
2
],
quotes: [
'error',
'single'
],
'linebreak-style': [
'error',
'unix'
],
// spacing
'space-infix-ops': 2,
'space-unary-ops': [2, { words: true, nonwords: false }],
'space-in-parens': ['error', 'never'],
'keyword-spacing': [2, { before: true, after: true }],
// enforce litteral objects on multiple lines
'block-spacing': 'error',
curly: 2,
'object-curly-spacing': ['error', 'always'],
'brace-style': ['error', '1tbs', { allowSingleLine: false }],
// limit code block and line length
/*
"max-len": 1,
"max-statements": 1,
"max-depth": 1,
"max-nested-callbacks": 1,
"max-params": 1,
"max-statements": 1,
"max-statements-per-line": 1
*/
// loosening of code-quality rules we may want to fix later
// (warnings for now)
// forbid "one var" style, enforce one declaration per variable
'one-var': 2,
'no-restricted-globals': [2,
{
name: 'window',
message: 'Use `self` instead of `window` to access the global context everywhere (including workers).'
},
{
name: 'SourceBuffer',
message: 'Use `self.SourceBuffer`'
},
{
name: 'setTimeout',
message: 'Use `self.setTimeout`'
},
{
name: 'setInterval',
message: 'Use `self.setInterval`'
}
],
'no-restricted-properties': [2,
{ property: 'findIndex' }, // Intended to block usage of Array.prototype.findIndex
{ property: 'find' } // Intended to block usage of Array.prototype.find
],
'standard/no-callback-literal': 0,
'import/first': 1,
'no-var': 1,
'no-empty': 1,
'no-mixed-operators': 2,
'no-unused-vars': 2,
'no-console': [
1,
{
allow: ['assert']
}
],
'no-fallthrough': 1,
'no-case-declarations': 2,
'no-irregular-whitespace': 1,
'no-self-assign': 1,
'new-cap': 1,
'no-undefined': 0,
'no-global-assign': 2,
'prefer-const': 2,
'dot-notation': 2,
'array-bracket-spacing': 2,
'quote-props': 2,
'no-void': 2,
'no-useless-catch': 2,
'lines-between-class-members': 2,
'no-prototype-builtins': 0
},
overrides: [
{
files: ['*.ts'],
rules: {
'no-unused-vars': 0,
'no-undef': 0,
'no-use-before-define': 'off',
// '@typescript-eslint/no-use-before-define': ['error'],
'@typescript-eslint/no-unused-vars': ['error', { args: 'none' }],
'@typescript-eslint/prefer-optional-chain': 2,
'@typescript-eslint/consistent-type-assertions': [2,
{
assertionStyle: 'as',
objectLiteralTypeAssertions: 'never'
}
]
}
}
]
};
You can’t perform that action at this time.