Implements a general score calculator

This commit is contained in:
Gaël Métais
2014-12-14 15:47:58 +01:00
parent 8abfe93df7
commit 792f7d8e21
11 changed files with 478 additions and 20 deletions
+24 -4
View File
@@ -1,8 +1,10 @@
var Q = require('q');
var debug = require('debug')('ylt:yellowlabtools');
var Q = require('q');
var debug = require('debug')('ylt:runner');
var phantomasWrapper = require('./tools/phantomasWrapper');
var rulesChecker = require('./rulesChecker');
var scoreCalculator = require('./scoreCalculator');
var phantomasWrapper = require('./tools/phantomasWrapper');
var rulesChecker = require('./rulesChecker');
var Runner = function(params) {
'use strict';
@@ -27,6 +29,24 @@ var Runner = function(params) {
data.rules = rulesChecker.check(data, policies);
// Scores calculator
var scoreProfileGeneric = require('./metadata/scoreProfileGeneric.json');
data.scoreProfiles = {
generic : scoreCalculator.calculate(data, scoreProfileGeneric)
};
// Get the JS Execution Tree from offenders and put in the main object
try {
data.javascriptExecutionTree = JSON.parse(data.toolsResults.phantomas.offenders.javascriptExecutionTree[0]);
} catch(e) {
debug('Could not find nor parse phantomas.offenders.javascriptExecutionTree');
}
delete data.toolsResults.phantomas.metrics.javascriptExecutionTree;
delete data.toolsResults.phantomas.offenders.javascriptExecutionTree;
//Finished!
deferred.resolve(data);
}).fail(function(err) {