simplebuild-jshint
Advanced tools
{ | ||
"name": "simplebuild-jshint", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"engines": { | ||
@@ -36,3 +36,3 @@ "node": ">=0.10" | ||
"dependencies": { | ||
"simplebuild": "~0.2.0" | ||
"simplebuild": "^0.5.0" | ||
}, | ||
@@ -39,0 +39,0 @@ "peerDependencies": { |
@@ -142,2 +142,4 @@ # Simplebuild-JSHint | ||
__1.1.0:__ Better error messages when `options` parameter is incorrect | ||
__1.0.1:__ Fix: doesn't try to report non-existent error codes (they're not present in old versions of JSHint) | ||
@@ -144,0 +146,0 @@ |
@@ -65,3 +65,4 @@ // Copyright (c) 2014 Titanium I.T. LLC. All rights reserved. For license, see "README" or "LICENSE" file. | ||
jshint.checkCode({}, success, failure); | ||
expectFailure(messages.NO_CODE_OPTION); | ||
expectFailure(); | ||
//expectFailure(messages.NO_CODE_OPTION); | ||
}); | ||
@@ -71,3 +72,4 @@ | ||
jshint.checkCode("foo", success, failure); | ||
expectFailure(messages.OPTIONS_MUST_BE_OBJECT); | ||
expectFailure(); | ||
//expectFailure(messages.OPTIONS_MUST_BE_OBJECT); | ||
}); | ||
@@ -77,3 +79,4 @@ | ||
jshint.checkCode(null, success, failure); | ||
expectFailure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
expectFailure(); | ||
//expectFailure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
}); | ||
@@ -128,3 +131,4 @@ }); | ||
jshint.checkOneFile({}, success, failure); | ||
expectFailure(messages.NO_FILE_OPTION); | ||
expectFailure(); | ||
//expectFailure(messages.NO_FILE_OPTION); | ||
}); | ||
@@ -134,3 +138,4 @@ | ||
jshint.checkOneFile("foo", success, failure); | ||
expectFailure(messages.OPTIONS_MUST_BE_OBJECT); | ||
expectFailure(); | ||
//expectFailure(messages.OPTIONS_MUST_BE_OBJECT); | ||
}); | ||
@@ -140,3 +145,4 @@ | ||
jshint.checkOneFile(null, success, failure); | ||
expectFailure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
expectFailure(); | ||
//expectFailure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
}); | ||
@@ -200,3 +206,4 @@ }); | ||
jshint.checkFiles({}, success, failure); | ||
expectFailure(messages.NO_FILES_OPTION); | ||
//expectFailure(messages.NO_FILES_OPTION); | ||
expectFailure(); | ||
}); | ||
@@ -206,3 +213,4 @@ | ||
jshint.checkFiles("foo", success, failure); | ||
expectFailure(messages.OPTIONS_MUST_BE_OBJECT); | ||
//expectFailure(messages.OPTIONS_MUST_BE_OBJECT); | ||
expectFailure(); | ||
}); | ||
@@ -212,3 +220,4 @@ | ||
jshint.checkFiles(null, success, failure); | ||
expectFailure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
//expectFailure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
expectFailure(); | ||
}); | ||
@@ -234,5 +243,5 @@ }); | ||
if (successArgs !== null) throw new Error("Did not expect success callback to be called"); | ||
expect(failureArgs).to.eql([ failureMessage ]); | ||
if (failureMessage !== undefined) expect(failureArgs).to.eql([ failureMessage ]); | ||
} | ||
}); | ||
}); |
@@ -6,2 +6,3 @@ // Copyright (c) 2014 Titanium I.T. LLC. All rights reserved. For license, see "README" or "LICENSE" file. | ||
//var simplebuild = require("../../core/lib/simplebuild"); | ||
var simplebuild = require("simplebuild"); | ||
@@ -11,12 +12,29 @@ var jshint = require("./jshint_runner.js"); | ||
exports.checkFiles = function checkFiles(options, success, failure) { | ||
if (typeof options !== "object") return failure(messages.OPTIONS_MUST_BE_OBJECT); | ||
if (options === null) return failure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
if (options.files === undefined) return failure(messages.NO_FILES_OPTION); | ||
var DEFAULT_OPTIONS = { | ||
options: {}, | ||
globals: {} | ||
}; | ||
var files = simplebuild.deglobSync(options.files); | ||
exports.checkFiles = function checkFiles(userOptions, succeed, fail) { | ||
try { | ||
var types = { | ||
files: [String, Array], | ||
options: Object, | ||
globals: Object | ||
}; | ||
var options = simplebuild.normalizeOptions(userOptions, DEFAULT_OPTIONS, types); | ||
var passed = jshint.validateFileList(files, options.options, options.globals); | ||
if (passed) success(); | ||
else failure(messages.VALIDATION_FAILED); | ||
//if (typeof userOptions !== "object") return fail(messages.OPTIONS_MUST_BE_OBJECT); | ||
//if (userOptions === null) return fail(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
//if (userOptions.files === undefined) return fail(messages.NO_FILES_OPTION); | ||
var files = simplebuild.deglobSync(options.files); | ||
var passed = jshint.validateFileList(files, options.options, options.globals); | ||
if (passed) succeed(); | ||
else fail(messages.VALIDATION_FAILED); | ||
} | ||
catch (err) { | ||
return fail(err.message); | ||
} | ||
}; | ||
@@ -26,10 +44,22 @@ //exports.checkFiles.descriptors = messages.FILE_LIST_VALIDATOR_DESCRIPTORS; | ||
exports.checkOneFile = function checkOneFile(options, success, failure) { | ||
if (typeof options !== "object") return failure(messages.OPTIONS_MUST_BE_OBJECT); | ||
if (options === null) return failure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
if (options.file === undefined) return failure(messages.NO_FILE_OPTION); | ||
exports.checkOneFile = function checkOneFile(userOptions, succeed, fail) { | ||
try { | ||
var types = { | ||
file: String, | ||
options: Object, | ||
globals: Object | ||
}; | ||
var options = simplebuild.normalizeOptions(userOptions, DEFAULT_OPTIONS, types); | ||
var passed = jshint.validateFile(options.file, options.options, options.globals); | ||
if (passed) success(); | ||
else failure(messages.VALIDATION_FAILED); | ||
//if (typeof options !== "object") return fail(messages.OPTIONS_MUST_BE_OBJECT); | ||
//if (options === null) return fail(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
//if (options.file === undefined) return fail(messages.NO_FILE_OPTION); | ||
var passed = jshint.validateFile(options.file, options.options, options.globals); | ||
if (passed) succeed(); | ||
else fail(messages.VALIDATION_FAILED); | ||
} | ||
catch (err) { | ||
return fail(err.message); | ||
} | ||
}; | ||
@@ -39,11 +69,23 @@ //exports.checkOneFile.descriptors = messages.ONE_FILE_VALIDATOR_DESCRIPTORS; | ||
exports.checkCode = function checkCode(options, success, failure) { | ||
if (typeof options !== "object") return failure(messages.OPTIONS_MUST_BE_OBJECT); | ||
if (options === null) return failure(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
if (options.code === undefined) return failure(messages.NO_CODE_OPTION); | ||
exports.checkCode = function checkCode(userOptions, succeed, fail) { | ||
try { | ||
var types = { | ||
code: String, | ||
options: Object, | ||
globals: Object | ||
}; | ||
var options = simplebuild.normalizeOptions(userOptions, DEFAULT_OPTIONS, types); | ||
var passed = jshint.validateSource(options.code, options.options, options.globals); | ||
if (passed) success(); | ||
else failure(messages.VALIDATION_FAILED); | ||
//if (typeof options !== "object") return fail(messages.OPTIONS_MUST_BE_OBJECT); | ||
//if (options === null) return fail(messages.OPTIONS_MUST_NOT_BE_NULL); | ||
//if (options.code === undefined) return fail(messages.NO_CODE_OPTION); | ||
var passed = jshint.validateSource(options.code, options.options, options.globals); | ||
if (passed) succeed(); | ||
else fail(messages.VALIDATION_FAILED); | ||
} | ||
catch (err) { | ||
return fail(err.message); | ||
} | ||
}; | ||
//exports.checkCode.descriptors = messages.SOURCE_VALIDATOR_DESCRIPTORS; |
34997
3.24%786
6.5%196
1.03%