From 3c9c453291b83c564a416096b2023d7f45257dec Mon Sep 17 00:00:00 2001 From: Arda TANRIKULU Date: Sun, 6 May 2018 10:43:14 -0400 Subject: [PATCH] Release 0.4.11 * support rxjs 6 * Fix imports for rxjs 6 migration --- .gitignore | 3 + CHANGELOG.md | 364 +-- README.md | 16 +- dist/MeteorObservable.d.ts | 2 +- dist/MeteorObservable.js | 2 +- dist/MeteorObservable.js.map | 2 +- dist/ObservableCollection.d.ts | 2 +- dist/ObservableCollection.js | 2 +- dist/ObservableCollection.js.map | 2 +- dist/ObservableCursor.d.ts | 2 +- dist/ObservableCursor.js | 3 +- dist/ObservableCursor.js.map | 2 +- dist/bundles/index.umd.js | 27 +- dist/utils.d.ts | 2 +- dist/zone.d.ts | 12 +- dist/zone.js | 8 +- dist/zone.js.map | 2 +- examples/angular2/package.json | 4 +- package.json | 125 +- rollup.config.js | 16 +- src/MeteorObservable.ts | 475 ++- src/ObservableCollection.ts | 633 ++-- src/ObservableCursor.ts | 380 ++- src/utils.ts | 150 +- src/zone.ts | 97 +- tests/client/unit/meteor-observable.spec.ts | 214 +- .../client/unit/observable-collection.spec.ts | 118 +- tests/client/unit/observable-cursor.spec.ts | 468 +-- tests/client/unit/zone-operator.spec.ts | 15 +- tests/package-lock.json | 2241 +++++++++++++ tests/package.json | 12 +- tests/yarn.lock | 304 +- tsconfig.json | 2 +- yarn.lock | 2865 ++++++++--------- 34 files changed, 5386 insertions(+), 3186 deletions(-) create mode 100644 tests/package-lock.json diff --git a/.gitignore b/.gitignore index 7ae921ea..f6289398 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ node_modules typings .npm npm-debug.log +package-lock.json +*.log + diff --git a/CHANGELOG.md b/CHANGELOG.md index ff1b038f..496746b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,182 +1,182 @@ - -## 0.4.9 (2018-03-17) - -* bug fixes ([85383ed](https://github.com/Urigo/mongo-rxjs-observable/commit/85383ed)) -* bump version ([da88a37](https://github.com/Urigo/mongo-rxjs-observable/commit/da88a37)) -* change rxjs imports to best practice for better performance ([f4887a5](https://github.com/Urigo/mongo-rxjs-observable/commit/f4887a5)) -* fix version bump ([6b8fead](https://github.com/Urigo/mongo-rxjs-observable/commit/6b8fead)) -* fixes ([05d1e67](https://github.com/Urigo/mongo-rxjs-observable/commit/05d1e67)) -* make dependencies compatible with both angular and meteor ([bcdc720](https://github.com/Urigo/mongo-rxjs-observable/commit/bcdc720)) -* removed old tslint config ([e6530b2](https://github.com/Urigo/mongo-rxjs-observable/commit/e6530b2)) -* Replace 'meteor-typings' with '@types/meteor' ([791ba31](https://github.com/Urigo/mongo-rxjs-observable/commit/791ba31)) -* rollup configuration fixed ([23d1ea5](https://github.com/Urigo/mongo-rxjs-observable/commit/23d1ea5)) -* Store subscriptionIds to handle re-subscriptions ([8ddd5f1](https://github.com/Urigo/mongo-rxjs-observable/commit/8ddd5f1)) -* try to fix meteor typings issue ([e1eb411](https://github.com/Urigo/mongo-rxjs-observable/commit/e1eb411)) -* Update documentation for MeteorObservable ([c7816ba](https://github.com/Urigo/mongo-rxjs-observable/commit/c7816ba)) -* update README.md ([a67078c](https://github.com/Urigo/mongo-rxjs-observable/commit/a67078c)) -* update rollup.config.js ([a5c4565](https://github.com/Urigo/mongo-rxjs-observable/commit/a5c4565)) -* update test script ([e0ff15c](https://github.com/Urigo/mongo-rxjs-observable/commit/e0ff15c)) -* updated all deps and some minor fixes ([58b0fda](https://github.com/Urigo/mongo-rxjs-observable/commit/58b0fda)) -* updated changelog ([cb9697f](https://github.com/Urigo/mongo-rxjs-observable/commit/cb9697f)) -* refactor(deps): renovate pin dependencies packages ([b967636](https://github.com/Urigo/mongo-rxjs-observable/commit/b967636)) -* fix: return empty array when find yield no results ([b09c6af](https://github.com/Urigo/mongo-rxjs-observable/commit/b09c6af)) - - -## 0.4.8 (2017-09-13) -* updated all dependencies -* updated tests project to latest Meteor version -* Fix: return empty array when find yield no results [#103](https://github.com/Urigo/meteor-rxjs/pull/103) -* Fix multiple MeteorObservable.subscribe calls with identical arguments [#76](https://github.com/Urigo/meteor-rxjs/pull/76) - - -## 0.4.7 (2016-12-21) - -* chore: add ref to the main ES6 module in package.json (for bundling) ([b5f7bab](https://github.com/Urigo/mongo-rxjs-observable/commit/b5f7bab)) -* chore: remove browser from package.json (not needed) ([6b30a15](https://github.com/Urigo/mongo-rxjs-observable/commit/6b30a15)) -* chore(bithound): fixed unused ([7353c76](https://github.com/Urigo/mongo-rxjs-observable/commit/7353c76)) -* chore(bithound): ignore examples directory ([00f6712](https://github.com/Urigo/mongo-rxjs-observable/commit/00f6712)) -* chore(bithound): ignore zone.js ([2364061](https://github.com/Urigo/mongo-rxjs-observable/commit/2364061)) -* chore(build): fixed build ([28ac86a](https://github.com/Urigo/mongo-rxjs-observable/commit/28ac86a)) -* chore(dependencies): cleanup and generated dist ([f4debe4](https://github.com/Urigo/mongo-rxjs-observable/commit/f4debe4)) -* chore(dependencies): updated tslint ([d979b06](https://github.com/Urigo/mongo-rxjs-observable/commit/d979b06)) -* chore(deps): update rxjs ([48967df](https://github.com/Urigo/mongo-rxjs-observable/commit/48967df)) -* chore(license): add license file ([edf365c](https://github.com/Urigo/mongo-rxjs-observable/commit/edf365c)) -* chore(package): update @types/mocha to version 2.2.34 ([5de0f13](https://github.com/Urigo/mongo-rxjs-observable/commit/5de0f13)) -* chore(package): update @types/underscore to version 1.7.34 ([54b6e15](https://github.com/Urigo/mongo-rxjs-observable/commit/54b6e15)) -* chore(package): update @types/underscore to version 1.7.35 ([2962f0e](https://github.com/Urigo/mongo-rxjs-observable/commit/2962f0e)) -* chore(package): update @types/underscore to version 1.7.36 ([f863cc9](https://github.com/Urigo/mongo-rxjs-observable/commit/f863cc9)) -* chore(package): update es6-shim to version 0.35.2 ([7a69239](https://github.com/Urigo/mongo-rxjs-observable/commit/7a69239)) -* chore(package): update rollup to version 0.36.4 ([5f727a5](https://github.com/Urigo/mongo-rxjs-observable/commit/5f727a5)) -* chore(package): update rollup to version 0.37.0 ([d00522e](https://github.com/Urigo/mongo-rxjs-observable/commit/d00522e)) -* chore(package): update rollup to version 0.37.1 ([24cd297](https://github.com/Urigo/mongo-rxjs-observable/commit/24cd297)) -* chore(package): update tslint to version 4.0.1 ([36aecea](https://github.com/Urigo/mongo-rxjs-observable/commit/36aecea)) -* chore(package): update tslint to version 4.1.0 ([cb0d60a](https://github.com/Urigo/mongo-rxjs-observable/commit/cb0d60a)) -* chore(package): update typescript to version 2.0.10 ([daacf21](https://github.com/Urigo/mongo-rxjs-observable/commit/daacf21)) -* chore(package): update typescript to version 2.1.4 ([1226d43](https://github.com/Urigo/mongo-rxjs-observable/commit/1226d43)) -* chore(package): update zone.js to version 0.7.3 ([4aec29a](https://github.com/Urigo/mongo-rxjs-observable/commit/4aec29a)) -* chore(package): update zone.js to version 0.7.4 ([4a322e3](https://github.com/Urigo/mongo-rxjs-observable/commit/4a322e3)) -* chore(sourcemap): added missing source map files ([4d62b9c](https://github.com/Urigo/mongo-rxjs-observable/commit/4d62b9c)) -* chore(types): some minor fixes for new typings ([cc7215c](https://github.com/Urigo/mongo-rxjs-observable/commit/cc7215c)) -* release(0.4.6): release new version ([e7210b3](https://github.com/Urigo/mongo-rxjs-observable/commit/e7210b3)) -* tests(version): updated meteor version for tests project ([a041b6d](https://github.com/Urigo/mongo-rxjs-observable/commit/a041b6d)) -* removed old tslint config ([e6530b2](https://github.com/Urigo/mongo-rxjs-observable/commit/e6530b2)) -* Replace 'meteor-typings' with '@types/meteor' ([b0d35e1](https://github.com/Urigo/mongo-rxjs-observable/commit/b0d35e1)) -* Update documentation for MeteorObservable ([c7816ba](https://github.com/Urigo/mongo-rxjs-observable/commit/c7816ba)) -* docs(MeteorObservable): Generated new docs ([0b56dd6](https://github.com/Urigo/mongo-rxjs-observable/commit/0b56dd6)) - - - - -## 0.4.5 (2016-11-15) - -* chore(changelog): Minor fix ([49049a9](https://github.com/Urigo/mongo-rxjs-observable/commit/49049a9)) -* chore(changelog): updated changelog ([ec411b5](https://github.com/Urigo/mongo-rxjs-observable/commit/ec411b5)) -* chore(changelog): Updated changelog files ([025e825](https://github.com/Urigo/mongo-rxjs-observable/commit/025e825)) -* chore(compiler): fixed compiler version ([1d9cb43](https://github.com/Urigo/mongo-rxjs-observable/commit/1d9cb43)) -* chore(package): added greenkeeper config ([385c8c5](https://github.com/Urigo/mongo-rxjs-observable/commit/385c8c5)) -* chore(package): update @types/mocha to version 2.2.33 ([947f930](https://github.com/Urigo/mongo-rxjs-observable/commit/947f930)) -* chore(package): update typescript to version 2.0.9 ([05e2320](https://github.com/Urigo/mongo-rxjs-observable/commit/05e2320)) -* chore(README): Added npm version badge ([5e142cf](https://github.com/Urigo/mongo-rxjs-observable/commit/5e142cf)) -* chore(tests): added yarn lock file to tests app ([8edbe83](https://github.com/Urigo/mongo-rxjs-observable/commit/8edbe83)) -* chore(tests): fixes for missing package dependency ([572db5a](https://github.com/Urigo/mongo-rxjs-observable/commit/572db5a)) -* chore(tests): reverted yarn from tests app ([ab7da65](https://github.com/Urigo/mongo-rxjs-observable/commit/ab7da65)) -* chore(tests): updated tests application to use latest Meteor ([c3e40f6](https://github.com/Urigo/mongo-rxjs-observable/commit/c3e40f6)) -* chore(version): bump ([fbdddb9](https://github.com/Urigo/mongo-rxjs-observable/commit/fbdddb9)) -* chore(yarn): use yarn and added missing typings file ([ffdaa8f](https://github.com/Urigo/mongo-rxjs-observable/commit/ffdaa8f)) - - - - -## 0.4.4 (2016-11-09) - -* chore(changelog): update CHANGELOG ([b3584de](https://github.com/Urigo/mongo-rxjs-observable/commit/b3584de)) -* chore(changelog): updated based on commits ([88e11a6](https://github.com/Urigo/mongo-rxjs-observable/commit/88e11a6)) -* chore(npmignore): Added npm ignore file ([b914e13](https://github.com/Urigo/mongo-rxjs-observable/commit/b914e13)) -* chore(package): update dependencies ([2296123](https://github.com/Urigo/mongo-rxjs-observable/commit/2296123)) - - - - -## 0.4.3 (2016-11-03) - -* chore(changelog): Added auto generated changelog ([80dfa46](https://github.com/Urigo/mongo-rxjs-observable/commit/80dfa46)) -* chore(lint): Added bitHound badges ([7c034f1](https://github.com/Urigo/mongo-rxjs-observable/commit/7c034f1)) -* chore(lint): Added bitHound, Updated dependencies and lint issues ([36dfe7f](https://github.com/Urigo/mongo-rxjs-observable/commit/36dfe7f)) -* chore(package.json): bump version ([21ccc90](https://github.com/Urigo/mongo-rxjs-observable/commit/21ccc90)) -* chore(README): Updated badge ([efbd509](https://github.com/Urigo/mongo-rxjs-observable/commit/efbd509)) -* chore(release): bump ([c6f9bba](https://github.com/Urigo/mongo-rxjs-observable/commit/c6f9bba)) -* chore(scripts): Added build and clean before tests ([bd889de](https://github.com/Urigo/mongo-rxjs-observable/commit/bd889de)) -* chore(scripts): Added changelog script ([094b688](https://github.com/Urigo/mongo-rxjs-observable/commit/094b688)) -* chore(scripts): Removed typings script ([3060b1e](https://github.com/Urigo/mongo-rxjs-observable/commit/3060b1e)) -* chore(travis): Fixes for global modules ([0528ac0](https://github.com/Urigo/mongo-rxjs-observable/commit/0528ac0)) -* chore(typescript): Removed typings from travis script ([424001c](https://github.com/Urigo/mongo-rxjs-observable/commit/424001c)) -* chore(typescript): Replace typings with @types and fixed TS issues ([ae96888](https://github.com/Urigo/mongo-rxjs-observable/commit/ae96888)) -* bugfix(types): Fixes array type of Observable in find() ([7a3f0f5](https://github.com/Urigo/mongo-rxjs-observable/commit/7a3f0f5)) -* ci(README): Added ci badge to README ([bb2f480](https://github.com/Urigo/mongo-rxjs-observable/commit/bb2f480)) -* ci(travis): Added missing npm globals ([3c92baa](https://github.com/Urigo/mongo-rxjs-observable/commit/3c92baa)) -* ci(travis): Added missing npm install ([cad2a94](https://github.com/Urigo/mongo-rxjs-observable/commit/cad2a94)) -* ci(travis): Added missing package ([3802b70](https://github.com/Urigo/mongo-rxjs-observable/commit/3802b70)) -* ci(travis): Added pre test to the ci script ([5ba3396](https://github.com/Urigo/mongo-rxjs-observable/commit/5ba3396)) -* ci(travis): remove cache ([9b566ca](https://github.com/Urigo/mongo-rxjs-observable/commit/9b566ca)) -* ci(travis): Updated travis file ([a12f42d](https://github.com/Urigo/mongo-rxjs-observable/commit/a12f42d)) -* ci(travis): Updated travis file ([34dcc3e](https://github.com/Urigo/mongo-rxjs-observable/commit/34dcc3e)) -* docs(script): small fix ([02306d8](https://github.com/Urigo/mongo-rxjs-observable/commit/02306d8)) -* examples(angular2): Added angular2+meteor-ngrx with OnPush example ([9d97b51](https://github.com/Urigo/mongo-rxjs-observable/commit/9d97b51)) -* feat(multiple-subscribers): Applied another solution ([bc789db](https://github.com/Urigo/mongo-rxjs-observable/commit/bc789db)) -* feat(multiple-subscribers): Updated dist version and docs ([82b8a09](https://github.com/Urigo/mongo-rxjs-observable/commit/82b8a09)) -* feat(multiple-subscribers): Added publishReplay to the created Observable ([31f7698](https://github.com/Urigo/mongo-rxjs-observable/commit/31f7698)) - - - - -## 0.4.1 (2016-11-01) - -* chore: bump rxjs dep ([de35ef9](https://github.com/Urigo/mongo-rxjs-observable/commit/de35ef9)) -* chore: ship NPM with ES6 modules and UMD bundle (which is referenced in package.json) ([afd95f1](https://github.com/Urigo/mongo-rxjs-observable/commit/afd95f1)) -* chore: tests, ts 2.0, types, ci ([e65fefa](https://github.com/Urigo/mongo-rxjs-observable/commit/e65fefa)) -* chore(bugfix): Added Tracker.autorun, and fixed issue with "subscribe" and the complete ([55dc88b](https://github.com/Urigo/mongo-rxjs-observable/commit/55dc88b)) -* chore(bugfix): Small fix in autorun ([106ffd4](https://github.com/Urigo/mongo-rxjs-observable/commit/106ffd4)) -* chore(collection): Added ability to wrap existing Mongo.Collection ([18c384f](https://github.com/Urigo/mongo-rxjs-observable/commit/18c384f)) -* chore(collection): Added ability to wrap existing Mongo.Collection ([d49e7bb](https://github.com/Urigo/mongo-rxjs-observable/commit/d49e7bb)) -* chore(collection): Changed the method name ([de33898](https://github.com/Urigo/mongo-rxjs-observable/commit/de33898)) -* chore(README): Added link to the API docs ([02d6f45](https://github.com/Urigo/mongo-rxjs-observable/commit/02d6f45)) -* chore(release): publish 0.2.3 ([17ed794](https://github.com/Urigo/mongo-rxjs-observable/commit/17ed794)) -* chore(release): publish 0.4.0 ([3b5bbf6](https://github.com/Urigo/mongo-rxjs-observable/commit/3b5bbf6)) -* chore(release): release 0.2.0 ([20f36f7](https://github.com/Urigo/mongo-rxjs-observable/commit/20f36f7)) -* chore(release): Release 0.3.0 ([68bc3b6](https://github.com/Urigo/mongo-rxjs-observable/commit/68bc3b6)) -* chore(tests): Added npm script for test and test:ci ([d275404](https://github.com/Urigo/mongo-rxjs-observable/commit/d275404)) -* chore(tests): Added unit tests for movedTo ([a254b96](https://github.com/Urigo/mongo-rxjs-observable/commit/a254b96)) -* chore(tests): Updated tests Meteor version to the latest ([703708f](https://github.com/Urigo/mongo-rxjs-observable/commit/703708f)) -* chore(tests): Updated tests scripts ([4beae33](https://github.com/Urigo/mongo-rxjs-observable/commit/4beae33)) -* chore(version): bump ([59772ff](https://github.com/Urigo/mongo-rxjs-observable/commit/59772ff)) -* feat: initial course code ([e163f52](https://github.com/Urigo/mongo-rxjs-observable/commit/e163f52)) -* feat: run subscriber callbacks in the current zone, i.e. zone operator can use most outer zone propa ([ec08c91](https://github.com/Urigo/mongo-rxjs-observable/commit/ec08c91)) -* feat(count): Added collectionCount Observable and it's tests ([4b027c6](https://github.com/Urigo/mongo-rxjs-observable/commit/4b027c6)) -* feat(jsdoc): Added documentation and build version, and docs generation script ([00e546a](https://github.com/Urigo/mongo-rxjs-observable/commit/00e546a)) -* feat(jsdoc): document MeteorObservable class ([c63917d](https://github.com/Urigo/mongo-rxjs-observable/commit/c63917d)) -* feat(jsdoc): Document ObservableCollection and ObservableCursor ([4b7391a](https://github.com/Urigo/mongo-rxjs-observable/commit/4b7391a)) -* feat(jsdoc): Fixed a typo ([50deb25](https://github.com/Urigo/mongo-rxjs-observable/commit/50deb25)) -* feat(jsdoc): Minor fixes for docs generation scripts ([ec051df](https://github.com/Urigo/mongo-rxjs-observable/commit/ec051df)) -* feat(jsdoc): Updated docs generation scripts and updated docs ([ded2eff](https://github.com/Urigo/mongo-rxjs-observable/commit/ded2eff)) -* feat(jsdoc): Updated documentation ([32413d2](https://github.com/Urigo/mongo-rxjs-observable/commit/32413d2)) -* bugfix(moved-to): Added missing callback and handler for moving items inside a collection ([e79af51](https://github.com/Urigo/mongo-rxjs-observable/commit/e79af51)) -* bugfix(multiple-subscribers): Attempt to fix the multiple subscribers issue ([ace9c78](https://github.com/Urigo/mongo-rxjs-observable/commit/ace9c78)) -* bugfix(multiple-subscribers): Revert :( ([f65a5e4](https://github.com/Urigo/mongo-rxjs-observable/commit/f65a5e4)) -* docs: correct readme ([58d9b8f](https://github.com/Urigo/mongo-rxjs-observable/commit/58d9b8f)) -* docs: readme ([24dc190](https://github.com/Urigo/mongo-rxjs-observable/commit/24dc190)) -* docs: readme ([2830da3](https://github.com/Urigo/mongo-rxjs-observable/commit/2830da3)) -* docs: readme ([a7ba861](https://github.com/Urigo/mongo-rxjs-observable/commit/a7ba861)) -* docs: readme ([d91c202](https://github.com/Urigo/mongo-rxjs-observable/commit/d91c202)) -* docs: readme ([6dda077](https://github.com/Urigo/mongo-rxjs-observable/commit/6dda077)) -* docs: readme ([1a7d6d2](https://github.com/Urigo/mongo-rxjs-observable/commit/1a7d6d2)) -* docs: readme ([7b43e16](https://github.com/Urigo/mongo-rxjs-observable/commit/7b43e16)) -* fix: #14 ([21b1a39](https://github.com/Urigo/mongo-rxjs-observable/commit/21b1a39)) -* .gitignore, useful. ([db1fe79](https://github.com/Urigo/mongo-rxjs-observable/commit/db1fe79)) -* Add complete() support to zone operator ([dc05322](https://github.com/Urigo/mongo-rxjs-observable/commit/dc05322)) -* Correctly reference the typings in package.json to enable imports. ([c836860](https://github.com/Urigo/mongo-rxjs-observable/commit/c836860)) -* Fix devDep of rxjs - use beta.12 ([801b134](https://github.com/Urigo/mongo-rxjs-observable/commit/801b134)) -* Fixed typo. ([5c7c3a5](https://github.com/Urigo/mongo-rxjs-observable/commit/5c7c3a5)) -* refactor: rename package to meteor-rxjs ([aff3619](https://github.com/Urigo/mongo-rxjs-observable/commit/aff3619)) - - - + +## 0.4.9 (2018-03-17) + +* bug fixes ([85383ed](https://github.com/Urigo/mongo-rxjs-observable/commit/85383ed)) +* bump version ([da88a37](https://github.com/Urigo/mongo-rxjs-observable/commit/da88a37)) +* change rxjs imports to best practice for better performance ([f4887a5](https://github.com/Urigo/mongo-rxjs-observable/commit/f4887a5)) +* fix version bump ([6b8fead](https://github.com/Urigo/mongo-rxjs-observable/commit/6b8fead)) +* fixes ([05d1e67](https://github.com/Urigo/mongo-rxjs-observable/commit/05d1e67)) +* make dependencies compatible with both angular and meteor ([bcdc720](https://github.com/Urigo/mongo-rxjs-observable/commit/bcdc720)) +* removed old tslint config ([e6530b2](https://github.com/Urigo/mongo-rxjs-observable/commit/e6530b2)) +* Replace 'meteor-typings' with '@types/meteor' ([791ba31](https://github.com/Urigo/mongo-rxjs-observable/commit/791ba31)) +* rollup configuration fixed ([23d1ea5](https://github.com/Urigo/mongo-rxjs-observable/commit/23d1ea5)) +* Store subscriptionIds to handle re-subscriptions ([8ddd5f1](https://github.com/Urigo/mongo-rxjs-observable/commit/8ddd5f1)) +* try to fix meteor typings issue ([e1eb411](https://github.com/Urigo/mongo-rxjs-observable/commit/e1eb411)) +* Update documentation for MeteorObservable ([c7816ba](https://github.com/Urigo/mongo-rxjs-observable/commit/c7816ba)) +* update README.md ([a67078c](https://github.com/Urigo/mongo-rxjs-observable/commit/a67078c)) +* update rollup.config.js ([a5c4565](https://github.com/Urigo/mongo-rxjs-observable/commit/a5c4565)) +* update test script ([e0ff15c](https://github.com/Urigo/mongo-rxjs-observable/commit/e0ff15c)) +* updated all deps and some minor fixes ([58b0fda](https://github.com/Urigo/mongo-rxjs-observable/commit/58b0fda)) +* updated changelog ([cb9697f](https://github.com/Urigo/mongo-rxjs-observable/commit/cb9697f)) +* refactor(deps): renovate pin dependencies packages ([b967636](https://github.com/Urigo/mongo-rxjs-observable/commit/b967636)) +* fix: return empty array when find yield no results ([b09c6af](https://github.com/Urigo/mongo-rxjs-observable/commit/b09c6af)) + + +## 0.4.8 (2017-09-13) +* updated all dependencies +* updated tests project to latest Meteor version +* Fix: return empty array when find yield no results [#103](https://github.com/Urigo/meteor-rxjs/pull/103) +* Fix multiple MeteorObservable.subscribe calls with identical arguments [#76](https://github.com/Urigo/meteor-rxjs/pull/76) + + +## 0.4.7 (2016-12-21) + +* chore: add ref to the main ES6 module in package.json (for bundling) ([b5f7bab](https://github.com/Urigo/mongo-rxjs-observable/commit/b5f7bab)) +* chore: remove browser from package.json (not needed) ([6b30a15](https://github.com/Urigo/mongo-rxjs-observable/commit/6b30a15)) +* chore(bithound): fixed unused ([7353c76](https://github.com/Urigo/mongo-rxjs-observable/commit/7353c76)) +* chore(bithound): ignore examples directory ([00f6712](https://github.com/Urigo/mongo-rxjs-observable/commit/00f6712)) +* chore(bithound): ignore zone.js ([2364061](https://github.com/Urigo/mongo-rxjs-observable/commit/2364061)) +* chore(build): fixed build ([28ac86a](https://github.com/Urigo/mongo-rxjs-observable/commit/28ac86a)) +* chore(dependencies): cleanup and generated dist ([f4debe4](https://github.com/Urigo/mongo-rxjs-observable/commit/f4debe4)) +* chore(dependencies): updated tslint ([d979b06](https://github.com/Urigo/mongo-rxjs-observable/commit/d979b06)) +* chore(deps): update rxjs ([48967df](https://github.com/Urigo/mongo-rxjs-observable/commit/48967df)) +* chore(license): add license file ([edf365c](https://github.com/Urigo/mongo-rxjs-observable/commit/edf365c)) +* chore(package): update @types/mocha to version 2.2.34 ([5de0f13](https://github.com/Urigo/mongo-rxjs-observable/commit/5de0f13)) +* chore(package): update @types/underscore to version 1.7.34 ([54b6e15](https://github.com/Urigo/mongo-rxjs-observable/commit/54b6e15)) +* chore(package): update @types/underscore to version 1.7.35 ([2962f0e](https://github.com/Urigo/mongo-rxjs-observable/commit/2962f0e)) +* chore(package): update @types/underscore to version 1.7.36 ([f863cc9](https://github.com/Urigo/mongo-rxjs-observable/commit/f863cc9)) +* chore(package): update es6-shim to version 0.35.2 ([7a69239](https://github.com/Urigo/mongo-rxjs-observable/commit/7a69239)) +* chore(package): update rollup to version 0.36.4 ([5f727a5](https://github.com/Urigo/mongo-rxjs-observable/commit/5f727a5)) +* chore(package): update rollup to version 0.37.0 ([d00522e](https://github.com/Urigo/mongo-rxjs-observable/commit/d00522e)) +* chore(package): update rollup to version 0.37.1 ([24cd297](https://github.com/Urigo/mongo-rxjs-observable/commit/24cd297)) +* chore(package): update tslint to version 4.0.1 ([36aecea](https://github.com/Urigo/mongo-rxjs-observable/commit/36aecea)) +* chore(package): update tslint to version 4.1.0 ([cb0d60a](https://github.com/Urigo/mongo-rxjs-observable/commit/cb0d60a)) +* chore(package): update typescript to version 2.0.10 ([daacf21](https://github.com/Urigo/mongo-rxjs-observable/commit/daacf21)) +* chore(package): update typescript to version 2.1.4 ([1226d43](https://github.com/Urigo/mongo-rxjs-observable/commit/1226d43)) +* chore(package): update zone.js to version 0.7.3 ([4aec29a](https://github.com/Urigo/mongo-rxjs-observable/commit/4aec29a)) +* chore(package): update zone.js to version 0.7.4 ([4a322e3](https://github.com/Urigo/mongo-rxjs-observable/commit/4a322e3)) +* chore(sourcemap): added missing source map files ([4d62b9c](https://github.com/Urigo/mongo-rxjs-observable/commit/4d62b9c)) +* chore(types): some minor fixes for new typings ([cc7215c](https://github.com/Urigo/mongo-rxjs-observable/commit/cc7215c)) +* release(0.4.6): release new version ([e7210b3](https://github.com/Urigo/mongo-rxjs-observable/commit/e7210b3)) +* tests(version): updated meteor version for tests project ([a041b6d](https://github.com/Urigo/mongo-rxjs-observable/commit/a041b6d)) +* removed old tslint config ([e6530b2](https://github.com/Urigo/mongo-rxjs-observable/commit/e6530b2)) +* Replace 'meteor-typings' with '@types/meteor' ([b0d35e1](https://github.com/Urigo/mongo-rxjs-observable/commit/b0d35e1)) +* Update documentation for MeteorObservable ([c7816ba](https://github.com/Urigo/mongo-rxjs-observable/commit/c7816ba)) +* docs(MeteorObservable): Generated new docs ([0b56dd6](https://github.com/Urigo/mongo-rxjs-observable/commit/0b56dd6)) + + + + +## 0.4.5 (2016-11-15) + +* chore(changelog): Minor fix ([49049a9](https://github.com/Urigo/mongo-rxjs-observable/commit/49049a9)) +* chore(changelog): updated changelog ([ec411b5](https://github.com/Urigo/mongo-rxjs-observable/commit/ec411b5)) +* chore(changelog): Updated changelog files ([025e825](https://github.com/Urigo/mongo-rxjs-observable/commit/025e825)) +* chore(compiler): fixed compiler version ([1d9cb43](https://github.com/Urigo/mongo-rxjs-observable/commit/1d9cb43)) +* chore(package): added greenkeeper config ([385c8c5](https://github.com/Urigo/mongo-rxjs-observable/commit/385c8c5)) +* chore(package): update @types/mocha to version 2.2.33 ([947f930](https://github.com/Urigo/mongo-rxjs-observable/commit/947f930)) +* chore(package): update typescript to version 2.0.9 ([05e2320](https://github.com/Urigo/mongo-rxjs-observable/commit/05e2320)) +* chore(README): Added npm version badge ([5e142cf](https://github.com/Urigo/mongo-rxjs-observable/commit/5e142cf)) +* chore(tests): added yarn lock file to tests app ([8edbe83](https://github.com/Urigo/mongo-rxjs-observable/commit/8edbe83)) +* chore(tests): fixes for missing package dependency ([572db5a](https://github.com/Urigo/mongo-rxjs-observable/commit/572db5a)) +* chore(tests): reverted yarn from tests app ([ab7da65](https://github.com/Urigo/mongo-rxjs-observable/commit/ab7da65)) +* chore(tests): updated tests application to use latest Meteor ([c3e40f6](https://github.com/Urigo/mongo-rxjs-observable/commit/c3e40f6)) +* chore(version): bump ([fbdddb9](https://github.com/Urigo/mongo-rxjs-observable/commit/fbdddb9)) +* chore(yarn): use yarn and added missing typings file ([ffdaa8f](https://github.com/Urigo/mongo-rxjs-observable/commit/ffdaa8f)) + + + + +## 0.4.4 (2016-11-09) + +* chore(changelog): update CHANGELOG ([b3584de](https://github.com/Urigo/mongo-rxjs-observable/commit/b3584de)) +* chore(changelog): updated based on commits ([88e11a6](https://github.com/Urigo/mongo-rxjs-observable/commit/88e11a6)) +* chore(npmignore): Added npm ignore file ([b914e13](https://github.com/Urigo/mongo-rxjs-observable/commit/b914e13)) +* chore(package): update dependencies ([2296123](https://github.com/Urigo/mongo-rxjs-observable/commit/2296123)) + + + + +## 0.4.3 (2016-11-03) + +* chore(changelog): Added auto generated changelog ([80dfa46](https://github.com/Urigo/mongo-rxjs-observable/commit/80dfa46)) +* chore(lint): Added bitHound badges ([7c034f1](https://github.com/Urigo/mongo-rxjs-observable/commit/7c034f1)) +* chore(lint): Added bitHound, Updated dependencies and lint issues ([36dfe7f](https://github.com/Urigo/mongo-rxjs-observable/commit/36dfe7f)) +* chore(package.json): bump version ([21ccc90](https://github.com/Urigo/mongo-rxjs-observable/commit/21ccc90)) +* chore(README): Updated badge ([efbd509](https://github.com/Urigo/mongo-rxjs-observable/commit/efbd509)) +* chore(release): bump ([c6f9bba](https://github.com/Urigo/mongo-rxjs-observable/commit/c6f9bba)) +* chore(scripts): Added build and clean before tests ([bd889de](https://github.com/Urigo/mongo-rxjs-observable/commit/bd889de)) +* chore(scripts): Added changelog script ([094b688](https://github.com/Urigo/mongo-rxjs-observable/commit/094b688)) +* chore(scripts): Removed typings script ([3060b1e](https://github.com/Urigo/mongo-rxjs-observable/commit/3060b1e)) +* chore(travis): Fixes for global modules ([0528ac0](https://github.com/Urigo/mongo-rxjs-observable/commit/0528ac0)) +* chore(typescript): Removed typings from travis script ([424001c](https://github.com/Urigo/mongo-rxjs-observable/commit/424001c)) +* chore(typescript): Replace typings with @types and fixed TS issues ([ae96888](https://github.com/Urigo/mongo-rxjs-observable/commit/ae96888)) +* bugfix(types): Fixes array type of Observable in find() ([7a3f0f5](https://github.com/Urigo/mongo-rxjs-observable/commit/7a3f0f5)) +* ci(README): Added ci badge to README ([bb2f480](https://github.com/Urigo/mongo-rxjs-observable/commit/bb2f480)) +* ci(travis): Added missing npm globals ([3c92baa](https://github.com/Urigo/mongo-rxjs-observable/commit/3c92baa)) +* ci(travis): Added missing npm install ([cad2a94](https://github.com/Urigo/mongo-rxjs-observable/commit/cad2a94)) +* ci(travis): Added missing package ([3802b70](https://github.com/Urigo/mongo-rxjs-observable/commit/3802b70)) +* ci(travis): Added pre test to the ci script ([5ba3396](https://github.com/Urigo/mongo-rxjs-observable/commit/5ba3396)) +* ci(travis): remove cache ([9b566ca](https://github.com/Urigo/mongo-rxjs-observable/commit/9b566ca)) +* ci(travis): Updated travis file ([a12f42d](https://github.com/Urigo/mongo-rxjs-observable/commit/a12f42d)) +* ci(travis): Updated travis file ([34dcc3e](https://github.com/Urigo/mongo-rxjs-observable/commit/34dcc3e)) +* docs(script): small fix ([02306d8](https://github.com/Urigo/mongo-rxjs-observable/commit/02306d8)) +* examples(angular2): Added angular2+meteor-ngrx with OnPush example ([9d97b51](https://github.com/Urigo/mongo-rxjs-observable/commit/9d97b51)) +* feat(multiple-subscribers): Applied another solution ([bc789db](https://github.com/Urigo/mongo-rxjs-observable/commit/bc789db)) +* feat(multiple-subscribers): Updated dist version and docs ([82b8a09](https://github.com/Urigo/mongo-rxjs-observable/commit/82b8a09)) +* feat(multiple-subscribers): Added publishReplay to the created Observable ([31f7698](https://github.com/Urigo/mongo-rxjs-observable/commit/31f7698)) + + + + +## 0.4.1 (2016-11-01) + +* chore: bump rxjs dep ([de35ef9](https://github.com/Urigo/mongo-rxjs-observable/commit/de35ef9)) +* chore: ship NPM with ES6 modules and UMD bundle (which is referenced in package.json) ([afd95f1](https://github.com/Urigo/mongo-rxjs-observable/commit/afd95f1)) +* chore: tests, ts 2.0, types, ci ([e65fefa](https://github.com/Urigo/mongo-rxjs-observable/commit/e65fefa)) +* chore(bugfix): Added Tracker.autorun, and fixed issue with "subscribe" and the complete ([55dc88b](https://github.com/Urigo/mongo-rxjs-observable/commit/55dc88b)) +* chore(bugfix): Small fix in autorun ([106ffd4](https://github.com/Urigo/mongo-rxjs-observable/commit/106ffd4)) +* chore(collection): Added ability to wrap existing Mongo.Collection ([18c384f](https://github.com/Urigo/mongo-rxjs-observable/commit/18c384f)) +* chore(collection): Added ability to wrap existing Mongo.Collection ([d49e7bb](https://github.com/Urigo/mongo-rxjs-observable/commit/d49e7bb)) +* chore(collection): Changed the method name ([de33898](https://github.com/Urigo/mongo-rxjs-observable/commit/de33898)) +* chore(README): Added link to the API docs ([02d6f45](https://github.com/Urigo/mongo-rxjs-observable/commit/02d6f45)) +* chore(release): publish 0.2.3 ([17ed794](https://github.com/Urigo/mongo-rxjs-observable/commit/17ed794)) +* chore(release): publish 0.4.0 ([3b5bbf6](https://github.com/Urigo/mongo-rxjs-observable/commit/3b5bbf6)) +* chore(release): release 0.2.0 ([20f36f7](https://github.com/Urigo/mongo-rxjs-observable/commit/20f36f7)) +* chore(release): Release 0.3.0 ([68bc3b6](https://github.com/Urigo/mongo-rxjs-observable/commit/68bc3b6)) +* chore(tests): Added npm script for test and test:ci ([d275404](https://github.com/Urigo/mongo-rxjs-observable/commit/d275404)) +* chore(tests): Added unit tests for movedTo ([a254b96](https://github.com/Urigo/mongo-rxjs-observable/commit/a254b96)) +* chore(tests): Updated tests Meteor version to the latest ([703708f](https://github.com/Urigo/mongo-rxjs-observable/commit/703708f)) +* chore(tests): Updated tests scripts ([4beae33](https://github.com/Urigo/mongo-rxjs-observable/commit/4beae33)) +* chore(version): bump ([59772ff](https://github.com/Urigo/mongo-rxjs-observable/commit/59772ff)) +* feat: initial course code ([e163f52](https://github.com/Urigo/mongo-rxjs-observable/commit/e163f52)) +* feat: run subscriber callbacks in the current zone, i.e. zone operator can use most outer zone propa ([ec08c91](https://github.com/Urigo/mongo-rxjs-observable/commit/ec08c91)) +* feat(count): Added collectionCount Observable and it's tests ([4b027c6](https://github.com/Urigo/mongo-rxjs-observable/commit/4b027c6)) +* feat(jsdoc): Added documentation and build version, and docs generation script ([00e546a](https://github.com/Urigo/mongo-rxjs-observable/commit/00e546a)) +* feat(jsdoc): document MeteorObservable class ([c63917d](https://github.com/Urigo/mongo-rxjs-observable/commit/c63917d)) +* feat(jsdoc): Document ObservableCollection and ObservableCursor ([4b7391a](https://github.com/Urigo/mongo-rxjs-observable/commit/4b7391a)) +* feat(jsdoc): Fixed a typo ([50deb25](https://github.com/Urigo/mongo-rxjs-observable/commit/50deb25)) +* feat(jsdoc): Minor fixes for docs generation scripts ([ec051df](https://github.com/Urigo/mongo-rxjs-observable/commit/ec051df)) +* feat(jsdoc): Updated docs generation scripts and updated docs ([ded2eff](https://github.com/Urigo/mongo-rxjs-observable/commit/ded2eff)) +* feat(jsdoc): Updated documentation ([32413d2](https://github.com/Urigo/mongo-rxjs-observable/commit/32413d2)) +* bugfix(moved-to): Added missing callback and handler for moving items inside a collection ([e79af51](https://github.com/Urigo/mongo-rxjs-observable/commit/e79af51)) +* bugfix(multiple-subscribers): Attempt to fix the multiple subscribers issue ([ace9c78](https://github.com/Urigo/mongo-rxjs-observable/commit/ace9c78)) +* bugfix(multiple-subscribers): Revert :( ([f65a5e4](https://github.com/Urigo/mongo-rxjs-observable/commit/f65a5e4)) +* docs: correct readme ([58d9b8f](https://github.com/Urigo/mongo-rxjs-observable/commit/58d9b8f)) +* docs: readme ([24dc190](https://github.com/Urigo/mongo-rxjs-observable/commit/24dc190)) +* docs: readme ([2830da3](https://github.com/Urigo/mongo-rxjs-observable/commit/2830da3)) +* docs: readme ([a7ba861](https://github.com/Urigo/mongo-rxjs-observable/commit/a7ba861)) +* docs: readme ([d91c202](https://github.com/Urigo/mongo-rxjs-observable/commit/d91c202)) +* docs: readme ([6dda077](https://github.com/Urigo/mongo-rxjs-observable/commit/6dda077)) +* docs: readme ([1a7d6d2](https://github.com/Urigo/mongo-rxjs-observable/commit/1a7d6d2)) +* docs: readme ([7b43e16](https://github.com/Urigo/mongo-rxjs-observable/commit/7b43e16)) +* fix: #14 ([21b1a39](https://github.com/Urigo/mongo-rxjs-observable/commit/21b1a39)) +* .gitignore, useful. ([db1fe79](https://github.com/Urigo/mongo-rxjs-observable/commit/db1fe79)) +* Add complete() support to zone operator ([dc05322](https://github.com/Urigo/mongo-rxjs-observable/commit/dc05322)) +* Correctly reference the typings in package.json to enable imports. ([c836860](https://github.com/Urigo/mongo-rxjs-observable/commit/c836860)) +* Fix devDep of rxjs - use beta.12 ([801b134](https://github.com/Urigo/mongo-rxjs-observable/commit/801b134)) +* Fixed typo. ([5c7c3a5](https://github.com/Urigo/mongo-rxjs-observable/commit/5c7c3a5)) +* refactor: rename package to meteor-rxjs ([aff3619](https://github.com/Urigo/mongo-rxjs-observable/commit/aff3619)) + + + diff --git a/README.md b/README.md index 9e3be357..d8f98020 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,13 @@ Since this cursor observable is of RxJS’s type, every other methods and operat ```ts -import {Observable} from 'rxjs/Observable'; +import {Observable} from 'rxjs'; -import 'rxjs/add/operator/debounce'; +import {debounce, map} from 'rxjs/operators'; Tasks.find({checked: false}) - .debounce(() => Observable.interval(50)) - .map(tasks => tasks.length) + .pipe(debounce(() => Observable.interval(50))) + .pipe(map(tasks => tasks.length)) .subscribe(todoCount => console.log(todoCount)); ``` @@ -58,6 +58,7 @@ One of the realizations of this integration is `AsyncPipe`, which is supposed to In order to subscribe on the Mongo cursor observable's updates and iterate through the returned list of docs in Angular, one can use `AsyncPipe` in an Angular component as follows: ```ts +import { MongoObservable, zoneOperator } from 'rxjs'; const Tasks = new MongoObservable.Collection('tasks'); @@ -66,14 +67,14 @@ const Tasks = new MongoObservable.Collection('tasks'); template: `
` }) class Tasks { - tasks = Tasks.find().zone(); + tasks = Tasks.find().pipe(zoneOperator()); } ```` ### Zone operator -As you can see above we called `zone` method of the cursor observable. This is a special +As you can see above we called `zoneOperator` operator of the cursor observable. This is a special Zone operator that is implemeted by `meteor-rxjs` for the Angular users' convenience. This operator runs ngZone each time when new data arrives to the Mongo cursor observable, thus we force UI updates at the right time using it. @@ -85,7 +86,8 @@ In this case we are using Zone operator as well: class List { tasks = Tasks.find() - .debounce(() => Observable.interval(50)) + .pipe(zoneOperator()) + .pipe(debounce(() => Observable.interval(50))) .zone(); } diff --git a/dist/MeteorObservable.d.ts b/dist/MeteorObservable.d.ts index 13c83729..8830b6f1 100644 --- a/dist/MeteorObservable.d.ts +++ b/dist/MeteorObservable.d.ts @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; /** * This is a class with static methods that wrap Meteor's API and return RxJS * Observables. The methods' signatures are the same as Meteor's, with the ] diff --git a/dist/MeteorObservable.js b/dist/MeteorObservable.js index cadd34f4..eb82d2e4 100644 --- a/dist/MeteorObservable.js +++ b/dist/MeteorObservable.js @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; import { isMeteorCallbacks, forkZone, removeObserver } from './utils'; var liveSubscriptions = []; function throwInvalidCallback(method) { diff --git a/dist/MeteorObservable.js.map b/dist/MeteorObservable.js.map index 1a5f22b7..0b314bad 100644 --- a/dist/MeteorObservable.js.map +++ b/dist/MeteorObservable.js.map @@ -1 +1 @@ -{"version":3,"file":"MeteorObservable.js","sourceRoot":"","sources":["../src/MeteorObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"MeteorObservable.js","sourceRoot":"","sources":["../src/MeteorObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ObservableCollection.d.ts b/dist/ObservableCollection.d.ts index a1967f09..eeae053f 100644 --- a/dist/ObservableCollection.d.ts +++ b/dist/ObservableCollection.d.ts @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; import { ObservableCursor } from './ObservableCursor'; import Selector = Mongo.Selector; import ObjectID = Mongo.ObjectID; diff --git a/dist/ObservableCollection.js b/dist/ObservableCollection.js index 5d340b02..084806c1 100644 --- a/dist/ObservableCollection.js +++ b/dist/ObservableCollection.js @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; import { ObservableCursor } from './ObservableCursor'; import { removeObserver } from './utils'; export var MongoObservable; diff --git a/dist/ObservableCollection.js.map b/dist/ObservableCollection.js.map index fbb0faca..f47744be 100644 --- a/dist/ObservableCollection.js.map +++ b/dist/ObservableCollection.js.map @@ -1 +1 @@ -{"version":3,"file":"ObservableCollection.js","sourceRoot":"","sources":["../src/ObservableCollection.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ObservableCollection.js","sourceRoot":"","sources":["../src/ObservableCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQzC,MAAM,KAAQ,eAAe,CAkR5B;AAlRD,WAAc,eAAe;IAC3B,YAAY,CAAC;IAgBb;;;;;;OAMG;IACH,sBAAgC,UAA+B;QAC7D,MAAM,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAFe,4BAAY,eAE3B,CAAA;IAED;;;;;;;OAOG;IACH;QAGE;;;;;;;WAOG;QACH,oBAAY,cAA4C,EAC5C,OAA4B;YACtC,EAAE,CAAC,CAAC,cAAc,YAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,UAAU,CAAY,cAAc,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAMD,sBAAI,kCAAU;YAJd;;;eAGG;iBACH;gBACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAC1B,CAAC;;;WAAA;QAED;;;;WAIG;QACH,0BAAK,GAAL,UAAM,OAAkC;YACtC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED;;;;WAIG;QACH,yBAAI,GAAJ,UAAK,OAAkC;YACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED;;;;;;;WAOG;QACH,kCAAa,GAAb;YACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAC1C,CAAC;QAED;;;;;;;WAOG;QACH,gCAAW,GAAX;YACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC;QAED;;;;;;;;WAQG;QACH,2BAAM,GAAN,UAAO,GAAM;YACX,IAAI,SAAS,GAAyB,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAS,SAAS,CAAC,CAAC;YAEpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EACzB,UAAC,KAAmB,EAAE,KAAa;gBACjC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;oBACxB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAED;;;;;;;WAOG;QACH,2BAAM,GAAN,UAAO,QAAsC;YAC3C,IAAI,SAAS,GAAyB,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAS,SAAS,CAAC,CAAC;YAEpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAC9B,UAAC,KAAmB,EAAE,OAAe;gBACnC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;oBACxB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEL,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAED;;;;;;;;;;WAUG;QACH,2BAAM,GAAN,UAAO,QAAsC,EACtC,QAAkB,EAClB,OAAgD;YACrD,IAAI,SAAS,GAAyB,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAS,SAAS,CAAC,CAAC;YAEpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EACjD,UAAC,KAAmB,EAAE,OAAe;gBACnC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;oBACxB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEL,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAED;;;;;;;;;;;WAWG;QACH,2BAAM,GAAN,UAAO,QAAsC,EACtC,QAAkB,EAClB,OAA8B;YACnC,IAAI,SAAS,GAAyB,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAS,SAAS,CAAC,CAAC;YAEpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EACjD,UAAC,KAAmB,EAAE,QAAgB;gBACpC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;oBACxB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEL,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,yBAAI,GAAJ,UAAK,QAAuC,EAAE,OAO7C;YACC,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CACxC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAI,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED;;;;;;;;WAQG;QACH,4BAAO,GAAP,UAAQ,QAAuC,EAAE,OAMhD;YACC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CACnC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;QAEO,sCAAiB,GAAzB,UAA6B,SAA0B;YACrD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,QAAuB;gBAC/C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,MAAM,CAAC;oBACL,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACH,iBAAC;IAAD,CAAC,AA7OD,IA6OC;IA7OY,0BAAU,aA6OtB,CAAA;AACH,CAAC,EAlRa,eAAe,KAAf,eAAe,QAkR5B;AAGD;;;;;;;;GAQG;AAEH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;GAKG"} \ No newline at end of file diff --git a/dist/ObservableCursor.d.ts b/dist/ObservableCursor.d.ts index 901cbd24..c5909110 100644 --- a/dist/ObservableCursor.d.ts +++ b/dist/ObservableCursor.d.ts @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs/Observable'; +import { Observable } from 'rxjs'; export declare class ObservableCursor extends Observable { private _zone; private _data; diff --git a/dist/ObservableCursor.js b/dist/ObservableCursor.js index c34938f0..8297fab6 100644 --- a/dist/ObservableCursor.js +++ b/dist/ObservableCursor.js @@ -8,8 +8,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -import { Observable } from 'rxjs/Observable'; -import { Subject } from 'rxjs/Subject'; +import { Observable, Subject } from 'rxjs'; import { gZone, forkZone, removeObserver } from './utils'; var ObservableCursor = /** @class */ (function (_super) { __extends(ObservableCursor, _super); diff --git a/dist/ObservableCursor.js.map b/dist/ObservableCursor.js.map index 1fcbfe4a..6f168806 100644 --- a/dist/ObservableCursor.js.map +++ b/dist/ObservableCursor.js.map @@ -1 +1 @@ -{"version":3,"file":"ObservableCursor.js","sourceRoot":"","sources":["../src/ObservableCursor.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ObservableCursor.js","sourceRoot":"","sources":["../src/ObservableCursor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/bundles/index.umd.js b/dist/bundles/index.umd.js index 6c4c54f7..c8d621b8 100644 --- a/dist/bundles/index.umd.js +++ b/dist/bundles/index.umd.js @@ -1,8 +1,8 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs/Observable'), require('rxjs/Subject'), require('rxjs/Subscriber')) : - typeof define === 'function' && define.amd ? define(['exports', 'rxjs/Observable', 'rxjs/Subject', 'rxjs/Subscriber'], factory) : - (factory((global.meteor = global.meteor || {}, global.meteor.rxjs = {}),global.rxjs.Observable,global.rxjs.Subject,global.rxjs.Subscriber)); -}(this, (function (exports,Observable,Subject,Subscriber) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs')) : + typeof define === 'function' && define.amd ? define(['exports', 'rxjs'], factory) : + (factory((global.meteor = global.meteor || {}, global.meteor.rxjs = {}),global.rxjs)); +}(this, (function (exports,rxjs) { 'use strict'; var subscribeEvents = ['onReady', 'onError', 'onStop']; function isMeteorCallbacks(callbacks) { @@ -93,7 +93,7 @@ var ObservableCursor = /** @class */ (function (_super) { }) || this; _this._data = []; _this._observers = []; - _this._countObserver = new Subject.Subject(); + _this._countObserver = new rxjs.Subject(); _this._isDataInitinialized = false; _.extend(_this, _.omit(cursor, 'count', 'map')); _this._cursor = cursor; @@ -226,7 +226,7 @@ var ObservableCursor = /** @class */ (function (_super) { }); }); }; return ObservableCursor; -}(Observable.Observable)); +}(rxjs.Observable)); (function (MongoObservable) { 'use strict'; @@ -439,7 +439,7 @@ var ObservableCursor = /** @class */ (function (_super) { return this._collection.findOne.apply(this._collection, arguments); }; Collection.prototype._createObservable = function (observers) { - return Observable.Observable.create(function (observer) { + return rxjs.Observable.create(function (observer) { observers.push(observer); return function () { removeObserver(observers, observer); @@ -533,7 +533,7 @@ var MeteorObservable = /** @class */ (function () { throwInvalidCallback('MeteorObservable.call'); } var zone = forkZone(); - return Observable.Observable.create(function (observer) { + return rxjs.Observable.create(function (observer) { Meteor.call.apply(Meteor, [name].concat(args.concat([ function (error, result) { zone.run(function () { @@ -628,7 +628,7 @@ var MeteorObservable = /** @class */ (function () { ]))); }; var subHandler = null; - return Observable.Observable.create(function (observer) { + return rxjs.Observable.create(function (observer) { observers.push(observer); // Execute subscribe lazily. if (subHandler === null) { @@ -686,7 +686,7 @@ var MeteorObservable = /** @class */ (function () { }); }; var handler = null; - return Observable.Observable.create(function (observer) { + return rxjs.Observable.create(function (observer) { observers.push(observer); // Execute autorun lazily. if (handler === null) { @@ -710,9 +710,7 @@ var __extends$1 = (undefined && undefined.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -function zoneOperator(zone) { - return this.lift(new ZoneOperator(zone || getZone())); -} +var zoneOperator = function (zone) { return function (source) { return source.lift(new ZoneOperator(zone || getZone())); }; }; var ZoneOperator = /** @class */ (function () { function ZoneOperator(zone) { this.zone = zone; @@ -748,8 +746,7 @@ var ZoneSubscriber = /** @class */ (function (_super) { }); }; return ZoneSubscriber; -}(Subscriber.Subscriber)); -Observable.Observable.prototype.zone = zoneOperator; +}(rxjs.Subscriber)); exports.MeteorObservable = MeteorObservable; exports.ObservableCursor = ObservableCursor; diff --git a/dist/utils.d.ts b/dist/utils.d.ts index 52e534a8..56922e09 100644 --- a/dist/utils.d.ts +++ b/dist/utils.d.ts @@ -1,4 +1,4 @@ -import { Subscriber } from 'rxjs/Subscriber'; +import { Subscriber } from 'rxjs'; export declare type CallbacksObject = { onReady?: Function; onError?: Function; diff --git a/dist/zone.d.ts b/dist/zone.d.ts index 86e85135..dd3f2d82 100644 --- a/dist/zone.d.ts +++ b/dist/zone.d.ts @@ -1,11 +1,3 @@ /// -import { Observable } from 'rxjs/Observable'; -export declare function zoneOperator(zone?: Zone): Observable; -export interface ZoneSignature { - (zone?: Zone): Observable; -} -declare module 'rxjs/Observable' { - interface Observable { - zone: ZoneSignature; - } -} +import { Observable } from 'rxjs'; +export declare const zoneOperator: (zone?: Zone) => (source: Observable) => Observable<{}>; diff --git a/dist/zone.js b/dist/zone.js index be108bbb..691bd3cb 100644 --- a/dist/zone.js +++ b/dist/zone.js @@ -8,12 +8,9 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -import { Observable } from 'rxjs/Observable'; -import { Subscriber } from 'rxjs/Subscriber'; +import { Subscriber } from 'rxjs'; import { getZone } from './utils'; -export function zoneOperator(zone) { - return this.lift(new ZoneOperator(zone || getZone())); -} +export var zoneOperator = function (zone) { return function (source) { return source.lift(new ZoneOperator(zone || getZone())); }; }; var ZoneOperator = /** @class */ (function () { function ZoneOperator(zone) { this.zone = zone; @@ -50,5 +47,4 @@ var ZoneSubscriber = /** @class */ (function (_super) { }; return ZoneSubscriber; }(Subscriber)); -Observable.prototype.zone = zoneOperator; //# sourceMappingURL=zone.js.map \ No newline at end of file diff --git a/dist/zone.js.map b/dist/zone.js.map index c060332b..82494d1b 100644 --- a/dist/zone.js.map +++ b/dist/zone.js.map @@ -1 +1 @@ -{"version":3,"file":"zone.js","sourceRoot":"","sources":["../src/zone.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,uBAA0B,IAAW;IACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;IACE,sBAAoB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAC9B,CAAC;IAED,2BAAI,GAAJ,UAAK,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IACH,mBAAC;AAAD,CAAC,AAPD,IAOC;AAED;IAAgC,kCAAa;IAC3C,wBAAY,WAA0B,EAClB,IAAU;QAD9B,YAEE,kBAAM,WAAW,CAAC,SACnB;QAFmB,UAAI,GAAJ,IAAI,CAAM;;IAE9B,CAAC;IAES,8BAAK,GAAf,UAAgB,KAAQ;QAAxB,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAES,kCAAS,GAAnB;QAAA,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAES,+BAAM,GAAhB,UAAiB,GAAS;QAA1B,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACH,qBAAC;AAAD,CAAC,AAvBD,CAAgC,UAAU,GAuBzC;AAMD,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY,CAAC"} \ No newline at end of file +{"version":3,"file":"zone.js","sourceRoot":"","sources":["../src/zone.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,IAAM,YAAY,GAAG,UAAI,IAAW,IAAK,OAAA,UAAC,MAAqB,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,EAAhD,CAAgD,EAA3E,CAA2E,CAAC;AAG5H;IACE,sBAAoB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAC9B,CAAC;IAED,2BAAI,GAAJ,UAAK,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IACH,mBAAC;AAAD,CAAC,AAPD,IAOC;AAED;IAAgC,kCAAa;IAC3C,wBAAY,WAA0B,EAClB,IAAU;QAD9B,YAEE,kBAAM,WAAW,CAAC,SACnB;QAFmB,UAAI,GAAJ,IAAI,CAAM;;IAE9B,CAAC;IAES,8BAAK,GAAf,UAAgB,KAAQ;QAAxB,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAES,kCAAS,GAAnB;QAAA,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAES,+BAAM,GAAhB,UAAiB,GAAS;QAA1B,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACH,qBAAC;AAAD,CAAC,AAvBD,CAAgC,UAAU,GAuBzC"} \ No newline at end of file diff --git a/examples/angular2/package.json b/examples/angular2/package.json index 203c57e2..f6eda99d 100644 --- a/examples/angular2/package.json +++ b/examples/angular2/package.json @@ -11,8 +11,8 @@ "test:ci": "meteor test --once --driver-package dispatch:mocha-phantomjs" }, "devDependencies": { - "@types/chai": "3.5.2", - "@types/mocha": "2.2.43", + "@types/chai": "^3.4.33", + "@types/mocha": "^2.2.32", "chai": "3.5.0", "chai-spies": "0.7.1" }, diff --git a/package.json b/package.json index 0e7bd8ad..6a0ec4de 100644 --- a/package.json +++ b/package.json @@ -1,62 +1,63 @@ -{ - "name": "meteor-rxjs", - "version": "0.4.10", - "description": "Use Meteor API in RxJS style", - "keywords": [ - "rxjs", - "angular", - "angular2", - "meteor", - "mongo", - "typescript" - ], - "main": "dist/bundles/index.umd.js", - "module": "dist/index.js", - "typings": "dist/index.d.ts", - "scripts": { - "changelog": "$(npm bin)/conventional-changelog -p meteor-rxjs -i CHANGELOG.md -s -r 0", - "docs": "./generate-docs.sh", - "prebuild": "npm run lint", - "build": "npm run build-only && npm run bundle && npm run docs", - "prepublish": "npm run build", - "build-only": "tsc || echo not ok", - "pretest": "cd tests && rm -rf node_modules && npm install", - "test-ci": "npm run pretest && cd tests && meteor test --once --driver-package dispatch:mocha-phantomjs", - "test": "cd tests && meteor test --driver-package practicalmeteor:mocha", - "lint": "tslint src/**/*.ts", - "bundle": "rollup -i ./dist/index.js -o ./dist/bundles/index.umd.js -n meteor.rxjs -c rollup.config.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Urigo/mongo-rxjs-observable.git" - }, - "author": "Angular2-Meteor (https://github.com/Urigo/angular2-meteor)", - "license": "MIT", - "bugs": { - "url": "https://github.com/Urigo/mongo-rxjs-observable/issues" - }, - "homepage": "http://www.angular-meteor.com", - "peerDependencies": { - "@types/meteor": "^1.4.13", - "rxjs": "^5.4.3" - }, - "devDependencies": { - "@types/chai": "4.0.4", - "@types/meteor": "1.4.13", - "@types/mocha": "2.2.43", - "@types/underscore": "1.8.3", - "conventional-changelog": "1.1.0", - "conventional-changelog-cli": "1.2.0", - "jsdoc-to-markdown": "3.0.0", - "rollup": "0.49.3", - "rxjs": "5.5.7", - "tslint": "5.7.0", - "typescript": "2.7.2", - "zone.js": "0.8.20" - }, - "greenkeeper": { - "ignore": [ - "rxjs" - ] - } -} +{ + "name": "meteor-rxjs", + "version": "0.4.11", + "description": "Use Meteor API in RxJS style", + "keywords": [ + "rxjs", + "angular", + "angular2", + "meteor", + "mongo", + "typescript" + ], + "main": "dist/bundles/index.umd.js", + "module": "dist/index.js", + "typings": "dist/index.d.ts", + "scripts": { + "changelog": "$(npm bin)/conventional-changelog -p meteor-rxjs -i CHANGELOG.md -s -r 0", + "docs": "./generate-docs.sh", + "prebuild": "npm run lint", + "build": "npm run build-only && npm run bundle && npm run docs", + "prepublish": "npm run build", + "build-only": "tsc || echo not ok", + "pretest": "cd tests && rm -rf node_modules && npm install", + "test-ci": "npm run pretest && cd tests && meteor test --once --driver-package dispatch:mocha-phantomjs", + "test": "cd tests && meteor test --driver-package practicalmeteor:mocha", + "lint": "tslint src/**/*.ts", + "bundle": "rollup -i ./dist/index.js -o ./dist/bundles/index.umd.js -n meteor.rxjs -c rollup.config.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Urigo/mongo-rxjs-observable.git" + }, + "author": "Angular2-Meteor (https://github.com/Urigo/angular2-meteor)", + "license": "MIT", + "bugs": { + "url": "https://github.com/Urigo/mongo-rxjs-observable/issues" + }, + "homepage": "http://www.angular-meteor.com", + "peerDependencies": { + "@types/meteor": "^1.4.6", + "rxjs": "^5.4.3 || ^6.0.0" + }, + "devDependencies": { + "@types/chai": "4.0.4", + "@types/meteor": "1.4.14", + "@types/mocha": "2.2.43", + "@types/underscore": "1.8.3", + "conventional-changelog": "1.1.0", + "conventional-changelog-cli": "1.2.0", + "jsdoc-to-markdown": "3.0.0", + "rollup": "0.49.3", + "rxjs": "6.0.0", + "rxjs-compat": "6.0.0", + "tslint": "5.7.0", + "typescript": "2.7.2", + "zone.js": "0.8.20" + }, + "greenkeeper": { + "ignore": [ + "rxjs" + ] + } +} diff --git a/rollup.config.js b/rollup.config.js index 2bce3b48..9d288432 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,8 +1,8 @@ -export default { - format: 'umd', - globals: { - 'rxjs/Observable':'rxjs.Observable', - 'rxjs/Subject': 'rxjs.Subject', - 'rxjs/Subscriber': 'rxjs.Subscriber' - } -}; +export default { + output: { + format: 'umd' + }, + globals: { + 'rxjs': 'rxjs' + } +}; diff --git a/src/MeteorObservable.ts b/src/MeteorObservable.ts index fea93bf1..2c480ccc 100644 --- a/src/MeteorObservable.ts +++ b/src/MeteorObservable.ts @@ -1,238 +1,237 @@ -import { Observable } from 'rxjs/Observable'; -import { Subscriber } from 'rxjs/Subscriber'; - -import { isMeteorCallbacks, forkZone, removeObserver } from './utils'; - -let liveSubscriptions = []; - -function throwInvalidCallback(method: string) { - throw new Error( - `Invalid ${method} arguments: - your last param can't be a callback function, - please remove it and use ".subscribe" of the Observable!`); -} - -/** - * This is a class with static methods that wrap Meteor's API and return RxJS - * Observables. The methods' signatures are the same as Meteor's, with the ] - * exception that the callbacks are handled by Meteor-rxjs. Instead of - * providing callbacks, you need to subscribe to the observables that are - * returned. The methods that are wrapped in MeteorObservable are - * [Meteor.call](https://docs.meteor.com/api/methods.html#Meteor-call), - * [Meteor.autorun](https://docs.meteor.com/api/tracker.html#Tracker-autorun) - * and [Meteor.subscribe](https://docs.meteor.com/api/pubsub.html#Meteor-subscribe). - */ -export class MeteorObservable { - - /** - * Invokes a [Meteor Method](https://docs.meteor.com/api/methods.html) - * defined on the server, passing any number of arguments. This method has - * the same signature as - * [Meteor.call](https://docs.meteor.com/api/methods.html#Meteor-call), only - * without the callbacks: - * MeteorObservable.call(name, [...args]) - * - * - * @param {string} name - Name of the method in the Meteor server - * @param {any} args - Parameters that will be forwarded to the method. - * after the func call to initiate change detection. - * @returns {Observable} - RxJS Observable, which completes when the - * server returns a response. - * - * @example Example using Angular2 Component - * class MyComponent { - * constructor() { - * - * } - * - * doAction(payload) { - * MeteorObservable.call("myData", payload).subscribe((response) => { - * // Handle success and response from server! - * }, (err) => { - * // Handle error - * }); - * } - * } - */ - public static call(name: string, ...args: any[]): Observable { - const lastParam = args[args.length - 1]; - - if (isMeteorCallbacks(lastParam)) { - throwInvalidCallback('MeteorObservable.call'); - } - - let zone = forkZone(); - - return Observable.create((observer: Subscriber) => { - Meteor.call(name, ...args.concat([ - (error: Meteor.Error, result: T) => { - zone.run(() => { - error ? observer.error(error) : - observer.next(result); - observer.complete(); - }); - } - ])); - }); - } - - /** - * When you subscribe to a collection, it tells the server to send records to - * the client. This method has the same signature as - * [Meteor.subscribe](https://docs.meteor.com/api/pubsub.html#Meteor-subscribe), - * except without the callbacks again: - * subscribe(name, [...args]) - * - * You can use this method from any Angular2 element - such as Component, - * Pipe or Service. - * - * @param {string} name - Name of the publication in the Meteor server - * @param {any} args - Parameters that will be forwarded to the publication. - * after the func call to initiate change detection. - * @returns {Observable} - RxJS Observable, which completes when the - * subscription is ready. - * - * @example Example using Angular2 Service - * class MyService { - * private meteorSubscription: Observable; - * - * constructor() { - * - * } - * - * subscribeToData() { - * this.meteorSubscription = MeteorObservable.subscribe("myData").subscribe(() => { - * // Subscription is ready! - * }); - * } - * - * unsubscribeToData() { - * this.meteorSubscription.unsubscribe(); - * } - * } - * - * @example Example using Angular2 Component - * class MyComponent implements OnInit, OnDestroy { - * private meteorSubscription: Observable; - * - * constructor() { - * - * } - * - * ngOnInit() { - * this.meteorSubscription = MeteorObservable.subscribe("myData").subscribe(() => { - * // Subscription is ready! - * }); - * } - * - * ngOnDestroy() { - * this.meteorSubscription.unsubscribe(); - * } - * } - * - * @see {@link http://docs.meteor.com/api/pubsub.html|Publications in Meteor documentation} - */ - public static subscribe(name: string, ...args: any[]): Observable { - let lastParam = args[args.length - 1]; - - if (isMeteorCallbacks(lastParam)) { - throwInvalidCallback('MeteorObservable.subscribe'); - } - - let zone = forkZone(); - let observers = []; - let subscribe = () => { - return Meteor.subscribe(name, ...args.concat([{ - onError: (error: Meteor.Error) => { - zone.run(() => { - observers.forEach(observer => observer.error(error)); - }); - }, - onReady: () => { - zone.run(() => { - observers.forEach(observer => observer.next()); - }); - } - } - ])); - }; - - let subHandler = null; - return Observable.create((observer: Subscriber) => { - observers.push(observer); - // Execute subscribe lazily. - if (subHandler === null) { - subHandler = subscribe(); - if (liveSubscriptions.find(sub => sub === subHandler.subscriptionId)) { - // subscription already exists, call observer.next() since Meteor won't. - observer.next(); - } else { - liveSubscriptions.push(subHandler.subscriptionId); - } - } - return () => { - removeObserver(observers, - observer, () => { - // remove subscription from liveSubscriptions list - let i = liveSubscriptions.findIndex( - sub => sub === subHandler.subscriptionId - ); - - if (i > -1) { - liveSubscriptions.splice(i, 1); - } - - subHandler.stop(); - - }); - }; - }); - } - - /** - * Allows you to run a function every time there is a change is a reactive - * data sources. This method has the same signature as - * [Meteor.autorun](https://docs.meteor.com/api/tracker.html#Tracker-autorun), - * only without the callback: - * MeteorObservable.autorun() - * - * @returns {Observable} - RxJS Observable, which trigger the subscription callback - * each time that Meteor Tracker detects a change. - * @example Example using Angular2 Component - * class MyComponent { - * constructor() { - * - * } - * - * doAction(payload) { - * MeteorObservable.autorun().subscribe(() => { - * // Handle Tracker autorun change - * }); - * } - * } - */ - public static autorun(): Observable { - let zone = forkZone(); - let observers = []; - let autorun = () => { - return Tracker.autorun((computation: Tracker.Computation) => { - zone.run(() => { - observers.forEach(observer => observer.next(computation)); - }); - }); - }; - - let handler = null; - return Observable.create((observer: Subscriber) => { - observers.push(observer); - // Execute autorun lazily. - if (handler === null) { - handler = autorun(); - } - return () => { - removeObserver(observers, - observer, () => handler.stop()); - }; - }); - } -} +import { Observable , Subscriber } from 'rxjs'; + +import { isMeteorCallbacks, forkZone, removeObserver } from './utils'; + +let liveSubscriptions = []; + +function throwInvalidCallback(method: string) { + throw new Error( + `Invalid ${method} arguments: + your last param can't be a callback function, + please remove it and use ".subscribe" of the Observable!`); +} + +/** + * This is a class with static methods that wrap Meteor's API and return RxJS + * Observables. The methods' signatures are the same as Meteor's, with the ] + * exception that the callbacks are handled by Meteor-rxjs. Instead of + * providing callbacks, you need to subscribe to the observables that are + * returned. The methods that are wrapped in MeteorObservable are + * [Meteor.call](https://docs.meteor.com/api/methods.html#Meteor-call), + * [Meteor.autorun](https://docs.meteor.com/api/tracker.html#Tracker-autorun) + * and [Meteor.subscribe](https://docs.meteor.com/api/pubsub.html#Meteor-subscribe). + */ +export class MeteorObservable { + + /** + * Invokes a [Meteor Method](https://docs.meteor.com/api/methods.html) + * defined on the server, passing any number of arguments. This method has + * the same signature as + * [Meteor.call](https://docs.meteor.com/api/methods.html#Meteor-call), only + * without the callbacks: + * MeteorObservable.call(name, [...args]) + * + * + * @param {string} name - Name of the method in the Meteor server + * @param {any} args - Parameters that will be forwarded to the method. + * after the func call to initiate change detection. + * @returns {Observable} - RxJS Observable, which completes when the + * server returns a response. + * + * @example Example using Angular2 Component + * class MyComponent { + * constructor() { + * + * } + * + * doAction(payload) { + * MeteorObservable.call("myData", payload).subscribe((response) => { + * // Handle success and response from server! + * }, (err) => { + * // Handle error + * }); + * } + * } + */ + public static call(name: string, ...args: any[]): Observable { + const lastParam = args[args.length - 1]; + + if (isMeteorCallbacks(lastParam)) { + throwInvalidCallback('MeteorObservable.call'); + } + + let zone = forkZone(); + + return Observable.create((observer: Subscriber) => { + Meteor.call(name, ...args.concat([ + (error: Meteor.Error, result: T) => { + zone.run(() => { + error ? observer.error(error) : + observer.next(result); + observer.complete(); + }); + } + ])); + }); + } + + /** + * When you subscribe to a collection, it tells the server to send records to + * the client. This method has the same signature as + * [Meteor.subscribe](https://docs.meteor.com/api/pubsub.html#Meteor-subscribe), + * except without the callbacks again: + * subscribe(name, [...args]) + * + * You can use this method from any Angular2 element - such as Component, + * Pipe or Service. + * + * @param {string} name - Name of the publication in the Meteor server + * @param {any} args - Parameters that will be forwarded to the publication. + * after the func call to initiate change detection. + * @returns {Observable} - RxJS Observable, which completes when the + * subscription is ready. + * + * @example Example using Angular2 Service + * class MyService { + * private meteorSubscription: Observable; + * + * constructor() { + * + * } + * + * subscribeToData() { + * this.meteorSubscription = MeteorObservable.subscribe("myData").subscribe(() => { + * // Subscription is ready! + * }); + * } + * + * unsubscribeToData() { + * this.meteorSubscription.unsubscribe(); + * } + * } + * + * @example Example using Angular2 Component + * class MyComponent implements OnInit, OnDestroy { + * private meteorSubscription: Observable; + * + * constructor() { + * + * } + * + * ngOnInit() { + * this.meteorSubscription = MeteorObservable.subscribe("myData").subscribe(() => { + * // Subscription is ready! + * }); + * } + * + * ngOnDestroy() { + * this.meteorSubscription.unsubscribe(); + * } + * } + * + * @see {@link http://docs.meteor.com/api/pubsub.html|Publications in Meteor documentation} + */ + public static subscribe(name: string, ...args: any[]): Observable { + let lastParam = args[args.length - 1]; + + if (isMeteorCallbacks(lastParam)) { + throwInvalidCallback('MeteorObservable.subscribe'); + } + + let zone = forkZone(); + let observers = []; + let subscribe = () => { + return Meteor.subscribe(name, ...args.concat([{ + onError: (error: Meteor.Error) => { + zone.run(() => { + observers.forEach(observer => observer.error(error)); + }); + }, + onReady: () => { + zone.run(() => { + observers.forEach(observer => observer.next()); + }); + } + } + ])); + }; + + let subHandler = null; + return Observable.create((observer: Subscriber) => { + observers.push(observer); + // Execute subscribe lazily. + if (subHandler === null) { + subHandler = subscribe(); + if (liveSubscriptions.find(sub => sub === subHandler.subscriptionId)) { + // subscription already exists, call observer.next() since Meteor won't. + observer.next(); + } else { + liveSubscriptions.push(subHandler.subscriptionId); + } + } + return () => { + removeObserver(observers, + observer, () => { + // remove subscription from liveSubscriptions list + let i = liveSubscriptions.findIndex( + sub => sub === subHandler.subscriptionId + ); + + if (i > -1) { + liveSubscriptions.splice(i, 1); + } + + subHandler.stop(); + + }); + }; + }); + } + + /** + * Allows you to run a function every time there is a change is a reactive + * data sources. This method has the same signature as + * [Meteor.autorun](https://docs.meteor.com/api/tracker.html#Tracker-autorun), + * only without the callback: + * MeteorObservable.autorun() + * + * @returns {Observable} - RxJS Observable, which trigger the subscription callback + * each time that Meteor Tracker detects a change. + * @example Example using Angular2 Component + * class MyComponent { + * constructor() { + * + * } + * + * doAction(payload) { + * MeteorObservable.autorun().subscribe(() => { + * // Handle Tracker autorun change + * }); + * } + * } + */ + public static autorun(): Observable { + let zone = forkZone(); + let observers = []; + let autorun = () => { + return Tracker.autorun((computation: Tracker.Computation) => { + zone.run(() => { + observers.forEach(observer => observer.next(computation)); + }); + }); + }; + + let handler = null; + return Observable.create((observer: Subscriber) => { + observers.push(observer); + // Execute autorun lazily. + if (handler === null) { + handler = autorun(); + } + return () => { + removeObserver(observers, + observer, () => handler.stop()); + }; + }); + } +} diff --git a/src/ObservableCollection.ts b/src/ObservableCollection.ts index 51371233..f209a645 100644 --- a/src/ObservableCollection.ts +++ b/src/ObservableCollection.ts @@ -1,317 +1,316 @@ -import { Observable } from 'rxjs/Observable'; -import { Subscriber } from 'rxjs/Subscriber'; - -import { ObservableCursor } from './ObservableCursor'; -import { removeObserver } from './utils'; - -import Selector = Mongo.Selector; -import ObjectID = Mongo.ObjectID; -import SortSpecifier = Mongo.SortSpecifier; -import FieldSpecifier = Mongo.FieldSpecifier; -import Modifier = Mongo.Modifier; - -export module MongoObservable { - 'use strict'; - - export interface ConstructorOptions { - connection?: Object; - idGeneration?: string; - transform?: Function; - } - - export interface AllowDenyOptionsObject { - insert?: (userId: string, doc: T) => boolean; - update?: (userId: string, doc: T, fieldNames: string[], modifier: any) => boolean; - remove?: (userId: string, doc: T) => boolean; - fetch?: string[]; - transform?: Function; - } - - /** - * Creates a new MongoObservable.Collection from an existing of predefined Mongo.Collection. - * Use this feature to wrap existing collections such as Meteor.users. - * @param {Mongo.Collection} collection - The collection. - * @returns {MongoObservable.Collection} - Wrapped collection. - * @static - */ - export function fromExisting(collection: Mongo.Collection): MongoObservable.Collection { - return new MongoObservable.Collection(collection); - } - - /** - * A class represents a MongoDB collection in the client side, wrapped with RxJS - * Observables, so you can use it with your Angular 2 easier. - * The wrapper has the same API as Mongo.Collection, only the "find" method returns - * an ObservableCursor instead of regular Mongo.Cursor. - * - * T is a generic type - should be used with the type of the objects inside the collection. - */ - export class Collection { - private _collection: Mongo.Collection; - - /** - * Creates a new Mongo.Collection instance wrapped with Observable features. - * @param {String | Mongo.Collection} nameOrExisting - The name of the collection. If null, creates an - * unmanaged (unsynchronized) local collection. If provided an instance of existing collection, will - * create a wrapper for the existing Mongo.Collection. - * @param {ConstructorOptions} options - Creation options. - * @constructor - */ - constructor(nameOrExisting: string | Mongo.Collection, - options?: ConstructorOptions) { - if (nameOrExisting instanceof Mongo.Collection) { - this._collection = nameOrExisting; - } else { - this._collection = new Mongo.Collection(nameOrExisting, options); - } - } - - /** - * Returns the Mongo.Collection object that wrapped with the MongoObservable.Collection. - * @returns {Mongo.Collection} The Collection instance - */ - get collection(): Mongo.Collection { - return this._collection; - } - - /** - * Allow users to write directly to this collection from client code, subject to limitations you define. - * - * @returns {Boolean} - */ - allow(options: AllowDenyOptionsObject): boolean { - return this._collection.allow(options); - } - - /** - * Override allow rules. - * - * @returns {Boolean} - */ - deny(options: AllowDenyOptionsObject): boolean { - return this._collection.deny(options); - } - - /** - * Returns the Collection object corresponding to this collection from the npm - * mongodb driver module which is wrapped by Mongo.Collection. - * - * @returns {Mongo.Collection} The Collection instance - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-rawCollection|rawCollection on Meteor documentation} - */ - rawCollection(): any { - return this._collection.rawCollection(); - } - - /** - * Returns the Db object corresponding to this collection's database connection from the - * npm mongodb driver module which is wrapped by Mongo.Collection. - * - * @returns {Mongo.Db} The Db instance - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-rawDatabase|rawDatabase on Meteor documentation} - */ - rawDatabase(): any { - return this._collection.rawDatabase(); - } - - /** - * Insert a document in the collection. - * - * @param {T} doc - The document to insert. May not yet have an _id - * attribute, in which case Meteor will generate one for you. - * @returns {Observable} Observable which completes with the inserted ObjectId - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-insert|insert on Meteor documentation} - */ - insert(doc: T): Observable { - let observers: Subscriber[] = []; - let obs = this._createObservable(observers); - - this._collection.insert(doc, - (error: Meteor.Error, docId: string) => { - observers.forEach(observer => { - error ? observer.error(error) : - observer.next(docId); - observer.complete(); - }); - }); - return obs; - } - - /** - * Remove documents from the collection. - * - * @param {Collection~MongoQuerySelector} selector - Specifies which documents to modify - * @returns {Observable} Observable which completes with the number of affected rows - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-remove|remove on Meteor documentation} - */ - remove(selector: Selector | ObjectID | string): Observable { - let observers: Subscriber[] = []; - let obs = this._createObservable(observers); - - this._collection.remove(selector, - (error: Meteor.Error, removed: number) => { - observers.forEach(observer => { - error ? observer.error(error) : - observer.next(removed); - observer.complete(); - }); - }); - - return obs; - } - - /** - * Modify one or more documents in the collection. - * - * @param {Collection~MongoQuerySelector} selector - Specifies which documents to modify - * @param {Modifier} modifier - Specifies how to modify the documents - * @param {MongoUpdateOptions} options - Update options - * first argument and, if no error, the number of affected documents as the second - * @returns {Observable} Observable which completes with the number of affected rows - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-update|update on Meteor documentation} - */ - update(selector: Selector | ObjectID | string, - modifier: Modifier, - options?: { multi?: boolean; upsert?: boolean; }): Observable { - let observers: Subscriber[] = []; - let obs = this._createObservable(observers); - - this._collection.update(selector, modifier, options, - (error: Meteor.Error, updated: number) => { - observers.forEach(observer => { - error ? observer.error(error) : - observer.next(updated); - observer.complete(); - }); - }); - - return obs; - } - - /** - * Finds the first document that matches the selector, as ordered by sort and skip options. - * - * @param {Collection~MongoQuerySelector} selector - Specifies which documents to modify - * @param {Modifier} modifier - Specifies how to modify the documents - * @param {MongoUpsertOptions} options - Upsert options - * first argument and, if no error, the number of affected documents as the second. - * @returns {Observable<{numberAffected, insertedId}>} Observable which completes with an - * Object that contain the keys numberAffected and insertedId. - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-upsert|upsert on Meteor documentation} - */ - upsert(selector: Selector | ObjectID | string, - modifier: Modifier, - options?: { multi?: boolean; }): Observable { - let observers: Subscriber[] = []; - let obs = this._createObservable(observers); - - this._collection.upsert(selector, modifier, options, - (error: Meteor.Error, affected: number) => { - observers.forEach(observer => { - error ? observer.error(error) : - observer.next(affected); - observer.complete(); - }); - }); - - return obs; - } - - /** - * Method has the same notation as Mongo.Collection.find, only returns Observable. - * - * @param {Collection~MongoQuerySelector} selector - A query describing the documents to find - * @param {Collection~MongoQueryOptions} options - Query options, such as sort, limit, etc. - * @returns {ObservableCursor} RxJS Observable wrapped with Meteor features. - * @example Using Angular2 Component - * const MyCollection = MongoObservable.Collection("myCollection"); - * - * class MyComponent { - * private myData: ObservableCursor; - * - * constructor() { - * this.myData = MyCollection.find({}, {limit: 10}); - * } - * } - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-find|find on Meteor documentation} - */ - find(selector?: Selector | ObjectID | string, options?: { - sort?: SortSpecifier; - skip?: number; - limit?: number; - fields?: FieldSpecifier; - reactive?: boolean; - transform?: Function; - }): ObservableCursor { - const cursor = this._collection.find.apply( - this._collection, arguments); - return ObservableCursor.create(cursor); - } - - /** - * Finds the first document that matches the selector, as ordered by sort and skip options. - * - * @param {Collection~MongoQuerySelector} selector - A query describing the documents to find - * @param {Collection~MongoQueryOptions} options - Query options, such as sort, limit, etc. - * @returns {any} The first object, or `undefined` in case of non-existing object. - * - * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-findOne|findOne on Meteor documentation} - */ - findOne(selector?: Selector | ObjectID | string, options?: { - sort?: SortSpecifier; - skip?: number; - fields?: FieldSpecifier; - reactive?: boolean; - transform?: Function; - }): T { - return this._collection.findOne.apply( - this._collection, arguments); - } - - private _createObservable(observers: Subscriber[]) { - return Observable.create((observer: Subscriber) => { - observers.push(observer); - return () => { - removeObserver(observers, observer); - }; - }); - } - } -} - - -/** - * An options object for MongoDB queries. - * @typedef {Object} Collection~MongoQueryOptions - * @property {Object} sort - Sort order (default: natural order) - * @property {Number} skip - Number of results to skip at the beginning - * @property {Object} fields - Dictionary of fields to return or exclude. - * @property {Boolean} reactive - (Client only) Default true; pass false to disable reactivity - * @property {Function} transform - Overrides transform on the Collection for this cursor. Pass null to disable transformation. - */ - -/** - * A MongoDB query selector representation. - * @typedef {(Mongo.Selector|Mongo.ObjectID|string)} Collection~MongoQuerySelector - */ - -/** - * A MongoDB query options for upsert action - * @typedef {Object} Collection~MongoUpsertOptions - * @property {Boolean} multi - True to modify all matching documents; - * false to only modify one of the matching documents (the default). - */ - -/** - * A MongoDB query options for update action - * @typedef {Object} Collection~MongoUpdateOptions - * @property {Boolean} multi - True to modify all matching documents; - * @property {Boolean} upsert - True to use upsert logic. - */ +import { Observable , Subscriber } from 'rxjs'; + +import { ObservableCursor } from './ObservableCursor'; +import { removeObserver } from './utils'; + +import Selector = Mongo.Selector; +import ObjectID = Mongo.ObjectID; +import SortSpecifier = Mongo.SortSpecifier; +import FieldSpecifier = Mongo.FieldSpecifier; +import Modifier = Mongo.Modifier; + +export module MongoObservable { + 'use strict'; + + export interface ConstructorOptions { + connection?: Object; + idGeneration?: string; + transform?: Function; + } + + export interface AllowDenyOptionsObject { + insert?: (userId: string, doc: T) => boolean; + update?: (userId: string, doc: T, fieldNames: string[], modifier: any) => boolean; + remove?: (userId: string, doc: T) => boolean; + fetch?: string[]; + transform?: Function; + } + + /** + * Creates a new MongoObservable.Collection from an existing of predefined Mongo.Collection. + * Use this feature to wrap existing collections such as Meteor.users. + * @param {Mongo.Collection} collection - The collection. + * @returns {MongoObservable.Collection} - Wrapped collection. + * @static + */ + export function fromExisting(collection: Mongo.Collection): MongoObservable.Collection { + return new MongoObservable.Collection(collection); + } + + /** + * A class represents a MongoDB collection in the client side, wrapped with RxJS + * Observables, so you can use it with your Angular 2 easier. + * The wrapper has the same API as Mongo.Collection, only the "find" method returns + * an ObservableCursor instead of regular Mongo.Cursor. + * + * T is a generic type - should be used with the type of the objects inside the collection. + */ + export class Collection { + private _collection: Mongo.Collection; + + /** + * Creates a new Mongo.Collection instance wrapped with Observable features. + * @param {String | Mongo.Collection} nameOrExisting - The name of the collection. If null, creates an + * unmanaged (unsynchronized) local collection. If provided an instance of existing collection, will + * create a wrapper for the existing Mongo.Collection. + * @param {ConstructorOptions} options - Creation options. + * @constructor + */ + constructor(nameOrExisting: string | Mongo.Collection, + options?: ConstructorOptions) { + if (nameOrExisting instanceof Mongo.Collection) { + this._collection = nameOrExisting; + } else { + this._collection = new Mongo.Collection(nameOrExisting, options); + } + } + + /** + * Returns the Mongo.Collection object that wrapped with the MongoObservable.Collection. + * @returns {Mongo.Collection} The Collection instance + */ + get collection(): Mongo.Collection { + return this._collection; + } + + /** + * Allow users to write directly to this collection from client code, subject to limitations you define. + * + * @returns {Boolean} + */ + allow(options: AllowDenyOptionsObject): boolean { + return this._collection.allow(options); + } + + /** + * Override allow rules. + * + * @returns {Boolean} + */ + deny(options: AllowDenyOptionsObject): boolean { + return this._collection.deny(options); + } + + /** + * Returns the Collection object corresponding to this collection from the npm + * mongodb driver module which is wrapped by Mongo.Collection. + * + * @returns {Mongo.Collection} The Collection instance + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-rawCollection|rawCollection on Meteor documentation} + */ + rawCollection(): any { + return this._collection.rawCollection(); + } + + /** + * Returns the Db object corresponding to this collection's database connection from the + * npm mongodb driver module which is wrapped by Mongo.Collection. + * + * @returns {Mongo.Db} The Db instance + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-rawDatabase|rawDatabase on Meteor documentation} + */ + rawDatabase(): any { + return this._collection.rawDatabase(); + } + + /** + * Insert a document in the collection. + * + * @param {T} doc - The document to insert. May not yet have an _id + * attribute, in which case Meteor will generate one for you. + * @returns {Observable} Observable which completes with the inserted ObjectId + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-insert|insert on Meteor documentation} + */ + insert(doc: T): Observable { + let observers: Subscriber[] = []; + let obs = this._createObservable(observers); + + this._collection.insert(doc, + (error: Meteor.Error, docId: string) => { + observers.forEach(observer => { + error ? observer.error(error) : + observer.next(docId); + observer.complete(); + }); + }); + return obs; + } + + /** + * Remove documents from the collection. + * + * @param {Collection~MongoQuerySelector} selector - Specifies which documents to modify + * @returns {Observable} Observable which completes with the number of affected rows + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-remove|remove on Meteor documentation} + */ + remove(selector: Selector | ObjectID | string): Observable { + let observers: Subscriber[] = []; + let obs = this._createObservable(observers); + + this._collection.remove(selector, + (error: Meteor.Error, removed: number) => { + observers.forEach(observer => { + error ? observer.error(error) : + observer.next(removed); + observer.complete(); + }); + }); + + return obs; + } + + /** + * Modify one or more documents in the collection. + * + * @param {Collection~MongoQuerySelector} selector - Specifies which documents to modify + * @param {Modifier} modifier - Specifies how to modify the documents + * @param {MongoUpdateOptions} options - Update options + * first argument and, if no error, the number of affected documents as the second + * @returns {Observable} Observable which completes with the number of affected rows + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-update|update on Meteor documentation} + */ + update(selector: Selector | ObjectID | string, + modifier: Modifier, + options?: { multi?: boolean; upsert?: boolean; }): Observable { + let observers: Subscriber[] = []; + let obs = this._createObservable(observers); + + this._collection.update(selector, modifier, options, + (error: Meteor.Error, updated: number) => { + observers.forEach(observer => { + error ? observer.error(error) : + observer.next(updated); + observer.complete(); + }); + }); + + return obs; + } + + /** + * Finds the first document that matches the selector, as ordered by sort and skip options. + * + * @param {Collection~MongoQuerySelector} selector - Specifies which documents to modify + * @param {Modifier} modifier - Specifies how to modify the documents + * @param {MongoUpsertOptions} options - Upsert options + * first argument and, if no error, the number of affected documents as the second. + * @returns {Observable<{numberAffected, insertedId}>} Observable which completes with an + * Object that contain the keys numberAffected and insertedId. + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-upsert|upsert on Meteor documentation} + */ + upsert(selector: Selector | ObjectID | string, + modifier: Modifier, + options?: { multi?: boolean; }): Observable { + let observers: Subscriber[] = []; + let obs = this._createObservable(observers); + + this._collection.upsert(selector, modifier, options, + (error: Meteor.Error, affected: number) => { + observers.forEach(observer => { + error ? observer.error(error) : + observer.next(affected); + observer.complete(); + }); + }); + + return obs; + } + + /** + * Method has the same notation as Mongo.Collection.find, only returns Observable. + * + * @param {Collection~MongoQuerySelector} selector - A query describing the documents to find + * @param {Collection~MongoQueryOptions} options - Query options, such as sort, limit, etc. + * @returns {ObservableCursor} RxJS Observable wrapped with Meteor features. + * @example Using Angular2 Component + * const MyCollection = MongoObservable.Collection("myCollection"); + * + * class MyComponent { + * private myData: ObservableCursor; + * + * constructor() { + * this.myData = MyCollection.find({}, {limit: 10}); + * } + * } + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-find|find on Meteor documentation} + */ + find(selector?: Selector | ObjectID | string, options?: { + sort?: SortSpecifier; + skip?: number; + limit?: number; + fields?: FieldSpecifier; + reactive?: boolean; + transform?: Function; + }): ObservableCursor { + const cursor = this._collection.find.apply( + this._collection, arguments); + return ObservableCursor.create(cursor); + } + + /** + * Finds the first document that matches the selector, as ordered by sort and skip options. + * + * @param {Collection~MongoQuerySelector} selector - A query describing the documents to find + * @param {Collection~MongoQueryOptions} options - Query options, such as sort, limit, etc. + * @returns {any} The first object, or `undefined` in case of non-existing object. + * + * @see {@link https://docs.meteor.com/api/collections.html#Mongo-Collection-findOne|findOne on Meteor documentation} + */ + findOne(selector?: Selector | ObjectID | string, options?: { + sort?: SortSpecifier; + skip?: number; + fields?: FieldSpecifier; + reactive?: boolean; + transform?: Function; + }): T { + return this._collection.findOne.apply( + this._collection, arguments); + } + + private _createObservable(observers: Subscriber[]) { + return Observable.create((observer: Subscriber) => { + observers.push(observer); + return () => { + removeObserver(observers, observer); + }; + }); + } + } +} + + +/** + * An options object for MongoDB queries. + * @typedef {Object} Collection~MongoQueryOptions + * @property {Object} sort - Sort order (default: natural order) + * @property {Number} skip - Number of results to skip at the beginning + * @property {Object} fields - Dictionary of fields to return or exclude. + * @property {Boolean} reactive - (Client only) Default true; pass false to disable reactivity + * @property {Function} transform - Overrides transform on the Collection for this cursor. Pass null to disable transformation. + */ + +/** + * A MongoDB query selector representation. + * @typedef {(Mongo.Selector|Mongo.ObjectID|string)} Collection~MongoQuerySelector + */ + +/** + * A MongoDB query options for upsert action + * @typedef {Object} Collection~MongoUpsertOptions + * @property {Boolean} multi - True to modify all matching documents; + * false to only modify one of the matching documents (the default). + */ + +/** + * A MongoDB query options for update action + * @typedef {Object} Collection~MongoUpdateOptions + * @property {Boolean} multi - True to modify all matching documents; + * @property {Boolean} upsert - True to use upsert logic. + */ diff --git a/src/ObservableCursor.ts b/src/ObservableCursor.ts index 6fda8743..e47518bd 100644 --- a/src/ObservableCursor.ts +++ b/src/ObservableCursor.ts @@ -1,191 +1,189 @@ -import { Observable } from 'rxjs/Observable'; -import { Subscriber } from 'rxjs/Subscriber'; -import { Subject } from 'rxjs/Subject'; - -import { gZone, forkZone, removeObserver } from './utils'; - -declare let _; - -export class ObservableCursor extends Observable { - private _zone: Zone; - private _data: Array = []; - private _cursor: Mongo.Cursor; - private _hCursor: Meteor.LiveQueryHandle; - private _observers: Subscriber[] = []; - private _countObserver: Subject = new Subject(); - private _isDataInitinialized = false; - - /** - * Static method which creates an ObservableCursor from Mongo.Cursor. - * Use this to create an ObservableCursor object from an existing Mongo.Cursor. - * Prefer to create an Cursors from the ObservableCollection instance instead. - * - * @param {Mongo.Cursor} cursor - The Mongo.Cursor to wrap. - * @static - * @returns {ObservableCursor} Wrapped Cursor. - */ - static create(cursor: Mongo.Cursor): ObservableCursor { - return new ObservableCursor(cursor); - } - - /** - * @constructor - * @extends Observable - * @param {Mongo.Cursor} cursor - The Mongo.Cursor to wrap. - */ - constructor(cursor: Mongo.Cursor) { - super((observer: Subscriber) => { - this._observers.push(observer); - - if (!this._hCursor) { - this._hCursor = this._observeCursor(cursor); - } - - Meteor.setTimeout(() => { - if (this._isDataInitinialized) { - observer.next(this._data); - } else if (cursor.count() === 0) { - this._isDataInitinialized = true; - observer.next(this._data); - } - }, 0); - - return () => { - removeObserver(this._observers, - observer, () => this.stop()); - }; - }); - - _.extend(this, _.omit(cursor, 'count', 'map')); - - this._cursor = cursor; - this._zone = forkZone(); - } - - /** - * Returns the actual Mongo.Cursor that wrapped by current ObservableCursor instance. - * @return {Mongo.Cursor} The actual MongoDB Cursor. - */ - get cursor(): Mongo.Cursor { - return this._cursor; - } - - /** - * A wrapper for Mongo.Cursor.count() method - returns an Observable of number, which - * triggers each time there is a change in the collection, and exposes the number of - * objects in the collection. - * @returns {Observable} Observable which trigger the callback when the - * count of the object changes. - */ - collectionCount(): Observable { - return this._countObserver.asObservable(); - } - - /** - * Stops the observation on the cursor. - */ - stop() { - this._zone.run(() => { - this._runComplete(); - }); - - if (this._hCursor) { - this._hCursor.stop(); - } - - this._data = []; - this._hCursor = null; - } - - /** - * Clears the Observable definition. - * Use this method only when the Observable is still cold, and there are no active subscriptions yet. - */ - dispose() { - this._observers = null; - this._cursor = null; - } - - /** - * Return all matching documents as an Array. - * - * @return {Array} The array with the matching documents. - */ - fetch(): Array { - return this._cursor.fetch(); - } - - /** - * Watch a query. Receive callbacks as the result set changes. - * @param {Mongo.ObserveCallbacks} callbacks - The callbacks object. - * @return {Meteor.LiveQueryHandle} The array with the matching documents. - */ - observe(callbacks: Object): Meteor.LiveQueryHandle { - return this._cursor.observe(callbacks); - } - - /** - * Watch a query. Receive callbacks as the result set changes. - * Only the differences between the old and new documents are passed to the callbacks. - * @param {Mongo.ObserveChangesCallbacks} callbacks - The callbacks object. - * @return {Meteor.LiveQueryHandle} The array with the matching documents. - */ - observeChanges(callbacks: Object): Meteor.LiveQueryHandle { - return this._cursor.observeChanges(callbacks); - } - - _runComplete() { - this._countObserver.complete(); - - this._observers.forEach(observer => { - observer.complete(); - }); - } - - _runNext(data: Array) { - this._countObserver.next(this._data.length); - - this._observers.forEach(observer => { - observer.next(data); - }); - } - - _addedAt(doc, at, before) { - this._data.splice(at, 0, doc); - this._handleChange(); - } - - _changedAt(doc, old, at) { - this._data[at] = doc; - this._handleChange(); - } - - _removedAt(doc, at) { - this._data.splice(at, 1); - this._handleChange(); - } - - _movedTo(doc, fromIndex, toIndex) { - this._data.splice(fromIndex, 1); - this._data.splice(toIndex, 0, doc); - this._handleChange(); - } - - _handleChange() { - this._isDataInitinialized = true; - - this._zone.run(() => { - this._runNext(this._data); - }); - } - - _observeCursor(cursor: Mongo.Cursor) { - return gZone.run( - () => cursor.observe({ - addedAt: this._addedAt.bind(this), - changedAt: this._changedAt.bind(this), - movedTo: this._movedTo.bind(this), - removedAt: this._removedAt.bind(this) - })); - } -} +import { Observable , Subscriber , Subject } from 'rxjs'; + +import { gZone, forkZone, removeObserver } from './utils'; + +declare let _; + +export class ObservableCursor extends Observable { + private _zone: Zone; + private _data: Array = []; + private _cursor: Mongo.Cursor; + private _hCursor: Meteor.LiveQueryHandle; + private _observers: Subscriber[] = []; + private _countObserver: Subject = new Subject(); + private _isDataInitinialized = false; + + /** + * Static method which creates an ObservableCursor from Mongo.Cursor. + * Use this to create an ObservableCursor object from an existing Mongo.Cursor. + * Prefer to create an Cursors from the ObservableCollection instance instead. + * + * @param {Mongo.Cursor} cursor - The Mongo.Cursor to wrap. + * @static + * @returns {ObservableCursor} Wrapped Cursor. + */ + static create(cursor: Mongo.Cursor): ObservableCursor { + return new ObservableCursor(cursor); + } + + /** + * @constructor + * @extends Observable + * @param {Mongo.Cursor} cursor - The Mongo.Cursor to wrap. + */ + constructor(cursor: Mongo.Cursor) { + super((observer: Subscriber) => { + this._observers.push(observer); + + if (!this._hCursor) { + this._hCursor = this._observeCursor(cursor); + } + + Meteor.setTimeout(() => { + if (this._isDataInitinialized) { + observer.next(this._data); + } else if (cursor.count() === 0) { + this._isDataInitinialized = true; + observer.next(this._data); + } + }, 0); + + return () => { + removeObserver(this._observers, + observer, () => this.stop()); + }; + }); + + _.extend(this, _.omit(cursor, 'count', 'map')); + + this._cursor = cursor; + this._zone = forkZone(); + } + + /** + * Returns the actual Mongo.Cursor that wrapped by current ObservableCursor instance. + * @return {Mongo.Cursor} The actual MongoDB Cursor. + */ + get cursor(): Mongo.Cursor { + return this._cursor; + } + + /** + * A wrapper for Mongo.Cursor.count() method - returns an Observable of number, which + * triggers each time there is a change in the collection, and exposes the number of + * objects in the collection. + * @returns {Observable} Observable which trigger the callback when the + * count of the object changes. + */ + collectionCount(): Observable { + return this._countObserver.asObservable(); + } + + /** + * Stops the observation on the cursor. + */ + stop() { + this._zone.run(() => { + this._runComplete(); + }); + + if (this._hCursor) { + this._hCursor.stop(); + } + + this._data = []; + this._hCursor = null; + } + + /** + * Clears the Observable definition. + * Use this method only when the Observable is still cold, and there are no active subscriptions yet. + */ + dispose() { + this._observers = null; + this._cursor = null; + } + + /** + * Return all matching documents as an Array. + * + * @return {Array} The array with the matching documents. + */ + fetch(): Array { + return this._cursor.fetch(); + } + + /** + * Watch a query. Receive callbacks as the result set changes. + * @param {Mongo.ObserveCallbacks} callbacks - The callbacks object. + * @return {Meteor.LiveQueryHandle} The array with the matching documents. + */ + observe(callbacks: Object): Meteor.LiveQueryHandle { + return this._cursor.observe(callbacks); + } + + /** + * Watch a query. Receive callbacks as the result set changes. + * Only the differences between the old and new documents are passed to the callbacks. + * @param {Mongo.ObserveChangesCallbacks} callbacks - The callbacks object. + * @return {Meteor.LiveQueryHandle} The array with the matching documents. + */ + observeChanges(callbacks: Object): Meteor.LiveQueryHandle { + return this._cursor.observeChanges(callbacks); + } + + _runComplete() { + this._countObserver.complete(); + + this._observers.forEach(observer => { + observer.complete(); + }); + } + + _runNext(data: Array) { + this._countObserver.next(this._data.length); + + this._observers.forEach(observer => { + observer.next(data); + }); + } + + _addedAt(doc, at, before) { + this._data.splice(at, 0, doc); + this._handleChange(); + } + + _changedAt(doc, old, at) { + this._data[at] = doc; + this._handleChange(); + } + + _removedAt(doc, at) { + this._data.splice(at, 1); + this._handleChange(); + } + + _movedTo(doc, fromIndex, toIndex) { + this._data.splice(fromIndex, 1); + this._data.splice(toIndex, 0, doc); + this._handleChange(); + } + + _handleChange() { + this._isDataInitinialized = true; + + this._zone.run(() => { + this._runNext(this._data); + }); + } + + _observeCursor(cursor: Mongo.Cursor) { + return gZone.run( + () => cursor.observe({ + addedAt: this._addedAt.bind(this), + changedAt: this._changedAt.bind(this), + movedTo: this._movedTo.bind(this), + removedAt: this._removedAt.bind(this) + })); + } +} diff --git a/src/utils.ts b/src/utils.ts index 80f74b48..0595284f 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,75 +1,75 @@ -import { Subscriber } from 'rxjs/Subscriber'; - -declare let _; - -export declare type CallbacksObject = { - onReady?: Function; - onError?: Function; - onStop?: Function; -}; - -export declare type MeteorCallbacks = ((...args) => any) | CallbacksObject; - -export const subscribeEvents = ['onReady', 'onError', 'onStop']; - -export function isMeteorCallbacks(callbacks: any): boolean { - return _.isFunction(callbacks) || isCallbacksObject(callbacks); -} - -// Checks if callbacks of {@link CallbacksObject} type. -export function isCallbacksObject(callbacks: any): boolean { - return callbacks && subscribeEvents.some((event) => { - return _.isFunction(callbacks[event]); - }); -} - -declare const global; -export const g = - typeof global === 'object' ? global : - typeof window === 'object' ? window : - typeof self === 'object' ? self : undefined; - -const METEOR_RXJS_ZONE = 'meteor-rxjs-zone'; - -const fakeZone = { - name: METEOR_RXJS_ZONE, - run(func: Function) { - return func(); - }, - fork(spec: any) { - return fakeZone; - } -}; - -export function forkZone() { - if (g.Zone) { - let zone = g.Zone.current; - if (zone.name === METEOR_RXJS_ZONE) { - zone = zone.parent || fakeZone; - } - return zone.fork({ name: METEOR_RXJS_ZONE }); - } - return fakeZone; -} - -export function getZone() { - if (g.Zone) { - let zone = g.Zone.current; - if (zone.name === METEOR_RXJS_ZONE) { - return zone.parent; - } - return zone; - } -} - -export function removeObserver(observers: Subscriber[], - observer: Subscriber, - onEmpty?: Function) { - let index = observers.indexOf(observer); - observers.splice(index, 1); - if (observers.length === 0 && onEmpty) { - onEmpty(); - } -} - -export const gZone = g.Zone ? g.Zone.current : fakeZone; +import { Subscriber } from 'rxjs'; + +declare let _; + +export declare type CallbacksObject = { + onReady?: Function; + onError?: Function; + onStop?: Function; +}; + +export declare type MeteorCallbacks = ((...args) => any) | CallbacksObject; + +export const subscribeEvents = ['onReady', 'onError', 'onStop']; + +export function isMeteorCallbacks(callbacks: any): boolean { + return _.isFunction(callbacks) || isCallbacksObject(callbacks); +} + +// Checks if callbacks of {@link CallbacksObject} type. +export function isCallbacksObject(callbacks: any): boolean { + return callbacks && subscribeEvents.some((event) => { + return _.isFunction(callbacks[event]); + }); +} + +declare const global; +export const g = + typeof global === 'object' ? global : + typeof window === 'object' ? window : + typeof self === 'object' ? self : undefined; + +const METEOR_RXJS_ZONE = 'meteor-rxjs-zone'; + +const fakeZone = { + name: METEOR_RXJS_ZONE, + run(func: Function) { + return func(); + }, + fork(spec: any) { + return fakeZone; + } +}; + +export function forkZone() { + if (g.Zone) { + let zone = g.Zone.current; + if (zone.name === METEOR_RXJS_ZONE) { + zone = zone.parent || fakeZone; + } + return zone.fork({ name: METEOR_RXJS_ZONE }); + } + return fakeZone; +} + +export function getZone() { + if (g.Zone) { + let zone = g.Zone.current; + if (zone.name === METEOR_RXJS_ZONE) { + return zone.parent; + } + return zone; + } +} + +export function removeObserver(observers: Subscriber[], + observer: Subscriber, + onEmpty?: Function) { + let index = observers.indexOf(observer); + observers.splice(index, 1); + if (observers.length === 0 && onEmpty) { + onEmpty(); + } +} + +export const gZone = g.Zone ? g.Zone.current : fakeZone; diff --git a/src/zone.ts b/src/zone.ts index 310d56a6..b1362f0c 100644 --- a/src/zone.ts +++ b/src/zone.ts @@ -1,57 +1,40 @@ -import { Observable } from 'rxjs/Observable'; -import { Operator } from 'rxjs/Operator'; -import { Subscriber } from 'rxjs/Subscriber'; - -import { TeardownLogic } from 'rxjs/Subscription'; - -import { getZone } from './utils'; - -export function zoneOperator(zone?: Zone): Observable { - return this.lift(new ZoneOperator(zone || getZone())); -} - -class ZoneOperator implements Operator { - constructor(private zone: Zone) { - } - - call(subscriber: Subscriber, source: any): TeardownLogic { - return source._subscribe(new ZoneSubscriber(subscriber, this.zone)); - } -} - -class ZoneSubscriber extends Subscriber { - constructor(destination: Subscriber, - private zone: Zone) { - super(destination); - } - - protected _next(value: T) { - this.zone.run(() => { - this.destination.next(value); - }); - } - - protected _complete() { - this.zone.run(() => { - this.destination.complete(); - }); - } - - protected _error(err?: any) { - this.zone.run(() => { - this.destination.error(err); - }); - } -} - -export interface ZoneSignature { - (zone?: Zone): Observable; -} - -Observable.prototype.zone = zoneOperator; - -declare module 'rxjs/Observable' { - interface Observable { - zone: ZoneSignature; - } -} +import { Observable , Operator , Subscriber } from 'rxjs'; + +import { getZone } from './utils'; + +export const zoneOperator = (zone?: Zone) => (source: Observable) => source.lift(new ZoneOperator(zone || getZone())); + + +class ZoneOperator implements Operator { + constructor(private zone: Zone) { + } + + call(subscriber: Subscriber, source: any) { + return source._subscribe(new ZoneSubscriber(subscriber, this.zone)); + } +} + +class ZoneSubscriber extends Subscriber { + constructor(destination: Subscriber, + private zone: Zone) { + super(destination); + } + + protected _next(value: T) { + this.zone.run(() => { + this.destination.next(value); + }); + } + + protected _complete() { + this.zone.run(() => { + this.destination.complete(); + }); + } + + protected _error(err?: any) { + this.zone.run(() => { + this.destination.error(err); + }); + } +} diff --git a/tests/client/unit/meteor-observable.spec.ts b/tests/client/unit/meteor-observable.spec.ts index 50ff28c3..d1d2a3e2 100644 --- a/tests/client/unit/meteor-observable.spec.ts +++ b/tests/client/unit/meteor-observable.spec.ts @@ -1,107 +1,107 @@ -import {chai} from 'meteor/practicalmeteor:chai'; -import {sinon} from 'meteor/practicalmeteor:sinon'; -import {MeteorObservable} from 'meteor-rxjs'; -import {Observable} from 'rxjs/Observable'; - -const expect = chai.expect; - -describe('MeteorObservable', () => { - describe('call', () => { - it('Should return RxJS Observable when using "call"', () => { - let returnValue = MeteorObservable.call('testMethod'); - expect(returnValue instanceof Observable).to.equal(true); - }); - - it('Should NOT run the actual "call" method without subscribing to the result', () => { - let spy = sinon.spy(Meteor, 'call'); - MeteorObservable.call('testMethod'); - expect(spy.called).to.equal(false); - spy.restore(); - }); - - it('Should run the actual "call" method when subscribing to the result', () => { - let spy = sinon.spy(Meteor, 'call'); - let subHandler = MeteorObservable.call('testMethod').subscribe(); - expect(spy.calledOnce).to.equal(true); - spy.restore(); - subHandler.unsubscribe(); - }); - - it('Should trigger the RxJS Observable "next" callback when got the server response', - (done) => { - let subHandler = MeteorObservable.call('testMethod').subscribe((serverResponse) => { - expect(serverResponse).to.equal('TEST_VALUE'); - subHandler.unsubscribe(); - done(); - }); - }); - - it('Should trigger the RxJS Observable "error" callback when got the server error', - (done) => { - let subscriptionHandler = MeteorObservable.call('NON_EXISTING_METHOD').subscribe(null, - (e) => { - expect(e instanceof Meteor.Error).to.equal(true); - subscriptionHandler.unsubscribe(); - done(); - }); - }); - }); - - describe('subscribe', () => { - function getSubsCount() { - return Object.keys((Meteor).default_connection._subscriptions).length; - } - - it('Should return RxJS Observable when using "subscribe"', () => { - let returnValue = MeteorObservable.subscribe('test'); - expect(returnValue instanceof Observable).to.equal(true); - }); - - it('Should NOT run the actual "subscribe" method without subscribing to the result', () => { - let spy = sinon.spy(Meteor, 'subscribe'); - MeteorObservable.subscribe('test'); - expect(spy.called).to.equal(false); - spy.restore(); - }); - - it('Should run the actual "subscribe" method when subscribing to the result', () => { - let spy = sinon.spy(Meteor, 'subscribe'); - let subHandler = MeteorObservable.subscribe('test').subscribe(); - expect(spy.called).to.equal(true); - spy.restore(); - subHandler.unsubscribe(); - }); - - it('Should call RxJS Observable "next" callback when subscription is ready', done => { - let subHandler = MeteorObservable.subscribe('test').subscribe(() => { - subHandler.unsubscribe(); - done(); - }); - }); - - it('Should stop subscription when one observer subscribes', done => { - let baseCount = getSubsCount(); - let subHandler = MeteorObservable.subscribe('test').subscribe(() => { - expect(getSubsCount()).to.equal(baseCount + 1); - subHandler.unsubscribe(); - expect(getSubsCount()).to.equal(baseCount); - done(); - }); - }); - - it('Should persist same subscription when two observers subscribe, and then one unsubscribes', - done => { - let baseCount = getSubsCount(); - let observable = MeteorObservable.subscribe('test'); - let subHandler1 = observable.subscribe(() => {}); - let subHandler2 = observable.subscribe(() => { - expect(getSubsCount()).to.equal(baseCount + 1); - subHandler1.unsubscribe(); - expect(getSubsCount()).to.equal(baseCount + 1); - subHandler2.unsubscribe(); - expect(getSubsCount()).to.equal(baseCount); - done(); - }); - }); - }); -}); +import {chai} from 'meteor/practicalmeteor:chai'; +import {sinon} from 'meteor/practicalmeteor:sinon'; +import {MeteorObservable} from 'meteor-rxjs'; +import {Observable} from 'rxjs'; + +const expect = chai.expect; + +describe('MeteorObservable', () => { + describe('call', () => { + it('Should return RxJS Observable when using "call"', () => { + let returnValue = MeteorObservable.call('testMethod'); + expect(returnValue instanceof Observable).to.equal(true); + }); + + it('Should NOT run the actual "call" method without subscribing to the result', () => { + let spy = sinon.spy(Meteor, 'call'); + MeteorObservable.call('testMethod'); + expect(spy.called).to.equal(false); + spy.restore(); + }); + + it('Should run the actual "call" method when subscribing to the result', () => { + let spy = sinon.spy(Meteor, 'call'); + let subHandler = MeteorObservable.call('testMethod').subscribe(); + expect(spy.calledOnce).to.equal(true); + spy.restore(); + subHandler.unsubscribe(); + }); + + it('Should trigger the RxJS Observable "next" callback when got the server response', + (done) => { + let subHandler = MeteorObservable.call('testMethod').subscribe((serverResponse) => { + expect(serverResponse).to.equal('TEST_VALUE'); + subHandler.unsubscribe(); + done(); + }); + }); + + it('Should trigger the RxJS Observable "error" callback when got the server error', + (done) => { + let subscriptionHandler = MeteorObservable.call('NON_EXISTING_METHOD').subscribe(null, + (e) => { + expect(e instanceof Meteor.Error).to.equal(true); + subscriptionHandler.unsubscribe(); + done(); + }); + }); + }); + + describe('subscribe', () => { + function getSubsCount() { + return Object.keys((Meteor).default_connection._subscriptions).length; + } + + it('Should return RxJS Observable when using "subscribe"', () => { + let returnValue = MeteorObservable.subscribe('test'); + expect(returnValue instanceof Observable).to.equal(true); + }); + + it('Should NOT run the actual "subscribe" method without subscribing to the result', () => { + let spy = sinon.spy(Meteor, 'subscribe'); + MeteorObservable.subscribe('test'); + expect(spy.called).to.equal(false); + spy.restore(); + }); + + it('Should run the actual "subscribe" method when subscribing to the result', () => { + let spy = sinon.spy(Meteor, 'subscribe'); + let subHandler = MeteorObservable.subscribe('test').subscribe(); + expect(spy.called).to.equal(true); + spy.restore(); + subHandler.unsubscribe(); + }); + + it('Should call RxJS Observable "next" callback when subscription is ready', done => { + let subHandler = MeteorObservable.subscribe('test').subscribe(() => { + subHandler.unsubscribe(); + done(); + }); + }); + + it('Should stop subscription when one observer subscribes', done => { + let baseCount = getSubsCount(); + let subHandler = MeteorObservable.subscribe('test').subscribe(() => { + expect(getSubsCount()).to.equal(baseCount + 1); + subHandler.unsubscribe(); + expect(getSubsCount()).to.equal(baseCount); + done(); + }); + }); + + it('Should persist same subscription when two observers subscribe, and then one unsubscribes', + done => { + let baseCount = getSubsCount(); + let observable = MeteorObservable.subscribe('test'); + let subHandler1 = observable.subscribe(() => {}); + let subHandler2 = observable.subscribe(() => { + expect(getSubsCount()).to.equal(baseCount + 1); + subHandler1.unsubscribe(); + expect(getSubsCount()).to.equal(baseCount + 1); + subHandler2.unsubscribe(); + expect(getSubsCount()).to.equal(baseCount); + done(); + }); + }); + }); +}); diff --git a/tests/client/unit/observable-collection.spec.ts b/tests/client/unit/observable-collection.spec.ts index 2ac7ec99..106aaf4e 100644 --- a/tests/client/unit/observable-collection.spec.ts +++ b/tests/client/unit/observable-collection.spec.ts @@ -1,59 +1,59 @@ -import {chai} from 'meteor/practicalmeteor:chai'; -import {sinon} from 'meteor/practicalmeteor:sinon'; -import {MongoObservable, ObservableCursor} from 'meteor-rxjs'; -import {Observable} from 'rxjs/Observable'; - -const expect = chai.expect; - -describe('MongoObservable methods bridge', () => { - let observable = new MongoObservable.Collection(null); - let mongoCollection = observable.collection; - - it('Should return RxJS Observable object when using "find"', () => { - let findResult = observable.find({}); - expect(findResult instanceof Observable).to.equal(true); - }); - - it('Should wrap existing collection', () => { - let collection = new Mongo.Collection(null); - let insert = sinon.stub(collection, 'insert'); - - let observable = new MongoObservable.Collection(collection); - observable.insert({}); - expect(insert.calledOnce).to.be.true; - }); - - it('Insert should return an observable', done => { - observable.insert({}).subscribe(id => { - expect(id).to.be.string; - done(); - }); - }); - - it('Remove should return an observable', done => { - observable.insert({}).subscribe(id => { - observable.remove(id).subscribe(() => { - done(); - }); - }); - }); - - function testOriginalMethod(methodName) { - it(`Should call the original ${methodName} method of the Mongo.Collection`, () => { - let stub = sinon.stub(mongoCollection, methodName); - observable[methodName]({}); - expect(stub.calledOnce).to.equal(true); - }); - } - - testOriginalMethod('allow'); - testOriginalMethod('deny'); - testOriginalMethod('insert'); - testOriginalMethod('rawCollection'); - testOriginalMethod('rawDatabase'); - testOriginalMethod('remove'); - testOriginalMethod('update'); - testOriginalMethod('upsert'); - testOriginalMethod('find'); - testOriginalMethod('findOne'); -}); +import {chai} from 'meteor/practicalmeteor:chai'; +import {sinon} from 'meteor/practicalmeteor:sinon'; +import {MongoObservable, ObservableCursor} from 'meteor-rxjs'; +import {Observable} from 'rxjs'; + +const expect = chai.expect; + +describe('MongoObservable methods bridge', () => { + let observable = new MongoObservable.Collection(null); + let mongoCollection = observable.collection; + + it('Should return RxJS Observable object when using "find"', () => { + let findResult = observable.find({}); + expect(findResult instanceof Observable).to.equal(true); + }); + + it('Should wrap existing collection', () => { + let collection = new Mongo.Collection(null); + let insert = sinon.stub(collection, 'insert'); + + let observable = new MongoObservable.Collection(collection); + observable.insert({}); + expect(insert.calledOnce).to.be.true; + }); + + it('Insert should return an observable', done => { + observable.insert({}).subscribe(id => { + expect(id).to.be.string; + done(); + }); + }); + + it('Remove should return an observable', done => { + observable.insert({}).subscribe(id => { + observable.remove(id).subscribe(() => { + done(); + }); + }); + }); + + function testOriginalMethod(methodName) { + it(`Should call the original ${methodName} method of the Mongo.Collection`, () => { + let stub = sinon.stub(mongoCollection, methodName); + observable[methodName]({}); + expect(stub.calledOnce).to.equal(true); + }); + } + + testOriginalMethod('allow'); + testOriginalMethod('deny'); + testOriginalMethod('insert'); + testOriginalMethod('rawCollection'); + testOriginalMethod('rawDatabase'); + testOriginalMethod('remove'); + testOriginalMethod('update'); + testOriginalMethod('upsert'); + testOriginalMethod('find'); + testOriginalMethod('findOne'); +}); diff --git a/tests/client/unit/observable-cursor.spec.ts b/tests/client/unit/observable-cursor.spec.ts index 6831674c..d9e21825 100644 --- a/tests/client/unit/observable-cursor.spec.ts +++ b/tests/client/unit/observable-cursor.spec.ts @@ -1,234 +1,234 @@ -import {chai} from 'meteor/practicalmeteor:chai'; -import {sinon} from 'meteor/practicalmeteor:sinon'; -import {Observable} from 'rxjs/Observable'; -import {ObservableCursor, MongoObservable} from 'meteor-rxjs'; - -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/count'; - -const expect = chai.expect; - -describe('ObservableCursor', function () { - let collection: Mongo.Collection; - let cursor: Mongo.Cursor; - let observable: ObservableCursor; - - beforeEach(function () { - collection = new Mongo.Collection(null); - collection.allow({ - insert: function () { - return true; - }, - remove: function () { - return true; - }, - update: function () { - return true; - } - }); - - cursor = collection.find({}); - observable = ObservableCursor.create(cursor); - }); - - it('Should wrap the Mongo.Cursor and return RxJS Observable', () => { - expect(observable instanceof Observable).to.equal(true); - }); - - it('Should not use the actual Cursor "observeChanges" method w/o Observable subscription', () => { - let spy = sinon.spy(cursor, 'observeChanges'); - expect(spy.called).to.equal(false); - spy.restore(); - }); - - it('Should use the actual Cursor "observeChanges" after using Observable subscription', () => { - let spy = sinon.spy(cursor, 'observeChanges'); - let subHandler = observable.subscribe(); - expect(spy.calledOnce).to.equal(true); - spy.restore(); - subHandler.unsubscribe(); - }); - - it('Should not trigger subscription callback when creating the subscription', () => { - let spy = sinon.spy(); - let subscriptionHandler = observable.subscribe(spy); - expect(spy.called).to.equal(false); - subscriptionHandler.unsubscribe(); - }); - - it('Subscription should unsubscribe after the unsubscribe call', () => { - let subHandler; - let callback = () => { - subHandler.unsubscribe(); - }; - let spy = sinon.spy(callback); - subHandler = observable.subscribe(spy); - collection.insert({}); - collection.insert({}); - expect(spy.calledOnce).to.be.true; - }); - - it('Should trigger subscription callback when adding data to the collection', () => { - let newDoc = {name: 'newDoc'}; - let subHandler; - let callback = docs => { - let inserted = docs[0]; - expect(inserted.name).to.equal(newDoc.name); - subHandler.unsubscribe(); - }; - let spy = sinon.spy(callback); - subHandler = observable.subscribe(spy); - collection.insert(newDoc); - expect(spy.calledOnce).to.be.true; - }); - - it('Should trigger subscription callback when moving items in the collection', (done) => { - cursor = collection.find({}, {sort: {name: 1}}); - observable = ObservableCursor.create(cursor); - - let newDoc = {name: 'ZZZZ'}; - let subHandler; - let count = 0; - - let callback = docs => { - count++; - - // 4 because: insert, insert, update, *move* - console.log(count); - if (count === 4) { - let firstItem = docs[0]; - expect(firstItem.name).to.equal('AAAA'); - subHandler.unsubscribe(); - done(); - } - }; - - subHandler = observable.subscribe(callback); - - let objectId = collection.insert(newDoc); - - collection.insert({ - name: 'BBBB' - }); - - collection.update({_id: objectId}, { $set: {name: 'AAAA'} }); - }); - - it('Should trigger callback twice when inserting a doc and then removing it', () => { - let count = 0; - let subHandler; - let callback = docs => { - count++; - if (count == 2) { - expect(docs.length).to.equal(0); - subHandler.unsubscribe(); - } - }; - let spy = sinon.spy(callback); - let subHandler = observable.subscribe(spy); - let idToRemove = collection.insert({test: true}); - collection.remove(idToRemove); - expect(spy.calledTwice).to.be.true; - }); - - it('Should subscription callback should have updated docs after updating', done => { - let count = 0; - let callback = docs => { - count++; - if (count == 1) { - expect(docs[0].test).to.equal(true); - } - - if (count == 2) { - expect(docs[0].test).to.equal(false); - subHandler.unsubscribe(); - done(); - } - }; - let spy = sinon.spy(callback); - - let subHandler = observable.subscribe(spy); - let idToUpdate = collection.insert({test: true}); - collection.update({_id: idToUpdate}, {$set: {test: false}}); - expect(spy.calledTwice).to.be.true; - }); - - it('Should stop Mongo cursor when the last subscription unsubscribes', () => { - let stopSpy = sinon.spy(); - let spy = sinon.stub(cursor, 'observeChanges', () => { - return { - stop: stopSpy - } - }); - - let subHandler = observable.subscribe(); - subHandler.unsubscribe(); - - expect(stopSpy.callCount).to.equal(1); - spy.restore(); - }); - - it('RxJS operators should persist', () => { - expect(observable.count).to.equal(Observable.prototype.count); - expect(observable.map).to.equal(Observable.prototype.map); - }); - - it('Should trigger collectionCount when adding item', () => { - let newDoc = {name: 'newDoc'}; - let subHandler, subCountHandler; - let callback = count => { - expect(count).to.equal(1); - subHandler.unsubscribe(); - subCountHandler.unsubscribe(); - }; - - subHandler = observable.subscribe(); - subCountHandler = observable.collectionCount().subscribe(callback); - collection.insert(newDoc); - }); - - it('Should trigger collectionCount when adding and removing items', (done) => { - let newDoc = {name: 'newDoc'}; - let subHandler, subCountHandler; - let c = 0; - - let callback = count => { - if (c === 0) { - expect(count).to.equal(1); - } - else if (c === 1) { - expect(count).to.equal(0); - subHandler.unsubscribe(); - subCountHandler.unsubscribe(); - done(); - } - - c++; - }; - - subHandler = observable.subscribe(); - subCountHandler = observable.collectionCount().subscribe(callback); - let id = collection.insert(newDoc); - collection.remove({_id: id}); - }); - - it('Multiple subscription for the same Observable should replay last value', () => { - let wrappedCollection = MongoObservable.fromExisting(collection); - let observable = wrappedCollection.find({}); - - let spyCb1 = sinon.spy(); - let spyCb2 = sinon.spy(); - let firstSubscriptionHandler = observable.subscribe(spyCb1); - wrappedCollection.insert({test: 1}); - wrappedCollection.insert({test: 2}); - wrappedCollection.insert({test: 3}); - let secondSubscriptionHandler = observable.subscribe(spyCb2); - wrappedCollection.insert({test: 4}); - - expect(spyCb1.callCount).to.equal(4); - expect(spyCb2.callCount).to.equal(1); - - firstSubscriptionHandler.unsubscribe(); - secondSubscriptionHandler.unsubscribe(); - }); -}); +import {chai} from 'meteor/practicalmeteor:chai'; +import {sinon} from 'meteor/practicalmeteor:sinon'; +import {Observable} from 'rxjs'; +import {ObservableCursor, MongoObservable} from 'meteor-rxjs'; + + + + +const expect = chai.expect; + +describe('ObservableCursor', function () { + let collection: Mongo.Collection; + let cursor: Mongo.Cursor; + let observable: ObservableCursor; + + beforeEach(function () { + collection = new Mongo.Collection(null); + collection.allow({ + insert: function () { + return true; + }, + remove: function () { + return true; + }, + update: function () { + return true; + } + }); + + cursor = collection.find({}); + observable = ObservableCursor.create(cursor); + }); + + it('Should wrap the Mongo.Cursor and return RxJS Observable', () => { + expect(observable instanceof Observable).to.equal(true); + }); + + it('Should not use the actual Cursor "observeChanges" method w/o Observable subscription', () => { + let spy = sinon.spy(cursor, 'observeChanges'); + expect(spy.called).to.equal(false); + spy.restore(); + }); + + it('Should use the actual Cursor "observeChanges" after using Observable subscription', () => { + let spy = sinon.spy(cursor, 'observeChanges'); + let subHandler = observable.subscribe(); + expect(spy.calledOnce).to.equal(true); + spy.restore(); + subHandler.unsubscribe(); + }); + + it('Should not trigger subscription callback when creating the subscription', () => { + let spy = sinon.spy(); + let subscriptionHandler = observable.subscribe(spy); + expect(spy.called).to.equal(false); + subscriptionHandler.unsubscribe(); + }); + + it('Subscription should unsubscribe after the unsubscribe call', () => { + let subHandler; + let callback = () => { + subHandler.unsubscribe(); + }; + let spy = sinon.spy(callback); + subHandler = observable.subscribe(spy); + collection.insert({}); + collection.insert({}); + expect(spy.calledOnce).to.be.true; + }); + + it('Should trigger subscription callback when adding data to the collection', () => { + let newDoc = {name: 'newDoc'}; + let subHandler; + let callback = docs => { + let inserted = docs[0]; + expect(inserted.name).to.equal(newDoc.name); + subHandler.unsubscribe(); + }; + let spy = sinon.spy(callback); + subHandler = observable.subscribe(spy); + collection.insert(newDoc); + expect(spy.calledOnce).to.be.true; + }); + + it('Should trigger subscription callback when moving items in the collection', (done) => { + cursor = collection.find({}, {sort: {name: 1}}); + observable = ObservableCursor.create(cursor); + + let newDoc = {name: 'ZZZZ'}; + let subHandler; + let count = 0; + + let callback = docs => { + count++; + + // 4 because: insert, insert, update, *move* + console.log(count); + if (count === 4) { + let firstItem = docs[0]; + expect(firstItem.name).to.equal('AAAA'); + subHandler.unsubscribe(); + done(); + } + }; + + subHandler = observable.subscribe(callback); + + let objectId = collection.insert(newDoc); + + collection.insert({ + name: 'BBBB' + }); + + collection.update({_id: objectId}, { $set: {name: 'AAAA'} }); + }); + + it('Should trigger callback twice when inserting a doc and then removing it', () => { + let count = 0; + let subHandler; + let callback = docs => { + count++; + if (count == 2) { + expect(docs.length).to.equal(0); + subHandler.unsubscribe(); + } + }; + let spy = sinon.spy(callback); + let subHandler = observable.subscribe(spy); + let idToRemove = collection.insert({test: true}); + collection.remove(idToRemove); + expect(spy.calledTwice).to.be.true; + }); + + it('Should subscription callback should have updated docs after updating', done => { + let count = 0; + let callback = docs => { + count++; + if (count == 1) { + expect(docs[0].test).to.equal(true); + } + + if (count == 2) { + expect(docs[0].test).to.equal(false); + subHandler.unsubscribe(); + done(); + } + }; + let spy = sinon.spy(callback); + + let subHandler = observable.subscribe(spy); + let idToUpdate = collection.insert({test: true}); + collection.update({_id: idToUpdate}, {$set: {test: false}}); + expect(spy.calledTwice).to.be.true; + }); + + it('Should stop Mongo cursor when the last subscription unsubscribes', () => { + let stopSpy = sinon.spy(); + let spy = sinon.stub(cursor, 'observeChanges', () => { + return { + stop: stopSpy + } + }); + + let subHandler = observable.subscribe(); + subHandler.unsubscribe(); + + expect(stopSpy.callCount).to.equal(1); + spy.restore(); + }); + + it('RxJS operators should persist', () => { + expect(observable.count).to.equal(Observable.prototype.count); + expect(observable.map).to.equal(Observable.prototype.map); + }); + + it('Should trigger collectionCount when adding item', () => { + let newDoc = {name: 'newDoc'}; + let subHandler, subCountHandler; + let callback = count => { + expect(count).to.equal(1); + subHandler.unsubscribe(); + subCountHandler.unsubscribe(); + }; + + subHandler = observable.subscribe(); + subCountHandler = observable.collectionCount().subscribe(callback); + collection.insert(newDoc); + }); + + it('Should trigger collectionCount when adding and removing items', (done) => { + let newDoc = {name: 'newDoc'}; + let subHandler, subCountHandler; + let c = 0; + + let callback = count => { + if (c === 0) { + expect(count).to.equal(1); + } + else if (c === 1) { + expect(count).to.equal(0); + subHandler.unsubscribe(); + subCountHandler.unsubscribe(); + done(); + } + + c++; + }; + + subHandler = observable.subscribe(); + subCountHandler = observable.collectionCount().subscribe(callback); + let id = collection.insert(newDoc); + collection.remove({_id: id}); + }); + + it('Multiple subscription for the same Observable should replay last value', () => { + let wrappedCollection = MongoObservable.fromExisting(collection); + let observable = wrappedCollection.find({}); + + let spyCb1 = sinon.spy(); + let spyCb2 = sinon.spy(); + let firstSubscriptionHandler = observable.subscribe(spyCb1); + wrappedCollection.insert({test: 1}); + wrappedCollection.insert({test: 2}); + wrappedCollection.insert({test: 3}); + let secondSubscriptionHandler = observable.subscribe(spyCb2); + wrappedCollection.insert({test: 4}); + + expect(spyCb1.callCount).to.equal(4); + expect(spyCb2.callCount).to.equal(1); + + firstSubscriptionHandler.unsubscribe(); + secondSubscriptionHandler.unsubscribe(); + }); +}); diff --git a/tests/client/unit/zone-operator.spec.ts b/tests/client/unit/zone-operator.spec.ts index 38379e8a..743823c5 100644 --- a/tests/client/unit/zone-operator.spec.ts +++ b/tests/client/unit/zone-operator.spec.ts @@ -1,7 +1,7 @@ import {chai} from 'meteor/practicalmeteor:chai'; import {sinon} from 'meteor/practicalmeteor:sinon'; -import {Observable} from 'rxjs/Observable'; -import {MeteorObservable, MongoObservable} from 'meteor-rxjs'; +import {Observable} from 'rxjs'; +import {MeteorObservable, MongoObservable,zoneOperator} from 'meteor-rxjs'; import 'zone.js/dist/zone.js'; @@ -15,20 +15,15 @@ describe('ZoneOperator', () => { } }); - it('Should exist on Observable', () => { - let obs = Observable.create(); - expect(obs.zone).to.be.function; - }); - it('Should run in the expected zone on the next', done => { let gZone = Zone.current; let zone = Zone.current.fork({ name: 'ng'}); - let obs = Observable.create(observer => { + let obs: Observable = Observable.create(observer => { gZone.run(() => observer.next()); }); zone.run(() => { - obs.zone().subscribe(() => { + obs.pipe(zoneOperator()).subscribe(() => { expect(Zone.current).to.equal(zone); done(); }); @@ -41,7 +36,7 @@ describe('ZoneOperator', () => { zone.run(() => { let subHandler = MeteorObservable.autorun().subscribe(() => { console.log(subHandler); - observable.find({}).zone().subscribe(() => { + observable.find({}).pipe(zoneOperator()).subscribe(() => { expect(Zone.current).to.equal(zone); subHandler.unsubscribe(); done(); diff --git a/tests/package-lock.json b/tests/package-lock.json new file mode 100644 index 00000000..6bf50faa --- /dev/null +++ b/tests/package-lock.json @@ -0,0 +1,2241 @@ +{ + "name": "tests", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@types/connect": { + "version": "3.4.32", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", + "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", + "requires": { + "@types/node": "10.0.4" + } + }, + "@types/meteor": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@types/meteor/-/meteor-1.4.15.tgz", + "integrity": "sha512-Rx0g+SbPxfVEH3MLmvLWiRxt+5TzfTUSLHu18crHMD7B0C+fyKrb/6xJo++3gN2QovE9UgNou2g+zuI38+QGNA==", + "requires": { + "@types/connect": "3.4.32", + "@types/underscore": "1.8.8" + } + }, + "@types/node": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz", + "integrity": "sha512-RisaZmcmCLjRipAY7nVi3fmkIk4Z0JMn8YHdGF6qYMsIDpD0dfzz+3yy2dL5Q5aHWOnqPx51IRxkA44myknJvw==" + }, + "@types/underscore": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.8.8.tgz", + "integrity": "sha512-EquzRwzAAs04anQ8/6MYXFKvHoD+MIlF+gu87EDda7dN9zrKvQYHsc9VFAPB1xY4tUHQVvBMtjsHrvof2EE1Mg==" + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.5", + "regenerator-runtime": "0.11.1" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "core-js": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "es6-shim": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.3.tgz", + "integrity": "sha1-m/tzY/7//4emzbbNk+QF7DxLbyY=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.3.3", + "path-is-absolute": "1.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.3.3", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "linklocal": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/linklocal/-/linklocal-2.8.2.tgz", + "integrity": "sha1-xp6IZNqseTaQKYkrF9WoCJJ13Kc=", + "dev": true, + "requires": { + "commander": "2.15.1", + "debug": "3.1.0", + "map-limit": "0.0.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "dev": true, + "requires": { + "once": "1.3.3" + } + }, + "meteor-rxjs": { + "version": "file:..", + "dependencies": { + "@types/chai": { + "version": "4.0.4", + "bundled": true + }, + "@types/connect": { + "version": "3.4.32", + "bundled": true, + "requires": { + "@types/node": "10.0.4" + } + }, + "@types/meteor": { + "version": "1.4.13", + "bundled": true, + "requires": { + "@types/connect": "3.4.32", + "@types/underscore": "1.8.3" + } + }, + "@types/mocha": { + "version": "2.2.43", + "bundled": true + }, + "@types/node": { + "version": "10.0.4", + "bundled": true + }, + "@types/underscore": { + "version": "1.8.3", + "bundled": true + }, + "JSONStream": { + "version": "1.3.2", + "bundled": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + } + }, + "acorn": { + "version": "3.3.0", + "bundled": true + }, + "acorn-jsx": { + "version": "3.0.1", + "bundled": true, + "requires": { + "acorn": "3.3.0" + } + }, + "add-stream": { + "version": "1.0.0", + "bundled": true + }, + "align-text": { + "version": "0.1.4", + "bundled": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true + }, + "ansi-escape-sequences": { + "version": "3.0.0", + "bundled": true, + "requires": { + "array-back": "1.0.4" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true + }, + "app-usage-stats": { + "version": "0.5.1", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "home-path": "1.0.5", + "test-value": "2.1.0", + "usage-stats": "0.9.4" + } + }, + "array-back": { + "version": "1.0.4", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + }, + "array-find-index": { + "version": "1.0.2", + "bundled": true + }, + "array-ify": { + "version": "1.0.0", + "bundled": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true + }, + "async": { + "version": "1.5.2", + "bundled": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bluebird": { + "version": "3.4.7", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true + }, + "cache-point": { + "version": "0.4.1", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "fs-then-native": "2.0.0", + "mkdirp2": "1.0.3" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + } + } + }, + "camelcase": { + "version": "2.1.1", + "bundled": true + }, + "camelcase-keys": { + "version": "2.1.0", + "bundled": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "catharsis": { + "version": "0.8.9", + "bundled": true, + "requires": { + "underscore-contrib": "0.3.0" + } + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true + } + } + }, + "collect-all": { + "version": "1.0.3", + "bundled": true, + "requires": { + "stream-connect": "1.0.2", + "stream-via": "1.0.4" + } + }, + "colors": { + "version": "1.2.4", + "bundled": true + }, + "command-line-args": { + "version": "4.0.7", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "find-replace": "1.0.3", + "typical": "2.6.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + } + } + }, + "command-line-tool": { + "version": "0.7.0", + "bundled": true, + "requires": { + "ansi-escape-sequences": "3.0.0", + "array-back": "1.0.4", + "command-line-args": "4.0.7", + "command-line-usage": "4.1.0", + "typical": "2.6.1" + } + }, + "command-line-usage": { + "version": "4.1.0", + "bundled": true, + "requires": { + "ansi-escape-sequences": "4.0.0", + "array-back": "2.0.0", + "table-layout": "0.4.3", + "typical": "2.6.1" + }, + "dependencies": { + "ansi-escape-sequences": { + "version": "4.0.0", + "bundled": true, + "requires": { + "array-back": "2.0.0" + } + }, + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + } + } + }, + "commander": { + "version": "2.15.1", + "bundled": true + }, + "common-sequence": { + "version": "1.0.2", + "bundled": true + }, + "compare-func": { + "version": "1.3.2", + "bundled": true, + "requires": { + "array-ify": "1.0.0", + "dot-prop": "3.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "config-master": { + "version": "3.1.0", + "bundled": true, + "requires": { + "walk-back": "2.0.1" + } + }, + "conventional-changelog": { + "version": "1.1.0", + "bundled": true, + "requires": { + "conventional-changelog-angular": "1.6.6", + "conventional-changelog-atom": "0.1.2", + "conventional-changelog-codemirror": "0.1.0", + "conventional-changelog-core": "1.9.5", + "conventional-changelog-ember": "0.2.10", + "conventional-changelog-eslint": "0.1.0", + "conventional-changelog-express": "0.1.0", + "conventional-changelog-jquery": "0.1.0", + "conventional-changelog-jscs": "0.1.0", + "conventional-changelog-jshint": "0.1.0" + } + }, + "conventional-changelog-angular": { + "version": "1.6.6", + "bundled": true, + "requires": { + "compare-func": "1.3.2", + "q": "1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "0.1.2", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-cli": { + "version": "1.2.0", + "bundled": true, + "requires": { + "add-stream": "1.0.0", + "conventional-changelog": "1.1.0", + "lodash": "4.17.10", + "meow": "3.7.0", + "tempfile": "1.1.1" + } + }, + "conventional-changelog-codemirror": { + "version": "0.1.0", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-core": { + "version": "1.9.5", + "bundled": true, + "requires": { + "conventional-changelog-writer": "2.0.3", + "conventional-commits-parser": "2.1.7", + "dateformat": "1.0.12", + "get-pkg-repo": "1.4.0", + "git-raw-commits": "1.3.6", + "git-remote-origin-url": "2.0.0", + "git-semver-tags": "1.3.6", + "lodash": "4.17.10", + "normalize-package-data": "2.4.0", + "q": "1.5.1", + "read-pkg": "1.1.0", + "read-pkg-up": "1.0.1", + "through2": "2.0.3" + } + }, + "conventional-changelog-ember": { + "version": "0.2.10", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "0.1.0", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-express": { + "version": "0.1.0", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "0.1.0", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-jscs": { + "version": "0.1.0", + "bundled": true, + "requires": { + "q": "1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "0.1.0", + "bundled": true, + "requires": { + "compare-func": "1.3.2", + "q": "1.5.1" + } + }, + "conventional-changelog-writer": { + "version": "2.0.3", + "bundled": true, + "requires": { + "compare-func": "1.3.2", + "conventional-commits-filter": "1.1.6", + "dateformat": "1.0.12", + "handlebars": "4.0.11", + "json-stringify-safe": "5.0.1", + "lodash": "4.17.10", + "meow": "3.7.0", + "semver": "5.5.0", + "split": "1.0.1", + "through2": "2.0.3" + } + }, + "conventional-commits-filter": { + "version": "1.1.6", + "bundled": true, + "requires": { + "is-subset": "0.1.1", + "modify-values": "1.0.1" + } + }, + "conventional-commits-parser": { + "version": "2.1.7", + "bundled": true, + "requires": { + "JSONStream": "1.3.2", + "is-text-path": "1.0.1", + "lodash": "4.17.10", + "meow": "4.0.1", + "split2": "2.2.0", + "through2": "2.0.3", + "trim-off-newlines": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "camelcase-keys": { + "version": "4.2.0", + "bundled": true, + "requires": { + "camelcase": "4.1.0", + "map-obj": "2.0.0", + "quick-lru": "1.1.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "bundled": true + }, + "load-json-file": { + "version": "4.0.0", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "bundled": true + }, + "meow": { + "version": "4.0.1", + "bundled": true, + "requires": { + "camelcase-keys": "4.2.0", + "decamelize-keys": "1.1.0", + "loud-rejection": "1.6.0", + "minimist": "1.2.0", + "minimist-options": "3.0.2", + "normalize-package-data": "2.4.0", + "read-pkg-up": "3.0.0", + "redent": "2.0.0", + "trim-newlines": "2.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "bundled": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" + } + }, + "path-type": { + "version": "3.0.0", + "bundled": true, + "requires": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "read-pkg": { + "version": "3.0.0", + "bundled": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } + }, + "redent": { + "version": "2.0.0", + "bundled": true, + "requires": { + "indent-string": "3.2.0", + "strip-indent": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true + }, + "strip-indent": { + "version": "2.0.0", + "bundled": true + }, + "trim-newlines": { + "version": "2.0.0", + "bundled": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "currently-unhandled": { + "version": "0.4.1", + "bundled": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "dargs": { + "version": "4.1.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "dateformat": { + "version": "1.0.12", + "bundled": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "decamelize-keys": { + "version": "1.1.0", + "bundled": true, + "requires": { + "decamelize": "1.2.0", + "map-obj": "1.0.1" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true + }, + "defer-promise": { + "version": "1.0.1", + "bundled": true + }, + "diff": { + "version": "3.5.0", + "bundled": true + }, + "dmd": { + "version": "3.0.12", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "cache-point": "0.4.1", + "common-sequence": "1.0.2", + "file-set": "2.0.0", + "handlebars": "4.0.11", + "marked": "0.3.19", + "object-get": "2.1.0", + "reduce-flatten": "1.0.1", + "reduce-unique": "1.0.0", + "reduce-without": "1.0.1", + "test-value": "3.0.0", + "walk-back": "3.0.0" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + }, + "test-value": { + "version": "3.0.0", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "typical": "2.6.1" + } + }, + "walk-back": { + "version": "3.0.0", + "bundled": true + } + } + }, + "dot-prop": { + "version": "3.0.0", + "bundled": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "espree": { + "version": "3.1.7", + "bundled": true, + "requires": { + "acorn": "3.3.0", + "acorn-jsx": "3.0.1" + } + }, + "esutils": { + "version": "2.0.2", + "bundled": true + }, + "file-set": { + "version": "2.0.0", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "glob": "7.1.2" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + } + } + }, + "find-replace": { + "version": "1.0.3", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "test-value": "2.1.0" + } + }, + "find-up": { + "version": "1.1.2", + "bundled": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "fs-then-native": { + "version": "2.0.0", + "bundled": true + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "get-pkg-repo": { + "version": "1.4.0", + "bundled": true, + "requires": { + "hosted-git-info": "2.6.0", + "meow": "3.7.0", + "normalize-package-data": "2.4.0", + "parse-github-repo-url": "1.4.1", + "through2": "2.0.3" + } + }, + "get-stdin": { + "version": "4.0.1", + "bundled": true + }, + "git-raw-commits": { + "version": "1.3.6", + "bundled": true, + "requires": { + "dargs": "4.1.0", + "lodash.template": "4.4.0", + "meow": "4.0.1", + "split2": "2.2.0", + "through2": "2.0.3" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "camelcase-keys": { + "version": "4.2.0", + "bundled": true, + "requires": { + "camelcase": "4.1.0", + "map-obj": "2.0.0", + "quick-lru": "1.1.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "bundled": true + }, + "load-json-file": { + "version": "4.0.0", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "bundled": true + }, + "meow": { + "version": "4.0.1", + "bundled": true, + "requires": { + "camelcase-keys": "4.2.0", + "decamelize-keys": "1.1.0", + "loud-rejection": "1.6.0", + "minimist": "1.2.0", + "minimist-options": "3.0.2", + "normalize-package-data": "2.4.0", + "read-pkg-up": "3.0.0", + "redent": "2.0.0", + "trim-newlines": "2.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "bundled": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" + } + }, + "path-type": { + "version": "3.0.0", + "bundled": true, + "requires": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "read-pkg": { + "version": "3.0.0", + "bundled": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } + }, + "redent": { + "version": "2.0.0", + "bundled": true, + "requires": { + "indent-string": "3.2.0", + "strip-indent": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true + }, + "strip-indent": { + "version": "2.0.0", + "bundled": true + }, + "trim-newlines": { + "version": "2.0.0", + "bundled": true + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "bundled": true, + "requires": { + "gitconfiglocal": "1.0.0", + "pify": "2.3.0" + } + }, + "git-semver-tags": { + "version": "1.3.6", + "bundled": true, + "requires": { + "meow": "4.0.1", + "semver": "5.5.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "camelcase-keys": { + "version": "4.2.0", + "bundled": true, + "requires": { + "camelcase": "4.1.0", + "map-obj": "2.0.0", + "quick-lru": "1.1.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "bundled": true + }, + "load-json-file": { + "version": "4.0.0", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "map-obj": { + "version": "2.0.0", + "bundled": true + }, + "meow": { + "version": "4.0.1", + "bundled": true, + "requires": { + "camelcase-keys": "4.2.0", + "decamelize-keys": "1.1.0", + "loud-rejection": "1.6.0", + "minimist": "1.2.0", + "minimist-options": "3.0.2", + "normalize-package-data": "2.4.0", + "read-pkg-up": "3.0.0", + "redent": "2.0.0", + "trim-newlines": "2.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "bundled": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" + } + }, + "path-type": { + "version": "3.0.0", + "bundled": true, + "requires": { + "pify": "3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "read-pkg": { + "version": "3.0.0", + "bundled": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } + }, + "redent": { + "version": "2.0.0", + "bundled": true, + "requires": { + "indent-string": "3.2.0", + "strip-indent": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true + }, + "strip-indent": { + "version": "2.0.0", + "bundled": true + }, + "trim-newlines": { + "version": "2.0.0", + "bundled": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "bundled": true, + "requires": { + "ini": "1.3.5" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "home-path": { + "version": "1.0.5", + "bundled": true + }, + "hosted-git-info": { + "version": "2.6.0", + "bundled": true + }, + "indent-string": { + "version": "2.1.0", + "bundled": true, + "requires": { + "repeating": "2.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-obj": { + "version": "1.0.1", + "bundled": true + }, + "is-plain-obj": { + "version": "1.1.0", + "bundled": true + }, + "is-subset": { + "version": "0.1.1", + "bundled": true + }, + "is-text-path": { + "version": "1.0.1", + "bundled": true, + "requires": { + "text-extensions": "1.7.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true + }, + "js2xmlparser": { + "version": "1.0.0", + "bundled": true + }, + "jsdoc-75lb": { + "version": "3.6.0", + "bundled": true, + "requires": { + "bluebird": "3.4.7", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "espree": "3.1.7", + "js2xmlparser": "1.0.0", + "klaw": "1.3.1", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", + "taffydb": "2.6.2", + "underscore": "1.8.3" + } + }, + "jsdoc-api": { + "version": "3.0.0", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "cache-point": "0.4.1", + "collect-all": "1.0.3", + "file-set": "1.1.1", + "fs-then-native": "2.0.0", + "jsdoc-75lb": "3.6.0", + "object-to-spawn-args": "1.1.1", + "temp-path": "1.0.0", + "walk-back": "2.0.1" + }, + "dependencies": { + "file-set": { + "version": "1.1.1", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "glob": "7.1.2" + } + } + } + }, + "jsdoc-parse": { + "version": "3.0.1", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "lodash.omit": "4.5.0", + "lodash.pick": "4.4.0", + "reduce-extract": "1.0.0", + "sort-array": "2.0.0", + "test-value": "3.0.0" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + }, + "test-value": { + "version": "3.0.0", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "typical": "2.6.1" + } + } + } + }, + "jsdoc-to-markdown": { + "version": "3.0.0", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "command-line-tool": "0.7.0", + "config-master": "3.1.0", + "dmd": "3.0.12", + "jsdoc-api": "3.0.0", + "jsdoc-parse": "3.0.1", + "jsdoc2md-stats": "2.0.1", + "walk-back": "2.0.1" + } + }, + "jsdoc2md-stats": { + "version": "2.0.1", + "bundled": true, + "requires": { + "app-usage-stats": "0.5.1" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true + } + } + }, + "lodash": { + "version": "4.17.10", + "bundled": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "bundled": true + }, + "lodash.omit": { + "version": "4.5.0", + "bundled": true + }, + "lodash.padend": { + "version": "4.6.1", + "bundled": true + }, + "lodash.pick": { + "version": "4.4.0", + "bundled": true + }, + "lodash.template": { + "version": "4.4.0", + "bundled": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.templatesettings": "4.1.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "bundled": true, + "requires": { + "lodash._reinterpolate": "3.0.0" + } + }, + "longest": { + "version": "1.0.1", + "bundled": true + }, + "loud-rejection": { + "version": "1.6.0", + "bundled": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "map-obj": { + "version": "1.0.1", + "bundled": true + }, + "marked": { + "version": "0.3.19", + "bundled": true + }, + "meow": { + "version": "3.7.0", + "bundled": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "bundled": true + }, + "minimist-options": { + "version": "3.0.2", + "bundled": true, + "requires": { + "arrify": "1.0.1", + "is-plain-obj": "1.1.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "mkdirp2": { + "version": "1.0.3", + "bundled": true + }, + "modify-values": { + "version": "1.0.1", + "bundled": true + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "object-get": { + "version": "2.1.0", + "bundled": true + }, + "object-to-spawn-args": { + "version": "1.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "bundled": true + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true + }, + "parse-github-repo-url": { + "version": "1.4.1", + "bundled": true + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "q": { + "version": "1.5.1", + "bundled": true + }, + "quick-lru": { + "version": "1.1.0", + "bundled": true + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "redent": { + "version": "1.0.0", + "bundled": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-extract": { + "version": "1.0.0", + "bundled": true, + "requires": { + "test-value": "1.1.0" + }, + "dependencies": { + "test-value": { + "version": "1.1.0", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + } + } + }, + "reduce-flatten": { + "version": "1.0.1", + "bundled": true + }, + "reduce-unique": { + "version": "1.0.0", + "bundled": true + }, + "reduce-without": { + "version": "1.0.1", + "bundled": true, + "requires": { + "test-value": "2.1.0" + } + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "req-then": { + "version": "0.6.4", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "defer-promise": "1.0.1", + "lodash.pick": "4.4.0", + "stream-read-all": "0.1.2", + "typical": "2.6.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + } + } + }, + "requizzle": { + "version": "0.2.1", + "bundled": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "bundled": true + } + } + }, + "resolve": { + "version": "1.7.1", + "bundled": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rollup": { + "version": "0.49.3", + "bundled": true + }, + "rxjs": { + "version": "5.5.7", + "bundled": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "sort-array": { + "version": "2.0.0", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "object-get": "2.1.0", + "typical": "2.6.1" + } + }, + "source-map": { + "version": "0.4.4", + "bundled": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true + }, + "split": { + "version": "1.0.1", + "bundled": true, + "requires": { + "through": "2.3.8" + } + }, + "split2": { + "version": "2.2.0", + "bundled": true, + "requires": { + "through2": "2.0.3" + } + }, + "stream-connect": { + "version": "1.0.2", + "bundled": true, + "requires": { + "array-back": "1.0.4" + } + }, + "stream-read-all": { + "version": "0.1.2", + "bundled": true + }, + "stream-via": { + "version": "1.0.4", + "bundled": true + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "bundled": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true + }, + "symbol-observable": { + "version": "1.0.1", + "bundled": true + }, + "table-layout": { + "version": "0.4.3", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "deep-extend": "0.5.1", + "lodash.padend": "4.6.1", + "typical": "2.6.1", + "wordwrapjs": "3.0.0" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "bundled": true + }, + "temp-path": { + "version": "1.0.0", + "bundled": true + }, + "tempfile": { + "version": "1.1.1", + "bundled": true, + "requires": { + "os-tmpdir": "1.0.2", + "uuid": "2.0.3" + } + }, + "test-value": { + "version": "2.1.0", + "bundled": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + }, + "text-extensions": { + "version": "1.7.0", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "bundled": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "bundled": true + }, + "tslib": { + "version": "1.9.0", + "bundled": true + }, + "tslint": { + "version": "5.7.0", + "bundled": true, + "requires": { + "babel-code-frame": "6.26.0", + "colors": "1.2.4", + "commander": "2.15.1", + "diff": "3.5.0", + "glob": "7.1.2", + "minimatch": "3.0.4", + "resolve": "1.7.1", + "semver": "5.5.0", + "tslib": "1.9.0", + "tsutils": "2.26.2" + } + }, + "tsutils": { + "version": "2.26.2", + "bundled": true, + "requires": { + "tslib": "1.9.0" + } + }, + "typescript": { + "version": "2.7.2", + "bundled": true + }, + "typical": { + "version": "2.6.1", + "bundled": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "bundled": true, + "optional": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true + }, + "underscore": { + "version": "1.8.3", + "bundled": true + }, + "underscore-contrib": { + "version": "0.3.0", + "bundled": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "bundled": true + } + } + }, + "usage-stats": { + "version": "0.9.4", + "bundled": true, + "requires": { + "array-back": "2.0.0", + "home-path": "1.0.5", + "mkdirp2": "1.0.3", + "req-then": "0.6.4", + "typical": "2.6.1", + "uuid": "3.2.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "bundled": true, + "requires": { + "typical": "2.6.1" + } + }, + "uuid": { + "version": "3.2.1", + "bundled": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "2.0.3", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "walk-back": { + "version": "2.0.1", + "bundled": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true + }, + "wordwrapjs": { + "version": "3.0.0", + "bundled": true, + "requires": { + "reduce-flatten": "1.0.1", + "typical": "2.6.1" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + }, + "yargs": { + "version": "3.10.0", + "bundled": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "bundled": true + } + } + }, + "zone.js": { + "version": "0.8.20", + "bundled": true + } + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "rxjs": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.1.0.tgz", + "integrity": "sha512-lMZdl6xbHJCSb5lmnb6nOhsoBVCyoDC5LDJQK9WWyq+tsI7KnlDIZ0r0AZAlBpRPLbwQA9kzSBAZwNIZEZ+hcw==", + "requires": { + "tslib": "1.9.0" + } + }, + "rxjs-compat": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.1.0.tgz", + "integrity": "sha512-x5L1KQy1RqDRpPadN5iDOx71TV9Wqmlmu6OOEn3tFFgaTCB0/N+Lmby/rZHgJ6JEPzzt0nD9Zv+kS53E5JIR5g==" + }, + "tslib": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", + "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "zone.js": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.17.tgz", + "integrity": "sha1-TF5RhahX2o2nk9rzkZNxxaNrKgs=" + } + } +} diff --git a/tests/package.json b/tests/package.json index 1f24df17..d9000b90 100644 --- a/tests/package.json +++ b/tests/package.json @@ -5,13 +5,15 @@ "start": "meteor run" }, "dependencies": { - "babel-runtime": "6.26.0", - "es6-shim": "0.35.3", + "babel-runtime": "^6.26.0", + "es6-shim": "^0.35.3", "meteor-rxjs": "file:..", - "rxjs": "5.4.3", - "zone.js": "0.8.17" + "rxjs": "^6.0.0", + "rxjs-compat": "^6.0.0", + "zone.js": "0.8.17", + "@types/meteor": "^1.4.6" }, "devDependencies": { - "linklocal": "2.8.1" + "linklocal": "^2.8.1" } } diff --git a/tests/yarn.lock b/tests/yarn.lock index f6b2ac9c..cc07f24d 100644 --- a/tests/yarn.lock +++ b/tests/yarn.lock @@ -1,152 +1,152 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -babel-runtime@6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -commander@^2.11.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.0.tgz#ad2a23a1c3b036e392469b8012cec6b33b4c1322" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -core-js@^2.4.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" - -debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -es6-shim@0.35.3: - version "0.35.3" - resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -glob@^7.0.5: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -linklocal@2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/linklocal/-/linklocal-2.8.1.tgz#3db5a1767afaa127772bdc7a80cbae460dfa30a5" - dependencies: - commander "^2.11.0" - debug "^2.6.8" - map-limit "0.0.1" - mkdirp "^0.5.1" - rimraf "^2.6.1" - -map-limit@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/map-limit/-/map-limit-0.0.1.tgz#eb7961031c0f0e8d001bf2d56fab685d58822f38" - dependencies: - once "~1.3.0" - -"meteor-rxjs@file:..": - version "0.4.8" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - -rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - -rxjs@5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f" - dependencies: - symbol-observable "^1.0.1" - -symbol-observable@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -zone.js@0.8.17: - version "0.8.17" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.17.tgz#4c5e5185a857da8da793daf3919371c5a36b2a0b" +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +babel-runtime@6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +commander@^2.11.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.0.tgz#ad2a23a1c3b036e392469b8012cec6b33b4c1322" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +core-js@^2.4.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" + +debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +es6-shim@0.35.3: + version "0.35.3" + resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +glob@^7.0.5: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +linklocal@2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/linklocal/-/linklocal-2.8.1.tgz#3db5a1767afaa127772bdc7a80cbae460dfa30a5" + dependencies: + commander "^2.11.0" + debug "^2.6.8" + map-limit "0.0.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + +map-limit@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/map-limit/-/map-limit-0.0.1.tgz#eb7961031c0f0e8d001bf2d56fab685d58822f38" + dependencies: + once "~1.3.0" + +"meteor-rxjs@file:..": + version "0.4.8" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +rxjs@5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f" + dependencies: + symbol-observable "^1.0.1" + +symbol-observable@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +zone.js@0.8.17: + version "0.8.17" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.17.tgz#4c5e5185a857da8da793daf3919371c5a36b2a0b" diff --git a/tsconfig.json b/tsconfig.json index 29f814b1..3309fd02 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "experimentalDecorators": true, "module": "es2015", "target": "es5", - "lib": ["es6", "dom"], + "lib": ["es2015", "dom"], "noImplicitAny": false, "suppressImplicitAnyIndexErrors": true, "moduleResolution": "node", diff --git a/yarn.lock b/yarn.lock index 2ae9ed98..fcf8be56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,1436 +1,1429 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@types/chai@4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18" - -"@types/connect@*": - version "3.4.31" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.31.tgz#1f92d6b117ecc05076c49ecd024f7976e528bad9" - dependencies: - "@types/node" "*" - -"@types/meteor@1.4.13": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@types/meteor/-/meteor-1.4.13.tgz#c49b5e977888d7b563c1baca1f7556345a512694" - dependencies: - "@types/connect" "*" - "@types/underscore" "*" - -"@types/mocha@2.2.43": - version "2.2.43" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.43.tgz#03c54589c43ad048cbcbfd63999b55d0424eec27" - -"@types/node@*": - version "8.0.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.28.tgz#86206716f8d9251cf41692e384264cbd7058ad60" - -"@types/underscore@*": - version "1.8.8" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.8.8.tgz#510fe1ca5e7fa87fccd405b9a8b566d420bc3d1b" - -"@types/underscore@1.8.3": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.8.3.tgz#d3cb512dd3dde32b2bbba4be0ca68bd3dad4a1f5" - -JSONStream@^1.0.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn@^3.0.4, acorn@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-escape-sequences@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e" - dependencies: - array-back "^1.0.3" - -ansi-escape-sequences@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz#e0ecb042958b71e42942d35c1fcf1d9b00a0f67e" - dependencies: - array-back "^2.0.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -app-usage-stats@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.5.1.tgz#6547c5db9bab0aa5f5b2c560eacc8af20d0ab13b" - dependencies: - array-back "^1.0.4" - home-path "^1.0.3" - test-value "^2.1.0" - usage-stats "^0.9.0" - -array-back@^1.0.2, array-back@^1.0.3, array-back@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" - dependencies: - typical "^2.6.0" - -array-back@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022" - dependencies: - typical "^2.6.1" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - -async@^1.4.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -bluebird@~3.4.6: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -cache-point@^0.4.0, cache-point@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.4.1.tgz#cc8c9cbd99d90d7b0c66910cd33d77a1aab8840e" - dependencies: - array-back "^2.0.0" - fs-then-native "^2.0.0" - mkdirp2 "^1.0.3" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -catharsis@~0.8.8: - version "0.8.9" - resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz#98cc890ca652dd2ef0e70b37925310ff9e90fc8b" - dependencies: - underscore-contrib "~0.3.0" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -collect-all@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.3.tgz#1abcc20448b58a1447487fcf34130e9512b0acf8" - dependencies: - stream-connect "^1.0.2" - stream-via "^1.0.4" - -colors@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - -command-line-args@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.7.tgz#f8d1916ecb90e9e121eda6428e41300bfb64cc46" - dependencies: - array-back "^2.0.0" - find-replace "^1.0.3" - typical "^2.6.1" - -command-line-tool@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.7.0.tgz#ca80792ae2069cf7caa562c0cbc2cd11811122a0" - dependencies: - ansi-escape-sequences "^3.0.0" - array-back "^1.0.4" - command-line-args "^4.0.1" - command-line-usage "^4.0.0" - typical "^2.6.0" - -command-line-usage@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.0.1.tgz#d89cf16c8ae71e8e8a6e6aabae1652af76ff644e" - dependencies: - ansi-escape-sequences "^4.0.0" - array-back "^2.0.0" - table-layout "^0.4.1" - typical "^2.6.1" - -commander@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - -common-sequence@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz#30e07f3f8f6f7f9b3dee854f20b2d39eee086de8" - -compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -config-master@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/config-master/-/config-master-3.1.0.tgz#667663590505a283bf26a484d68489d74c5485da" - dependencies: - walk-back "^2.0.1" - -conventional-changelog-angular@^1.0.0, conventional-changelog-angular@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.5.0.tgz#50b2d45008448455fdf67e06ea01972fbd08182a" - dependencies: - compare-func "^1.3.1" - q "^1.4.1" - -conventional-changelog-atom@^0.1.0, conventional-changelog-atom@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.1.tgz#d40a9b297961b53c745e5d1718fd1a3379f6a92f" - dependencies: - q "^1.4.1" - -conventional-changelog-cli@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.2.0.tgz#c4929dcdb5d5ba9aa1840418e6b4674691193f5d" - dependencies: - add-stream "^1.0.0" - conventional-changelog "^1.1.0" - lodash "^4.1.0" - meow "^3.7.0" - tempfile "^1.1.1" - -conventional-changelog-codemirror@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" - dependencies: - q "^1.4.1" - -conventional-changelog-codemirror@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.0.tgz#3cc925955f3b14402827b15168049821972d9459" - dependencies: - q "^1.4.1" - -conventional-changelog-core@^1.3.0, conventional-changelog-core@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.1.tgz#ddf767c405850dfc8df31726c80fa1a6a10bdc7b" - dependencies: - conventional-changelog-writer "^2.0.1" - conventional-commits-parser "^2.0.0" - dateformat "^1.0.12" - get-pkg-repo "^1.0.0" - git-raw-commits "^1.2.0" - git-remote-origin-url "^2.0.0" - git-semver-tags "^1.2.1" - lodash "^4.0.0" - normalize-package-data "^2.3.5" - q "^1.4.1" - read-pkg "^1.1.0" - read-pkg-up "^1.0.1" - through2 "^2.0.0" - -conventional-changelog-ember@^0.2.0, conventional-changelog-ember@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.7.tgz#c6aff35976284e7222649f81c62bd96ff3217bd2" - dependencies: - q "^1.4.1" - -conventional-changelog-eslint@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" - dependencies: - q "^1.4.1" - -conventional-changelog-eslint@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.0.tgz#b4b9b5dc09417844d87c7bcfb16bdcc686c4b1c1" - dependencies: - q "^1.4.1" - -conventional-changelog-express@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" - dependencies: - q "^1.4.1" - -conventional-changelog-express@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.2.0.tgz#8d666ad41b10ebf964a4602062ddd2e00deb518d" - dependencies: - q "^1.4.1" - -conventional-changelog-jquery@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" - dependencies: - q "^1.4.1" - -conventional-changelog-jscs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" - dependencies: - q "^1.4.1" - -conventional-changelog-jshint@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07" - dependencies: - compare-func "^1.3.1" - q "^1.4.1" - -conventional-changelog-jshint@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.0.tgz#63ad7aec66cd1ae559bafe80348c4657a6eb1872" - dependencies: - compare-func "^1.3.1" - q "^1.4.1" - -conventional-changelog-writer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-2.0.1.tgz#47c10d0faba526b78d194389d1e931d09ee62372" - dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^1.0.0" - dateformat "^1.0.11" - handlebars "^4.0.2" - json-stringify-safe "^5.0.1" - lodash "^4.0.0" - meow "^3.3.0" - semver "^5.0.1" - split "^1.0.0" - through2 "^2.0.0" - -conventional-changelog@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.0.tgz#8ae3fb59feb74bbee0a25833ee1f83dad4a07874" - dependencies: - conventional-changelog-angular "^1.0.0" - conventional-changelog-atom "^0.1.0" - conventional-changelog-codemirror "^0.1.0" - conventional-changelog-core "^1.3.0" - conventional-changelog-ember "^0.2.0" - conventional-changelog-eslint "^0.1.0" - conventional-changelog-express "^0.1.0" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.1.0" - -conventional-changelog@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.5.tgz#4c46fb64b2986cab19888d8c4b87ca7c0e431bfd" - dependencies: - conventional-changelog-angular "^1.5.0" - conventional-changelog-atom "^0.1.1" - conventional-changelog-codemirror "^0.2.0" - conventional-changelog-core "^1.9.1" - conventional-changelog-ember "^0.2.7" - conventional-changelog-eslint "^0.2.0" - conventional-changelog-express "^0.2.0" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.2.0" - -conventional-commits-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" - dependencies: - is-subset "^0.1.1" - modify-values "^1.0.0" - -conventional-commits-parser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.0.0.tgz#71d01910cb0a99aeb20c144e50f81f4df3178447" - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.0" - lodash "^4.2.1" - meow "^3.3.0" - split2 "^2.0.0" - through2 "^2.0.0" - trim-off-newlines "^1.0.0" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - dependencies: - number-is-nan "^1.0.0" - -dateformat@^1.0.11, dateformat@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - -decamelize@^1.0.0, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-extend@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.0.tgz#6ef4a09b05f98b0e358d6d93d4ca3caec6672803" - -defer-promise@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.1.tgz#1ca6ffeddbcef1715dd7aae25c7616f9ae22932f" - -diff@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" - -dmd@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/dmd/-/dmd-3.0.6.tgz#94c0e0fb88d1cb6b82837595053de7919c753c25" - dependencies: - array-back "^1.0.4" - cache-point "^0.4.0" - common-sequence "^1.0.2" - file-set "^1.1.1" - handlebars "3.0.3" - marked "^0.3.6" - object-get "^2.1.0" - reduce-flatten "^1.0.1" - reduce-unique "^1.0.0" - reduce-without "^1.0.1" - test-value "^2.1.0" - walk-back "^3.0.0" - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@^1.0.2, escape-string-regexp@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -espree@~3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz#fd5deec76a97a5120a9cd3a7cb1177a0923b11d2" - dependencies: - acorn "^3.3.0" - acorn-jsx "^3.0.0" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -file-set@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/file-set/-/file-set-1.1.1.tgz#d3ec70c080ec8f18f204ba1de106780c9056926b" - dependencies: - array-back "^1.0.3" - glob "^7.1.0" - -find-replace@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" - dependencies: - array-back "^1.0.4" - test-value "^2.1.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -fs-then-native@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-2.0.0.tgz#19a124d94d90c22c8e045f2e8dd6ebea36d48c67" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -git-raw-commits@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.2.0.tgz#0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c" - dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^3.3.0" - split2 "^2.0.0" - through2 "^2.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.1.tgz#6ccd2a52e735b736748dc762444fcd9588e27490" - dependencies: - meow "^3.3.0" - semver "^5.0.1" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - dependencies: - ini "^1.3.2" - -glob@^7.1.0, glob@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -handlebars@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.3.tgz#0e09651a2f0fb3c949160583710d551f92e6d2ad" - dependencies: - optimist "^0.6.1" - source-map "^0.1.40" - optionalDependencies: - uglify-js "~2.3" - -handlebars@^4.0.2: - version "4.0.10" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -home-path@^1.0.3, home-path@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-subset@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" - -is-text-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - dependencies: - text-extensions "^1.0.0" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js2xmlparser@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz#5a170f2e8d6476ce45405e04823242513782fe30" - -jsdoc-75lb@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz#a807119528b4009ccbcab49b7522f63fec6cd0bd" - dependencies: - bluebird "~3.4.6" - catharsis "~0.8.8" - escape-string-regexp "~1.0.5" - espree "~3.1.7" - js2xmlparser "~1.0.0" - klaw "~1.3.0" - marked "~0.3.6" - mkdirp "~0.5.1" - requizzle "~0.2.1" - strip-json-comments "~2.0.1" - taffydb "2.6.2" - underscore "~1.8.3" - -jsdoc-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-3.0.0.tgz#0d52700235f865bd4a8bad5ebc1efb562fc8ad2a" - dependencies: - array-back "^1.0.4" - cache-point "~0.4.0" - collect-all "^1.0.2" - file-set "^1.1.1" - fs-then-native "^2.0.0" - jsdoc-75lb "^3.6.0" - object-to-spawn-args "^1.1.0" - temp-path "^1.0.0" - walk-back "^2.0.1" - -jsdoc-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-3.0.0.tgz#271531d88f19df2520b1632a7f6c989441a87fde" - dependencies: - array-back "^1.0.4" - lodash.omit "^4.5.0" - lodash.pick "^4.4.0" - reduce-extract "^1.0.0" - sort-array "^1.1.1" - test-value "^2.1.0" - -jsdoc-to-markdown@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-3.0.0.tgz#cc8a94f1f412ac1da4bac1657475b0975ee8161a" - dependencies: - array-back "^1.0.4" - command-line-tool "^0.7.0" - config-master "^3.0.0" - dmd "^3.0.0" - jsdoc-api "^3.0.0" - jsdoc-parse "^3.0.0" - jsdoc2md-stats "^2.0.0" - walk-back "^2.0.1" - -jsdoc2md-stats@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-2.0.1.tgz#bd8343734cfe69ea8050a17931251293f0d9047b" - dependencies: - app-usage-stats "^0.5.0" - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -klaw@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -lodash._reinterpolate@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash.omit@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" - -lodash.padend@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" - -lodash.pick@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - -lodash.template@^4.0.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - dependencies: - lodash._reinterpolate "~3.0.0" - -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.2.1: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -marked@^0.3.6, marked@~0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" - -meow@^3.3.0, meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - -mkdirp2@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.3.tgz#cc8dd8265f1f06e2d8f5b10b6e52f4e050bed21b" - -mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -modify-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" - -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-get@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object-get/-/object-get-2.1.0.tgz#722bbdb60039efa47cad3c6dc2ce51a85c02c5ae" - -object-to-spawn-args@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz#77da8827f073d011c9e1b173f895781470246785" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optimist@~0.3.5: - version "0.3.7" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9" - dependencies: - wordwrap "~0.0.2" - -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -q@^1.4.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0, read-pkg@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^2.1.5: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -reduce-extract@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz#67f2385beda65061b5f5f4312662e8b080ca1525" - dependencies: - test-value "^1.0.1" - -reduce-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327" - -reduce-unique@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz#7e586bcf87a4e32b6d7abd8277fad6cdec9f4803" - -reduce-without@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz#68ad0ead11855c9a37d4e8256c15bbf87972fc8c" - dependencies: - test-value "^2.0.0" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -req-then@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/req-then/-/req-then-0.6.4.tgz#9f9c04626afd311ae01d727846a0a1075c0e1965" - dependencies: - array-back "^2.0.0" - defer-promise "^1.0.1" - lodash.pick "^4.4.0" - stream-read-all "^0.1.0" - typical "^2.6.1" - -requizzle@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde" - dependencies: - underscore "~1.6.0" - -resolve@^1.3.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" - dependencies: - path-parse "^1.0.5" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rollup@0.49.3: - version "0.49.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.49.3.tgz#4cce32643dd8cf2154c69ff0e43470067db0adbf" - -rxjs@5.5.7: - version "5.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.7.tgz#afb3d1642b069b2fbf203903d6501d1acb4cda27" - dependencies: - symbol-observable "1.0.1" - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -sort-array@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.2.tgz#b88986053c0170a7f9de63f18a49ec79c24c3e64" - dependencies: - array-back "^1.0.4" - object-get "^2.1.0" - typical "^2.6.0" - -source-map@^0.1.40, source-map@~0.1.7: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -split2@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" - dependencies: - through2 "^2.0.2" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - dependencies: - through "2" - -stream-connect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97" - dependencies: - array-back "^1.0.2" - -stream-read-all@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/stream-read-all/-/stream-read-all-0.1.2.tgz#748718e89281fff6b0742918233415a6900387e1" - -stream-via@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz#8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - -table-layout@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.2.tgz#10e9043c142a1e2d155da7257e478f0ef4981786" - dependencies: - array-back "^2.0.0" - deep-extend "~0.5.0" - lodash.padend "^4.6.1" - typical "^2.6.1" - wordwrapjs "^3.0.0" - -taffydb@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" - -temp-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b" - -tempfile@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" - dependencies: - os-tmpdir "^1.0.0" - uuid "^2.0.1" - -test-value@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz#a09136f72ec043d27c893707c2b159bfad7de93f" - dependencies: - array-back "^1.0.2" - typical "^2.4.2" - -test-value@^2.0.0, test-value@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" - dependencies: - array-back "^1.0.3" - typical "^2.6.0" - -text-extensions@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.6.0.tgz#771561b26022783a45f5b6c2e78ad6e7de9fe322" - -through2@^2.0.0, through2@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through@2, "through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - -tslib@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec" - -tslint@5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.7.0.tgz#c25e0d0c92fa1201c2bc30e844e08e682b4f3552" - dependencies: - babel-code-frame "^6.22.0" - colors "^1.1.2" - commander "^2.9.0" - diff "^3.2.0" - glob "^7.1.1" - minimatch "^3.0.4" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.7.1" - tsutils "^2.8.1" - -tsutils@^2.8.1: - version "2.8.2" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.8.2.tgz#2c1486ba431260845b0ac6f902afd9d708a8ea6a" - dependencies: - tslib "^1.7.1" - -typescript@2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" - -typical@^2.4.2, typical@^2.6.0, typical@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" - -uglify-js@^2.6: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-js@~2.3: - version "2.3.6" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz#fa0984770b428b7a9b2a8058f46355d14fef211a" - dependencies: - async "~0.2.6" - optimist "~0.3.5" - source-map "~0.1.7" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -underscore-contrib@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7" - dependencies: - underscore "1.6.0" - -underscore@1.6.0, underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - -underscore@~1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - -usage-stats@^0.9.0: - version "0.9.4" - resolved "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.9.4.tgz#ff06ba51d824faa1982f48a055dea8495a249077" - dependencies: - array-back "^2.0.0" - home-path "^1.0.5" - mkdirp2 "^1.0.3" - req-then "^0.6.4" - typical "^2.6.1" - uuid "^3.1.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -walk-back@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz#554e2a9d874fac47a8cb006bf44c2f0c4998a0a4" - -walk-back@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-3.0.0.tgz#2358787a35da91032dad5e92f80b12370d8795c5" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wordwrapjs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-3.0.0.tgz#c94c372894cadc6feb1a66bff64e1d9af92c5d1e" - dependencies: - reduce-flatten "^1.0.1" - typical "^2.6.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -zone.js@0.8.20: - version "0.8.20" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.20.tgz#a218c48db09464b19ff6fc8f0d4bb5b1046e185d" +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/chai@4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18" + +"@types/connect@*": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.31.tgz#1f92d6b117ecc05076c49ecd024f7976e528bad9" + dependencies: + "@types/node" "*" + +"@types/meteor@1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@types/meteor/-/meteor-1.4.14.tgz#b4b14b2e2a98b20cf2bd03a28bffa52ba40b8be2" + dependencies: + "@types/connect" "*" + "@types/underscore" "*" + +"@types/mocha@2.2.43": + version "2.2.43" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.43.tgz#03c54589c43ad048cbcbfd63999b55d0424eec27" + +"@types/node@*": + version "8.0.28" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.28.tgz#86206716f8d9251cf41692e384264cbd7058ad60" + +"@types/underscore@*": + version "1.8.8" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.8.8.tgz#510fe1ca5e7fa87fccd405b9a8b566d420bc3d1b" + +"@types/underscore@1.8.3": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.8.3.tgz#d3cb512dd3dde32b2bbba4be0ca68bd3dad4a1f5" + +JSONStream@^1.0.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.2.1.tgz#32aa5790e799481083b49b4b7fa94e23bae69bf9" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4, acorn@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escape-sequences@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e" + dependencies: + array-back "^1.0.3" + +ansi-escape-sequences@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz#e0ecb042958b71e42942d35c1fcf1d9b00a0f67e" + dependencies: + array-back "^2.0.0" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +app-usage-stats@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.5.1.tgz#6547c5db9bab0aa5f5b2c560eacc8af20d0ab13b" + dependencies: + array-back "^1.0.4" + home-path "^1.0.3" + test-value "^2.1.0" + usage-stats "^0.9.0" + +array-back@^1.0.2, array-back@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.3.tgz#f1128a5cf1b91c80bed4a218f8c5b635c8b10663" + dependencies: + typical "^2.4.2" + +array-back@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" + dependencies: + typical "^2.6.0" + +array-back@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022" + dependencies: + typical "^2.6.1" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + +async@^1.4.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +bluebird@~3.4.6: + version "3.4.6" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +cache-point@^0.4.0, cache-point@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.4.1.tgz#cc8c9cbd99d90d7b0c66910cd33d77a1aab8840e" + dependencies: + array-back "^2.0.0" + fs-then-native "^2.0.0" + mkdirp2 "^1.0.3" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +catharsis@~0.8.8: + version "0.8.8" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.8.tgz#693479f43aac549d806bd73e924cd0d944951a06" + dependencies: + underscore-contrib "~0.3.0" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +collect-all@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.2.tgz#39450f1e7aa6086570a006bce93ccf1218a77ea1" + dependencies: + stream-connect "^1.0.2" + stream-via "^1.0.3" + +colors@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +command-line-args@^4.0.1: + version "4.0.7" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.7.tgz#f8d1916ecb90e9e121eda6428e41300bfb64cc46" + dependencies: + array-back "^2.0.0" + find-replace "^1.0.3" + typical "^2.6.1" + +command-line-tool@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.7.0.tgz#ca80792ae2069cf7caa562c0cbc2cd11811122a0" + dependencies: + ansi-escape-sequences "^3.0.0" + array-back "^1.0.4" + command-line-args "^4.0.1" + command-line-usage "^4.0.0" + typical "^2.6.0" + +command-line-usage@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.0.1.tgz#d89cf16c8ae71e8e8a6e6aabae1652af76ff644e" + dependencies: + ansi-escape-sequences "^4.0.0" + array-back "^2.0.0" + table-layout "^0.4.1" + typical "^2.6.1" + +commander@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + +common-sequence@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz#30e07f3f8f6f7f9b3dee854f20b2d39eee086de8" + +compare-func@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" + dependencies: + array-ify "^1.0.0" + dot-prop "^3.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +config-master@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/config-master/-/config-master-3.1.0.tgz#667663590505a283bf26a484d68489d74c5485da" + dependencies: + walk-back "^2.0.1" + +conventional-changelog-angular@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.3.0.tgz#3f64185978aa13ab0954c9e46a78969fd59c6801" + dependencies: + compare-func "^1.3.1" + github-url-from-git "^1.4.0" + q "^1.4.1" + +conventional-changelog-atom@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92" + dependencies: + q "^1.4.1" + +conventional-changelog-cli@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.2.0.tgz#c4929dcdb5d5ba9aa1840418e6b4674691193f5d" + dependencies: + add-stream "^1.0.0" + conventional-changelog "^1.1.0" + lodash "^4.1.0" + meow "^3.7.0" + tempfile "^1.1.1" + +conventional-changelog-codemirror@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" + dependencies: + q "^1.4.1" + +conventional-changelog-core@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.5.0.tgz#72b17509535a23d7c6cb70ad4384f74247748013" + dependencies: + conventional-changelog-writer "^1.1.0" + conventional-commits-parser "^1.0.0" + dateformat "^1.0.12" + get-pkg-repo "^1.0.0" + git-raw-commits "^1.1.0" + git-remote-origin-url "^2.0.0" + git-semver-tags "^1.1.0" + lodash "^4.0.0" + normalize-package-data "^2.3.5" + q "^1.4.1" + read-pkg "^1.1.0" + read-pkg-up "^1.0.1" + through2 "^2.0.0" + +conventional-changelog-ember@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.2.tgz#bad70a891386bc3046484a8f4f1e5aa2dc0ad208" + dependencies: + q "^1.4.1" + +conventional-changelog-eslint@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" + dependencies: + q "^1.4.1" + +conventional-changelog-express@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" + dependencies: + q "^1.4.1" + +conventional-changelog-jquery@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" + dependencies: + q "^1.4.1" + +conventional-changelog-jscs@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" + dependencies: + q "^1.4.1" + +conventional-changelog-jshint@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07" + dependencies: + compare-func "^1.3.1" + q "^1.4.1" + +conventional-changelog-writer@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e" + dependencies: + compare-func "^1.3.1" + conventional-commits-filter "^1.0.0" + dateformat "^1.0.11" + handlebars "^4.0.2" + json-stringify-safe "^5.0.1" + lodash "^4.0.0" + meow "^3.3.0" + semver "^5.0.1" + split "^1.0.0" + through2 "^2.0.0" + +conventional-changelog@1.1.0, conventional-changelog@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.0.tgz#8ae3fb59feb74bbee0a25833ee1f83dad4a07874" + dependencies: + conventional-changelog-angular "^1.0.0" + conventional-changelog-atom "^0.1.0" + conventional-changelog-codemirror "^0.1.0" + conventional-changelog-core "^1.3.0" + conventional-changelog-ember "^0.2.0" + conventional-changelog-eslint "^0.1.0" + conventional-changelog-express "^0.1.0" + conventional-changelog-jquery "^0.1.0" + conventional-changelog-jscs "^0.1.0" + conventional-changelog-jshint "^0.1.0" + +conventional-commits-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" + dependencies: + is-subset "^0.1.1" + modify-values "^1.0.0" + +conventional-commits-parser@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.0" + lodash "^4.2.1" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + trim-off-newlines "^1.0.0" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +dargs@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" + dependencies: + number-is-nan "^1.0.0" + +dateformat@^1.0.11, dateformat@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +decamelize@^1.0.0, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.0.tgz#6ef4a09b05f98b0e358d6d93d4ca3caec6672803" + +defer-promise@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.1.tgz#1ca6ffeddbcef1715dd7aae25c7616f9ae22932f" + +diff@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" + +dmd@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/dmd/-/dmd-3.0.6.tgz#94c0e0fb88d1cb6b82837595053de7919c753c25" + dependencies: + array-back "^1.0.4" + cache-point "^0.4.0" + common-sequence "^1.0.2" + file-set "^1.1.1" + handlebars "3.0.3" + marked "^0.3.6" + object-get "^2.1.0" + reduce-flatten "^1.0.1" + reduce-unique "^1.0.0" + reduce-without "^1.0.1" + test-value "^2.1.0" + walk-back "^3.0.0" + +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + dependencies: + is-obj "^1.0.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +escape-string-regexp@^1.0.2, escape-string-regexp@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +espree@~3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz#fd5deec76a97a5120a9cd3a7cb1177a0923b11d2" + dependencies: + acorn "^3.3.0" + acorn-jsx "^3.0.0" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +file-set@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/file-set/-/file-set-1.1.1.tgz#d3ec70c080ec8f18f204ba1de106780c9056926b" + dependencies: + array-back "^1.0.3" + glob "^7.1.0" + +find-replace@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" + dependencies: + array-back "^1.0.4" + test-value "^2.1.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +fs-then-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-2.0.0.tgz#19a124d94d90c22c8e045f2e8dd6ebea36d48c67" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +get-pkg-repo@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz#43c6b4c048b75dd604fc5388edecde557f6335df" + dependencies: + hosted-git-info "^2.1.4" + meow "^3.3.0" + normalize-package-data "^2.3.0" + parse-github-repo-url "^1.3.0" + through2 "^2.0.0" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +git-raw-commits@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.1.2.tgz#a12d8492aeba2881802d700825ed81c9f39e6f2f" + dependencies: + dargs "^4.0.1" + lodash.template "^4.0.2" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.1.2.tgz#aecf9b1b2447a6b548d48647f53edba0acad879f" + dependencies: + meow "^3.3.0" + semver "^5.0.1" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + dependencies: + ini "^1.3.2" + +github-url-from-git@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.4.0.tgz#285e6b520819001bde128674704379e4ff03e0de" + +glob@^7.1.0, glob@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.9: + version "4.1.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" + +handlebars@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.3.tgz#0e09651a2f0fb3c949160583710d551f92e6d2ad" + dependencies: + optimist "^0.6.1" + source-map "^0.1.40" + optionalDependencies: + uglify-js "~2.3" + +handlebars@^4.0.2: + version "4.0.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +home-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.3.tgz#9ece59fec3f032e6d10b5434fee264df4c2de32f" + +home-path@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@^1.3.2: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-subset@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + +is-text-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + dependencies: + text-extensions "^1.0.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js2xmlparser@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz#5a170f2e8d6476ce45405e04823242513782fe30" + +jsdoc-75lb@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz#a807119528b4009ccbcab49b7522f63fec6cd0bd" + dependencies: + bluebird "~3.4.6" + catharsis "~0.8.8" + escape-string-regexp "~1.0.5" + espree "~3.1.7" + js2xmlparser "~1.0.0" + klaw "~1.3.0" + marked "~0.3.6" + mkdirp "~0.5.1" + requizzle "~0.2.1" + strip-json-comments "~2.0.1" + taffydb "2.6.2" + underscore "~1.8.3" + +jsdoc-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-3.0.0.tgz#0d52700235f865bd4a8bad5ebc1efb562fc8ad2a" + dependencies: + array-back "^1.0.4" + cache-point "~0.4.0" + collect-all "^1.0.2" + file-set "^1.1.1" + fs-then-native "^2.0.0" + jsdoc-75lb "^3.6.0" + object-to-spawn-args "^1.1.0" + temp-path "^1.0.0" + walk-back "^2.0.1" + +jsdoc-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-3.0.0.tgz#271531d88f19df2520b1632a7f6c989441a87fde" + dependencies: + array-back "^1.0.4" + lodash.omit "^4.5.0" + lodash.pick "^4.4.0" + reduce-extract "^1.0.0" + sort-array "^1.1.1" + test-value "^2.1.0" + +jsdoc-to-markdown@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-3.0.0.tgz#cc8a94f1f412ac1da4bac1657475b0975ee8161a" + dependencies: + array-back "^1.0.4" + command-line-tool "^0.7.0" + config-master "^3.0.0" + dmd "^3.0.0" + jsdoc-api "^3.0.0" + jsdoc-parse "^3.0.0" + jsdoc2md-stats "^2.0.0" + walk-back "^2.0.1" + +jsdoc2md-stats@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-2.0.1.tgz#bd8343734cfe69ea8050a17931251293f0d9047b" + dependencies: + app-usage-stats "^0.5.0" + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +jsonparse@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd" + +kind-of@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" + dependencies: + is-buffer "^1.0.2" + +klaw@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash.omit@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" + +lodash.padend@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.template@^4.0.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + +lodash@^4.0.0, lodash@^4.1.0, lodash@^4.2.1: + version "4.17.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.0.tgz#93f4466e5ab73e5a1f1216c34eea11535f0a8df5" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +marked@^0.3.6, marked@~0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" + +meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +minimatch@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp2@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.3.tgz#cc8dd8265f1f06e2d8f5b10b6e52f4e050bed21b" + +mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +modify-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" + +normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +object-assign@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-get@^2.0.4, object-get@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object-get/-/object-get-2.1.0.tgz#722bbdb60039efa47cad3c6dc2ce51a85c02c5ae" + +object-to-spawn-args@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.0.tgz#031a200e37db2c3dfc9b98074a0d69a5be253c1c" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optimist@~0.3.5: + version "0.3.7" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9" + dependencies: + wordwrap "~0.0.2" + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +parse-github-repo-url@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.3.0.tgz#d4de02d68e2e60f0d6a182e7a8cb21b6f38c730b" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +q@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0, read-pkg@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-extract@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz#67f2385beda65061b5f5f4312662e8b080ca1525" + dependencies: + test-value "^1.0.1" + +reduce-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327" + +reduce-unique@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz#7e586bcf87a4e32b6d7abd8277fad6cdec9f4803" + +reduce-without@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz#68ad0ead11855c9a37d4e8256c15bbf87972fc8c" + dependencies: + test-value "^2.0.0" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +req-then@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/req-then/-/req-then-0.6.4.tgz#9f9c04626afd311ae01d727846a0a1075c0e1965" + dependencies: + array-back "^2.0.0" + defer-promise "^1.0.1" + lodash.pick "^4.4.0" + stream-read-all "^0.1.0" + typical "^2.6.1" + +requizzle@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde" + dependencies: + underscore "~1.6.0" + +resolve@^1.3.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" + dependencies: + path-parse "^1.0.5" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rollup@0.49.3: + version "0.49.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.49.3.tgz#4cce32643dd8cf2154c69ff0e43470067db0adbf" + +rxjs-compat@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.0.0.tgz#2496403f74042d07899faeeac0bd703e4bce6710" + +rxjs@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.0.0.tgz#d647e029b5854617f994c82fe57a4c6747b352da" + dependencies: + tslib "^1.9.0" + +"semver@2 || 3 || 4 || 5", semver@^5.0.1: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + +signal-exit@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" + +sort-array@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.1.tgz#9032f6f0be284eecb12af98a3db02612828a66d1" + dependencies: + array-back "^1.0.3" + object-get "^2.0.4" + typical "^2.4.2" + +source-map@^0.1.40, source-map@~0.1.7: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +split2@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.0.tgz#7382c148cb622c4b28af7c727f9673730b73f474" + dependencies: + through2 "~2.0.0" + +split@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" + dependencies: + through "2" + +stream-connect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97" + dependencies: + array-back "^1.0.2" + +stream-read-all@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/stream-read-all/-/stream-read-all-0.1.2.tgz#748718e89281fff6b0742918233415a6900387e1" + +stream-via@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.3.tgz#cebd32a5a59d74b3b68e3404942e867184ad4ac9" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +table-layout@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.2.tgz#10e9043c142a1e2d155da7257e478f0ef4981786" + dependencies: + array-back "^2.0.0" + deep-extend "~0.5.0" + lodash.padend "^4.6.1" + typical "^2.6.1" + wordwrapjs "^3.0.0" + +taffydb@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" + +temp-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b" + +tempfile@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" + dependencies: + os-tmpdir "^1.0.0" + uuid "^2.0.1" + +test-value@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz#a09136f72ec043d27c893707c2b159bfad7de93f" + dependencies: + array-back "^1.0.2" + typical "^2.4.2" + +test-value@^2.0.0, test-value@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" + dependencies: + array-back "^1.0.3" + typical "^2.6.0" + +text-extensions@^1.0.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.3.3.tgz#fef0c8ce07f5bb3b8297bcf075304531754124bf" + +through2@^2.0.0, through2@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9" + dependencies: + readable-stream "~2.0.0" + xtend "~4.0.0" + +through@2, "through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-off-newlines@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" + +tslib@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec" + +tslib@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" + +tslint@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.7.0.tgz#c25e0d0c92fa1201c2bc30e844e08e682b4f3552" + dependencies: + babel-code-frame "^6.22.0" + colors "^1.1.2" + commander "^2.9.0" + diff "^3.2.0" + glob "^7.1.1" + minimatch "^3.0.4" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.7.1" + tsutils "^2.8.1" + +tsutils@^2.8.1: + version "2.8.2" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.8.2.tgz#2c1486ba431260845b0ac6f902afd9d708a8ea6a" + dependencies: + tslib "^1.7.1" + +typescript@2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" + +typical@^2.4.2, typical@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.0.tgz#89d51554ab139848a65bcc2c8772f8fb450c40ed" + +typical@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" + +uglify-js@^2.6: + version "2.7.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-js@~2.3: + version "2.3.6" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz#fa0984770b428b7a9b2a8058f46355d14fef211a" + dependencies: + async "~0.2.6" + optimist "~0.3.5" + source-map "~0.1.7" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +underscore-contrib@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7" + dependencies: + underscore "1.6.0" + +underscore@1.6.0, underscore@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + +underscore@~1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + +usage-stats@^0.9.0: + version "0.9.4" + resolved "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.9.4.tgz#ff06ba51d824faa1982f48a055dea8495a249077" + dependencies: + array-back "^2.0.0" + home-path "^1.0.5" + mkdirp2 "^1.0.3" + req-then "^0.6.4" + typical "^2.6.1" + uuid "^3.1.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +walk-back@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz#554e2a9d874fac47a8cb006bf44c2f0c4998a0a4" + +walk-back@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-3.0.0.tgz#2358787a35da91032dad5e92f80b12370d8795c5" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrapjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-3.0.0.tgz#c94c372894cadc6feb1a66bff64e1d9af92c5d1e" + dependencies: + reduce-flatten "^1.0.1" + typical "^2.6.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +xtend@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +zone.js@0.8.20: + version "0.8.20" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.20.tgz#a218c48db09464b19ff6fc8f0d4bb5b1046e185d"