Merge pull request #107 from resin-io/feat/jscs

Integrate JSCS
This commit is contained in:
Juan Cruz Viotti 2016-01-22 10:35:01 -04:00
commit 7b14b1b4a2
9 changed files with 308 additions and 14 deletions

285
.jscsrc Normal file
View File

@ -0,0 +1,285 @@
{
"disallowAnonymousFunctions": false,
"disallowShorthandArrowFunctions": true,
"disallowCapitalizedComments": false,
"disallowCommaBeforeLineBreak": false,
"disallowCurlyBraces": false,
"disallowDanglingUnderscores": false,
"disallowEmptyBlocks": true,
"disallowFunctionDeclarations": true,
"disallowIdenticalDestructuringNames": true,
"disallowImplicitTypeConversion": [
"numeric",
"boolean",
"binary",
"string"
],
"disallowKeywordsOnNewLine": [
"else",
"else if"
],
"disallowKeywords": [
"with",
"for"
],
"disallowMixedSpacesAndTabs": true,
"disallowMultiLineTernary": true,
"disallowMultipleLineBreaks": true,
"disallowMultipleLineStrings": true,
"disallowMultipleSpaces": true,
"disallowMultipleVarDecl": true,
"disallowNamedUnassignedFunctions": true,
"disallowNestedTernaries": false,
"disallowNewlineBeforeBlockStatements": true,
"disallowNodeTypes": [
"LabeledStatement"
],
"disallowNotOperatorsInConditionals": false,
"disallowObjectKeysOnNewLine": false,
"disallowOperatorBeforeLineBreak": [
"+",
"."
],
"disallowPaddingNewLinesAfterBlocks": false,
"disallowPaddingNewLinesAfterUseStrict": false,
"disallowPaddingNewLinesBeforeExport": false,
"disallowPaddingNewlinesBeforeKeywords": false,
"disallowPaddingNewLinesBeforeLineComments": false,
"disallowPaddingNewlinesInBlocks": false,
"disallowPaddingNewLinesInObjects": false,
"disallowParenthesesAroundArrowParam": false,
"disallowQuotedKeysInObjects": {
"allExcept": [
"reserved"
]
},
"disallowSemicolons": false,
"disallowShorthandArrowFunctions": true,
"disallowSpaceAfterBinaryOperators": false,
"disallowSpaceAfterComma": false,
"disallowSpaceAfterKeywords": false,
"disallowSpaceAfterLineComment": false,
"disallowSpaceAfterObjectKeys": true,
"disallowSpaceAfterPrefixUnaryOperators": true,
"disallowSpaceBeforeBinaryOperators": false,
"disallowSpaceBeforeBlockStatements": false,
"disallowSpaceBeforeComma": true,
"disallowSpaceBeforeKeywords": false,
"disallowSpaceBeforeObjectValues": false,
"disallowSpaceBeforePostfixUnaryOperators": [
"++",
"--"
],
"disallowSpaceBeforeSemicolon": true,
"disallowSpaceBetweenArguments": false,
"disallowSpacesInAnonymousFunctionExpression": {
"beforeOpeningRoundBrace": true
},
"disallowSpacesInCallExpression": true,
"disallowSpacesInConditionalExpression": false,
"disallowSpacesInForStatement": false,
"disallowSpacesInFunctionDeclaration": {
"beforeOpeningRoundBrace": true
},
"disallowSpacesInFunctionExpression": {
"beforeOpeningRoundBrace": true
},
"disallowSpacesInFunction": {
"beforeOpeningRoundBrace": true
},
"disallowSpacesInGenerator": {
"beforeStar": true
},
"disallowSpacesInNamedFunctionExpression": {
"beforeOpeningRoundBrace": true
},
"disallowSpacesInsideArrayBrackets": false,
"disallowSpacesInsideBrackets": false,
"disallowSpacesInsideObjectBrackets": false,
"disallowSpacesInsideParentheses": true,
"disallowSpacesInsideParenthesizedExpression": true,
"disallowTabs": true,
"disallowTrailingComma": true,
"disallowTrailingWhitespace": true,
"disallowUnusedParams": true,
"disallowVar": false,
"disallowYodaConditions": [
"==",
"===",
"!=",
"!=="
],
"maximumLineLength": 130,
"maximumNumberOfLines": 500,
"requireAlignedMultilineParams": true,
"requireAlignedObjectValues": false,
"requireAnonymousFunctions": true,
"requireArrayDestructuring": false,
"requireArrowFunctions": false,
"requireBlocksOnNewline": {
"includeComments": true
},
"requireCamelCaseOrUpperCaseIdentifiers": true,
"requireCapitalizedComments": true,
"requireCapitalizedConstructors": true,
"requireCommaBeforeLineBreak": true,
"requireCurlyBraces": [
"if",
"else",
"for",
"while",
"do",
"try",
"catch",
"case",
"default"
],
"requireDollarBeforejQueryAssignment": true,
"requireDotNotation": true,
"requireEarlyReturn": true,
"requireEnhancedObjectLiterals": false,
"requireFunctionDeclarations": false,
"requireLineBreakAfterVariableAssignment": true,
"requireLineFeedAtFileEnd": true,
"requireMatchingFunctionName": true,
"requireMultiLineTernary": false,
"requireMultipleVarDecl": false,
"requireNewlineBeforeBlockStatements": false,
"requireNumericLiterals": true,
"requireObjectDestructuring": false,
"requireObjectKeysOnNewLine": true,
"requireOperatorBeforeLineBreak": [
"?",
"=",
"+",
"-",
"/",
"*",
"==",
"===",
"!=",
"!==",
">",
">=",
"<",
"<="
],
"requirePaddingNewLineAfterVariableDeclaration": false,
"requirePaddingNewLinesAfterBlocks": true,
"requirePaddingNewLinesAfterUseStrict": true,
"requirePaddingNewLinesBeforeExport": true,
"requirePaddingNewlinesBeforeKeywords": [
"do",
"for",
"if",
"while"
],
"requirePaddingNewLinesBeforeLineComments": true,
"requirePaddingNewlinesInBlocks": false,
"requirePaddingNewLinesInObjects": true,
"requireParenthesesAroundArrowParam": true,
"requireParenthesesAroundIIFE": true,
"requireQuotedKeysInObjects": false,
"requireSemicolons": true,
"requireShorthandArrowFunctions": false,
"requireSpaceAfterBinaryOperators": [
"=",
",",
"+",
"-",
"/",
"*",
"==",
"===",
"!=",
"!=="
],
"requireSpaceBeforeBinaryOperators": [
"=",
"+",
"-",
"/",
"*",
"==",
"===",
"!=",
"!=="
],
"requireSpaceAfterComma": true,
"requireSpaceAfterKeywords": [
"do",
"for",
"if",
"else",
"switch",
"case",
"try",
"catch",
"void",
"while",
"with",
"return",
"typeof"
],
"requireSpaceAfterLineComment": false,
"requireSpaceAfterObjectKeys": false,
"requireSpaceAfterPrefixUnaryOperators": false,
"requireSpaceBeforeBlockStatements": 1,
"requireSpaceBeforeComma": false,
"requireSpaceBeforeKeywords": [
"else",
"while",
"catch"
],
"requireSpaceBeforeObjectValues": true,
"requireSpaceBeforePostfixUnaryOperators": false,
"requireSpaceBetweenArguments": true,
"requireSpacesInAnonymousFunctionExpression": {
"beforeOpeningCurlyBrace": true
},
"requireSpacesInCallExpression": false,
"requireSpacesInConditionalExpression": {
"afterTest": true,
"beforeConsequent": true,
"afterConsequent": true,
"beforeAlternate": true
},
"requireSpacesInForStatement": true,
"requireSpacesInFunctionDeclaration": {
"beforeOpeningCurlyBrace": true
},
"requireSpacesInFunctionExpression": {
"beforeOpeningCurlyBrace": true
},
"requireSpacesInFunction": {
"beforeOpeningCurlyBrace": true
},
"requireSpacesInGenerator": {
"afterStar": true
},
"requireSpacesInNamedFunctionExpression": {
"beforeOpeningCurlyBrace": true
},
"requireSpacesInsideArrayBrackets": "all",
"requireSpacesInsideObjectBrackets": "all",
"requireSpacesInsideParentheses": false,
"requireSpacesInsideParenthesizedExpression": false,
"requireSpread": false,
"requireTemplateStrings": false,
"requireTrailingComma": false,
"requireVarDeclFirst": false,
"requireYodaConditions": false,
"safeContextKeyword": [
"self"
],
"validateAlignedFunctionParameters": false,
"validateCommentPosition": {
"position": "above"
},
"validateIndentation": 2,
"validateLineBreaks": "LF",
"validateNewlineAfterArrayElements": true,
"validateOrderInObjectKeys": false,
"validateParameterSeparator": ", ",
"validateQuoteMarks": "'"
}

