add eslint
fix npm audit
This commit is contained in:
parent
5fa4c2df5f
commit
252b65cc07
19
.eslintrc.json
Normal file
19
.eslintrc.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"extends": [
|
||||||
|
"eslint:recommended"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"node": true,
|
||||||
|
"es6": true,
|
||||||
|
"mocha": true
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 2018,
|
||||||
|
"sourceType": "module",
|
||||||
|
"allowImportExportEverywhere": true
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"no-var": "error",
|
||||||
|
"no-console": "off"
|
||||||
|
}
|
||||||
|
}
|
3346
package-lock.json
generated
Normal file
3346
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@
|
|||||||
"author": "Michelle Bu, Eric Zhang",
|
"author": "Michelle Bu, Eric Zhang",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "mocha test/**/*.js",
|
"test": "eslint . && mocha test/**/*.js",
|
||||||
"start": "bin/peerjs --port ${PORT:=9000}"
|
"start": "bin/peerjs --port ${PORT:=9000}"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -25,7 +25,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"chai": "^4.2.0",
|
"chai": "^4.2.0",
|
||||||
"mocha": "^6.1.2",
|
"eslint": "^6.2.1",
|
||||||
|
"mocha": "^6.2.0",
|
||||||
"semistandard": "^13.0.1",
|
"semistandard": "^13.0.1",
|
||||||
"sinon": "^7.3.1"
|
"sinon": "^7.3.1"
|
||||||
},
|
},
|
||||||
|
@ -12,7 +12,7 @@ module.exports = ({ config, realm, messageHandler }) => {
|
|||||||
|
|
||||||
app.use(cors());
|
app.use(cors());
|
||||||
|
|
||||||
app.get('/', (req, res, next) => {
|
app.get('/', (req, res) => {
|
||||||
res.send(publicContent);
|
res.send(publicContent);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@ module.exports = ({ config, realm }) => {
|
|||||||
const app = express.Router();
|
const app = express.Router();
|
||||||
|
|
||||||
// Retrieve guaranteed random ID.
|
// Retrieve guaranteed random ID.
|
||||||
app.get('/id', (req, res, next) => {
|
app.get('/id', (req, res) => {
|
||||||
res.contentType = 'text/html';
|
res.contentType = 'text/html';
|
||||||
res.send(realm.generateClientId());
|
res.send(realm.generateClientId());
|
||||||
});
|
});
|
||||||
|
|
||||||
// Get a list of all peers for a key, enabled by the `allowDiscovery` flag.
|
// Get a list of all peers for a key, enabled by the `allowDiscovery` flag.
|
||||||
app.get('/peers', (req, res, next) => {
|
app.get('/peers', (req, res) => {
|
||||||
if (config.allow_discovery) {
|
if (config.allow_discovery) {
|
||||||
const clientsIds = realm.getClientsIds();
|
const clientsIds = realm.getClientsIds();
|
||||||
|
|
||||||
|
11
src/index.js
11
src/index.js
@ -2,7 +2,7 @@ const express = require('express');
|
|||||||
const http = require('http');
|
const http = require('http');
|
||||||
const https = require('https');
|
const https = require('https');
|
||||||
|
|
||||||
const config = require('../config');
|
const defaultConfig = require('../config');
|
||||||
const WebSocketServer = require('./services/webSocketServer');
|
const WebSocketServer = require('./services/webSocketServer');
|
||||||
const Realm = require('./models/realm');
|
const Realm = require('./models/realm');
|
||||||
|
|
||||||
@ -28,6 +28,7 @@ const init = ({ app, server, options }) => {
|
|||||||
|
|
||||||
if (messageQueue) {
|
if (messageQueue) {
|
||||||
let message;
|
let message;
|
||||||
|
// eslint-disable-next-line no-cond-assign
|
||||||
while (message = messageQueue.readMessage()) {
|
while (message = messageQueue.readMessage()) {
|
||||||
messageHandler(client, message);
|
messageHandler(client, message);
|
||||||
}
|
}
|
||||||
@ -53,11 +54,11 @@ const init = ({ app, server, options }) => {
|
|||||||
startMessagesExpiration();
|
startMessagesExpiration();
|
||||||
};
|
};
|
||||||
|
|
||||||
function ExpressPeerServer (server, options) {
|
function ExpressPeerServer(server, options) {
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
...config,
|
...defaultConfig,
|
||||||
...options
|
...options
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -77,11 +78,11 @@ function ExpressPeerServer (server, options) {
|
|||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
function PeerServer (options = {}, callback) {
|
function PeerServer(options = {}, callback) {
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
...config,
|
...defaultConfig,
|
||||||
...options
|
...options
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const { MessageType } = require('../enums');
|
const { MessageType } = require('../enums');
|
||||||
|
|
||||||
class MessageHandlers {
|
class MessageHandlers {
|
||||||
constructor ({ realm }) {
|
constructor () {
|
||||||
this.handlers = {};
|
this.handlers = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ class MessageHandlers {
|
|||||||
module.exports = ({ realm }) => {
|
module.exports = ({ realm }) => {
|
||||||
const transmissionHandler = require('./handlers/transmission')({ realm });
|
const transmissionHandler = require('./handlers/transmission')({ realm });
|
||||||
|
|
||||||
const messageHandlers = new MessageHandlers({ realm });
|
const messageHandlers = new MessageHandlers();
|
||||||
|
|
||||||
const handleTransmission = (client, message) => {
|
const handleTransmission = (client, message) => {
|
||||||
transmissionHandler(client, {
|
transmissionHandler(client, {
|
||||||
@ -35,7 +35,7 @@ module.exports = ({ realm }) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleHeartbeat = (client, message) => {
|
const handleHeartbeat = () => {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ const { MessageType, Errors } = require('../../enums');
|
|||||||
const Client = require('../../models/client');
|
const Client = require('../../models/client');
|
||||||
|
|
||||||
class WebSocketServer extends EventEmitter {
|
class WebSocketServer extends EventEmitter {
|
||||||
constructor ({ server, realm, config }) {
|
constructor({ server, realm, config }) {
|
||||||
super();
|
super();
|
||||||
this.setMaxListeners(0);
|
this.setMaxListeners(0);
|
||||||
this.realm = realm;
|
this.realm = realm;
|
||||||
@ -20,7 +20,7 @@ class WebSocketServer extends EventEmitter {
|
|||||||
this._wss.on('error', (error) => this._onSocketError(error));
|
this._wss.on('error', (error) => this._onSocketError(error));
|
||||||
}
|
}
|
||||||
|
|
||||||
_onSocketConnection (socket, req) {
|
_onSocketConnection(socket, req) {
|
||||||
const { query = {} } = url.parse(req.url, true);
|
const { query = {} } = url.parse(req.url, true);
|
||||||
|
|
||||||
const { id, token, key } = query;
|
const { id, token, key } = query;
|
||||||
@ -52,12 +52,12 @@ class WebSocketServer extends EventEmitter {
|
|||||||
this._registerClient({ socket, id, token });
|
this._registerClient({ socket, id, token });
|
||||||
}
|
}
|
||||||
|
|
||||||
_onSocketError (error) {
|
_onSocketError(error) {
|
||||||
// handle error
|
// handle error
|
||||||
this.emit('error', error);
|
this.emit('error', error);
|
||||||
}
|
}
|
||||||
|
|
||||||
_registerClient ({ socket, id, token }) {
|
_registerClient({ socket, id, token }) {
|
||||||
// Check concurrent limit
|
// Check concurrent limit
|
||||||
const clientsCount = this.realm.getClientsIds().length;
|
const clientsCount = this.realm.getClientsIds().length;
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ class WebSocketServer extends EventEmitter {
|
|||||||
this._configureWS(socket, newClient);
|
this._configureWS(socket, newClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
_configureWS (socket, client) {
|
_configureWS(socket, client) {
|
||||||
client.setSocket(socket);
|
client.setSocket(socket);
|
||||||
|
|
||||||
// Cleanup after a socket closes.
|
// Cleanup after a socket closes.
|
||||||
@ -92,14 +92,14 @@ class WebSocketServer extends EventEmitter {
|
|||||||
|
|
||||||
this.emit('message', client, message);
|
this.emit('message', client, message);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw e;
|
this.emit('error', e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.emit('connection', client);
|
this.emit('connection', client);
|
||||||
}
|
}
|
||||||
|
|
||||||
_sendErrorAndClose (socket, msg) {
|
_sendErrorAndClose(socket, msg) {
|
||||||
socket.send(
|
socket.send(
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
type: MessageType.ERROR,
|
type: MessageType.ERROR,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user