App variables can now be specified in component-config.json using
the ${var} format. The value of var is looked up using app.get().
This allows loopback explorer and other loopback components which
require app variables, to be loaded declaratively using
component-config.json.
App variables can now be specified in middleware.json using the ${var}
format. The value of var is looked up using app.get().
This allows loopback.rest and other loopback middleware which require
app variables, to be loaded declaratively using middleware.json.
* 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)
When loading middleware configured in "middleware.json", loopback-boot
used to require() the full path to middleware's module main file,
for example "node_modules/strong-express-metrics/index.js".
This is breaking strong-agent probes, as it's difficult to detect
when the intercepted module (e.g. "strong-express-metrics") was loaded.
This commit modifies the compiler to omit the tail (the path to the
module main source file) when requiring middleware.
Because tryResolveAppPath returns undefined when it can’t resolve a
path the debug output for directories that cannot be resolved is fairly
useless.
You get output like this:
loopback👢compiler Skipping unknown module source dir undefined
+0ms
When you want output like this:
loopback👢compiler Skipping unknown module source dir "./models"
+0ms
* 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)
Port can't be number checked to support iisnode. Using a parseInt()
or number isNumber function won't work if we want to support iisnode
which uses named pipes for ports (ex. \\.\pipe\mypipe)
Extend the options argument of boot/compile to allow the developer
to supply custom model definitions (to replace the result of
findModelDefinitions). Together with the existing options.models,
it allows to specify all model-related data and still use the benefits
which loopback-boot provides (most notably loading models in order
defined by inheritance, i.e. base models are loaded before models that
are extending them).
Use the global `isFinite` function to find the first valid port
number. This is the same behaviour as `_.isFinite` in lodash@2.x.
As a result, only values that are a valid number are accepted, e.g.
"0" is accepted but "0xy" is not.