stylus/.eslintrc
tophf f8d13d8dec Remove code:false mode; show sloppy regexps in popup
* Now that our own pages retrieve the styles directly via getStylesSafe the only 0.001% of cases where code:false would be needed (the browser is starting up with some of the tabs showing our built-in pages like editor or manage) is not worth optimizing for.

* According to CSS4 @document specification the entire URL must match. Stylish-for-Chrome implemented it incorrectly since the very beginning. We detect styles that abuse the bug by finding the sections that would have been applied by Stylish but not by us as we follow the spec. Additionally we'll check for invalid regexps.
2017-04-18 12:46:28 +03:00

268 lines
6.7 KiB
Plaintext

# https://github.com/eslint/eslint/blob/master/docs/rules/README.md
parserOptions:
ecmaVersion: 2015
env:
browser: true
es6: true
webextensions: true
globals:
# messaging.js
OWN_ORIGIN: false
KEEP_CHANNEL_OPEN: false
RX_SUPPORTED_URLS: false
configureCommands: false
notifyAllTabs: false
refreshAllTabs: false
updateIcon: false
getActiveTab: false
getActiveTabRealURL: false
getTabRealURL: false
openURL: false
activateTab: false
stringAsRegExp: false
wildcardAsRegExp: false
ignoreChromeError: false
# localization.js
template: false
t: false
o: false
tE: false
tHTML: false
tNodeList: false
tDocLoader: false
# dom.js
onDOMready: false
getClickedStyleId: false
getClickedStyleElement: false
scrollElementIntoView: false
animateElement: false
$: false
$$: false
# storage.js
prefs: false
cachedStyles: false
sessionStorageHash: false
getStylesSafe: false
invalidateCache: false
saveStyle: false
enableStyle: false
deleteStyle: false
fixBoolean: false
getDomains: false
getType: false
getApplicableSections: false
isCheckbox: false
runTryCatch: false
tryRegExp: false
setupLivePrefs: false
getCodeMirrorThemes: false
styleSectionsEqual: false
rules:
accessor-pairs: [2]
array-bracket-spacing: [2, never]
array-callback-return: [0]
arrow-body-style: [2, as-needed]
arrow-parens: [2, as-needed]
arrow-spacing: [2, {before: true, after: true}]
block-scoped-var: [2]
brace-style: [2, 1tbs, {allowSingleLine: false}]
camelcase: [2, {properties: never}]
class-methods-use-this: [2]
comma-dangle: [0]
comma-spacing: [2, {before: false, after: true}]
comma-style: [2, last]
complexity: [0]
computed-property-spacing: [2, never]
consistent-return: [0]
constructor-super: [2]
curly: [2]
default-case: [0]
dot-location: [2, property]
dot-notation: [0]
eol-last: [2]
eqeqeq: [0]
func-call-spacing: [2, never]
func-name-matching: [0]
func-names: [0]
generator-star-spacing: [2, before]
global-require: [0]
guard-for-in: [0] # not needed for our non-OOP stuff
handle-callback-err: [2, ^(err|error)$]
id-blacklist: [0]
id-length: [0]
id-match: [0]
indent: [2, 2, {VariableDeclarator: 0, SwitchCase: 1}]
jsx-quotes: [0]
key-spacing: [0]
keyword-spacing: [2]
lines-around-comment: [0]
lines-around-directive: [0]
max-len: [2, {code: 120, ignoreComments: true, ignoreRegExpLiterals: true}]
max-lines: [0]
max-nested-callbacks: [0]
max-params: [0]
max-statements-per-line: [0]
max-statements: [0]
multiline-ternary: [0]
new-cap: [0]
new-parens: [2]
newline-before-return: [0]
newline-per-chained-call: [0]
no-alert: [0]
no-array-constructor: [0]
no-bitwise: [0]
no-caller: [2]
no-case-declarations: [2]
no-class-assign: [2]
no-cond-assign: [2, except-parens]
no-confusing-arrow: [2, {allowParens: true}]
no-const-assign: [2]
no-constant-condition: [0]
no-continue: [0]
no-control-regex: [2]
no-debugger: [2]
no-delete-var: [2]
no-div-regex: [0]
no-dupe-args: [2]
no-dupe-class-members: [2]
no-dupe-keys: [2]
no-duplicate-case: [2]
no-duplicate-imports: [2]
no-else-return: [0]
no-empty-character-class: [2]
no-empty-function: [0]
no-empty-pattern: [2]
no-empty: [2, {allowEmptyCatch: true}]
no-eq-null: [2]
no-eval: [2]
no-ex-assign: [2]
no-extend-native: [2]
no-extra-bind: [2]
no-extra-boolean-cast: [2]
no-extra-label: [0]
no-extra-parens: [0]
no-extra-semi: [2]
no-fallthrough: [2, {commentPattern: fallthrough.*}]
no-floating-decimal: [0]
no-func-assign: [2]
no-global-assign: [2]
no-implicit-coercion: [1]
no-implicit-globals: [0]
no-implied-eval: [2]
no-inline-comments: [0]
no-inner-declarations: [2]
no-invalid-regexp: [2]
no-invalid-this: [0]
no-irregular-whitespace: [2]
no-iterator: [2]
no-label-var: [2]
no-labels: [2, {allowLoop: true}]
no-lone-blocks: [2]
no-lonely-if: [0]
no-loop-func: [0]
no-magic-numbers: [0]
no-mixed-operators: [0]
no-mixed-requires: [2, true]
no-mixed-spaces-and-tabs: [2]
no-multi-spaces: [0]
no-multi-str: [2]
no-multiple-empty-lines: [2, {max: 2, maxEOF: 0, maxBOF: 0}]
no-native-reassign: [2]
no-negated-condition: [0]
no-negated-in-lhs: [2]
no-nested-ternary: [0]
no-new-func: [2]
no-new-object: [2]
no-new-require: [2]
no-new-symbol: [2]
no-new-wrappers: [2]
no-new: [0]
no-obj-calls: [2]
no-octal-escape: [2]
no-octal: [2]
no-path-concat: [2]
no-process-exit: [0]
no-proto: [2]
no-redeclare: [2]
no-regex-spaces: [2]
no-restricted-imports: [0]
no-restricted-modules: [2, domain, freelist, smalloc, sys]
no-restricted-syntax: [2, WithStatement]
no-return-assign: [2, except-parens]
no-return-await: [2]
no-script-url: [2]
no-self-assign: [2, {props: true}]
no-self-compare: [2]
no-sequences: [2]
no-shadow-restricted-names: [2]
no-shadow: [0]
no-spaced-func: [2]
no-sparse-arrays: [2]
no-tabs: [2]
no-template-curly-in-string: [2]
no-this-before-super: [2]
no-throw-literal: [0]
no-trailing-spaces: [2]
no-undef-init: [2]
no-undef: [2]
no-undefined: [0]
no-underscore-dangle: [0]
no-unexpected-multiline: [2]
no-unmodified-loop-condition: [2]
no-unneeded-ternary: [2]
no-unreachable: [2]
no-unsafe-finally: [2]
no-unsafe-negation: [2]
no-unused-expressions: [2]
no-unused-labels: [0]
no-unused-vars: [1, {args: all, vars: local, varsIgnorePattern: clearError, argsIgnorePattern: ^_}]
no-use-before-define: [2, nofunc]
no-useless-call: [2]
no-useless-computed-key: [2]
no-useless-concat: [2]
no-useless-constructor: [2]
no-useless-escape: [2]
no-var: [1]
no-warning-comments: [0]
no-whitespace-before-property: [2]
no-with: [2]
object-curly-newline: [0]
object-curly-spacing: [2, never]
object-shorthand: [0]
one-var-declaration-per-line: [1]
one-var: [0]
operator-assignment: [2, always]
operator-linebreak: [2, after, overrides: {"?": ignore, ":": ignore, "&&": ignore, "||": ignore}]
padded-blocks: [2, never]
prefer-numeric-literals: [2]
prefer-rest-params: [0]
prefer-const: [1, {destructuring: any, ignoreReadBeforeAssign: true}]
quote-props: [0]
quotes: [1, single, avoid-escape]
radix: [2, as-needed]
require-jsdoc: [0]
require-yield: [2]
semi-spacing: [2, {before: false, after: true}]
semi: [2, always]
sort-imports: [0]
sort-keys: [0]
space-before-blocks: [2, always]
space-before-function-paren: [2, never]
space-in-parens: [2, never]
space-infix-ops: [2]
space-unary-ops: [2]
spaced-comment: [0, always, {markers: ["!"]}]
strict: [2, global]
symbol-description: [2]
template-curly-spacing: [2, never]
unicode-bom: [2, never]
use-isnan: [2]
valid-typeof: [2]
wrap-iife: [2, inside]
yield-star-spacing: [2, {before: true, after: false}]
yoda: [2, never]