diff --git a/.jscsrc b/.jscsrc index a4c7cc1..daffb88 100644 --- a/.jscsrc +++ b/.jscsrc @@ -1,5 +1,8 @@ { - "preset": "airbnb", + "preset": "google", "excludeFiles": ["dist/**", "node_modules/**"], - "validateQuoteMarks": null + "validateQuoteMarks": null, + "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties", + "disallowSpacesInsideObjectBrackets": false, + "requireSpacesInsideObjectBrackets": "all" } diff --git a/index/index-page.js b/index/index-page.js index c72c9d8..1e670f6 100644 --- a/index/index-page.js +++ b/index/index-page.js @@ -1,5 +1,5 @@ const path = require('path'); -const {ipcRenderer} = require('electron'); +const { ipcRenderer } = require('electron'); const Soma = require('../models/soma'); const Settings = require('../models/settings'); const DefaultStations = require('../defaultStations.json'); @@ -263,7 +263,7 @@ module.exports = class IndexPage extends Eventful { this.soma.getStationInfo(station). then(this.onStationInfoLoaded.bind(this)). catch(this.onStationInfoError.bind(this)); - } + }; const seconds = 5 * 60; this.stationInfoInterval = setInterval(getter, seconds * 1000); getter(); @@ -599,4 +599,4 @@ module.exports = class IndexPage extends Eventful { } } } -} +}; diff --git a/main.js b/main.js index 5cb58d7..3c3609e 100644 --- a/main.js +++ b/main.js @@ -11,60 +11,60 @@ require('electron-debug')(); let mainWindow; function onClosed() { - // dereference the window - // for multiple windows store them in an array - mainWindow = null; + // dereference the window + // for multiple windows store them in an array + mainWindow = null; } function createMainWindow() { - let win; - const windowProperties = { - icon: __dirname+'/images/icon128.png', - title: 'HuxleyFM', - resizable: false - }; - if (process.env.NODE_ENV === 'development') { - windowProperties.width = 900; - windowProperties.height = 370; - win = new BrowserWindow(windowProperties); - win.webContents.openDevTools(); - } else { - windowProperties.width = 400; - windowProperties.height = 370; - win = new BrowserWindow(windowProperties); - } - win.loadURL(`file://${__dirname}/page/page.html`); - win.on('closed', onClosed); - return win; + let win; + const windowProperties = { + icon: __dirname + '/images/icon128.png', + title: 'HuxleyFM', + resizable: false + }; + if (process.env.NODE_ENV === 'development') { + windowProperties.width = 900; + windowProperties.height = 370; + win = new BrowserWindow(windowProperties); + win.webContents.openDevTools(); + } else { + windowProperties.width = 400; + windowProperties.height = 370; + win = new BrowserWindow(windowProperties); + } + win.loadURL(`file://${__dirname}/page/page.html`); + win.on('closed', onClosed); + return win; } app.on('window-all-closed', () => { - if (process.platform !== 'darwin') { - globalShortcut.unregisterAll(); - app.quit(); - } + if (process.platform !== 'darwin') { + globalShortcut.unregisterAll(); + app.quit(); + } }); app.on('activate', () => { - if (!mainWindow) { - mainWindow = createMainWindow(); - } + if (!mainWindow) { + mainWindow = createMainWindow(); + } }); app.on('ready', () => { - mainWindow = createMainWindow(); - ['MediaPlayPause', 'MediaStop'].forEach(registerMediaKey); + mainWindow = createMainWindow(); + ['MediaPlayPause', 'MediaStop'].forEach(registerMediaKey); }); app.on('before-quit', () => { - mainWindow.webContents.send('quit'); + mainWindow.webContents.send('quit'); }); function registerMediaKey(key) { - const success = globalShortcut.register(key, () => { - mainWindow.webContents.send('media-key', key); - }); - if (!success) { - process.stderr.write('failed to bind key ' + key + '\n'); - } + const success = globalShortcut.register(key, () => { + mainWindow.webContents.send('media-key', key); + }); + if (!success) { + process.stderr.write('failed to bind key ' + key + '\n'); + } } diff --git a/models/appMenu.js b/models/appMenu.js index 67f913b..b8586be 100644 --- a/models/appMenu.js +++ b/models/appMenu.js @@ -1,5 +1,5 @@ -const {remote} = require('electron'); -const {Menu, MenuItem} = remote; +const { remote } = require('electron'); +const { Menu, MenuItem } = remote; const Eventful = require('./eventful'); module.exports = class AppMenu extends Eventful { @@ -53,4 +53,4 @@ module.exports = class AppMenu extends Eventful { }); } } -} +}; diff --git a/models/chromecast.js b/models/chromecast.js index c913fbd..be57f17 100644 --- a/models/chromecast.js +++ b/models/chromecast.js @@ -131,4 +131,4 @@ module.exports = class Chromecast extends Eventful { console.debug('Chromecast closed'); this.emit('close'); } -} +}; diff --git a/models/chromecastScanner.js b/models/chromecastScanner.js index 0fc302a..035c6f0 100644 --- a/models/chromecastScanner.js +++ b/models/chromecastScanner.js @@ -65,4 +65,4 @@ module.exports = class ChromecastScanner extends Eventful { clearTimeout(this.timer); this.m.destroy(); } -} +}; diff --git a/models/eventful.js b/models/eventful.js index 4aa9734..b03fee0 100644 --- a/models/eventful.js +++ b/models/eventful.js @@ -39,4 +39,4 @@ module.exports = class Eventful { } return false; } -} +}; diff --git a/models/fetcher.js b/models/fetcher.js index 3abe168..5361b75 100644 --- a/models/fetcher.js +++ b/models/fetcher.js @@ -64,4 +64,4 @@ module.exports = class Fetcher { getStatus(response) { return response.status + ' ' + response.statusText; } -} +}; diff --git a/models/flashMessages.js b/models/flashMessages.js index d74bc9d..9607ce1 100644 --- a/models/flashMessages.js +++ b/models/flashMessages.js @@ -51,4 +51,4 @@ module.exports = class FlashMessages { }, false); return link; } -} +}; diff --git a/models/lastfm.js b/models/lastfm.js index cc230c6..af51e7a 100644 --- a/models/lastfm.js +++ b/models/lastfm.js @@ -88,4 +88,4 @@ module.exports = class Lastfm extends Fetcher { md5(str) { return crypto.createHash('md5').update(str, 'utf8').digest('hex'); } -} +}; diff --git a/models/linkHandler.js b/models/linkHandler.js index 6aad619..0ed4efb 100644 --- a/models/linkHandler.js +++ b/models/linkHandler.js @@ -39,4 +39,4 @@ class LinkHandler extends Eventful { } } -module.exports = LinkHandler +module.exports = LinkHandler; diff --git a/models/router.js b/models/router.js index bc0220a..311678b 100644 --- a/models/router.js +++ b/models/router.js @@ -36,4 +36,4 @@ class Router extends Eventful { } } -module.exports = Router +module.exports = Router; diff --git a/models/settings.js b/models/settings.js index 8bfe78f..a456c28 100644 --- a/models/settings.js +++ b/models/settings.js @@ -32,4 +32,4 @@ module.exports = class Settings { static save(settings) { return this.store('settings', settings); } -} +}; diff --git a/models/soma.js b/models/soma.js index e1dd83f..23ae8ad 100644 --- a/models/soma.js +++ b/models/soma.js @@ -57,4 +57,4 @@ module.exports = class Soma extends Fetcher { }).catch(reject); }); } -} +}; diff --git a/package.json b/package.json index d3edfc0..6133c46 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "3till7.net" }, "scripts": { - "test": "xo", + "test": "node_modules/jscs/bin/jscs -c .jscsrc .", "postinstall": "if [ ! -f config.json ]; then cp config.json.example config.json; fi", "start": "electron .", "build": "npm run-script build-osx", @@ -65,6 +65,7 @@ "crypto": "0.0.3", "electron-debug": "^1.0.0", "electron-json-storage": "^2.0.0", + "jscs": "^3.0.3", "multicast-dns": "^6.0.1", "node-fetch": "^1.5.2", "socket.io-client": "^1.4.6" @@ -72,14 +73,6 @@ "devDependencies": { "devtron": "^1.1.0", "electron-packager": "7.0.2", - "electron-prebuilt": "1.1.3", - "xo": "^0.15.0" - }, - "xo": { - "esnext": true, - "envs": [ - "node", - "browser" - ] + "electron-prebuilt": "1.1.3" } } diff --git a/page/page.js b/page/page.js index c942d92..ee1f1cd 100644 --- a/page/page.js +++ b/page/page.js @@ -8,7 +8,7 @@ const FlashMessages = require('../models/flashMessages'); const AppMenu = require('../models/appMenu'); const ChromecastScanner = require('../models/chromecastScanner'); const Chromecast = require('../models/chromecast'); -const {ipcRenderer} = require('electron'); +const { ipcRenderer } = require('electron'); const __bind = function(fn, me) { return function() { @@ -339,7 +339,10 @@ class PageLoader { } onChromecastStatus(status) { - console.debug('Chromecast', status.playerState, status.media ? status.media.contentId : 'unknown URL', 'volume ' + status.volume.level, status.volume.muted ? 'muted' : 'not muted'); + console.debug('Chromecast', status.playerState, + status.media ? status.media.contentId : 'unknown URL', + 'volume ' + status.volume.level, + status.volume.muted ? 'muted' : 'not muted'); if (status.playerState !== 'BUFFERING') { this.chromecastLink.classList.remove('pulse'); } diff --git a/settings/settings-page.js b/settings/settings-page.js index a9ad947..c9acd40 100644 --- a/settings/settings-page.js +++ b/settings/settings-page.js @@ -353,4 +353,4 @@ class SettingsPage extends Eventful { } } -module.exports = SettingsPage +module.exports = SettingsPage;