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;',