diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3e10c03 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..70d9326 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,17 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es6": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "quotes": [ + "error", + "single" + ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index 4b04c99..17115be 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,10 @@ "description": "Console for Mobile Browsers", "main": "eruda.js", "scripts": { - "release": "webpack --config script/webpack.dev.js && webpack -p --config script/webpack.release.js", + "build": "webpack --config script/webpack.dev.js && webpack -p --config script/webpack.release.js", "dev": "webpack-dev-server --config script/webpack.dev.js", "cpTestLib": "script/cpTestLib.sh", + "lint": "eslint --ext .es6 src", "utilDoc": "eustia doc src/lib/util.js -f md -o doc/Util_Api.md -t \"Eruda Util Documentation\"" }, "repository": { @@ -23,7 +24,7 @@ "bugs": { "url": "https://github.com/liriliri/eruda/issues" }, - "homepage": "https://github.com/liriliri/eruda#readme", + "homepage": "https://liriliri.github.io/eruda", "devDependencies": { "autoprefixer": "^6.3.3", "babel-core": "^6.6.5", diff --git a/src/Console/Log.es6 b/src/Console/Log.es6 index 3688c41..b5abf84 100644 --- a/src/Console/Log.es6 +++ b/src/Console/Log.es6 @@ -82,7 +82,7 @@ export default class Log } } - let msg = '', icon; + let msg = '', icon, err; switch (type) { @@ -105,7 +105,7 @@ export default class Log break; case 'error': args = substituteStr(args); - let err = args[0]; + err = args[0]; icon = 'times-circle'; err = util.isErr(err) ? err : new Error(formatMsg(args)); this.src = err; diff --git a/src/Elements/CssStore.es6 b/src/Elements/CssStore.es6 index 71b9be4..57ef45b 100644 --- a/src/Elements/CssStore.es6 +++ b/src/Elements/CssStore.es6 @@ -18,7 +18,7 @@ function formatStyle(style) var elProto = Element.prototype; -var matchesSel = function (el, selText) { return false }; +var matchesSel = function () { return false }; if (elProto.webkitMatchesSelector) { @@ -55,6 +55,7 @@ export default class CssStore // Mobile safari will throw DOM Exception 12 error, need to try catch it. try { matchesEl = this._elMatchesSel(cssRule.selectorText); + /* eslint-disable no-empty */ } catch (e) {} if (!matchesEl) return; @@ -72,4 +73,4 @@ export default class CssStore { return matchesSel(this._el, selText); } -}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/EntryBtn/EntryBtn.es6 b/src/EntryBtn/EntryBtn.es6 index d642120..e0d37d4 100644 --- a/src/EntryBtn/EntryBtn.es6 +++ b/src/EntryBtn/EntryBtn.es6 @@ -84,7 +84,7 @@ export default class EntryBtn extends util.Emitter pos: getDefPos() })); } -}; +} var getDefPos = () => { diff --git a/src/Network/Network.es6 b/src/Network/Network.es6 index 8f4fb6c..f2647b0 100644 --- a/src/Network/Network.es6 +++ b/src/Network/Network.es6 @@ -178,6 +178,7 @@ export default class Network extends Tool var data = []; + /* eslint-disable no-unused-vars */ var { navigationStart, unloadEventStart, diff --git a/src/Network/Request.es6 b/src/Network/Request.es6 index 5e534f1..94f5419 100644 --- a/src/Network/Request.es6 +++ b/src/Network/Request.es6 @@ -52,7 +52,7 @@ export default class Request extends util.Emitter resTxt: resTxt }); } -}; +} function getHeaders(xhr) { diff --git a/src/Settings/Settings.es6 b/src/Settings/Settings.es6 index de46d7d..e3dcd4a 100644 --- a/src/Settings/Settings.es6 +++ b/src/Settings/Settings.es6 @@ -85,4 +85,4 @@ export default class Settings extends Tool setting.config.set(setting.key, val); }); } -}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/Snippets/defSnippets.es6 b/src/Snippets/defSnippets.es6 index c19fbf2..952bf2b 100644 --- a/src/Snippets/defSnippets.es6 +++ b/src/Snippets/defSnippets.es6 @@ -34,10 +34,10 @@ export default [ function query(uri, key, val) { - var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"), - separator = uri.indexOf('?') !== -1 ? "&" : "?"; + var re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i'), + separator = uri.indexOf('?') !== -1 ? '&' : '?'; - if (uri.match(re)) return uri.replace(re, '$1' + key + "=" + val + '$2'); + if (uri.match(re)) return uri.replace(re, '$1' + key + '=' + val + '$2'); - return uri + separator + key + "=" + val; + return uri + separator + key + '=' + val; } \ No newline at end of file diff --git a/src/Sources/Sources.es6 b/src/Sources/Sources.es6 index 0556fc4..89f00b0 100644 --- a/src/Sources/Sources.es6 +++ b/src/Sources/Sources.es6 @@ -211,8 +211,10 @@ export default class Sources extends Tool try { if (util.isStr(val)) val = JSON.parse(val); - new JsonViewer(val, this._$el.find('.eruda-json')); + /* eslint-disable no-empty */ } catch (e) {} + + new JsonViewer(val, this._$el.find('.eruda-json')); } _renderRaw() { diff --git a/src/lib/JsonViewer.es6 b/src/lib/JsonViewer.es6 index 4111417..22a291d 100644 --- a/src/lib/JsonViewer.es6 +++ b/src/lib/JsonViewer.es6 @@ -126,7 +126,7 @@ function createEl(key, val, map, firstLevel = false) let jsonHtml = jsonToHtml(val, map); if (firstLevel) obj += jsonHtml; - return obj + ``; + return obj + ''; } if (util.isNum(val) || util.isBool(val)) { diff --git a/src/lib/Storage.es6 b/src/lib/Storage.es6 index 0273d80..da5a16d 100644 --- a/src/lib/Storage.es6 +++ b/src/lib/Storage.es6 @@ -8,6 +8,7 @@ var localStore = { try { val = JSON.parse(val); + /* eslint-disable no-empty */ } catch (e) {} return val; @@ -71,4 +72,4 @@ export default class Storage extends util.Emitter return this.save(); } -}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/lib/highlight.es6 b/src/lib/highlight.es6 index bfac6cd..d9d6257 100644 --- a/src/lib/highlight.es6 +++ b/src/lib/highlight.es6 @@ -15,10 +15,10 @@ export default function highlight(str, lang) { if (!val.language) return; - str = str.replace(val.re, function($1, $2, $3) + str = str.replace(val.re, function($1, $2) { subLangs[subLangSi++] = highlight($2, val.language); - return $1.replace($2, '___subtmpl'+ (subLangSi - 1) +'___'); + return $1.replace($2, '___subtmpl' + (subLangSi - 1) + '___'); }); }); @@ -26,7 +26,7 @@ export default function highlight(str, lang) { if (language[val.language]) return; - str = str.replace(val.re, "___"+ key +"___$1___end"+ key +"___"); + str = str.replace(val.re, '___' + key + '___$1___end' + key + '___'); }); var lvls = []; @@ -49,13 +49,13 @@ export default function highlight(str, lang) return $0; } - return ""; + return ''; }); util.each(lang, (val, key) => { - str = str.replace(new RegExp("___end"+ key +"___","g"), "") - .replace(new RegExp("___"+ key +"___","g"), ""); + str = str.replace(new RegExp('___end' + key + '___', 'g'), '') + .replace(new RegExp('___' + key + '___', 'g'), ''); }); util.each(lang, (val) => @@ -64,14 +64,14 @@ export default function highlight(str, lang) str = str.replace(/___subtmpl\d+___/g, function($tmpl) { - var i = parseInt($tmpl.replace(/___subtmpl(\d+)___/, "$1"), 10); + var i = parseInt($tmpl.replace(/___subtmpl(\d+)___/, '$1'), 10); return subLangs[i]; }); }); return str; -}; +} var style = { comment: 'color:#63a35c;',