- refactor logic of processing artifacts into their own classes
- introduce Container as the main class for bootstrapping and build a
registry of handlers during boot to organize them by a hierarchy
denoted by path
- adopt middleware like registration and invocation
- container.use(path, handler)
- container.run(context, done)
- allow more phases during boot
- boot is now asynchronous
* Replace fs.existsSync calls with fs.statSync (Joshua Estrin Skrzypek)
* Change test cases port to be dynamic (David Cheung)
* Globalization for Loopback-boot (David Cheung)
* executor: move "booted" and cb() to the next tick (Miroslav Bajtoš)
* Fix lodash 4.0.0 breaking changes (Jérémie Drouet)
* When config is overriden with null don't merge (Farid Neshat)
* Fix the build failure (Raymond Feng)
* Fix the model-config/datasource merge (Raymond Feng)
* Resolved style issue (Dennis Ashby)
* Added code to allow model-config to respect model-config.local.js and model-config.env.js as do other config files. (Dennis Ashby)
* Add jsdoc for `options.mixinSources` (Miroslav Bajtoš)
* allow middleware to be optional (Hage Yaapa)
* Support iisnode using named pipes as PORT value (Jonathan Sheely)
* support 'mixinsources' option (Pradnya Baviskar)
* compiler: Simplify verifyModelDefinitions() (Miroslav Bajtoš)
* Fix coding style issues, add API docs (Miroslav Bajtoš)
* Extend options arg to support custom model definitions (Shlomi Assaf)
* add support for mixins - [mixinDirs]: List of directories to look for files containing model mixin definition. (Pradnya Baviskar)
* Upgrade lodash and drop underscore.string (Bryan Clark)
* add console.error message to a bad require in a boot script (Bryan Clark)
* Support per-application registry of models (Miroslav Bajtoš)
* Use filename as default value for Model name (Pradnya Baviskar)
* compiler: code cleanup (Miroslav Bajtoš)
* Improve the resolution of relative paths - resolve module relative path for component - prioritize coffeescript over json (Pradnya Baviskar)
* Resolve module paths as relative to appRootDir - for middleware (Pradnya Baviskar)
* Support for multiple apps in browserified bundle. (Krishna Raman)
* Resolve missing file extension for module relative paths (Pradnya Baviskar)
* Resolve module paths as relative to appRootDir (Pradnya Baviskar)
* Resolve relative paths in using appRootDir (Pradnya Baviskar)
* Add feature to disable component (Pradnya Baviskar)
* Fix test for different line endings on Windows (Pradnya Baviskar)
* Refactor unit test assertions to be more specific (Simon Ho)
* Add unit test to verify `app.booting flag status (Simon Ho)
Update to the latest version of "lodash" to use the string functions
included and drop the usage of "underscore.string".
Existing tests run checks for `flying-car` definitions to be named
`FlyingCar` so there doesn’t seem to be a need to add more checks.
`isFinite` changed from the older version of lodash to no longer coerce
strings into numbers, this commit adds a call of `parseInt` before
checking whether the value is a finite number.
`parseInt` on an undefined returns NaN which isFinite does not identify
as a number.
While changing this part, the code was reworked to use `Number.isFinite`
and thus the executor no longer depends on lodash. This should reduce
the size of the browser bundle.