Add feature to disable component
This commit is contained in:
parent
bfcd3ff15e
commit
2c4b6f06a4
|
@ -480,7 +480,9 @@ function resolveMiddlewareParams(rootDir, params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildComponentInstructions(rootDir, componentConfig) {
|
function buildComponentInstructions(rootDir, componentConfig) {
|
||||||
return Object.keys(componentConfig).map(function(name) {
|
return Object.keys(componentConfig)
|
||||||
|
.filter(function(name) { return !!componentConfig[name]; })
|
||||||
|
.map(function(name) {
|
||||||
var sourceFile;
|
var sourceFile;
|
||||||
if (name.indexOf('./') === 0 || name.indexOf('../') === 0) {
|
if (name.indexOf('./') === 0 || name.indexOf('../') === 0) {
|
||||||
// Relative path
|
// Relative path
|
||||||
|
|
|
@ -468,9 +468,27 @@ describe('executor', function() {
|
||||||
|
|
||||||
boot(app, appdir.PATH);
|
boot(app, appdir.PATH);
|
||||||
|
|
||||||
|
expect(Object.keys(require.cache)).to.include(
|
||||||
|
appdir.resolve('components/test-component/index.js'));
|
||||||
|
|
||||||
expect(app.componentOptions).to.eql({ option: 'value' });
|
expect(app.componentOptions).to.eql({ option: 'value' });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('disables component when configuration is not set', function() {
|
||||||
|
appdir.writeConfigFileSync('component-config.json', {
|
||||||
|
'./components/test-component': false
|
||||||
|
});
|
||||||
|
|
||||||
|
appdir.writeFileSync('components/test-component/index.js',
|
||||||
|
'module.exports = ' +
|
||||||
|
'function(app, options) { app.componentOptions = options; }');
|
||||||
|
|
||||||
|
boot(app, appdir.PATH);
|
||||||
|
|
||||||
|
expect(Object.keys(require.cache)).to.not.include(
|
||||||
|
appdir.resolve('components/test-component/index.js'));
|
||||||
|
});
|
||||||
|
|
||||||
it('configures middleware (that requires `this`)', function(done) {
|
it('configures middleware (that requires `this`)', function(done) {
|
||||||
var passportPath = require.resolve('./fixtures/passport');
|
var passportPath = require.resolve('./fixtures/passport');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue