mirror of
https://github.com/openstf/stf
synced 2025-10-03 09:49:17 +02:00
Added JSCS style checking.
However, there are thousands of errors: it may need some rule relaxing. Still needs to check for JSHint overlap. Heated rules left out: "disallowAnonymousFunctions": true, "disallowCommaBeforeLineBreak": true "requireCommaBeforeLineBreak": true, "disallowKeywordsOnNewLine": true, "requireKeywordsOnNewLine": true
This commit is contained in:
parent
883fce71ea
commit
2445b179ee
3 changed files with 115 additions and 12 deletions
93
.jscsrc
Normal file
93
.jscsrc
Normal file
|
@ -0,0 +1,93 @@
|
|||
{
|
||||
"requireCurlyBraces": [
|
||||
"if",
|
||||
"else",
|
||||
"for",
|
||||
"while",
|
||||
"do",
|
||||
"try",
|
||||
"catch",
|
||||
"case",
|
||||
"default"
|
||||
],
|
||||
"requireSpaceAfterKeywords": [
|
||||
"do",
|
||||
"for",
|
||||
"if",
|
||||
"else",
|
||||
"switch",
|
||||
"case",
|
||||
"try",
|
||||
"catch",
|
||||
"void",
|
||||
"while",
|
||||
"with",
|
||||
"return",
|
||||
"typeof",
|
||||
"function"
|
||||
],
|
||||
"requireSpaceBeforeBlockStatements": true,
|
||||
"requireParenthesesAroundIIFE": true,
|
||||
|
||||
"requireSpacesInConditionalExpression": true,
|
||||
"requireSpacesInFunctionExpression": {
|
||||
"beforeOpeningRoundBrace": true,
|
||||
"beforeOpeningCurlyBrace": true
|
||||
},
|
||||
"requireSpacesInNamedFunctionExpression": {
|
||||
"beforeOpeningRoundBrace": true,
|
||||
"beforeOpeningCurlyBrace": true
|
||||
},
|
||||
"requireSpacesInFunctionDeclaration": {
|
||||
"beforeOpeningRoundBrace": true,
|
||||
"beforeOpeningCurlyBrace": true
|
||||
},
|
||||
"requireSpacesInFunction": {
|
||||
"beforeOpeningRoundBrace": true,
|
||||
"beforeOpeningCurlyBrace": true
|
||||
},
|
||||
"disallowMultipleVarDecl": true,
|
||||
"requireBlocksOnNewline": true,
|
||||
"disallowPaddingNewlinesInBlocks": true,
|
||||
"disallowEmptyBlocks": true,
|
||||
"disallowSpacesInsideArrayBrackets": "nested",
|
||||
"disallowQuotedKeysInObjects": "allButReserved",
|
||||
"disallowSpaceAfterObjectKeys": true,
|
||||
"requireOperatorBeforeLineBreak": true,
|
||||
"disallowSpaceAfterPrefixUnaryOperators": true,
|
||||
"disallowSpaceBeforePostfixUnaryOperators": true,
|
||||
"requireSpaceBeforeBinaryOperators": true,
|
||||
"requireSpaceAfterBinaryOperators": true,
|
||||
"disallowImplicitTypeConversion": [
|
||||
"numeric",
|
||||
"boolean",
|
||||
"binary",
|
||||
"string"
|
||||
],
|
||||
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
||||
"disallowKeywords": ["with"],
|
||||
"disallowMultipleLineStrings": true,
|
||||
"disallowMultipleLineBreaks": true,
|
||||
"validateLineBreaks": "LF",
|
||||
"validateQuoteMarks": {
|
||||
"mark": "'",
|
||||
"escape": true
|
||||
},
|
||||
"validateIndentation": 2,
|
||||
"disallowMixedSpacesAndTabs": true,
|
||||
"disallowTrailingWhitespace": true,
|
||||
"disallowTrailingComma": true,
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
"maximumLineLength": 90,
|
||||
"requireCapitalizedConstructors": true,
|
||||
"safeContextKeyword": ["that"],
|
||||
"requireDotNotation": true,
|
||||
"disallowYodaConditions": true,
|
||||
"validateJSDoc": {
|
||||
"checkParamNames": true,
|
||||
"checkRedundantParams": true,
|
||||
"requireParamTypes": true
|
||||
},
|
||||
"requireSpaceAfterLineComment": true,
|
||||
"disallowNewlineBeforeBlockStatements": true
|
||||
}
|
14
gulpfile.js
14
gulpfile.js
|
@ -15,6 +15,7 @@ var protractorConfig = './res/test/protractor.conf'
|
|||
var karma = require('karma').server
|
||||
var karmaConfig = '/res/test/karma.conf.js'
|
||||
var stream = require('stream')
|
||||
var jscs = require('gulp-jscs')
|
||||
|
||||
gulp.task('jshint', function () {
|
||||
return gulp.src([
|
||||
|
@ -34,6 +35,15 @@ gulp.task('jsonlint', function () {
|
|||
.pipe(jsonlint.reporter())
|
||||
})
|
||||
|
||||
gulp.task('jscs', function () {
|
||||
return gulp.src([
|
||||
'lib/**/*.js', 'res/app/**/*.js', 'res/auth-ldap/**/*.js',
|
||||
'res/auth-mock/**/*.js', 'res/common/**/*.js', 'res/test/**/*.js',
|
||||
'*.js'
|
||||
])
|
||||
.pipe(jscs())
|
||||
});
|
||||
|
||||
gulp.task('lint', ['jshint', 'jsonlint'])
|
||||
gulp.task('test', ['lint', 'protractor'])
|
||||
gulp.task('build', ['translate', 'webpack:build'])
|
||||
|
@ -65,7 +75,7 @@ gulp.task('protractor-explorer', function (callback) {
|
|||
}, callback)
|
||||
})
|
||||
|
||||
gulp.task('protractor', ['webdriver-update'],function (callback) {
|
||||
gulp.task('protractor', ['webdriver-update'], function (callback) {
|
||||
gulp.src(["./res/test/e2e/**/*.js"])
|
||||
.pipe(protractor.protractor({
|
||||
configFile: protractorConfig,
|
||||
|
@ -162,7 +172,7 @@ gulp.task('jade', function (cb) {
|
|||
locals: {
|
||||
// So res/views/docs.jade doesn't complain
|
||||
markdownFile: {
|
||||
parseContent: function() {
|
||||
parseContent: function () {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
var pathutil = require('./lib/util/pathutil')
|
||||
var webpack = require('webpack')
|
||||
var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin")
|
||||
var CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin')
|
||||
|
||||
module.exports = {
|
||||
webpack: {
|
||||
|
@ -38,14 +38,14 @@ module.exports = {
|
|||
{ test: /\.css$/, loader: 'style!css' },
|
||||
{ test: /\.less$/, loader: 'style-loader!css-loader!less-loader'},
|
||||
{ test: /\.json$/, loader: 'json' },
|
||||
{ test: /\.jpg$/, loader: "url-loader?limit=1000&mimetype=image/jpeg" },
|
||||
{ test: /\.png$/, loader: "url-loader?limit=1000&mimetype=image/png" },
|
||||
{ test: /\.gif$/, loader: "url-loader?limit=1000&mimetype=image/gif" },
|
||||
{ test: /\.svg/, loader: "url-loader?limit=1&mimetype=image/svg+xml" },
|
||||
{ test: /\.woff/, loader: "url-loader?limit=1&mimetype=application/font-woff" },
|
||||
{ test: /\.otf/, loader: "url-loader?limit=1&mimetype=application/font-woff" },
|
||||
{ test: /\.ttf/, loader: "url-loader?limit=1&mimetype=application/font-woff" },
|
||||
{ test: /\.eot/, loader: "url-loader?limit=1&mimetype=vnd.ms-fontobject" },
|
||||
{ test: /\.jpg$/, loader: 'url-loader?limit=1000&mimetype=image/jpeg' },
|
||||
{ test: /\.png$/, loader: 'url-loader?limit=1000&mimetype=image/png' },
|
||||
{ test: /\.gif$/, loader: 'url-loader?limit=1000&mimetype=image/gif' },
|
||||
{ test: /\.svg/, loader: 'url-loader?limit=1&mimetype=image/svg+xml' },
|
||||
{ test: /\.woff/, loader: 'url-loader?limit=1&mimetype=application/font-woff' },
|
||||
{ test: /\.otf/, loader: 'url-loader?limit=1&mimetype=application/font-woff' },
|
||||
{ test: /\.ttf/, loader: 'url-loader?limit=1&mimetype=application/font-woff' },
|
||||
{ test: /\.eot/, loader: 'url-loader?limit=1&mimetype=vnd.ms-fontobject' },
|
||||
{ test: /\.jade$/, loader: 'template-html-loader' },
|
||||
{ test: /\.html$/, loader: 'html-loader' },
|
||||
{ test: /angular\.js$/, loader: 'exports?angular'},
|
||||
|
@ -82,7 +82,7 @@ module.exports = {
|
|||
, ['main']
|
||||
)
|
||||
)
|
||||
, new CommonsChunkPlugin("entry/commons.entry.js")
|
||||
, new CommonsChunkPlugin('entry/commons.entry.js')
|
||||
]
|
||||
},
|
||||
webpackServer: {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue