Eslint module now adds eslint and eslint-config-openstack dependencies

This patch ensures that eslint, and eslint-config-openstack, are added
to the project that the most recent managed version.

Change-Id: I8c90bbce96f78080c1fc2f1afc529a97894091cb
This commit is contained in:
Michael Krotscheck
2016-05-25 10:54:39 -07:00
parent 9f17711019
commit 4c3e27d6b7
2 changed files with 21 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
(function () {
'use strict';
var pkgBuilder = require('../pkg_builder');
var projectBuilder = require('../project_builder');
var yaml = require('js-yaml');
@@ -10,12 +11,17 @@
var eslintrc = {extends: 'openstack'};
/**
* No-op placeholder method, for handlers we don't need.
* This method configures the package builder with all options necessary to support eslint.
*
* @param {generator} generator The currently active generator.
* @returns {generator} The passed generator, for promise chaining.
*/
function noop (generator) {
function promptEslint (generator) {
// At this time, we don't actually need to prompt the user.
// Add the dependencies.
pkgBuilder.addDependencies(['eslint', 'eslint-config-openstack'], 'devDependencies');
return generator;
}
@@ -99,7 +105,7 @@
module.exports = {
init: initializeEslint,
prompt: noop,
prompt: promptEslint,
configure: configureEslint
};
})();

View File

@@ -5,6 +5,7 @@
var mockEslintIgnore = ['node_modules', 'bower_components', 'dist'];
var eslint = require(libDir + '/component/eslint');
var pkgBuilder = require(libDir + '/pkg_builder');
var projectBuilder = require(libDir + '/project_builder');
var mocks = require('../../../helpers/mocks');
var yaml = require('js-yaml');
@@ -46,11 +47,19 @@
expect(outputGenerator).toEqual(mockGenerator);
});
it('should do nothing',
it('should add eslint and eslint-config-openstack to the project',
function () {
var spy = spyOn(mockGenerator, 'prompt');
pkgBuilder.fromJSON('{"devDependencies":{}}');
var devDeps = pkgBuilder.getValue('devDependencies');
expect(devDeps.eslint).not.toBeDefined();
expect(devDeps['eslint-config-openstack']).not.toBeDefined();
eslint.prompt(mockGenerator);
expect(spy.calls.any()).toBeFalsy();
devDeps = pkgBuilder.getValue('devDependencies');
expect(devDeps.eslint).toBeDefined();
expect(devDeps['eslint-config-openstack']).toBeDefined();
});
});