Thus if the user application is written in es6 promises with async/await, and have to return a bluebird promise in order to use bookshelf transactions, it becomes a burden to translate.
The bookshelf.transaction is an alias for knex.transaction(http://bookshelfjs.org/#Bookshelf-instance-transaction), and the knex.transaction uses any as a return type instead of promise.
I updated the return type of the user supplied function to PromiseLike, which both es6 and bluebird promises implement.
Tested with both bluebird and es6 promises.
* Fix first round of weak type errors
Done through griddle-react
* 95% done with weak type fixes
* Fix last couple of weak type errors
* Remove some lint from mithril tests
* mithril's Lifecycle is not a weak type any more
Restore the Lifecycle constraints in the rest of the definitions.
* Fix react-redux tests after #16652 broke them
* Remove package-lock.json
* fetchAll supports same parameters as fetch
Latest Bookshelf's instance.fetchAll calls collection.fetch() with
given options, ie. it supports the same options than fetch.
For example
(new User).fetchAll({columns: ['id', 'name']}).then(...)
* Update version number
* Revert "Update version number"
This reverts commit cf4a3e6c51554d75f5408acd23bb0fade6acafef.
* remove extra slash from contributor's name
* Bookshelf Model#orderBy and Collection#orderBy
orderBt introduced in Bookshelf 0.9.3
* [bookshelf] orderBy explicit parameters instead of ...args
* [bookshelf] Use a type for sort order