Before this change, when resolving full connector path, all errors were
ignored. As a result, when the connector was installed but not
correctly built (e.g. loopback-connector-db2 which uses a native addon),
a very confusing message was reported by LoopBack.
In this commit, I am fixing the code handling `require()` errors
to ignore only MODULE_NOT_FOUND errors that contain the name
of the required module.
* Add missing "done" arg in test/kvao/ttl.suite (Miroslav Bajtoš)
* Support nested queries for arrays (pponugo)
* Refactor TTL tests for KV memory connector (Simon Ho)
* Fix test case for expire (Simon Ho)
* Fix failures of upsertWithWhere (Amir Jafarian)
* Remove expired item before executing expire (Simon Ho)
* Disable `strict` for a few files (Amir Jafarian)
* Partition by foreign key for pagination (Raymond Feng)
* Fix style errors (Raymond Feng)
* fix remaining eslint issues (Miroslav Bajtoš)
* eslint --fix (Miroslav Bajtoš)
* Add eslint as "npm run lint" and "posttest" hook (Miroslav Bajtoš)
* Remove unused support/ files (Miroslav Bajtoš)
* Insert copyright headers (Ryan Graham)
* Relicense as MIT only (Ryan Graham)
* Fix Mongo compatibility issue (Amir Jafarian)
* Add automigrate to setup tables for replace test cases (Amir Jafarian)
* Allow test folder to be published (Amir Jafarian)
* support custom field settings under the connector's namespace (bitmage)
* Update error message for missing connector (gunjpan)
* Fix tests for mysql (Amir Jafarian)
* Add forgotten unit test (Miroslav Bajtoš)
* fix nin support for in memory datasource (Horia Radu)
* Improve error message on connector init error (Miroslav Bajtoš)
* discoverSchemas returns an error when modelName is not found, discoverSchema forwards that error and does not hang when no columns, no errors are returned (bitmage)
Rework the test script to call directly mocha and skip Makefile. This
allows CI enviroments to detect that this module is using Mocha as
the test runner.
* Explicitly initialize column of partition by clause and pass it in find()'s options argument (eugene-frb)
* Fix for issue #774 (Pradeep Kumar Tippa)
* silence a warning that introduced in bluebird 3.0 (Clark Wang)
* fixed a bug where an error was sent to the updateAttributesCallback and then ignored (Abe BW)
* Capture includeHasMany() as a find()'s caller by findCaller option (eugene-frb)
* UpdateAttributes: Raises an error if database fails (Wilson Júnior)
* fixes#753 (Joseph M. Persie)
* typo fix (nennad)
* Fix foreignKey length issue (nennad)
* Correction of a regression introduced by commit 632898b: when querying an empty array ([]) with a 'neq' filter, there were no matching. (Michael Diguet)
* dropped unused functions and tests fixed (Wert_Lex)
* One more comment (Wert_Lex)
* Looks better now (Wert_Lex)
* home-written map extended with proper .set() method (Wert_Lex)
* on the halfway to keeping original keys (Wert_Lex)
* with updated map which stores original key and tests for them (Wert_Lex)
* Moved inst initialization to place where it used (Wert_Lex)
* All tests passed (Wert_Lex)
* Dirty merge. Tests are broken (Wert_Lex)
* include utils add. Tests ported to should.js (Wert_Lex)
* Fix the typo (Raymond Feng)
* fix typo (Clark Wang)
* fix global leak that mocha complains (Clark Wang)
* Refer to licenses with a link (Sam Roberts)
* Added missing callback when a model is not found (Federico Rampazzo)
* Rewrite of variable (mdartic)
* Filtering relations of a model with an order specified (mdartic)
* Ability to define normalization of undefined query (Ryan Schumacher)
* findByIds would fail when an array of 0 length was passed as its first argument (James Cooke)
* Use strongloop conventions for licensing (Sam Roberts)
* Fix id comparision in tests so that they work with mongodb object id (Raymond Feng)
* Update validations.js (Rand McKinney)
* Add support for using UUID V4 as defaultFn (Bram Borggreve)
* primaryKey for hasMany and belongsTo relations (sklyukin)
* primaryKey to hasOne relation (sklyukin)
* Add direct copmarison value for array matching (Laurent Villeneuve)
* Add support for matching array values à la mongo. (Laurent Villeneuve)
* Fixed ReferencesMany .findById to check the given id in the ids array of the model instance (Satyadeep)
* Support embedded query in memory connector. Fix memory connector bug (Laurent Villeneuve)
* Use idEquals when comparing ids in relation definitions (Laurent Villeneuve)
* Handle possible undefined id (Laurent Villeneuve)
* Fix id copmarison by using strings (Laurent Villeneuve)
* Refactor idEquals to utils (Raymond Feng)
* Do not coerce RegExp objects to strings (Simon Ho)
* Indicate result of destroyById/protototype.destroy (Fabien Franzen)
* Removed extra ")" (Chris Finn)
* Fixed typo & added the filter units (Chris Finn)
* Remove test for unused utility function (Simon Ho)
* Remove try/catch from find function (Simon Ho)
* Add support for regex operator (Simon Ho)
* Async 'loaded' hook for find (Pradnya Baviskar)
* Promisify all 'discover' methods (Pradnya Baviskar)
* Fix 'persist' hook for updateAttributes() (Pradnya Baviskar)
* Add NOTICE (Raymond Feng)
* prevent upsert overwriting default values with applyDefaultValues option (Bryan Clark)
* use fromDb to deserialize data after save in Memory connector (Bryan Clark)
* Correctly handle validatesUniquenessOf(idName) (Fabien Franzen)
* Assert the existence of instance (Raymond Feng)
* Make sure operator/options are honored (Raymond Feng)
* Fix coercion from ObjectID to String (Raymond Feng)
* Fix#623 - use actual id order (Fabien Franzen)
* test: fix persistence-hooks failures in MySQL (Miroslav Bajtoš)
* Includes with transaction support (Rus1)
* Fix updateOrCreate transaction propagation (Rus1)
* Fix promise chaining in case of error (Rus1)
* Promisify 'autoupdate' (Pradnya Baviskar)
* Add new hook 'loaded' (Pradnya Baviskar)
* Promisify 'automigrate' (Pradnya Baviskar)
* check object exists before setting __cachedRelations (ningsuhen)
* Fix the test case as updateAll takes `where` directly (Raymond Feng)
* Fix for issues #622 & #623 (ningsuhen)
* Add new hook 'persist' (Pradnya Baviskar)
* Create a script to describe operation hooks (Miroslav Bajtoš)
* Allow 0 as the FK (Raymond Feng)
* fix typo (Clark Wang)
* Dedupe ids args of inq for include (Raymond Feng)
* Enhance the apis and add more tests (Raymond Feng)
* Fix for https://github.com/strongloop/loopback/issues/1401 (Raymond Feng)
* Fix ReferenceError: definition is not defined (Dmitry Manannikov)
* Mix in observer apis to the connector (Raymond Feng)
* Enhance fieldsToArray to consider strict mode (Raymond Feng)
* Fix the target id resolution (Raymond Feng)
* DB Call Optimization in relation includes - Fixes#408 & #166 (ningsuhen)
* Conditionally pass options to connector CRUD methods (Raymond Feng)
* Pass-through options from save to create (Fabien Franzen)
* dao: support validateUpsert:false (Miroslav Bajtoš)
* Changes to API docs per Dennis (Rand McKinney)
* Add unit-test for "array" type (Miroslav Bajtoš)
* Fix test for "after save" called on save/CREATE (Miroslav Bajtoš)
* Code cleanup in lib/dao.js (Miroslav Bajtoš)
* Save parent model of embedded relations (Fabien Franzen)
* Pass options in operation hooks context. (Fabien Franzen)
* check if id does not exist a bit more explicitly (Pulkit Singhal)
* Fix persistUndefinedAsNull tests w/ SQL connectors (Miroslav Bajtoš)
* Implement scope.updateAll (Fabien Franzen)
* Fix the test cases so that they be run with the mssql connector (Raymond Feng)
* Add model setting "persistUndefinedAsNull" (Miroslav Bajtoš)
* Add abilities to remove and clear observers - Operation Hooks. (0angelic0)
* Code cleanup in updateAll/deleteAll (Miroslav Bajtoš)
* Return scope object from DAO.scope (Fabien Franzen)
* Remove all usages of lodash. (Miroslav Bajtoš)
* Clean up delete and update tests (Simon Ho)
* Clean up wording in update/delete tests (Simon Ho)
* Fix wording in update test (Simon Ho)
* Properly support embedsMany destroyAll (Fabien Franzen)
* Clean up update/delete manipulation tests (Simon Ho)
* test: fix test failure in MySQL connector (Miroslav Bajtoš)
* Improve test failure messages (Miroslav Bajtoš)
* Fix regression in prototype.save (Miroslav Bajtoš)
* Enable more CRUD remoting methods for embedsOne (Fabien Franzen)
* Implement scope.findOne (Fabien Franzen)
* use findOrCreate for HasManyThrough#create (Clark Wang)
* Enhance id comparision for updateAttributes (Raymond Feng)
* Enable custom methods on singular relations (Fabien Franzen)
* Implement scope.findById (Fabien Franzen)
* Fix updateAll callback in "transient" connector (Miroslav Bajtoš)
* Memory connector returns updated records count (Simon Ho)
* Add ctx.isNewInstance for "save" hooks (Miroslav Bajtoš)
* deleteAll returns number of deleted records (Miroslav Bajtoš)
* Use the correct way to iterate over an array (Raymond Feng)
* DAO: Fix updateOrCreate to set persisted:true (Miroslav Bajtoš)
* Reject CREATE with a duplicate id (Miroslav Bajtoš)
* add tests for between in memory connector (Daniel B. Vasquez)
* enable between filter for memory db connector (Daniel B. Vasquez)
* fix#429 Multiple Models can't mixin same class (Clark Wang)
This commit is dropping lodash in favour of hand-written implementation
based on ES5 Array methods. As a result, the size of the (unminified)
loopback browser bundle is decreased by approx 360KB.