Skip to content
Next Next commit
change to es6 syntax with airbnb aslant coding style
  • Loading branch information
shangyusu committed Jul 16, 2016
commit 150771a4c20f5612e4ae8f4f0c2f62dd8d8b2fa9
3 changes: 3 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "airbnb"
}
73 changes: 36 additions & 37 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,72 +1,71 @@
var express = require('express');
var app = express();
var fs = require('fs');
var open = require('open');
var options = {
'use strict';

const express = require('express');
const app = express();
const fs = require('fs');
const open = require('open');
const options = {
key: fs.readFileSync('./fake-keys/privatekey.pem'),
cert: fs.readFileSync('./fake-keys/certificate.pem')
cert: fs.readFileSync('./fake-keys/certificate.pem'),
};
var serverPort = (process.env.PORT || 4443);
var https = require('https');
var http = require('http');
var server;
const serverPort = (process.env.PORT || 4443);
const https = require('https');
const http = require('http');
let server;
if (process.env.LOCAL) {
server = https.createServer(options, app);
} else {
server = http.createServer(app);
}
var io = require('socket.io')(server);
const io = require('socket.io')(server);

var roomList = {};
const socketIdsInRoom = (name) => {
const socketIds = io.nsps['/'].adapter.rooms[name];
if (socketIds) {
const collection = [];
for (const key in socketIds) {
collection.push(key);
}
return collection;
}
return [];
};

app.get('/', function(req, res){
app.get('/', (req, res) => {
console.log('get /');
res.sendFile(__dirname + '/index.html');
res.sendFile(`${__dirname}/index.html`);
});
server.listen(serverPort, function(){

server.listen(serverPort, () => {
console.log('server up and running at %s port', serverPort);
if (process.env.LOCAL) {
open('https://localhost:' + serverPort)
open(`https://localhost: ${serverPort}`);
}
});

function socketIdsInRoom(name) {
var socketIds = io.nsps['/'].adapter.rooms[name];
if (socketIds) {
var collection = [];
for (var key in socketIds) {
collection.push(key);
}
return collection;
} else {
return [];
}
}

io.on('connection', function(socket){
io.on('connection', (socket) => {
console.log('connection');
socket.on('disconnect', function(){
socket.on('disconnect', () => {
console.log('disconnect');
if (socket.room) {
var room = socket.room;
const room = socket.room;
io.to(room).emit('leave', socket.id);
socket.leave(room);
}
});

socket.on('join', function(name, callback){
socket.on('join', (name, callback) => {
console.log('join', name);
var socketIds = socketIdsInRoom(name);
const socketIds = socketIdsInRoom(name);
callback(socketIds);
socket.join(name);
socket.room = name;
});


socket.on('exchange', function(data){
socket.on('exchange', (data) => {
console.log('exchange', data);
data.from = socket.id;
var to = io.sockets.connected[data.to];
const to = io.sockets.connected[data.to];
to.emit('exchange', data);
});
});
7 changes: 7 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,12 @@
"express": "^4.11.2",
"open": "0.0.5",
"socket.io": "1.3.4"
},
"devDependencies": {
"eslint": "^2.10.2",
"eslint-config-airbnb": "^9.0.1",
"eslint-plugin-import": "^1.10.2",
"eslint-plugin-jsx-a11y": "^1.5.5",
"eslint-plugin-react": "^5.2.2"
}
}
1 change: 1 addition & 0 deletions test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log(`${__dirname}/index.html`);