diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..dae7c635e --- /dev/null +++ b/.eslintrc @@ -0,0 +1,15 @@ +{ + "ecmaFeatures": { + "blockBindings": true, + "forOf": true, + "jsx": true + }, + "parser": "babel-eslint", + "rules": { + "max-len": [1, 100, 2], + "indent": [2, 2], + "semi": 2, + "strict": 0, + "quotes": [1, "single", "avoid-escape"] + } +} diff --git a/main.js b/main.js index 78de6394b..81a14f80c 100644 --- a/main.js +++ b/main.js @@ -13,8 +13,8 @@ var iconIdle = path.join(__dirname, 'images', 'tray-idleTemplate.png'); var iconActive = path.join(__dirname, 'images', 'tray-active.png'); var autoStart = new AutoLaunch({ - name: 'Gitify', - path: process.execPath.match(/.*?\.app/)[0] + name: 'Gitify', + path: process.execPath.match(/.*?\.app/)[0] }); app.on('ready', function(){ @@ -94,7 +94,7 @@ app.on('ready', function(){ }); ipc.on('update-icon', function(event, arg) { - if (arg === "TrayActive") { + if (arg === 'TrayActive') { appIcon.setImage(iconActive); } else { appIcon.setImage(iconIdle); diff --git a/package.json b/package.json index e406d4d0f..a655056db 100644 --- a/package.json +++ b/package.json @@ -10,53 +10,8 @@ "watch": "npm run build && grunt build && npm run watch-js & grunt watch", "start": "electron .", "dist": "electron-packager . Gitify --overwrite --platform=darwin --arch=x64 --version=0.30.2 --asar=true --icon=images/app-icon.icns --prune --ignore='src' --ignore='coverage'", - "test": "jsxhint --reporter=node_modules/jshint-stylish 'src/**/*.js', 'index.js' --exclude 'Gruntfile.js' && jscs 'src/js/' && jest" - }, - "jshintConfig": { - "browserify": true, - "unused": true, - "undef": true, - "globals": { - "console": false - } - }, - "jscsConfig": { - "esprima": "esprima-fb", - "disallowMultipleVarDecl": "exceptUndefined", - "validateQuoteMarks": { - "mark": "'", - "escape": false - }, - "validateParameterSeparator": ", ", - "validateIndentation": 2, - "requireSpacesInFunction": { - "beforeOpeningRoundBrace": true, - "beforeOpeningCurlyBrace": true - }, - "requireSpacesInConditionalExpression": { - "afterTest": true, - "beforeConsequent": true, - "afterConsequent": true, - "beforeAlternate": true - }, - "disallowTrailingWhitespace": true, - "maximumLineLength": 100, - "requireCurlyBraces": true, - "disallowMixedSpacesAndTabs": true, - "requireSpaceBeforeBinaryOperators": true, - "safeContextKeyword": [ - "self" - ], - "disallowMultipleLineBreaks": true, - "disallowMultipleLineStrings": true, - "disallowSpaceAfterObjectKeys": true, - "disallowNewlineBeforeBlockStatements": true, - "disallowTrailingComma": true, - "requireCommaBeforeLineBreak": true, - "requireSpaceBetweenArguments": true, - "requireSpaceBeforeBlockStatements": true, - "requireSpaceBeforeObjectValues": true, - "requireSpacesInForStatement": true + "lint": "eslint 'src/js/' 'src/js/app.js' 'main.js'", + "test": "npm run lint && jest" }, "jest": { "scriptPreprocessor": "src/js/__tests__/preprocessor.js", @@ -71,7 +26,6 @@ "src/js/components/settings.js": true, "src/js/components/footer.js": true, "src/js/components/search-input.js": true, - "src/js/components/settings.js": true, "src/js/stores/auth.js": true, "src/js/stores/notifications.js": true, "src/js/stores/search.js": true, @@ -137,18 +91,16 @@ "watchify": "=3.3.1" }, "devDependencies": { + "babel-eslint": "=4.0.10", "electron-packager": "=5.0.1", "electron-prebuilt": "=0.30.2", - "esprima-fb": "^15001.1001.0-dev-harmony-fb", + "eslint": "=1.2.1", "grunt": "=0.4.5", "grunt-contrib-clean": "=0.6.0", "grunt-contrib-copy": "=0.8.0", "grunt-contrib-less": "=1.0.1", "grunt-contrib-watch": "=0.6.1", "jest-cli": "=0.4.17", - "jscs": "=2.0.0", - "jshint-stylish": "=2.0.1", - "jsxhint": "=0.15.1", "less": "=2.5.1" } }