add eslint

fix npm audit
This commit is contained in:
afrokick 2019-08-21 15:14:31 +03:00
parent 5fa4c2df5f
commit 252b65cc07
8 changed files with 3387 additions and 20 deletions

19
.eslintrc.json Normal file
View 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

File diff suppressed because it is too large Load Diff

View File

@ -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"
}, },

View File

@ -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);
}); });

View File

@ -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();

View File

@ -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
}; };

View File

@ -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 = () => {
}; };

View File

@ -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,