View File

@ -15,6 +15,7 @@
*/
var gulp = require('gulp');
var jscs = require('gulp-jscs');
var jshint = require('gulp-jshint');
var jshintStylish = require('jshint-stylish');
var sass = require('gulp-sass');
@ -43,7 +44,9 @@ gulp.task('lint', function() {
return gulp.src(paths.scripts)
.pipe(jshint())
.pipe(jshint.reporter(jshintStylish));
.pipe(jshint.reporter(jshintStylish))
.pipe(jscs())
.pipe(jscs.reporter());
});
gulp.task('watch', [ 'lint', 'sass' ], function() {

View File

@ -127,7 +127,7 @@ imageWriter.service('ImageWriterService', function($q, $timeout, $log) {
* ImageWriterService.setBurning(true);
*/
this.setBurning = function(status) {
burning = !!status;
burning = Boolean(status);
};
/**

View File

@ -105,7 +105,7 @@ selectionState.service('SelectionStateService', function() {
* }
*/
this.hasDrive = function() {
return !!self.getDrive();
return Boolean(self.getDrive());
};
/**
@ -121,7 +121,7 @@ selectionState.service('SelectionStateService', function() {
* }
*/
this.hasImage = function() {
return !!self.getImage();
return Boolean(self.getImage());
};
/**

View File

@ -51,8 +51,7 @@ exports.require = function(app, callback) {
// Don't keep the original parent process alive
process.exit(0);
});
}
else if (platform === 'win32') {
} else if (platform === 'win32') {
var elevator = require('elevator');
elevator.execute(process.argv, {}, function(error) {
@ -64,8 +63,7 @@ exports.require = function(app, callback) {
// Don't keep the original parent process alive
process.exit(0);
});
}
else {
} else {
electron.dialog.showErrorBox(
'You don\'t have enough permissions',
'Please run this application as root or administrator'

View File

@ -37,11 +37,17 @@ var _ = require('lodash');
exports.selectImage = function() {
'use strict';
return new Promise(function(resolve, reject) {
return new Promise(function(resolve) {
electron.dialog.showOpenDialog({
properties: [ 'openFile' ],
filters: [
{ name: 'IMG/ISO', extensions: [ 'img', 'iso' ] }
{
name: 'IMG/ISO',
extensions: [
'img',
'iso'
]
}
]
}, function(file) {
return resolve(_.first(file));

View File

@ -87,8 +87,8 @@ exports.writeImage = function(image, drive, onProgress) {
}).then(function() {
if (isWindows && drive.mountpoint) {
return removedrive.ejectAsync(drive.mountpoint);
} else {
return umount.umountAsync(drive.device);
}
return umount.umountAsync(drive.device);
});
};

View File

@ -39,6 +39,7 @@
"electron-packager": "^5.1.1",
"electron-prebuilt": "^0.36.4",
"gulp": "^3.9.0",
"gulp-jscs": "^3.0.2",
"gulp-jshint": "^1.11.2",
"gulp-sass": "^2.0.4",
"jshint-stylish": "^2.0.1",

View File

@ -88,7 +88,6 @@ describe('Browser: SelectionState', function() {
});
});
describe('given no drive', function() {
@ -189,7 +188,9 @@ describe('Browser: SelectionState', function() {
describe('given the preserveImage option', function() {
beforeEach(function() {
SelectionStateService.clear({ preserveImage: true });
SelectionStateService.clear({
preserveImage: true
});
});
it('getDrive() should return undefined', function() {