diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-22 15:22:42 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-22 15:22:42 -0500 |
commit | 897f2360be13db70ff2f533089ba8d38b0b744ed (patch) | |
tree | fdfdc9ed13fb38117e922d27c60616f159a2c63e | |
parent | f8f03f3af0ab031cc58bf5ad3f782c8d45137430 (diff) | |
parent | 6513a15b3b5fd8586226c8823e2680478b97e132 (diff) |
Merge pull request #363 from toasted-nutbread/eslint-stylistic-rules
Eslint stylistic rules
-rw-r--r-- | .eslintrc.json | 34 | ||||
-rw-r--r-- | ext/bg/js/backend.js | 51 | ||||
-rw-r--r-- | ext/bg/js/database.js | 4 | ||||
-rw-r--r-- | ext/bg/js/japanese.js | 12 | ||||
-rw-r--r-- | ext/bg/js/json-schema.js | 2 | ||||
-rw-r--r-- | ext/bg/js/page-exit-prevention.js | 74 | ||||
-rw-r--r-- | ext/bg/js/search-query-parser.js | 2 | ||||
-rw-r--r-- | ext/bg/js/search.js | 4 | ||||
-rw-r--r-- | ext/bg/js/settings/backup.js | 1 | ||||
-rw-r--r-- | ext/bg/js/settings/dictionaries.js | 2 | ||||
-rw-r--r-- | ext/bg/js/settings/popup-preview-frame.js | 4 | ||||
-rw-r--r-- | ext/bg/js/util.js | 2 | ||||
-rw-r--r-- | ext/fg/js/document.js | 3 | ||||
-rw-r--r-- | ext/mixed/js/audio.js | 2 | ||||
-rw-r--r-- | ext/mixed/js/core.js | 6 | ||||
-rw-r--r-- | ext/mixed/js/text-scanner.js | 22 | ||||
-rw-r--r-- | test/test-database.js | 10 | ||||
-rw-r--r-- | test/test-schema.js | 8 |
18 files changed, 141 insertions, 102 deletions
diff --git a/.eslintrc.json b/.eslintrc.json index 9b0754fc..fcc6995b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -21,11 +21,16 @@ "curly": ["error", "all"], "dot-notation": "error", "eqeqeq": "error", + "func-names": ["error", "always"], "no-case-declarations": "error", "no-const-assign": "error", "no-constant-condition": "off", "no-global-assign": "error", + "no-param-reassign": "off", + "no-prototype-builtins": "error", + "no-shadow": ["error", {"builtinGlobals": false}], "no-undef": "error", + "no-unneeded-ternary": "error", "no-unused-vars": ["error", {"vars": "local", "args": "after-used", "argsIgnorePattern": "^_", "caughtErrors": "none"}], "no-unused-expressions": "error", "no-var": "error", @@ -34,6 +39,35 @@ "quotes": ["error", "single", "avoid-escape"], "require-atomic-updates": "off", "semi": "error", + + // Whitespace rules + "brace-style": ["error", "1tbs", {"allowSingleLine": true}], + "indent": ["error", 4, {"SwitchCase": 1, "MemberExpression": 1, "flatTernaryExpressions": true, "ignoredNodes": ["ConditionalExpression"]}], + "object-curly-newline": "error", + "padded-blocks": ["error", "never"], + + "array-bracket-spacing": ["error", "never"], + "arrow-spacing": ["error", {"before": true, "after": true}], + "block-spacing": ["error", "always"], + "comma-spacing": ["error", { "before": false, "after": true }], + "computed-property-spacing": ["error", "never"], + "func-call-spacing": ["error", "never"], + "generator-star-spacing": ["error", "before"], + "key-spacing": ["error", {"beforeColon": false, "afterColon": true, "mode": "strict"}], + "keyword-spacing": ["error", {"before": true, "after": true}], + "no-trailing-spaces": "error", + "no-whitespace-before-property": "error", + "object-curly-spacing": ["error", "never"], + "rest-spread-spacing": ["error", "never"], + "semi-spacing": ["error", {"before": false, "after": true}], + "space-in-parens": ["error", "never"], + "space-unary-ops": "error", + "spaced-comment": ["error", "always", {"markers": ["global"]}], + "switch-colon-spacing": ["error", {"after": true, "before": false}], + "template-curly-spacing": ["error", "never"], + "template-tag-spacing": ["error", "never"], + + // Extensions "no-unsanitized/method": "error", "no-unsanitized/property": "error" }, diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index 16dffc85..2691b7d9 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -274,18 +274,18 @@ class Backend { const node = nodes.pop(); for (const key of Object.keys(node.obj)) { const path = node.path.concat(key); - const obj = node.obj[key]; - if (obj !== null && typeof obj === 'object') { - nodes.unshift({obj, path}); + const obj2 = node.obj[key]; + if (obj2 !== null && typeof obj2 === 'object') { + nodes.unshift({obj: obj2, path}); } else { - valuePaths.push([obj, path]); + valuePaths.push([obj2, path]); } } } return valuePaths; } - function modifyOption(path, value, options) { + function modifyOption(path, value) { let pivot = options; for (const key of path.slice(0, -1)) { if (!hasOwn(pivot, key)) { @@ -298,7 +298,7 @@ class Backend { } for (const [value, path] of getValuePaths(changedOptions)) { - modifyOption(path, value, options); + modifyOption(path, value); } await this._onApiOptionsSave({source}); @@ -340,9 +340,9 @@ class Backend { dictTermsSort(definitions); const {expression, reading} = definitions[0]; const source = text.substring(0, sourceLength); - for (const {text, furigana} of jpDistributeFuriganaInflected(expression, reading, source)) { - const reading = jpConvertReading(text, furigana, options.parsing.readingMode); - term.push({text, reading}); + for (const {text: text2, furigana} of jpDistributeFuriganaInflected(expression, reading, source)) { + const reading2 = jpConvertReading(text2, furigana, options.parsing.readingMode); + term.push({text: text2, reading: reading2}); } text = text.substring(source.length); } else { @@ -365,17 +365,17 @@ class Backend { for (const {expression, reading, source} of parsedLine) { const term = []; if (expression !== null && reading !== null) { - for (const {text, furigana} of jpDistributeFuriganaInflected( + for (const {text: text2, furigana} of jpDistributeFuriganaInflected( expression, jpKatakanaToHiragana(reading), source )) { - const reading = jpConvertReading(text, furigana, options.parsing.readingMode); - term.push({text, reading}); + const reading2 = jpConvertReading(text2, furigana, options.parsing.readingMode); + term.push({text: text2, reading: reading2}); } } else { - const reading = jpConvertReading(source, null, options.parsing.readingMode); - term.push({text: source, reading}); + const reading2 = jpConvertReading(source, null, options.parsing.readingMode); + term.push({text: source, reading: reading2}); } result.push(term); } @@ -801,8 +801,11 @@ class Backend { await new Promise((resolve, reject) => { chrome.tabs.update(tab.id, {active: true}, () => { const e = chrome.runtime.lastError; - if (e) { reject(e); } - else { resolve(); } + if (e) { + reject(e); + } else { + resolve(); + } }); }); @@ -813,18 +816,24 @@ class Backend { try { const tabWindow = await new Promise((resolve, reject) => { - chrome.windows.get(tab.windowId, {}, (tabWindow) => { + chrome.windows.get(tab.windowId, {}, (value) => { const e = chrome.runtime.lastError; - if (e) { reject(e); } - else { resolve(tabWindow); } + if (e) { + reject(e); + } else { + resolve(value); + } }); }); if (!tabWindow.focused) { await new Promise((resolve, reject) => { chrome.windows.update(tab.windowId, {focused: true}, () => { const e = chrome.runtime.lastError; - if (e) { reject(e); } - else { resolve(); } + if (e) { + reject(e); + } else { + resolve(); + } }); }); } diff --git a/ext/bg/js/database.js b/ext/bg/js/database.js index 1f6810cf..558f3ceb 100644 --- a/ext/bg/js/database.js +++ b/ext/bg/js/database.js @@ -809,9 +809,9 @@ class Database { for (const objectStoreName of objectStoreNames) { const {primaryKey, indices} = stores[objectStoreName]; - const objectStoreNames = transaction.objectStoreNames || db.objectStoreNames; + const objectStoreNames2 = transaction.objectStoreNames || db.objectStoreNames; const objectStore = ( - Database._listContains(objectStoreNames, objectStoreName) ? + Database._listContains(objectStoreNames2, objectStoreName) ? transaction.objectStore(objectStoreName) : db.createObjectStore(objectStoreName, primaryKey) ); diff --git a/ext/bg/js/japanese.js b/ext/bg/js/japanese.js index e8a6fa08..abb32da4 100644 --- a/ext/bg/js/japanese.js +++ b/ext/bg/js/japanese.js @@ -224,15 +224,15 @@ function jpDistributeFurigana(expression, reading) { } let isAmbiguous = false; - const segmentize = (reading, groups) => { + const segmentize = (reading2, groups) => { if (groups.length === 0 || isAmbiguous) { return []; } const group = groups[0]; if (group.mode === 'kana') { - if (jpKatakanaToHiragana(reading).startsWith(jpKatakanaToHiragana(group.text))) { - const readingLeft = reading.substring(group.text.length); + if (jpKatakanaToHiragana(reading2).startsWith(jpKatakanaToHiragana(group.text))) { + const readingLeft = reading2.substring(group.text.length); const segs = segmentize(readingLeft, groups.splice(1)); if (segs) { return [{text: group.text}].concat(segs); @@ -240,9 +240,9 @@ function jpDistributeFurigana(expression, reading) { } } else { let foundSegments = null; - for (let i = reading.length; i >= group.text.length; --i) { - const readingUsed = reading.substring(0, i); - const readingLeft = reading.substring(i); + for (let i = reading2.length; i >= group.text.length; --i) { + const readingUsed = reading2.substring(0, i); + const readingLeft = reading2.substring(i); const segs = segmentize(readingLeft, groups.slice(1)); if (segs) { if (foundSegments !== null) { diff --git a/ext/bg/js/json-schema.js b/ext/bg/js/json-schema.js index 3cf24c35..58f804fd 100644 --- a/ext/bg/js/json-schema.js +++ b/ext/bg/js/json-schema.js @@ -401,7 +401,7 @@ class JsonSchemaProxyHandler { info.valuePush(i, propertyValue); JsonSchemaProxyHandler.validate(propertyValue, propertySchema, info); info.valuePop(); - for (let i = 0; i < schemaPath.length; ++i) { info.schemaPop(); } + for (let j = 0, jj = schemaPath.length; j < jj; ++j) { info.schemaPop(); } } } diff --git a/ext/bg/js/page-exit-prevention.js b/ext/bg/js/page-exit-prevention.js index 3a320db3..be06c495 100644 --- a/ext/bg/js/page-exit-prevention.js +++ b/ext/bg/js/page-exit-prevention.js @@ -18,43 +18,43 @@ class PageExitPrevention { - constructor() { - } - - start() { - PageExitPrevention._addInstance(this); - } - - end() { - PageExitPrevention._removeInstance(this); - } - - static _addInstance(instance) { - const size = PageExitPrevention._instances.size; - PageExitPrevention._instances.set(instance, true); - if (size === 0) { - window.addEventListener('beforeunload', PageExitPrevention._onBeforeUnload); - } - } - - static _removeInstance(instance) { - if ( - PageExitPrevention._instances.delete(instance) && - PageExitPrevention._instances.size === 0 - ) { - window.removeEventListener('beforeunload', PageExitPrevention._onBeforeUnload); - } - } - - static _onBeforeUnload(e) { - if (PageExitPrevention._instances.size === 0) { - return; - } - - e.preventDefault(); - e.returnValue = ''; - return ''; - } + constructor() { + } + + start() { + PageExitPrevention._addInstance(this); + } + + end() { + PageExitPrevention._removeInstance(this); + } + + static _addInstance(instance) { + const size = PageExitPrevention._instances.size; + PageExitPrevention._instances.set(instance, true); + if (size === 0) { + window.addEventListener('beforeunload', PageExitPrevention._onBeforeUnload); + } + } + + static _removeInstance(instance) { + if ( + PageExitPrevention._instances.delete(instance) && + PageExitPrevention._instances.size === 0 + ) { + window.removeEventListener('beforeunload', PageExitPrevention._onBeforeUnload); + } + } + + static _onBeforeUnload(e) { + if (PageExitPrevention._instances.size === 0) { + return; + } + + e.preventDefault(); + e.returnValue = ''; + return ''; + } } PageExitPrevention._instances = new Map(); diff --git a/ext/bg/js/search-query-parser.js b/ext/bg/js/search-query-parser.js index 3d38e6e8..8c434990 100644 --- a/ext/bg/js/search-query-parser.js +++ b/ext/bg/js/search-query-parser.js @@ -59,7 +59,7 @@ class QueryParser extends TextScanner { this.search.setContent('terms', {definitions, context: { focus: false, - disableHistory: cause === 'mouse' ? true : false, + disableHistory: cause === 'mouse', sentence: {text: searchText, offset: 0}, url: window.location.href }}); diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 76a62b97..98e167ad 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -70,7 +70,7 @@ class DisplaySearch extends Display { this.wanakanaEnable.checked = false; } this.wanakanaEnable.addEventListener('change', (e) => { - const {queryParams: {query=''}} = parseUrl(window.location.href); + const {queryParams: {query: query2=''}} = parseUrl(window.location.href); if (e.target.checked) { window.wanakana.bind(this.query); apiOptionsSet({general: {enableWanakana: true}}, this.getOptionsContext()); @@ -78,7 +78,7 @@ class DisplaySearch extends Display { window.wanakana.unbind(this.query); apiOptionsSet({general: {enableWanakana: false}}, this.getOptionsContext()); } - this.setQuery(query); + this.setQuery(query2); this.onSearchQueryUpdated(this.query.value, false); }); } diff --git a/ext/bg/js/settings/backup.js b/ext/bg/js/settings/backup.js index 6d1f28e9..f4d622a4 100644 --- a/ext/bg/js/settings/backup.js +++ b/ext/bg/js/settings/backup.js @@ -163,7 +163,6 @@ async function _showSettingsImportWarnings(warnings) { sanitize: e.currentTarget.dataset.importSanitize === 'true' }); modalNode.modal('hide'); - }; const onModalHide = () => { complete({result: false}); diff --git a/ext/bg/js/settings/dictionaries.js b/ext/bg/js/settings/dictionaries.js index 427f47f0..70a22a16 100644 --- a/ext/bg/js/settings/dictionaries.js +++ b/ext/bg/js/settings/dictionaries.js @@ -166,7 +166,7 @@ class SettingsDictionaryListUI { delete n.dataset.dict; $(n).modal('hide'); - const index = this.dictionaryEntries.findIndex((e) => e.dictionaryInfo.title === title); + const index = this.dictionaryEntries.findIndex((entry) => entry.dictionaryInfo.title === title); if (index >= 0) { this.dictionaryEntries[index].deleteDictionary(); } diff --git a/ext/bg/js/settings/popup-preview-frame.js b/ext/bg/js/settings/popup-preview-frame.js index 890b8c96..aa2b6100 100644 --- a/ext/bg/js/settings/popup-preview-frame.js +++ b/ext/bg/js/settings/popup-preview-frame.js @@ -60,8 +60,8 @@ class SettingsPopupPreview { this.frontend = new Frontend(this.popup); - this.frontend.setEnabled = function () {}; - this.frontend.searchClear = function () {}; + this.frontend.setEnabled = () => {}; + this.frontend.searchClear = () => {}; await this.frontend.prepare(); diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js index 9ebd2ac4..5ce4b08c 100644 --- a/ext/bg/js/util.js +++ b/ext/bg/js/util.js @@ -33,7 +33,7 @@ function utilIsolate(value) { } function utilFunctionIsolate(func) { - return function (...args) { + return function isolatedFunction(...args) { try { args = args.map((v) => utilIsolate(v)); return func.call(this, ...args); diff --git a/ext/fg/js/document.js b/ext/fg/js/document.js index 7284cdd1..ea9ac965 100644 --- a/ext/fg/js/document.js +++ b/ext/fg/js/document.js @@ -192,8 +192,7 @@ function docSentenceExtract(source, extent) { if (terminators.includes(c)) { endPos = i + 1; break; - } - else if (c in quotesBwd) { + } else if (c in quotesBwd) { endPos = i; break; } diff --git a/ext/mixed/js/audio.js b/ext/mixed/js/audio.js index fe5982dd..b5a025be 100644 --- a/ext/mixed/js/audio.js +++ b/ext/mixed/js/audio.js @@ -54,7 +54,6 @@ class TextToSpeechAudio { speechSynthesis.cancel(); speechSynthesis.speak(this._utterance); - } catch (e) { // NOP } @@ -82,7 +81,6 @@ class TextToSpeechAudio { return new TextToSpeechAudio(text, voice); } - } function audioGetFromUrl(url, willDownload) { diff --git a/ext/mixed/js/core.js b/ext/mixed/js/core.js index 330a30fb..83813796 100644 --- a/ext/mixed/js/core.js +++ b/ext/mixed/js/core.js @@ -160,9 +160,9 @@ function promiseTimeout(delay, resolveValue) { const resolve = (value) => complete(promiseResolve, value); const reject = (value) => complete(promiseReject, value); - const promise = new Promise((resolve, reject) => { - promiseResolve = resolve; - promiseReject = reject; + const promise = new Promise((resolve2, reject2) => { + promiseResolve = resolve2; + promiseReject = reject2; }); timer = window.setTimeout(() => { timer = null; diff --git a/ext/mixed/js/text-scanner.js b/ext/mixed/js/text-scanner.js index db3835cf..ff0eac8b 100644 --- a/ext/mixed/js/text-scanner.js +++ b/ext/mixed/js/text-scanner.js @@ -141,18 +141,18 @@ class TextScanner { const textSourceCurrentPrevious = this.textSourceCurrent !== null ? this.textSourceCurrent.clone() : null; this.searchAt(primaryTouch.clientX, primaryTouch.clientY, 'touchStart') - .then(() => { - if ( - this.textSourceCurrent === null || - this.textSourceCurrent.equals(textSourceCurrentPrevious) - ) { - return; - } + .then(() => { + if ( + this.textSourceCurrent === null || + this.textSourceCurrent.equals(textSourceCurrentPrevious) + ) { + return; + } - this.preventScroll = true; - this.preventNextContextMenu = true; - this.preventNextMouseDown = true; - }); + this.preventScroll = true; + this.preventNextContextMenu = true; + this.preventNextMouseDown = true; + }); } onTouchEnd(e) { diff --git a/test/test-database.js b/test/test-database.js index 04ed8100..44f409dd 100644 --- a/test/test-database.js +++ b/test/test-database.js @@ -36,8 +36,8 @@ class XMLHttpRequest { callbacks.push(callback); } - open(action, url) { - this._url = url; + open(action, url2) { + this._url = url2; } send() { @@ -116,10 +116,10 @@ function clearDatabase(timeout) { (async () => { const indexedDB = global.indexedDB; for (const {name} of await indexedDB.databases()) { - await new Promise((resolve, reject) => { + await new Promise((resolve2, reject2) => { const request = indexedDB.deleteDatabase(name); - request.onerror = (e) => reject(e); - request.onsuccess = () => resolve(); + request.onerror = (e) => reject2(e); + request.onsuccess = () => resolve2(); }); } clearTimeout(timer); diff --git a/test/test-schema.js b/test/test-schema.js index ca4f56dd..8ca63167 100644 --- a/test/test-schema.js +++ b/test/test-schema.js @@ -30,7 +30,7 @@ function testValidate1() { ] }; - const schemaValidate = (value, schema) => { + const schemaValidate = (value) => { try { JsonSchema.validate(value, schema); return true; @@ -48,7 +48,7 @@ function testValidate1() { ) && ( ( - (value % 3 )=== 0 || + (value % 3) === 0 || (value % 5) === 0 ) && (value % 15) !== 0 @@ -81,7 +81,7 @@ function testGetValidValueOrDefault1() { const testData = [ [ - void(0), + void 0, {test: 'default'} ], [ @@ -210,7 +210,7 @@ function testGetValidValueOrDefault3() { {test: 'value', test2: 2, test3: 10} ], [ - {test: 'value', test2: 2, test3: void(0)}, + {test: 'value', test2: 2, test3: void 0}, {test: 'value', test2: 2, test3: 10} ] ]; |