diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 0000000..c9fe8ba
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,19 @@
+{
+ "env": {
+ "browser": true,
+ "node": true,
+ "es6": true
+ },
+ "rules": {
+ "quotes": [2, "single"],
+ "strict": [2, "never"],
+ "no-multi-spaces": false,
+ "no-alert": false,
+ "key-spacing": false,
+ "curly": false,
+ "no-octal-escape": false
+ },
+ "globals": {
+ "$": true
+ }
+}
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
index f4ed5b0..a5605b6 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -50,6 +50,10 @@ module.exports = function(grunt) {
watch: ['app/server']
}
}
+ },
+
+ eslint: {
+ src: ["app"]
}
});
@@ -58,6 +62,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
+ grunt.loadNpmTasks('grunt-contrib-eslint');
grunt.registerTask('build', ['browserify:pro', 'uglify']);
grunt.registerTask('debug', ['browserify:dev']);
diff --git a/app/client/app.js b/app/client/app.js
index bb90224..c1da718 100755
--- a/app/client/app.js
+++ b/app/client/app.js
@@ -1,3 +1,5 @@
+var angular = angular;
+
// initialize angular application
var app = angular.module('chat', []);
diff --git a/app/client/controllers/connectController.js b/app/client/controllers/connectController.js
index dd99e82..7e1e102 100644
--- a/app/client/controllers/connectController.js
+++ b/app/client/controllers/connectController.js
@@ -7,7 +7,7 @@ module.exports = function($scope, socket, servers) {
$scope.servers = servers.get();
$scope.select = function(id) {
- $scope.ip = servers.select(id).ip;
+ $scope.ip = servers.select(id).ip;
$scope.port = servers.select(id).port;
if ($scope.username.length > 0 && $scope.password.length > 0) {
@@ -27,8 +27,6 @@ module.exports = function($scope, socket, servers) {
password: $scope.password,
hostname: $scope.ip,
port: $scope.port || 25565
- }, function(response) {
-
});
} else {
diff --git a/app/client/controllers/playersController.js b/app/client/controllers/playersController.js
index cd8d291..509c0dc 100644
--- a/app/client/controllers/playersController.js
+++ b/app/client/controllers/playersController.js
@@ -36,4 +36,4 @@ module.exports = function($scope, socket) {
});
});
-};
\ No newline at end of file
+};
diff --git a/app/client/services/servers.js b/app/client/services/servers.js
index 82dc068..9f6286d 100644
--- a/app/client/services/servers.js
+++ b/app/client/services/servers.js
@@ -1,26 +1,16 @@
module.exports = function() {
// initialize servers store if doesn't exist
- localStorage.servers = localStorage.servers || "[]";
+ localStorage.servers = localStorage.servers || '[]';
- // function to save servers into localStorage
- function save() {
- localStorage.servers = JSON.stringify(servers);
- }
-
- // default servers
- var defaultServers = [
- {name: 'LattyCraft', ip: 'us.latty.info', port: 25565}
- ];
// load servers from localstorage
var servers = JSON.parse(localStorage.servers);
- // if no servers are saved, load the default ones
- if (!servers || servers.length === 0) {
- servers = defaultServers;
- save();
+ // function to save servers into localStorage
+ function save() {
+ localStorage.servers = JSON.stringify(servers);
}
@@ -41,4 +31,4 @@ module.exports = function() {
}
};
-};
\ No newline at end of file
+};
diff --git a/app/client/services/socket.js b/app/client/services/socket.js
index 8b2173e..f0e2d62 100644
--- a/app/client/services/socket.js
+++ b/app/client/services/socket.js
@@ -4,6 +4,8 @@
module.exports = function() {
+ var io = io;
+
var socket = io(window.location.host);
return socket;
diff --git a/app/client/services/sound.js b/app/client/services/sound.js
index fcf28c8..1c8f9ae 100644
--- a/app/client/services/sound.js
+++ b/app/client/services/sound.js
@@ -1,9 +1,10 @@
module.exports = function() {
- var connected = "connected";
- var error = "error";
+ var createjs = createjs;
- createjs.Sound.registerSound("/sounds/connected.mp3", connected);
+ var connected = 'connected';
+
+ createjs.Sound.registerSound('/sounds/connected.mp3', connected);
return {
connected: function() {
diff --git a/app/server/bot/events/message.js b/app/server/bot/events/message.js
index e906bf6..de97af6 100644
--- a/app/server/bot/events/message.js
+++ b/app/server/bot/events/message.js
@@ -41,7 +41,7 @@ module.exports = function(socket) {
// format the buffer with the correct coloring
buffer = buffer.replace(/§([0-9abcdef])([^§]*)/ig, function replace(regex, color, msg) {
- return ''+msg.replace(/ /g, ' ')+'';
+ return '' + msg.replace(/ /g, ' ') + '';
});
// send line back to the client
diff --git a/app/server/parsers/vanilla.js b/app/server/parsers/vanilla.js
index 86e3cdb..2701f6e 100644
--- a/app/server/parsers/vanilla.js
+++ b/app/server/parsers/vanilla.js
@@ -3,7 +3,7 @@ var parseExtra = require('../parsers/extra');
module.exports = function(jsonMsg) {
- var buffer = '';
+ var username, msg, sender, broadcast, connected, max, current, pages, player, victim, killer, achievement;
var color = stringToCode(jsonMsg.color);
switch (jsonMsg.translate) {
@@ -11,13 +11,13 @@ module.exports = function(jsonMsg) {
case 'chat.type.text':
username = jsonMsg.with[0].text;
msg = jsonMsg.with[1];
- return '§' + color + '<'+username+'> ' + msg;
+ return '§' + color + '<' + username + '> ' + msg;
case 'chat.type.announcement':
sender = jsonMsg.with[0];
broadcast = parseExtra(jsonMsg.with[1].extra);
- return '§' + color + '['+sender+'] ' + broadcast;
+ return '§' + color + '[' + sender + '] ' + broadcast;
case 'commands.generic.notFound':
@@ -27,13 +27,13 @@ module.exports = function(jsonMsg) {
case 'commands.players.list':
connected = jsonMsg.with[0];
max = jsonMsg.with[1];
- return '§' + color + 'There are '+connected+'/'+max+' players online:';
+ return '§' + color + 'There are ' + connected + '/' + max + ' players online:';
case 'commands.help.header':
current = jsonMsg.with[0];
pages = jsonMsg.with[1];
- return '§' + color + '--- Showing help page '+current+' of '+pages+' (/help ) ---';
+ return '§' + color + '--- Showing help page ' + current + ' of ' + pages + ' (/help ) ---';
case 'commands.generic.usage':
@@ -81,7 +81,7 @@ module.exports = function(jsonMsg) {
case 'chat.type.achievement':
player = jsonMsg.with[0].text;
achievement = jsonMsg.with[1].extra[0].translate;
- return '§' + color + player + ' has just earned the achievement ' + '§a['+parseAchievement(achievement)+']' ;
+ return '§' + color + player + ' has just earned the achievement ' + '§a[' + parseAchievement(achievement) + ']';
}
@@ -95,6 +95,8 @@ module.exports = function(jsonMsg) {
function parseAdmin(command) {
+ var player, gamemode;
+
switch (command.translate) {
case 'commands.downfall.success':
@@ -278,4 +280,4 @@ function parseCommandUsage(commandId) {
return commands[commandId] || 'Unknown command usage';
-}
\ No newline at end of file
+}
diff --git a/app/server/sockets/events/chat.js b/app/server/sockets/events/chat.js
index 97036a9..df69200 100644
--- a/app/server/sockets/events/chat.js
+++ b/app/server/sockets/events/chat.js
@@ -6,4 +6,4 @@ module.exports = function(socket) {
}
});
-};
\ No newline at end of file
+};
diff --git a/app/server/sockets/events/connection.js b/app/server/sockets/events/connection.js
index f64838f..cd03662 100644
--- a/app/server/sockets/events/connection.js
+++ b/app/server/sockets/events/connection.js
@@ -3,7 +3,7 @@ var events = require('../../bot');
module.exports = function(socket) {
- socket.on('server:connect', function(data, response) {
+ socket.on('server:connect', function(data) {
if (socket.mcbot) {
socket.emit('buffer:error', 'Pleae disconnect before connecting again');
diff --git a/app/server/sockets/events/disconnection.js b/app/server/sockets/events/disconnection.js
index 4f4cdc5..388f564 100644
--- a/app/server/sockets/events/disconnection.js
+++ b/app/server/sockets/events/disconnection.js
@@ -17,4 +17,4 @@ module.exports = function(socket) {
});
-};
\ No newline at end of file
+};
diff --git a/app/server/sockets/events/players.js b/app/server/sockets/events/players.js
index 2fb3385..19779d2 100644
--- a/app/server/sockets/events/players.js
+++ b/app/server/sockets/events/players.js
@@ -6,4 +6,4 @@ module.exports = function(socket) {
}
});
-};
\ No newline at end of file
+};
diff --git a/app/server/utils/escapeHtml.js b/app/server/utils/escapeHtml.js
index 482ddaa..2fe8b72 100644
--- a/app/server/utils/escapeHtml.js
+++ b/app/server/utils/escapeHtml.js
@@ -1,8 +1,8 @@
module.exports = function escapeHtml(unsafe) {
return unsafe
- .replace(/&/g, "&")
- .replace(//g, ">")
- .replace(/"/g, """)
- .replace(/'/g, "'");
+ .replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
};
diff --git a/app/server/utils/index.js b/app/server/utils/index.js
index 400d9c5..e77327a 100644
--- a/app/server/utils/index.js
+++ b/app/server/utils/index.js
@@ -1,2 +1,2 @@
exports.escapeHtml = require('./escapeHtml');
-exports.stringToCode = require('./stringToCode');
\ No newline at end of file
+exports.stringToCode = require('./stringToCode');
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 0000000..730393a
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,6 @@
+machine:
+ node:
+ version: 0.10.32
+dependencies:
+ pre:
+ - npm install grunt-cli -g
\ No newline at end of file
diff --git a/package.json b/package.json
index 098fab7..b54b304 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"express": "^4.12.3",
"grunt": "^0.4.5",
"grunt-browserify": "^3.7.0",
+ "grunt-contrib-eslint": "0.0.5",
"grunt-contrib-uglify": "^0.9.1",
"grunt-contrib-watch": "^0.6.1",
"grunt-nodemon": "^0.4.0",
@@ -18,7 +19,7 @@
},
"devDependencies": {},
"scripts": {
- "test": "echo \"Error: no test specified\" && exit 1",
+ "test": "grunt eslint",
"start": "node app/server"
},
"repository": {