diff --git a/lib/init.js b/lib/init.js index a257e05b2..0eef4f03e 100755 --- a/lib/init.js +++ b/lib/init.js @@ -1,30 +1,26 @@ -var readline = require('readline') -var path = require('path') -var glob = require('glob') -var mm = require('minimatch') -var exec = require('child_process').exec +'use strict' -var helper = require('./helper') -var logger = require('./logger') +const readline = require('readline') +const path = require('path') +const glob = require('glob') +const mm = require('minimatch') +const exec = require('child_process').exec -var log = logger.create('init') +const helper = require('./helper') +const logger = require('./logger') -var StateMachine = require('./init/state_machine') -var COLOR_SCHEME = require('./init/color_schemes') -var formatters = require('./init/formatters') +const log = logger.create('init') +const logQueue = require('./init/log-queue') + +const StateMachine = require('./init/state_machine') +const COLOR_SCHEME = require('./init/color_schemes') +const formatters = require('./init/formatters') // TODO(vojta): coverage // TODO(vojta): html preprocessors // TODO(vojta): SauceLabs // TODO(vojta): BrowserStack -var logQueue = [] -var printLogQueue = function () { - while (logQueue.length) { - logQueue.shift()() - } -} - var NODE_MODULES_DIR = path.resolve(__dirname, '../..') // Karma is not in node_modules, probably a symlink, @@ -33,7 +29,7 @@ if (!/node_modules$/.test(NODE_MODULES_DIR)) { NODE_MODULES_DIR = path.resolve('node_modules') } -var installPackage = function (pkgName) { +function installPackage (pkgName) { // Do not install if already installed. try { require(NODE_MODULES_DIR + '/' + pkgName) @@ -42,7 +38,7 @@ var installPackage = function (pkgName) { log.debug('Missing plugin "%s". Installing...', pkgName) - var options = { + const options = { cwd: path.resolve(NODE_MODULES_DIR, '..') } @@ -65,22 +61,22 @@ var installPackage = function (pkgName) { }) } -var validatePattern = function (pattern) { +function validatePattern (pattern) { if (!glob.sync(pattern).length) { log.warn('There is no file matching this pattern.\n') } } -var validateBrowser = function (name) { +function validateBrowser (name) { // TODO(vojta): check if the path resolves to a binary installPackage('karma-' + name.toLowerCase().replace('canary', '') + '-launcher') } -var validateFramework = function (name) { +function validateFramework (name) { installPackage('karma-' + name) } -var validateRequireJs = function (useRequire) { +function validateRequireJs (useRequire) { if (useRequire) { validateFramework('requirejs') } @@ -127,9 +123,7 @@ var questions = [{ hint: 'This will generate test-main.js/coffee that configures RequireJS and starts the tests.', options: ['no', 'yes'], boolean: true, - condition: function (answers) { - return answers.requirejs - } + condition: answers => answers.requirejs }, { id: 'includedFiles', question: 'Which files do you want to include with