UNPKG

eslint-plugin-ecmalist

Version:

Combination of eslint, ecmascript and browserslist

181 lines (174 loc) 10.1 kB
'use strict' const verReg = /^\D?(\d+).?(\d+)?.?(\d+)?/ const blToMdn = { chrome: 'chrome', and_chr: 'chrome_android', deno: 'deno', edge: 'edge', firefox: 'firefox', and_ff: 'firefox_android', ie: 'ie', node: 'nodejs', opera: 'opera', op_mob: 'opera_android', safari: 'safari', ios_saf: 'safari_ios', samsung: 'samsunginternet_android', android: 'webview_android', } const mdnToBl = Object.keys(blToMdn).reduce((acc, blName) => { acc[blToMdn[blName]] = blName return acc }, {}) // prettier-ignore const localRules = { 'no-accessor-properties': ['operators', 'property_accessors'], 'no-array-from': ['builtins', 'Array', 'from'], 'no-array-isarray': ['builtins', 'Array', 'isArray'], 'no-array-of': ['builtins', 'Array', 'of'], 'no-array-prototype-copywithin': ['builtins', 'Array', 'copyWithin'], 'no-array-prototype-entries': ['builtins', 'Array', 'entries'], 'no-array-prototype-every': ['builtins', 'Array', 'every'], 'no-array-prototype-fill': ['builtins', 'Array', 'fill'], 'no-array-prototype-filter': ['builtins', 'Array', 'filter'], 'no-array-prototype-find': ['builtins', 'Array', 'find'], 'no-array-prototype-findindex': ['builtins', 'Array', 'findIndex'], 'no-array-prototype-flat': ['builtins', 'Array', 'flat'], 'no-array-prototype-foreach': ['builtins', 'Array', 'forEach'], 'no-array-prototype-includes': ['builtins', 'Array', 'includes'], 'no-array-prototype-indexof': ['builtins', 'Array', 'indexOf'], 'no-array-prototype-keys': ['builtins', 'Array', 'keys'], 'no-array-prototype-lastindexof': ['builtins', 'Array', 'lastIndexOf'], 'no-array-prototype-map': ['builtins', 'Array', 'map'], 'no-array-prototype-reduce': ['builtins', 'Array', 'reduce'], 'no-array-prototype-reduceright': ['builtins', 'Array', 'reduceRight'], 'no-array-prototype-some': ['builtins', 'Array', 'some'], 'no-array-prototype-values': ['builtins', 'Array', 'values'], 'no-arrow-functions': ['functions', 'arrow_functions'], 'no-async-functions': ['statements', 'async_function'], 'no-async-iteration': ['statements', 'for_await_of'], 'no-atomics': ['builtins', 'Atomics'], 'no-bigint': ['builtins', 'BigInt'], 'no-binary-numeric-literals': ['grammar', 'binary_numeric_literals'], 'no-block-scoped-functions': ['functions', 'block_level_functions'], 'no-block-scoped-variables': ['statements', 'let'], 'no-classes': ['statements', 'class'], 'no-computed-properties': ['operators', 'object_initializer', 'computed_property_names'], 'no-date-now': ['builtins', 'Date', 'now'], 'no-default-parameters': ['functions', 'default_parameters'], 'no-destructuring': ['operators', 'destructuring'], 'no-dynamic-import': ['statements', 'import', 'dynamic_import'], 'no-exponential-operators': ['operators', 'exponentiation'], 'no-export-ns-from': ['statements', 'export', 'namespace'], 'no-for-of-loops': ['statements', 'for_of'], 'no-function-prototype-bind': ['builtins', 'Function', 'bind'], 'no-generators': ['statements', 'generator_function'], 'no-global-this': ['builtins', 'globalThis'], 'no-import-meta': ['statements', 'import_meta'], 'no-json': ['builtins', 'JSON'], 'no-json-superset': ['builtins', 'JSON', 'json_superset'], 'no-keyword-properties': ['builtins', 'Object', 'assign'], 'no-logical-assignment-operators': ['operators', 'logical_nullish_assignment'], 'no-malformed-template-literals': ['grammar', 'template_literals', 'template_literal_revision'], 'no-map': ['builtins', 'Map'], 'no-math-acosh': ['builtins', 'Math', 'acosh'], 'no-math-asinh': ['builtins', 'Math', 'asinh'], 'no-math-atanh': ['builtins', 'Math', 'atanh'], 'no-math-cbrt': ['builtins', 'Math', 'cbrt'], 'no-math-clz32': ['builtins', 'Math', 'clz32'], 'no-math-cosh': ['builtins', 'Math', 'cosh'], 'no-math-expm1': ['builtins', 'Math', 'expm1'], 'no-math-fround': ['builtins', 'Math', 'fround'], 'no-math-hypot': ['builtins', 'Math', 'hypot'], 'no-math-imul': ['builtins', 'Math', 'imul'], 'no-math-log1p': ['builtins', 'Math', 'log1p'], 'no-math-log2': ['builtins', 'Math', 'log2'], 'no-math-log10': ['builtins', 'Math', 'log10'], 'no-math-sign': ['builtins', 'Math', 'sign'], 'no-math-sinh': ['builtins', 'Math', 'sinh'], 'no-math-tanh': ['builtins', 'Math', 'tanh'], 'no-math-trunc': ['builtins', 'Math', 'trunc'], 'no-modules': ['statements', 'export'], 'no-new-target': ['operators', 'new_target'], 'no-nullish-coalescing-operators': ['operators', 'nullish_coalescing'], 'no-number-epsilon': ['builtins', 'Number', 'EPSILON'], 'no-number-isfinite': ['builtins', 'Number', 'isFinite'], 'no-number-isinteger': ['builtins', 'Number', 'isInteger'], 'no-number-isnan': ['builtins', 'Number', 'isNaN'], 'no-number-issafeinteger': ['builtins', 'Number', 'isSafeInteger'], 'no-number-maxsafeinteger': ['builtins', 'Number', 'MAX_SAFE_INTEGER'], 'no-number-minsafeinteger': ['builtins', 'Number', 'MIN_SAFE_INTEGER'], 'no-number-parsefloat': ['builtins', 'Number', 'parseFloat'], 'no-number-parseint': ['builtins', 'Number', 'parseInt'], 'no-numeric-separators': ['grammar', 'numeric_separators'], 'no-object-assign': ['builtins', 'Object', 'assign'], 'no-object-create': ['builtins', 'Object', 'create'], 'no-object-defineproperties': ['builtins', 'Object', 'defineProperties'], 'no-object-defineproperty': ['builtins', 'Object', 'defineProperty'], 'no-object-entries': ['builtins', 'Object', 'entries'], 'no-object-freeze': ['builtins', 'Object', 'freeze'], 'no-object-fromentries': ['builtins', 'Object', 'fromEntries'], 'no-object-getownpropertydescriptor': ['builtins', 'Object', 'getOwnPropertyDescriptor'], 'no-object-getownpropertydescriptors': ['builtins', 'Object', 'getOwnPropertyDescriptors'], 'no-object-getownpropertynames': ['builtins', 'Object', 'getOwnPropertyNames'], 'no-object-getownpropertysymbols': ['builtins', 'Object', 'getOwnPropertySymbols'], 'no-object-getprototypeof': ['builtins', 'Object', 'getPrototypeOf'], 'no-object-is': ['builtins', 'Object', 'is'], 'no-object-isextensible': ['builtins', 'Object', 'isExtensible'], 'no-object-isfrozen': ['builtins', 'Object', 'isFrozen'], 'no-object-issealed': ['builtins', 'Object', 'isSealed'], 'no-object-keys': ['builtins', 'Object', 'keys'], 'no-object-preventextensions': ['builtins', 'Object', 'preventExtensions'], 'no-object-seal': ['builtins', 'Object', 'seal'], 'no-object-setprototypeof': ['builtins', 'Object', 'setPrototypeOf'], 'no-object-super-properties': ['operators', 'super'], 'no-object-values': ['builtins', 'Object', 'values'], 'no-octal-numeric-literals': ['grammar', 'octal_numeric_literals'], 'no-optional-catch-binding': ['statements', 'try_catch', 'optional_catch_binding'], 'no-optional-chaining': ['operators', 'optional_chaining'], 'no-promise': ['builtins', 'Promise'], 'no-promise-all-settled': ['builtins', 'Promise', 'allSettled'], 'no-promise-any': ['builtins', 'Promise', 'any'], 'no-promise-prototype-finally': ['builtins', 'Promise', 'finally'], 'no-property-shorthands': ['operators', 'object_initializer', 'shorthand_method_names'], 'no-proxy': ['builtins', 'Proxy'], 'no-reflect': ['builtins', 'Reflect'], 'no-regexp-lookbehind-assertions': ['builtins', 'RegExp', 'lookbehind_assertion'], 'no-regexp-named-capture-groups': ['builtins', 'RegExp', 'named_capture_groups'], 'no-regexp-prototype-flags': ['builtins', 'RegExp', 'flags'], 'no-regexp-s-flag': ['builtins', 'RegExp', 'dotAll'], 'no-regexp-u-flag': ['builtins', 'RegExp', 'unicode'], 'no-regexp-unicode-property-escapes': ['builtins', 'RegExp', 'property_escapes'], 'no-regexp-unicode-property-escapes-2019': ['builtins', 'RegExp', 'property_escapes'], 'no-regexp-y-flag': ['builtins', 'RegExp', 'sticky'], 'no-rest-parameters': ['functions', 'rest_parameters'], 'no-rest-spread-properties': ['operators', 'destructuring', 'rest_in_objects'], 'no-set': ['builtins', 'Set'], 'no-shared-array-buffer': ['builtins', 'SharedArrayBuffer'], 'no-spread-elements': ['operators', 'object_initializer', 'spread_properties'], 'no-string-fromcodepoint': ['builtins', 'String', 'fromCodePoint'], 'no-string-prototype-codepointat': ['builtins', 'String', 'codePointAt'], 'no-string-prototype-endswith': ['builtins', 'String', 'endsWith'], 'no-string-prototype-includes': ['builtins', 'String', 'includes'], 'no-string-prototype-matchall': ['builtins', 'String', 'matchAll'], 'no-string-prototype-normalize': ['builtins', 'String', 'normalize'], 'no-string-prototype-padstart-padend': ['builtins', 'String', 'padEnd'], 'no-string-prototype-repeat': ['builtins', 'String', 'repeat'], 'no-string-prototype-replaceall': ['builtins', 'String', 'replaceAll'], 'no-string-prototype-startswith': ['builtins', 'String', 'startsWith'], 'no-string-prototype-trim': ['builtins', 'String', 'trim'], 'no-string-prototype-trimstart-trimend': ['builtins', 'String', 'trimEnd'], 'no-string-raw': ['builtins', 'String', 'raw'], 'no-subclassing-builtins': ['classes', 'extends'], 'no-symbol': ['builtins', 'Symbol'], 'no-symbol-prototype-description': ['builtins', 'Symbol', 'description'], 'no-template-literals': ['grammar', 'template_literals'], 'no-trailing-commas': ['grammar', 'trailing_commas'], 'no-trailing-function-commas': ['grammar', 'trailing_commas', 'trailing_commas_in_functions'], 'no-typed-arrays': ['builtins', 'TypedArray'], 'no-unicode-codepoint-escapes': ['grammar', 'unicode_point_escapes'], 'no-weak-map': ['builtins', 'WeakMap'], 'no-weak-set': ['builtins', 'WeakSet'], 'no-weakrefs': ['builtins', 'WeakRef'], } module.exports = { verReg, blToMdn, mdnToBl, localRules }