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:
@@ -1,6 +1,7 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var pkgBuilder = require('../pkg_builder');
|
||||||
var projectBuilder = require('../project_builder');
|
var projectBuilder = require('../project_builder');
|
||||||
var yaml = require('js-yaml');
|
var yaml = require('js-yaml');
|
||||||
|
|
||||||
@@ -10,12 +11,17 @@
|
|||||||
var eslintrc = {extends: 'openstack'};
|
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.
|
* @param {generator} generator The currently active generator.
|
||||||
* @returns {generator} The passed generator, for promise chaining.
|
* @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;
|
return generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +105,7 @@
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
init: initializeEslint,
|
init: initializeEslint,
|
||||||
prompt: noop,
|
prompt: promptEslint,
|
||||||
configure: configureEslint
|
configure: configureEslint
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
var mockEslintIgnore = ['node_modules', 'bower_components', 'dist'];
|
var mockEslintIgnore = ['node_modules', 'bower_components', 'dist'];
|
||||||
|
|
||||||
var eslint = require(libDir + '/component/eslint');
|
var eslint = require(libDir + '/component/eslint');
|
||||||
|
var pkgBuilder = require(libDir + '/pkg_builder');
|
||||||
var projectBuilder = require(libDir + '/project_builder');
|
var projectBuilder = require(libDir + '/project_builder');
|
||||||
var mocks = require('../../../helpers/mocks');
|
var mocks = require('../../../helpers/mocks');
|
||||||
var yaml = require('js-yaml');
|
var yaml = require('js-yaml');
|
||||||
@@ -46,11 +47,19 @@
|
|||||||
expect(outputGenerator).toEqual(mockGenerator);
|
expect(outputGenerator).toEqual(mockGenerator);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should do nothing',
|
it('should add eslint and eslint-config-openstack to the project',
|
||||||
function () {
|
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);
|
eslint.prompt(mockGenerator);
|
||||||
expect(spy.calls.any()).toBeFalsy();
|
|
||||||
|
devDeps = pkgBuilder.getValue('devDependencies');
|
||||||
|
expect(devDeps.eslint).toBeDefined();
|
||||||
|
expect(devDeps['eslint-config-openstack']).toBeDefined();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user