Merge branch 'release/2.5.2' into production

This commit is contained in:
Miroslav Bajtoš 2014-12-19 15:21:42 +01:00
commit 6a442f8307
4 changed files with 24 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-12-19, Version 2.5.2
=========================
* Dedupe boot scripts (Eric Satterwhite)
2014-12-08, Version 2.5.1
=========================

View File

@ -6,6 +6,7 @@ var toposort = require('toposort');
var ConfigLoader = require('./config-loader');
var debug = require('debug')('loopback:boot:compiler');
var Module = require('module');
var _ = require('lodash');
/**
* Gather all bootstrap-related configuration data and compile it into
@ -61,6 +62,10 @@ module.exports = function compile(options) {
bootScripts = bootScripts.concat(findScripts(dir));
});
// de-dedup boot scripts -ERS
// https://github.com/strongloop/loopback-boot/issues/64
bootScripts = _.uniq(bootScripts);
var modelsMeta = modelsConfig._meta || {};
delete modelsConfig._meta;

View File

@ -1,6 +1,6 @@
{
"name": "loopback-boot",
"version": "2.5.1",
"version": "2.5.2",
"description": "Convention-based bootstrapper for LoopBack applications",
"keywords": [
"StrongLoop",

View File

@ -405,6 +405,18 @@ describe('compiler', function() {
expect(instructions.files.boot).to.eql([initJs]);
});
it('should remove duplicate scripts', function() {
appdir.createConfigFilesSync();
var initJs = appdir.writeFileSync('custom-boot/init.js',
'module.exports = function(app) { app.fnCalled = true; };');
var instructions = boot.compile({
appRootDir: appdir.PATH,
bootDirs:[path.dirname(initJs)],
bootScripts: [initJs]
});
expect(instructions.files.boot).to.eql([initJs]);
});
it('ignores models/ subdirectory', function() {
appdir.createConfigFilesSync();
appdir.writeFileSync('models/my-model.js', '');