From 60dbc3424b4c87dafcf9a1da7c6b9d253315db79 Mon Sep 17 00:00:00 2001 From: Tim Mikeladze Date: Thu, 25 Aug 2016 00:25:43 -0700 Subject: [PATCH 001/174] Fixed CI Badge URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 649d869..8837e41 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ The Apollo Server backend shared by all Apollo client example apps. [![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](http://www.apollostack.com/#slack) -[![Build Status](https://travis-ci.org/apollostack/GitHunt-server.svg?branch=master)](https://travis-ci.org/apollostack/GitHunt-server) +[![Build Status](https://travis-ci.org/apollostack/GitHunt-API.svg?branch=master)](https://travis-ci.org/apollostack/GitHunt-API) Demonstrates: From 83562ca7c18e65b110e9733a33b29268c6b2b92a Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 30 Aug 2016 13:40:11 -0700 Subject: [PATCH 002/174] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8837e41..572bbf1 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Make sure you have Node.js 4 or newer installed. ### 2. Clone and install dependencies ``` -git clone https://github.com/apollostack/GitHunt.git +git clone https://github.com/apollostack/GitHunt-API.git cd GitHunt npm install ``` From 57830bdc70b67227a86bd58914db21c472b5e07a Mon Sep 17 00:00:00 2001 From: Roberto Huertas Date: Tue, 6 Sep 2016 12:50:43 +0200 Subject: [PATCH 003/174] Avoiding Knex warning about default values. --- knexfile.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/knexfile.js b/knexfile.js index 93e4f2d..d303bb1 100644 --- a/knexfile.js +++ b/knexfile.js @@ -6,7 +6,8 @@ module.exports = { client: 'sqlite3', connection: { filename: './dev.sqlite3' - } + }, + useNullAsDefault: true }, // // staging: { From 42e1a20f9f591233cd58e23189027eefd606d508 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:22:16 -0700 Subject: [PATCH 004/174] Fix up config files --- .babelrc | 3 +-- .travis.yml | 1 - knexfile.js | 16 ---------------- package.json | 4 ++-- 4 files changed, 3 insertions(+), 21 deletions(-) diff --git a/.babelrc b/.babelrc index d4d8656..9e3d274 100644 --- a/.babelrc +++ b/.babelrc @@ -1,7 +1,6 @@ { "presets": [ "es2015", - "stage-2", - "react" + "stage-2" ] } diff --git a/.travis.yml b/.travis.yml index b9879cc..52ad81f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ language: node_js node_js: - "6" - - "5" - "4" diff --git a/knexfile.js b/knexfile.js index d303bb1..886a512 100644 --- a/knexfile.js +++ b/knexfile.js @@ -10,22 +10,6 @@ module.exports = { useNullAsDefault: true }, // - // staging: { - // client: 'postgresql', - // connection: { - // database: 'my_db', - // user: 'username', - // password: 'password' - // }, - // pool: { - // min: 2, - // max: 10 - // }, - // migrations: { - // tableName: 'knex_migrations' - // } - // }, - // // production: { // client: 'postgresql', // connection: { diff --git a/package.json b/package.json index 4e91475..5ae3c7a 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,7 @@ { - "name": "githunt", + "name": "githunt-api", "version": "1.0.0", "description": "Example app for Apollo", - "main": "index.js", "scripts": { "start": "nodemon api/index.js --watch api --exec babel-node", "lint": "eslint api", @@ -10,6 +9,7 @@ "seed": "knex seed:run", "migrate": "knex migrate:latest" }, + "private": true, "repository": { "type": "git", "url": "git+https://github.com/apollostack/GitHunt.git" From 0cd624ad857d993edf0a31dd118121dbdd117e01 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:23:36 -0700 Subject: [PATCH 005/174] un-inline image --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 572bbf1..270130e 100644 --- a/README.md +++ b/README.md @@ -42,14 +42,14 @@ npm run seed - Register your application like below - Click 'Register application' button -![Github OAuth](screenshots/github-oath-setup.png) +[A screenshot of the app setup page.](screenshots/github-oath-setup.png) On the following page, grab: - Client ID - Client Secret -![OAuth Key](screenshots/github-oauth-keys.png) +[A screenshot of the GitHub OAuth keys page.](screenshots/github-oauth-keys.png) ### 5. Add Environment Variables Set your Client ID and Client Secret Environment variables: From a87757b8cbbbfdf3e5c76ef6b06a5e4f14422d6e Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:27:58 -0700 Subject: [PATCH 006/174] Make running instructions more concise --- README.md | 86 +++++++++++++++++++------------------------------------ 1 file changed, 30 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 270130e..4843d09 100644 --- a/README.md +++ b/README.md @@ -14,59 +14,33 @@ Please submit a pull request if you see anything that can be improved! ## Running the server -### 1. Install Node/npm - -Make sure you have Node.js 4 or newer installed. - -### 2. Clone and install dependencies - -``` -git clone https://github.com/apollostack/GitHunt-API.git -cd GitHunt -npm install -``` - -### 3. Run Migrations - -Set up the SQLite database and run migrations/seed data with the following commands: - -``` -npm run migrate -npm run seed -``` - -### 4. Get GitHub API keys - -- Go to [OAuth applications > Developer applications](https://github.com/settings/developers) in GitHub settings -- Click 'Register a new application' button -- Register your application like below -- Click 'Register application' button - -[A screenshot of the app setup page.](screenshots/github-oath-setup.png) - -On the following page, grab: - -- Client ID -- Client Secret - -[A screenshot of the GitHub OAuth keys page.](screenshots/github-oauth-keys.png) - -### 5. Add Environment Variables -Set your Client ID and Client Secret Environment variables: - -``` -export GITHUB_CLIENT_ID="your Client ID" -export GITHUB_CLIENT_SECRET="your Client Secret" -``` - -Or you can use `dotenv`. - -`cp .env.default .env` and edit with your Github keys. - -### 6. Run the app - -``` -npm start -``` - -- Open graphiql at http://localhost:3010/graphiql +1. **Install Node/npm.** Make sure you have Node.js 4 or newer installed. +2. **Clone and install dependencies.** + ``` + git clone https://github.com/apollostack/GitHunt-API.git + cd GitHunt + npm install + ``` +3. **Run migrations.** Set up the SQLite database and run migrations/seed data with the following commands: + ``` + npm run migrate + npm run seed + ``` +4. **Get GitHub API keys.** The app will run without this, but you won't be able to log in. + 1. Go to [OAuth applications > Developer applications](https://github.com/settings/developers) in GitHub settings + 2. Click 'Register a new application' button + 3. Register your application like below + 4. Click 'Register application' button at the bottom. [It should look like this screenshot of the app setup page.](screenshots/github-oath-setup.png) + 5. On the following page, grab the **Client ID** and **Client Secret**, as indicated in [this screenshot of the GitHub OAuth keys page.](screenshots/github-oauth-keys.png) +5. **Add Environment Variables.** Set your Client ID and Client Secret Environment variables in the terminal like this: + ``` + export GITHUB_CLIENT_ID="your Client ID" + export GITHUB_CLIENT_SECRET="your Client Secret" + ``` + + Or you can use `dotenv`, to do this `cp .env.default .env` and edit with your Github keys. +6. **Run the app.** + ``` + npm start + ``` +7. **Try some queries.** Open graphiql at http://localhost:3010/graphiql to run some queries on your server! From 4583bda2b51c8cc5c919d6d174a44ae50dd9a0a6 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:28:58 -0700 Subject: [PATCH 007/174] Github code fences are wack --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4843d09..6965a23 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Please submit a pull request if you see anything that can be improved! 1. **Install Node/npm.** Make sure you have Node.js 4 or newer installed. 2. **Clone and install dependencies.** + Run the following commands: ``` git clone https://github.com/apollostack/GitHunt-API.git cd GitHunt From 49a0fa61ed5079351ec9207bcae538690f5a7df8 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:29:25 -0700 Subject: [PATCH 008/174] Try this --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6965a23..6ee4e05 100644 --- a/README.md +++ b/README.md @@ -17,16 +17,20 @@ Please submit a pull request if you see anything that can be improved! 1. **Install Node/npm.** Make sure you have Node.js 4 or newer installed. 2. **Clone and install dependencies.** Run the following commands: + ``` git clone https://github.com/apollostack/GitHunt-API.git cd GitHunt npm install ``` + 3. **Run migrations.** Set up the SQLite database and run migrations/seed data with the following commands: + ``` npm run migrate npm run seed ``` + 4. **Get GitHub API keys.** The app will run without this, but you won't be able to log in. 1. Go to [OAuth applications > Developer applications](https://github.com/settings/developers) in GitHub settings 2. Click 'Register a new application' button From e907cc5e93bfa31b93e6829ffbe6f52760dc4fbc Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:30:07 -0700 Subject: [PATCH 009/174] Add whitespace --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ee4e05..1d0fed9 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Please submit a pull request if you see anything that can be improved! cd GitHunt npm install ``` - + 3. **Run migrations.** Set up the SQLite database and run migrations/seed data with the following commands: ``` @@ -37,6 +37,7 @@ Please submit a pull request if you see anything that can be improved! 3. Register your application like below 4. Click 'Register application' button at the bottom. [It should look like this screenshot of the app setup page.](screenshots/github-oath-setup.png) 5. On the following page, grab the **Client ID** and **Client Secret**, as indicated in [this screenshot of the GitHub OAuth keys page.](screenshots/github-oauth-keys.png) + 5. **Add Environment Variables.** Set your Client ID and Client Secret Environment variables in the terminal like this: ``` export GITHUB_CLIENT_ID="your Client ID" @@ -44,8 +45,10 @@ Please submit a pull request if you see anything that can be improved! ``` Or you can use `dotenv`, to do this `cp .env.default .env` and edit with your Github keys. + 6. **Run the app.** ``` npm start ``` + 7. **Try some queries.** Open graphiql at http://localhost:3010/graphiql to run some queries on your server! From 75fc855bf4d006feede46b784edf7d9553f5f1f2 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:30:44 -0700 Subject: [PATCH 010/174] Whitespace to trick GitHub rendering --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d0fed9..77c03fc 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Please submit a pull request if you see anything that can be improved! Or you can use `dotenv`, to do this `cp .env.default .env` and edit with your Github keys. 6. **Run the app.** + ``` npm start ``` From fc0d3dcbc8af183ed3155b665ae23bf57a172847 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:32:52 -0700 Subject: [PATCH 011/174] Remove dead code in seed --- seeds/seed.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/seeds/seed.js b/seeds/seed.js index 16154c7..1737435 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -61,11 +61,6 @@ const repos = [ const repoIds = {}; -const usenames = [ - 'stubailo', - 'helfer', -]; - const votes = { [repos[0].repository_name]: { stubailo: 1, From cc8a447615cc0a2870faf9286d837aa32f6608f0 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:34:50 -0700 Subject: [PATCH 012/174] Improve config --- knexfile.js | 3 ++- seeds/dev.js | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 seeds/dev.js diff --git a/knexfile.js b/knexfile.js index 886a512..98a019a 100644 --- a/knexfile.js +++ b/knexfile.js @@ -1,4 +1,5 @@ -// Update with your config settings. +// Since Knex always runs this file first, all of our seeds and migrations are babelified. +require('babel-register'); module.exports = { diff --git a/seeds/dev.js b/seeds/dev.js deleted file mode 100644 index b36de19..0000000 --- a/seeds/dev.js +++ /dev/null @@ -1,2 +0,0 @@ -require('babel-register'); -module.exports = { seed: function () {} } From 0d0c13757276f923efb5ee351f76522645ead7a4 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:44:56 -0700 Subject: [PATCH 013/174] Add landing page --- README.md | 2 +- api/index.html | 32 ++++++++++++++++++++++++++++++++ api/index.js | 5 +++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 api/index.html diff --git a/README.md b/README.md index 77c03fc..03840de 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Please submit a pull request if you see anything that can be improved! npm run seed ``` -4. **Get GitHub API keys.** The app will run without this, but you won't be able to log in. +4. **Get GitHub API keys.** 1. Go to [OAuth applications > Developer applications](https://github.com/settings/developers) in GitHub settings 2. Click 'Register a new application' button 3. Register your application like below diff --git a/api/index.html b/api/index.html new file mode 100644 index 0000000..18c52fb --- /dev/null +++ b/api/index.html @@ -0,0 +1,32 @@ + + + + + Codestin Search App + + +

GitHunt API server

+

Thanks for downloading and running our example server app! This server doesn't include any UI code.

+

Try one of the following options:

+ +

+ Have any improvements in mind? File an issue or a PR about this app at + apollostack/GitHunt-API. +

+ + diff --git a/api/index.js b/api/index.js index b04318e..70baeac 100644 --- a/api/index.js +++ b/api/index.js @@ -1,3 +1,4 @@ +import path from 'path'; import express from 'express'; import session from 'express-session'; import passport from 'passport'; @@ -107,6 +108,10 @@ app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql', })); +app.get('/', (req, res) => { + res.sendFile(path.join(__dirname, 'index.html')); +}); + app.listen(PORT, () => console.log( // eslint-disable-line no-console `API Server is now running on http://localhost:${PORT}` )); From c3596db0800d9ba14d788c6faf3cbf38e2bad561 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:45:30 -0700 Subject: [PATCH 014/174] More mysterious. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03840de..2c5debb 100644 --- a/README.md +++ b/README.md @@ -52,4 +52,4 @@ Please submit a pull request if you see anything that can be improved! npm start ``` -7. **Try some queries.** Open graphiql at http://localhost:3010/graphiql to run some queries on your server! +7. **Open the app.** Open http://localhost:3010/ to see what to do next. From e9db9ddc33d30fd7ead642972c26c37e012f268c Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:46:23 -0700 Subject: [PATCH 015/174] Style --- seeds/seed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seeds/seed.js b/seeds/seed.js index 1737435..75920b0 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -1,4 +1,4 @@ -const _ = require('lodash'); +import _ from 'lodash'; const repos = [ { From 4d48eb3d123a0902c6bd8f4d0ca720f967dcff6f Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:51:28 -0700 Subject: [PATCH 016/174] Lint migrations and seeds --- .eslintrc | 3 ++- ...20160518201950_create_comments_entries_votes.js | 14 +++++++------- package.json | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.eslintrc b/.eslintrc index 693d1aa..a91e222 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,6 +6,7 @@ "extends": "airbnb", "parser": "babel-eslint", "rules": { - "camelcase": 0 + "camelcase": 0, + "arrow-body-style": 0, } } diff --git a/migrations/20160518201950_create_comments_entries_votes.js b/migrations/20160518201950_create_comments_entries_votes.js index 14551d3..1c670b2 100644 --- a/migrations/20160518201950_create_comments_entries_votes.js +++ b/migrations/20160518201950_create_comments_entries_votes.js @@ -1,6 +1,6 @@ -exports.up = function(knex, Promise) { +export function up(knex, Promise) { return Promise.all([ - knex.schema.createTable('comments', function (table) { + knex.schema.createTable('comments', (table) => { table.increments(); table.timestamps(); table.string('posted_by'); @@ -8,14 +8,14 @@ exports.up = function(knex, Promise) { table.string('repository_name'); }), - knex.schema.createTable('entries', function (table) { + knex.schema.createTable('entries', (table) => { table.increments(); table.timestamps(); table.string('repository_name').unique(); table.string('posted_by'); }), - knex.schema.createTable('votes', function (table) { + knex.schema.createTable('votes', (table) => { table.increments(); table.timestamps(); table.integer('entry_id'); @@ -24,12 +24,12 @@ exports.up = function(knex, Promise) { table.unique(['entry_id', 'username']); }), ]); -}; +} -exports.down = function(knex, Promise) { +export function down(knex, Promise) { return Promise.all([ knex.schema.dropTable('comments'), knex.schema.dropTable('entries'), knex.schema.dropTable('votes'), ]); -}; +} diff --git a/package.json b/package.json index 5ae3c7a..0968de6 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Example app for Apollo", "scripts": { "start": "nodemon api/index.js --watch api --exec babel-node", - "lint": "eslint api", + "lint": "eslint api migrations seeds", "test": "mocha --compilers js:babel-core/register --reporter spec --full-trace 'api/**/*.test.js' && npm run lint", "seed": "knex seed:run", "migrate": "knex migrate:latest" From 1268d9a95d5b41de5460a39e6a92e95dc3f5bf55 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 11:56:23 -0700 Subject: [PATCH 017/174] Refactor GitHub stuff to clean up index --- api/githubKeys.js | 8 +++++++ api/githubLogin.js | 54 ++++++++++++++++++++++++++++++++++++++++++ api/index.js | 58 +++++----------------------------------------- 3 files changed, 68 insertions(+), 52 deletions(-) create mode 100644 api/githubKeys.js create mode 100644 api/githubLogin.js diff --git a/api/githubKeys.js b/api/githubKeys.js new file mode 100644 index 0000000..820eac3 --- /dev/null +++ b/api/githubKeys.js @@ -0,0 +1,8 @@ +import dotenv from 'dotenv'; + +dotenv.config({ silent: true }); + +export const { + GITHUB_CLIENT_ID, + GITHUB_CLIENT_SECRET, +} = process.env; diff --git a/api/githubLogin.js b/api/githubLogin.js new file mode 100644 index 0000000..f5f079f --- /dev/null +++ b/api/githubLogin.js @@ -0,0 +1,54 @@ +import express from 'express'; +import session from 'express-session'; +import passport from 'passport'; +import { Strategy as GitHubStrategy } from 'passport-github'; +import knex from './sql/connector'; + +import { + GITHUB_CLIENT_ID, + GITHUB_CLIENT_SECRET, +} from './githubKeys'; + +const KnexSessionStore = require('connect-session-knex')(session); +const store = new KnexSessionStore({ + knex, +}); + +export function setUpGitHubLogin(app) { + app.use(session({ + secret: 'your secret', + resave: true, + saveUninitialized: true, + store, + })); + + app.use(passport.initialize()); + app.use(passport.session()); + + app.use(express.static('dist')); + + app.get('/login/github', + passport.authenticate('github')); + + app.get('/login/github/callback', + passport.authenticate('github', { failureRedirect: '/' }), + (req, res) => res.redirect('/')); + + app.get('/logout', (req, res) => { + req.logout(); + res.redirect('/'); + }); +} + +const gitHubStrategyOptions = { + clientID: GITHUB_CLIENT_ID, + clientSecret: GITHUB_CLIENT_SECRET, + callbackURL: 'http://localhost:3000/login/github/callback', +}; + +passport.use(new GitHubStrategy(gitHubStrategyOptions, (accessToken, refreshToken, profile, cb) => { + cb(null, profile); +})); + +passport.serializeUser((user, cb) => cb(null, user)); +passport.deserializeUser((obj, cb) => cb(null, obj)); diff --git a/api/index.js b/api/index.js index 70baeac..840cd47 100644 --- a/api/index.js +++ b/api/index.js @@ -1,64 +1,31 @@ import path from 'path'; import express from 'express'; -import session from 'express-session'; -import passport from 'passport'; import { apolloExpress, graphiqlExpress } from 'apollo-server'; import { makeExecutableSchema } from 'graphql-tools'; -import { Strategy as GitHubStrategy } from 'passport-github'; import bodyParser from 'body-parser'; -import dotenv from 'dotenv'; -import knex from './sql/connector'; - -const KnexSessionStore = require('connect-session-knex')(session); -const store = new KnexSessionStore({ - knex, -}); +import { + GITHUB_CLIENT_ID, + GITHUB_CLIENT_SECRET, +} from './githubKeys'; +import { setUpGitHubLogin } from './githubLogin'; import { schema, resolvers } from './schema'; import { GitHubConnector } from './github/connector'; import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; -dotenv.config({ silent: true }); let PORT = 3010; if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10) + 100; } -const { - GITHUB_CLIENT_ID, - GITHUB_CLIENT_SECRET, -} = process.env; - const app = express(); -app.use(session({ - secret: 'your secret', - resave: true, - saveUninitialized: true, - store, -})); - -app.use(passport.initialize()); -app.use(passport.session()); - app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); -app.use(express.static('dist')); - -app.get('/login/github', - passport.authenticate('github')); - -app.get('/login/github/callback', - passport.authenticate('github', { failureRedirect: '/' }), - (req, res) => res.redirect('/')); - -app.get('/logout', (req, res) => { - req.logout(); - res.redirect('/'); -}); +setUpGitHubLogin(app); const executableSchema = makeExecutableSchema({ typeDefs: schema, @@ -115,16 +82,3 @@ app.get('/', (req, res) => { app.listen(PORT, () => console.log( // eslint-disable-line no-console `API Server is now running on http://localhost:${PORT}` )); - -const gitHubStrategyOptions = { - clientID: GITHUB_CLIENT_ID, - clientSecret: GITHUB_CLIENT_SECRET, - callbackURL: 'http://localhost:3000/login/github/callback', -}; - -passport.use(new GitHubStrategy(gitHubStrategyOptions, (accessToken, refreshToken, profile, cb) => { - cb(null, profile); -})); - -passport.serializeUser((user, cb) => cb(null, user)); -passport.deserializeUser((obj, cb) => cb(null, obj)); From 0f6302c0b7c798abc019111fc4cf76215ddf683b Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 12:13:12 -0700 Subject: [PATCH 018/174] Whitespace --- api/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/api/index.js b/api/index.js index 840cd47..626f2e1 100644 --- a/api/index.js +++ b/api/index.js @@ -8,6 +8,7 @@ import { GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, } from './githubKeys'; + import { setUpGitHubLogin } from './githubLogin'; import { schema, resolvers } from './schema'; import { GitHubConnector } from './github/connector'; From c32c9085a3a10bbd330fead304c210e62538fd54 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 12:17:45 -0700 Subject: [PATCH 019/174] Nitpicks --- api/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 626f2e1..e0f8535 100644 --- a/api/index.js +++ b/api/index.js @@ -16,7 +16,6 @@ import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; let PORT = 3010; - if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10) + 100; } @@ -76,6 +75,7 @@ app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql', })); +// Serve our helpful static landing page. Not used in production. app.get('/', (req, res) => { res.sendFile(path.join(__dirname, 'index.html')); }); From 00cb43fa09923958018786286aa3ba91d2346821 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 12:31:03 -0700 Subject: [PATCH 020/174] Refactor schema composition --- api/index.js | 20 +++++++++++++------- api/schema.js | 14 ++++++++++++-- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/api/index.js b/api/index.js index e0f8535..b049bfe 100644 --- a/api/index.js +++ b/api/index.js @@ -1,7 +1,6 @@ import path from 'path'; import express from 'express'; import { apolloExpress, graphiqlExpress } from 'apollo-server'; -import { makeExecutableSchema } from 'graphql-tools'; import bodyParser from 'body-parser'; import { @@ -10,11 +9,12 @@ import { } from './githubKeys'; import { setUpGitHubLogin } from './githubLogin'; -import { schema, resolvers } from './schema'; import { GitHubConnector } from './github/connector'; import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; +import executableSchema from './schema'; + let PORT = 3010; if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10) + 100; @@ -27,11 +27,6 @@ app.use(bodyParser.json()); setUpGitHubLogin(app); -const executableSchema = makeExecutableSchema({ - typeDefs: schema, - resolvers, -}); - app.use('/graphql', apolloExpress((req) => { // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 @@ -73,6 +68,17 @@ app.use('/graphql', apolloExpress((req) => { app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql', + query: `{ + feed (type: NEW, limit: 5) { + repository { + owner { login } + name + } + + postedBy { login } + } +} +`, })); // Serve our helpful static landing page. Not used in production. diff --git a/api/schema.js b/api/schema.js index 9546f44..69b9866 100644 --- a/api/schema.js +++ b/api/schema.js @@ -1,8 +1,10 @@ import { merge } from 'lodash'; import { schema as gitHubSchema, resolvers as gitHubResolvers } from './github/schema'; import { schema as sqlSchema, resolvers as sqlResolvers } from './sql/schema'; +import { makeExecutableSchema } from 'graphql-tools'; const rootSchema = [` + # To select the sort order of the feed enum FeedType { HOT @@ -43,6 +45,7 @@ schema { query: Query mutation: Mutation } + `]; const rootResolvers = { @@ -116,5 +119,12 @@ const rootResolvers = { }, }; -export const schema = [...rootSchema, ...gitHubSchema, ...sqlSchema]; -export const resolvers = merge(rootResolvers, gitHubResolvers, sqlResolvers); +const schema = [...rootSchema, ...gitHubSchema, ...sqlSchema]; +const resolvers = merge(rootResolvers, gitHubResolvers, sqlResolvers); + +const executableSchema = makeExecutableSchema({ + typeDefs: schema, + resolvers, +}); + +export default executableSchema; From 1e0c5a445f0171ffb5fa62641876e2cb7da72825 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 12:32:39 -0700 Subject: [PATCH 021/174] Rename unused var to be consistent --- api/schema.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/api/schema.js b/api/schema.js index 69b9866..b36ed5e 100644 --- a/api/schema.js +++ b/api/schema.js @@ -50,20 +50,20 @@ schema { const rootResolvers = { Query: { - feed(_, { type, offset, limit }, context) { + feed(root, { type, offset, limit }, context) { const protectedLimit = (limit < 1 || limit > 10) ? 10 : limit; return context.Entries.getForFeed(type, offset, protectedLimit); }, - entry(_, { repoFullName }, context) { + entry(root, { repoFullName }, context) { return context.Entries.getByRepoFullName(repoFullName); }, - currentUser(_, __, context) { + currentUser(root, args, context) { return context.user || null; }, }, Mutation: { - submitRepository(_, { repoFullName }, context) { + submitRepository(root, { repoFullName }, context) { if (! context.user) { throw new Error('Must be logged in to submit a repository.'); } @@ -80,7 +80,7 @@ const rootResolvers = { )) .then(() => context.Entries.getByRepoFullName(repoFullName)); }, - submitComment(_, { repoFullName, commentContent }, context) { + submitComment(root, { repoFullName, commentContent }, context) { if (!context.user) { throw new Error('Must be logged in to submit a comment.'); } @@ -97,7 +97,7 @@ const rootResolvers = { )); }, - vote(_, { repoFullName, type }, context) { + vote(root, { repoFullName, type }, context) { if (! context.user) { throw new Error('Must be logged in to vote.'); } @@ -119,6 +119,8 @@ const rootResolvers = { }, }; +// Put schema together into one array of schema strings +// and one map of resolvers, like makeExecutableSchema expects const schema = [...rootSchema, ...gitHubSchema, ...sqlSchema]; const resolvers = merge(rootResolvers, gitHubResolvers, sqlResolvers); From 9b00f22f571a5ad4ada9f6ebea311ed7409f1338 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 12:34:17 -0700 Subject: [PATCH 022/174] Add comment --- api/schema.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/schema.js b/api/schema.js index b36ed5e..9587573 100644 --- a/api/schema.js +++ b/api/schema.js @@ -51,6 +51,7 @@ schema { const rootResolvers = { Query: { feed(root, { type, offset, limit }, context) { + // Ensure API consumer can only fetch 10 items at most const protectedLimit = (limit < 1 || limit > 10) ? 10 : limit; return context.Entries.getForFeed(type, offset, protectedLimit); @@ -80,6 +81,7 @@ const rootResolvers = { )) .then(() => context.Entries.getByRepoFullName(repoFullName)); }, + submitComment(root, { repoFullName, commentContent }, context) { if (!context.user) { throw new Error('Must be logged in to submit a comment.'); From 3a5b0bc5f2c9008f56d9538753ed1dac5fedbc7c Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 14:21:35 -0700 Subject: [PATCH 023/174] Rename stuff, add comment --- api/index.js | 6 ++++-- api/sql/models.js | 15 +++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/api/index.js b/api/index.js index b049bfe..6167ef5 100644 --- a/api/index.js +++ b/api/index.js @@ -13,7 +13,7 @@ import { GitHubConnector } from './github/connector'; import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; -import executableSchema from './schema'; +import schema from './schema'; let PORT = 3010; if (process.env.PORT) { @@ -49,13 +49,15 @@ app.use('/graphql', apolloExpress((req) => { }; } + // Initialize a new GitHub connector instance for every GraphQL request, so that API fetches + // are deduplicated per-request only. const gitHubConnector = new GitHubConnector({ clientId: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET, }); return { - schema: executableSchema, + schema, context: { user, Repositories: new Repositories({ connector: gitHubConnector }), diff --git a/api/sql/models.js b/api/sql/models.js index 5470a30..ff9d5d9 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -1,24 +1,27 @@ import knex from './connector'; +// A utility function that makes sure we always query the same columns function addSelectToEntryQuery(query) { query.select('entries.*', knex.raw('SUM(votes.vote_value) as score')) .leftJoin('votes', 'entries.id', 'votes.entry_id') .groupBy('entries.id'); } -function convertNullColsToZero({ score, ...rest }) { +// If we don't have a score, it is NULL by default +// Convert it to 0 on read. +function handleNullScoreInRow({ score, ...rest }) { return { score: score || 0, ...rest, }; } -function mapNullColsToZero(query) { +function convertNullScoresToZero(query) { return query.then((rows) => { if (rows.map) { - return rows.map(convertNullColsToZero); + return rows.map(handleNullScoreInRow); } - return convertNullColsToZero(rows); + return handleNullScoreInRow(rows); }); } @@ -78,7 +81,7 @@ export class Entries { query.limit(limit); - return mapNullColsToZero(query); + return convertNullScoresToZero(query); } getByRepoFullName(name) { @@ -90,7 +93,7 @@ export class Entries { }) .first(); - return mapNullColsToZero(query); + return convertNullScoresToZero(query); } voteForEntry(repoFullName, voteValue, username) { From f643200930dd27c29b82dcf1faeb6877bf036446 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 14:23:09 -0700 Subject: [PATCH 024/174] Formatting --- api/sql/models.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/api/sql/models.js b/api/sql/models.js index ff9d5d9..641dd4a 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -16,7 +16,8 @@ function handleNullScoreInRow({ score, ...rest }) { }; } -function convertNullScoresToZero(query) { +// Given a Knex query promise, resolve it and then format one or more rows +function formatRows(query) { return query.then((rows) => { if (rows.map) { return rows.map(handleNullScoreInRow); @@ -31,6 +32,7 @@ export class Comments { .where({ id }); return query.then(([row]) => row); } + getCommentsByRepoName(name) { const query = knex('comments') .where({ repository_name: name }) @@ -39,6 +41,7 @@ export class Comments { rows || [] )); } + getCommentCount(name) { const query = knex('comments') .where({ repository_name: name }) @@ -49,6 +52,7 @@ export class Comments { )) )); } + submitComment(repoFullName, username, content) { return knex.transaction((trx) => ( trx('comments') @@ -62,7 +66,6 @@ export class Comments { } } export class Entries { - getForFeed(type, offset, limit) { const query = knex('entries') .modify(addSelectToEntryQuery); @@ -81,7 +84,7 @@ export class Entries { query.limit(limit); - return convertNullScoresToZero(query); + return formatRows(query); } getByRepoFullName(name) { @@ -93,7 +96,7 @@ export class Entries { }) .first(); - return convertNullScoresToZero(query); + return formatRows(query); } voteForEntry(repoFullName, voteValue, username) { From 8e1e8611c14b20869f3ae729ea91cb49814a1c98 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 14:29:47 -0700 Subject: [PATCH 025/174] Upgrade graphql-js, now we have descriptions --- api/sql/schema.js | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/api/sql/schema.js b/api/sql/schema.js index 0adda2e..14150f0 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -1,6 +1,8 @@ import { property, constant } from 'lodash'; export const schema = [` + +# A comment about an entry, submitted by a user type Comment { postedBy: User! createdAt: Float! # Actually a date @@ -22,6 +24,7 @@ type Entry { id: Int! vote: Vote! } + `]; export const resolvers = { @@ -44,6 +47,7 @@ export const resolvers = { return context.Entries.haveVotedForEntry(repository_name, context.user.login); }, }, + Comment: { createdAt: property('created_at'), postedBy({ posted_by }, _, context) { diff --git a/package.json b/package.json index 0968de6..0d50d8f 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "dotenv": "^2.0.0", "express": "^4.13.4", "express-session": "^1.13.0", - "graphql": "^0.6.1", + "graphql": "^0.7.0", "graphql-tools": "^0.6.2", "knex": "^0.11.3", "lodash": "^4.12.0", From e5146cb67d9bf983fd105921da0acf4c86d83963 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 14:33:32 -0700 Subject: [PATCH 026/174] Add descriptions to SQL schema --- api/sql/schema.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/api/sql/schema.js b/api/sql/schema.js index 14150f0..de76fb6 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -4,24 +4,48 @@ export const schema = [` # A comment about an entry, submitted by a user type Comment { + # The GitHub user who posted the comment postedBy: User! + + # A timestamp of when the comment was posted createdAt: Float! # Actually a date + + # The text of the comment content: String! + + # The repository which this comment is about repoName: String! } +# XXX to be removed type Vote { vote_value: Int! } +# Information about a GitHub repository submitted to GitHunt type Entry { + # Information about the repository from GitHub repository: Repository! + + # The GitHub user who submitted this entry postedBy: User! + + # A timestamp of when the entry was submitted createdAt: Float! # Actually a date + + # The score of this repository, upvotes - downvotes score: Int! + + # Comments posted about this repository comments: [Comment]! # Should this be paginated? + + # The number of comments posted about this repository commentCount: Int! + + # The SQL ID of this entry id: Int! + + # XXX to be changed vote: Vote! } From 14f8640a88959f02e7495415ed1af82195203f62 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 14:39:09 -0700 Subject: [PATCH 027/174] Add descriptions to GitHub schema --- api/github/schema.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/api/github/schema.js b/api/github/schema.js index 2865673..a3cc492 100644 --- a/api/github/schema.js +++ b/api/github/schema.js @@ -1,25 +1,40 @@ import { property } from 'lodash'; export const schema = [` -# This uses the exact field names returned by the GitHub API for simplicity +# A repository object from the GitHub API. This uses the exact field names returned by the +# GitHub API for simplicity, even though the convention for GraphQL is usually to camel case. type Repository { + # Just the name of the repository, e.g. GitHunt-API name: String! + + # The full name of the repository with the username, e.g. apollostack/GitHunt-API full_name: String! + + # The description of the repository description: String + + # The link to the repository on GitHub html_url: String! + + # The number of people who have starred this repository on GitHub stargazers_count: Int! - open_issues_count: Int - # We should investigate how best to represent dates - created_at: String! + # The number of open issues on this repository on GitHub + open_issues_count: Int + # The owner of this repository on GitHub, e.g. apollostack owner: User } -# Uses exact field names from GitHub for simplicity +# A user object from the GitHub API. This uses the exact field names returned from the GitHub API. type User { + # The name of the user, e.g. apollostack login: String! + + # The URL to a directly embeddable image for this user's avatar avatar_url: String! + + # The URL of this user's GitHub page html_url: String! } `]; From 2198f4d32f7ab3cf053eb38f64f0000d4b29e308 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 14:56:29 -0700 Subject: [PATCH 028/174] Add descriptions for fields and arguments --- api/schema.js | 62 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/api/schema.js b/api/schema.js index 9587573..96f31d0 100644 --- a/api/schema.js +++ b/api/schema.js @@ -5,25 +5,42 @@ import { makeExecutableSchema } from 'graphql-tools'; const rootSchema = [` -# To select the sort order of the feed +# A list of options for the sort order of the feed enum FeedType { + # Sort by a combination of freshness and score, using Reddit's algorithm HOT + + # Newest entries first NEW + + # Highest score entries first TOP } type Query { - # For the home page, the offset arg is optional to get a new page of the feed - feed(type: FeedType!, offset: Int, limit: Int): [Entry] + # A feed of repository submissions + feed( + # The sort order for the feed + type: FeedType!, + + # The number of items to skip, for pagination + offset: Int, - # For the entry page - entry(repoFullName: String!): Entry + # The number of items to fetch starting from the offset, for pagination + limit: Int + ): [Entry] - # To display the current user on the submission page, and the navbar + # A single entry + entry( + # The full repository name from GitHub, e.g. "apollostack/GitHunt-API" + repoFullName: String! + ): Entry + + # Return the currently logged in user, or null if nobody is logged in currentUser: User } -# Type of vote +# The type of vote to record, when submitting a vote enum VoteType { UP DOWN @@ -31,14 +48,29 @@ enum VoteType { } type Mutation { - # Submit a new repository - submitRepository(repoFullName: String!): Entry - - # Vote on a repository - vote(repoFullName: String!, type: VoteType!): Entry - - # Comment on a repository - submitComment(repoFullName: String!, commentContent: String!): Comment + # Submit a new repository, returns the new submission + submitRepository( + # The full repository name from GitHub, e.g. "apollostack/GitHunt-API" + repoFullName: String! + ): Entry + + # Vote on a repository submission, returns the submission that was voted on + vote( + # The full repository name from GitHub, e.g. "apollostack/GitHunt-API" + repoFullName: String!, + + # The type of vote - UP, DOWN, or CANCEL + type: VoteType! + ): Entry + + # Comment on a repository, returns the new comment + submitComment( + # The full repository name from GitHub, e.g. "apollostack/GitHunt-API" + repoFullName: String!, + + # The text content for the new comment + commentContent: String! + ): Comment } schema { From 343547855c64ac704defd407f016c6f65548c2c9 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 15:07:53 -0700 Subject: [PATCH 029/174] Remove outdated comment --- api/github/connector.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/github/connector.js b/api/github/connector.js index 1ecc878..ecf58ee 100644 --- a/api/github/connector.js +++ b/api/github/connector.js @@ -39,8 +39,6 @@ export class GitHubConnector { }; } - // TODO: pass GitHub API key - return Promise.all(urls.map((url) => { const cachedRes = eTagCache[url]; From 6c3f1036e217c09d1b11322469b4a5b64e125e21 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 15:09:51 -0700 Subject: [PATCH 030/174] Style --- knexfile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/knexfile.js b/knexfile.js index 98a019a..aacedc8 100644 --- a/knexfile.js +++ b/knexfile.js @@ -6,9 +6,9 @@ module.exports = { development: { client: 'sqlite3', connection: { - filename: './dev.sqlite3' + filename: './dev.sqlite3', }, - useNullAsDefault: true + useNullAsDefault: true, }, // // production: { From 2525b3968d283166c65f7685d233ec82206ecc91 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 6 Sep 2016 17:46:52 -0700 Subject: [PATCH 031/174] Clean up config --- knexfile.js | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/knexfile.js b/knexfile.js index aacedc8..26ac784 100644 --- a/knexfile.js +++ b/knexfile.js @@ -2,7 +2,6 @@ require('babel-register'); module.exports = { - development: { client: 'sqlite3', connection: { @@ -10,21 +9,4 @@ module.exports = { }, useNullAsDefault: true, }, - // - // production: { - // client: 'postgresql', - // connection: { - // database: 'my_db', - // user: 'username', - // password: 'password' - // }, - // pool: { - // min: 2, - // max: 10 - // }, - // migrations: { - // tableName: 'knex_migrations' - // } - // } - }; From 6f4849fb69e341c626b2569d7f9b65e2f521684b Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Thu, 8 Sep 2016 19:35:46 -0700 Subject: [PATCH 032/174] initial implementation of subscriptions --- api/index.js | 38 ++++++++++++++++++++++++++++++++++++++ api/schema.js | 22 ++++++++++++++++++++-- api/sql/schema.js | 3 +++ api/subscriptions.js | 17 +++++++++++++++++ package.json | 4 +++- 5 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 api/subscriptions.js diff --git a/api/index.js b/api/index.js index 6167ef5..e3f144e 100644 --- a/api/index.js +++ b/api/index.js @@ -13,6 +13,10 @@ import { GitHubConnector } from './github/connector'; import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; +import { createServer } from 'http'; +import { Server } from 'subscriptions-transport-ws'; +import { subscriptionManager } from './subscriptions'; + import schema from './schema'; let PORT = 3010; @@ -20,6 +24,8 @@ if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10) + 100; } +const WS_PORT = process.env.WS_PORT || 8080; + const app = express(); app.use(bodyParser.urlencoded({ extended: true })); @@ -91,3 +97,35 @@ app.get('/', (req, res) => { app.listen(PORT, () => console.log( // eslint-disable-line no-console `API Server is now running on http://localhost:${PORT}` )); + +// WebSocket server for subscriptions +const httpServer = createServer((request, response) => { + response.writeHead(404); + response.end(); +}); + +httpServer.listen(WS_PORT, () => console.log( // eslint-disable-line no-console + `Websocket Server is now running on http://localhost:${WS_PORT}` +)); + +// eslint-disable-next-line +new Server( + { + subscriptionManager, + onSubscribe: (msg, params) => { + const gitHubConnector = new GitHubConnector({ + clientId: GITHUB_CLIENT_ID, + clientSecret: GITHUB_CLIENT_SECRET, + }); + return Object.assign({}, params, { + context: { + Repositories: new Repositories({ connector: gitHubConnector }), + Users: new Users({ connector: gitHubConnector }), + Entries: new Entries(), + Comments: new Comments(), + }, + }); + }, + }, + httpServer +); diff --git a/api/schema.js b/api/schema.js index 96f31d0..1f8f5b1 100644 --- a/api/schema.js +++ b/api/schema.js @@ -2,6 +2,7 @@ import { merge } from 'lodash'; import { schema as gitHubSchema, resolvers as gitHubResolvers } from './github/schema'; import { schema as sqlSchema, resolvers as sqlResolvers } from './sql/schema'; import { makeExecutableSchema } from 'graphql-tools'; +import { pubsub } from './subscriptions'; const rootSchema = [` @@ -73,9 +74,15 @@ type Mutation { ): Comment } +type Subscription { + # Subscription fires on every comment added + commentAdded(repoFullName: String!): Comment +} + schema { query: Query mutation: Mutation + subscription: Subscription } `]; @@ -126,9 +133,14 @@ const rootResolvers = { commentContent ) )) - .then(([id]) => ( + .then(([id]) => context.Comments.getCommentById(id) - )); + ) + .then(comment => { + // publish subscription notification + pubsub.publish('commentAdded', comment); + return comment; + }); }, vote(root, { repoFullName, type }, context) { @@ -151,6 +163,12 @@ const rootResolvers = { )); }, }, + Subscription: { + commentAdded(comment) { + // the subscription payload is the comment. + return comment; + }, + }, }; // Put schema together into one array of schema strings diff --git a/api/sql/schema.js b/api/sql/schema.js index de76fb6..76713fd 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -4,6 +4,9 @@ export const schema = [` # A comment about an entry, submitted by a user type Comment { + # The SQL ID of this entry + id: Int! + # The GitHub user who posted the comment postedBy: User! diff --git a/api/subscriptions.js b/api/subscriptions.js new file mode 100644 index 0000000..c12d3e4 --- /dev/null +++ b/api/subscriptions.js @@ -0,0 +1,17 @@ +import { PubSub, SubscriptionManager } from 'graphql-subscriptions'; +import schema from './schema'; + +const pubsub = new PubSub(); +const subscriptionManager = new SubscriptionManager({ + schema, + pubsub, + setupFunctions: { + commentAdded: (options, args) => ({ + commentAdded: comment => { + return comment.repository_name === args.repoFullName; + }, + }), + }, +}); + +export { subscriptionManager, pubsub }; diff --git a/package.json b/package.json index 0d50d8f..ff3d05b 100644 --- a/package.json +++ b/package.json @@ -48,12 +48,14 @@ "express": "^4.13.4", "express-session": "^1.13.0", "graphql": "^0.7.0", + "graphql-subscriptions": "^0.1.0", "graphql-tools": "^0.6.2", "knex": "^0.11.3", "lodash": "^4.12.0", "passport": "^0.3.2", "passport-github": "^1.1.0", "request-promise": "^3.0.0", - "sqlite3": "^3.1.4" + "sqlite3": "^3.1.4", + "subscriptions-transport-ws": "^0.1.2" } } From 8157dfca04357701158894432fe6efc64d1e0c31 Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Mon, 12 Sep 2016 11:04:44 -0700 Subject: [PATCH 033/174] fix lint errors --- api/subscriptions.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/subscriptions.js b/api/subscriptions.js index c12d3e4..68909a9 100644 --- a/api/subscriptions.js +++ b/api/subscriptions.js @@ -7,9 +7,7 @@ const subscriptionManager = new SubscriptionManager({ pubsub, setupFunctions: { commentAdded: (options, args) => ({ - commentAdded: comment => { - return comment.repository_name === args.repoFullName; - }, + commentAdded: comment => comment.repository_name === args.repoFullName, }), }, }); From c9d4eeb5a69845caa5da9f7e69f2a38ea2bf7fff Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Mon, 12 Sep 2016 13:59:39 -0700 Subject: [PATCH 034/174] rename stuff and add comments --- api/index.js | 13 ++++++++----- package.json | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/api/index.js b/api/index.js index e3f144e..43ee586 100644 --- a/api/index.js +++ b/api/index.js @@ -14,7 +14,7 @@ import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; import { createServer } from 'http'; -import { Server } from 'subscriptions-transport-ws'; +import { SubscriptionServer } from 'subscriptions-transport-ws'; import { subscriptionManager } from './subscriptions'; import schema from './schema'; @@ -99,19 +99,22 @@ app.listen(PORT, () => console.log( // eslint-disable-line no-console )); // WebSocket server for subscriptions -const httpServer = createServer((request, response) => { +const websocketServer = createServer((request, response) => { response.writeHead(404); response.end(); }); -httpServer.listen(WS_PORT, () => console.log( // eslint-disable-line no-console +websocketServer.listen(WS_PORT, () => console.log( // eslint-disable-line no-console `Websocket Server is now running on http://localhost:${WS_PORT}` )); // eslint-disable-next-line -new Server( +new SubscriptionServer( { subscriptionManager, + + // the obSubscribe function is called for every new subscription + // and we use it to set the GraphQL context for this subscription onSubscribe: (msg, params) => { const gitHubConnector = new GitHubConnector({ clientId: GITHUB_CLIENT_ID, @@ -127,5 +130,5 @@ new Server( }); }, }, - httpServer + websocketServer ); diff --git a/package.json b/package.json index ff3d05b..9fbe503 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,6 @@ "passport-github": "^1.1.0", "request-promise": "^3.0.0", "sqlite3": "^3.1.4", - "subscriptions-transport-ws": "^0.1.2" + "subscriptions-transport-ws": "^0.2.0" } } From 3cd5276c366459f5f338b6ea83884e63cba5de82 Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Wed, 14 Sep 2016 01:37:55 +0200 Subject: [PATCH 035/174] chore(package): update graphql-tools to version 0.7.0 (#17) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9fbe503..5c96682 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "express-session": "^1.13.0", "graphql": "^0.7.0", "graphql-subscriptions": "^0.1.0", - "graphql-tools": "^0.6.2", + "graphql-tools": "^0.7.0", "knex": "^0.11.3", "lodash": "^4.12.0", "passport": "^0.3.2", From 69592ab4eb8fd9c16360b66df3a7cc0c3396d7e9 Mon Sep 17 00:00:00 2001 From: Sample App Date: Fri, 16 Sep 2016 12:04:54 -0400 Subject: [PATCH 036/174] Update dir location after initial git clone --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c5debb..2f6dec1 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Please submit a pull request if you see anything that can be improved! ``` git clone https://github.com/apollostack/GitHunt-API.git - cd GitHunt + cd GitHunt-API npm install ``` From 4edc96054fa50b1f2998a2dbd6236d7772042078 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 16 Sep 2016 13:23:43 -0700 Subject: [PATCH 037/174] chore(package): update knex to version 0.12.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5c96682..9d0f070 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "graphql": "^0.7.0", "graphql-subscriptions": "^0.1.0", "graphql-tools": "^0.7.0", - "knex": "^0.11.3", + "knex": "^0.12.1", "lodash": "^4.12.0", "passport": "^0.3.2", "passport-github": "^1.1.0", From 106204c110980df28b70b565452a61648825d98b Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Wed, 21 Sep 2016 01:10:48 +0200 Subject: [PATCH 038/174] chore(package): update apollo-server to version 0.3.2 (#23) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9d0f070..5affaad 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "nodemon": "^1.9.2" }, "dependencies": { - "apollo-server": "^0.2.1", + "apollo-server": "^0.3.2", "body-parser": "^1.15.1", "connect-session-knex": "^1.0.23", "dataloader": "^1.2.0", From d12286ef42147c356bb2cd50f927f9b42fbedec2 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 27 Sep 2016 13:17:46 -0400 Subject: [PATCH 039/174] chore(package): update babel-eslint to version 7.0.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5affaad..b1d662a 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "devDependencies": { "babel-cli": "^6.8.0", "babel-core": "^6.8.0", - "babel-eslint": "^6.1.0", + "babel-eslint": "^7.0.0", "babel-loader": "^6.2.4", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", From 009182c1330ce61061a2e60dad910e61182939a9 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 27 Sep 2016 13:42:44 -0400 Subject: [PATCH 040/174] chore(package): update mocha to version 3.1.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b1d662a..d5f581d 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "eslint-plugin-import": "^1.8.1", "eslint-plugin-jsx-a11y": "^1.2.2", "eslint-plugin-react": "^5.1.1", - "mocha": "^2.4.5", + "mocha": "^3.1.0", "nodemon": "^1.9.2" }, "dependencies": { From f0b4a5a12ffbaa7e6edac133e4b24e7a87c22ba0 Mon Sep 17 00:00:00 2001 From: Boguslaw Skrzypkowiak Date: Wed, 12 Oct 2016 12:13:01 +0400 Subject: [PATCH 041/174] freeze dependencies version to avoid problems, when some dependency breaking patches --- package.json | 68 ++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index d5f581d..71480a8 100644 --- a/package.json +++ b/package.json @@ -21,41 +21,41 @@ }, "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { - "babel-cli": "^6.8.0", - "babel-core": "^6.8.0", - "babel-eslint": "^7.0.0", - "babel-loader": "^6.2.4", - "babel-preset-es2015": "^6.6.0", - "babel-preset-react": "^6.5.0", - "babel-preset-stage-2": "^6.5.0", - "babel-register": "^6.9.0", - "chai": "^3.5.0", - "eslint": "^2.13.1", - "eslint-config-airbnb": "^9.0.1", - "eslint-plugin-babel": "^3.3.0", - "eslint-plugin-import": "^1.8.1", - "eslint-plugin-jsx-a11y": "^1.2.2", - "eslint-plugin-react": "^5.1.1", - "mocha": "^3.1.0", - "nodemon": "^1.9.2" + "babel-cli": "6.8.0", + "babel-core": "6.8.0", + "babel-eslint": "7.0.0", + "babel-loader": "6.2.4", + "babel-preset-es2015": "6.6.0", + "babel-preset-react": "6.5.0", + "babel-preset-stage-2": "6.5.0", + "babel-register": "6.9.0", + "chai": "3.5.0", + "eslint": "2.13.1", + "eslint-config-airbnb": "9.0.1", + "eslint-plugin-babel": "3.3.0", + "eslint-plugin-import": "1.8.1", + "eslint-plugin-jsx-a11y": "1.2.2", + "eslint-plugin-react": "5.1.1", + "mocha": "3.1.0", + "nodemon": "1.9.2" }, "dependencies": { - "apollo-server": "^0.3.2", - "body-parser": "^1.15.1", - "connect-session-knex": "^1.0.23", - "dataloader": "^1.2.0", - "dotenv": "^2.0.0", - "express": "^4.13.4", - "express-session": "^1.13.0", - "graphql": "^0.7.0", - "graphql-subscriptions": "^0.1.0", - "graphql-tools": "^0.7.0", - "knex": "^0.12.1", - "lodash": "^4.12.0", - "passport": "^0.3.2", - "passport-github": "^1.1.0", - "request-promise": "^3.0.0", - "sqlite3": "^3.1.4", - "subscriptions-transport-ws": "^0.2.0" + "apollo-server": "0.3.2", + "body-parser": "1.15.1", + "connect-session-knex": "1.0.23", + "dataloader": "1.2.0", + "dotenv": "2.0.0", + "express": "4.13.4", + "express-session": "1.13.0", + "graphql": "0.7.0", + "graphql-subscriptions": "0.1.0", + "graphql-tools": "0.7.0", + "knex": "0.12.1", + "lodash": "4.12.0", + "passport": "0.3.2", + "passport-github": "1.1.0", + "request-promise": "3.0.0", + "sqlite3": "3.1.4", + "subscriptions-transport-ws": "0.2.0" } } From 6eb5740fb3c93a776a3d983099101353bd85ce05 Mon Sep 17 00:00:00 2001 From: Boguslaw Skrzypkowiak Date: Wed, 12 Oct 2016 14:51:13 +0400 Subject: [PATCH 042/174] upgrade dependencies, freeze dependencies version to avoid problems, when some dependency breaking patches, --- package.json | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 71480a8..b7e5233 100644 --- a/package.json +++ b/package.json @@ -21,41 +21,41 @@ }, "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { - "babel-cli": "6.8.0", - "babel-core": "6.8.0", + "babel-cli": "6.16.0", + "babel-core": "6.17.0", "babel-eslint": "7.0.0", - "babel-loader": "6.2.4", - "babel-preset-es2015": "6.6.0", - "babel-preset-react": "6.5.0", - "babel-preset-stage-2": "6.5.0", - "babel-register": "6.9.0", + "babel-loader": "6.2.5", + "babel-preset-es2015": "6.16.0", + "babel-preset-react": "6.16.0", + "babel-preset-stage-2": "6.17.0", + "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "2.13.1", - "eslint-config-airbnb": "9.0.1", + "eslint": "3.7.1", + "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", - "eslint-plugin-import": "1.8.1", - "eslint-plugin-jsx-a11y": "1.2.2", - "eslint-plugin-react": "5.1.1", - "mocha": "3.1.0", - "nodemon": "1.9.2" + "eslint-plugin-import": "1.16.0", + "eslint-plugin-jsx-a11y": "2.2.3", + "eslint-plugin-react": "6.4.1", + "mocha": "3.1.2", + "nodemon": "1.11.0" }, "dependencies": { "apollo-server": "0.3.2", - "body-parser": "1.15.1", - "connect-session-knex": "1.0.23", + "body-parser": "1.15.2", + "connect-session-knex": "1.2.0", "dataloader": "1.2.0", "dotenv": "2.0.0", - "express": "4.13.4", - "express-session": "1.13.0", - "graphql": "0.7.0", - "graphql-subscriptions": "0.1.0", - "graphql-tools": "0.7.0", - "knex": "0.12.1", - "lodash": "4.12.0", + "express": "4.14.0", + "express-session": "1.14.1", + "graphql": "0.7.2", + "graphql-subscriptions": "0.2.0", + "graphql-tools": "0.7.2", + "knex": "0.12.3", + "lodash": "4.16.4", "passport": "0.3.2", "passport-github": "1.1.0", - "request-promise": "3.0.0", - "sqlite3": "3.1.4", - "subscriptions-transport-ws": "0.2.0" + "request-promise": "4.1.1", + "sqlite3": "3.1.6", + "subscriptions-transport-ws": "0.2.5" } } From cdfb84c34473f909a3fb1cf7fac3152c6086dc89 Mon Sep 17 00:00:00 2001 From: Boguslaw Skrzypkowiak Date: Wed, 12 Oct 2016 14:55:31 +0400 Subject: [PATCH 043/174] added ability to search by repo name --- api/schema.js | 13 +++++++------ api/sql/models.js | 6 +++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/api/schema.js b/api/schema.js index 1f8f5b1..e4994a2 100644 --- a/api/schema.js +++ b/api/schema.js @@ -28,7 +28,10 @@ type Query { offset: Int, # The number of items to fetch starting from the offset, for pagination - limit: Int + limit: Int, + + # The text to mach repo name for searching + repoName: String ): [Entry] # A single entry @@ -89,11 +92,9 @@ schema { const rootResolvers = { Query: { - feed(root, { type, offset, limit }, context) { - // Ensure API consumer can only fetch 10 items at most - const protectedLimit = (limit < 1 || limit > 10) ? 10 : limit; - - return context.Entries.getForFeed(type, offset, protectedLimit); + feed(root, { type, offset, limit, repoName }, context) { + const protectedLimit = (limit < 1) ? 10 : limit; + return context.Entries.getForFeed(type, offset, protectedLimit, repoName); }, entry(root, { repoFullName }, context) { return context.Entries.getByRepoFullName(repoFullName); diff --git a/api/sql/models.js b/api/sql/models.js index 641dd4a..0a30ace 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -66,7 +66,7 @@ export class Comments { } } export class Entries { - getForFeed(type, offset, limit) { + getForFeed(type, offset, limit, repoName) { const query = knex('entries') .modify(addSelectToEntryQuery); @@ -82,6 +82,10 @@ export class Entries { query.offset(offset); } + if (repoName) { + query.where('repository_name', 'like', `%${repoName}%`) + } + query.limit(limit); return formatRows(query); From 9883425172979c45b8724edd3ba4697adb686495 Mon Sep 17 00:00:00 2001 From: Boguslaw Skrzypkowiak Date: Wed, 12 Oct 2016 15:48:42 +0400 Subject: [PATCH 044/174] eslint rules fixes and refactor --- .eslintrc | 4 +++ api/githubLogin.js | 1 + api/schema.js | 6 ++-- api/sql/models.js | 76 ++++++++++++++++++++-------------------------- seeds/seed.js | 4 +-- 5 files changed, 43 insertions(+), 48 deletions(-) diff --git a/.eslintrc b/.eslintrc index a91e222..4f4b3f1 100644 --- a/.eslintrc +++ b/.eslintrc @@ -8,5 +8,9 @@ "rules": { "camelcase": 0, "arrow-body-style": 0, + "class-methods-use-this": 0, + "import/prefer-default-export": 0, + "import/no-extraneous-dependencies": 0, + "import/imports-first": 0 } } diff --git a/api/githubLogin.js b/api/githubLogin.js index f5f079f..3127fed 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -10,6 +10,7 @@ import { } from './githubKeys'; const KnexSessionStore = require('connect-session-knex')(session); + const store = new KnexSessionStore({ knex, }); diff --git a/api/schema.js b/api/schema.js index e4994a2..0951bb4 100644 --- a/api/schema.js +++ b/api/schema.js @@ -105,7 +105,7 @@ const rootResolvers = { }, Mutation: { submitRepository(root, { repoFullName }, context) { - if (! context.user) { + if (!context.user) { throw new Error('Must be logged in to submit a repository.'); } @@ -137,7 +137,7 @@ const rootResolvers = { .then(([id]) => context.Comments.getCommentById(id) ) - .then(comment => { + .then((comment) => { // publish subscription notification pubsub.publish('commentAdded', comment); return comment; @@ -145,7 +145,7 @@ const rootResolvers = { }, vote(root, { repoFullName, type }, context) { - if (! context.user) { + if (!context.user) { throw new Error('Must be logged in to vote.'); } diff --git a/api/sql/models.js b/api/sql/models.js index 0a30ace..ea2f658 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -37,32 +37,24 @@ export class Comments { const query = knex('comments') .where({ repository_name: name }) .orderBy('created_at', 'desc'); - return query.then((rows) => ( - rows || [] - )); + return query.then(rows => (rows || [])); } getCommentCount(name) { const query = knex('comments') .where({ repository_name: name }) .count(); - return query.then((rows) => ( - rows.map((row) => ( - row['count(*)'] || '0' - )) - )); + return query.then(rows => rows.map(row => (row['count(*)'] || '0'))); } submitComment(repoFullName, username, content) { - return knex.transaction((trx) => ( - trx('comments') - .insert({ - content, - created_at: Date.now(), - repository_name: repoFullName, - posted_by: username, - }) - )); + return knex.transaction(trx => trx('comments') + .insert({ + content, + created_at: Date.now(), + repository_name: repoFullName, + posted_by: username, + })); } } export class Entries { @@ -83,7 +75,7 @@ export class Entries { } if (repoName) { - query.where('repository_name', 'like', `%${repoName}%`) + query.where('repository_name', 'like', `%${repoName}%`); } query.limit(limit); @@ -108,7 +100,7 @@ export class Entries { return Promise.resolve() - // First, get the entry_id from repoFullName + // First, get the entry_id from repoFullName .then(() => ( knex('entries') .where({ @@ -145,7 +137,7 @@ export class Entries { return Promise.resolve() - // First, get the entry_id from repoFullName + // First, get the entry_id from repoFullName .then(() => ( knex('entries') .where({ @@ -168,7 +160,7 @@ export class Entries { .first() )) - .then((vote) => vote || { vote_value: 0 }); + .then(vote => vote || { vote_value: 0 }); } submitRepository(repoFullName, username) { @@ -176,27 +168,25 @@ export class Entries { const rateLimitThresh = 3; // Rate limiting logic - return knex.transaction((trx) => ( - trx('entries') - .count() - .where('posted_by', '=', username) - .where('created_at', '>', Date.now() - rateLimitMs) - .then((obj) => { - // If the user has already submitted too many times, we don't - // post the repo. - const postCount = obj[0]['count(*)']; - if (postCount > rateLimitThresh) { - throw new Error('Too many repos submitted in the last hour!'); - } else { - return trx('entries') - .insert({ - created_at: Date.now(), - updated_at: Date.now(), - repository_name: repoFullName, - posted_by: username, - }); - } - }) - )); + return knex.transaction(trx => trx('entries') + .count() + .where('posted_by', '=', username) + .where('created_at', '>', Date.now() - rateLimitMs) + .then((obj) => { + // If the user has already submitted too many times, we don't + // post the repo. + const postCount = obj[0]['count(*)']; + if (postCount > rateLimitThresh) { + throw new Error('Too many repos submitted in the last hour!'); + } else { + return trx('entries') + .insert({ + created_at: Date.now(), + updated_at: Date.now(), + repository_name: repoFullName, + posted_by: username, + }); + } + })); } } diff --git a/seeds/seed.js b/seeds/seed.js index 75920b0..be0af21 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -84,8 +84,8 @@ export function seed(knex, Promise) { .then(() => { return Promise.all(repos.map(({ repository_name, posted_by }, i) => { return knex('entries').insert({ - created_at: Date.now() - i * 10000, - updated_at: Date.now() - i * 10000, + created_at: Date.now() - (i * 10000), + updated_at: Date.now() - (i * 10000), repository_name, posted_by, }).then(([id]) => { From c31fe878b1d6ffd319c0fe1685e84a47a095a985 Mon Sep 17 00:00:00 2001 From: Boguslaw Skrzypkowiak Date: Wed, 12 Oct 2016 15:53:23 +0400 Subject: [PATCH 045/174] eslint rules fixes and refactor --- api/schema.js | 13 ++++++------- api/sql/models.js | 6 +----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/api/schema.js b/api/schema.js index 0951bb4..10f177c 100644 --- a/api/schema.js +++ b/api/schema.js @@ -28,10 +28,7 @@ type Query { offset: Int, # The number of items to fetch starting from the offset, for pagination - limit: Int, - - # The text to mach repo name for searching - repoName: String + limit: Int ): [Entry] # A single entry @@ -92,9 +89,11 @@ schema { const rootResolvers = { Query: { - feed(root, { type, offset, limit, repoName }, context) { - const protectedLimit = (limit < 1) ? 10 : limit; - return context.Entries.getForFeed(type, offset, protectedLimit, repoName); + feed(root, { type, offset, limit }, context) { + // Ensure API consumer can only fetch 10 items at most + const protectedLimit = (limit < 1 || limit > 10) ? 10 : limit; + + return context.Entries.getForFeed(type, offset, protectedLimit); }, entry(root, { repoFullName }, context) { return context.Entries.getByRepoFullName(repoFullName); diff --git a/api/sql/models.js b/api/sql/models.js index ea2f658..eaa59a0 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -58,7 +58,7 @@ export class Comments { } } export class Entries { - getForFeed(type, offset, limit, repoName) { + getForFeed(type, offset, limit) { const query = knex('entries') .modify(addSelectToEntryQuery); @@ -74,10 +74,6 @@ export class Entries { query.offset(offset); } - if (repoName) { - query.where('repository_name', 'like', `%${repoName}%`); - } - query.limit(limit); return formatRows(query); From fa0373f752985495c6f82e55a700d590d726b909 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 12 Oct 2016 15:44:04 -0700 Subject: [PATCH 046/174] chore(package): update subscriptions-transport-ws to version 0.2.6 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b7e5233..b3c9a2a 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,6 @@ "passport-github": "1.1.0", "request-promise": "4.1.1", "sqlite3": "3.1.6", - "subscriptions-transport-ws": "0.2.5" + "subscriptions-transport-ws": "0.2.6" } } From 9ad5d3dc42c439221a8193cacdcbb9af9ae763d9 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 14 Oct 2016 15:47:40 -0700 Subject: [PATCH 047/174] chore(package): update eslint to version 3.8.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b3c9a2a..4a0376d 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.7.1", + "eslint": "3.8.0", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From e4caa09932e58d0222e4fbfa6294444e226f264c Mon Sep 17 00:00:00 2001 From: Tom Coleman Date: Mon, 17 Oct 2016 16:12:23 +1100 Subject: [PATCH 048/174] Added a `yarn.lock` --- yarn.lock | 3706 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3706 insertions(+) create mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..fad7c4d --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3706 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 +"@types/node@^6.0.38": + version "6.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.45.tgz#c4842a9d653d767831e4ff495b6008cc0d579966" + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: + 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: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" + +ajv-keywords@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" + +ajv@^4.7.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.0.tgz#011df5c4a08edb29574a477269afb15a6f97abe5" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +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.1.0, ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +apollo-server@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-0.3.2.tgz#d52df93c926b9a1236a06844f462fc3f494f6e1b" + dependencies: + boom "^4.0.0" + http-errors "^1.5.0" + source-map-support "^0.4.2" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +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-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.0, array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assertion-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +babel-cli@6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.16.0.tgz#4e0d1cf40442ef78330f7fef88eb3a0a1b16bd37" + dependencies: + babel-core "^6.16.0" + babel-polyfill "^6.16.0" + babel-register "^6.16.0" + babel-runtime "^6.9.0" + bin-version-check "^2.1.0" + chalk "1.1.1" + commander "^2.8.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^0.1.0" + glob "^5.0.5" + lodash "^4.2.0" + log-symbols "^1.0.2" + output-file-sync "^1.1.0" + path-exists "^1.0.0" + path-is-absolute "^1.0.0" + request "^2.65.0" + slash "^1.0.0" + source-map "^0.5.0" + v8flags "^2.0.10" + optionalDependencies: + chokidar "^1.0.0" + +babel-code-frame@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^2.0.0" + +babel-core@^6.16.0, babel-core@6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.17.0.tgz#6c4576447df479e241e58c807e4bc7da4db7f425" + dependencies: + babel-code-frame "^6.16.0" + babel-generator "^6.17.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.16.0" + babel-runtime "^6.9.1" + babel-template "^6.16.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.4.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-exists "^1.0.0" + path-is-absolute "^1.0.0" + private "^0.1.6" + shebang-regex "^1.0.0" + slash "^1.0.0" + source-map "^0.5.0" + +babel-eslint@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.0.0.tgz#54e51b4033f54ac81326ecea4c646a779935196d" + dependencies: + babel-traverse "^6.15.0" + babel-types "^6.15.0" + babylon "^6.11.2" + lodash.pickby "^4.6.0" + +babel-generator@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.17.0.tgz#b894e3808beef7800f2550635bfe024b6226cf33" + dependencies: + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.16.0" + detect-indent "^3.0.1" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helper-bindify-decorators@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.8.0.tgz#b34805a30b1433cc0042f7054f88a7133c144909" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.8.0" + babel-types "^6.8.0" + +babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.15.0.tgz#39e9ee143f797b642262e4646c681c32089ef1ab" + dependencies: + babel-helper-explode-assignable-expression "^6.8.0" + babel-runtime "^6.0.0" + babel-types "^6.15.0" + +babel-helper-builder-react-jsx@^6.8.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.9.0.tgz#a633978d669c4c9dcad716cc577ee3e0bb8ae723" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.9.0" + esutils "^2.0.0" + lodash "^4.2.0" + +babel-helper-call-delegate@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.8.0.tgz#9d283e7486779b6b0481864a11b371ea5c01fa64" + dependencies: + babel-helper-hoist-variables "^6.8.0" + babel-runtime "^6.0.0" + babel-traverse "^6.8.0" + babel-types "^6.8.0" + +babel-helper-define-map@^6.8.0, babel-helper-define-map@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.9.0.tgz#6629f9b2a7e58e18e8379a57d1e6fbb2969902fb" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.9.0" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.8.0.tgz#9b3525e05b761c3b88919d730a28bad1967e6556" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.8.0" + babel-types "^6.8.0" + +babel-helper-explode-class@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.8.0.tgz#196a228cc69ea57308695e4ebd1a36cf3f8eca3d" + dependencies: + babel-helper-bindify-decorators "^6.8.0" + babel-runtime "^6.0.0" + babel-traverse "^6.8.0" + babel-types "^6.8.0" + +babel-helper-function-name@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.8.0.tgz#a0336ba14526a075cdf502fc52d3fe84b12f7a34" + dependencies: + babel-helper-get-function-arity "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-traverse "^6.8.0" + babel-types "^6.8.0" + +babel-helper-get-function-arity@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.8.0.tgz#88276c24bd251cdf6f61b6f89f745f486ced92af" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-helper-hoist-variables@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.8.0.tgz#8b0766dc026ea9ea423bc2b34e665a4da7373aaf" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-helper-optimise-call-expression@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.8.0.tgz#4175628e9c89fc36174904f27070f29d38567f06" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-helper-regex@^6.8.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.9.0.tgz#c74265fde180ff9a16735fee05e63cadb9e0b057" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.9.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: + version "6.16.2" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.16.2.tgz#24315bde8326c60022dc053cce84cfe38d724b82" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + +babel-helper-replace-supers@^6.14.0, babel-helper-replace-supers@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.16.0.tgz#21c97623cc7e430855753f252740122626a39e6b" + dependencies: + babel-helper-optimise-call-expression "^6.8.0" + babel-messages "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + +babel-helpers@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" + dependencies: + babel-runtime "^6.0.0" + babel-template "^6.16.0" + +babel-loader@6.2.5: + version "6.2.5" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.5.tgz#576d548520689a5e6b70c65b85d76af1ffedd005" + dependencies: + loader-utils "^0.2.11" + mkdirp "^0.5.1" + object-assign "^4.0.1" + +babel-messages@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-check-es2015-constants@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-flow@^6.3.13, babel-plugin-syntax-flow@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.13.0.tgz#9af0cd396087bf7677053e1afa52f206c0416f17" + +babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.13.0.tgz#e741ff3992c578310be45c571bcd90a2f9c5586e" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.3.13: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.13.0.tgz#2b84b7d53dd744f94ff1fad7669406274b23f541" + +babel-plugin-transform-async-generator-functions@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" + dependencies: + babel-helper-remap-async-to-generator "^6.16.2" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-async-to-generator@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" + dependencies: + babel-helper-remap-async-to-generator "^6.16.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-class-properties@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.16.0.tgz#969bca24d34e401d214f36b8af5c1346859bc904" + dependencies: + babel-helper-function-name "^6.8.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.9.1" + +babel-plugin-transform-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" + dependencies: + babel-helper-define-map "^6.8.0" + babel-helper-explode-class "^6.8.0" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-types "^6.13.0" + +babel-plugin-transform-es2015-arrow-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoping@^6.14.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.15.0.tgz#5b443ca142be8d1db6a8c2ae42f51958b66b70f6" + dependencies: + babel-runtime "^6.9.0" + babel-template "^6.15.0" + babel-traverse "^6.15.0" + babel-types "^6.15.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.14.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.14.0.tgz#87d5149ee91fb475922409f9af5b2ba5d1e39287" + dependencies: + babel-helper-define-map "^6.9.0" + babel-helper-function-name "^6.8.0" + babel-helper-optimise-call-expression "^6.8.0" + babel-helper-replace-supers "^6.14.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-template "^6.14.0" + babel-traverse "^6.14.0" + babel-types "^6.14.0" + +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" + dependencies: + babel-helper-define-map "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-destructuring@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.16.0.tgz#050fe0866f5d53b36062ee10cdf5bfe64f929627" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-for-of@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.8.0.tgz#82eda139ba4270dda135c3ec1b1f2813fa62f23c" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-function-name@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.9.0" + +babel-plugin-transform-es2015-literals@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-modules-amd@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.8.0.tgz#25d954aa0bf04031fc46d2a8e6230bb1abbde4a3" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.16.0.tgz#0a34b447bc88ad1a70988b6d199cca6d0b96c892" + dependencies: + babel-plugin-transform-strict-mode "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-types "^6.16.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.14.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.14.0.tgz#c519b5c73e32388e679c9b1edf41b2fc23dc3303" + dependencies: + babel-helper-hoist-variables "^6.8.0" + babel-runtime "^6.11.6" + babel-template "^6.14.0" + +babel-plugin-transform-es2015-modules-umd@^6.12.0: + version "6.12.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.12.0.tgz#5d73559eb49266775ed281c40be88a421bd371a3" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" + dependencies: + babel-helper-replace-supers "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-parameters@^6.16.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.17.0.tgz#e06d30cef897f46adb4734707bbe128a0d427d58" + dependencies: + babel-helper-call-delegate "^6.8.0" + babel-helper-get-function-arity "^6.8.0" + babel-runtime "^6.9.0" + babel-template "^6.16.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.8.0.tgz#f0a4c5fd471630acf333c2d99c3d677bf0952149" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-spread@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-sticky-regex@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-template-literals@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.8.0.tgz#84c29eb1219372480955a020fef7a65c44f30533" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-unicode-regex@^6.3.13: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-flow-strip-types@^6.3.13: + version "6.14.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.14.0.tgz#35ceb03f8770934044bab1a76f7e4ee0aa9220f9" + dependencies: + babel-plugin-syntax-flow "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-object-rest-spread@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.16.0.tgz#db441d56fffc1999052fdebe2e2f25ebd28e36a9" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-react-display-name@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-react-jsx-self@^6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.9.0" + +babel-plugin-transform-react-jsx-source@^6.3.13: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.9.0" + +babel-plugin-transform-react-jsx@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab" + dependencies: + babel-helper-builder-react-jsx "^6.8.0" + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-regenerator@^6.16.0: + version "6.16.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.16.0" + private "~0.1.5" + +babel-plugin-transform-strict-mode@^6.8.0: + version "6.11.3" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.11.3.tgz#183741325126bc7ec9cf4c0fc257d3e7ca5afd40" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-polyfill@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422" + dependencies: + babel-runtime "^6.9.1" + core-js "^2.4.0" + regenerator-runtime "^0.9.5" + +babel-preset-es2015@6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.16.0.tgz#59acecd1efbebaf48f89404840f2fe78c4d2ad5c" + dependencies: + babel-plugin-check-es2015-constants "^6.3.13" + babel-plugin-transform-es2015-arrow-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoping "^6.14.0" + babel-plugin-transform-es2015-classes "^6.14.0" + babel-plugin-transform-es2015-computed-properties "^6.3.13" + babel-plugin-transform-es2015-destructuring "^6.16.0" + babel-plugin-transform-es2015-duplicate-keys "^6.6.0" + babel-plugin-transform-es2015-for-of "^6.6.0" + babel-plugin-transform-es2015-function-name "^6.9.0" + babel-plugin-transform-es2015-literals "^6.3.13" + babel-plugin-transform-es2015-modules-amd "^6.8.0" + babel-plugin-transform-es2015-modules-commonjs "^6.16.0" + babel-plugin-transform-es2015-modules-systemjs "^6.14.0" + babel-plugin-transform-es2015-modules-umd "^6.12.0" + babel-plugin-transform-es2015-object-super "^6.3.13" + babel-plugin-transform-es2015-parameters "^6.16.0" + babel-plugin-transform-es2015-shorthand-properties "^6.3.13" + babel-plugin-transform-es2015-spread "^6.3.13" + babel-plugin-transform-es2015-sticky-regex "^6.3.13" + babel-plugin-transform-es2015-template-literals "^6.6.0" + babel-plugin-transform-es2015-typeof-symbol "^6.6.0" + babel-plugin-transform-es2015-unicode-regex "^6.3.13" + babel-plugin-transform-regenerator "^6.16.0" + +babel-preset-react@6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.16.0.tgz#aa117d60de0928607e343c4828906e4661824316" + dependencies: + babel-plugin-syntax-flow "^6.3.13" + babel-plugin-syntax-jsx "^6.3.13" + babel-plugin-transform-flow-strip-types "^6.3.13" + babel-plugin-transform-react-display-name "^6.3.13" + babel-plugin-transform-react-jsx "^6.3.13" + babel-plugin-transform-react-jsx-self "^6.11.0" + babel-plugin-transform-react-jsx-source "^6.3.13" + +babel-preset-stage-2@6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.17.0.tgz#dc4f84582781353cef36c41247eae5e36c4cae0d" + dependencies: + babel-plugin-transform-class-properties "^6.16.0" + babel-plugin-transform-decorators "^6.13.0" + babel-preset-stage-3 "^6.17.0" + +babel-preset-stage-3@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.3.13" + babel-plugin-transform-async-generator-functions "^6.17.0" + babel-plugin-transform-async-to-generator "^6.16.0" + babel-plugin-transform-exponentiation-operator "^6.3.13" + babel-plugin-transform-object-rest-spread "^6.16.0" + +babel-register@^6.16.0, babel-register@6.16.3: + version "6.16.3" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.16.3.tgz#7b0c0ca7bfdeb9188ba4c27e5fcb7599a497c624" + dependencies: + babel-core "^6.16.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^1.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + path-exists "^1.0.0" + source-map-support "^0.4.2" + +babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: + version "6.11.6" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.9.5" + +babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" + dependencies: + babel-runtime "^6.9.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.14.0, babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.16.0.tgz#fba85ae1fd4d107de9ce003149cc57f53bef0c4f" + dependencies: + babel-code-frame "^6.16.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.16.0" + babylon "^6.11.0" + debug "^2.2.0" + globals "^8.3.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.13.0, babel-types@^6.14.0, babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.8.0, babel-types@^6.9.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.16.0.tgz#71cca1dbe5337766225c5c193071e8ebcbcffcfe" + dependencies: + babel-runtime "^6.9.1" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.11.0, babylon@^6.11.2: + version "6.12.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.12.0.tgz#953e6202e58062f7f5041fc8037e4bd4e17140a9" + +backo2@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +base64-url@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.2.tgz#4b08113b49d23889f306be64372762d31412f7a8" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + +bin-version-check@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" + dependencies: + bin-version "^1.0.0" + minimist "^1.1.0" + semver "^4.0.3" + semver-truncate "^1.0.0" + +bin-version@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" + dependencies: + find-versions "^1.0.0" + +binary-extensions@^1.0.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" + +bl@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" + dependencies: + readable-stream "~2.0.5" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.4.1, bluebird@^3.4.6: + version "3.4.6" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" + +body-parser@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.15.2.tgz#d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67" + dependencies: + bytes "2.4.0" + content-type "~1.0.2" + debug "~2.2.0" + depd "~1.1.0" + http-errors "~1.5.0" + iconv-lite "0.4.13" + on-finished "~2.3.0" + qs "6.2.0" + raw-body "~2.1.7" + type-is "~1.6.13" + +boom@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/boom/-/boom-4.2.0.tgz#c1a74174b11fbba223f6162d4fd8851a1b82a536" + dependencies: + hoek "4.x.x" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +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" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +bytes@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +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@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +chai@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.0.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, 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" + +chalk@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" + dependencies: + ansi-styles "^2.1.0" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.0.0, chokidar@^1.4.3: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +circular-json@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" + dependencies: + number-is-nan "^1.0.0" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.2.0, commander@^2.8.1, commander@^2.9.0, commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.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" + +concat-stream@^1.4.6: + version "1.5.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +configstore@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021" + dependencies: + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + object-assign "^4.0.1" + os-tmpdir "^1.0.0" + osenv "^0.1.0" + uuid "^2.0.1" + write-file-atomic "^1.1.2" + xdg-basedir "^2.0.0" + +connect-session-knex@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/connect-session-knex/-/connect-session-knex-1.2.0.tgz#c71b14361b3fe33ff6d1b4ab383d1dd5aa64848f" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +content-disposition@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" + +content-type@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + +convert-source-map@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +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" + +crc@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.0.tgz#4258e351613a74ef1153dfcb05e820c3e9715d7f" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +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" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +damerau-levenshtein@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" + +dashdash@^1.12.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" + dependencies: + assert-plus "^1.0.0" + +dataloader@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.2.0.tgz#3f73ea657c492c860c1633348adc55ca9bf2107e" + +debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@~2.2.0, debug@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-eql@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +deprecated-decorator@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-file@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" + dependencies: + fs-exists-sync "^0.1.0" + +detect-indent@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-3.0.1.tgz#9dc5e5ddbceef8325764b9451b02bc6d54084f75" + dependencies: + get-stdin "^4.0.1" + minimist "^1.1.0" + repeating "^1.1.0" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@1.3.x: + version "1.3.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +dotenv@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-2.0.0.tgz#bd759c357aaa70365e01c96b7b0bec08a6e0d949" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexify@^3.2.0: + version "3.4.5" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.4.5.tgz#0e7e287a775af753bf57e6e7b7f21f183f6c3a53" + dependencies: + end-of-stream "1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +end-of-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e" + dependencies: + once "~1.3.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" + +es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-map@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-set "~0.1.3" + es6-symbol "~3.1.0" + event-emitter "~0.3.4" + +es6-promise@^3.0.2, es6-promise@^3.2.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + +es6-set@^0.1.4, es6-set@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-symbol "3" + event-emitter "~0.3.4" + +es6-symbol@~3.1, es6-symbol@~3.1.0, es6-symbol@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-weak-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + dependencies: + d "^0.1.1" + es5-ext "^0.10.8" + es6-iterator "2" + es6-symbol "3" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, 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" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-airbnb-base@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-8.0.0.tgz#c5e958a469ab8af76aff068b43d784e5afe74ca7" + +eslint-config-airbnb@12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-12.0.0.tgz#ab282b756a25f03d04ac264c24d673a08a803270" + dependencies: + eslint-config-airbnb-base "^8.0.0" + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-plugin-babel@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz#2f494aedcf6f4aa4e75b9155980837bc1fbde193" + +eslint-plugin-import@1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.2.0" + doctrine "1.3.x" + es6-map "^0.1.3" + es6-set "^0.1.4" + eslint-import-resolver-node "^0.2.0" + has "^1.0.1" + lodash.cond "^4.3.0" + lodash.endswith "^4.0.1" + lodash.find "^4.3.0" + lodash.findindex "^4.3.0" + minimatch "^3.0.3" + object-assign "^4.0.1" + pkg-dir "^1.0.0" + pkg-up "^1.0.0" + +eslint-plugin-jsx-a11y@2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" + dependencies: + damerau-levenshtein "^1.0.0" + jsx-ast-utils "^1.0.0" + object-assign "^4.0.1" + +eslint-plugin-react@6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b" + dependencies: + doctrine "^1.2.2" + jsx-ast-utils "^1.3.1" + +eslint@3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.8.0.tgz#4fbbf6833d66654860c23a099c47a0f086de34b7" + dependencies: + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.2" + escope "^3.6.0" + espree "^3.3.1" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.2.0" + ignore "^3.1.5" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.6.0" + strip-bom "^3.0.0" + strip-json-comments "~1.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" + dependencies: + acorn "^4.0.1" + acorn-jsx "^3.0.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.0, esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +event-emitter@~0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.7" + +event-stream@~3.3.0: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +express-session@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.14.1.tgz#600364f0f6bf5dce32649e006770bdeee80aec99" + dependencies: + cookie "0.3.1" + cookie-signature "1.0.6" + crc "3.4.0" + debug "~2.2.0" + depd "~1.1.0" + on-headers "~1.0.1" + parseurl "~1.3.1" + uid-safe "~2.1.2" + utils-merge "1.0.0" + +express@4.14.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" + dependencies: + accepts "~1.3.3" + array-flatten "1.1.1" + content-disposition "0.5.1" + content-type "~1.0.2" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "~2.2.0" + depd "~1.1.0" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + finalhandler "0.5.0" + fresh "0.3.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.1" + path-to-regexp "0.1.7" + proxy-addr "~1.1.2" + qs "6.2.0" + range-parser "~1.2.0" + send "0.14.1" + serve-static "~1.11.1" + type-is "~1.6.13" + utils-merge "1.0.0" + vary "~1.1.0" + +extend@^3.0.0, extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fast-levenshtein@~2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + dependencies: + debug "~2.2.0" + escape-html "~1.0.3" + on-finished "~2.3.0" + statuses "~1.3.0" + unpipe "~1.0.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" + +find-versions@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" + dependencies: + array-uniq "^1.0.0" + get-stdin "^4.0.1" + meow "^3.5.0" + semver-regex "^1.0.0" + +findup-sync@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" + dependencies: + detect-file "^0.1.0" + is-glob "^2.0.1" + micromatch "^2.3.7" + resolve-dir "^0.1.0" + +flagged-respawn@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" + +flat-cache@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" + dependencies: + circular-json "^0.3.0" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +forwarded@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + +fresh@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +from@~0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs-readdir-recursive@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz#315b4fb8c1ca5b8c47defef319d073dad3568059" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.14" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +gauge@~2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-color "^0.1.7" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +generic-pool@^2.4.2: + version "2.4.3" + resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz#780c36f69dfad05a5a045dd37be7adca11a4f6ff" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@^5.0.5: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.0.5: + 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" + +glob@7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" + 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" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.4.tgz#05158db1cde2dd491b455e290eb3ab8bfc45c6e1" + dependencies: + ini "^1.3.4" + is-windows "^0.2.0" + osenv "^0.1.3" + which "^1.2.10" + +globals@^8.3.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-8.18.0.tgz#93d4a62bdcac38cfafafc47d6b034768cb0ffcb4" + +globals@^9.2.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +got@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca" + dependencies: + duplexify "^3.2.0" + infinity-agent "^2.0.0" + is-redirect "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + nested-error-stacks "^1.0.0" + object-assign "^3.0.0" + prepend-http "^1.0.0" + read-all-stream "^3.0.0" + timed-out "^2.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +graphql-subscriptions@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.1.5.tgz#603422c0a7ea3818b630751d1c9798bfa1a820ee" + dependencies: + es6-promise "^3.2.1" + graphql "^0.7.0" + +graphql-subscriptions@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.2.0.tgz#9aebf19283f797354615b263090e15246a4c6c8d" + dependencies: + es6-promise "^3.2.1" + graphql "^0.7.0" + +graphql-tools@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-0.7.2.tgz#bbd8ea2ac9cef292b89913bd0994e85d26571a2e" + dependencies: + deprecated-decorator "^0.1.6" + lodash "^4.3.0" + node-uuid "^1.4.7" + typed-graphql "git://github.com/DxCx/typed-graphql.git#resolve-funcs-fix" + +graphql@^0.7.0, graphql@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.7.2.tgz#cc894a32823399b8a0cb012b9e9ecad35cd00f72" + dependencies: + iterall "1.0.2" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +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" + +has-color@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hoek@4.x.x: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.1.0.tgz#4a4557460f69842ed463aa00628cc26d2683afa7" + +home-or-tmp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-1.0.0.tgz#4b9f1e40800c3e50c6c27f781676afcce71f3985" + dependencies: + os-tmpdir "^1.0.1" + user-home "^1.1.1" + +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" + +http-errors@^1.5.0, http-errors@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.0.tgz#b1cb3d8260fd8e2386cad3189045943372d48211" + dependencies: + inherits "2.0.1" + setprototypeof "1.0.1" + statuses ">= 1.3.0 < 2" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +ignore-by-default@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + +ignore@^3.1.5: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +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" + +infinity-agent@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216" + +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.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^0.6.5: + version "0.6.6" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" + +invariant@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +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-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +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-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-stream@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +iterall@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.2.tgz#41a2e96ce9eda5e61c767ee5dc312373bb046e91" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-tokens@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.3.tgz#14e56eb68c8f1a92c43d59f5014ec29dc20f2ae1" + +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" + +js-yaml@^3.5.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.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" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" + +json5@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.2.tgz#dff658782705352111f9865d40471bc4a955961e" + dependencies: + acorn-jsx "^3.0.1" + object-assign "^4.1.0" + +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" + +knex@0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.12.3.tgz#d563a0670668e0f679fd66f5ebfc12960fb13a6e" + dependencies: + babel-runtime "^6.11.6" + bluebird "^3.4.6" + chalk "^1.0.0" + commander "^2.2.0" + debug "^2.1.3" + generic-pool "^2.4.2" + inherits "~2.0.1" + interpret "^0.6.5" + liftoff "~2.2.0" + lodash "^4.6.0" + minimist "~1.1.0" + mkdirp "^0.5.0" + node-uuid "^1.4.7" + pg-connection-string "^0.1.3" + readable-stream "^1.1.12" + tildify "~1.0.0" + v8flags "^2.0.2" + +latest-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb" + dependencies: + package-json "^1.0.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +liftoff@~2.2.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.2.5.tgz#998c2876cff484b103e4423b93d356da44734c91" + dependencies: + extend "^3.0.0" + findup-sync "^0.4.2" + flagged-respawn "^0.3.2" + rechoir "^0.6.2" + resolve "^1.1.7" + +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" + +loader-utils@^0.2.11: + version "0.2.16" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._createassigner@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" + dependencies: + lodash._bindcallback "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.restparam "^3.0.0" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash.assign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" + dependencies: + lodash._baseassign "^3.0.0" + lodash._createassigner "^3.0.0" + lodash.keys "^3.0.0" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.defaults@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" + dependencies: + lodash.assign "^3.0.0" + lodash.restparam "^3.0.0" + +lodash.endswith@^4.0.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" + +lodash.find@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.findindex@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isobject@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.pickby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0, lodash@4.16.4: + version "4.16.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +loose-envify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.2.0.tgz#69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f" + dependencies: + js-tokens "^1.0.1" + +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" + +lowercase-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + +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" + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +meow@^3.5.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" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" + +mime-types@^2.1.11, mime-types@~2.1.11, mime-types@~2.1.7: + version "2.1.12" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" + dependencies: + mime-db "~1.24.0" + +mime@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, "minimatch@2 || 3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, 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" + +mocha@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.1.2.tgz#51f93b432bf7e1b175ffc22883ccd0be32dba6b5" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.5" + glob "7.0.5" + growl "1.9.2" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +nan@^2.3.0, nan@^2.3.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" + +nan@~2.3.3: + version "2.3.5" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.3.5.tgz#822a0dc266290ce4cd3a12282ca3e7e364668a08" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +nested-error-stacks@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf" + dependencies: + inherits "~2.0.1" + +node-pre-gyp@^0.6.29, node-pre-gyp@~0.6.28: + version "0.6.30" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.30.tgz#64d3073a6f573003717ccfe30c89023297babba1" + dependencies: + mkdirp "~0.5.0" + nopt "~3.0.1" + npmlog "4.x" + rc "~1.1.0" + request "2.x" + rimraf "~2.5.0" + semver "~5.3.0" + tar "~2.2.0" + tar-pack "~3.1.0" + +node-static@0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/node-static/-/node-static-0.5.9.tgz#2f5bf30949e1735958266c269413aebce8cbe899" + +node-uuid@^1.4.7, node-uuid@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +nodemon@1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" + dependencies: + chokidar "^1.4.3" + debug "^2.2.0" + es6-promise "^3.0.2" + ignore-by-default "^1.0.0" + lodash.defaults "^3.1.2" + minimatch "^3.0.0" + ps-tree "^1.0.1" + touch "1.0.0" + undefsafe "0.0.3" + update-notifier "0.5.0" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + dependencies: + abbrev "1" + +nopt@~3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + 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" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmlog@4.x: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + +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" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +oauth@0.9.x: + version "0.9.14" + resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.14.tgz#c5748883a40b53de30ade9cabf2100414b8a0971" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object.omit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.0.tgz#868597333d54e60662940bb458605dd6ae12fe94" + dependencies: + for-own "^0.1.3" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +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, once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.0, osenv@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +package-json@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0" + dependencies: + got "^3.2.0" + registry-url "^3.0.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +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" + +parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +passport-github@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/passport-github/-/passport-github-1.1.0.tgz#8ce1e3fcd61ad7578eb1df595839e4aea12355d4" + dependencies: + passport-oauth2 "1.x.x" + +passport-oauth2@1.x.x: + version "1.3.0" + resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.3.0.tgz#d72b4bd62eeb807a4089ff3071a22c26c382dc0c" + dependencies: + oauth "0.9.x" + passport-strategy "1.x.x" + uid2 "0.0.x" + +passport-strategy@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" + +passport@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.3.2.tgz#9dd009f915e8fe095b0124a01b8f82da07510102" + dependencies: + passport-strategy "1.x.x" + pause "0.0.1" + +path-exists@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" + +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-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +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" + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + dependencies: + through "~2.3" + +pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + +pg-connection-string@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" + +pify@^2.0.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" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +private@^0.1.6, private@~0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + +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" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +proxy-addr@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.2.tgz#b4cc5f22610d9535824c123aef9d3cf73c40ba37" + dependencies: + forwarded "~0.1.0" + ipaddr.js "1.1.1" + +ps-tree@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" + dependencies: + event-stream "~3.3.0" + +qs@~6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" + +qs@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + +randomatic@^1.1.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@~2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" + dependencies: + bytes "2.4.0" + iconv-lite "0.4.13" + unpipe "1.0.0" + +rc@^1.0.1, rc@~1.1.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" + dependencies: + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" + +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: + 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@^1.1.12: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + 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" + +readable-stream@~2.0.0, readable-stream@~2.0.5: + 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" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +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" + +regenerate@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33" + +regenerator-runtime@^0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz#403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +registry-url@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + dependencies: + rc "^1.0.1" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.5.4" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.5.4.tgz#64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5" + +repeating@^1.1.0, repeating@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac" + dependencies: + is-finite "^1.0.0" + +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" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.1.1.tgz#26021e4f6f56fd4c309f6bf1ebd8c97a95ac1fb5" + dependencies: + bluebird "^3.4.1" + request-promise-core "1.1.1" + stealthy-require "^1.0.0" + +request@^2.65.0, request@2.x: + version "2.75.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.0.0" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +require-uncached@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@^1.1.6, resolve@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +rimraf@^2.2.8, rimraf@~2.5.0, rimraf@~2.5.1, rimraf@2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + dependencies: + semver "^5.0.3" + +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +semver-truncate@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + dependencies: + semver "^5.3.0" + +semver@^4.0.3: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +semver@^5.0.3, semver@^5.3.0, semver@~5.3.0, "semver@2 || 3 || 4 || 5": + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.5.0" + mime "1.3.4" + ms "0.7.1" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.0" + +serve-static@~1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.14.1" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setprototypeof@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.1.tgz#52009b27888c4dc48f591949c0a8275834c1ca7e" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shelljs@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" + +signal-exit@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +source-map-support@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.4.tgz#0df5765a05a560c91bc8f8641cf79f2affc0322e" + dependencies: + source-map "^0.5.3" + +source-map@^0.5.0, source-map@^0.5.3: + 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" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sqlite3@3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-3.1.6.tgz#fc65af46fcb63aee7b36035c9e6d5cfe9ee1fab1" + dependencies: + nan "~2.3.3" + node-pre-gyp "~0.6.28" + +sshpk@^1.7.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +"statuses@>= 1.3.0 < 2", statuses@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + +stealthy-require@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.0.0.tgz#1a8ed8fc19a8b56268f76f5a1a3e3832b0c26200" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + dependencies: + duplexer "~0.1.1" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + dependencies: + strip-ansi "^3.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + 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-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +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@~1.0.1, strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +subscriptions-transport-ws@0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.2.6.tgz#433861167c25ef9a2b8697e9403afa2a77656cb3" + dependencies: + "@types/node" "^6.0.38" + backo2 "^1.0.2" + es6-promise "^3.2.1" + graphql-subscriptions "^0.1.3" + lodash.isobject "^3.0.2" + lodash.isstring "^4.0.1" + node-static "0.5.9" + websocket "^1.0.23" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +table@^3.7.8: + version "3.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.0.tgz#252166c7f3286684a9d561b0f3a8929caf3a997b" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^1.0.1" + +tar-pack@~3.1.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.1.4.tgz#bc8cf9a22f5832739f12f3910dac1eb97b49708c" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@~2.2.0, tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through@^2.3.6, through@~2.3, through@~2.3.1, through@2: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tildify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.0.0.tgz#2a021db5e8fbde0a8f8b4df37adaa8fb1d39d7dd" + dependencies: + user-home "^1.0.0" + +timed-out@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +touch@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de" + dependencies: + nopt "~1.0.10" + +tough-cookie@~2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.1.tgz#99c77dfbb7d804249e8a299d4cb0fd81fef083fd" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tryit@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.2.tgz#c196b0073e6b1c595d93c9c830855b7acc32a453" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-detect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" + +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + +type-is@~1.6.13: + version "1.6.13" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.13.tgz#6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.11" + +"typed-graphql@git://github.com/DxCx/typed-graphql.git#resolve-funcs-fix": + version "1.0.1" + resolved "git://github.com/DxCx/typed-graphql.git#f01469278aee81cecc4750510ccbd0a7547e6c94" + +typedarray-to-buffer@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz#1017b32d984ff556eba100f501589aba1ace2e04" + dependencies: + is-typedarray "^1.0.0" + +typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uid-safe@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.2.tgz#c934b3caead0fdcd0fb2cff3a8876d06fe0ee0fd" + dependencies: + base64-url "1.3.2" + random-bytes "~1.0.0" + +uid2@0.0.x: + version "0.0.3" + resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" + +undefsafe@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f" + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +update-notifier@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz#07b5dc2066b3627ab3b4f530130f7eddda07a4cc" + dependencies: + chalk "^1.0.0" + configstore "^1.0.0" + is-npm "^1.0.0" + latest-version "^1.0.0" + repeating "^1.1.2" + semver-diff "^2.0.0" + string-length "^1.0.0" + +user-home@^1.0.0, user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +v8flags@^2.0.10, v8flags@^2.0.2: + version "2.0.11" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" + dependencies: + user-home "^1.1.1" + +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" + +vary@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +websocket@^1.0.23: + version "1.0.23" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.23.tgz#20de8ec4a7126b09465578cd5dbb29a9c296aac6" + dependencies: + debug "^2.2.0" + nan "^2.3.3" + typedarray-to-buffer "^3.1.2" + yaeti "^0.0.4" + +which@^1.2.10: + version "1.2.11" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" + dependencies: + graceful-fs "^4.1.2" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xdg-basedir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" + dependencies: + os-homedir "^1.0.0" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yaeti@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.4.tgz#89fe739c45ac4491028973193262a837693a66b6" + From a3f590d6b86e0d013660994fe4e5b8d9083e223f Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 17 Oct 2016 14:46:35 -0700 Subject: [PATCH 049/174] chore(package): update eslint to version 3.8.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4a0376d..98df047 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.8.0", + "eslint": "3.8.1", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From c09056bef5dd59e53556b5c7ee425bb28228c2e8 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 19 Oct 2016 12:18:14 -0700 Subject: [PATCH 050/174] chore(package): update knex to version 0.12.6 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 98df047..b24dc0c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "graphql": "0.7.2", "graphql-subscriptions": "0.2.0", "graphql-tools": "0.7.2", - "knex": "0.12.3", + "knex": "0.12.6", "lodash": "4.16.4", "passport": "0.3.2", "passport-github": "1.1.0", From eedca4306f20b6c173fda35c256a7d16743c4bc0 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sat, 22 Oct 2016 16:07:56 -0700 Subject: [PATCH 051/174] chore(package): update apollo-server to version 0.3.3 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 98df047..69b8a9c 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "nodemon": "1.11.0" }, "dependencies": { - "apollo-server": "0.3.2", + "apollo-server": "0.3.3", "body-parser": "1.15.2", "connect-session-knex": "1.2.0", "dataloader": "1.2.0", From 939d9c2ef80a5ea5951e5de59d14cd17c42d8c8b Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 22 Oct 2016 17:03:16 -0700 Subject: [PATCH 052/174] Change to graphql-server-express --- api/index.js | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/index.js b/api/index.js index 43ee586..af8e419 100644 --- a/api/index.js +++ b/api/index.js @@ -1,6 +1,6 @@ import path from 'path'; import express from 'express'; -import { apolloExpress, graphiqlExpress } from 'apollo-server'; +import { apolloExpress, graphiqlExpress } from 'graphql-server-express'; import bodyParser from 'body-parser'; import { diff --git a/package.json b/package.json index c40c457..0b2ef34 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "nodemon": "1.11.0" }, "dependencies": { - "apollo-server": "0.3.3", "body-parser": "1.15.2", "connect-session-knex": "1.2.0", "dataloader": "1.2.0", @@ -48,6 +47,7 @@ "express": "4.14.0", "express-session": "1.14.1", "graphql": "0.7.2", + "graphql-server-express": "^0.4.0", "graphql-subscriptions": "0.2.0", "graphql-tools": "0.7.2", "knex": "0.12.6", From dc0f328574c4a36056b08cea5ff2dda17874003c Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 22 Oct 2016 18:50:50 -0700 Subject: [PATCH 053/174] Rename function --- api/index.js | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/index.js b/api/index.js index af8e419..e736cfc 100644 --- a/api/index.js +++ b/api/index.js @@ -1,6 +1,6 @@ import path from 'path'; import express from 'express'; -import { apolloExpress, graphiqlExpress } from 'graphql-server-express'; +import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import bodyParser from 'body-parser'; import { @@ -33,7 +33,7 @@ app.use(bodyParser.json()); setUpGitHubLogin(app); -app.use('/graphql', apolloExpress((req) => { +app.use('/graphql', graphqlExpress((req) => { // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 const query = req.query.query || req.body.query; diff --git a/package.json b/package.json index 0b2ef34..a26a293 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "express": "4.14.0", "express-session": "1.14.1", "graphql": "0.7.2", - "graphql-server-express": "^0.4.0", + "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.0", "graphql-tools": "0.7.2", "knex": "0.12.6", From f39073712eebf00b32fc34901a24262a90fa4de5 Mon Sep 17 00:00:00 2001 From: katopz Date: Sun, 23 Oct 2016 17:46:44 +0700 Subject: [PATCH 054/174] Add vscode support. --- .vscode/launch.json | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..67ad692 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,50 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Launch", + "type": "node", + "request": "launch", + "program": "${workspaceRoot}/api/index.js", + "stopOnEntry": false, + "args": [ + "--watch", + "api", + "--exec", + "node_modules/.bin/babel-node" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": null, + "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/nodemon", + "runtimeArgs": [ + ], + "env": { + "NODE_ENV": "development" + }, + "console": "internalConsole", + "sourceMaps": true, + "outFiles": [] + }, + { + "name": "Attach", + "type": "node", + "request": "attach", + "port": 5858, + "address": "localhost", + "restart": false, + "sourceMaps": false, + "outFiles": [], + "localRoot": "${workspaceRoot}", + "remoteRoot": null + }, + { + "name": "Attach to Process", + "type": "node", + "request": "attach", + "processId": "${command.PickProcess}", + "port": 5858, + "sourceMaps": false, + "outFiles": [] + } + ] +} \ No newline at end of file From 0d157da1a7129cb23f7554bb6f2b31964f544af3 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sun, 23 Oct 2016 14:15:26 -0700 Subject: [PATCH 055/174] chore(package): update graphql-tools to version 0.8.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a26a293..8b3cc45 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.0", - "graphql-tools": "0.7.2", + "graphql-tools": "0.8.0", "knex": "0.12.6", "lodash": "4.16.4", "passport": "0.3.2", From 7fd34bea6d4e44dd2b1c866d99b89d0f6eacb2bb Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 24 Oct 2016 12:54:34 -0700 Subject: [PATCH 056/174] chore(package): update sqlite3 to version 3.1.7 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8b3cc45..e99edbc 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "passport": "0.3.2", "passport-github": "1.1.0", "request-promise": "4.1.1", - "sqlite3": "3.1.6", + "sqlite3": "3.1.7", "subscriptions-transport-ws": "0.2.6" } } From 3168cbd025764aeba512df830b06fe06ae0bab2d Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Tue, 25 Oct 2016 13:57:23 +0200 Subject: [PATCH 057/174] Fix recent apollo-server name change (#67) --- seeds/seed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seeds/seed.js b/seeds/seed.js index be0af21..90c6973 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -6,7 +6,7 @@ const repos = [ posted_by: 'stubailo', }, { - repository_name: 'apollostack/apollo-server', + repository_name: 'apollostack/graphql-server', posted_by: 'helfer', }, { From 36b4bc8a5f1fbc9abea9bd4806fec5df77369a05 Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Tue, 25 Oct 2016 14:58:39 +0200 Subject: [PATCH 058/174] Implement Hot ranking --- api/sql/models.js | 60 ++++++++++++++++++- api/sql/schema.js | 4 ++ ...518201950_create_comments_entries_votes.js | 1 + package.json | 1 + seeds/seed.js | 24 +++++++- 5 files changed, 87 insertions(+), 3 deletions(-) diff --git a/api/sql/models.js b/api/sql/models.js index eaa59a0..363e4b9 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -1,3 +1,5 @@ +import RedditScore from 'reddit-score'; + import knex from './connector'; // A utility function that makes sure we always query the same columns @@ -66,6 +68,8 @@ export class Entries { query.orderBy('created_at', 'desc'); } else if (type === 'TOP') { query.orderBy('score', 'desc'); + } else if (type === 'HOT') { + query.orderBy('hot_score', 'desc'); } else { throw new Error(`Feed type ${type} not implemented.`); } @@ -96,7 +100,7 @@ export class Entries { return Promise.resolve() - // First, get the entry_id from repoFullName + // First, get the entry_id from repoFullName .then(() => ( knex('entries') .where({ @@ -125,6 +129,57 @@ export class Entries { username, vote_value: voteValue, }) + )) + // Update hot score + .then(() => this.updateHotScore(repoFullName)); + } + + updateHotScore(repoFullName) { + let entryId; + let createdAt; + + return Promise.resolve() + .then(() => ( + knex('entries') + .where({ + repository_name: repoFullName, + }) + .select(['id', 'created_at']) + .first() + .then(({ id, created_at }) => { + entryId = id; + createdAt = created_at; + }) + )) + .then(() => { + return knex('votes') + .select(['vote_value']) + .where({ + entry_id: entryId, + }); + }) + .then((results) => { + function countVotes(vote) { + return (count, value) => count + (value === vote ? 1 : 0); + } + + if (results && results.map) { + const votes = results.map(vote => vote.vote_value); + const ups = votes.reduce(countVotes(1), 0); + const downs = votes.reduce(countVotes(-1), 0); + const date = createdAt instanceof Date ? createdAt : new Date(createdAt); + + return (new RedditScore()).hot(ups, downs, date); + } + + return 0; + }) + .then(hotScore => ( + knex('entries') + .where('id', entryId) + .update({ + hot_score: hotScore, + }) )); } @@ -183,6 +238,7 @@ export class Entries { posted_by: username, }); } - })); + })) + .then(() => this.updateHotScore(repoFullName)); } } diff --git a/api/sql/schema.js b/api/sql/schema.js index 76713fd..6ad8428 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -39,6 +39,9 @@ type Entry { # The score of this repository, upvotes - downvotes score: Int! + # The hot score of this repository + hotScore: Int! + # Comments posted about this repository comments: [Comment]! # Should this be paginated? @@ -66,6 +69,7 @@ export const resolvers = { return context.Comments.getCommentsByRepoName(repository_name); }, createdAt: property('created_at'), + hotScore: property('hot_score'), commentCount({ repository_name }, _, context) { return context.Comments.getCommentCount(repository_name) || constant(0); }, diff --git a/migrations/20160518201950_create_comments_entries_votes.js b/migrations/20160518201950_create_comments_entries_votes.js index 1c670b2..0084451 100644 --- a/migrations/20160518201950_create_comments_entries_votes.js +++ b/migrations/20160518201950_create_comments_entries_votes.js @@ -13,6 +13,7 @@ export function up(knex, Promise) { table.timestamps(); table.string('repository_name').unique(); table.string('posted_by'); + table.float('hot_score'); }), knex.schema.createTable('votes', (table) => { diff --git a/package.json b/package.json index e99edbc..1cf3626 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "lodash": "4.16.4", "passport": "0.3.2", "passport-github": "1.1.0", + "reddit-score": "0.0.1", "request-promise": "4.1.1", "sqlite3": "3.1.7", "subscriptions-transport-ws": "0.2.6" diff --git a/seeds/seed.js b/seeds/seed.js index 90c6973..07954e8 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -1,4 +1,21 @@ import _ from 'lodash'; +import RedditScore from 'reddit-score'; + +function countScore(score) { + return (count, value) => count + (value === score ? 1 : 0); +} + +function hot(repoVotes, date) { + const redditScore = new RedditScore(); + + const createdAt = date instanceof Date ? date : new Date(date); + + const scores = _.values(repoVotes || {}); + const ups = scores.reduce(countScore(1), 0); + const downs = scores.reduce(countScore(-1), 0); + + return redditScore.hot(ups, downs, createdAt); +} const repos = [ { @@ -83,11 +100,16 @@ export function seed(knex, Promise) { // Insert some entries for the repositories .then(() => { return Promise.all(repos.map(({ repository_name, posted_by }, i) => { + const createdAt = Date.now() - (i * 10000); + const repoVotes = votes[repository_name]; + const hotScore = hot(repoVotes, createdAt); + return knex('entries').insert({ - created_at: Date.now() - (i * 10000), + created_at: createdAt, updated_at: Date.now() - (i * 10000), repository_name, posted_by, + hot_score: hotScore, }).then(([id]) => { repoIds[repository_name] = id; }); From 68ad8cee6817f5fe77e97a0eb316c7ecd15ec56f Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Thu, 27 Oct 2016 16:46:25 +0200 Subject: [PATCH 059/174] Fix hotScore type, should be Float --- api/sql/schema.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/sql/schema.js b/api/sql/schema.js index 6ad8428..3dc7ce4 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -40,7 +40,7 @@ type Entry { score: Int! # The hot score of this repository - hotScore: Int! + hotScore: Float! # Comments posted about this repository comments: [Comment]! # Should this be paginated? From 12cb674cb554a314ab09bf8d525608acd3f154ee Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Thu, 27 Oct 2016 19:41:14 +0200 Subject: [PATCH 060/174] chore(package): update babel-eslint to version 7.1.0 (#70) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1cf3626..451b4c3 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "devDependencies": { "babel-cli": "6.16.0", "babel-core": "6.17.0", - "babel-eslint": "7.0.0", + "babel-eslint": "7.1.0", "babel-loader": "6.2.5", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", From 4a28867cc75b0b21fe71cce55030ce7890af9c1a Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Thu, 27 Oct 2016 19:52:04 +0200 Subject: [PATCH 061/174] chore(package): update babel-loader to version 6.2.6 (#71) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 451b4c3..94be48d 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "babel-cli": "6.16.0", "babel-core": "6.17.0", "babel-eslint": "7.1.0", - "babel-loader": "6.2.5", + "babel-loader": "6.2.6", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", "babel-preset-stage-2": "6.17.0", From 01f91419f16c0eaf93ca74e64f270df8d9195f1b Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Thu, 27 Oct 2016 20:58:17 +0200 Subject: [PATCH 062/174] chore(package): update sqlite3 to version 3.1.8 (#75) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 94be48d..17a74c2 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "passport-github": "1.1.0", "reddit-score": "0.0.1", "request-promise": "4.1.1", - "sqlite3": "3.1.7", + "sqlite3": "3.1.8", "subscriptions-transport-ws": "0.2.6" } } From b1eb9ab7793db3c91ce090e08c7c2727234575ed Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Sat, 29 Oct 2016 02:13:37 +0200 Subject: [PATCH 063/174] chore(package): update eslint to version 3.9.0 (#77) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 17a74c2..3f6befe 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.8.1", + "eslint": "3.9.0", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From d3be1339b17999b78f6df01c249bf89c94dfbd70 Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Sun, 30 Oct 2016 03:29:48 +0100 Subject: [PATCH 064/174] chore(package): update connect-session-knex to version 1.3.0 (#78) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f6befe..56d2da2 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "body-parser": "1.15.2", - "connect-session-knex": "1.2.0", + "connect-session-knex": "1.3.0", "dataloader": "1.2.0", "dotenv": "2.0.0", "express": "4.14.0", From 155e0bb52db7fb29c579324d3a35af32dae0ae6b Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Mon, 31 Oct 2016 19:32:40 +0100 Subject: [PATCH 065/174] chore(package): update express-session to version 1.14.2 (#80) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 56d2da2..747f277 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "dataloader": "1.2.0", "dotenv": "2.0.0", "express": "4.14.0", - "express-session": "1.14.1", + "express-session": "1.14.2", "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.0", From 435da75a2b0e0299a6738775b1af91282d4909a8 Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Mon, 31 Oct 2016 19:34:53 +0100 Subject: [PATCH 066/174] chore(package): update lodash to version 4.16.5 (#81) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 747f277..2df6320 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "graphql-subscriptions": "0.2.0", "graphql-tools": "0.8.0", "knex": "0.12.6", - "lodash": "4.16.4", + "lodash": "4.16.5", "passport": "0.3.2", "passport-github": "1.1.0", "reddit-score": "0.0.1", From f773a481e25ff838058cc20f7dc6eef20d82a1dc Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Mon, 31 Oct 2016 21:37:13 +0100 Subject: [PATCH 067/174] chore(package): update graphql-subscriptions to version 0.2.1 (#79) https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2df6320..e5976ff 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "express-session": "1.14.2", "graphql": "0.7.2", "graphql-server-express": "^0.4.1", - "graphql-subscriptions": "0.2.0", + "graphql-subscriptions": "0.2.1", "graphql-tools": "0.8.0", "knex": "0.12.6", "lodash": "4.16.5", From 0aff110a32df48242c40289a14215bd8f8ef17b5 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 1 Nov 2016 15:53:18 -0700 Subject: [PATCH 068/174] chore(package): update eslint-plugin-react to version 6.5.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e5976ff..3cc128a 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", "eslint-plugin-jsx-a11y": "2.2.3", - "eslint-plugin-react": "6.4.1", + "eslint-plugin-react": "6.5.0", "mocha": "3.1.2", "nodemon": "1.11.0" }, From c9c1cbd6f7154dbafdf26c97a5af19460c8c3f9c Mon Sep 17 00:00:00 2001 From: Dotan Simha Date: Sun, 6 Nov 2016 18:37:26 +0200 Subject: [PATCH 069/174] feat(pagination): Added support for comments pagination --- api/sql/models.js | 7 ++++++- api/sql/schema.js | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/api/sql/models.js b/api/sql/models.js index 363e4b9..4b2bc4c 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -35,10 +35,15 @@ export class Comments { return query.then(([row]) => row); } - getCommentsByRepoName(name) { + getCommentsByRepoName(name, limit, offset) { const query = knex('comments') .where({ repository_name: name }) .orderBy('created_at', 'desc'); + + if (limit !== -1) { + query.limit(limit).offset(offset); + } + return query.then(rows => (rows || [])); } diff --git a/api/sql/schema.js b/api/sql/schema.js index 3dc7ce4..922ac51 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -43,7 +43,7 @@ type Entry { hotScore: Float! # Comments posted about this repository - comments: [Comment]! # Should this be paginated? + comments(limit: Int, offset: Int): [Comment]! # The number of comments posted about this repository commentCount: Int! @@ -65,8 +65,8 @@ export const resolvers = { postedBy({ posted_by }, _, context) { return context.Users.getByLogin(posted_by); }, - comments({ repository_name }, _, context) { - return context.Comments.getCommentsByRepoName(repository_name); + comments({ repository_name}, { limit = -1, offset = 0 }, context) { + return context.Comments.getCommentsByRepoName(repository_name, limit, offset); }, createdAt: property('created_at'), hotScore: property('hot_score'), From 6e6d01db2374e6a415244d26f642e8d16c26c1d7 Mon Sep 17 00:00:00 2001 From: Dotan Simha Date: Mon, 7 Nov 2016 22:09:19 +0200 Subject: [PATCH 070/174] chore(tests): Added missing space to fix lint issues --- api/sql/schema.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/sql/schema.js b/api/sql/schema.js index 922ac51..e0d0328 100644 --- a/api/sql/schema.js +++ b/api/sql/schema.js @@ -65,7 +65,7 @@ export const resolvers = { postedBy({ posted_by }, _, context) { return context.Users.getByLogin(posted_by); }, - comments({ repository_name}, { limit = -1, offset = 0 }, context) { + comments({ repository_name }, { limit = -1, offset = 0 }, context) { return context.Comments.getCommentsByRepoName(repository_name, limit, offset); }, createdAt: property('created_at'), From 9664feb7daf6c6548b1019173ca906fea5d6bddb Mon Sep 17 00:00:00 2001 From: Dominic Watson Date: Sat, 12 Nov 2016 13:52:42 +0100 Subject: [PATCH 071/174] chore(package): update yarn.lock with latest dependencies --- yarn.lock | 785 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 450 insertions(+), 335 deletions(-) diff --git a/yarn.lock b/yarn.lock index fad7c4d..6eae1fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,8 +1,32 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -"@types/node@^6.0.38": - version "6.0.45" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.45.tgz#c4842a9d653d767831e4ff495b6008cc0d579966" +"@types/express-serve-static-core@*": + version "4.0.39" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.39.tgz#45157f96480d46f254648f45b2c6d70bd9fc9f54" + dependencies: + "@types/node" "*" + +"@types/express@^4.0.33": + version "4.0.33" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.33.tgz#9212b6c67e02e09ee9f80740ded04306050739ab" + dependencies: + "@types/express-serve-static-core" "*" + "@types/serve-static" "*" + +"@types/mime@*": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b" + +"@types/node@*", "@types/node@^6.0.38": + version "6.0.46" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.46.tgz#8d9e48572831f05b11cc4c793754d43437219d62" + +"@types/serve-static@*": + version "1.7.31" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.7.31.tgz#15456de8d98d6b4cff31be6c6af7492ae63f521a" + dependencies: + "@types/express-serve-static-core" "*" + "@types/mime" "*" abbrev@1: version "1.0.9" @@ -34,8 +58,8 @@ ajv-keywords@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" ajv@^4.7.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.0.tgz#011df5c4a08edb29574a477269afb15a6f97abe5" + version "4.8.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.2.tgz#65486936ca36fea39a1504332a78bebd5d447bdc" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -59,14 +83,6 @@ anymatch@^1.3.0: arrify "^1.0.0" micromatch "^2.1.5" -apollo-server@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-0.3.2.tgz#d52df93c926b9a1236a06844f462fc3f494f6e1b" - dependencies: - boom "^4.0.0" - http-errors "^1.5.0" - source-map-support "^0.4.2" - aproba@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" @@ -186,7 +202,31 @@ babel-code-frame@^6.16.0: esutils "^2.0.2" js-tokens "^2.0.0" -babel-core@^6.16.0, babel-core@6.17.0: +babel-core@^6.16.0, babel-core@^6.18.0: + version "6.18.2" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.2.tgz#d8bb14dd6986fa4f3566a26ceda3964fa0e04e5b" + dependencies: + babel-code-frame "^6.16.0" + babel-generator "^6.18.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.18.0" + babel-runtime "^6.9.1" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-core@6.17.0: version "6.17.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.17.0.tgz#6c4576447df479e241e58c807e4bc7da4db7f425" dependencies: @@ -212,146 +252,146 @@ babel-core@^6.16.0, babel-core@6.17.0: slash "^1.0.0" source-map "^0.5.0" -babel-eslint@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.0.0.tgz#54e51b4033f54ac81326ecea4c646a779935196d" +babel-eslint@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.0.tgz#d506a5174ba224e25a2d17e128e2ba8987139ddc" dependencies: babel-traverse "^6.15.0" babel-types "^6.15.0" babylon "^6.11.2" lodash.pickby "^4.6.0" -babel-generator@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.17.0.tgz#b894e3808beef7800f2550635bfe024b6226cf33" +babel-generator@^6.17.0, babel-generator@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07" dependencies: babel-messages "^6.8.0" babel-runtime "^6.9.0" - babel-types "^6.16.0" - detect-indent "^3.0.1" + babel-types "^6.18.0" + detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" source-map "^0.5.0" -babel-helper-bindify-decorators@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.8.0.tgz#b34805a30b1433cc0042f7054f88a7133c144909" +babel-helper-bindify-decorators@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" dependencies: babel-runtime "^6.0.0" - babel-traverse "^6.8.0" - babel-types "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.15.0.tgz#39e9ee143f797b642262e4646c681c32089ef1ab" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" dependencies: - babel-helper-explode-assignable-expression "^6.8.0" + babel-helper-explode-assignable-expression "^6.18.0" babel-runtime "^6.0.0" - babel-types "^6.15.0" + babel-types "^6.18.0" babel-helper-builder-react-jsx@^6.8.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.9.0.tgz#a633978d669c4c9dcad716cc577ee3e0bb8ae723" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.18.0.tgz#ab02f19a2eb7ace936dd87fa55896d02be59bf71" dependencies: babel-runtime "^6.9.0" - babel-types "^6.9.0" + babel-types "^6.18.0" esutils "^2.0.0" lodash "^4.2.0" -babel-helper-call-delegate@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.8.0.tgz#9d283e7486779b6b0481864a11b371ea5c01fa64" +babel-helper-call-delegate@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" dependencies: - babel-helper-hoist-variables "^6.8.0" + babel-helper-hoist-variables "^6.18.0" babel-runtime "^6.0.0" - babel-traverse "^6.8.0" - babel-types "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" -babel-helper-define-map@^6.8.0, babel-helper-define-map@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.9.0.tgz#6629f9b2a7e58e18e8379a57d1e6fbb2969902fb" +babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" dependencies: - babel-helper-function-name "^6.8.0" + babel-helper-function-name "^6.18.0" babel-runtime "^6.9.0" - babel-types "^6.9.0" + babel-types "^6.18.0" lodash "^4.2.0" -babel-helper-explode-assignable-expression@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.8.0.tgz#9b3525e05b761c3b88919d730a28bad1967e6556" +babel-helper-explode-assignable-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" dependencies: babel-runtime "^6.0.0" - babel-traverse "^6.8.0" - babel-types "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" babel-helper-explode-class@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.8.0.tgz#196a228cc69ea57308695e4ebd1a36cf3f8eca3d" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" dependencies: - babel-helper-bindify-decorators "^6.8.0" + babel-helper-bindify-decorators "^6.18.0" babel-runtime "^6.0.0" - babel-traverse "^6.8.0" - babel-types "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" -babel-helper-function-name@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.8.0.tgz#a0336ba14526a075cdf502fc52d3fe84b12f7a34" +babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" dependencies: - babel-helper-get-function-arity "^6.8.0" + babel-helper-get-function-arity "^6.18.0" babel-runtime "^6.0.0" babel-template "^6.8.0" - babel-traverse "^6.8.0" - babel-types "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" -babel-helper-get-function-arity@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.8.0.tgz#88276c24bd251cdf6f61b6f89f745f486ced92af" +babel-helper-get-function-arity@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" dependencies: babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-types "^6.18.0" -babel-helper-hoist-variables@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.8.0.tgz#8b0766dc026ea9ea423bc2b34e665a4da7373aaf" +babel-helper-hoist-variables@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" dependencies: babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-types "^6.18.0" -babel-helper-optimise-call-expression@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.8.0.tgz#4175628e9c89fc36174904f27070f29d38567f06" +babel-helper-optimise-call-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" dependencies: babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-types "^6.18.0" babel-helper-regex@^6.8.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.9.0.tgz#c74265fde180ff9a16735fee05e63cadb9e0b057" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" dependencies: babel-runtime "^6.9.0" - babel-types "^6.9.0" + babel-types "^6.18.0" lodash "^4.2.0" babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: - version "6.16.2" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.16.2.tgz#24315bde8326c60022dc053cce84cfe38d724b82" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.18.0.tgz#336cdf3cab650bb191b02fc16a3708e7be7f9ce5" dependencies: - babel-helper-function-name "^6.8.0" + babel-helper-function-name "^6.18.0" babel-runtime "^6.0.0" babel-template "^6.16.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" -babel-helper-replace-supers@^6.14.0, babel-helper-replace-supers@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.16.0.tgz#21c97623cc7e430855753f252740122626a39e6b" +babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" dependencies: - babel-helper-optimise-call-expression "^6.8.0" + babel-helper-optimise-call-expression "^6.18.0" babel-messages "^6.8.0" babel-runtime "^6.0.0" babel-template "^6.16.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" babel-helpers@^6.16.0: version "6.16.0" @@ -360,10 +400,11 @@ babel-helpers@^6.16.0: babel-runtime "^6.0.0" babel-template "^6.16.0" -babel-loader@6.2.5: - version "6.2.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.5.tgz#576d548520689a5e6b70c65b85d76af1ffedd005" +babel-loader@6.2.6: + version "6.2.6" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.6.tgz#4b405436a0df41945e8ebb25eaaec5f29e9850f3" dependencies: + find-cache-dir "^0.1.1" loader-utils "^0.2.11" mkdirp "^0.5.1" object-assign "^4.0.1" @@ -400,13 +441,13 @@ babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" -babel-plugin-syntax-flow@^6.3.13, babel-plugin-syntax-flow@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.13.0.tgz#9af0cd396087bf7677053e1afa52f206c0416f17" +babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.3.13: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.13.0.tgz#e741ff3992c578310be45c571bcd90a2f9c5586e" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" @@ -433,10 +474,10 @@ babel-plugin-transform-async-to-generator@^6.16.0: babel-runtime "^6.0.0" babel-plugin-transform-class-properties@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.16.0.tgz#969bca24d34e401d214f36b8af5c1346859bc904" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.18.0.tgz#bc1266a39d4c8726e0bd7b15c56235177e6ede57" dependencies: - babel-helper-function-name "^6.8.0" + babel-helper-function-name "^6.18.0" babel-plugin-syntax-class-properties "^6.8.0" babel-runtime "^6.9.1" @@ -464,28 +505,28 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: babel-runtime "^6.0.0" babel-plugin-transform-es2015-block-scoping@^6.14.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.15.0.tgz#5b443ca142be8d1db6a8c2ae42f51958b66b70f6" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz#3bfdcfec318d46df22525cdea88f1978813653af" dependencies: babel-runtime "^6.9.0" babel-template "^6.15.0" - babel-traverse "^6.15.0" - babel-types "^6.15.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" lodash "^4.2.0" babel-plugin-transform-es2015-classes@^6.14.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.14.0.tgz#87d5149ee91fb475922409f9af5b2ba5d1e39287" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" dependencies: - babel-helper-define-map "^6.9.0" - babel-helper-function-name "^6.8.0" - babel-helper-optimise-call-expression "^6.8.0" - babel-helper-replace-supers "^6.14.0" + babel-helper-define-map "^6.18.0" + babel-helper-function-name "^6.18.0" + babel-helper-optimise-call-expression "^6.18.0" + babel-helper-replace-supers "^6.18.0" babel-messages "^6.8.0" babel-runtime "^6.9.0" babel-template "^6.14.0" - babel-traverse "^6.14.0" - babel-types "^6.14.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" babel-plugin-transform-es2015-computed-properties@^6.3.13: version "6.8.0" @@ -496,8 +537,8 @@ babel-plugin-transform-es2015-computed-properties@^6.3.13: babel-template "^6.8.0" babel-plugin-transform-es2015-destructuring@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.16.0.tgz#050fe0866f5d53b36062ee10cdf5bfe64f929627" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz#a08fb89415ab82058649558bedb7bf8dafa76ba5" dependencies: babel-runtime "^6.9.0" @@ -509,8 +550,8 @@ babel-plugin-transform-es2015-duplicate-keys@^6.6.0: babel-types "^6.8.0" babel-plugin-transform-es2015-for-of@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.8.0.tgz#82eda139ba4270dda135c3ec1b1f2813fa62f23c" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" dependencies: babel-runtime "^6.0.0" @@ -528,36 +569,36 @@ babel-plugin-transform-es2015-literals@^6.3.13: dependencies: babel-runtime "^6.0.0" -babel-plugin-transform-es2015-modules-amd@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.8.0.tgz#25d954aa0bf04031fc46d2a8e6230bb1abbde4a3" +babel-plugin-transform-es2015-modules-amd@^6.18.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.8.0" + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" babel-runtime "^6.0.0" babel-template "^6.8.0" -babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.16.0.tgz#0a34b447bc88ad1a70988b6d199cca6d0b96c892" +babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" dependencies: - babel-plugin-transform-strict-mode "^6.8.0" + babel-plugin-transform-strict-mode "^6.18.0" babel-runtime "^6.0.0" babel-template "^6.16.0" - babel-types "^6.16.0" + babel-types "^6.18.0" babel-plugin-transform-es2015-modules-systemjs@^6.14.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.14.0.tgz#c519b5c73e32388e679c9b1edf41b2fc23dc3303" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz#f09294707163edae4d3b3e8bfacecd01d920b7ad" dependencies: - babel-helper-hoist-variables "^6.8.0" + babel-helper-hoist-variables "^6.18.0" babel-runtime "^6.11.6" babel-template "^6.14.0" babel-plugin-transform-es2015-modules-umd@^6.12.0: - version "6.12.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.12.0.tgz#5d73559eb49266775ed281c40be88a421bd371a3" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" dependencies: - babel-plugin-transform-es2015-modules-amd "^6.8.0" + babel-plugin-transform-es2015-modules-amd "^6.18.0" babel-runtime "^6.0.0" babel-template "^6.8.0" @@ -569,22 +610,22 @@ babel-plugin-transform-es2015-object-super@^6.3.13: babel-runtime "^6.0.0" babel-plugin-transform-es2015-parameters@^6.16.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.17.0.tgz#e06d30cef897f46adb4734707bbe128a0d427d58" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1" dependencies: - babel-helper-call-delegate "^6.8.0" - babel-helper-get-function-arity "^6.8.0" + babel-helper-call-delegate "^6.18.0" + babel-helper-get-function-arity "^6.18.0" babel-runtime "^6.9.0" babel-template "^6.16.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" babel-plugin-transform-es2015-shorthand-properties@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.8.0.tgz#f0a4c5fd471630acf333c2d99c3d677bf0952149" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" dependencies: babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-types "^6.18.0" babel-plugin-transform-es2015-spread@^6.3.13: version "6.8.0" @@ -607,8 +648,8 @@ babel-plugin-transform-es2015-template-literals@^6.6.0: babel-runtime "^6.0.0" babel-plugin-transform-es2015-typeof-symbol@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.8.0.tgz#84c29eb1219372480955a020fef7a65c44f30533" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" dependencies: babel-runtime "^6.0.0" @@ -629,10 +670,10 @@ babel-plugin-transform-exponentiation-operator@^6.3.13: babel-runtime "^6.0.0" babel-plugin-transform-flow-strip-types@^6.3.13: - version "6.14.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.14.0.tgz#35ceb03f8770934044bab1a76f7e4ee0aa9220f9" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.18.0.tgz#4d3e642158661e9b40db457c004a30817fa32592" dependencies: - babel-plugin-syntax-flow "^6.8.0" + babel-plugin-syntax-flow "^6.18.0" babel-runtime "^6.0.0" babel-plugin-transform-object-rest-spread@^6.16.0: @@ -678,12 +719,12 @@ babel-plugin-transform-regenerator@^6.16.0: babel-types "^6.16.0" private "~0.1.5" -babel-plugin-transform-strict-mode@^6.8.0: - version "6.11.3" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.11.3.tgz#183741325126bc7ec9cf4c0fc257d3e7ca5afd40" +babel-plugin-transform-strict-mode@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" dependencies: babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-types "^6.18.0" babel-polyfill@^6.16.0: version "6.16.0" @@ -752,7 +793,19 @@ babel-preset-stage-3@^6.17.0: babel-plugin-transform-exponentiation-operator "^6.3.13" babel-plugin-transform-object-rest-spread "^6.16.0" -babel-register@^6.16.0, babel-register@6.16.3: +babel-register@^6.16.0, babel-register@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" + dependencies: + babel-core "^6.18.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-register@6.16.3: version "6.16.3" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.16.3.tgz#7b0c0ca7bfdeb9188ba4c27e5fcb7599a497c624" dependencies: @@ -766,8 +819,8 @@ babel-register@^6.16.0, babel-register@6.16.3: source-map-support "^0.4.2" babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: - version "6.11.6" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222" + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" dependencies: core-js "^2.4.0" regenerator-runtime "^0.9.5" @@ -782,23 +835,23 @@ babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-te babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.14.0, babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.16.0.tgz#fba85ae1fd4d107de9ce003149cc57f53bef0c4f" +babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e" dependencies: babel-code-frame "^6.16.0" babel-messages "^6.8.0" babel-runtime "^6.9.0" - babel-types "^6.16.0" + babel-types "^6.18.0" babylon "^6.11.0" debug "^2.2.0" - globals "^8.3.0" + globals "^9.0.0" invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.13.0, babel-types@^6.14.0, babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.8.0, babel-types@^6.9.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.16.0.tgz#71cca1dbe5337766225c5c193071e8ebcbcffcfe" +babel-types@^6.13.0, babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.8.0, babel-types@^6.9.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8" dependencies: babel-runtime "^6.9.1" esutils "^2.0.2" @@ -806,8 +859,8 @@ babel-types@^6.13.0, babel-types@^6.14.0, babel-types@^6.15.0, babel-types@^6.16 to-fast-properties "^1.0.1" babylon@^6.11.0, babylon@^6.11.2: - version "6.12.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.12.0.tgz#953e6202e58062f7f5041fc8037e4bd4e17140a9" + version "6.13.1" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" backo2@^1.0.2: version "1.0.2" @@ -817,9 +870,9 @@ balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" -base64-url@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.2.tgz#4b08113b49d23889f306be64372762d31412f7a8" +base64-url@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f" bcrypt-pbkdf@^1.0.0: version "1.0.0" @@ -850,12 +903,6 @@ binary-extensions@^1.0.0: version "1.7.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" -bl@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" - dependencies: - readable-stream "~2.0.5" - block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -881,12 +928,6 @@ body-parser@1.15.2: raw-body "~2.1.7" type-is "~1.6.13" -boom@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.2.0.tgz#c1a74174b11fbba223f6162d4fd8851a1b82a536" - dependencies: - hoek "4.x.x" - boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" @@ -1011,10 +1052,8 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" code-point-at@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" @@ -1028,6 +1067,10 @@ commander@^2.2.0, commander@^2.8.1, commander@^2.9.0, commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1053,9 +1096,9 @@ configstore@^1.0.0: write-file-atomic "^1.1.2" xdg-basedir "^2.0.0" -connect-session-knex@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/connect-session-knex/-/connect-session-knex-1.2.0.tgz#c71b14361b3fe33ff6d1b4ab383d1dd5aa64848f" +connect-session-knex@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/connect-session-knex/-/connect-session-knex-1.3.0.tgz#ca5d142d6bfcb2736a2a38b86da850010dd98647" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -1093,9 +1136,9 @@ 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" -crc@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.0.tgz#4258e351613a74ef1153dfcb05e820c3e9715d7f" +crc@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.1.tgz#65d5830b1a2569557cfb324c0e679998521473ee" cryptiles@2.x.x: version "2.0.5" @@ -1129,7 +1172,13 @@ dataloader@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.2.0.tgz#3f73ea657c492c860c1633348adc55ca9bf2107e" -debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@~2.2.0, debug@2.2.0: +debug@^2.1.1, debug@^2.1.3, debug@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.2.tgz#94cb466ef7d6d2c7e5245cdd6e4104f2d0d70d30" + dependencies: + ms "0.7.2" + +debug@~2.2.0, debug@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -1191,13 +1240,11 @@ detect-file@^0.1.0: dependencies: fs-exists-sync "^0.1.0" -detect-indent@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-3.0.1.tgz#9dc5e5ddbceef8325764b9451b02bc6d54084f75" +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" dependencies: - get-stdin "^4.0.1" - minimist "^1.1.0" - repeating "^1.1.0" + repeating "^2.0.0" diff@1.4.0: version "1.4.0" @@ -1226,8 +1273,8 @@ duplexer@~0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" duplexify@^3.2.0: - version "3.4.5" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.4.5.tgz#0e7e287a775af753bf57e6e7b7f21f183f6c3a53" + version "3.5.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604" dependencies: end-of-stream "1.0.0" inherits "^2.0.1" @@ -1388,17 +1435,18 @@ eslint-plugin-jsx-a11y@2.2.3: jsx-ast-utils "^1.0.0" object-assign "^4.0.1" -eslint-plugin-react@6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b" +eslint-plugin-react@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.5.0.tgz#93f894b6469974304609e59c8983a6a3dc81738c" dependencies: doctrine "^1.2.2" - jsx-ast-utils "^1.3.1" + jsx-ast-utils "^1.3.3" -eslint@3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.8.0.tgz#4fbbf6833d66654860c23a099c47a0f086de34b7" +eslint@3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.9.0.tgz#68c8fa86b1e0a3f038040f3b5808b7508c128f8e" dependencies: + babel-code-frame "^6.16.0" chalk "^1.1.3" concat-stream "^1.4.6" debug "^2.1.1" @@ -1426,7 +1474,7 @@ eslint@3.8.0: pluralize "^1.2.1" progress "^1.1.8" require-uncached "^1.0.2" - shelljs "^0.6.0" + shelljs "^0.7.5" strip-bom "^3.0.0" strip-json-comments "~1.0.1" table "^3.7.8" @@ -1508,18 +1556,18 @@ expand-tilde@^1.2.2: dependencies: os-homedir "^1.0.1" -express-session@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.14.1.tgz#600364f0f6bf5dce32649e006770bdeee80aec99" +express-session@1.14.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.14.2.tgz#6bcf586ed6d1dc37b02570087756c9de7b80b275" dependencies: cookie "0.3.1" cookie-signature "1.0.6" - crc "3.4.0" + crc "3.4.1" debug "~2.2.0" depd "~1.1.0" on-headers "~1.0.1" parseurl "~1.3.1" - uid-safe "~2.1.2" + uid-safe "~2.1.3" utils-merge "1.0.0" express@4.14.0: @@ -1609,6 +1657,14 @@ finalhandler@0.5.0: statuses "~1.3.0" unpipe "~1.0.0" +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1651,7 +1707,7 @@ for-in@^0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" -for-own@^0.1.3: +for-own@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" dependencies: @@ -1661,13 +1717,13 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -form-data@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" - mime-types "^2.1.11" + mime-types "^2.1.12" forwarded@~0.1.0: version "0.1.0" @@ -1694,8 +1750,8 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.0.14" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" + version "1.0.15" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" @@ -1746,8 +1802,8 @@ generate-object-property@^1.1.0: is-property "^1.0.0" generic-pool@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz#780c36f69dfad05a5a045dd37be7adca11a4f6ff" + version "2.4.4" + resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.4.tgz#49d90c5e8d138adef0a12780a86e4acba48892d2" get-stdin@^4.0.1: version "4.0.1" @@ -1782,7 +1838,7 @@ glob@^5.0.5: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.0.5: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -1820,13 +1876,9 @@ global-prefix@^0.1.4: osenv "^0.1.3" which "^1.2.10" -globals@^8.3.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-8.18.0.tgz#93d4a62bdcac38cfafafc47d6b034768cb0ffcb4" - -globals@^9.2.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" +globals@^9.0.0, globals@^9.2.0: + version "9.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.13.0.tgz#d97706b61600d8dbe94708c367d3fdcf48470b8f" globby@^5.0.0: version "5.0.0" @@ -1855,13 +1907,32 @@ got@^3.2.0: timed-out "^2.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.4: - version "4.1.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" + version "4.1.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" +graphql-server-core@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/graphql-server-core/-/graphql-server-core-0.4.3.tgz#3198832ce8703388713f012da023b33a3823be98" + optionalDependencies: + typed-graphql "^1.0.2" + +graphql-server-express@^0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/graphql-server-express/-/graphql-server-express-0.4.3.tgz#198674e6db4949c060b9959554d3dc4e9cc4ed9b" + dependencies: + graphql-server-core "^0.4.3" + graphql-server-module-graphiql "^0.4.3" + optionalDependencies: + "@types/express" "^4.0.33" + +graphql-server-module-graphiql@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/graphql-server-module-graphiql/-/graphql-server-module-graphiql-0.4.3.tgz#f82b92b99bb1e1b4b285c86bf6fcfa60b3a7a805" + graphql-subscriptions@^0.1.3: version "0.1.5" resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.1.5.tgz#603422c0a7ea3818b630751d1c9798bfa1a820ee" @@ -1869,21 +1940,22 @@ graphql-subscriptions@^0.1.3: es6-promise "^3.2.1" graphql "^0.7.0" -graphql-subscriptions@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.2.0.tgz#9aebf19283f797354615b263090e15246a4c6c8d" +graphql-subscriptions@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.2.1.tgz#9c46fdee043b2a51b7aaa61f8645c25410d806e4" dependencies: es6-promise "^3.2.1" graphql "^0.7.0" -graphql-tools@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-0.7.2.tgz#bbd8ea2ac9cef292b89913bd0994e85d26571a2e" +graphql-tools@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-0.8.0.tgz#5708257a398f9a3ff6f9d6e362aac184cd4323a0" dependencies: deprecated-decorator "^0.1.6" lodash "^4.3.0" node-uuid "^1.4.7" - typed-graphql "git://github.com/DxCx/typed-graphql.git#resolve-funcs-fix" + optionalDependencies: + typed-graphql "^1.0.2" graphql@^0.7.0, graphql@0.7.2: version "0.7.2" @@ -1941,10 +2013,6 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoek@4.x.x: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.1.0.tgz#4a4557460f69842ed463aa00628cc26d2683afa7" - home-or-tmp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-1.0.0.tgz#4b9f1e40800c3e50c6c27f781676afcce71f3985" @@ -1952,11 +2020,18 @@ home-or-tmp@^1.0.0: os-tmpdir "^1.0.1" user-home "^1.1.1" +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + 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" -http-errors@^1.5.0, http-errors@~1.5.0: +http-errors@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.0.tgz#b1cb3d8260fd8e2386cad3189045943372d48211" dependencies: @@ -2039,6 +2114,10 @@ interpret@^0.6.5: version "0.6.6" resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + invariant@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" @@ -2099,6 +2178,10 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -2210,17 +2293,13 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" -js-tokens@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.3.tgz#14e56eb68c8f1a92c43d59f5014ec29dc20f2ae1" - js-tokens@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" js-yaml@^3.5.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: argparse "^1.0.7" esprima "^2.6.0" @@ -2279,9 +2358,9 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.2.tgz#dff658782705352111f9865d40471bc4a955961e" +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.3.tgz#ccfdbe0320ba03f7a1fc4e67ceaf7e2cc0169721" dependencies: acorn-jsx "^3.0.1" object-assign "^4.1.0" @@ -2292,9 +2371,9 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.0.2" -knex@0.12.3: - version "0.12.3" - resolved "https://registry.yarnpkg.com/knex/-/knex-0.12.3.tgz#d563a0670668e0f679fd66f5ebfc12960fb13a6e" +knex@0.12.6: + version "0.12.6" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.12.6.tgz#a255f0ea03af2c2c94687a622c08acc1a9463c0e" dependencies: babel-runtime "^6.11.6" bluebird "^3.4.6" @@ -2462,9 +2541,13 @@ lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0, lodash@4.16.4: - version "4.16.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0: + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" + +lodash@4.16.5: + version "4.16.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8" log-symbols@^1.0.2: version "1.0.2" @@ -2473,10 +2556,10 @@ log-symbols@^1.0.2: chalk "^1.0.0" loose-envify@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.2.0.tgz#69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f" + version "1.3.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" dependencies: - js-tokens "^1.0.1" + js-tokens "^2.0.0" loud-rejection@^1.0.0: version "1.6.0" @@ -2546,7 +2629,7 @@ mime-db@~1.24.0: version "1.24.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" -mime-types@^2.1.11, mime-types@~2.1.11, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: version "2.1.12" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" dependencies: @@ -2574,7 +2657,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.1, mkdirp@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -2600,18 +2683,18 @@ ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" -nan@^2.3.0, nan@^2.3.3: +nan@^2.3.0, nan@^2.3.3, nan@~2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" -nan@~2.3.3: - version "2.3.5" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.3.5.tgz#822a0dc266290ce4cd3a12282ca3e7e364668a08" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -2626,19 +2709,19 @@ nested-error-stacks@^1.0.0: dependencies: inherits "~2.0.1" -node-pre-gyp@^0.6.29, node-pre-gyp@~0.6.28: - version "0.6.30" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.30.tgz#64d3073a6f573003717ccfe30c89023297babba1" +node-pre-gyp@^0.6.29, node-pre-gyp@~0.6.31: + version "0.6.31" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.31.tgz#d8a00ddaa301a940615dbcc8caad4024d58f6017" dependencies: - mkdirp "~0.5.0" - nopt "~3.0.1" - npmlog "4.x" - rc "~1.1.0" - request "2.x" - rimraf "~2.5.0" + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.0" + rc "~1.1.6" + request "^2.75.0" + rimraf "~2.5.4" semver "~5.3.0" - tar "~2.2.0" - tar-pack "~3.1.0" + tar "~2.2.1" + tar-pack "~3.3.0" node-static@0.5.9: version "0.5.9" @@ -2669,7 +2752,7 @@ nopt@~1.0.10: dependencies: abbrev "1" -nopt@~3.0.1: +nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: @@ -2688,7 +2771,7 @@ normalize-path@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" -npmlog@4.x: +npmlog@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" dependencies: @@ -2718,10 +2801,10 @@ object-assign@^4.0.1, object-assign@^4.1.0: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" object.omit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.0.tgz#868597333d54e60662940bb458605dd6ae12fe94" + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" dependencies: - for-own "^0.1.3" + for-own "^0.1.4" is-extendable "^0.1.1" on-finished@~2.3.0: @@ -2946,9 +3029,13 @@ ps-tree@^1.0.1: dependencies: event-stream "~3.3.0" -qs@~6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" qs@6.2.0: version "6.2.0" @@ -2977,7 +3064,7 @@ raw-body@~2.1.7: iconv-lite "0.4.13" unpipe "1.0.0" -rc@^1.0.1, rc@~1.1.0: +rc@^1.0.1, rc@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" dependencies: @@ -3017,9 +3104,9 @@ readable-stream@^1.1.12: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.1.tgz#c459a6687ad6195f936b959870776edef27a7655" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -3029,7 +3116,7 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2. string_decoder "~0.10.x" util-deprecate "~1.0.1" -readable-stream@~2.0.0, readable-stream@~2.0.5: +readable-stream@~2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" dependencies: @@ -3040,6 +3127,18 @@ readable-stream@~2.0.0, readable-stream@~2.0.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + 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" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -3063,6 +3162,10 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" +reddit-score@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/reddit-score/-/reddit-score-0.0.1.tgz#88feb8c0e71c6b652c2cbcf8feb9f9053b64cd68" + redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -3071,12 +3174,12 @@ redent@^1.0.0: strip-indent "^1.0.1" regenerate@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33" + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" regenerator-runtime@^0.9.5: - version "0.9.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz#403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc" + version "0.9.6" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" regex-cache@^0.4.2: version "0.4.3" @@ -3114,10 +3217,10 @@ repeat-element@^1.1.2: resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" repeat-string@^1.5.2: - version "1.5.4" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.5.4.tgz#64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5" + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" -repeating@^1.1.0, repeating@^1.1.2: +repeating@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac" dependencies: @@ -3143,18 +3246,17 @@ request-promise@4.1.1: request-promise-core "1.1.1" stealthy-require "^1.0.0" -request@^2.65.0, request@2.x: - version "2.75.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" +request@^2.65.0, request@^2.75.0: + version "2.78.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" - bl "~1.1.2" caseless "~0.11.0" combined-stream "~1.0.5" extend "~3.0.0" forever-agent "~0.6.1" - form-data "~2.0.0" + form-data "~2.1.1" har-validator "~2.0.6" hawk "~3.1.3" http-signature "~1.1.0" @@ -3164,14 +3266,14 @@ request@^2.65.0, request@2.x: mime-types "~2.1.7" node-uuid "~1.4.7" oauth-sign "~0.8.1" - qs "~6.2.0" + qs "~6.3.0" stringstream "~0.0.4" tough-cookie "~2.3.0" tunnel-agent "~0.4.1" require-uncached@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec" + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: caller-path "^0.1.0" resolve-from "^1.0.0" @@ -3198,7 +3300,7 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -rimraf@^2.2.8, rimraf@~2.5.0, rimraf@~2.5.1, rimraf@2: +rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -3281,9 +3383,13 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" +shelljs@^0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.5.tgz#2eef7a50a21e1ccf37da00df767ec69e30ad0675" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" signal-exit@^3.0.0: version "3.0.1" @@ -3308,8 +3414,8 @@ sntp@1.x.x: hoek "2.x.x" source-map-support@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.4.tgz#0df5765a05a560c91bc8f8641cf79f2affc0322e" + version "0.4.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" dependencies: source-map "^0.5.3" @@ -3341,12 +3447,12 @@ sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" -sqlite3@3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-3.1.6.tgz#fc65af46fcb63aee7b36035c9e6d5cfe9ee1fab1" +sqlite3@3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-3.1.8.tgz#4cbcf965d8b901d1b1015cbc7fc415aae157dfaa" dependencies: - nan "~2.3.3" - node-pre-gyp "~0.6.28" + nan "~2.4.0" + node-pre-gyp "~0.6.31" sshpk@^1.7.0: version "1.10.1" @@ -3364,8 +3470,8 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" "statuses@>= 1.3.0 < 2", statuses@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" stealthy-require@^1.0.0: version "1.0.0" @@ -3399,6 +3505,13 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -3453,19 +3566,19 @@ supports-color@3.1.2: has-flag "^1.0.0" table@^3.7.8: - version "3.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.0.tgz#252166c7f3286684a9d561b0f3a8929caf3a997b" + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" chalk "^1.1.1" lodash "^4.0.0" slice-ansi "0.0.4" - string-width "^1.0.1" + string-width "^2.0.0" -tar-pack@~3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.1.4.tgz#bc8cf9a22f5832739f12f3910dac1eb97b49708c" +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" dependencies: debug "~2.2.0" fstream "~1.0.10" @@ -3476,7 +3589,7 @@ tar-pack@~3.1.0: tar "~2.2.1" uid-number "~0.0.6" -tar@~2.2.0, tar@~2.2.1: +tar@~2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -3513,16 +3626,18 @@ touch@1.0.0: nopt "~1.0.10" tough-cookie@~2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.1.tgz#99c77dfbb7d804249e8a299d4cb0fd81fef083fd" + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" tryit@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.2.tgz#c196b0073e6b1c595d93c9c830855b7acc32a453" + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" tunnel-agent@~0.4.1: version "0.4.3" @@ -3553,9 +3668,9 @@ type-is@~1.6.13: media-typer "0.3.0" mime-types "~2.1.11" -"typed-graphql@git://github.com/DxCx/typed-graphql.git#resolve-funcs-fix": - version "1.0.1" - resolved "git://github.com/DxCx/typed-graphql.git#f01469278aee81cecc4750510ccbd0a7547e6c94" +typed-graphql@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-graphql/-/typed-graphql-1.0.2.tgz#4c0f788775d552df4d4ec3d73f25469252f40fb8" typedarray-to-buffer@^3.1.2: version "3.1.2" @@ -3571,11 +3686,11 @@ uid-number@~0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -uid-safe@~2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.2.tgz#c934b3caead0fdcd0fb2cff3a8876d06fe0ee0fd" +uid-safe@~2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.3.tgz#077e264a00b3187936b270bb7376a26473631071" dependencies: - base64-url "1.3.2" + base64-url "1.3.3" random-bytes "~1.0.0" uid2@0.0.x: @@ -3657,8 +3772,8 @@ websocket@^1.0.23: yaeti "^0.0.4" which@^1.2.10: - version "1.2.11" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" dependencies: isexe "^1.1.1" From 379197e83ad6736145f89bb71c3cf8cf85fd1612 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 14 Nov 2016 21:05:36 +0100 Subject: [PATCH 072/174] chore(package): update eslint to version 3.10.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3cc128a..6149b5c 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.9.0", + "eslint": "3.10.1", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From 4bb2a4ba725e8ec84ca5bc4a0b4db4da4d23bef7 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 18 Nov 2016 00:22:26 +0100 Subject: [PATCH 073/174] chore(package): update babel-eslint to version 7.1.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3cc128a..4495ecb 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "devDependencies": { "babel-cli": "6.16.0", "babel-core": "6.17.0", - "babel-eslint": "7.1.0", + "babel-eslint": "7.1.1", "babel-loader": "6.2.6", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", From 1aa54cffeba6f1bb1d7772ee70d44ea08532a39a Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 07:08:24 +0800 Subject: [PATCH 074/174] chore(package): update eslint to version 3.12.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 69c06c9..99f8575 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.10.1", + "eslint": "3.12.1", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From 58af8cb07a1d14d719766ad704d5dd8756c7bf9b Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 09:38:34 +0800 Subject: [PATCH 075/174] chore(package): update babel-loader to version 6.2.9 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 99f8575..d65a8a7 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "babel-cli": "6.16.0", "babel-core": "6.17.0", "babel-eslint": "7.1.1", - "babel-loader": "6.2.6", + "babel-loader": "6.2.9", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", "babel-preset-stage-2": "6.17.0", From 0c9b3f8a1b304f0c0abc01253b5ad4d9d14e20bb Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 09:38:34 +0800 Subject: [PATCH 076/174] chore(package): update babel-core to version 6.20.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 99f8575..e96d1a6 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { "babel-cli": "6.16.0", - "babel-core": "6.17.0", + "babel-core": "6.20.0", "babel-eslint": "7.1.1", "babel-loader": "6.2.6", "babel-preset-es2015": "6.16.0", From 09a7c90fe04258b77c0f5e1d7e8305e9d82c1e9c Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 09:38:34 +0800 Subject: [PATCH 077/174] chore(package): update mocha to version 3.2.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 99f8575..5de75bf 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "eslint-plugin-import": "1.16.0", "eslint-plugin-jsx-a11y": "2.2.3", "eslint-plugin-react": "6.5.0", - "mocha": "3.1.2", + "mocha": "3.2.0", "nodemon": "1.11.0" }, "dependencies": { From baf0bf56422c3b5173d1a4b057bc038c717bc470 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 09:38:35 +0800 Subject: [PATCH 078/174] chore(package): update graphql-subscriptions to version 0.2.2 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 99f8575..9e8d650 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "express-session": "1.14.2", "graphql": "0.7.2", "graphql-server-express": "^0.4.1", - "graphql-subscriptions": "0.2.1", + "graphql-subscriptions": "0.2.2", "graphql-tools": "0.8.0", "knex": "0.12.6", "lodash": "4.16.5", From 232a3552c0b1209d49050197c6928f01ef3e9760 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 17:03:46 +0800 Subject: [PATCH 079/174] chore(package): update graphql-tools to version 0.8.4 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6df468f..ec4aec4 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.2", - "graphql-tools": "0.8.0", + "graphql-tools": "0.8.4", "knex": "0.12.6", "lodash": "4.16.5", "passport": "0.3.2", From 9f84cd03c02e5468602b93b766fc1e0392a21ff7 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 13 Dec 2016 17:04:00 +0800 Subject: [PATCH 080/174] chore(package): update eslint-plugin-react to version 6.8.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6df468f..80426f4 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", "eslint-plugin-jsx-a11y": "2.2.3", - "eslint-plugin-react": "6.5.0", + "eslint-plugin-react": "6.8.0", "mocha": "3.2.0", "nodemon": "1.11.0" }, From 32d295db57c21dc5717e885394a50d433a89d179 Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Tue, 13 Dec 2016 17:30:07 +0800 Subject: [PATCH 081/174] Fix 117 --- api/githubLogin.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/githubLogin.js b/api/githubLogin.js index 3127fed..d598533 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -26,8 +26,6 @@ export function setUpGitHubLogin(app) { app.use(passport.initialize()); app.use(passport.session()); - app.use(express.static('dist')); - app.get('/login/github', passport.authenticate('github')); From 8d431226860a0cb670731622d22b92d23dcbea63 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sat, 17 Dec 2016 06:32:35 +0800 Subject: [PATCH 082/174] chore(package): update babel-core to version 6.21.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34370b0..b3a518d 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { "babel-cli": "6.16.0", - "babel-core": "6.20.0", + "babel-core": "6.21.0", "babel-eslint": "7.1.1", "babel-loader": "6.2.9", "babel-preset-es2015": "6.16.0", From 6ba06bdf93ecd84a367730fb2eb36e926d01fd66 Mon Sep 17 00:00:00 2001 From: Arun Kumar T K Date: Sat, 17 Dec 2016 14:52:27 +0530 Subject: [PATCH 083/174] added polymer-githunt --- api/index.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/index.html b/api/index.html index 18c52fb..ae0260b 100644 --- a/api/index.html +++ b/api/index.html @@ -23,6 +23,11 @@

GitHunt API server

apollostack/GitHunt-Angular2 to run an Angular2-based UI for this app. +
  • + Download + aruntk/GitHunt-Polymer + to run an Polymer-based UI for this app. +
  • Have any improvements in mind? File an issue or a PR about this app at From 3a1a5ad65980c8e5bc78a694dd4d005a9669afdb Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sun, 1 Jan 2017 07:02:17 +0800 Subject: [PATCH 084/174] chore(package): update lodash to version 4.17.4 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34370b0..8d9ecc4 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "graphql-subscriptions": "0.2.2", "graphql-tools": "0.8.4", "knex": "0.12.6", - "lodash": "4.16.5", + "lodash": "4.17.4", "passport": "0.3.2", "passport-github": "1.1.0", "reddit-score": "0.0.1", From 67abce3ecb40b97713fdc4b6cdff6d6bf79742a3 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 5 Jan 2017 10:32:03 +0800 Subject: [PATCH 085/174] chore(package): update graphql-tools to version 0.9.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34370b0..7487208 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.2", - "graphql-tools": "0.8.4", + "graphql-tools": "0.9.0", "knex": "0.12.6", "lodash": "4.16.5", "passport": "0.3.2", From 05e932cc6cd287403821348edd06754bd56ac173 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 5 Jan 2017 14:44:09 -0800 Subject: [PATCH 086/174] added the ability to handle persisted queries --- api/index.js | 12 ++++++++++++ extracted_queries.json | 1 + package.json | 1 + 3 files changed, 14 insertions(+) create mode 100644 extracted_queries.json diff --git a/api/index.js b/api/index.js index e736cfc..5179890 100644 --- a/api/index.js +++ b/api/index.js @@ -3,6 +3,8 @@ import express from 'express'; import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import bodyParser from 'body-parser'; +import { getMiddlewareForQueryMap } from 'extractgql/lib/server'; + import { GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, @@ -19,6 +21,9 @@ import { subscriptionManager } from './subscriptions'; import schema from './schema'; +import queryMap from '../extracted_queries.json'; +import config from './config'; + let PORT = 3010; if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10) + 100; @@ -33,6 +38,13 @@ app.use(bodyParser.json()); setUpGitHubLogin(app); +if (config.persistedQueries) { + app.use( + '/graphql', + getMiddlewareForQueryMap(queryMap) + ); +} + app.use('/graphql', graphqlExpress((req) => { // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 diff --git a/extracted_queries.json b/extracted_queries.json new file mode 100644 index 0000000..044d6ff --- /dev/null +++ b/extracted_queries.json @@ -0,0 +1 @@ +{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Comment","loc":{"start":47,"end":54}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":56,"end":64}},"loc":{"start":55,"end":64}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":66,"end":72}},"loc":{"start":66,"end":72}},"loc":{"start":66,"end":73}},"defaultValue":null,"loc":{"start":55,"end":73}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":79,"end":90}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":97,"end":102}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":97,"end":102}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":107,"end":115}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":107,"end":115}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":91,"end":119}},"loc":{"start":79,"end":119}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"entry","loc":{"start":122,"end":127}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":128,"end":140}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":143,"end":151}},"loc":{"start":142,"end":151}},"loc":{"start":128,"end":151}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":159,"end":161}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":159,"end":161}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":166,"end":174}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":183,"end":188}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":183,"end":188}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":195,"end":203}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":195,"end":203}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":175,"end":209}},"loc":{"start":166,"end":209}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":214,"end":223}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":214,"end":223}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"comments","loc":{"start":228,"end":236}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":248,"end":267}},"directives":[],"loc":{"start":245,"end":267}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":237,"end":273}},"loc":{"start":228,"end":273}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":278,"end":288}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":297,"end":306}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":297,"end":306}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":313,"end":321}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":313,"end":321}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":328,"end":339}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":328,"end":339}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":346,"end":363}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":346,"end":363}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":370,"end":386}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":370,"end":386}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":289,"end":392}},"loc":{"start":278,"end":392}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":153,"end":396}},"loc":{"start":122,"end":396}}],"loc":{"start":75,"end":398}},"loc":{"start":41,"end":398}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":409,"end":428}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":432,"end":439}},"loc":{"start":432,"end":439}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":444,"end":446}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":444,"end":446}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":449,"end":457}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":464,"end":469}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":464,"end":469}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":474,"end":482}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":474,"end":482}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":458,"end":486}},"loc":{"start":449,"end":486}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":489,"end":498}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":489,"end":498}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":501,"end":508}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":501,"end":508}}],"loc":{"start":440,"end":510}},"loc":{"start":400,"end":510}}]},"id":1},"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"onCommentAdded","loc":{"start":13,"end":27}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":29,"end":41}},"loc":{"start":28,"end":41}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":43,"end":49}},"loc":{"start":43,"end":49}},"loc":{"start":43,"end":50}},"defaultValue":null,"loc":{"start":28,"end":50}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentAdded","loc":{"start":55,"end":67}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":68,"end":80}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":83,"end":95}},"loc":{"start":82,"end":95}},"loc":{"start":68,"end":95}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":102,"end":104}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":102,"end":104}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":109,"end":117}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":126,"end":131}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":126,"end":131}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":138,"end":146}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":138,"end":146}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":118,"end":152}},"loc":{"start":109,"end":152}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":157,"end":166}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":157,"end":166}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":171,"end":178}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":171,"end":178}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":96,"end":182}},"loc":{"start":55,"end":182}}],"loc":{"start":51,"end":184}},"loc":{"start":0,"end":184}}]},"id":2},"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Feed","loc":{"start":41,"end":45}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":47,"end":51}},"loc":{"start":46,"end":51}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"FeedType","loc":{"start":53,"end":61}},"loc":{"start":53,"end":61}},"loc":{"start":53,"end":62}},"defaultValue":null,"loc":{"start":46,"end":62}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":65,"end":71}},"loc":{"start":64,"end":71}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":73,"end":76}},"loc":{"start":73,"end":76}},"defaultValue":null,"loc":{"start":64,"end":76}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":79,"end":84}},"loc":{"start":78,"end":84}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":86,"end":89}},"loc":{"start":86,"end":89}},"defaultValue":null,"loc":{"start":78,"end":89}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":261,"end":272}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":279,"end":284}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":279,"end":284}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":273,"end":288}},"loc":{"start":261,"end":288}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"feed","loc":{"start":291,"end":295}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":296,"end":300}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":303,"end":307}},"loc":{"start":302,"end":307}},"loc":{"start":296,"end":307}},{"kind":"Argument","name":{"kind":"Name","value":"offset","loc":{"start":309,"end":315}},"value":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":318,"end":324}},"loc":{"start":317,"end":324}},"loc":{"start":309,"end":324}},{"kind":"Argument","name":{"kind":"Name","value":"limit","loc":{"start":326,"end":331}},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":334,"end":339}},"loc":{"start":333,"end":339}},"loc":{"start":326,"end":339}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FeedEntry","loc":{"start":350,"end":359}},"directives":[],"loc":{"start":347,"end":359}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":341,"end":363}},"loc":{"start":291,"end":363}}],"loc":{"start":91,"end":365}},"loc":{"start":35,"end":365}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FeedEntry","loc":{"start":376,"end":385}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":389,"end":394}},"loc":{"start":389,"end":394}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":399,"end":401}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":399,"end":401}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentCount","loc":{"start":404,"end":416}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":404,"end":416}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":419,"end":429}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":436,"end":445}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":436,"end":445}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":450,"end":458}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":450,"end":458}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"owner","loc":{"start":463,"end":468}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":477,"end":487}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":477,"end":487}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":469,"end":493}},"loc":{"start":463,"end":493}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":430,"end":497}},"loc":{"start":419,"end":497}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"VoteButtons","loc":{"start":503,"end":514}},"directives":[],"loc":{"start":500,"end":514}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"RepoInfo","loc":{"start":520,"end":528}},"directives":[],"loc":{"start":517,"end":528}}],"loc":{"start":395,"end":530}},"loc":{"start":367,"end":530}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VoteButtons","loc":{"start":541,"end":552}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":556,"end":561}},"loc":{"start":556,"end":561}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":566,"end":571}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":566,"end":571}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":574,"end":578}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":585,"end":595}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":585,"end":595}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":579,"end":599}},"loc":{"start":574,"end":599}}],"loc":{"start":562,"end":601}},"loc":{"start":532,"end":601}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"RepoInfo","loc":{"start":612,"end":620}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":624,"end":629}},"loc":{"start":624,"end":629}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":634,"end":643}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":634,"end":643}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":646,"end":656}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":663,"end":674}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":663,"end":674}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":679,"end":695}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":679,"end":695}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":700,"end":717}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":700,"end":717}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":657,"end":721}},"loc":{"start":646,"end":721}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":724,"end":732}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":739,"end":747}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":739,"end":747}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":752,"end":757}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":752,"end":757}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":733,"end":761}},"loc":{"start":724,"end":761}}],"loc":{"start":630,"end":763}},"loc":{"start":603,"end":763}}]},"id":3},"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CurrentUserForLayout","loc":{"start":6,"end":26}},"variableDefinitions":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":31,"end":42}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":49,"end":54}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":49,"end":54}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":59,"end":69}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":59,"end":69}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":43,"end":73}},"loc":{"start":31,"end":73}}],"loc":{"start":27,"end":75}},"loc":{"start":0,"end":75}}]},"id":4},"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitComment","loc":{"start":9,"end":22}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":24,"end":36}},"loc":{"start":23,"end":36}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":38,"end":44}},"loc":{"start":38,"end":44}},"loc":{"start":38,"end":45}},"defaultValue":null,"loc":{"start":23,"end":45}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":48,"end":62}},"loc":{"start":47,"end":62}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":64,"end":70}},"loc":{"start":64,"end":70}},"loc":{"start":64,"end":71}},"defaultValue":null,"loc":{"start":47,"end":71}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitComment","loc":{"start":77,"end":90}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":91,"end":103}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":106,"end":118}},"loc":{"start":105,"end":118}},"loc":{"start":91,"end":118}},{"kind":"Argument","name":{"kind":"Name","value":"commentContent","loc":{"start":120,"end":134}},"value":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":137,"end":151}},"loc":{"start":136,"end":151}},"loc":{"start":120,"end":151}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":162,"end":181}},"directives":[],"loc":{"start":159,"end":181}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":153,"end":185}},"loc":{"start":77,"end":185}}],"loc":{"start":73,"end":187}},"loc":{"start":0,"end":187}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":198,"end":217}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":221,"end":228}},"loc":{"start":221,"end":228}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":233,"end":235}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":233,"end":235}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":238,"end":246}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":253,"end":258}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":253,"end":258}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":263,"end":271}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":263,"end":271}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":247,"end":275}},"loc":{"start":238,"end":275}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":278,"end":287}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":278,"end":287}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":290,"end":297}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":290,"end":297}}],"loc":{"start":229,"end":299}},"loc":{"start":189,"end":299}}]},"id":5},"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitRepository","loc":{"start":9,"end":25}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":27,"end":39}},"loc":{"start":26,"end":39}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":41,"end":47}},"loc":{"start":41,"end":47}},"loc":{"start":41,"end":48}},"defaultValue":null,"loc":{"start":26,"end":48}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitRepository","loc":{"start":54,"end":70}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":71,"end":83}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":86,"end":98}},"loc":{"start":85,"end":98}},"loc":{"start":71,"end":98}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":106,"end":115}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":106,"end":115}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":100,"end":119}},"loc":{"start":54,"end":119}}],"loc":{"start":50,"end":121}},"loc":{"start":0,"end":121}}]},"id":6},"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"vote","loc":{"start":9,"end":13}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":15,"end":27}},"loc":{"start":14,"end":27}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":29,"end":35}},"loc":{"start":29,"end":35}},"loc":{"start":29,"end":36}},"defaultValue":null,"loc":{"start":14,"end":36}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":39,"end":43}},"loc":{"start":38,"end":43}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"VoteType","loc":{"start":45,"end":53}},"loc":{"start":45,"end":53}},"loc":{"start":45,"end":54}},"defaultValue":null,"loc":{"start":38,"end":54}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":60,"end":64}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":65,"end":77}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":80,"end":92}},"loc":{"start":79,"end":92}},"loc":{"start":65,"end":92}},{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":94,"end":98}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":101,"end":105}},"loc":{"start":100,"end":105}},"loc":{"start":94,"end":105}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":113,"end":118}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":113,"end":118}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":123,"end":125}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":123,"end":125}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":130,"end":134}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":143,"end":153}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":143,"end":153}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":135,"end":159}},"loc":{"start":130,"end":159}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":107,"end":163}},"loc":{"start":60,"end":163}}],"loc":{"start":56,"end":165}},"loc":{"start":0,"end":165}}]},"id":7}} \ No newline at end of file diff --git a/package.json b/package.json index 34370b0..5d38280 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "dotenv": "2.0.0", "express": "4.14.0", "express-session": "1.14.2", + "extractgql": "^0.1.11", "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.2", From 4d527bb7705e786b81c3f8840152a384f18858ef Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 5 Jan 2017 14:45:55 -0800 Subject: [PATCH 087/174] added a config file --- api/config.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 api/config.js diff --git a/api/config.js b/api/config.js new file mode 100644 index 0000000..41a7b25 --- /dev/null +++ b/api/config.js @@ -0,0 +1,9 @@ +export default { + // If set to to true, GitHunt will use `extractgql` in order to + // map query ids received from the client to GraphQL documents. + // + // Note that the same option must be enabled on the client + // and the extracted_queries.json file in both the client and API server + // must be the same. + persistedQueries: true, +}; From 4006633358a92602583c849ba105256c68730d25 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Fri, 6 Jan 2017 16:03:32 -0800 Subject: [PATCH 088/174] working and tested --- api/index.js | 8 +++++--- extracted_queries.json | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/api/index.js b/api/index.js index 5179890..de0a4df 100644 --- a/api/index.js +++ b/api/index.js @@ -36,8 +36,6 @@ const app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); -setUpGitHubLogin(app); - if (config.persistedQueries) { app.use( '/graphql', @@ -45,6 +43,8 @@ if (config.persistedQueries) { ); } +setUpGitHubLogin(app); + app.use('/graphql', graphqlExpress((req) => { // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 @@ -66,7 +66,9 @@ app.use('/graphql', graphqlExpress((req) => { avatar_url: req.user.photos[0].value, }; } - + console.log('user: '); + console.log(user); + // Initialize a new GitHub connector instance for every GraphQL request, so that API fetches // are deduplicated per-request only. const gitHubConnector = new GitHubConnector({ diff --git a/extracted_queries.json b/extracted_queries.json index 044d6ff..a3f32d4 100644 --- a/extracted_queries.json +++ b/extracted_queries.json @@ -1 +1 @@ -{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Comment","loc":{"start":47,"end":54}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":56,"end":64}},"loc":{"start":55,"end":64}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":66,"end":72}},"loc":{"start":66,"end":72}},"loc":{"start":66,"end":73}},"defaultValue":null,"loc":{"start":55,"end":73}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":79,"end":90}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":97,"end":102}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":97,"end":102}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":107,"end":115}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":107,"end":115}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":91,"end":119}},"loc":{"start":79,"end":119}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"entry","loc":{"start":122,"end":127}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":128,"end":140}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":143,"end":151}},"loc":{"start":142,"end":151}},"loc":{"start":128,"end":151}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":159,"end":161}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":159,"end":161}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":166,"end":174}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":183,"end":188}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":183,"end":188}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":195,"end":203}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":195,"end":203}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":175,"end":209}},"loc":{"start":166,"end":209}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":214,"end":223}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":214,"end":223}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"comments","loc":{"start":228,"end":236}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":248,"end":267}},"directives":[],"loc":{"start":245,"end":267}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":237,"end":273}},"loc":{"start":228,"end":273}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":278,"end":288}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":297,"end":306}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":297,"end":306}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":313,"end":321}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":313,"end":321}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":328,"end":339}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":328,"end":339}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":346,"end":363}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":346,"end":363}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":370,"end":386}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":370,"end":386}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":289,"end":392}},"loc":{"start":278,"end":392}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":153,"end":396}},"loc":{"start":122,"end":396}}],"loc":{"start":75,"end":398}},"loc":{"start":41,"end":398}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":409,"end":428}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":432,"end":439}},"loc":{"start":432,"end":439}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":444,"end":446}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":444,"end":446}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":449,"end":457}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":464,"end":469}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":464,"end":469}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":474,"end":482}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":474,"end":482}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":458,"end":486}},"loc":{"start":449,"end":486}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":489,"end":498}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":489,"end":498}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":501,"end":508}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":501,"end":508}}],"loc":{"start":440,"end":510}},"loc":{"start":400,"end":510}}]},"id":1},"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"onCommentAdded","loc":{"start":13,"end":27}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":29,"end":41}},"loc":{"start":28,"end":41}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":43,"end":49}},"loc":{"start":43,"end":49}},"loc":{"start":43,"end":50}},"defaultValue":null,"loc":{"start":28,"end":50}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentAdded","loc":{"start":55,"end":67}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":68,"end":80}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":83,"end":95}},"loc":{"start":82,"end":95}},"loc":{"start":68,"end":95}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":102,"end":104}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":102,"end":104}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":109,"end":117}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":126,"end":131}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":126,"end":131}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":138,"end":146}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":138,"end":146}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":118,"end":152}},"loc":{"start":109,"end":152}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":157,"end":166}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":157,"end":166}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":171,"end":178}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":171,"end":178}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":96,"end":182}},"loc":{"start":55,"end":182}}],"loc":{"start":51,"end":184}},"loc":{"start":0,"end":184}}]},"id":2},"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Feed","loc":{"start":41,"end":45}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":47,"end":51}},"loc":{"start":46,"end":51}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"FeedType","loc":{"start":53,"end":61}},"loc":{"start":53,"end":61}},"loc":{"start":53,"end":62}},"defaultValue":null,"loc":{"start":46,"end":62}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":65,"end":71}},"loc":{"start":64,"end":71}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":73,"end":76}},"loc":{"start":73,"end":76}},"defaultValue":null,"loc":{"start":64,"end":76}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":79,"end":84}},"loc":{"start":78,"end":84}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":86,"end":89}},"loc":{"start":86,"end":89}},"defaultValue":null,"loc":{"start":78,"end":89}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":261,"end":272}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":279,"end":284}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":279,"end":284}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":273,"end":288}},"loc":{"start":261,"end":288}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"feed","loc":{"start":291,"end":295}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":296,"end":300}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":303,"end":307}},"loc":{"start":302,"end":307}},"loc":{"start":296,"end":307}},{"kind":"Argument","name":{"kind":"Name","value":"offset","loc":{"start":309,"end":315}},"value":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":318,"end":324}},"loc":{"start":317,"end":324}},"loc":{"start":309,"end":324}},{"kind":"Argument","name":{"kind":"Name","value":"limit","loc":{"start":326,"end":331}},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":334,"end":339}},"loc":{"start":333,"end":339}},"loc":{"start":326,"end":339}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FeedEntry","loc":{"start":350,"end":359}},"directives":[],"loc":{"start":347,"end":359}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":341,"end":363}},"loc":{"start":291,"end":363}}],"loc":{"start":91,"end":365}},"loc":{"start":35,"end":365}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FeedEntry","loc":{"start":376,"end":385}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":389,"end":394}},"loc":{"start":389,"end":394}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":399,"end":401}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":399,"end":401}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentCount","loc":{"start":404,"end":416}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":404,"end":416}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":419,"end":429}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":436,"end":445}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":436,"end":445}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":450,"end":458}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":450,"end":458}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"owner","loc":{"start":463,"end":468}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":477,"end":487}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":477,"end":487}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":469,"end":493}},"loc":{"start":463,"end":493}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":430,"end":497}},"loc":{"start":419,"end":497}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"VoteButtons","loc":{"start":503,"end":514}},"directives":[],"loc":{"start":500,"end":514}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"RepoInfo","loc":{"start":520,"end":528}},"directives":[],"loc":{"start":517,"end":528}}],"loc":{"start":395,"end":530}},"loc":{"start":367,"end":530}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VoteButtons","loc":{"start":541,"end":552}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":556,"end":561}},"loc":{"start":556,"end":561}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":566,"end":571}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":566,"end":571}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":574,"end":578}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":585,"end":595}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":585,"end":595}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":579,"end":599}},"loc":{"start":574,"end":599}}],"loc":{"start":562,"end":601}},"loc":{"start":532,"end":601}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"RepoInfo","loc":{"start":612,"end":620}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":624,"end":629}},"loc":{"start":624,"end":629}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":634,"end":643}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":634,"end":643}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":646,"end":656}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":663,"end":674}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":663,"end":674}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":679,"end":695}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":679,"end":695}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":700,"end":717}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":700,"end":717}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":657,"end":721}},"loc":{"start":646,"end":721}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":724,"end":732}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":739,"end":747}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":739,"end":747}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":752,"end":757}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":752,"end":757}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":733,"end":761}},"loc":{"start":724,"end":761}}],"loc":{"start":630,"end":763}},"loc":{"start":603,"end":763}}]},"id":3},"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CurrentUserForLayout","loc":{"start":6,"end":26}},"variableDefinitions":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":31,"end":42}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":49,"end":54}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":49,"end":54}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":59,"end":69}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":59,"end":69}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":43,"end":73}},"loc":{"start":31,"end":73}}],"loc":{"start":27,"end":75}},"loc":{"start":0,"end":75}}]},"id":4},"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitComment","loc":{"start":9,"end":22}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":24,"end":36}},"loc":{"start":23,"end":36}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":38,"end":44}},"loc":{"start":38,"end":44}},"loc":{"start":38,"end":45}},"defaultValue":null,"loc":{"start":23,"end":45}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":48,"end":62}},"loc":{"start":47,"end":62}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":64,"end":70}},"loc":{"start":64,"end":70}},"loc":{"start":64,"end":71}},"defaultValue":null,"loc":{"start":47,"end":71}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitComment","loc":{"start":77,"end":90}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":91,"end":103}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":106,"end":118}},"loc":{"start":105,"end":118}},"loc":{"start":91,"end":118}},{"kind":"Argument","name":{"kind":"Name","value":"commentContent","loc":{"start":120,"end":134}},"value":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":137,"end":151}},"loc":{"start":136,"end":151}},"loc":{"start":120,"end":151}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":162,"end":181}},"directives":[],"loc":{"start":159,"end":181}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":153,"end":185}},"loc":{"start":77,"end":185}}],"loc":{"start":73,"end":187}},"loc":{"start":0,"end":187}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":198,"end":217}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":221,"end":228}},"loc":{"start":221,"end":228}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":233,"end":235}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":233,"end":235}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":238,"end":246}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":253,"end":258}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":253,"end":258}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":263,"end":271}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":263,"end":271}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":247,"end":275}},"loc":{"start":238,"end":275}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":278,"end":287}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":278,"end":287}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":290,"end":297}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":290,"end":297}}],"loc":{"start":229,"end":299}},"loc":{"start":189,"end":299}}]},"id":5},"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitRepository","loc":{"start":9,"end":25}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":27,"end":39}},"loc":{"start":26,"end":39}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":41,"end":47}},"loc":{"start":41,"end":47}},"loc":{"start":41,"end":48}},"defaultValue":null,"loc":{"start":26,"end":48}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitRepository","loc":{"start":54,"end":70}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":71,"end":83}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":86,"end":98}},"loc":{"start":85,"end":98}},"loc":{"start":71,"end":98}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":106,"end":115}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":106,"end":115}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":100,"end":119}},"loc":{"start":54,"end":119}}],"loc":{"start":50,"end":121}},"loc":{"start":0,"end":121}}]},"id":6},"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"vote","loc":{"start":9,"end":13}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":15,"end":27}},"loc":{"start":14,"end":27}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":29,"end":35}},"loc":{"start":29,"end":35}},"loc":{"start":29,"end":36}},"defaultValue":null,"loc":{"start":14,"end":36}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":39,"end":43}},"loc":{"start":38,"end":43}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"VoteType","loc":{"start":45,"end":53}},"loc":{"start":45,"end":53}},"loc":{"start":45,"end":54}},"defaultValue":null,"loc":{"start":38,"end":54}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":60,"end":64}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":65,"end":77}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":80,"end":92}},"loc":{"start":79,"end":92}},"loc":{"start":65,"end":92}},{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":94,"end":98}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":101,"end":105}},"loc":{"start":100,"end":105}},"loc":{"start":94,"end":105}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":113,"end":118}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":113,"end":118}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":123,"end":125}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":123,"end":125}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":130,"end":134}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":143,"end":153}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":143,"end":153}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":135,"end":159}},"loc":{"start":130,"end":159}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":107,"end":163}},"loc":{"start":60,"end":163}}],"loc":{"start":56,"end":165}},"loc":{"start":0,"end":165}}]},"id":7}} \ No newline at end of file +{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Comment","loc":{"start":47,"end":54}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":56,"end":64}},"loc":{"start":55,"end":64}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":66,"end":72}},"loc":{"start":66,"end":72}},"loc":{"start":66,"end":73}},"defaultValue":null,"loc":{"start":55,"end":73}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":79,"end":90}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":97,"end":102}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":97,"end":102}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":107,"end":115}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":107,"end":115}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":91,"end":119}},"loc":{"start":79,"end":119}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"entry","loc":{"start":122,"end":127}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":128,"end":140}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":143,"end":151}},"loc":{"start":142,"end":151}},"loc":{"start":128,"end":151}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":159,"end":161}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":159,"end":161}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":166,"end":174}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":183,"end":188}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":183,"end":188}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":195,"end":203}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":195,"end":203}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":175,"end":209}},"loc":{"start":166,"end":209}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":214,"end":223}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":214,"end":223}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"comments","loc":{"start":228,"end":236}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":248,"end":267}},"directives":[],"loc":{"start":245,"end":267}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":237,"end":273}},"loc":{"start":228,"end":273}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":278,"end":288}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":297,"end":306}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":297,"end":306}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":313,"end":321}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":313,"end":321}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":328,"end":339}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":328,"end":339}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":346,"end":363}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":346,"end":363}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":370,"end":386}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":370,"end":386}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":289,"end":392}},"loc":{"start":278,"end":392}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":153,"end":396}},"loc":{"start":122,"end":396}}],"loc":{"start":75,"end":398}},"loc":{"start":41,"end":398}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":592,"end":611}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":615,"end":622}},"loc":{"start":615,"end":622}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":627,"end":629}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":627,"end":629}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":632,"end":640}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":647,"end":652}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":647,"end":652}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":657,"end":665}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":657,"end":665}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":641,"end":669}},"loc":{"start":632,"end":669}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":672,"end":681}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":672,"end":681}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":684,"end":691}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":684,"end":691}}],"loc":{"start":623,"end":693}},"loc":{"start":583,"end":693}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":1730,"end":1749}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":1753,"end":1760}},"loc":{"start":1753,"end":1760}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":1765,"end":1767}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1765,"end":1767}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":1770,"end":1778}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1785,"end":1790}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1785,"end":1790}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":1795,"end":1803}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1795,"end":1803}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1779,"end":1807}},"loc":{"start":1770,"end":1807}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":1810,"end":1819}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1810,"end":1819}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":1822,"end":1829}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1822,"end":1829}}],"loc":{"start":1761,"end":1831}},"loc":{"start":1721,"end":1831}}]},"id":1},"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"onCommentAdded","loc":{"start":411,"end":425}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":427,"end":439}},"loc":{"start":426,"end":439}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":441,"end":447}},"loc":{"start":441,"end":447}},"loc":{"start":441,"end":448}},"defaultValue":null,"loc":{"start":426,"end":448}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentAdded","loc":{"start":453,"end":465}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":466,"end":478}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":481,"end":493}},"loc":{"start":480,"end":493}},"loc":{"start":466,"end":493}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":500,"end":502}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":500,"end":502}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":507,"end":515}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":524,"end":529}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":524,"end":529}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":536,"end":544}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":536,"end":544}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":516,"end":550}},"loc":{"start":507,"end":550}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":555,"end":564}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":555,"end":564}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":569,"end":576}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":569,"end":576}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":494,"end":580}},"loc":{"start":453,"end":580}}],"loc":{"start":449,"end":582}},"loc":{"start":398,"end":582}}]},"id":2},"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Feed","loc":{"start":1132,"end":1136}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":1138,"end":1142}},"loc":{"start":1137,"end":1142}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"FeedType","loc":{"start":1144,"end":1152}},"loc":{"start":1144,"end":1152}},"loc":{"start":1144,"end":1153}},"defaultValue":null,"loc":{"start":1137,"end":1153}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":1156,"end":1162}},"loc":{"start":1155,"end":1162}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":1164,"end":1167}},"loc":{"start":1164,"end":1167}},"defaultValue":null,"loc":{"start":1155,"end":1167}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":1170,"end":1175}},"loc":{"start":1169,"end":1175}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":1177,"end":1180}},"loc":{"start":1177,"end":1180}},"defaultValue":null,"loc":{"start":1169,"end":1180}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":1352,"end":1363}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1370,"end":1375}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1370,"end":1375}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1364,"end":1379}},"loc":{"start":1352,"end":1379}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"feed","loc":{"start":1382,"end":1386}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":1387,"end":1391}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":1394,"end":1398}},"loc":{"start":1393,"end":1398}},"loc":{"start":1387,"end":1398}},{"kind":"Argument","name":{"kind":"Name","value":"offset","loc":{"start":1400,"end":1406}},"value":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":1409,"end":1415}},"loc":{"start":1408,"end":1415}},"loc":{"start":1400,"end":1415}},{"kind":"Argument","name":{"kind":"Name","value":"limit","loc":{"start":1417,"end":1422}},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":1425,"end":1430}},"loc":{"start":1424,"end":1430}},"loc":{"start":1417,"end":1430}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FeedEntry","loc":{"start":1441,"end":1450}},"directives":[],"loc":{"start":1438,"end":1450}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1432,"end":1454}},"loc":{"start":1382,"end":1454}}],"loc":{"start":1182,"end":1456}},"loc":{"start":1126,"end":1456}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FeedEntry","loc":{"start":703,"end":712}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":716,"end":721}},"loc":{"start":716,"end":721}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":726,"end":728}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":726,"end":728}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentCount","loc":{"start":731,"end":743}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":731,"end":743}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":746,"end":756}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":763,"end":772}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":763,"end":772}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":777,"end":785}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":777,"end":785}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"owner","loc":{"start":790,"end":795}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":804,"end":814}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":804,"end":814}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":796,"end":820}},"loc":{"start":790,"end":820}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":757,"end":824}},"loc":{"start":746,"end":824}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"VoteButtons","loc":{"start":830,"end":841}},"directives":[],"loc":{"start":827,"end":841}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"RepoInfo","loc":{"start":847,"end":855}},"directives":[],"loc":{"start":844,"end":855}}],"loc":{"start":722,"end":857}},"loc":{"start":694,"end":857}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VoteButtons","loc":{"start":868,"end":879}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":883,"end":888}},"loc":{"start":883,"end":888}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":893,"end":898}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":893,"end":898}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":901,"end":905}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":912,"end":922}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":912,"end":922}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":906,"end":926}},"loc":{"start":901,"end":926}}],"loc":{"start":889,"end":928}},"loc":{"start":859,"end":928}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"RepoInfo","loc":{"start":939,"end":947}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":951,"end":956}},"loc":{"start":951,"end":956}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":961,"end":970}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":961,"end":970}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":973,"end":983}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":990,"end":1001}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":990,"end":1001}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":1006,"end":1022}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1006,"end":1022}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":1027,"end":1044}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1027,"end":1044}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":984,"end":1048}},"loc":{"start":973,"end":1048}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":1051,"end":1059}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":1066,"end":1074}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1066,"end":1074}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1079,"end":1084}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1079,"end":1084}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1060,"end":1088}},"loc":{"start":1051,"end":1088}}],"loc":{"start":957,"end":1090}},"loc":{"start":930,"end":1090}}]},"id":3},"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CurrentUserForLayout","loc":{"start":1462,"end":1482}},"variableDefinitions":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":1487,"end":1498}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1505,"end":1510}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1505,"end":1510}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":1515,"end":1525}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1515,"end":1525}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1499,"end":1529}},"loc":{"start":1487,"end":1529}}],"loc":{"start":1483,"end":1531}},"loc":{"start":1456,"end":1531}}]},"id":4},"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitComment","loc":{"start":1541,"end":1554}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1556,"end":1568}},"loc":{"start":1555,"end":1568}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1570,"end":1576}},"loc":{"start":1570,"end":1576}},"loc":{"start":1570,"end":1577}},"defaultValue":null,"loc":{"start":1555,"end":1577}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":1580,"end":1594}},"loc":{"start":1579,"end":1594}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1596,"end":1602}},"loc":{"start":1596,"end":1602}},"loc":{"start":1596,"end":1603}},"defaultValue":null,"loc":{"start":1579,"end":1603}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitComment","loc":{"start":1609,"end":1622}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":1623,"end":1635}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1638,"end":1650}},"loc":{"start":1637,"end":1650}},"loc":{"start":1623,"end":1650}},{"kind":"Argument","name":{"kind":"Name","value":"commentContent","loc":{"start":1652,"end":1666}},"value":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":1669,"end":1683}},"loc":{"start":1668,"end":1683}},"loc":{"start":1652,"end":1683}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":1694,"end":1713}},"directives":[],"loc":{"start":1691,"end":1713}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1685,"end":1717}},"loc":{"start":1609,"end":1717}}],"loc":{"start":1605,"end":1719}},"loc":{"start":1532,"end":1719}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":592,"end":611}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":615,"end":622}},"loc":{"start":615,"end":622}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":627,"end":629}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":627,"end":629}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":632,"end":640}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":647,"end":652}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":647,"end":652}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":657,"end":665}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":657,"end":665}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":641,"end":669}},"loc":{"start":632,"end":669}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":672,"end":681}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":672,"end":681}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":684,"end":691}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":684,"end":691}}],"loc":{"start":623,"end":693}},"loc":{"start":583,"end":693}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":1730,"end":1749}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":1753,"end":1760}},"loc":{"start":1753,"end":1760}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":1765,"end":1767}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1765,"end":1767}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":1770,"end":1778}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1785,"end":1790}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1785,"end":1790}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":1795,"end":1803}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1795,"end":1803}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1779,"end":1807}},"loc":{"start":1770,"end":1807}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":1810,"end":1819}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1810,"end":1819}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":1822,"end":1829}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1822,"end":1829}}],"loc":{"start":1761,"end":1831}},"loc":{"start":1721,"end":1831}}]},"id":5},"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitRepository","loc":{"start":1841,"end":1857}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1859,"end":1871}},"loc":{"start":1858,"end":1871}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1873,"end":1879}},"loc":{"start":1873,"end":1879}},"loc":{"start":1873,"end":1880}},"defaultValue":null,"loc":{"start":1858,"end":1880}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitRepository","loc":{"start":1886,"end":1902}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":1903,"end":1915}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1918,"end":1930}},"loc":{"start":1917,"end":1930}},"loc":{"start":1903,"end":1930}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":1938,"end":1947}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1938,"end":1947}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1932,"end":1951}},"loc":{"start":1886,"end":1951}}],"loc":{"start":1882,"end":1953}},"loc":{"start":1832,"end":1953}}]},"id":6},"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"vote","loc":{"start":1963,"end":1967}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1969,"end":1981}},"loc":{"start":1968,"end":1981}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1983,"end":1989}},"loc":{"start":1983,"end":1989}},"loc":{"start":1983,"end":1990}},"defaultValue":null,"loc":{"start":1968,"end":1990}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":1993,"end":1997}},"loc":{"start":1992,"end":1997}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"VoteType","loc":{"start":1999,"end":2007}},"loc":{"start":1999,"end":2007}},"loc":{"start":1999,"end":2008}},"defaultValue":null,"loc":{"start":1992,"end":2008}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":2014,"end":2018}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":2019,"end":2031}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":2034,"end":2046}},"loc":{"start":2033,"end":2046}},"loc":{"start":2019,"end":2046}},{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":2048,"end":2052}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":2055,"end":2059}},"loc":{"start":2054,"end":2059}},"loc":{"start":2048,"end":2059}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":2067,"end":2072}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":2067,"end":2072}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":2077,"end":2079}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":2077,"end":2079}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":2084,"end":2088}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":2097,"end":2107}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":2097,"end":2107}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":2089,"end":2113}},"loc":{"start":2084,"end":2113}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":2061,"end":2117}},"loc":{"start":2014,"end":2117}}],"loc":{"start":2010,"end":2119}},"loc":{"start":1954,"end":2119}}]},"id":7}} \ No newline at end of file From f7b39ab13b6c882b7d93859942efd8cd039ec36d Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Fri, 6 Jan 2017 16:08:05 -0800 Subject: [PATCH 089/174] pacified linter --- api/index.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/index.js b/api/index.js index de0a4df..94e75d7 100644 --- a/api/index.js +++ b/api/index.js @@ -66,9 +66,7 @@ app.use('/graphql', graphqlExpress((req) => { avatar_url: req.user.photos[0].value, }; } - console.log('user: '); - console.log(user); - + // Initialize a new GitHub connector instance for every GraphQL request, so that API fetches // are deduplicated per-request only. const gitHubConnector = new GitHubConnector({ From 7f8d15752365c1e9f01bd7b87e8b4acce710bbea Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sun, 8 Jan 2017 03:18:01 +0800 Subject: [PATCH 090/174] chore(package): update dotenv to version 4.0.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34370b0..b2ace66 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "body-parser": "1.15.2", "connect-session-knex": "1.3.0", "dataloader": "1.2.0", - "dotenv": "2.0.0", + "dotenv": "4.0.0", "express": "4.14.0", "express-session": "1.14.2", "graphql": "0.7.2", From 28dcada8af3f3dfc475663837860a174792a602a Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 9 Jan 2017 04:11:29 +0800 Subject: [PATCH 091/174] chore(package): update eslint-plugin-react to version 6.9.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34370b0..bf84c63 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", "eslint-plugin-jsx-a11y": "2.2.3", - "eslint-plugin-react": "6.8.0", + "eslint-plugin-react": "6.9.0", "mocha": "3.2.0", "nodemon": "1.11.0" }, From ff4a737219820f3901b8f96d877689c4eee296dd Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Mon, 9 Jan 2017 10:01:46 -0800 Subject: [PATCH 092/174] using production flag for presisted query middlware --- api/index.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/api/index.js b/api/index.js index 94e75d7..04f86d5 100644 --- a/api/index.js +++ b/api/index.js @@ -36,12 +36,10 @@ const app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); -if (config.persistedQueries) { - app.use( - '/graphql', - getMiddlewareForQueryMap(queryMap) - ); -} +app.use( + '/graphql', + getMiddlewareForQueryMap(queryMap, config.persistedQueries) +); setUpGitHubLogin(app); From 5d9db39e2708dc76288b34285e308907576faa1e Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 10 Jan 2017 07:11:18 +0800 Subject: [PATCH 093/174] chore(package): update eslint to version 3.13.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 34370b0..a3958e1 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.12.1", + "eslint": "3.13.1", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From 7cdc844adc79ac80c2b9a04293d05f93d2b22732 Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Tue, 10 Jan 2017 22:34:20 +0800 Subject: [PATCH 094/174] Update githubLogin.js Remove unused import --- api/githubLogin.js | 1 - 1 file changed, 1 deletion(-) diff --git a/api/githubLogin.js b/api/githubLogin.js index d598533..ccf7acc 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -1,4 +1,3 @@ -import express from 'express'; import session from 'express-session'; import passport from 'passport'; import { Strategy as GitHubStrategy } from 'passport-github'; From 188103c9f44413c6cc349980a749c5afc8225f1d Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 24 Jan 2017 16:15:39 -0800 Subject: [PATCH 095/174] chore(package): update graphql-tools to version 0.9.2 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25520c3..16a94ff 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.2", - "graphql-tools": "0.9.0", + "graphql-tools": "0.9.2", "knex": "0.12.6", "lodash": "4.17.4", "passport": "0.3.2", From 28d96283828d9ba93b7569ff9e1a283469fcb0ed Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 24 Jan 2017 16:54:18 -0800 Subject: [PATCH 096/174] chore(package): update graphql-server-express to version 0.5.2 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25520c3..982b92f 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "express-session": "1.14.2", "extractgql": "^0.1.11", "graphql": "0.7.2", - "graphql-server-express": "^0.4.1", + "graphql-server-express": "^0.5.2", "graphql-subscriptions": "0.2.2", "graphql-tools": "0.9.0", "knex": "0.12.6", From d5aa09f5cae15000f8e7347cd3d2633af3f9f6f5 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 25 Jan 2017 11:34:12 -0800 Subject: [PATCH 097/174] chore(package): update eslint to version 3.14.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25520c3..6483373 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", - "eslint": "3.13.1", + "eslint": "3.14.1", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "3.3.0", "eslint-plugin-import": "1.16.0", From 879335185536e5ab5ff3110eece86dee6afc46bf Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sat, 28 Jan 2017 14:52:35 -0800 Subject: [PATCH 098/174] chore(package): update express to version 4.14.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25520c3..ee6d666 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "connect-session-knex": "1.3.0", "dataloader": "1.2.0", "dotenv": "4.0.0", - "express": "4.14.0", + "express": "4.14.1", "express-session": "1.14.2", "extractgql": "^0.1.11", "graphql": "0.7.2", From 416021aa0ae40aee90b5512b9465f308b913d5bf Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Mon, 30 Jan 2017 16:53:32 -0800 Subject: [PATCH 099/174] Create CONTRIBUTING.md --- CONTRIBUTING.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..651c071 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,82 @@ +# Apollo Contributor Guide + +Excited about Apollo and want to make it better? We’re excited too! + +Apollo is a community of developers just like you, striving to create the best tools and libraries around GraphQL. We welcome anyone who wants to contribute or provide constructive feedback, no matter the age or level of experience. If you want to help but don't know where to start, let us know, and we'll find something for you. + +Oh, and if you haven't already, sign up for the [Apollo Slack](http://www.apollodata.com/#slack). + +Here are some ways to contribute to the project, from easiest to most difficult: + +* [Reporting bugs](#reporting-bugs) +* [Improving the documentation](#improving-the-documentation) +* [Responding to issues](#responding-to-issues) +* [Small bug fixes](#small-bug-fixes) +* [Suggesting features](#suggesting-features) +* [Big pull requests](#big-prs) + +## Issues + +### Reporting bugs + +If you encounter a bug, please file an issue on GitHub via the repository of the sub-project you think contains the bug. If an issue you have is already reported, please add additional information or add a 👍 reaction to indicate your agreement. + +While we will try to be as helpful as we can on any issue reported, please include the following to maximize the chances of a quick fix: + +1. **Intended outcome:** What you were trying to accomplish when the bug occurred, and as much code as possible related to the source of the problem. +2. **Actual outcome:** A description of what actually happened, including a screenshot or copy-paste of any related error messages, logs, or other output that might be related. Places to look for information include your browser console, server console, and network logs. Please avoid non-specific phrases like “didn’t work” or “broke”. +3. **How to reproduce the issue:** Instructions for how the issue can be reproduced by a maintainer or contributor. Be as specific as possible, and only mention what is necessary to reproduce the bug. If possible, try to isolate the exact circumstances in which the bug occurs and avoid speculation over what the cause might be. + +Creating a good reproduction really helps contributors investigate and resolve your issue quickly. In many cases, the act of creating a minimal reproduction illuminates that the source of the bug was somewhere outside the library in question, saving time and effort for everyone. + +### Improving the documentation + +Improving the documentation, examples, and other open source content can be the easiest way to contribute to the library. If you see a piece of content that can be better, open a PR with an improvement, no matter how small! If you would like to suggest a big change or major rewrite, we’d love to hear your ideas but please open an issue for discussion before writing the PR. + +### Responding to issues + +In addition to reporting issues, a great way to contribute to Apollo is to respond to other peoples' issues and try to identify the problem or help them work around it. If you’re interested in taking a more active role in this process, please go ahead and respond to issues. And don't forget to say "Hi" on Apollo Slack! + +### Small bug fixes + +For a small bug fix change (less than 20 lines of code changed), feel free to open a pull request. We’ll try to merge it as fast as possible and ideally publish a new release on the same day. The only requirement is, make sure you also add a test that verifies the bug you are trying to fix. + +### Suggesting features + +Most of the features in Apollo came from suggestions by you, the community! We welcome any ideas about how to make Apollo better for your use case. Unless there is overwhelming demand for a feature, it might not get implemented immediately, but please include as much information as possible that will help people have a discussion about your proposal: + +1. **Use case:** What are you trying to accomplish, in specific terms? Often, there might already be a good way to do what you need and a new feature is unnecessary, but it’s hard to know without information about the specific use case. +2. **Could this be a plugin?** In many cases, a feature might be too niche to be included in the core of a library, and is better implemented as a companion package. If there isn’t a way to extend the library to do what you want, could we add additional plugin APIs? It’s important to make the case for why a feature should be part of the core functionality of the library. +3. **Is there a workaround?** Is this a more convenient way to do something that is already possible, or is there some blocker that makes a workaround unfeasible? + +Feature requests will be labeled as such, and we encourage using GitHub issues as a place to discuss new features and possible implementation designs. Please refrain from submitting a pull request to implement a proposed feature until there is consensus that it should be included. This way, you can avoid putting in work that can’t be merged in. + +Once there is a consensus on the need for a new feature, proceed as listed below under “Big PRs”. + +## Big PRs + +This includes: + +- Big bug fixes +- New features + +For significant changes to a repository, it’s important to settle on a design before starting on the implementation. This way, we can make sure that major improvements get the care and attention they deserve. Since big changes can be risky and might not always get merged, it’s good to reduce the amount of possible wasted effort by agreeing on an implementation design/plan first. + +1. **Open an issue.** Open an issue about your bug or feature, as described above. +2. **Reach consensus.** Some contributors and community members should reach an agreement that this feature or bug is important, and that someone should work on implementing or fixing it. +3. **Agree on intended behavior.** On the issue, reach an agreement about the desired behavior. In the case of a bug fix, it should be clear what it means for the bug to be fixed, and in the case of a feature, it should be clear what it will be like for developers to use the new feature. +4. **Agree on implementation plan.** Write a plan for how this feature or bug fix should be implemented. What modules need to be added or rewritten? Should this be one pull request or multiple incremental improvements? Who is going to do each part? +5. **Submit PR.** In the case where multiple dependent patches need to be made to implement the change, only submit one at a time. Otherwise, the others might get stale while the first is reviewed and merged. Make sure to avoid “while we’re here” type changes - if something isn’t relevant to the improvement at hand, it should be in a separate PR; this especially includes code style changes of unrelated code. +6. **Review.** At least one core contributor should sign off on the change before it’s merged. Look at the “code review” section below to learn about factors are important in the code review. If you want to expedite the code being merged, try to review your own code first! +7. **Merge and release!** + +### Code review guidelines + +It’s important that every piece of code in Apollo packages is reviewed by at least one core contributor familiar with that codebase. Here are some things we look for: + +1. **Required CI checks pass.** This is a prerequisite for the review, and it is the PR author's responsibility. As long as the tests don’t pass, the PR won't get reviewed. +2. **Simplicity.** Is this the simplest way to achieve the intended goal? If there are too many files, redundant functions, or complex lines of code, suggest a simpler way to do the same thing. In particular, avoid implementing an overly general solution when a simple, small, and pragmatic fix will do. +3. **Testing.** Do the tests ensure this code won’t break when other stuff changes around it? When it does break, will the tests added help us identify which part of the library has the problem? Did we cover an appropriate set of edge cases? Look at the test coverage report if there is one. Are all significant code paths in the new code exercised at least once? +4. **No unnecessary or unrelated changes.** PRs shouldn’t come with random formatting changes, especially in unrelated parts of the code. If there is some refactoring that needs to be done, it should be in a separate PR from a bug fix or feature, if possible. +5. **Code has appropriate comments.** Code should be commented, or written in a clear “self-documenting” way. +6. **Idiomatic use of the language.** In TypeScript, make sure the typings are specific and correct. In ES2015, make sure to use imports rather than require and const instead of var, etc. Ideally a linter enforces a lot of this, but use your common sense and follow the style of the surrounding code. From ce62c94bd9bcc2dc2685558403fcc8b1e3485b71 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 2 Feb 2017 01:32:26 -0500 Subject: [PATCH 100/174] moved to using custom middleware impl. rather than persistgraphql's - updated deps --- api/index.js | 14 +++++++++++--- extracted_queries.json | 2 +- package.json | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/api/index.js b/api/index.js index 04f86d5..a968461 100644 --- a/api/index.js +++ b/api/index.js @@ -2,8 +2,8 @@ import path from 'path'; import express from 'express'; import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import bodyParser from 'body-parser'; - -import { getMiddlewareForQueryMap } from 'extractgql/lib/server'; +import { invert } from 'lodash'; +import { getMiddlewareForQueryMap } from 'persistgraphql/lib/server'; import { GITHUB_CLIENT_ID, @@ -38,7 +38,15 @@ app.use(bodyParser.json()); app.use( '/graphql', - getMiddlewareForQueryMap(queryMap, config.persistedQueries) + (req, resp, next) => { + console.log('In the ghetto middleware'); + + if (config.persistedQueries) { + const invertedMap = invert(queryMap); + req.body.query = invertedMap[req.body.id]; + } + next(); + }, ); setUpGitHubLogin(app); diff --git a/extracted_queries.json b/extracted_queries.json index a3f32d4..fbd5dbd 100644 --- a/extracted_queries.json +++ b/extracted_queries.json @@ -1 +1 @@ -{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Comment","loc":{"start":47,"end":54}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":56,"end":64}},"loc":{"start":55,"end":64}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":66,"end":72}},"loc":{"start":66,"end":72}},"loc":{"start":66,"end":73}},"defaultValue":null,"loc":{"start":55,"end":73}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":79,"end":90}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":97,"end":102}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":97,"end":102}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":107,"end":115}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":107,"end":115}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":91,"end":119}},"loc":{"start":79,"end":119}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"entry","loc":{"start":122,"end":127}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":128,"end":140}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoName","loc":{"start":143,"end":151}},"loc":{"start":142,"end":151}},"loc":{"start":128,"end":151}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":159,"end":161}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":159,"end":161}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":166,"end":174}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":183,"end":188}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":183,"end":188}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":195,"end":203}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":195,"end":203}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":175,"end":209}},"loc":{"start":166,"end":209}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":214,"end":223}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":214,"end":223}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"comments","loc":{"start":228,"end":236}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":248,"end":267}},"directives":[],"loc":{"start":245,"end":267}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":237,"end":273}},"loc":{"start":228,"end":273}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":278,"end":288}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":297,"end":306}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":297,"end":306}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":313,"end":321}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":313,"end":321}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":328,"end":339}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":328,"end":339}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":346,"end":363}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":346,"end":363}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":370,"end":386}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":370,"end":386}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":289,"end":392}},"loc":{"start":278,"end":392}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":153,"end":396}},"loc":{"start":122,"end":396}}],"loc":{"start":75,"end":398}},"loc":{"start":41,"end":398}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":592,"end":611}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":615,"end":622}},"loc":{"start":615,"end":622}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":627,"end":629}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":627,"end":629}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":632,"end":640}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":647,"end":652}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":647,"end":652}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":657,"end":665}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":657,"end":665}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":641,"end":669}},"loc":{"start":632,"end":669}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":672,"end":681}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":672,"end":681}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":684,"end":691}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":684,"end":691}}],"loc":{"start":623,"end":693}},"loc":{"start":583,"end":693}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":1730,"end":1749}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":1753,"end":1760}},"loc":{"start":1753,"end":1760}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":1765,"end":1767}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1765,"end":1767}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":1770,"end":1778}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1785,"end":1790}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1785,"end":1790}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":1795,"end":1803}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1795,"end":1803}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1779,"end":1807}},"loc":{"start":1770,"end":1807}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":1810,"end":1819}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1810,"end":1819}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":1822,"end":1829}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1822,"end":1829}}],"loc":{"start":1761,"end":1831}},"loc":{"start":1721,"end":1831}}]},"id":1},"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"onCommentAdded","loc":{"start":411,"end":425}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":427,"end":439}},"loc":{"start":426,"end":439}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":441,"end":447}},"loc":{"start":441,"end":447}},"loc":{"start":441,"end":448}},"defaultValue":null,"loc":{"start":426,"end":448}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentAdded","loc":{"start":453,"end":465}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":466,"end":478}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":481,"end":493}},"loc":{"start":480,"end":493}},"loc":{"start":466,"end":493}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":500,"end":502}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":500,"end":502}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":507,"end":515}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":524,"end":529}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":524,"end":529}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":536,"end":544}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":536,"end":544}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":516,"end":550}},"loc":{"start":507,"end":550}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":555,"end":564}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":555,"end":564}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":569,"end":576}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":569,"end":576}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":494,"end":580}},"loc":{"start":453,"end":580}}],"loc":{"start":449,"end":582}},"loc":{"start":398,"end":582}}]},"id":2},"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Feed","loc":{"start":1132,"end":1136}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":1138,"end":1142}},"loc":{"start":1137,"end":1142}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"FeedType","loc":{"start":1144,"end":1152}},"loc":{"start":1144,"end":1152}},"loc":{"start":1144,"end":1153}},"defaultValue":null,"loc":{"start":1137,"end":1153}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":1156,"end":1162}},"loc":{"start":1155,"end":1162}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":1164,"end":1167}},"loc":{"start":1164,"end":1167}},"defaultValue":null,"loc":{"start":1155,"end":1167}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":1170,"end":1175}},"loc":{"start":1169,"end":1175}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int","loc":{"start":1177,"end":1180}},"loc":{"start":1177,"end":1180}},"defaultValue":null,"loc":{"start":1169,"end":1180}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":1352,"end":1363}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1370,"end":1375}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1370,"end":1375}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1364,"end":1379}},"loc":{"start":1352,"end":1379}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"feed","loc":{"start":1382,"end":1386}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":1387,"end":1391}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":1394,"end":1398}},"loc":{"start":1393,"end":1398}},"loc":{"start":1387,"end":1398}},{"kind":"Argument","name":{"kind":"Name","value":"offset","loc":{"start":1400,"end":1406}},"value":{"kind":"Variable","name":{"kind":"Name","value":"offset","loc":{"start":1409,"end":1415}},"loc":{"start":1408,"end":1415}},"loc":{"start":1400,"end":1415}},{"kind":"Argument","name":{"kind":"Name","value":"limit","loc":{"start":1417,"end":1422}},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit","loc":{"start":1425,"end":1430}},"loc":{"start":1424,"end":1430}},"loc":{"start":1417,"end":1430}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FeedEntry","loc":{"start":1441,"end":1450}},"directives":[],"loc":{"start":1438,"end":1450}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1432,"end":1454}},"loc":{"start":1382,"end":1454}}],"loc":{"start":1182,"end":1456}},"loc":{"start":1126,"end":1456}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FeedEntry","loc":{"start":703,"end":712}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":716,"end":721}},"loc":{"start":716,"end":721}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":726,"end":728}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":726,"end":728}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"commentCount","loc":{"start":731,"end":743}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":731,"end":743}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":746,"end":756}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"full_name","loc":{"start":763,"end":772}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":763,"end":772}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":777,"end":785}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":777,"end":785}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"owner","loc":{"start":790,"end":795}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":804,"end":814}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":804,"end":814}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":796,"end":820}},"loc":{"start":790,"end":820}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":757,"end":824}},"loc":{"start":746,"end":824}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"VoteButtons","loc":{"start":830,"end":841}},"directives":[],"loc":{"start":827,"end":841}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"RepoInfo","loc":{"start":847,"end":855}},"directives":[],"loc":{"start":844,"end":855}}],"loc":{"start":722,"end":857}},"loc":{"start":694,"end":857}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"VoteButtons","loc":{"start":868,"end":879}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":883,"end":888}},"loc":{"start":883,"end":888}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":893,"end":898}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":893,"end":898}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":901,"end":905}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":912,"end":922}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":912,"end":922}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":906,"end":926}},"loc":{"start":901,"end":926}}],"loc":{"start":889,"end":928}},"loc":{"start":859,"end":928}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"RepoInfo","loc":{"start":939,"end":947}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Entry","loc":{"start":951,"end":956}},"loc":{"start":951,"end":956}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":961,"end":970}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":961,"end":970}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"repository","loc":{"start":973,"end":983}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"description","loc":{"start":990,"end":1001}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":990,"end":1001}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"stargazers_count","loc":{"start":1006,"end":1022}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1006,"end":1022}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"open_issues_count","loc":{"start":1027,"end":1044}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1027,"end":1044}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":984,"end":1048}},"loc":{"start":973,"end":1048}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":1051,"end":1059}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":1066,"end":1074}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1066,"end":1074}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1079,"end":1084}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1079,"end":1084}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1060,"end":1088}},"loc":{"start":1051,"end":1088}}],"loc":{"start":957,"end":1090}},"loc":{"start":930,"end":1090}}]},"id":3},"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CurrentUserForLayout","loc":{"start":1462,"end":1482}},"variableDefinitions":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"currentUser","loc":{"start":1487,"end":1498}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1505,"end":1510}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1505,"end":1510}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"avatar_url","loc":{"start":1515,"end":1525}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1515,"end":1525}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1499,"end":1529}},"loc":{"start":1487,"end":1529}}],"loc":{"start":1483,"end":1531}},"loc":{"start":1456,"end":1531}}]},"id":4},"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitComment","loc":{"start":1541,"end":1554}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1556,"end":1568}},"loc":{"start":1555,"end":1568}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1570,"end":1576}},"loc":{"start":1570,"end":1576}},"loc":{"start":1570,"end":1577}},"defaultValue":null,"loc":{"start":1555,"end":1577}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":1580,"end":1594}},"loc":{"start":1579,"end":1594}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1596,"end":1602}},"loc":{"start":1596,"end":1602}},"loc":{"start":1596,"end":1603}},"defaultValue":null,"loc":{"start":1579,"end":1603}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitComment","loc":{"start":1609,"end":1622}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":1623,"end":1635}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1638,"end":1650}},"loc":{"start":1637,"end":1650}},"loc":{"start":1623,"end":1650}},{"kind":"Argument","name":{"kind":"Name","value":"commentContent","loc":{"start":1652,"end":1666}},"value":{"kind":"Variable","name":{"kind":"Name","value":"commentContent","loc":{"start":1669,"end":1683}},"loc":{"start":1668,"end":1683}},"loc":{"start":1652,"end":1683}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":1694,"end":1713}},"directives":[],"loc":{"start":1691,"end":1713}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1685,"end":1717}},"loc":{"start":1609,"end":1717}}],"loc":{"start":1605,"end":1719}},"loc":{"start":1532,"end":1719}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":592,"end":611}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":615,"end":622}},"loc":{"start":615,"end":622}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":627,"end":629}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":627,"end":629}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":632,"end":640}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":647,"end":652}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":647,"end":652}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":657,"end":665}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":657,"end":665}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":641,"end":669}},"loc":{"start":632,"end":669}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":672,"end":681}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":672,"end":681}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":684,"end":691}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":684,"end":691}}],"loc":{"start":623,"end":693}},"loc":{"start":583,"end":693}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CommentsPageComment","loc":{"start":1730,"end":1749}},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Comment","loc":{"start":1753,"end":1760}},"loc":{"start":1753,"end":1760}},"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":1765,"end":1767}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1765,"end":1767}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"postedBy","loc":{"start":1770,"end":1778}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"login","loc":{"start":1785,"end":1790}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1785,"end":1790}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"html_url","loc":{"start":1795,"end":1803}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1795,"end":1803}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1779,"end":1807}},"loc":{"start":1770,"end":1807}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":1810,"end":1819}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1810,"end":1819}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"content","loc":{"start":1822,"end":1829}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1822,"end":1829}}],"loc":{"start":1761,"end":1831}},"loc":{"start":1721,"end":1831}}]},"id":5},"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"submitRepository","loc":{"start":1841,"end":1857}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1859,"end":1871}},"loc":{"start":1858,"end":1871}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1873,"end":1879}},"loc":{"start":1873,"end":1879}},"loc":{"start":1873,"end":1880}},"defaultValue":null,"loc":{"start":1858,"end":1880}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"submitRepository","loc":{"start":1886,"end":1902}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":1903,"end":1915}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1918,"end":1930}},"loc":{"start":1917,"end":1930}},"loc":{"start":1903,"end":1930}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"createdAt","loc":{"start":1938,"end":1947}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":1938,"end":1947}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":1932,"end":1951}},"loc":{"start":1886,"end":1951}}],"loc":{"start":1882,"end":1953}},"loc":{"start":1832,"end":1953}}]},"id":6},"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}":{"transformedQuery":{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"vote","loc":{"start":1963,"end":1967}},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":1969,"end":1981}},"loc":{"start":1968,"end":1981}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String","loc":{"start":1983,"end":1989}},"loc":{"start":1983,"end":1989}},"loc":{"start":1983,"end":1990}},"defaultValue":null,"loc":{"start":1968,"end":1990}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":1993,"end":1997}},"loc":{"start":1992,"end":1997}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"VoteType","loc":{"start":1999,"end":2007}},"loc":{"start":1999,"end":2007}},"loc":{"start":1999,"end":2008}},"defaultValue":null,"loc":{"start":1992,"end":2008}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":2014,"end":2018}},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"repoFullName","loc":{"start":2019,"end":2031}},"value":{"kind":"Variable","name":{"kind":"Name","value":"repoFullName","loc":{"start":2034,"end":2046}},"loc":{"start":2033,"end":2046}},"loc":{"start":2019,"end":2046}},{"kind":"Argument","name":{"kind":"Name","value":"type","loc":{"start":2048,"end":2052}},"value":{"kind":"Variable","name":{"kind":"Name","value":"type","loc":{"start":2055,"end":2059}},"loc":{"start":2054,"end":2059}},"loc":{"start":2048,"end":2059}}],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"score","loc":{"start":2067,"end":2072}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":2067,"end":2072}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"id","loc":{"start":2077,"end":2079}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":2077,"end":2079}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote","loc":{"start":2084,"end":2088}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":null,"name":{"kind":"Name","value":"vote_value","loc":{"start":2097,"end":2107}},"arguments":[],"directives":[],"selectionSet":null,"loc":{"start":2097,"end":2107}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":2089,"end":2113}},"loc":{"start":2084,"end":2113}},{"kind":"Field","alias":null,"name":{"kind":"Name","value":"__typename"}}],"loc":{"start":2061,"end":2117}},"loc":{"start":2014,"end":2117}}],"loc":{"start":2010,"end":2119}},"loc":{"start":1954,"end":2119}}]},"id":7}} \ No newline at end of file +{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n":1,"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}\n":2,"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}\n\nfragment FeedEntry on Entry {\n id\n commentCount\n repository {\n full_name\n html_url\n owner {\n avatar_url\n __typename\n }\n __typename\n }\n ...VoteButtons\n ...RepoInfo\n __typename\n}\n\nfragment VoteButtons on Entry {\n score\n vote {\n vote_value\n __typename\n }\n __typename\n}\n\nfragment RepoInfo on Entry {\n createdAt\n repository {\n description\n stargazers_count\n open_issues_count\n __typename\n }\n postedBy {\n html_url\n login\n __typename\n }\n __typename\n}\n":3,"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}\n":4,"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n":5,"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}\n":6,"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}\n":7} \ No newline at end of file diff --git a/package.json b/package.json index 25520c3..04a37cb 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "dotenv": "4.0.0", "express": "4.14.0", "express-session": "1.14.2", - "extractgql": "^0.1.11", + "persistgraphql": "^0.2.6", "graphql": "0.7.2", "graphql-server-express": "^0.4.1", "graphql-subscriptions": "0.2.2", From 39270a5c2b41a23a2080e6424e2f92ac2112c1d0 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 2 Feb 2017 01:54:17 -0500 Subject: [PATCH 101/174] linter fixes --- api/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/index.js b/api/index.js index a968461..01550bd 100644 --- a/api/index.js +++ b/api/index.js @@ -39,8 +39,6 @@ app.use(bodyParser.json()); app.use( '/graphql', (req, resp, next) => { - console.log('In the ghetto middleware'); - if (config.persistedQueries) { const invertedMap = invert(queryMap); req.body.query = invertedMap[req.body.id]; From feec8bd253e6a06f7ad5fd6c68f33ce3c0123878 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 2 Feb 2017 01:54:50 -0500 Subject: [PATCH 102/174] updated extracted queries --- extracted_queries.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extracted_queries.json b/extracted_queries.json index fbd5dbd..8085f1b 100644 --- a/extracted_queries.json +++ b/extracted_queries.json @@ -1 +1 @@ -{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n":1,"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}\n":2,"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}\n\nfragment FeedEntry on Entry {\n id\n commentCount\n repository {\n full_name\n html_url\n owner {\n avatar_url\n __typename\n }\n __typename\n }\n ...VoteButtons\n ...RepoInfo\n __typename\n}\n\nfragment VoteButtons on Entry {\n score\n vote {\n vote_value\n __typename\n }\n __typename\n}\n\nfragment RepoInfo on Entry {\n createdAt\n repository {\n description\n stargazers_count\n open_issues_count\n __typename\n }\n postedBy {\n html_url\n login\n __typename\n }\n __typename\n}\n":3,"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}\n":4,"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n":5,"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}\n":6,"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}\n":7} \ No newline at end of file +{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n":1,"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}\n":2,"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}\n\nfragment FeedEntry on Entry {\n id\n commentCount\n repository {\n full_name\n html_url\n owner {\n avatar_url\n __typename\n }\n __typename\n }\n ...VoteButtons\n ...RepoInfo\n}\n\nfragment VoteButtons on Entry {\n score\n vote {\n vote_value\n __typename\n }\n}\n\nfragment RepoInfo on Entry {\n createdAt\n repository {\n description\n stargazers_count\n open_issues_count\n __typename\n }\n postedBy {\n html_url\n login\n __typename\n }\n}\n":3,"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}\n":4,"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n":5,"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}\n":6,"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}\n":7} \ No newline at end of file From ed9580b6564a34eaa2eef3dcb9e2bfe95482bcf3 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 2 Feb 2017 01:59:30 -0500 Subject: [PATCH 103/174] pacified linter --- api/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 01550bd..4908d1b 100644 --- a/api/index.js +++ b/api/index.js @@ -3,7 +3,6 @@ import express from 'express'; import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import bodyParser from 'body-parser'; import { invert } from 'lodash'; -import { getMiddlewareForQueryMap } from 'persistgraphql/lib/server'; import { GITHUB_CLIENT_ID, @@ -41,6 +40,7 @@ app.use( (req, resp, next) => { if (config.persistedQueries) { const invertedMap = invert(queryMap); + // eslint-disable-next-line no-param-reassign req.body.query = invertedMap[req.body.id]; } next(); From 4f05da1dad715507ee1ea614f11a961774e53918 Mon Sep 17 00:00:00 2001 From: Dhaivat Pandya Date: Thu, 2 Feb 2017 02:09:15 -0500 Subject: [PATCH 104/174] updated extracted queries --- extracted_queries.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extracted_queries.json b/extracted_queries.json index 8085f1b..fbd5dbd 100644 --- a/extracted_queries.json +++ b/extracted_queries.json @@ -1 +1 @@ -{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n":1,"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}\n":2,"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}\n\nfragment FeedEntry on Entry {\n id\n commentCount\n repository {\n full_name\n html_url\n owner {\n avatar_url\n __typename\n }\n __typename\n }\n ...VoteButtons\n ...RepoInfo\n}\n\nfragment VoteButtons on Entry {\n score\n vote {\n vote_value\n __typename\n }\n}\n\nfragment RepoInfo on Entry {\n createdAt\n repository {\n description\n stargazers_count\n open_issues_count\n __typename\n }\n postedBy {\n html_url\n login\n __typename\n }\n}\n":3,"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}\n":4,"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n}\n":5,"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}\n":6,"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}\n":7} \ No newline at end of file +{"query Comment($repoName: String!) {\n currentUser {\n login\n html_url\n __typename\n }\n entry(repoFullName: $repoName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n comments {\n ...CommentsPageComment\n __typename\n }\n repository {\n full_name\n html_url\n description\n open_issues_count\n stargazers_count\n __typename\n }\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n":1,"subscription onCommentAdded($repoFullName: String!) {\n commentAdded(repoFullName: $repoFullName) {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n }\n}\n":2,"query Feed($type: FeedType!, $offset: Int, $limit: Int) {\n currentUser {\n login\n __typename\n }\n feed(type: $type, offset: $offset, limit: $limit) {\n ...FeedEntry\n __typename\n }\n}\n\nfragment FeedEntry on Entry {\n id\n commentCount\n repository {\n full_name\n html_url\n owner {\n avatar_url\n __typename\n }\n __typename\n }\n ...VoteButtons\n ...RepoInfo\n __typename\n}\n\nfragment VoteButtons on Entry {\n score\n vote {\n vote_value\n __typename\n }\n __typename\n}\n\nfragment RepoInfo on Entry {\n createdAt\n repository {\n description\n stargazers_count\n open_issues_count\n __typename\n }\n postedBy {\n html_url\n login\n __typename\n }\n __typename\n}\n":3,"query CurrentUserForLayout {\n currentUser {\n login\n avatar_url\n __typename\n }\n}\n":4,"mutation submitComment($repoFullName: String!, $commentContent: String!) {\n submitComment(repoFullName: $repoFullName, commentContent: $commentContent) {\n ...CommentsPageComment\n __typename\n }\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n\nfragment CommentsPageComment on Comment {\n id\n postedBy {\n login\n html_url\n __typename\n }\n createdAt\n content\n __typename\n}\n":5,"mutation submitRepository($repoFullName: String!) {\n submitRepository(repoFullName: $repoFullName) {\n createdAt\n __typename\n }\n}\n":6,"mutation vote($repoFullName: String!, $type: VoteType!) {\n vote(repoFullName: $repoFullName, type: $type) {\n score\n id\n vote {\n vote_value\n __typename\n }\n __typename\n }\n}\n":7} \ No newline at end of file From 5de85a8155724a84204abd47462008810f99284b Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Thu, 2 Feb 2017 17:01:25 -0800 Subject: [PATCH 105/174] Update index.js tiny performance change --- api/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 4908d1b..28b653e 100644 --- a/api/index.js +++ b/api/index.js @@ -35,11 +35,12 @@ const app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); +const invertedMap = invert(queryMap); + app.use( '/graphql', (req, resp, next) => { if (config.persistedQueries) { - const invertedMap = invert(queryMap); // eslint-disable-next-line no-param-reassign req.body.query = invertedMap[req.body.id]; } From b2861c8a6e2f78db0c22959ec6de3e78169c3774 Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Thu, 2 Feb 2017 17:30:56 -0800 Subject: [PATCH 106/174] Update some package versions --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 450b755..ca6e85f 100644 --- a/package.json +++ b/package.json @@ -45,12 +45,12 @@ "dataloader": "1.2.0", "dotenv": "4.0.0", "express": "4.14.1", - "express-session": "1.14.2", + "express-session": "1.15.0", "persistgraphql": "^0.2.6", - "graphql": "0.7.2", + "graphql": "^0.9.1", "graphql-server-express": "^0.5.2", - "graphql-subscriptions": "0.2.2", - "graphql-tools": "0.9.2", + "graphql-subscriptions": "^0.2.3", + "graphql-tools": "^0.9.2", "knex": "0.12.6", "lodash": "4.17.4", "passport": "0.3.2", From 6276c0cdd4544be99fa131761d6a9c46978015c7 Mon Sep 17 00:00:00 2001 From: Jonas Helfer Date: Thu, 2 Feb 2017 17:40:30 -0800 Subject: [PATCH 107/174] Make graphiql work out of the box again --- api/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/config.js b/api/config.js index 41a7b25..2502d16 100644 --- a/api/config.js +++ b/api/config.js @@ -5,5 +5,5 @@ export default { // Note that the same option must be enabled on the client // and the extracted_queries.json file in both the client and API server // must be the same. - persistedQueries: true, + persistedQueries: false, }; From 42335d2f0df02bfda2714d28899a16732ff7f58c Mon Sep 17 00:00:00 2001 From: Martijn Walraven Date: Fri, 3 Feb 2017 12:47:32 +0100 Subject: [PATCH 108/174] Update repos in seed from apollostack to apollographql --- seeds/seed.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seeds/seed.js b/seeds/seed.js index 07954e8..2161613 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -19,11 +19,11 @@ function hot(repoVotes, date) { const repos = [ { - repository_name: 'apollostack/apollo-client', + repository_name: 'apollographql/apollo-client', posted_by: 'stubailo', }, { - repository_name: 'apollostack/graphql-server', + repository_name: 'apollographql/graphql-server', posted_by: 'helfer', }, { From 9e535e81aae5b1e8e0eaea2f05042308ebb9742d Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 12:40:10 -0500 Subject: [PATCH 109/174] only nodemon in dev --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ca6e85f..eb8ff26 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "description": "Example app for Apollo", "scripts": { - "start": "nodemon api/index.js --watch api --exec babel-node", + "start": "babel-node api/index.js", + "dev": "nodemon api/index.js --watch api --exec babel-node", "lint": "eslint api migrations seeds", "test": "mocha --compilers js:babel-core/register --reporter spec --full-trace 'api/**/*.test.js' && npm run lint", "seed": "knex seed:run", From 2ce482d506449c53f568013167e16da6de9ee847 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 12:43:55 -0500 Subject: [PATCH 110/174] some package.json changes --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index eb8ff26..42508da 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Example app for Apollo", "scripts": { - "start": "babel-node api/index.js", + "start": "node -r babel-register api/index.js", "dev": "nodemon api/index.js --watch api --exec babel-node", "lint": "eslint api migrations seeds", "test": "mocha --compilers js:babel-core/register --reporter spec --full-trace 'api/**/*.test.js' && npm run lint", @@ -25,7 +25,6 @@ "babel-cli": "6.16.0", "babel-core": "6.21.0", "babel-eslint": "7.1.1", - "babel-loader": "6.2.9", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", "babel-preset-stage-2": "6.17.0", From d5cb2f2c17c73317ba08e619f67d324b054ca1fc Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 12:46:01 -0500 Subject: [PATCH 111/174] move babel dependencies to production dependencies --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 42508da..f90d9a8 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Example app for Apollo", "scripts": { - "start": "node -r babel-register api/index.js", + "start": "babel-node api/index.js", "dev": "nodemon api/index.js --watch api --exec babel-node", "lint": "eslint api migrations seeds", "test": "mocha --compilers js:babel-core/register --reporter spec --full-trace 'api/**/*.test.js' && npm run lint", @@ -22,12 +22,7 @@ }, "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { - "babel-cli": "6.16.0", - "babel-core": "6.21.0", "babel-eslint": "7.1.1", - "babel-preset-es2015": "6.16.0", - "babel-preset-react": "6.16.0", - "babel-preset-stage-2": "6.17.0", "babel-register": "6.16.3", "chai": "3.5.0", "eslint": "3.14.1", @@ -40,6 +35,11 @@ "nodemon": "1.11.0" }, "dependencies": { + "babel-cli": "6.16.0", + "babel-core": "6.21.0", + "babel-preset-es2015": "6.16.0", + "babel-preset-react": "6.16.0", + "babel-preset-stage-2": "6.17.0", "body-parser": "1.15.2", "connect-session-knex": "1.3.0", "dataloader": "1.2.0", From eb8d1ab6e47b7e96f8ca09ed01bd5dad9c279305 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 13:19:47 -0500 Subject: [PATCH 112/174] use postgres in production --- knexfile.js | 8 ++++++++ package.json | 8 +++++--- seeds/seed.js | 6 +++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/knexfile.js b/knexfile.js index 26ac784..9a17130 100644 --- a/knexfile.js +++ b/knexfile.js @@ -1,6 +1,10 @@ // Since Knex always runs this file first, all of our seeds and migrations are babelified. require('babel-register'); +const { parse } = require('pg-connection-string'); + +const { PG_URL } = process.env; + module.exports = { development: { client: 'sqlite3', @@ -9,4 +13,8 @@ module.exports = { }, useNullAsDefault: true, }, + production: PG_URL && { + client: 'pg', + connection: Object.assign({}, parse(PG_URL), { ssl: true }), + }, }; diff --git a/package.json b/package.json index f90d9a8..f310b61 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,8 @@ "eslint-plugin-jsx-a11y": "2.2.3", "eslint-plugin-react": "6.9.0", "mocha": "3.2.0", - "nodemon": "1.11.0" + "nodemon": "1.11.0", + "sqlite3": "3.1.8" }, "dependencies": { "babel-cli": "6.16.0", @@ -46,7 +47,6 @@ "dotenv": "4.0.0", "express": "4.14.1", "express-session": "1.15.0", - "persistgraphql": "^0.2.6", "graphql": "^0.9.1", "graphql-server-express": "^0.5.2", "graphql-subscriptions": "^0.2.3", @@ -55,9 +55,11 @@ "lodash": "4.17.4", "passport": "0.3.2", "passport-github": "1.1.0", + "persistgraphql": "^0.2.6", + "pg": "^6.1.2", + "pg-connection-string": "^0.1.3", "reddit-score": "0.0.1", "request-promise": "4.1.1", - "sqlite3": "3.1.8", "subscriptions-transport-ws": "0.2.6" } } diff --git a/seeds/seed.js b/seeds/seed.js index 2161613..92d87f6 100644 --- a/seeds/seed.js +++ b/seeds/seed.js @@ -100,17 +100,17 @@ export function seed(knex, Promise) { // Insert some entries for the repositories .then(() => { return Promise.all(repos.map(({ repository_name, posted_by }, i) => { - const createdAt = Date.now() - (i * 10000); + const createdAt = new Date(Date.now() - (i * 10000)); const repoVotes = votes[repository_name]; const hotScore = hot(repoVotes, createdAt); return knex('entries').insert({ created_at: createdAt, - updated_at: Date.now() - (i * 10000), + updated_at: createdAt, repository_name, posted_by, hot_score: hotScore, - }).then(([id]) => { + }).returning('id').then(([id]) => { repoIds[repository_name] = id; }); })); From 402c1536f41f8c0d016e0c4e98454617e9ec2225 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 13:22:44 -0500 Subject: [PATCH 113/174] use DATABASE_URL environment variable --- knexfile.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/knexfile.js b/knexfile.js index 9a17130..42fd716 100644 --- a/knexfile.js +++ b/knexfile.js @@ -3,7 +3,7 @@ require('babel-register'); const { parse } = require('pg-connection-string'); -const { PG_URL } = process.env; +const { DATABASE_URL } = process.env; module.exports = { development: { @@ -13,8 +13,8 @@ module.exports = { }, useNullAsDefault: true, }, - production: PG_URL && { + production: DATABASE_URL && { client: 'pg', - connection: Object.assign({}, parse(PG_URL), { ssl: true }), + connection: Object.assign({}, parse(DATABASE_URL), { ssl: true }), }, }; From 2d73ed9e7af58915eeb29ac6689fc1699e18fe49 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 13:32:25 -0500 Subject: [PATCH 114/174] use environment knex configuration --- api/sql/connector.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/sql/connector.js b/api/sql/connector.js index 5f954cf..0e836b1 100644 --- a/api/sql/connector.js +++ b/api/sql/connector.js @@ -1,6 +1,6 @@ import knex from 'knex'; -import { development } from '../../knexfile'; +import knexfile from '../../knexfile'; // Eventually we want to wrap Knex to do some batching and caching, but for // now this will do since we know none of our queries need it -export default knex(development); +export default knex(knexfile[process.env.NODE_ENV || 'development']); From 1f1249926e53aa57609572fa25b39c9b516acde0 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 13:38:05 -0500 Subject: [PATCH 115/174] =?UTF-8?q?don=E2=80=99t=20add=20100=20to=20port?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 28b653e..8147879 100644 --- a/api/index.js +++ b/api/index.js @@ -25,7 +25,7 @@ import config from './config'; let PORT = 3010; if (process.env.PORT) { - PORT = parseInt(process.env.PORT, 10) + 100; + PORT = parseInt(process.env.PORT, 10); } const WS_PORT = process.env.WS_PORT || 8080; From 075a2a2599abc33e6e37c1cb97a2c2eaecff981c Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 16:22:21 -0500 Subject: [PATCH 116/174] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f6dec1..85fafe3 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Please submit a pull request if you see anything that can be improved! 6. **Run the app.** ``` - npm start + npm run dev ``` 7. **Open the app.** Open http://localhost:3010/ to see what to do next. From 2faa390181ffd1cc3eb7e333362de46fa499f55b Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 3 Feb 2017 19:26:15 -0500 Subject: [PATCH 117/174] use production GitHub callback URL --- api/githubLogin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/githubLogin.js b/api/githubLogin.js index ccf7acc..f05488a 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -41,7 +41,7 @@ export function setUpGitHubLogin(app) { const gitHubStrategyOptions = { clientID: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET, - callbackURL: 'http://localhost:3000/login/github/callback', + callbackURL: process.env.NODE_ENV !== 'production' ? 'http://localhost:3000/login/github/callback' : 'http://api.githunt.com/login/github/callback', }; passport.use(new GitHubStrategy(gitHubStrategyOptions, (accessToken, refreshToken, profile, cb) => { From 26d9612ff063a35277849e44a7db2fb07e5e295b Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Sat, 4 Feb 2017 22:07:57 +0100 Subject: [PATCH 118/174] Update links in index.html --- api/index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/index.html b/api/index.html index ae0260b..4673411 100644 --- a/api/index.html +++ b/api/index.html @@ -15,13 +15,13 @@

    GitHunt API server

  • Download - apollostack/GitHunt-React + apollographql/GitHunt-React to run a React-based UI for this app.
  • Download - apollostack/GitHunt-Angular2 - to run an Angular2-based UI for this app. + apollographql/GitHunt-Angular + to run an Angular-based UI for this app.
  • Download @@ -31,7 +31,7 @@

    GitHunt API server

    Have any improvements in mind? File an issue or a PR about this app at - apollostack/GitHunt-API. + apollographql/GitHunt-API.

    From f4f26b585dff01e433ad87aaf80dd97c54694b8e Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Sat, 4 Feb 2017 22:10:53 +0100 Subject: [PATCH 119/174] Disable email notifications in Travis --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 52ad81f..887bb66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,3 +2,5 @@ language: node_js node_js: - "6" - "4" +notifications: + email: false \ No newline at end of file From 220dc90e2e418fa4f73c7f6508c2a742b8e80165 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Feb 2017 15:33:29 -0800 Subject: [PATCH 120/174] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f6dec1..2dca297 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ The Apollo Server backend shared by all Apollo client example apps. [![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](http://www.apollostack.com/#slack) -[![Build Status](https://travis-ci.org/apollostack/GitHunt-API.svg?branch=master)](https://travis-ci.org/apollostack/GitHunt-API) +[![Build Status](https://travis-ci.org/apollographql/GitHunt-API.svg?branch=master)](https://travis-ci.org/apollographql/GitHunt-API) Demonstrates: From ca16a81e8dbceb57854bbf0fa93e6dfe3bc7e384 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Thu, 9 Feb 2017 09:42:27 -0500 Subject: [PATCH 121/174] use heroku app url --- api/githubLogin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/githubLogin.js b/api/githubLogin.js index f05488a..755b63b 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -41,7 +41,7 @@ export function setUpGitHubLogin(app) { const gitHubStrategyOptions = { clientID: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET, - callbackURL: process.env.NODE_ENV !== 'production' ? 'http://localhost:3000/login/github/callback' : 'http://api.githunt.com/login/github/callback', + callbackURL: process.env.NODE_ENV !== 'production' ? 'http://localhost:3000/login/github/callback' : 'http://githunt-react.herokuapp.com/login/github/callback', }; passport.use(new GitHubStrategy(gitHubStrategyOptions, (accessToken, refreshToken, profile, cb) => { From 6b81988c0d6ef82776e1359afbb302ff6774d524 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Thu, 9 Feb 2017 09:47:36 -0500 Subject: [PATCH 122/174] debug the headers --- api/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/index.js b/api/index.js index 8147879..0f979ca 100644 --- a/api/index.js +++ b/api/index.js @@ -51,6 +51,8 @@ app.use( setUpGitHubLogin(app); app.use('/graphql', graphqlExpress((req) => { + console.log(req.headers) + // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 const query = req.query.query || req.body.query; From d98fae5ba258145ccedaa9337840203477cbf269 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Thu, 9 Feb 2017 09:57:32 -0500 Subject: [PATCH 123/174] stop debugging headers --- api/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/index.js b/api/index.js index 0f979ca..8147879 100644 --- a/api/index.js +++ b/api/index.js @@ -51,8 +51,6 @@ app.use( setUpGitHubLogin(app); app.use('/graphql', graphqlExpress((req) => { - console.log(req.headers) - // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 const query = req.query.query || req.body.query; From 094377ecfbcad6e3bf5dc2d4315876d32642600b Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 15:16:48 -0500 Subject: [PATCH 124/174] fix null score --- api/sql/models.js | 2 +- knexfile.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/sql/models.js b/api/sql/models.js index 4b2bc4c..493fb84 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -4,7 +4,7 @@ import knex from './connector'; // A utility function that makes sure we always query the same columns function addSelectToEntryQuery(query) { - query.select('entries.*', knex.raw('SUM(votes.vote_value) as score')) + query.select('entries.*', knex.raw('coalesce(sum(votes.vote_value), 0) as score')) .leftJoin('votes', 'entries.id', 'votes.entry_id') .groupBy('entries.id'); } diff --git a/knexfile.js b/knexfile.js index 42fd716..534a3ab 100644 --- a/knexfile.js +++ b/knexfile.js @@ -15,6 +15,6 @@ module.exports = { }, production: DATABASE_URL && { client: 'pg', - connection: Object.assign({}, parse(DATABASE_URL), { ssl: true }), + connection: Object.assign({}, parse(DATABASE_URL), { ssl: false }), }, }; From 072b32b2eee269a3a8fec5d203a434d8fc580f86 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 15:52:23 -0500 Subject: [PATCH 125/174] expose websocket server on the same port as server --- api/index.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/api/index.js b/api/index.js index 8147879..72832fe 100644 --- a/api/index.js +++ b/api/index.js @@ -28,8 +28,6 @@ if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10); } -const WS_PORT = process.env.WS_PORT || 8080; - const app = express(); app.use(bodyParser.urlencoded({ extended: true })); @@ -111,18 +109,10 @@ app.get('/', (req, res) => { res.sendFile(path.join(__dirname, 'index.html')); }); -app.listen(PORT, () => console.log( // eslint-disable-line no-console - `API Server is now running on http://localhost:${PORT}` -)); - -// WebSocket server for subscriptions -const websocketServer = createServer((request, response) => { - response.writeHead(404); - response.end(); -}); +const server = createServer(app); -websocketServer.listen(WS_PORT, () => console.log( // eslint-disable-line no-console - `Websocket Server is now running on http://localhost:${WS_PORT}` +server.listen(PORT, () => console.log( // eslint-disable-line no-console + `API Server is now running on http://localhost:${PORT}` )); // eslint-disable-next-line @@ -147,5 +137,5 @@ new SubscriptionServer( }); }, }, - websocketServer + server, ); From 3f9799f06e7b26eb08af5944bdbb7ddddedf0eac Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 16:02:06 -0500 Subject: [PATCH 126/174] make comment date format compatible with Postgres --- api/sql/models.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/sql/models.js b/api/sql/models.js index 493fb84..fec91e9 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -58,7 +58,7 @@ export class Comments { return knex.transaction(trx => trx('comments') .insert({ content, - created_at: Date.now(), + created_at: new Date(Date.now()), repository_name: repoFullName, posted_by: username, })); @@ -237,8 +237,8 @@ export class Entries { } else { return trx('entries') .insert({ - created_at: Date.now(), - updated_at: Date.now(), + created_at: new Date(Date.now()), + updated_at: new Date(Date.now()), repository_name: repoFullName, posted_by: username, }); From bdf2d682d5573b10cd47cb18f233e18902332993 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 16:14:26 -0500 Subject: [PATCH 127/174] add returning clause --- api/sql/models.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/sql/models.js b/api/sql/models.js index fec91e9..9f2063b 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -61,7 +61,8 @@ export class Comments { created_at: new Date(Date.now()), repository_name: repoFullName, posted_by: username, - })); + }) + .returning(['id'])); } } export class Entries { From ba26aefdbd210d305de84851ea326dfd12ad58e9 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 16:14:54 -0500 Subject: [PATCH 128/174] fix retunring clause --- api/sql/models.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/sql/models.js b/api/sql/models.js index 9f2063b..c7eb6bb 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -62,7 +62,7 @@ export class Comments { repository_name: repoFullName, posted_by: username, }) - .returning(['id'])); + .returning('id')); } } export class Entries { From 161b4437dca8e481576a8d0a2dd9ffa53cd9e454 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 16:34:32 -0500 Subject: [PATCH 129/174] oops, set ssl to true --- knexfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/knexfile.js b/knexfile.js index 534a3ab..42fd716 100644 --- a/knexfile.js +++ b/knexfile.js @@ -15,6 +15,6 @@ module.exports = { }, production: DATABASE_URL && { client: 'pg', - connection: Object.assign({}, parse(DATABASE_URL), { ssl: false }), + connection: Object.assign({}, parse(DATABASE_URL), { ssl: true }), }, }; From ab2a263ab277a63738e3207412fa0d4db107e8e4 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 16:41:46 -0500 Subject: [PATCH 130/174] fix count selection in Postgres --- api/sql/models.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/sql/models.js b/api/sql/models.js index c7eb6bb..054ee12 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -51,7 +51,7 @@ export class Comments { const query = knex('comments') .where({ repository_name: name }) .count(); - return query.then(rows => rows.map(row => (row['count(*)'] || '0'))); + return query.then(rows => rows.map(row => (row['count(*)'] || row.count || '0'))); } submitComment(repoFullName, username, content) { From d5a2b85801d665730a0d6a64a614388da1f166a8 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 16:43:46 -0500 Subject: [PATCH 131/174] normalize another date --- api/sql/models.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/sql/models.js b/api/sql/models.js index 054ee12..ccfe888 100644 --- a/api/sql/models.js +++ b/api/sql/models.js @@ -228,7 +228,7 @@ export class Entries { return knex.transaction(trx => trx('entries') .count() .where('posted_by', '=', username) - .where('created_at', '>', Date.now() - rateLimitMs) + .where('created_at', '>', new Date(Date.now() - rateLimitMs)) .then((obj) => { // If the user has already submitted too many times, we don't // post the repo. From 9fbf06588d8dcb088fc4dac7b1cf3c0240692841 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Feb 2017 17:07:34 -0500 Subject: [PATCH 132/174] change to production domain name --- api/githubLogin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/githubLogin.js b/api/githubLogin.js index 755b63b..ff516ad 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -41,7 +41,7 @@ export function setUpGitHubLogin(app) { const gitHubStrategyOptions = { clientID: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET, - callbackURL: process.env.NODE_ENV !== 'production' ? 'http://localhost:3000/login/github/callback' : 'http://githunt-react.herokuapp.com/login/github/callback', + callbackURL: process.env.NODE_ENV !== 'production' ? 'http://localhost:3000/login/github/callback' : 'http://www.githunt.com/login/github/callback', }; passport.use(new GitHubStrategy(gitHubStrategyOptions, (accessToken, refreshToken, profile, cb) => { From b658e0c2cf864aef7b2ad3ca3448f09aa10aeca1 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Tue, 14 Feb 2017 13:37:23 -0500 Subject: [PATCH 133/174] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b6716a8..0a5a727 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ The Apollo Server backend shared by all Apollo client example apps. +Interact with the API yourself at [http://api.githunt.com/graphiql](http://api.githunt.com/graphiql). + [![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](http://www.apollostack.com/#slack) [![Build Status](https://travis-ci.org/apollographql/GitHunt-API.svg?branch=master)](https://travis-ci.org/apollographql/GitHunt-API) From cb5b600166f3f8a31a22ea8285791c904036521f Mon Sep 17 00:00:00 2001 From: rohit2b Date: Thu, 16 Feb 2017 15:01:56 -0800 Subject: [PATCH 134/174] Added Optics instrumentation code --- api/index.js | 6 ++++++ package.json | 1 + 2 files changed, 7 insertions(+) diff --git a/api/index.js b/api/index.js index 72832fe..4e64295 100644 --- a/api/index.js +++ b/api/index.js @@ -20,6 +20,9 @@ import { subscriptionManager } from './subscriptions'; import schema from './schema'; +import OpticsAgent from 'optics-agent'; +OpticsAgent.instrumentSchema(schema); + import queryMap from '../extracted_queries.json'; import config from './config'; @@ -48,6 +51,8 @@ app.use( setUpGitHubLogin(app); +app.use('/graphql', OpticsAgent.middleware()); + app.use('/graphql', graphqlExpress((req) => { // Get the query, the same way express-graphql does it // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 @@ -85,6 +90,7 @@ app.use('/graphql', graphqlExpress((req) => { Users: new Users({ connector: gitHubConnector }), Entries: new Entries(), Comments: new Comments(), + opticsContext: OpticsAgent.context(req), }, }; })); diff --git a/package.json b/package.json index f310b61..e880a4c 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "graphql-tools": "^0.9.2", "knex": "0.12.6", "lodash": "4.17.4", + "optics-agent": "^1.0.5", "passport": "0.3.2", "passport-github": "1.1.0", "persistgraphql": "^0.2.6", From fa91408a3af5f7a0dbfe101e9a930f14acb42842 Mon Sep 17 00:00:00 2001 From: rohit2b Date: Fri, 17 Feb 2017 00:08:47 +0000 Subject: [PATCH 135/174] Enabled running the server even without Optics --- api/index.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/api/index.js b/api/index.js index 4e64295..0d97540 100644 --- a/api/index.js +++ b/api/index.js @@ -21,7 +21,9 @@ import { subscriptionManager } from './subscriptions'; import schema from './schema'; import OpticsAgent from 'optics-agent'; -OpticsAgent.instrumentSchema(schema); +if (process.env.OPTICS_API_KEY) { + OpticsAgent.instrumentSchema(schema); +} import queryMap from '../extracted_queries.json'; import config from './config'; @@ -51,7 +53,9 @@ app.use( setUpGitHubLogin(app); -app.use('/graphql', OpticsAgent.middleware()); +if (process.env.OPTICS_API_KEY) { + app.use('/graphql', OpticsAgent.middleware()); +} app.use('/graphql', graphqlExpress((req) => { // Get the query, the same way express-graphql does it @@ -82,6 +86,11 @@ app.use('/graphql', graphqlExpress((req) => { clientSecret: GITHUB_CLIENT_SECRET, }); + let opticsContext; + if (process.env.OPTICS_API_KEY) { + opticsContext = OpticsAgent.context(req); + } + return { schema, context: { @@ -90,7 +99,7 @@ app.use('/graphql', graphqlExpress((req) => { Users: new Users({ connector: gitHubConnector }), Entries: new Entries(), Comments: new Comments(), - opticsContext: OpticsAgent.context(req), + opticsContext, }, }; })); From e2ee971284f155cb9e110998d18a8cef4a429fb4 Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Thu, 16 Feb 2017 19:13:24 -0500 Subject: [PATCH 136/174] fix lint error --- api/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/index.js b/api/index.js index 0d97540..3d92268 100644 --- a/api/index.js +++ b/api/index.js @@ -1,6 +1,7 @@ import path from 'path'; import express from 'express'; import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; +import OpticsAgent from 'optics-agent'; import bodyParser from 'body-parser'; import { invert } from 'lodash'; @@ -20,14 +21,13 @@ import { subscriptionManager } from './subscriptions'; import schema from './schema'; -import OpticsAgent from 'optics-agent'; +import queryMap from '../extracted_queries.json'; +import config from './config'; + if (process.env.OPTICS_API_KEY) { OpticsAgent.instrumentSchema(schema); } -import queryMap from '../extracted_queries.json'; -import config from './config'; - let PORT = 3010; if (process.env.PORT) { PORT = parseInt(process.env.PORT, 10); From 4aaa5fb8ee96e5c6f1f51a49b6e8f3e0c4712481 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 27 Feb 2017 12:06:44 -0800 Subject: [PATCH 137/174] chore(package): update eslint-plugin-babel to version 4.1.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e880a4c..2fe3525 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "chai": "3.5.0", "eslint": "3.14.1", "eslint-config-airbnb": "12.0.0", - "eslint-plugin-babel": "3.3.0", + "eslint-plugin-babel": "4.1.0", "eslint-plugin-import": "1.16.0", "eslint-plugin-jsx-a11y": "2.2.3", "eslint-plugin-react": "6.9.0", From 2c56e20c1c2ecdfef9ef9b175dcb0518589ff756 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 1 Mar 2017 14:21:35 -0800 Subject: [PATCH 138/174] chore(package): update body-parser to version 1.17.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2fe3525..64eb107 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", "babel-preset-stage-2": "6.17.0", - "body-parser": "1.15.2", + "body-parser": "1.17.0", "connect-session-knex": "1.3.0", "dataloader": "1.2.0", "dotenv": "4.0.0", From c1f9b9e8dd9ffe43e757ab4e02e982841b17d399 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 1 Mar 2017 14:47:43 -0800 Subject: [PATCH 139/174] chore(package): update express to version 4.15.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2fe3525..6c6a8b0 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "connect-session-knex": "1.3.0", "dataloader": "1.2.0", "dotenv": "4.0.0", - "express": "4.14.1", + "express": "4.15.0", "express-session": "1.15.0", "graphql": "^0.9.1", "graphql-server-express": "^0.5.2", From 99ee4cdf50d7d070c97c82c5ad54a5dd3ac67f94 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 2 Mar 2017 13:30:45 -0800 Subject: [PATCH 140/174] chore(package): update babel-preset-react to version 6.23.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4679fa1..e38f20c 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "babel-cli": "6.16.0", "babel-core": "6.21.0", "babel-preset-es2015": "6.16.0", - "babel-preset-react": "6.16.0", + "babel-preset-react": "6.23.0", "babel-preset-stage-2": "6.17.0", "body-parser": "1.17.0", "connect-session-knex": "1.3.0", From 8982aebbb186a54fc0658291a723252911045514 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 2 Mar 2017 13:46:07 -0800 Subject: [PATCH 141/174] chore(package): update babel-register to version 6.23.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4679fa1..0cc69ba 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { "babel-eslint": "7.1.1", - "babel-register": "6.16.3", + "babel-register": "6.23.0", "chai": "3.5.0", "eslint": "3.14.1", "eslint-config-airbnb": "12.0.0", From bb25841b77a26ff7127681ed050bda540337e849 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 2 Mar 2017 13:49:34 -0800 Subject: [PATCH 142/174] chore(package): update babel-core to version 6.23.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4679fa1..f06e7e3 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ }, "dependencies": { "babel-cli": "6.16.0", - "babel-core": "6.21.0", + "babel-core": "6.23.1", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", "babel-preset-stage-2": "6.17.0", From 58fc268326f819fb0198dd6780ca8c09e98f4c00 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 2 Mar 2017 20:36:48 -0800 Subject: [PATCH 143/174] chore(package): update graphql-tools to version 0.10.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4679fa1..4d4ba79 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "graphql": "^0.9.1", "graphql-server-express": "^0.5.2", "graphql-subscriptions": "^0.2.3", - "graphql-tools": "^0.9.2", + "graphql-tools": "^0.10.1", "knex": "0.12.6", "lodash": "4.17.4", "optics-agent": "^1.0.5", From d617cd1cb988c6290c100d182f757d1484bfbd50 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 3 Mar 2017 14:57:11 -0800 Subject: [PATCH 144/174] chore(package): update eslint to version 3.17.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 19c3aec..6f931aa 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "babel-eslint": "7.1.1", "babel-register": "6.23.0", "chai": "3.5.0", - "eslint": "3.14.1", + "eslint": "3.17.0", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "4.1.0", "eslint-plugin-import": "1.16.0", From e8c663b092fc2d809a43229ee0ca5d524788b667 Mon Sep 17 00:00:00 2001 From: Urigo Date: Mon, 13 Feb 2017 10:27:58 +0200 Subject: [PATCH 145/174] chore(dependencies): update dependencies and use new subscriptions API --- api/index.js | 4 +- package.json | 7 +- yarn.lock | 1750 ++++++++++++++++++++++++++++---------------------- 3 files changed, 1004 insertions(+), 757 deletions(-) diff --git a/api/index.js b/api/index.js index 3d92268..4983220 100644 --- a/api/index.js +++ b/api/index.js @@ -152,5 +152,7 @@ new SubscriptionServer( }); }, }, - server, + { + server: websocketServer + } ); diff --git a/package.json b/package.json index 646d6d4..0f9708a 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "express-session": "1.15.0", "graphql": "^0.9.1", "graphql-server-express": "^0.5.2", - "graphql-subscriptions": "^0.2.3", + "graphql-subscriptions": "^0.3.0", "graphql-tools": "^0.10.1", "knex": "0.12.6", "lodash": "4.17.4", @@ -59,8 +59,9 @@ "persistgraphql": "^0.2.6", "pg": "^6.1.2", "pg-connection-string": "^0.1.3", - "reddit-score": "0.0.1", + "reddit-score": "0.0.2", "request-promise": "4.1.1", - "subscriptions-transport-ws": "0.2.6" + "sqlite3": "3.1.8", + "subscriptions-transport-ws": "^0.5.1" } } diff --git a/yarn.lock b/yarn.lock index 6eae1fc..e3081e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,25 +1,43 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 + + +"@types/chai@^3.4.34": + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.4.34.tgz#d5335792823bb09cddd5e38c3d211b709183854d" + "@types/express-serve-static-core@*": - version "4.0.39" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.39.tgz#45157f96480d46f254648f45b2c6d70bd9fc9f54" + version "4.0.40" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.40.tgz#168e82978bffc81ee7737bc60728d64733a4f37b" dependencies: "@types/node" "*" -"@types/express@^4.0.33": - version "4.0.33" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.33.tgz#9212b6c67e02e09ee9f80740ded04306050739ab" +"@types/express@^4.0.35": + version "4.0.35" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.35.tgz#6267c7b60a51fac473467b3c4a02cd1e441805fe" dependencies: "@types/express-serve-static-core" "*" "@types/serve-static" "*" +"@types/graphql@^0.8.5", "@types/graphql@^0.8.6": + version "0.8.6" + resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.8.6.tgz#b34fb880493ba835b0c067024ee70130d6f9bb68" + +"@types/lodash@^4.14.37": + version "4.14.52" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.52.tgz#de5c7ab14da1289733233c9b0ec6f9e377db90f5" + "@types/mime@*": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b" -"@types/node@*", "@types/node@^6.0.38": - version "6.0.46" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.46.tgz#8d9e48572831f05b11cc4c793754d43437219d62" +"@types/mocha@^2.2.32": + version "2.2.39" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.39.tgz#f68d63db8b69c38e9558b4073525cf96c4f7a829" + +"@types/node@*", "@types/node@^6.0.45": + version "6.0.63" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.63.tgz#e08acbbd5946e0e95990b1c76f3ce5b7882a48eb" "@types/serve-static@*": version "1.7.31" @@ -28,6 +46,16 @@ "@types/express-serve-static-core" "*" "@types/mime" "*" +"@types/ws@0.0.37": + version "0.0.37" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-0.0.37.tgz#71d26d7bdc40e75e7d325cf9511648c518ad6fd5" + dependencies: + "@types/node" "*" + +"@types/yargs@^6.5.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-6.6.0.tgz#91f8e2580a8083049f78311c059aa57d6949df6b" + abbrev@1: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" @@ -39,27 +67,27 @@ accepts@~1.3.3: mime-types "~2.1.11" negotiator "0.6.1" -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: +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@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" + acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" - ajv-keywords@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" ajv@^4.7.0: - version "4.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.2.tgz#65486936ca36fea39a1504332a78bebd5d447bdc" + version "4.11.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -69,8 +97,8 @@ ansi-escapes@^1.1.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" ansi-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^2.1.0, ansi-styles@^2.2.1: version "2.2.1" @@ -84,8 +112,8 @@ anymatch@^1.3.0: micromatch "^2.1.5" aproba@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + version "1.1.1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" are-we-there-yet@~1.1.2: version "1.1.2" @@ -132,6 +160,13 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +array.prototype.find@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.3.tgz#08c3ec33e32ec4bab362a2958e686ae92f59271d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -165,8 +200,8 @@ aws-sign2@~0.6.0: resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" aws4@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" babel-cli@6.16.0: version "6.16.0" @@ -194,27 +229,27 @@ babel-cli@6.16.0: optionalDependencies: chokidar "^1.0.0" -babel-code-frame@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" +babel-code-frame@^6.16.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: chalk "^1.1.0" esutils "^2.0.2" - js-tokens "^2.0.0" + js-tokens "^3.0.0" -babel-core@^6.16.0, babel-core@^6.18.0: - version "6.18.2" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.2.tgz#d8bb14dd6986fa4f3566a26ceda3964fa0e04e5b" +babel-core@6.21.0, babel-core@^6.16.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" dependencies: - babel-code-frame "^6.16.0" - babel-generator "^6.18.0" + babel-code-frame "^6.20.0" + babel-generator "^6.21.0" babel-helpers "^6.16.0" babel-messages "^6.8.0" babel-register "^6.18.0" - babel-runtime "^6.9.1" + babel-runtime "^6.20.0" babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" babylon "^6.11.0" convert-source-map "^1.1.0" debug "^2.1.1" @@ -226,200 +261,199 @@ babel-core@^6.16.0, babel-core@^6.18.0: slash "^1.0.0" source-map "^0.5.0" -babel-core@6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.17.0.tgz#6c4576447df479e241e58c807e4bc7da4db7f425" - dependencies: - babel-code-frame "^6.16.0" - babel-generator "^6.17.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.16.0" - babel-runtime "^6.9.1" - babel-template "^6.16.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" +babel-core@^6.22.0: + version "6.22.1" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.22.0" + babel-helpers "^6.22.0" + babel-messages "^6.22.0" + babel-register "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.1" + babel-types "^6.22.0" babylon "^6.11.0" convert-source-map "^1.1.0" debug "^2.1.1" - json5 "^0.4.0" + json5 "^0.5.0" lodash "^4.2.0" minimatch "^3.0.2" - path-exists "^1.0.0" path-is-absolute "^1.0.0" private "^0.1.6" - shebang-regex "^1.0.0" slash "^1.0.0" source-map "^0.5.0" -babel-eslint@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.0.tgz#d506a5174ba224e25a2d17e128e2ba8987139ddc" +babel-eslint@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2" dependencies: + babel-code-frame "^6.16.0" babel-traverse "^6.15.0" babel-types "^6.15.0" - babylon "^6.11.2" + babylon "^6.13.0" lodash.pickby "^4.6.0" -babel-generator@^6.17.0, babel-generator@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07" +babel-generator@^6.21.0, babel-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" dependencies: - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" source-map "^0.5.0" -babel-helper-bindify-decorators@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" +babel-helper-bindify-decorators@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952" dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" +babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" dependencies: - babel-helper-explode-assignable-expression "^6.18.0" - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-helper-explode-assignable-expression "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" -babel-helper-builder-react-jsx@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.18.0.tgz#ab02f19a2eb7ace936dd87fa55896d02be59bf71" +babel-helper-builder-react-jsx@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.22.0.tgz#aafb31913e47761fd4d0b6987756a144a65fca0d" dependencies: - babel-runtime "^6.9.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" esutils "^2.0.0" lodash "^4.2.0" -babel-helper-call-delegate@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" +babel-helper-call-delegate@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" +babel-helper-define-map@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7" dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" lodash "^4.2.0" -babel-helper-explode-assignable-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" +babel-helper-explode-assignable-expression@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" dependencies: - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helper-explode-class@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" +babel-helper-explode-class@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b" dependencies: - babel-helper-bindify-decorators "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-bindify-decorators "^6.22.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" +babel-helper-function-name@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc" dependencies: - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helper-get-function-arity@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" +babel-helper-get-function-arity@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" -babel-helper-hoist-variables@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" +babel-helper-hoist-variables@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" -babel-helper-optimise-call-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" +babel-helper-optimise-call-expression@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" -babel-helper-regex@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" +babel-helper-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" dependencies: - babel-runtime "^6.9.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" lodash "^4.2.0" -babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.18.0.tgz#336cdf3cab650bb191b02fc16a3708e7be7f9ce5" +babel-helper-remap-async-to-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" +babel-helper-replace-supers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42" dependencies: - babel-helper-optimise-call-expression "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-optimise-call-expression "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" -babel-helpers@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" +babel-helpers@^6.16.0, babel-helpers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" dependencies: - babel-runtime "^6.0.0" - babel-template "^6.16.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" -babel-loader@6.2.6: - version "6.2.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.6.tgz#4b405436a0df41945e8ebb25eaaec5f29e9850f3" +babel-loader@6.2.9: + version "6.2.9" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.9.tgz#2bce6a1c29b47afa90b937ba1fb1f87084d61c61" dependencies: find-cache-dir "^0.1.1" loader-utils "^0.2.11" mkdirp "^0.5.1" object-assign "^4.0.1" -babel-messages@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" +babel-messages@^6.22.0, babel-messages@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-check-es2015-constants@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -453,286 +487,283 @@ babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-plugin-syntax-trailing-function-commas@^6.3.13: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.13.0.tgz#2b84b7d53dd744f94ff1fad7669406274b23f541" +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" -babel-plugin-transform-async-generator-functions@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" +babel-plugin-transform-async-generator-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46" dependencies: - babel-helper-remap-async-to-generator "^6.16.2" + babel-helper-remap-async-to-generator "^6.22.0" babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-async-to-generator@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" dependencies: - babel-helper-remap-async-to-generator "^6.16.0" + babel-helper-remap-async-to-generator "^6.22.0" babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-class-properties@^6.16.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.18.0.tgz#bc1266a39d4c8726e0bd7b15c56235177e6ede57" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8" dependencies: - babel-helper-function-name "^6.18.0" + babel-helper-function-name "^6.22.0" babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.9.1" + babel-runtime "^6.22.0" + babel-template "^6.22.0" babel-plugin-transform-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c" dependencies: - babel-helper-define-map "^6.8.0" - babel-helper-explode-class "^6.8.0" + babel-helper-explode-class "^6.22.0" babel-plugin-syntax-decorators "^6.13.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-types "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-arrow-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoping@^6.14.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz#3bfdcfec318d46df22525cdea88f1978813653af" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e" dependencies: - babel-runtime "^6.9.0" - babel-template "^6.15.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" lodash "^4.2.0" babel-plugin-transform-es2015-classes@^6.14.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" - dependencies: - babel-helper-define-map "^6.18.0" - babel-helper-function-name "^6.18.0" - babel-helper-optimise-call-expression "^6.18.0" - babel-helper-replace-supers "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-template "^6.14.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14" + dependencies: + babel-helper-define-map "^6.22.0" + babel-helper-function-name "^6.22.0" + babel-helper-optimise-call-expression "^6.22.0" + babel-helper-replace-supers "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" dependencies: - babel-helper-define-map "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" babel-plugin-transform-es2015-destructuring@^6.16.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz#a08fb89415ab82058649558bedb7bf8dafa76ba5" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6" dependencies: - babel-runtime "^6.9.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-for-of@^6.6.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" dependencies: - babel-helper-function-name "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.9.0" + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-literals@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-amd@^6.18.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" -babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" +babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145" dependencies: - babel-plugin-transform-strict-mode "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-types "^6.18.0" + babel-plugin-transform-strict-mode "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-modules-systemjs@^6.14.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz#f09294707163edae4d3b3e8bfacecd01d920b7ad" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad" dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.11.6" - babel-template "^6.14.0" + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" babel-plugin-transform-es2015-modules-umd@^6.12.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz#60d0ba3bd23258719c64391d9bf492d648dc0fae" dependencies: - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" dependencies: - babel-helper-replace-supers "^6.8.0" - babel-runtime "^6.0.0" + babel-helper-replace-supers "^6.22.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-parameters@^6.16.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb" dependencies: - babel-helper-call-delegate "^6.18.0" - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.9.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" + babel-helper-call-delegate "^6.22.0" + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-shorthand-properties@^6.3.13: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-spread@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-sticky-regex@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - babel-types "^6.8.0" + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" babel-plugin-transform-es2015-template-literals@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-typeof-symbol@^6.6.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-unicode-regex@^6.3.13: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" + babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-flow-strip-types@^6.3.13: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.18.0.tgz#4d3e642158661e9b40db457c004a30817fa32592" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-object-rest-spread@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.16.0.tgz#db441d56fffc1999052fdebe2e2f25ebd28e36a9" +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz#1d419b55e68d2e4f64a5ff3373bd67d73c8e83bc" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-react-display-name@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.22.0.tgz#077197520fa8562b8d3da4c3c4b0b1bdd7853f26" dependencies: - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-react-jsx-self@^6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" dependencies: babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.9.0" + babel-runtime "^6.22.0" babel-plugin-transform-react-jsx-source@^6.3.13: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" dependencies: babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.9.0" + babel-runtime "^6.22.0" babel-plugin-transform-react-jsx@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.22.0.tgz#48556b7dd4c3fe97d1c943bcd54fc3f2561c1817" dependencies: - babel-helper-builder-react-jsx "^6.8.0" + babel-helper-builder-react-jsx "^6.22.0" babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" babel-plugin-transform-regenerator@^6.16.0: - version "6.16.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" dependencies: - babel-runtime "^6.9.0" - babel-types "^6.16.0" - private "~0.1.5" + regenerator-transform "0.9.8" -babel-plugin-transform-strict-mode@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" +babel-plugin-transform-strict-mode@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" babel-polyfill@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.22.0.tgz#1ac99ebdcc6ba4db1e2618c387b2084a82154a3b" dependencies: - babel-runtime "^6.9.1" + babel-runtime "^6.22.0" core-js "^2.4.0" - regenerator-runtime "^0.9.5" + regenerator-runtime "^0.10.0" babel-preset-es2015@6.16.0: version "6.16.0" @@ -784,83 +815,83 @@ babel-preset-stage-2@6.17.0: babel-preset-stage-3 "^6.17.0" babel-preset-stage-3@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e" dependencies: - babel-plugin-syntax-trailing-function-commas "^6.3.13" - babel-plugin-transform-async-generator-functions "^6.17.0" - babel-plugin-transform-async-to-generator "^6.16.0" - babel-plugin-transform-exponentiation-operator "^6.3.13" - babel-plugin-transform-object-rest-spread "^6.16.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-object-rest-spread "^6.22.0" -babel-register@^6.16.0, babel-register@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" +babel-register@6.16.3, babel-register@^6.16.0: + version "6.16.3" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.16.3.tgz#7b0c0ca7bfdeb9188ba4c27e5fcb7599a497c624" dependencies: - babel-core "^6.18.0" + babel-core "^6.16.0" babel-runtime "^6.11.6" core-js "^2.4.0" - home-or-tmp "^2.0.0" + home-or-tmp "^1.0.0" lodash "^4.2.0" mkdirp "^0.5.1" + path-exists "^1.0.0" source-map-support "^0.4.2" -babel-register@6.16.3: - version "6.16.3" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.16.3.tgz#7b0c0ca7bfdeb9188ba4c27e5fcb7599a497c624" +babel-register@^6.18.0, babel-register@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63" dependencies: - babel-core "^6.16.0" - babel-runtime "^6.11.6" + babel-core "^6.22.0" + babel-runtime "^6.22.0" core-js "^2.4.0" - home-or-tmp "^1.0.0" + home-or-tmp "^2.0.0" lodash "^4.2.0" mkdirp "^0.5.1" - path-exists "^1.0.0" source-map-support "^0.4.2" -babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" +babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" dependencies: core-js "^2.4.0" - regenerator-runtime "^0.9.5" + regenerator-runtime "^0.10.0" -babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" +babel-template@^6.16.0, babel-template@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb" dependencies: - babel-runtime "^6.9.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e" +babel-traverse@^6.15.0, babel-traverse@^6.21.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1: + version "6.22.1" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f" dependencies: - babel-code-frame "^6.16.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" - babylon "^6.11.0" + babel-code-frame "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + babylon "^6.15.0" debug "^2.2.0" globals "^9.0.0" invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.13.0, babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.8.0, babel-types@^6.9.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8" +babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db" dependencies: - babel-runtime "^6.9.1" + babel-runtime "^6.22.0" esutils "^2.0.2" lodash "^4.2.0" to-fast-properties "^1.0.1" -babylon@^6.11.0, babylon@^6.11.2: - version "6.13.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" +babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" backo2@^1.0.2: version "1.0.2" @@ -875,8 +906,8 @@ base64-url@1.3.3: resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f" bcrypt-pbkdf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" @@ -900,8 +931,8 @@ bin-version@^1.0.0: find-versions "^1.0.0" binary-extensions@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" block-stream@*: version "0.0.9" @@ -910,8 +941,8 @@ block-stream@*: inherits "~2.0.0" bluebird@^3.4.1, bluebird@^3.4.6: - version "3.4.6" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" body-parser@1.15.2: version "1.15.2" @@ -986,11 +1017,15 @@ camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + caseless@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" -chai@3.5.0: +chai@3.5.0, chai@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" dependencies: @@ -998,21 +1033,21 @@ chai@3.5.0: deep-eql "^0.1.3" type-detect "^1.0.0" -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" +chalk@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" dependencies: - ansi-styles "^2.2.1" + ansi-styles "^2.1.0" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: - ansi-styles "^2.1.0" + ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" @@ -1033,7 +1068,7 @@ chokidar@^1.0.0, chokidar@^1.4.3: optionalDependencies: fsevents "^1.0.0" -circular-json@^0.3.0: +circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" @@ -1047,6 +1082,14 @@ cli-width@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -1055,13 +1098,17 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +colors@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" -commander@^2.2.0, commander@^2.8.1, commander@^2.9.0, commander@2.9.0: +commander@2.9.0, commander@^2.2.0, commander@^2.8.1, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1076,12 +1123,12 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" concat-stream@^1.4.6: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" configstore@^1.0.0: version "1.4.0" @@ -1108,9 +1155,9 @@ contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" -content-disposition@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" content-type@~1.0.2: version "1.0.2" @@ -1136,9 +1183,9 @@ 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" -crc@3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.1.tgz#65d5830b1a2569557cfb324c0e679998521473ee" +crc@3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" cryptiles@2.x.x: version "2.0.5" @@ -1163,8 +1210,8 @@ damerau-levenshtein@^1.0.0: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" dashdash@^1.12.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" @@ -1172,19 +1219,19 @@ dataloader@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.2.0.tgz#3f73ea657c492c860c1633348adc55ca9bf2107e" -debug@^2.1.1, debug@^2.1.3, debug@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.2.tgz#94cb466ef7d6d2c7e5245cdd6e4104f2d0d70d30" - dependencies: - ms "0.7.2" - -debug@~2.2.0, debug@2.2.0: +debug@2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" -decamelize@^1.1.2: +debug@2.6.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1202,6 +1249,13 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + del@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" @@ -1250,12 +1304,9 @@ diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" -doctrine@^1.2.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" +diff@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" doctrine@1.3.x: version "1.3.0" @@ -1264,9 +1315,16 @@ doctrine@1.3.x: esutils "^2.0.2" isarray "^1.0.0" -dotenv@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-2.0.0.tgz#bd759c357aaa70365e01c96b7b0bec08a6e0d949" +doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +dotenv@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" duplexer@~0.1.1: version "0.1.1" @@ -1311,6 +1369,23 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.0" + is-callable "^1.1.3" + is-regex "^1.0.3" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: version "0.10.12" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" @@ -1341,6 +1416,10 @@ es6-promise@^3.0.2, es6-promise@^3.2.1: version "3.3.1" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" +es6-promise@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42" + es6-set@^0.1.4, es6-set@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" @@ -1351,7 +1430,11 @@ es6-set@^0.1.4, es6-set@~0.1.3: es6-symbol "3" event-emitter "~0.3.4" -es6-symbol@~3.1, es6-symbol@~3.1.0, es6-symbol@3: +es6-shim@^0.35.3: + version "0.35.3" + resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" + +es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" dependencies: @@ -1371,7 +1454,7 @@ escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@1.0.5: +escape-string-regexp@1.0.5, 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" @@ -1435,16 +1518,17 @@ eslint-plugin-jsx-a11y@2.2.3: jsx-ast-utils "^1.0.0" object-assign "^4.0.1" -eslint-plugin-react@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.5.0.tgz#93f894b6469974304609e59c8983a6a3dc81738c" +eslint-plugin-react@6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz#54c2e9906b76f9d10142030bdc34e9d6840a0bb2" dependencies: + array.prototype.find "^2.0.1" doctrine "^1.2.2" - jsx-ast-utils "^1.3.3" + jsx-ast-utils "^1.3.4" -eslint@3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.9.0.tgz#68c8fa86b1e0a3f038040f3b5808b7508c128f8e" +eslint@3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.1.tgz#8a62175f2255109494747a1b25128d97b8eb3d97" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" @@ -1457,8 +1541,8 @@ eslint@3.9.0: esutils "^2.0.2" file-entry-cache "^2.0.0" glob "^7.0.3" - globals "^9.2.0" - ignore "^3.1.5" + globals "^9.14.0" + ignore "^3.2.0" imurmurhash "^0.1.4" inquirer "^0.12.0" is-my-json-valid "^2.10.0" @@ -1476,21 +1560,21 @@ eslint@3.9.0: require-uncached "^1.0.2" shelljs "^0.7.5" strip-bom "^3.0.0" - strip-json-comments "~1.0.1" + strip-json-comments "~2.0.1" table "^3.7.8" text-table "~0.2.0" user-home "^2.0.0" espree@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" + version "3.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" dependencies: - acorn "^4.0.1" + acorn "4.0.4" acorn-jsx "^3.0.0" -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +esprima@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" esrecurse@^4.1.0: version "4.1.0" @@ -1534,6 +1618,10 @@ event-stream@~3.3.0: stream-combiner "~0.0.4" through "~2.3.1" +eventemitter3@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.2.tgz#20ce4891909ce9f35b088c94fab40e2c96f473ac" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -1556,27 +1644,27 @@ expand-tilde@^1.2.2: dependencies: os-homedir "^1.0.1" -express-session@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.14.2.tgz#6bcf586ed6d1dc37b02570087756c9de7b80b275" +express-session@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.15.0.tgz#67131dd5b78a42bc57b50af0a14880265c03f919" dependencies: cookie "0.3.1" cookie-signature "1.0.6" - crc "3.4.1" - debug "~2.2.0" + crc "3.4.4" + debug "2.6.0" depd "~1.1.0" on-headers "~1.0.1" parseurl "~1.3.1" uid-safe "~2.1.3" utils-merge "1.0.0" -express@4.14.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" +express@4.14.1: + version "4.14.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.14.1.tgz#646c237f766f148c2120aff073817b9e4d7e0d33" dependencies: accepts "~1.3.3" array-flatten "1.1.1" - content-disposition "0.5.1" + content-disposition "0.5.2" content-type "~1.0.2" cookie "0.3.1" cookie-signature "1.0.6" @@ -1585,19 +1673,19 @@ express@4.14.0: encodeurl "~1.0.1" escape-html "~1.0.3" etag "~1.7.0" - finalhandler "0.5.0" + finalhandler "0.5.1" fresh "0.3.0" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" parseurl "~1.3.1" path-to-regexp "0.1.7" - proxy-addr "~1.1.2" + proxy-addr "~1.1.3" qs "6.2.0" range-parser "~1.2.0" - send "0.14.1" - serve-static "~1.11.1" - type-is "~1.6.13" + send "0.14.2" + serve-static "~1.11.2" + type-is "~1.6.14" utils-merge "1.0.0" vary "~1.1.0" @@ -1616,8 +1704,8 @@ extsprintf@1.0.2: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" fast-levenshtein@~2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" figures@^1.3.5: version "1.7.0" @@ -1647,14 +1735,14 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" +finalhandler@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.1.tgz#2c400d8d4530935bc232549c5fa385ec07de6fcd" dependencies: debug "~2.2.0" escape-html "~1.0.3" on-finished "~2.3.0" - statuses "~1.3.0" + statuses "~1.3.1" unpipe "~1.0.0" find-cache-dir@^0.1.1: @@ -1690,15 +1778,21 @@ findup-sync@^0.4.2: micromatch "^2.3.7" resolve-dir "^0.1.0" +findup-sync@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + dependencies: + glob "~5.0.0" + flagged-respawn@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" flat-cache@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" dependencies: - circular-json "^0.3.0" + circular-json "^0.3.1" del "^2.0.2" graceful-fs "^4.1.2" write "^0.2.1" @@ -1713,6 +1807,10 @@ for-own@^0.1.4: dependencies: for-in "^0.1.5" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -1750,8 +1848,8 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.0.15" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" + version "1.0.17" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" @@ -1773,17 +1871,16 @@ fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.0.2: +function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" -gauge@~2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" +gauge@~2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" - has-color "^0.1.7" has-unicode "^2.0.0" object-assign "^4.1.0" signal-exit "^3.0.0" @@ -1802,8 +1899,12 @@ generate-object-property@^1.1.0: is-property "^1.0.0" generic-pool@^2.4.2: - version "2.4.4" - resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.4.tgz#49d90c5e8d138adef0a12780a86e4acba48892d2" + version "2.5.4" + resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.5.4.tgz#38c6188513e14030948ec6e5cf65523d9779299b" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" get-stdin@^4.0.1: version "4.0.1" @@ -1828,30 +1929,30 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^5.0.5: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" +glob@7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" dependencies: + fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "2 || 3" + minimatch "^3.0.2" once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" +glob@^5.0.5, glob@~5.0.0: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" dependencies: - fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" + minimatch "2 || 3" once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: + 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" @@ -1868,17 +1969,17 @@ global-modules@^0.2.3: is-windows "^0.2.0" global-prefix@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.4.tgz#05158db1cde2dd491b455e290eb3ab8bfc45c6e1" + version "0.1.5" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" dependencies: + homedir-polyfill "^1.0.0" ini "^1.3.4" is-windows "^0.2.0" - osenv "^0.1.3" - which "^1.2.10" + which "^1.2.12" -globals@^9.0.0, globals@^9.2.0: - version "9.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.13.0.tgz#d97706b61600d8dbe94708c367d3fdcf48470b8f" +globals@^9.0.0, globals@^9.14.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" globby@^5.0.0: version "5.0.0" @@ -1906,63 +2007,78 @@ got@^3.2.0: read-all-stream "^3.0.0" timed-out "^2.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.4: - version "4.1.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" -graphql-server-core@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/graphql-server-core/-/graphql-server-core-0.4.3.tgz#3198832ce8703388713f012da023b33a3823be98" +graphql-server-core@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/graphql-server-core/-/graphql-server-core-0.5.2.tgz#7e23fc516cb754e42c16f92928b595c354d6c8a7" + dependencies: + es6-shim "^0.35.3" optionalDependencies: - typed-graphql "^1.0.2" + "@types/graphql" "^0.8.5" -graphql-server-express@^0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/graphql-server-express/-/graphql-server-express-0.4.3.tgz#198674e6db4949c060b9959554d3dc4e9cc4ed9b" +graphql-server-express@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/graphql-server-express/-/graphql-server-express-0.5.2.tgz#c358110ddb2f82939b4d4c9d97ffb5afded7944a" dependencies: - graphql-server-core "^0.4.3" - graphql-server-module-graphiql "^0.4.3" + graphql-server-core "^0.5.2" + graphql-server-module-graphiql "^0.5.2" optionalDependencies: - "@types/express" "^4.0.33" + "@types/express" "^4.0.35" + "@types/graphql" "^0.8.6" -graphql-server-module-graphiql@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/graphql-server-module-graphiql/-/graphql-server-module-graphiql-0.4.3.tgz#f82b92b99bb1e1b4b285c86bf6fcfa60b3a7a805" +graphql-server-module-graphiql@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/graphql-server-module-graphiql/-/graphql-server-module-graphiql-0.5.2.tgz#7e2a0c78b0267e784f8483ce5633810baf558dee" -graphql-subscriptions@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.1.5.tgz#603422c0a7ea3818b630751d1c9798bfa1a820ee" +graphql-subscriptions@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.2.3.tgz#75f9a02cb6d2b456b1703ce95670f793dacee607" dependencies: es6-promise "^3.2.1" - graphql "^0.7.0" -graphql-subscriptions@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.2.1.tgz#9c46fdee043b2a51b7aaa61f8645c25410d806e4" +graphql-subscriptions@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.3.0.tgz#5c25673f6e1570c8474ac31b6505a3d0b07b4371" dependencies: es6-promise "^3.2.1" - graphql "^0.7.0" -graphql-tools@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-0.8.0.tgz#5708257a398f9a3ff6f9d6e362aac184cd4323a0" +graphql-tag@^0.1.14: + version "0.1.17" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-0.1.17.tgz#1dfd6f2310d395b309a1077bc8cdc5d6604c5e89" + +graphql-tag@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-1.2.4.tgz#90c59bea41378513fd7213dc92537fcd20e4570f" + +graphql-tools@^0.9.2: + version "0.9.2" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-0.9.2.tgz#c3f42d0b78d2d6c57cea5ef2894863de34af9a11" dependencies: deprecated-decorator "^0.1.6" lodash "^4.3.0" - node-uuid "^1.4.7" + uuid "^3.0.1" optionalDependencies: - typed-graphql "^1.0.2" + "@types/graphql" "^0.8.5" -graphql@^0.7.0, graphql@0.7.2: +graphql@^0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.7.2.tgz#cc894a32823399b8a0cb012b9e9ecad35cd00f72" dependencies: iterall "1.0.2" +graphql@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.9.1.tgz#f4d154cbec054d4a5d3b1be95f23435c09aa86c8" + dependencies: + iterall "1.0.3" + growl@1.9.2: version "1.9.2" resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" @@ -1982,10 +2098,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -2027,17 +2139,23 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" +homedir-polyfill@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + 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" + version "2.2.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" -http-errors@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.0.tgz#b1cb3d8260fd8e2386cad3189045943372d48211" +http-errors@~1.5.0, http-errors@~1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" dependencies: - inherits "2.0.1" - setprototypeof "1.0.1" - statuses ">= 1.3.0 < 2" + inherits "2.0.3" + setprototypeof "1.0.2" + statuses ">= 1.3.1 < 2" http-signature@~1.1.0: version "1.1.1" @@ -2055,9 +2173,9 @@ ignore-by-default@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" -ignore@^3.1.5: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" +ignore@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410" imurmurhash@^0.1.4: version "0.1.4" @@ -2080,14 +2198,10 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -2119,14 +2233,18 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" invariant@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" -ipaddr.js@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230" +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ipaddr.js@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4" is-arrayish@^0.2.1: version "0.2.1" @@ -2148,6 +2266,14 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + is-dotfile@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" @@ -2239,6 +2365,10 @@ is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" +is-regex@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637" + is-resolvable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" @@ -2249,7 +2379,11 @@ is-stream@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2261,14 +2395,14 @@ is-windows@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" -isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isexe@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" @@ -2287,26 +2421,30 @@ iterall@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.2.tgz#41a2e96ce9eda5e61c767ee5dc312373bb046e91" +iterall@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.3.tgz#e0b31958f835013c323ff0b10943829ac69aa4b7" + jodid25519@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" dependencies: jsbn "~0.1.0" -js-tokens@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" js-yaml@^3.5.1: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + version "3.8.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628" dependencies: argparse "^1.0.7" - esprima "^2.6.0" + esprima "^3.1.1" jsbn@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" jsesc@^1.3.0: version "1.3.0" @@ -2334,21 +2472,17 @@ json3@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" -json5@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" - json5@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" jsonpointer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" jsprim@^1.2.2: version "1.3.1" @@ -2358,16 +2492,15 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.3.tgz#ccfdbe0320ba03f7a1fc4e67ceaf7e2cc0169721" +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591" dependencies: - acorn-jsx "^3.0.1" object-assign "^4.1.0" kind-of@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" dependencies: is-buffer "^1.0.2" @@ -2399,6 +2532,12 @@ latest-version@^1.0.0: dependencies: package-json "^1.0.0" +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -2541,13 +2680,9 @@ lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0: - version "4.16.6" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" - -lodash@4.16.5: - version "4.16.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8" +lodash@4.17.4, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.16.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" log-symbols@^1.0.2: version "1.0.2" @@ -2556,10 +2691,10 @@ log-symbols@^1.0.2: chalk "^1.0.0" loose-envify@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: - js-tokens "^2.0.0" + js-tokens "^3.0.0" loud-rejection@^1.0.0: version "1.6.0" @@ -2625,47 +2760,47 @@ micromatch@^2.1.5, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -mime-db@~1.24.0: - version "1.24.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" +mime-db@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: - version "2.1.12" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7: + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" dependencies: - mime-db "~1.24.0" + mime-db "~1.26.0" mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, "minimatch@2 || 3": +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" dependencies: brace-expansion "^1.0.0" -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +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.0: +minimist@^1.1.0, minimist@~1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.1, mkdirp@0.5.1: +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, 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" -mocha@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.1.2.tgz#51f93b432bf7e1b175ffc22883ccd0be32dba6b5" +mocha@3.2.0, mocha@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" dependencies: browser-stdout "1.3.0" commander "2.9.0" @@ -2691,7 +2826,7 @@ mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" -nan@^2.3.0, nan@^2.3.3, nan@~2.4.0: +nan@^2.3.0, nan@~2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" @@ -2710,24 +2845,20 @@ nested-error-stacks@^1.0.0: inherits "~2.0.1" node-pre-gyp@^0.6.29, node-pre-gyp@~0.6.31: - version "0.6.31" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.31.tgz#d8a00ddaa301a940615dbcc8caad4024d58f6017" + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" dependencies: mkdirp "~0.5.1" nopt "~3.0.6" - npmlog "^4.0.0" + npmlog "^4.0.1" rc "~1.1.6" - request "^2.75.0" + request "^2.79.0" rimraf "~2.5.4" semver "~5.3.0" tar "~2.2.1" tar-pack "~3.3.0" -node-static@0.5.9: - version "0.5.9" - resolved "https://registry.yarnpkg.com/node-static/-/node-static-0.5.9.tgz#2f5bf30949e1735958266c269413aebce8cbe899" - -node-uuid@^1.4.7, node-uuid@~1.4.7: +node-uuid@^1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" @@ -2771,13 +2902,13 @@ normalize-path@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" -npmlog@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" +npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" - gauge "~2.6.0" + gauge "~2.7.1" set-blocking "~2.0.0" number-is-nan@^1.0.0: @@ -2789,16 +2920,20 @@ oauth-sign@~0.8.1: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" oauth@0.9.x: - version "0.9.14" - resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.14.tgz#c5748883a40b53de30ade9cabf2100414b8a0971" + version "0.9.15" + resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" object-assign@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" object.omit@^2.0.0: version "2.0.1" @@ -2833,6 +2968,13 @@ onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" +optimist@~0.6.0: + 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" + optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" @@ -2844,17 +2986,27 @@ optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.0, osenv@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" +osenv@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" @@ -2889,6 +3041,10 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" @@ -2900,12 +3056,13 @@ passport-github@1.1.0: passport-oauth2 "1.x.x" passport-oauth2@1.x.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.3.0.tgz#d72b4bd62eeb807a4089ff3071a22c26c382dc0c" + version "1.4.0" + resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.4.0.tgz#f62f81583cbe12609be7ce6f160b9395a27b86ad" dependencies: oauth "0.9.x" passport-strategy "1.x.x" uid2 "0.0.x" + utils-merge "1.x.x" passport-strategy@1.x.x: version "1.0.0" @@ -2958,6 +3115,27 @@ pause@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" +persistgraphql@^0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/persistgraphql/-/persistgraphql-0.2.10.tgz#aaec437f2a0c470e15bbb3587793a11c019fbd67" + dependencies: + "@types/chai" "^3.4.34" + "@types/lodash" "^4.14.37" + "@types/mocha" "^2.2.32" + "@types/node" "^6.0.45" + "@types/yargs" "^6.5.0" + chai "^3.5.0" + es6-promise "^4.0.5" + graphql "^0.7.2" + graphql-tag "^0.1.14" + lodash "^4.16.4" + mocha "^3.1.2" + source-map-support "^0.4.3" + tslint "^3.15.1" + typescript "^2.0.3" + whatwg-fetch "^2.0.0" + yargs "^6.5.0" + pg-connection-string@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" @@ -3004,9 +3182,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -private@^0.1.6, private@~0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" +private@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" process-nextick-args@~1.0.6: version "1.0.7" @@ -3016,12 +3194,12 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -proxy-addr@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.2.tgz#b4cc5f22610d9535824c123aef9d3cf73c40ba37" +proxy-addr@~1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074" dependencies: forwarded "~0.1.0" - ipaddr.js "1.1.1" + ipaddr.js "1.2.0" ps-tree@^1.0.1: version "1.1.0" @@ -3033,21 +3211,21 @@ punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - qs@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + random-bytes@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" randomatic@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" dependencies: is-number "^2.0.2" kind-of "^3.0.2" @@ -3104,9 +3282,9 @@ readable-stream@^1.1.12: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.1.tgz#c459a6687ad6195f936b959870776edef27a7655" +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -3116,17 +3294,6 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2. string_decoder "~0.10.x" util-deprecate "~1.0.1" -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" - readable-stream@~2.1.4: version "2.1.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" @@ -3177,9 +3344,17 @@ regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" -regenerator-runtime@^0.9.5: - version "0.9.6" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" regex-cache@^0.4.2: version "0.4.3" @@ -3246,9 +3421,9 @@ request-promise@4.1.1: request-promise-core "1.1.1" stealthy-require "^1.0.0" -request@^2.65.0, request@^2.75.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" +request@^2.65.0, request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -3264,12 +3439,20 @@ request@^2.65.0, request@^2.75.0: isstream "~0.1.2" json-stringify-safe "~5.0.1" mime-types "~2.1.7" - node-uuid "~1.4.7" oauth-sign "~0.8.1" qs "~6.3.0" stringstream "~0.0.4" tough-cookie "~2.3.0" tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" require-uncached@^1.0.2: version "1.0.3" @@ -3290,8 +3473,8 @@ resolve-from@^1.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" resolve@^1.1.6, resolve@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + version "1.2.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" restore-cursor@^1.0.1: version "1.0.1" @@ -3300,7 +3483,7 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2: +rimraf@2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -3332,17 +3515,17 @@ semver-truncate@^1.0.0: dependencies: semver "^5.3.0" +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + semver@^4.0.3: version "4.3.6" resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" -semver@^5.0.3, semver@^5.3.0, semver@~5.3.0, "semver@2 || 3 || 4 || 5": - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -send@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" +send@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.2.tgz#39b0438b3f510be5dc6f667a11f71689368cdeef" dependencies: debug "~2.2.0" depd "~1.1.0" @@ -3351,23 +3534,23 @@ send@0.14.1: escape-html "~1.0.3" etag "~1.7.0" fresh "0.3.0" - http-errors "~1.5.0" + http-errors "~1.5.1" mime "1.3.4" - ms "0.7.1" + ms "0.7.2" on-finished "~2.3.0" range-parser "~1.2.0" - statuses "~1.3.0" + statuses "~1.3.1" -serve-static@~1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" +serve-static@~1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7" dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" parseurl "~1.3.1" - send "0.14.1" + send "0.14.2" -set-blocking@~2.0.0: +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -3375,25 +3558,21 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setprototypeof@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.1.tgz#52009b27888c4dc48f591949c0a8275834c1ca7e" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" +setprototypeof@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" shelljs@^0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.5.tgz#2eef7a50a21e1ccf37da00df767ec69e30ad0675" + version "0.7.6" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" dependencies: glob "^7.0.0" interpret "^1.0.0" rechoir "^0.6.2" signal-exit@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" slash@^1.0.0: version "1.0.0" @@ -3413,9 +3592,9 @@ sntp@1.x.x: dependencies: hoek "2.x.x" -source-map-support@^0.4.2: - version "0.4.6" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" +source-map-support@^0.4.2, source-map-support@^0.4.3: + version "0.4.11" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" dependencies: source-map "^0.5.3" @@ -3443,7 +3622,7 @@ split@0.3: dependencies: through "2" -sprintf-js@~1.0.2: +sprintf-js@^1.0.3, sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -3455,8 +3634,8 @@ sqlite3@3.1.8: node-pre-gyp "~0.6.31" sshpk@^1.7.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -3469,7 +3648,7 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -"statuses@>= 1.3.0 < 2", statuses@~1.3.0: +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" @@ -3487,17 +3666,13 @@ stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - string-length@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" dependencies: strip-ansi "^3.0.0" -string-width@^1.0.1: +string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: @@ -3512,6 +3687,10 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -3538,26 +3717,26 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" -strip-json-comments@~1.0.1, strip-json-comments@~1.0.4: +strip-json-comments@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" -subscriptions-transport-ws@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.2.6.tgz#433861167c25ef9a2b8697e9403afa2a77656cb3" +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" + +subscriptions-transport-ws@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.5.1.tgz#16c962013e6b16e69edc71d4e214f6601898df03" dependencies: - "@types/node" "^6.0.38" + "@types/ws" "0.0.37" backo2 "^1.0.2" - es6-promise "^3.2.1" - graphql-subscriptions "^0.1.3" + eventemitter3 "^2.0.2" + graphql-subscriptions "^0.2.0" + graphql-tag "^1.2.3" lodash.isobject "^3.0.2" lodash.isstring "^4.0.1" - node-static "0.5.9" - websocket "^1.0.23" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + ws "^1.1.1" supports-color@3.1.2: version "3.1.2" @@ -3565,6 +3744,10 @@ supports-color@3.1.2: dependencies: has-flag "^1.0.0" +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -3601,7 +3784,7 @@ text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through@^2.3.6, through@~2.3, through@~2.3.1, through@2: +through@2, through@^2.3.6, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -3639,13 +3822,25 @@ tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" +tslint@^3.15.1: + version "3.15.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-3.15.1.tgz#da165ca93d8fdc2c086b51165ee1bacb48c98ea5" + dependencies: + colors "^1.1.2" + diff "^2.2.1" + findup-sync "~0.3.0" + glob "^7.0.3" + optimist "~0.6.0" + resolve "^1.1.7" + underscore.string "^3.3.4" + tunnel-agent@~0.4.1: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" type-check@~0.3.2: version "0.3.2" @@ -3653,35 +3848,29 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" - type-detect@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" -type-is@~1.6.13: - version "1.6.13" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.13.tgz#6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.11" - -typed-graphql@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-graphql/-/typed-graphql-1.0.2.tgz#4c0f788775d552df4d4ec3d73f25469252f40fb8" +type-detect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" -typedarray-to-buffer@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz#1017b32d984ff556eba100f501589aba1ace2e04" +type-is@~1.6.13, type-is@~1.6.14: + version "1.6.14" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" dependencies: - is-typedarray "^1.0.0" + media-typer "0.3.0" + mime-types "~2.1.13" -typedarray@~0.0.5: +typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +typescript@^2.0.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.0.tgz#626f2fc70087d2480f21ebb12c1888288c8614e3" + uid-number@~0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -3697,11 +3886,22 @@ uid2@0.0.x: version "0.0.3" resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + undefsafe@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f" -unpipe@~1.0.0, unpipe@1.0.0: +underscore.string@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" + dependencies: + sprintf-js "^1.0.3" + util-deprecate "^1.0.2" + +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -3727,11 +3927,11 @@ user-home@^2.0.0: dependencies: os-homedir "^1.0.0" -util-deprecate@~1.0.1: +util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -utils-merge@1.0.0: +utils-merge@1.0.0, utils-merge@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" @@ -3739,6 +3939,10 @@ uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" +uuid@^3.0.0, uuid@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + v8flags@^2.0.10, v8flags@^2.0.2: version "2.0.11" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" @@ -3762,16 +3966,15 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" -websocket@^1.0.23: - version "1.0.23" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.23.tgz#20de8ec4a7126b09465578cd5dbb29a9c296aac6" - dependencies: - debug "^2.2.0" - nan "^2.3.3" - typedarray-to-buffer "^3.1.2" - yaeti "^0.0.4" +whatwg-fetch@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e" -which@^1.2.10: +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@^1.2.12: version "1.2.12" resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" dependencies: @@ -3783,19 +3986,30 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.1" +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" + version "1.3.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.1.11" imurmurhash "^0.1.4" slide "^1.1.5" @@ -3805,6 +4019,13 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" +ws@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + xdg-basedir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" @@ -3815,7 +4036,30 @@ xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -yaeti@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.4.tgz#89fe739c45ac4491028973193262a837693a66b6" +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs@^6.5.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" From 7d0ede504dede6d13706f47982e0fafb32a8670d Mon Sep 17 00:00:00 2001 From: Urigo Date: Mon, 13 Feb 2017 10:43:59 +0200 Subject: [PATCH 146/174] chore(dependencies): fixed lint issues --- api/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 4983220..1a6c44b 100644 --- a/api/index.js +++ b/api/index.js @@ -153,6 +153,6 @@ new SubscriptionServer( }, }, { - server: websocketServer + server: websocketServer, } ); From 5f229028862372cf2efe45d6039e5ee384002f65 Mon Sep 17 00:00:00 2001 From: Urigo Date: Tue, 14 Feb 2017 15:15:12 +0200 Subject: [PATCH 147/174] chore(dependencies): remove yarn lock file --- yarn.lock | 4065 ----------------------------------------------------- 1 file changed, 4065 deletions(-) delete mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index e3081e3..0000000 --- a/yarn.lock +++ /dev/null @@ -1,4065 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@types/chai@^3.4.34": - version "3.4.34" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.4.34.tgz#d5335792823bb09cddd5e38c3d211b709183854d" - -"@types/express-serve-static-core@*": - version "4.0.40" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.40.tgz#168e82978bffc81ee7737bc60728d64733a4f37b" - dependencies: - "@types/node" "*" - -"@types/express@^4.0.35": - version "4.0.35" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.35.tgz#6267c7b60a51fac473467b3c4a02cd1e441805fe" - dependencies: - "@types/express-serve-static-core" "*" - "@types/serve-static" "*" - -"@types/graphql@^0.8.5", "@types/graphql@^0.8.6": - version "0.8.6" - resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.8.6.tgz#b34fb880493ba835b0c067024ee70130d6f9bb68" - -"@types/lodash@^4.14.37": - version "4.14.52" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.52.tgz#de5c7ab14da1289733233c9b0ec6f9e377db90f5" - -"@types/mime@*": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b" - -"@types/mocha@^2.2.32": - version "2.2.39" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.39.tgz#f68d63db8b69c38e9558b4073525cf96c4f7a829" - -"@types/node@*", "@types/node@^6.0.45": - version "6.0.63" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.63.tgz#e08acbbd5946e0e95990b1c76f3ce5b7882a48eb" - -"@types/serve-static@*": - version "1.7.31" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.7.31.tgz#15456de8d98d6b4cff31be6c6af7492ae63f521a" - dependencies: - "@types/express-serve-static-core" "*" - "@types/mime" "*" - -"@types/ws@0.0.37": - version "0.0.37" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-0.0.37.tgz#71d26d7bdc40e75e7d325cf9511648c518ad6fd5" - dependencies: - "@types/node" "*" - -"@types/yargs@^6.5.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-6.6.0.tgz#91f8e2580a8083049f78311c059aa57d6949df6b" - -abbrev@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -accepts@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" - dependencies: - mime-types "~2.1.11" - negotiator "0.6.1" - -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@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - -ajv@^4.7.0: - version "4.11.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - -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.1.0, ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" - dependencies: - arrify "^1.0.0" - micromatch "^2.1.5" - -aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" - -are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" - -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-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.0, array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -array.prototype.find@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.3.tgz#08c3ec33e32ec4bab362a2958e686ae92f59271d" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assertion-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws4@^1.2.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -babel-cli@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.16.0.tgz#4e0d1cf40442ef78330f7fef88eb3a0a1b16bd37" - dependencies: - babel-core "^6.16.0" - babel-polyfill "^6.16.0" - babel-register "^6.16.0" - babel-runtime "^6.9.0" - bin-version-check "^2.1.0" - chalk "1.1.1" - commander "^2.8.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^0.1.0" - glob "^5.0.5" - lodash "^4.2.0" - log-symbols "^1.0.2" - output-file-sync "^1.1.0" - path-exists "^1.0.0" - path-is-absolute "^1.0.0" - request "^2.65.0" - slash "^1.0.0" - source-map "^0.5.0" - v8flags "^2.0.10" - optionalDependencies: - chokidar "^1.0.0" - -babel-code-frame@^6.16.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" - dependencies: - chalk "^1.1.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - -babel-core@6.21.0, babel-core@^6.16.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" - dependencies: - babel-code-frame "^6.20.0" - babel-generator "^6.21.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.18.0" - babel-runtime "^6.20.0" - babel-template "^6.16.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" - slash "^1.0.0" - source-map "^0.5.0" - -babel-core@^6.22.0: - version "6.22.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648" - dependencies: - babel-code-frame "^6.22.0" - babel-generator "^6.22.0" - babel-helpers "^6.22.0" - babel-messages "^6.22.0" - babel-register "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.1" - babel-types "^6.22.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" - slash "^1.0.0" - source-map "^0.5.0" - -babel-eslint@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2" - dependencies: - babel-code-frame "^6.16.0" - babel-traverse "^6.15.0" - babel-types "^6.15.0" - babylon "^6.13.0" - lodash.pickby "^4.6.0" - -babel-generator@^6.21.0, babel-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" - dependencies: - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" - -babel-helper-bindify-decorators@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" - dependencies: - babel-helper-explode-assignable-expression "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-builder-react-jsx@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.22.0.tgz#aafb31913e47761fd4d0b6987756a144a65fca0d" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - esutils "^2.0.0" - lodash "^4.2.0" - -babel-helper-call-delegate@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" - dependencies: - babel-helper-hoist-variables "^6.22.0" - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-define-map@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7" - dependencies: - babel-helper-function-name "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - lodash "^4.2.0" - -babel-helper-explode-assignable-expression@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-explode-class@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b" - dependencies: - babel-helper-bindify-decorators "^6.22.0" - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-function-name@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc" - dependencies: - babel-helper-get-function-arity "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-get-function-arity@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-hoist-variables@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-optimise-call-expression@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-regex@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - lodash "^4.2.0" - -babel-helper-remap-async-to-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" - dependencies: - babel-helper-function-name "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-replace-supers@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42" - dependencies: - babel-helper-optimise-call-expression "^6.22.0" - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helpers@^6.16.0, babel-helpers@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-loader@6.2.9: - version "6.2.9" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.9.tgz#2bce6a1c29b47afa90b937ba1fb1f87084d61c61" - dependencies: - find-cache-dir "^0.1.1" - loader-utils "^0.2.11" - mkdirp "^0.5.1" - object-assign "^4.0.1" - -babel-messages@^6.22.0, babel-messages@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-async-generators@^6.5.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" - -babel-plugin-syntax-class-properties@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" - -babel-plugin-syntax-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.3.13: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" - -babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - -babel-plugin-transform-async-generator-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46" - dependencies: - babel-helper-remap-async-to-generator "^6.22.0" - babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" - dependencies: - babel-helper-remap-async-to-generator "^6.22.0" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-class-properties@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8" - dependencies: - babel-helper-function-name "^6.22.0" - babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-decorators@^6.13.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c" - dependencies: - babel-helper-explode-class "^6.22.0" - babel-plugin-syntax-decorators "^6.13.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.14.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - lodash "^4.2.0" - -babel-plugin-transform-es2015-classes@^6.14.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14" - dependencies: - babel-helper-define-map "^6.22.0" - babel-helper-function-name "^6.22.0" - babel-helper-optimise-call-expression "^6.22.0" - babel-helper-replace-supers "^6.22.0" - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-destructuring@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-for-of@^6.6.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" - dependencies: - babel-helper-function-name "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-literals@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145" - dependencies: - babel-plugin-transform-strict-mode "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.14.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad" - dependencies: - babel-helper-hoist-variables "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-modules-umd@^6.12.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz#60d0ba3bd23258719c64391d9bf492d648dc0fae" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" - dependencies: - babel-helper-replace-supers "^6.22.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb" - dependencies: - babel-helper-call-delegate "^6.22.0" - babel-helper-get-function-arity "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-shorthand-properties@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-spread@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" - dependencies: - babel-helper-regex "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-template-literals@^6.6.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.6.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" - dependencies: - babel-helper-regex "^6.22.0" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-flow-strip-types@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" - dependencies: - babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz#1d419b55e68d2e4f64a5ff3373bd67d73c8e83bc" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-display-name@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.22.0.tgz#077197520fa8562b8d3da4c3c4b0b1bdd7853f26" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-self@^6.11.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-source@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx@^6.3.13: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.22.0.tgz#48556b7dd4c3fe97d1c943bcd54fc3f2561c1817" - dependencies: - babel-helper-builder-react-jsx "^6.22.0" - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" - dependencies: - regenerator-transform "0.9.8" - -babel-plugin-transform-strict-mode@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-polyfill@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.22.0.tgz#1ac99ebdcc6ba4db1e2618c387b2084a82154a3b" - dependencies: - babel-runtime "^6.22.0" - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-preset-es2015@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.16.0.tgz#59acecd1efbebaf48f89404840f2fe78c4d2ad5c" - dependencies: - babel-plugin-check-es2015-constants "^6.3.13" - babel-plugin-transform-es2015-arrow-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoping "^6.14.0" - babel-plugin-transform-es2015-classes "^6.14.0" - babel-plugin-transform-es2015-computed-properties "^6.3.13" - babel-plugin-transform-es2015-destructuring "^6.16.0" - babel-plugin-transform-es2015-duplicate-keys "^6.6.0" - babel-plugin-transform-es2015-for-of "^6.6.0" - babel-plugin-transform-es2015-function-name "^6.9.0" - babel-plugin-transform-es2015-literals "^6.3.13" - babel-plugin-transform-es2015-modules-amd "^6.8.0" - babel-plugin-transform-es2015-modules-commonjs "^6.16.0" - babel-plugin-transform-es2015-modules-systemjs "^6.14.0" - babel-plugin-transform-es2015-modules-umd "^6.12.0" - babel-plugin-transform-es2015-object-super "^6.3.13" - babel-plugin-transform-es2015-parameters "^6.16.0" - babel-plugin-transform-es2015-shorthand-properties "^6.3.13" - babel-plugin-transform-es2015-spread "^6.3.13" - babel-plugin-transform-es2015-sticky-regex "^6.3.13" - babel-plugin-transform-es2015-template-literals "^6.6.0" - babel-plugin-transform-es2015-typeof-symbol "^6.6.0" - babel-plugin-transform-es2015-unicode-regex "^6.3.13" - babel-plugin-transform-regenerator "^6.16.0" - -babel-preset-react@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.16.0.tgz#aa117d60de0928607e343c4828906e4661824316" - dependencies: - babel-plugin-syntax-flow "^6.3.13" - babel-plugin-syntax-jsx "^6.3.13" - babel-plugin-transform-flow-strip-types "^6.3.13" - babel-plugin-transform-react-display-name "^6.3.13" - babel-plugin-transform-react-jsx "^6.3.13" - babel-plugin-transform-react-jsx-self "^6.11.0" - babel-plugin-transform-react-jsx-source "^6.3.13" - -babel-preset-stage-2@6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.17.0.tgz#dc4f84582781353cef36c41247eae5e36c4cae0d" - dependencies: - babel-plugin-transform-class-properties "^6.16.0" - babel-plugin-transform-decorators "^6.13.0" - babel-preset-stage-3 "^6.17.0" - -babel-preset-stage-3@^6.17.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e" - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-generator-functions "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-object-rest-spread "^6.22.0" - -babel-register@6.16.3, babel-register@^6.16.0: - version "6.16.3" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.16.3.tgz#7b0c0ca7bfdeb9188ba4c27e5fcb7599a497c624" - dependencies: - babel-core "^6.16.0" - babel-runtime "^6.11.6" - core-js "^2.4.0" - home-or-tmp "^1.0.0" - lodash "^4.2.0" - mkdirp "^0.5.1" - path-exists "^1.0.0" - source-map-support "^0.4.2" - -babel-register@^6.18.0, babel-register@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63" - dependencies: - babel-core "^6.22.0" - babel-runtime "^6.22.0" - core-js "^2.4.0" - home-or-tmp "^2.0.0" - lodash "^4.2.0" - mkdirp "^0.5.1" - source-map-support "^0.4.2" - -babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-template@^6.16.0, babel-template@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - babylon "^6.11.0" - lodash "^4.2.0" - -babel-traverse@^6.15.0, babel-traverse@^6.21.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1: - version "6.22.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f" - dependencies: - babel-code-frame "^6.22.0" - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - babylon "^6.15.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db" - dependencies: - babel-runtime "^6.22.0" - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" - -babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" - -backo2@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -base64-url@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -big.js@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" - -bin-version-check@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" - dependencies: - bin-version "^1.0.0" - minimist "^1.1.0" - semver "^4.0.3" - semver-truncate "^1.0.0" - -bin-version@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" - dependencies: - find-versions "^1.0.0" - -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.4.1, bluebird@^3.4.6: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - -body-parser@1.15.2: - version "1.15.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.15.2.tgz#d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67" - dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "~2.2.0" - depd "~1.1.0" - http-errors "~1.5.0" - iconv-lite "0.4.13" - on-finished "~2.3.0" - qs "6.2.0" - raw-body "~2.1.7" - type-is "~1.6.13" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -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" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -builtin-modules@^1.0.0, builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - -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@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -chai@3.5.0, chai@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" - dependencies: - assertion-error "^1.0.1" - deep-eql "^0.1.3" - type-detect "^1.0.0" - -chalk@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" - dependencies: - ansi-styles "^2.1.0" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, 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" - -chokidar@^1.0.0, chokidar@^1.4.3: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -circular-json@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" - -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-width@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -colors@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@2.9.0, commander@^2.2.0, commander@^2.8.1, commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.4.6: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -configstore@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021" - dependencies: - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" - -connect-session-knex@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/connect-session-knex/-/connect-session-knex-1.3.0.tgz#ca5d142d6bfcb2736a2a38b86da850010dd98647" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - -content-type@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" - -convert-source-map@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" - -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" - -crc@3.4.4: - version "3.4.4" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -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" - -d@^0.1.1, d@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" - dependencies: - es5-ext "~0.10.2" - -damerau-levenshtein@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -dataloader@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.2.0.tgz#3f73ea657c492c860c1633348adc55ca9bf2107e" - -debug@2.2.0, debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -debug@2.6.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" - dependencies: - ms "0.7.2" - -decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-eql@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" - dependencies: - type-detect "0.1.1" - -deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" - -deprecated-decorator@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -detect-file@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - dependencies: - fs-exists-sync "^0.1.0" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -diff@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" - -diff@^2.2.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" - -doctrine@1.3.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^1.2.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -dotenv@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" - -duplexer@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - -duplexify@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604" - dependencies: - end-of-stream "1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - -end-of-stream@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e" - dependencies: - once "~1.3.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" - -es-abstract@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.0" - is-callable "^1.1.3" - is-regex "^1.0.3" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - -es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: - version "0.10.12" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" - dependencies: - d "^0.1.1" - es5-ext "^0.10.7" - es6-symbol "3" - -es6-map@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-set "~0.1.3" - es6-symbol "~3.1.0" - event-emitter "~0.3.4" - -es6-promise@^3.0.2, es6-promise@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" - -es6-promise@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42" - -es6-set@^0.1.4, es6-set@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-symbol "3" - event-emitter "~0.3.4" - -es6-shim@^0.35.3: - version "0.35.3" - resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.3.tgz#9bfb7363feffff87a6cdb6cd93e405ec3c4b6f26" - -es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - -es6-weak-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" - dependencies: - d "^0.1.1" - es5-ext "^0.10.8" - es6-iterator "2" - es6-symbol "3" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@1.0.5, 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" - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-config-airbnb-base@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-8.0.0.tgz#c5e958a469ab8af76aff068b43d784e5afe74ca7" - -eslint-config-airbnb@12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-12.0.0.tgz#ab282b756a25f03d04ac264c24d673a08a803270" - dependencies: - eslint-config-airbnb-base "^8.0.0" - -eslint-import-resolver-node@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" - dependencies: - debug "^2.2.0" - object-assign "^4.0.1" - resolve "^1.1.6" - -eslint-plugin-babel@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz#2f494aedcf6f4aa4e75b9155980837bc1fbde193" - -eslint-plugin-import@1.16.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" - dependencies: - builtin-modules "^1.1.1" - contains-path "^0.1.0" - debug "^2.2.0" - doctrine "1.3.x" - es6-map "^0.1.3" - es6-set "^0.1.4" - eslint-import-resolver-node "^0.2.0" - has "^1.0.1" - lodash.cond "^4.3.0" - lodash.endswith "^4.0.1" - lodash.find "^4.3.0" - lodash.findindex "^4.3.0" - minimatch "^3.0.3" - object-assign "^4.0.1" - pkg-dir "^1.0.0" - pkg-up "^1.0.0" - -eslint-plugin-jsx-a11y@2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" - dependencies: - damerau-levenshtein "^1.0.0" - jsx-ast-utils "^1.0.0" - object-assign "^4.0.1" - -eslint-plugin-react@6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz#54c2e9906b76f9d10142030bdc34e9d6840a0bb2" - dependencies: - array.prototype.find "^2.0.1" - doctrine "^1.2.2" - jsx-ast-utils "^1.3.4" - -eslint@3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.1.tgz#8a62175f2255109494747a1b25128d97b8eb3d97" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.4.6" - debug "^2.1.1" - doctrine "^1.2.2" - escope "^3.6.0" - espree "^3.3.1" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -espree@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" - dependencies: - acorn "4.0.4" - acorn-jsx "^3.0.0" - -esprima@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" - dependencies: - estraverse "~4.1.0" - object-assign "^4.0.1" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - -esutils@^2.0.0, esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" - -event-emitter@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" - dependencies: - d "~0.1.1" - es5-ext "~0.10.7" - -event-stream@~3.3.0: - version "3.3.4" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" - dependencies: - duplexer "~0.1.1" - from "~0" - map-stream "~0.1.0" - pause-stream "0.0.11" - split "0.3" - stream-combiner "~0.0.4" - through "~2.3.1" - -eventemitter3@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.2.tgz#20ce4891909ce9f35b088c94fab40e2c96f473ac" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - dependencies: - os-homedir "^1.0.1" - -express-session@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.15.0.tgz#67131dd5b78a42bc57b50af0a14880265c03f919" - dependencies: - cookie "0.3.1" - cookie-signature "1.0.6" - crc "3.4.4" - debug "2.6.0" - depd "~1.1.0" - on-headers "~1.0.1" - parseurl "~1.3.1" - uid-safe "~2.1.3" - utils-merge "1.0.0" - -express@4.14.1: - version "4.14.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.14.1.tgz#646c237f766f148c2120aff073817b9e4d7e0d33" - dependencies: - accepts "~1.3.3" - array-flatten "1.1.1" - content-disposition "0.5.2" - content-type "~1.0.2" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "~2.2.0" - depd "~1.1.0" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.7.0" - finalhandler "0.5.1" - fresh "0.3.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.1" - path-to-regexp "0.1.7" - proxy-addr "~1.1.3" - qs "6.2.0" - range-parser "~1.2.0" - send "0.14.2" - serve-static "~1.11.2" - type-is "~1.6.14" - utils-merge "1.0.0" - vary "~1.1.0" - -extend@^3.0.0, extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -finalhandler@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.1.tgz#2c400d8d4530935bc232549c5fa385ec07de6fcd" - dependencies: - debug "~2.2.0" - escape-html "~1.0.3" - on-finished "~2.3.0" - statuses "~1.3.1" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.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" - -find-versions@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" - dependencies: - array-uniq "^1.0.0" - get-stdin "^4.0.1" - meow "^3.5.0" - semver-regex "^1.0.0" - -findup-sync@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" - dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" - -findup-sync@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" - dependencies: - glob "~5.0.0" - -flagged-respawn@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" - -flat-cache@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - -for-in@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" - -for-own@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" - dependencies: - for-in "^0.1.5" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -forwarded@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" - -fresh@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" - -from@~0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc" - -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - -fs-readdir-recursive@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz#315b4fb8c1ca5b8c47defef319d073dad3568059" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.0.17" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.29" - -fstream-ignore@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.0.2, function-bind@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" - -gauge@~2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -generic-pool@^2.4.2: - version "2.5.4" - resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.5.4.tgz#38c6188513e14030948ec6e5cf65523d9779299b" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" - 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" - -glob@^5.0.5, glob@~5.0.0: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: - 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" - -global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - -globals@^9.0.0, globals@^9.14.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca" - dependencies: - duplexify "^3.2.0" - infinity-agent "^2.0.0" - is-redirect "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - nested-error-stacks "^1.0.0" - object-assign "^3.0.0" - prepend-http "^1.0.0" - read-all-stream "^3.0.0" - timed-out "^2.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -graphql-server-core@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/graphql-server-core/-/graphql-server-core-0.5.2.tgz#7e23fc516cb754e42c16f92928b595c354d6c8a7" - dependencies: - es6-shim "^0.35.3" - optionalDependencies: - "@types/graphql" "^0.8.5" - -graphql-server-express@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/graphql-server-express/-/graphql-server-express-0.5.2.tgz#c358110ddb2f82939b4d4c9d97ffb5afded7944a" - dependencies: - graphql-server-core "^0.5.2" - graphql-server-module-graphiql "^0.5.2" - optionalDependencies: - "@types/express" "^4.0.35" - "@types/graphql" "^0.8.6" - -graphql-server-module-graphiql@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/graphql-server-module-graphiql/-/graphql-server-module-graphiql-0.5.2.tgz#7e2a0c78b0267e784f8483ce5633810baf558dee" - -graphql-subscriptions@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.2.3.tgz#75f9a02cb6d2b456b1703ce95670f793dacee607" - dependencies: - es6-promise "^3.2.1" - -graphql-subscriptions@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.3.0.tgz#5c25673f6e1570c8474ac31b6505a3d0b07b4371" - dependencies: - es6-promise "^3.2.1" - -graphql-tag@^0.1.14: - version "0.1.17" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-0.1.17.tgz#1dfd6f2310d395b309a1077bc8cdc5d6604c5e89" - -graphql-tag@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-1.2.4.tgz#90c59bea41378513fd7213dc92537fcd20e4570f" - -graphql-tools@^0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-0.9.2.tgz#c3f42d0b78d2d6c57cea5ef2894863de34af9a11" - dependencies: - deprecated-decorator "^0.1.6" - lodash "^4.3.0" - uuid "^3.0.1" - optionalDependencies: - "@types/graphql" "^0.8.5" - -graphql@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.7.2.tgz#cc894a32823399b8a0cb012b9e9ecad35cd00f72" - dependencies: - iterall "1.0.2" - -graphql@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.9.1.tgz#f4d154cbec054d4a5d3b1be95f23435c09aa86c8" - dependencies: - iterall "1.0.3" - -growl@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" - -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -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" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -home-or-tmp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-1.0.0.tgz#4b9f1e40800c3e50c6c27f781676afcce71f3985" - dependencies: - os-tmpdir "^1.0.1" - user-home "^1.1.1" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -homedir-polyfill@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" - -http-errors@~1.5.0, http-errors@~1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" - dependencies: - inherits "2.0.3" - setprototypeof "1.0.2" - statuses ">= 1.3.1 < 2" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@0.4.13: - version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" - -ignore-by-default@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - -ignore@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -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" - -infinity-agent@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216" - -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, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -interpret@^0.6.5: - version "0.6.6" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" - -interpret@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" - -invariant@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -ipaddr.js@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -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-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - -is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -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-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-regex@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637" - -is-resolvable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" - dependencies: - tryit "^1.0.1" - -is-stream@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -iterall@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.2.tgz#41a2e96ce9eda5e61c767ee5dc312373bb046e91" - -iterall@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.3.tgz#e0b31958f835013c323ff0b10943829ac69aa4b7" - -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - -js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" - -js-yaml@^3.5.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628" - dependencies: - argparse "^1.0.7" - esprima "^3.1.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.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" - -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" - dependencies: - extsprintf "1.0.2" - json-schema "0.2.3" - verror "1.3.6" - -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591" - dependencies: - object-assign "^4.1.0" - -kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" - dependencies: - is-buffer "^1.0.2" - -knex@0.12.6: - version "0.12.6" - resolved "https://registry.yarnpkg.com/knex/-/knex-0.12.6.tgz#a255f0ea03af2c2c94687a622c08acc1a9463c0e" - dependencies: - babel-runtime "^6.11.6" - bluebird "^3.4.6" - chalk "^1.0.0" - commander "^2.2.0" - debug "^2.1.3" - generic-pool "^2.4.2" - inherits "~2.0.1" - interpret "^0.6.5" - liftoff "~2.2.0" - lodash "^4.6.0" - minimist "~1.1.0" - mkdirp "^0.5.0" - node-uuid "^1.4.7" - pg-connection-string "^0.1.3" - readable-stream "^1.1.12" - tildify "~1.0.0" - v8flags "^2.0.2" - -latest-version@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb" - dependencies: - package-json "^1.0.0" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -liftoff@~2.2.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.2.5.tgz#998c2876cff484b103e4423b93d356da44734c91" - dependencies: - extend "^3.0.0" - findup-sync "^0.4.2" - flagged-respawn "^0.3.2" - rechoir "^0.6.2" - resolve "^1.1.7" - -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" - -loader-utils@^0.2.11: - version "0.2.16" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -lodash._baseassign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" - dependencies: - lodash._basecopy "^3.0.0" - lodash.keys "^3.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basecreate@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" - -lodash._bindcallback@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - -lodash._createassigner@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" - dependencies: - lodash._bindcallback "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash.restparam "^3.0.0" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash.assign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" - dependencies: - lodash._baseassign "^3.0.0" - lodash._createassigner "^3.0.0" - lodash.keys "^3.0.0" - -lodash.cond@^4.3.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" - -lodash.create@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" - dependencies: - lodash._baseassign "^3.0.0" - lodash._basecreate "^3.0.0" - lodash._isiterateecall "^3.0.0" - -lodash.defaults@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" - dependencies: - lodash.assign "^3.0.0" - lodash.restparam "^3.0.0" - -lodash.endswith@^4.0.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - -lodash.find@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" - -lodash.findindex@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.isobject@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.pickby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" - -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - -lodash@4.17.4, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.16.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -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" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -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" - -map-stream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -meow@^3.5.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" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - -micromatch@^2.1.5, micromatch@^2.3.7: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mime-db@~1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" - -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" - dependencies: - mime-db "~1.26.0" - -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" - -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" - -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.0, minimist@~1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" - -minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, 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" - -mocha@3.2.0, mocha@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" - dependencies: - browser-stdout "1.3.0" - commander "2.9.0" - debug "2.2.0" - diff "1.4.0" - escape-string-regexp "1.0.5" - glob "7.0.5" - growl "1.9.2" - json3 "3.3.2" - lodash.create "3.1.1" - mkdirp "0.5.1" - supports-color "3.1.2" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - -nan@^2.3.0, nan@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -nested-error-stacks@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf" - dependencies: - inherits "~2.0.1" - -node-pre-gyp@^0.6.29, node-pre-gyp@~0.6.31: - version "0.6.33" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" - dependencies: - mkdirp "~0.5.1" - nopt "~3.0.6" - npmlog "^4.0.1" - rc "~1.1.6" - request "^2.79.0" - rimraf "~2.5.4" - semver "~5.3.0" - tar "~2.2.1" - tar-pack "~3.3.0" - -node-uuid@^1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" - -nodemon@1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" - dependencies: - chokidar "^1.4.3" - debug "^2.2.0" - es6-promise "^3.0.2" - ignore-by-default "^1.0.0" - lodash.defaults "^3.1.2" - minimatch "^3.0.0" - ps-tree "^1.0.1" - touch "1.0.0" - undefsafe "0.0.3" - update-notifier "0.5.0" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - dependencies: - abbrev "1" - -nopt@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - 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" - -normalize-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" - -npmlog@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.1" - set-blocking "~2.0.0" - -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" - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -oauth@0.9.x: - version "0.9.15" - resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" - -object-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - -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, once@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -optimist@~0.6.0: - 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" - -optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -output-file-sync@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" - dependencies: - graceful-fs "^4.1.4" - mkdirp "^0.5.1" - object-assign "^4.1.0" - -package-json@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0" - dependencies: - got "^3.2.0" - registry-url "^3.0.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -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" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - -passport-github@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/passport-github/-/passport-github-1.1.0.tgz#8ce1e3fcd61ad7578eb1df595839e4aea12355d4" - dependencies: - passport-oauth2 "1.x.x" - -passport-oauth2@1.x.x: - version "1.4.0" - resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.4.0.tgz#f62f81583cbe12609be7ce6f160b9395a27b86ad" - dependencies: - oauth "0.9.x" - passport-strategy "1.x.x" - uid2 "0.0.x" - utils-merge "1.x.x" - -passport-strategy@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" - -passport@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.3.2.tgz#9dd009f915e8fe095b0124a01b8f82da07510102" - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - -path-exists@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" - -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-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - -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" - -pause-stream@0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" - dependencies: - through "~2.3" - -pause@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" - -persistgraphql@^0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/persistgraphql/-/persistgraphql-0.2.10.tgz#aaec437f2a0c470e15bbb3587793a11c019fbd67" - dependencies: - "@types/chai" "^3.4.34" - "@types/lodash" "^4.14.37" - "@types/mocha" "^2.2.32" - "@types/node" "^6.0.45" - "@types/yargs" "^6.5.0" - chai "^3.5.0" - es6-promise "^4.0.5" - graphql "^0.7.2" - graphql-tag "^0.1.14" - lodash "^4.16.4" - mocha "^3.1.2" - source-map-support "^0.4.3" - tslint "^3.15.1" - typescript "^2.0.3" - whatwg-fetch "^2.0.0" - yargs "^6.5.0" - -pg-connection-string@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" - -pify@^2.0.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" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - -pkg-up@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" - dependencies: - find-up "^1.0.0" - -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -private@^0.1.6: - version "0.1.7" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" - -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" - -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - -proxy-addr@~1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074" - dependencies: - forwarded "~0.1.0" - ipaddr.js "1.2.0" - -ps-tree@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" - dependencies: - event-stream "~3.3.0" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" - -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - -randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" - dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" - -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -raw-body@~2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.13" - unpipe "1.0.0" - -rc@^1.0.1, rc@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~1.0.4" - -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - -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: - 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@^1.1.12: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" - dependencies: - buffer-shims "^1.0.0" - 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" - -readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - dependencies: - buffer-shims "^1.0.0" - 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" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -reddit-score@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/reddit-score/-/reddit-score-0.0.1.tgz#88feb8c0e71c6b652c2cbcf8feb9f9053b64cd68" - -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" - -regenerate@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" - -regenerator-runtime@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" - -regenerator-transform@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -registry-url@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac" - dependencies: - is-finite "^1.0.0" - -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" - -request-promise-core@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - dependencies: - lodash "^4.13.1" - -request-promise@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.1.1.tgz#26021e4f6f56fd4c309f6bf1ebd8c97a95ac1fb5" - dependencies: - bluebird "^3.4.1" - request-promise-core "1.1.1" - stealthy-require "^1.0.0" - -request@^2.65.0, request@^2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -require-uncached@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - -resolve@^1.1.6, resolve@^1.1.7: - version "1.2.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -rimraf@2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" - dependencies: - glob "^7.0.5" - -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" - -semver-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" - -semver-truncate@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" - dependencies: - semver "^5.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -semver@^4.0.3: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - -send@0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.14.2.tgz#39b0438b3f510be5dc6f667a11f71689368cdeef" - dependencies: - debug "~2.2.0" - depd "~1.1.0" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.5.1" - mime "1.3.4" - ms "0.7.2" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serve-static@~1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.14.2" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -setprototypeof@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" - -shelljs@^0.7.5: - version "0.7.6" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -source-map-support@^0.4.2, source-map-support@^0.4.3: - version "0.4.11" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" - dependencies: - source-map "^0.5.3" - -source-map@^0.5.0, source-map@^0.5.3: - 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" - -split@0.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" - dependencies: - through "2" - -sprintf-js@^1.0.3, sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sqlite3@3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-3.1.8.tgz#4cbcf965d8b901d1b1015cbc7fc415aae157dfaa" - dependencies: - nan "~2.4.0" - node-pre-gyp "~0.6.31" - -sshpk@^1.7.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -"statuses@>= 1.3.1 < 2", statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stealthy-require@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.0.0.tgz#1a8ed8fc19a8b56268f76f5a1a3e3832b0c26200" - -stream-combiner@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" - dependencies: - duplexer "~0.1.1" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - -string-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" - dependencies: - strip-ansi "^3.0.0" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^3.0.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - 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-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -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@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" - -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" - -subscriptions-transport-ws@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.5.1.tgz#16c962013e6b16e69edc71d4e214f6601898df03" - dependencies: - "@types/ws" "0.0.37" - backo2 "^1.0.2" - eventemitter3 "^2.0.2" - graphql-subscriptions "^0.2.0" - graphql-tag "^1.2.3" - lodash.isobject "^3.0.2" - lodash.isstring "^4.0.1" - ws "^1.1.1" - -supports-color@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" - dependencies: - has-flag "^1.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" - dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" - -tar-pack@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" - dependencies: - debug "~2.2.0" - fstream "~1.0.10" - fstream-ignore "~1.0.5" - once "~1.3.3" - readable-stream "~2.1.4" - rimraf "~2.5.1" - tar "~2.2.1" - uid-number "~0.0.6" - -tar@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -through@2, through@^2.3.6, through@~2.3, through@~2.3.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -tildify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.0.0.tgz#2a021db5e8fbde0a8f8b4df37adaa8fb1d39d7dd" - dependencies: - user-home "^1.0.0" - -timed-out@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" - -to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" - -touch@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de" - dependencies: - nopt "~1.0.10" - -tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" - dependencies: - punycode "^1.4.1" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -tryit@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" - -tslint@^3.15.1: - version "3.15.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-3.15.1.tgz#da165ca93d8fdc2c086b51165ee1bacb48c98ea5" - dependencies: - colors "^1.1.2" - diff "^2.2.1" - findup-sync "~0.3.0" - glob "^7.0.3" - optimist "~0.6.0" - resolve "^1.1.7" - underscore.string "^3.3.4" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-detect@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" - -type-detect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" - -type-is@~1.6.13, type-is@~1.6.14: - version "1.6.14" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.13" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -typescript@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.0.tgz#626f2fc70087d2480f21ebb12c1888288c8614e3" - -uid-number@~0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -uid-safe@~2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.3.tgz#077e264a00b3187936b270bb7376a26473631071" - dependencies: - base64-url "1.3.3" - random-bytes "~1.0.0" - -uid2@0.0.x: - version "0.0.3" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" - -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - -undefsafe@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f" - -underscore.string@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" - dependencies: - sprintf-js "^1.0.3" - util-deprecate "^1.0.2" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -update-notifier@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz#07b5dc2066b3627ab3b4f530130f7eddda07a4cc" - dependencies: - chalk "^1.0.0" - configstore "^1.0.0" - is-npm "^1.0.0" - latest-version "^1.0.0" - repeating "^1.1.2" - semver-diff "^2.0.0" - string-length "^1.0.0" - -user-home@^1.0.0, user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - -util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -utils-merge@1.0.0, utils-merge@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0, uuid@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -v8flags@^2.0.10, v8flags@^2.0.2: - version "2.0.11" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" - dependencies: - user-home "^1.1.1" - -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" - -vary@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" - -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" - dependencies: - extsprintf "1.0.2" - -whatwg-fetch@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - -which@^1.2.12: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" - dependencies: - isexe "^1.1.1" - -wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" - dependencies: - string-width "^1.0.1" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^1.1.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - -ws@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - -xtend@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" - -yargs@^6.5.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" From c5ff7e20ae837f7584c9ca1281e0517f78e87fdf Mon Sep 17 00:00:00 2001 From: Urigo Date: Tue, 14 Feb 2017 16:33:03 +0200 Subject: [PATCH 148/174] chore(dependencies): updated dependencies --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0f9708a..b6b1b77 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "express": "4.15.0", "express-session": "1.15.0", "graphql": "^0.9.1", - "graphql-server-express": "^0.5.2", + "graphql-server-express": "^0.6.0", "graphql-subscriptions": "^0.3.0", "graphql-tools": "^0.10.1", "knex": "0.12.6", From e4e5a6c8fdaa6bc0a19dffc4344d2f7b6880dea9 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 16:09:43 -0800 Subject: [PATCH 149/174] Put stuff back --- api/index.js | 1 + package.json | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 1a6c44b..0623680 100644 --- a/api/index.js +++ b/api/index.js @@ -153,6 +153,7 @@ new SubscriptionServer( }, }, { + path: 'subscriptions', server: websocketServer, } ); diff --git a/package.json b/package.json index b6b1b77..0f3663c 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,6 @@ "pg-connection-string": "^0.1.3", "reddit-score": "0.0.2", "request-promise": "4.1.1", - "sqlite3": "3.1.8", "subscriptions-transport-ws": "^0.5.1" } } From b944263fa28c9450281859b0c8fe0a098e8c21a7 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 16:13:13 -0800 Subject: [PATCH 150/174] Oops --- api/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/index.js b/api/index.js index 0623680..b59e368 100644 --- a/api/index.js +++ b/api/index.js @@ -154,6 +154,6 @@ new SubscriptionServer( }, { path: 'subscriptions', - server: websocketServer, + server, } ); From 5878f15baf2a8fd4639a0b97d1e195bd90384b0a Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 16:36:25 -0800 Subject: [PATCH 151/174] Run tests with jest instead of mocha --- .eslintrc | 1 + api/github/connector.test.js | 19 +++++++++---------- package.json | 5 ++++- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.eslintrc b/.eslintrc index 4f4b3f1..9c439e4 100644 --- a/.eslintrc +++ b/.eslintrc @@ -2,6 +2,7 @@ "env": { "node": true, "mocha": true, + "jest": true }, "extends": "airbnb", "parser": "babel-eslint", diff --git a/api/github/connector.test.js b/api/github/connector.test.js index 60d0dde..fe18659 100644 --- a/api/github/connector.test.js +++ b/api/github/connector.test.js @@ -1,15 +1,14 @@ -import { assert } from 'chai'; import { GitHubConnector } from './connector'; let requestQueue = []; function mockRequestPromise(requestOptions) { // Ensure we expected to get more requests - assert.notEqual(requestQueue.length, 0); + expect(requestQueue.length).not.toBe(0); const nextRequest = requestQueue.shift(); // Ensure this is the request we expected - assert.deepEqual(requestOptions, nextRequest.options); + expect(requestOptions).toEqual(nextRequest.options); return new Promise((resolve, reject) => { if (nextRequest.result) { @@ -53,11 +52,11 @@ describe('GitHub connector', () => { }); afterEach(() => { - assert.equal(requestQueue.length, 0); + expect(requestQueue.length).toBe(0); }); it('can be constructed', () => { - assert.isOk(new GitHubConnector()); + expect(new GitHubConnector()).toBeTruthy(); }); it('can load one endpoint', () => { @@ -72,7 +71,7 @@ describe('GitHub connector', () => { }); return connector.get('/endpoint').then((result) => { - assert.deepEqual(result, { id: 1 }); + expect(result).toEqual({ id: 1 }); }); }); @@ -91,7 +90,7 @@ describe('GitHub connector', () => { return connector.get('/endpoint') .then((result) => { - assert.deepEqual(result, { id: 1 }); + expect(result).toEqual({ id: 1 }); }) .then(() => ( // This get call doesn't actually call the API - note that we only @@ -99,7 +98,7 @@ describe('GitHub connector', () => { connector.get('/endpoint') )) .then((result) => { - assert.deepEqual(result, { id: 1 }); + expect(result).toEqual({ id: 1 }); }); }); @@ -126,7 +125,7 @@ describe('GitHub connector', () => { }); return connector.get('/endpoint').then((result) => { - assert.deepEqual(result, { id: 1 }); + expect(result).toEqual({ id: 1 }); }); }); @@ -169,7 +168,7 @@ describe('GitHub connector', () => { return connector.get('/endpoint') .then(() => connector2.get('/endpoint')) .then((result) => { - assert.deepEqual(result, { id: 1 }); + expect(result).toEqual({ id: 1 }); }); }); }); diff --git a/package.json b/package.json index 0f3663c..a5731a2 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "start": "babel-node api/index.js", "dev": "nodemon api/index.js --watch api --exec babel-node", "lint": "eslint api migrations seeds", - "test": "mocha --compilers js:babel-core/register --reporter spec --full-trace 'api/**/*.test.js' && npm run lint", + "test": "jest && npm run lint", + "test:watch": "jest --watch", "seed": "knex seed:run", "migrate": "knex migrate:latest" }, @@ -23,6 +24,7 @@ "homepage": "https://github.com/apollostack/GitHunt#readme", "devDependencies": { "babel-eslint": "7.1.1", + "babel-jest": "^19.0.0", "babel-register": "6.23.0", "chai": "3.5.0", "eslint": "3.17.0", @@ -31,6 +33,7 @@ "eslint-plugin-import": "1.16.0", "eslint-plugin-jsx-a11y": "2.2.3", "eslint-plugin-react": "6.9.0", + "jest": "^19.0.2", "mocha": "3.2.0", "nodemon": "1.11.0", "sqlite3": "3.1.8" From 2619f1fcc4f72e1cb12c3f5fd97ecb7da9c41bab Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 16:37:46 -0800 Subject: [PATCH 152/174] Remove mocha :tada: --- .eslintrc | 1 - package.json | 2 -- 2 files changed, 3 deletions(-) diff --git a/.eslintrc b/.eslintrc index 9c439e4..52395b3 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,7 +1,6 @@ { "env": { "node": true, - "mocha": true, "jest": true }, "extends": "airbnb", diff --git a/package.json b/package.json index a5731a2..2af0f84 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "babel-eslint": "7.1.1", "babel-jest": "^19.0.0", "babel-register": "6.23.0", - "chai": "3.5.0", "eslint": "3.17.0", "eslint-config-airbnb": "12.0.0", "eslint-plugin-babel": "4.1.0", @@ -34,7 +33,6 @@ "eslint-plugin-jsx-a11y": "2.2.3", "eslint-plugin-react": "6.9.0", "jest": "^19.0.2", - "mocha": "3.2.0", "nodemon": "1.11.0", "sqlite3": "3.1.8" }, From 440a3f51f4f28d0c00afde4967592b9236ff8d5b Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 17:02:27 -0800 Subject: [PATCH 153/174] Set up test database --- .gitignore | 1 + knexfile.js | 7 +++++++ package.json | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e67fcdf..64d6162 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ node_modules .DS_Store dev.sqlite3 +test.sqlite3 .env .idea/ diff --git a/knexfile.js b/knexfile.js index 42fd716..362893f 100644 --- a/knexfile.js +++ b/knexfile.js @@ -13,6 +13,13 @@ module.exports = { }, useNullAsDefault: true, }, + test: { + client: 'sqlite3', + connection: { + filename: './test.sqlite3', + }, + useNullAsDefault: true, + }, production: DATABASE_URL && { client: 'pg', connection: Object.assign({}, parse(DATABASE_URL), { ssl: true }), diff --git a/package.json b/package.json index 2af0f84..2eaf641 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "test": "jest && npm run lint", "test:watch": "jest --watch", "seed": "knex seed:run", - "migrate": "knex migrate:latest" + "migrate": "knex migrate:latest", + "test:setup": "rm test.sqlite3 && knex migrate:latest --env test && knex seed:run --env test" }, "private": true, "repository": { From 93b5e52ab9fe6426ffc9fbc16b1b622f4e5165c9 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 19:19:13 -0800 Subject: [PATCH 154/174] Add test for basic query --- .eslintrc | 3 +- __tests__/__snapshots__/basic.js.snap | 65 ++++++++++ __tests__/basic.js | 40 ++++++ api/githubLogin.js | 34 ++++-- api/index.js | 160 +----------------------- api/server.js | 167 ++++++++++++++++++++++++++ 6 files changed, 297 insertions(+), 172 deletions(-) create mode 100644 __tests__/__snapshots__/basic.js.snap create mode 100644 __tests__/basic.js create mode 100644 api/server.js diff --git a/.eslintrc b/.eslintrc index 52395b3..f451cad 100644 --- a/.eslintrc +++ b/.eslintrc @@ -11,6 +11,7 @@ "class-methods-use-this": 0, "import/prefer-default-export": 0, "import/no-extraneous-dependencies": 0, - "import/imports-first": 0 + "import/imports-first": 0, + "no-use-before-define": 0 } } diff --git a/__tests__/__snapshots__/basic.js.snap b/__tests__/__snapshots__/basic.js.snap new file mode 100644 index 0000000..0e79da7 --- /dev/null +++ b/__tests__/__snapshots__/basic.js.snap @@ -0,0 +1,65 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`accepts a query 1`] = ` +Object { + "data": Object { + "feed": Array [ + Object { + "postedBy": Object { + "login": "stubailo", + }, + "repository": Object { + "name": "apollo-client", + "owner": Object { + "login": "apollographql", + }, + }, + }, + Object { + "postedBy": Object { + "login": "helfer", + }, + "repository": Object { + "name": "graphql-server", + "owner": Object { + "login": "apollographql", + }, + }, + }, + Object { + "postedBy": Object { + "login": "tmeasday", + }, + "repository": Object { + "name": "meteor", + "owner": Object { + "login": "meteor", + }, + }, + }, + Object { + "postedBy": Object { + "login": "Slava", + }, + "repository": Object { + "name": "bootstrap", + "owner": Object { + "login": "twbs", + }, + }, + }, + Object { + "postedBy": Object { + "login": "Slava", + }, + "repository": Object { + "name": "d3", + "owner": Object { + "login": "d3", + }, + }, + }, + ], + }, +} +`; diff --git a/__tests__/basic.js b/__tests__/basic.js new file mode 100644 index 0000000..b16f71f --- /dev/null +++ b/__tests__/basic.js @@ -0,0 +1,40 @@ +import { run } from '../api/server'; +import rp from 'request-promise'; + +const testPort = 6789; +const endpointUrl = `http://localhost:${testPort}/graphql`; + +let server; +beforeAll(() => { + server = run({ PORT: testPort }); +}); + +it('accepts a query', async () => { + const result = await fetchGraphQL(` + { + feed (type: NEW, limit: 5) { + repository { + owner { login } + name + } + + postedBy { login } + } + } + `); + + expect(result).toMatchSnapshot(); +}); + +afterAll(() => { + server.close(); + server = null; +}); + +function fetchGraphQL(query, variables) { + return rp(endpointUrl, { + method: 'post', + body: { query, variables }, + json: true, + }); +} diff --git a/api/githubLogin.js b/api/githubLogin.js index ff516ad..406dcf0 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -15,6 +15,27 @@ const store = new KnexSessionStore({ }); export function setUpGitHubLogin(app) { + if (!GITHUB_CLIENT_ID) { + console.warn('GitHub client ID not passed; login won\'t work.'); // eslint-ignore-line no-console + return; + } + + const gitHubStrategyOptions = { + clientID: GITHUB_CLIENT_ID, + clientSecret: GITHUB_CLIENT_SECRET, + callbackURL: process.env.NODE_ENV !== 'production' ? + 'http://localhost:3000/login/github/callback' : + 'http://www.githunt.com/login/github/callback', + }; + + passport.use(new GitHubStrategy(gitHubStrategyOptions, + (accessToken, refreshToken, profile, cb) => { + cb(null, profile); + })); + + passport.serializeUser((user, cb) => cb(null, user)); + passport.deserializeUser((obj, cb) => cb(null, obj)); + app.use(session({ secret: 'your secret', resave: true, @@ -37,16 +58,3 @@ export function setUpGitHubLogin(app) { res.redirect('/'); }); } - -const gitHubStrategyOptions = { - clientID: GITHUB_CLIENT_ID, - clientSecret: GITHUB_CLIENT_SECRET, - callbackURL: process.env.NODE_ENV !== 'production' ? 'http://localhost:3000/login/github/callback' : 'http://www.githunt.com/login/github/callback', -}; - -passport.use(new GitHubStrategy(gitHubStrategyOptions, (accessToken, refreshToken, profile, cb) => { - cb(null, profile); -})); - -passport.serializeUser((user, cb) => cb(null, user)); -passport.deserializeUser((obj, cb) => cb(null, obj)); diff --git a/api/index.js b/api/index.js index b59e368..9d14419 100644 --- a/api/index.js +++ b/api/index.js @@ -1,159 +1,3 @@ -import path from 'path'; -import express from 'express'; -import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; -import OpticsAgent from 'optics-agent'; -import bodyParser from 'body-parser'; -import { invert } from 'lodash'; +import { run } from './server'; -import { - GITHUB_CLIENT_ID, - GITHUB_CLIENT_SECRET, -} from './githubKeys'; - -import { setUpGitHubLogin } from './githubLogin'; -import { GitHubConnector } from './github/connector'; -import { Repositories, Users } from './github/models'; -import { Entries, Comments } from './sql/models'; - -import { createServer } from 'http'; -import { SubscriptionServer } from 'subscriptions-transport-ws'; -import { subscriptionManager } from './subscriptions'; - -import schema from './schema'; - -import queryMap from '../extracted_queries.json'; -import config from './config'; - -if (process.env.OPTICS_API_KEY) { - OpticsAgent.instrumentSchema(schema); -} - -let PORT = 3010; -if (process.env.PORT) { - PORT = parseInt(process.env.PORT, 10); -} - -const app = express(); - -app.use(bodyParser.urlencoded({ extended: true })); -app.use(bodyParser.json()); - -const invertedMap = invert(queryMap); - -app.use( - '/graphql', - (req, resp, next) => { - if (config.persistedQueries) { - // eslint-disable-next-line no-param-reassign - req.body.query = invertedMap[req.body.id]; - } - next(); - }, -); - -setUpGitHubLogin(app); - -if (process.env.OPTICS_API_KEY) { - app.use('/graphql', OpticsAgent.middleware()); -} - -app.use('/graphql', graphqlExpress((req) => { - // Get the query, the same way express-graphql does it - // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 - const query = req.query.query || req.body.query; - if (query && query.length > 2000) { - // None of our app's queries are this long - // Probably indicates someone trying to send an overly expensive query - throw new Error('Query too large.'); - } - - let user; - if (req.user) { - // We get req.user from passport-github with some pretty oddly named fields, - // let's convert that to the fields in our schema, which match the GitHub - // API field names. - user = { - login: req.user.username, - html_url: req.user.profileUrl, - avatar_url: req.user.photos[0].value, - }; - } - - // Initialize a new GitHub connector instance for every GraphQL request, so that API fetches - // are deduplicated per-request only. - const gitHubConnector = new GitHubConnector({ - clientId: GITHUB_CLIENT_ID, - clientSecret: GITHUB_CLIENT_SECRET, - }); - - let opticsContext; - if (process.env.OPTICS_API_KEY) { - opticsContext = OpticsAgent.context(req); - } - - return { - schema, - context: { - user, - Repositories: new Repositories({ connector: gitHubConnector }), - Users: new Users({ connector: gitHubConnector }), - Entries: new Entries(), - Comments: new Comments(), - opticsContext, - }, - }; -})); - -app.use('/graphiql', graphiqlExpress({ - endpointURL: '/graphql', - query: `{ - feed (type: NEW, limit: 5) { - repository { - owner { login } - name - } - - postedBy { login } - } -} -`, -})); - -// Serve our helpful static landing page. Not used in production. -app.get('/', (req, res) => { - res.sendFile(path.join(__dirname, 'index.html')); -}); - -const server = createServer(app); - -server.listen(PORT, () => console.log( // eslint-disable-line no-console - `API Server is now running on http://localhost:${PORT}` -)); - -// eslint-disable-next-line -new SubscriptionServer( - { - subscriptionManager, - - // the obSubscribe function is called for every new subscription - // and we use it to set the GraphQL context for this subscription - onSubscribe: (msg, params) => { - const gitHubConnector = new GitHubConnector({ - clientId: GITHUB_CLIENT_ID, - clientSecret: GITHUB_CLIENT_SECRET, - }); - return Object.assign({}, params, { - context: { - Repositories: new Repositories({ connector: gitHubConnector }), - Users: new Users({ connector: gitHubConnector }), - Entries: new Entries(), - Comments: new Comments(), - }, - }); - }, - }, - { - path: 'subscriptions', - server, - } -); +run(); diff --git a/api/server.js b/api/server.js new file mode 100644 index 0000000..d05617c --- /dev/null +++ b/api/server.js @@ -0,0 +1,167 @@ +import path from 'path'; +import express from 'express'; +import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; +import OpticsAgent from 'optics-agent'; +import bodyParser from 'body-parser'; +import { invert, isString } from 'lodash'; + +import { + GITHUB_CLIENT_ID, + GITHUB_CLIENT_SECRET, +} from './githubKeys'; + +import { setUpGitHubLogin } from './githubLogin'; +import { GitHubConnector } from './github/connector'; +import { Repositories, Users } from './github/models'; +import { Entries, Comments } from './sql/models'; + +import { createServer } from 'http'; +import { SubscriptionServer } from 'subscriptions-transport-ws'; +import { subscriptionManager } from './subscriptions'; + +import schema from './schema'; + +import queryMap from '../extracted_queries.json'; +import config from './config'; + +// Arguments usually come from env vars +export function run({ + OPTICS_API_KEY, + PORT: portFromEnv = 3010, +}) { + if (OPTICS_API_KEY) { + OpticsAgent.instrumentSchema(schema); + } + + let port = portFromEnv; + if (isString(portFromEnv)) { + port = parseInt(portFromEnv, 10); + } + + const app = express(); + + app.use(bodyParser.urlencoded({ extended: true })); + app.use(bodyParser.json()); + + const invertedMap = invert(queryMap); + + app.use( + '/graphql', + (req, resp, next) => { + if (config.persistedQueries) { + // eslint-disable-next-line no-param-reassign + req.body.query = invertedMap[req.body.id]; + } + next(); + }, + ); + + setUpGitHubLogin(app); + + if (OPTICS_API_KEY) { + app.use('/graphql', OpticsAgent.middleware()); + } + + app.use('/graphql', graphqlExpress((req) => { + // Get the query, the same way express-graphql does it + // https://github.com/graphql/express-graphql/blob/3fa6e68582d6d933d37fa9e841da5d2aa39261cd/src/index.js#L257 + const query = req.query.query || req.body.query; + if (query && query.length > 2000) { + // None of our app's queries are this long + // Probably indicates someone trying to send an overly expensive query + throw new Error('Query too large.'); + } + + let user; + if (req.user) { + // We get req.user from passport-github with some pretty oddly named fields, + // let's convert that to the fields in our schema, which match the GitHub + // API field names. + user = { + login: req.user.username, + html_url: req.user.profileUrl, + avatar_url: req.user.photos[0].value, + }; + } + + // Initialize a new GitHub connector instance for every GraphQL request, so that API fetches + // are deduplicated per-request only. + const gitHubConnector = new GitHubConnector({ + clientId: GITHUB_CLIENT_ID, + clientSecret: GITHUB_CLIENT_SECRET, + }); + + let opticsContext; + if (OPTICS_API_KEY) { + opticsContext = OpticsAgent.context(req); + } + + return { + schema, + context: { + user, + Repositories: new Repositories({ connector: gitHubConnector }), + Users: new Users({ connector: gitHubConnector }), + Entries: new Entries(), + Comments: new Comments(), + opticsContext, + }, + }; + })); + + app.use('/graphiql', graphiqlExpress({ + endpointURL: '/graphql', + query: `{ + feed (type: NEW, limit: 5) { + repository { + owner { login } + name + } + + postedBy { login } + } + } + `, + })); + + // Serve our helpful static landing page. Not used in production. + app.get('/', (req, res) => { + res.sendFile(path.join(__dirname, 'index.html')); + }); + + const server = createServer(app); + + server.listen(port, () => console.log( // eslint-disable-line no-console + `API Server is now running on http://localhost:${port}` + )); + + // eslint-disable-next-line + new SubscriptionServer( + { + subscriptionManager, + + // the obSubscribe function is called for every new subscription + // and we use it to set the GraphQL context for this subscription + onSubscribe: (msg, params) => { + const gitHubConnector = new GitHubConnector({ + clientId: GITHUB_CLIENT_ID, + clientSecret: GITHUB_CLIENT_SECRET, + }); + return Object.assign({}, params, { + context: { + Repositories: new Repositories({ connector: gitHubConnector }), + Users: new Users({ connector: gitHubConnector }), + Entries: new Entries(), + Comments: new Comments(), + }, + }); + }, + }, + { + path: 'subscriptions', + server, + } + ); + + return server; +} From f0824ea11de557f185b88ec3187c31b376e5f7a2 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 19:21:04 -0800 Subject: [PATCH 155/174] Make sure to run test setup --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 887bb66..f4d250e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,7 @@ node_js: - "6" - "4" notifications: - email: false \ No newline at end of file + email: false +script: + - npm run test:setup + - npm test From 3c5cb1095953f8f858248ecf7e1f3c63d5ba21ca Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 19:23:20 -0800 Subject: [PATCH 156/174] Fix linter --- api/githubLogin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/githubLogin.js b/api/githubLogin.js index 406dcf0..6dc8112 100644 --- a/api/githubLogin.js +++ b/api/githubLogin.js @@ -16,7 +16,7 @@ const store = new KnexSessionStore({ export function setUpGitHubLogin(app) { if (!GITHUB_CLIENT_ID) { - console.warn('GitHub client ID not passed; login won\'t work.'); // eslint-ignore-line no-console + console.warn('GitHub client ID not passed; login won\'t work.'); // eslint-disable-line no-console return; } From a234593f6749851a61aba2851976d99e37314aa6 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 19:43:02 -0800 Subject: [PATCH 157/174] Ignore missing file --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2eaf641..066435e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "test:watch": "jest --watch", "seed": "knex seed:run", "migrate": "knex migrate:latest", - "test:setup": "rm test.sqlite3 && knex migrate:latest --env test && knex seed:run --env test" + "test:setup": "rm test.sqlite3 || knex migrate:latest --env test && knex seed:run --env test" }, "private": true, "repository": { From 73ebdda1e63faa572a162b33b3fff6d89d111d57 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 19:48:18 -0800 Subject: [PATCH 158/174] Fix test on node 4 --- knexfile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/knexfile.js b/knexfile.js index 362893f..eba559c 100644 --- a/knexfile.js +++ b/knexfile.js @@ -1,9 +1,9 @@ // Since Knex always runs this file first, all of our seeds and migrations are babelified. require('babel-register'); -const { parse } = require('pg-connection-string'); +const parse = require('pg-connection-string').parse; -const { DATABASE_URL } = process.env; +const DATABASE_URL = process.env.DATABASE_URL; module.exports = { development: { From 0fff0e4fc120ec5f6204c9a3a2d2ee475d9e56df Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sat, 4 Mar 2017 19:51:43 -0800 Subject: [PATCH 159/174] Meh, let's not test on node 4 anymore --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f4d250e..698c3cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: node_js node_js: - "6" - - "4" notifications: email: false script: From 357a8b9b209f9218492a01f97e86aedd679c7452 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Sun, 5 Mar 2017 15:57:13 -0800 Subject: [PATCH 160/174] Fix #183 --- api/index.js | 2 +- api/server.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/index.js b/api/index.js index 9d14419..a1136c9 100644 --- a/api/index.js +++ b/api/index.js @@ -1,3 +1,3 @@ import { run } from './server'; -run(); +run(process.env); diff --git a/api/server.js b/api/server.js index d05617c..7648623 100644 --- a/api/server.js +++ b/api/server.js @@ -28,7 +28,7 @@ import config from './config'; export function run({ OPTICS_API_KEY, PORT: portFromEnv = 3010, -}) { +} = {}) { if (OPTICS_API_KEY) { OpticsAgent.instrumentSchema(schema); } From cb9c978618b0ccea5b7229592aa57c5e3014a3b2 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 6 Mar 2017 18:10:30 +0000 Subject: [PATCH 161/174] chore(package): update dependencies https://greenkeeper.io/ --- package.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 066435e..f593ea3 100644 --- a/package.json +++ b/package.json @@ -28,37 +28,37 @@ "babel-jest": "^19.0.0", "babel-register": "6.23.0", "eslint": "3.17.0", - "eslint-config-airbnb": "12.0.0", - "eslint-plugin-babel": "4.1.0", - "eslint-plugin-import": "1.16.0", - "eslint-plugin-jsx-a11y": "2.2.3", - "eslint-plugin-react": "6.9.0", + "eslint-config-airbnb": "14.1.0", + "eslint-plugin-babel": "4.1.1", + "eslint-plugin-import": "2.2.0", + "eslint-plugin-jsx-a11y": "4.0.0", + "eslint-plugin-react": "6.10.0", "jest": "^19.0.2", "nodemon": "1.11.0", "sqlite3": "3.1.8" }, "dependencies": { - "babel-cli": "6.16.0", + "babel-cli": "6.23.0", "babel-core": "6.23.1", - "babel-preset-es2015": "6.16.0", + "babel-preset-es2015": "6.22.0", "babel-preset-react": "6.23.0", - "babel-preset-stage-2": "6.17.0", - "body-parser": "1.17.0", - "connect-session-knex": "1.3.0", - "dataloader": "1.2.0", + "babel-preset-stage-2": "6.22.0", + "body-parser": "1.17.1", + "connect-session-knex": "1.3.4", + "dataloader": "1.3.0", "dotenv": "4.0.0", - "express": "4.15.0", - "express-session": "1.15.0", + "express": "4.15.2", + "express-session": "1.15.1", "graphql": "^0.9.1", "graphql-server-express": "^0.6.0", "graphql-subscriptions": "^0.3.0", "graphql-tools": "^0.10.1", - "knex": "0.12.6", + "knex": "0.12.7", "lodash": "4.17.4", "optics-agent": "^1.0.5", "passport": "0.3.2", "passport-github": "1.1.0", - "persistgraphql": "^0.2.6", + "persistgraphql": "^0.3.0", "pg": "^6.1.2", "pg-connection-string": "^0.1.3", "reddit-score": "0.0.2", From ac2eedfd3dc5e7676aff7ca67325f3b5a4acfd50 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 6 Mar 2017 18:10:33 +0000 Subject: [PATCH 162/174] docs(readme): add Greenkeeper badge https://greenkeeper.io/ --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0a5a727..1c65571 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # GitHunt +[![Greenkeeper badge](https://badges.greenkeeper.io/apollographql/GitHunt-API.svg)](https://greenkeeper.io/) + The Apollo Server backend shared by all Apollo client example apps. Interact with the API yourself at [http://api.githunt.com/graphiql](http://api.githunt.com/graphiql). From 8f06b113c8879f9a995911384ae8ce8bbdba48b1 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 7 Mar 2017 00:17:56 -0800 Subject: [PATCH 163/174] Remove badge added by @greenkeeper --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 1c65571..0a5a727 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # GitHunt -[![Greenkeeper badge](https://badges.greenkeeper.io/apollographql/GitHunt-API.svg)](https://greenkeeper.io/) - The Apollo Server backend shared by all Apollo client example apps. Interact with the API yourself at [http://api.githunt.com/graphiql](http://api.githunt.com/graphiql). From e9d53792f2c2551bbd35292fdb50ba52a20b3bb4 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 7 Mar 2017 00:21:04 -0800 Subject: [PATCH 164/174] Fix repeated test setup --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f593ea3..7629673 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "test:watch": "jest --watch", "seed": "knex seed:run", "migrate": "knex migrate:latest", - "test:setup": "rm test.sqlite3 || knex migrate:latest --env test && knex seed:run --env test" + "test:setup": "rm test.sqlite3 || true; knex migrate:latest --env test && knex seed:run --env test" }, "private": true, "repository": { From 2a177bea31d2908a414722b276581fd048f42fbb Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 7 Mar 2017 00:24:52 -0800 Subject: [PATCH 165/174] Fix new lint stuff --- api/schema.js | 11 +++++------ api/server.js | 10 ++++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/api/schema.js b/api/schema.js index 10f177c..1b75ef7 100644 --- a/api/schema.js +++ b/api/schema.js @@ -1,7 +1,8 @@ import { merge } from 'lodash'; +import { makeExecutableSchema } from 'graphql-tools'; + import { schema as gitHubSchema, resolvers as gitHubResolvers } from './github/schema'; import { schema as sqlSchema, resolvers as sqlResolvers } from './sql/schema'; -import { makeExecutableSchema } from 'graphql-tools'; import { pubsub } from './subscriptions'; const rootSchema = [` @@ -130,12 +131,10 @@ const rootResolvers = { context.Comments.submitComment( repoFullName, context.user.login, - commentContent + commentContent, ) )) - .then(([id]) => - context.Comments.getCommentById(id) - ) + .then(([id]) => context.Comments.getCommentById(id)) .then((comment) => { // publish subscription notification pubsub.publish('commentAdded', comment); @@ -157,7 +156,7 @@ const rootResolvers = { return context.Entries.voteForEntry( repoFullName, voteValue, - context.user.login + context.user.login, ).then(() => ( context.Entries.getByRepoFullName(repoFullName) )); diff --git a/api/server.js b/api/server.js index 7648623..6cb498b 100644 --- a/api/server.js +++ b/api/server.js @@ -4,6 +4,8 @@ import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import OpticsAgent from 'optics-agent'; import bodyParser from 'body-parser'; import { invert, isString } from 'lodash'; +import { createServer } from 'http'; +import { SubscriptionServer } from 'subscriptions-transport-ws'; import { GITHUB_CLIENT_ID, @@ -14,13 +16,9 @@ import { setUpGitHubLogin } from './githubLogin'; import { GitHubConnector } from './github/connector'; import { Repositories, Users } from './github/models'; import { Entries, Comments } from './sql/models'; - -import { createServer } from 'http'; -import { SubscriptionServer } from 'subscriptions-transport-ws'; import { subscriptionManager } from './subscriptions'; import schema from './schema'; - import queryMap from '../extracted_queries.json'; import config from './config'; @@ -132,7 +130,7 @@ export function run({ const server = createServer(app); server.listen(port, () => console.log( // eslint-disable-line no-console - `API Server is now running on http://localhost:${port}` + `API Server is now running on http://localhost:${port}`, )); // eslint-disable-next-line @@ -160,7 +158,7 @@ export function run({ { path: 'subscriptions', server, - } + }, ); return server; From 18e4b7459940507a631d197ee1f4846b7d655bec Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 7 Mar 2017 19:57:44 -0800 Subject: [PATCH 166/174] Actually use Jest mocks --- .eslintrc | 3 +- __mocks__/request-promise.js | 55 ++++++++++++++++++++++++++++++++ api/github/connector.test.js | 62 ++++++------------------------------ 3 files changed, 66 insertions(+), 54 deletions(-) create mode 100644 __mocks__/request-promise.js diff --git a/.eslintrc b/.eslintrc index f451cad..193ff15 100644 --- a/.eslintrc +++ b/.eslintrc @@ -12,6 +12,7 @@ "import/prefer-default-export": 0, "import/no-extraneous-dependencies": 0, "import/imports-first": 0, - "no-use-before-define": 0 + "no-use-before-define": 0, + "no-underscore-dangle": 0 } } diff --git a/__mocks__/request-promise.js b/__mocks__/request-promise.js new file mode 100644 index 0000000..6ae0128 --- /dev/null +++ b/__mocks__/request-promise.js @@ -0,0 +1,55 @@ +let requestQueue = []; + +export default function rp(requestOptions) { + // Ensure we expected to get more requests + expect(requestQueue.length).not.toBe(0); + + const nextRequest = requestQueue.shift(); + // Ensure this is the request we expected + expect(requestOptions).toEqual(nextRequest.options); + + return new Promise((resolve, reject) => { + if (nextRequest.result) { + resolve(nextRequest.result); + } else if (nextRequest.error) { + reject(nextRequest.error); + } else { + throw new Error('Mocked request must have result or error.'); + } + }); +} + +function pushMockRequest({ options, result, error }) { + const defaultOptions = { + json: true, + headers: { + 'user-agent': 'GitHunt', + }, + resolveWithFullResponse: true, + }; + const { uri, ...rest } = options; + + const url = `https://api.github.com${uri}`; + + requestQueue.push({ + options: { + ...defaultOptions, + ...rest, + uri: url, + }, + result, + error, + }); +} + +function flushRequestQueue() { + requestQueue = []; +} + +function noRequestsLeft() { + expect(requestQueue.length).toBe(0); +} + +rp.__pushMockRequest = pushMockRequest; // eslint-disable-line no-underscore-dangle +rp.__flushRequestQueue = flushRequestQueue; // eslint-disable-line no-underscore-dangle +rp.__noRequestsLeft = noRequestsLeft; // eslint-disable-line no-underscore-dangle diff --git a/api/github/connector.test.js b/api/github/connector.test.js index fe18659..6cb1d94 100644 --- a/api/github/connector.test.js +++ b/api/github/connector.test.js @@ -1,58 +1,14 @@ -import { GitHubConnector } from './connector'; - -let requestQueue = []; - -function mockRequestPromise(requestOptions) { - // Ensure we expected to get more requests - expect(requestQueue.length).not.toBe(0); - - const nextRequest = requestQueue.shift(); - // Ensure this is the request we expected - expect(requestOptions).toEqual(nextRequest.options); +import rp from 'request-promise'; - return new Promise((resolve, reject) => { - if (nextRequest.result) { - resolve(nextRequest.result); - } else if (nextRequest.error) { - reject(nextRequest.error); - } else { - throw new Error('Mocked request must have result or error.'); - } - }); -} - -function pushMockRequest({ options, result, error }) { - const defaultOptions = { - json: true, - headers: { - 'user-agent': 'GitHunt', - }, - resolveWithFullResponse: true, - }; - const { uri, ...rest } = options; - - const url = `https://api.github.com${uri}`; - - requestQueue.push({ - options: { - ...defaultOptions, - ...rest, - uri: url, - }, - result, - error, - }); -} - -GitHubConnector.mockRequestPromise = mockRequestPromise; +import { GitHubConnector } from './connector'; describe('GitHub connector', () => { beforeEach(() => { - requestQueue = []; + rp.__flushRequestQueue(); }); afterEach(() => { - expect(requestQueue.length).toBe(0); + rp.__noRequestsLeft(); }); it('can be constructed', () => { @@ -62,7 +18,7 @@ describe('GitHub connector', () => { it('can load one endpoint', () => { const connector = new GitHubConnector(); - pushMockRequest({ + rp.__pushMockRequest({ options: { uri: '/endpoint' }, result: { headers: {}, @@ -78,7 +34,7 @@ describe('GitHub connector', () => { it('fetches each endpoint only once per instance', () => { const connector = new GitHubConnector(); - pushMockRequest({ + rp.__pushMockRequest({ options: { uri: '/endpoint', }, @@ -108,7 +64,7 @@ describe('GitHub connector', () => { clientSecret: 'fake_client_secret', }); - pushMockRequest({ + rp.__pushMockRequest({ options: { uri: '/endpoint', qs: { @@ -133,7 +89,7 @@ describe('GitHub connector', () => { const connector = new GitHubConnector(); const etag = 'etag'; - pushMockRequest({ + rp.__pushMockRequest({ options: { uri: '/endpoint', }, @@ -149,7 +105,7 @@ describe('GitHub connector', () => { const connector2 = new GitHubConnector(); - pushMockRequest({ + rp.__pushMockRequest({ options: { uri: '/endpoint', headers: { From 98bb3f54a3abef0b25995d7ca078f0ca6790677c Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Tue, 7 Mar 2017 22:10:26 -0800 Subject: [PATCH 167/174] Mock out GitHub API --- __mocks__/request-promise.js | 2 ++ __tests__/basic.js | 56 ++++++++++++++++++++++++++++++++++-- package.json | 1 + 3 files changed, 57 insertions(+), 2 deletions(-) diff --git a/__mocks__/request-promise.js b/__mocks__/request-promise.js index 6ae0128..153df48 100644 --- a/__mocks__/request-promise.js +++ b/__mocks__/request-promise.js @@ -53,3 +53,5 @@ function noRequestsLeft() { rp.__pushMockRequest = pushMockRequest; // eslint-disable-line no-underscore-dangle rp.__flushRequestQueue = flushRequestQueue; // eslint-disable-line no-underscore-dangle rp.__noRequestsLeft = noRequestsLeft; // eslint-disable-line no-underscore-dangle + +rp.actual = require.requireActual('request-promise'); diff --git a/__tests__/basic.js b/__tests__/basic.js index b16f71f..53a9877 100644 --- a/__tests__/basic.js +++ b/__tests__/basic.js @@ -1,5 +1,7 @@ -import { run } from '../api/server'; import rp from 'request-promise'; +import casual from 'casual'; + +import { run } from '../api/server'; const testPort = 6789; const endpointUrl = `http://localhost:${testPort}/graphql`; @@ -10,6 +12,56 @@ beforeAll(() => { }); it('accepts a query', async () => { + casual.seed(123); + + [ + ['apollographql/apollo-client', 'stubailo'], + ['apollographql/graphql-server', 'helfer'], + ['meteor/meteor', 'tmeasday'], + ['twbs/bootstrap', 'Slava'], + ['d3/d3', 'Slava'], + ].forEach(([full_name, postedBy]) => { + // First, it will request the repository; + rp.__pushMockRequest({ + options: { + uri: `/repos/${full_name}`, + }, + result: { + headers: { + etag: casual.string, + }, + body: { + name: full_name.split('/')[1], + full_name, + description: casual.sentence, + html_url: casual.url, + stargazers_count: casual.integer(0), + open_issues_count: casual.integer(0), + owner: { + login: full_name.split('/')[0], + avatar_url: casual.url, + html_url: casual.url, + }, + }, + }, + }); + + // Then the user who posted it + rp.__pushMockRequest({ + options: { + uri: `/users/${postedBy}`, + }, + result: { + headers: { + etag: casual.string, + }, + body: { + login: postedBy, + }, + }, + }); + }); + const result = await fetchGraphQL(` { feed (type: NEW, limit: 5) { @@ -32,7 +84,7 @@ afterAll(() => { }); function fetchGraphQL(query, variables) { - return rp(endpointUrl, { + return rp.actual(endpointUrl, { method: 'post', body: { query, variables }, json: true, diff --git a/package.json b/package.json index 7629673..a75d3d8 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "babel-eslint": "7.1.1", "babel-jest": "^19.0.0", "babel-register": "6.23.0", + "casual": "^1.5.11", "eslint": "3.17.0", "eslint-config-airbnb": "14.1.0", "eslint-plugin-babel": "4.1.1", From d64ae82e1031028d3eb2f75c4890fa0f11c09176 Mon Sep 17 00:00:00 2001 From: Ben Diuguid Date: Tue, 7 Mar 2017 18:46:20 -0500 Subject: [PATCH 168/174] fixed typo obSubscribe => onSubscribe --- api/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server.js b/api/server.js index 6cb498b..e30eb2a 100644 --- a/api/server.js +++ b/api/server.js @@ -138,7 +138,7 @@ export function run({ { subscriptionManager, - // the obSubscribe function is called for every new subscription + // the onSubscribe function is called for every new subscription // and we use it to set the GraphQL context for this subscription onSubscribe: (msg, params) => { const gitHubConnector = new GitHubConnector({ From 109618a1cb057c9bb1b97dea154dfda26fc372c1 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Fri, 10 Mar 2017 12:40:17 +0000 Subject: [PATCH 169/174] chore(package): update dependencies https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a75d3d8..e5531ed 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "babel-jest": "^19.0.0", "babel-register": "6.23.0", "casual": "^1.5.11", - "eslint": "3.17.0", + "eslint": "3.17.1", "eslint-config-airbnb": "14.1.0", "eslint-plugin-babel": "4.1.1", "eslint-plugin-import": "2.2.0", From 35202472b63a7750dc728d1c864eb8200ee7276d Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Fri, 10 Mar 2017 12:40:38 +0000 Subject: [PATCH 170/174] docs(readme): add Greenkeeper badge https://greenkeeper.io/ --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0a5a727..1c65571 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # GitHunt +[![Greenkeeper badge](https://badges.greenkeeper.io/apollographql/GitHunt-API.svg)](https://greenkeeper.io/) + The Apollo Server backend shared by all Apollo client example apps. Interact with the API yourself at [http://api.githunt.com/graphiql](http://api.githunt.com/graphiql). From d6fc3c2d77e5add488a0b3c34c28556ddc2d964c Mon Sep 17 00:00:00 2001 From: Caleb Meredith Date: Fri, 10 Mar 2017 08:28:43 -0800 Subject: [PATCH 171/174] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 1c65571..0a5a727 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # GitHunt -[![Greenkeeper badge](https://badges.greenkeeper.io/apollographql/GitHunt-API.svg)](https://greenkeeper.io/) - The Apollo Server backend shared by all Apollo client example apps. Interact with the API yourself at [http://api.githunt.com/graphiql](http://api.githunt.com/graphiql). From 07aa0716fdb1909bcf8bc189356da27348dda566 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 13 Mar 2017 02:30:15 +0000 Subject: [PATCH 172/174] fix(package): update babel-core to version 6.24.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e5531ed..a3f0642 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "babel-cli": "6.23.0", - "babel-core": "6.23.1", + "babel-core": "6.24.0", "babel-preset-es2015": "6.22.0", "babel-preset-react": "6.23.0", "babel-preset-stage-2": "6.22.0", From 2169f23c57254ad3aaccf0346301fb6d77749e82 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 13 Mar 2017 04:12:36 +0000 Subject: [PATCH 173/174] fix(package): update babel-preset-es2015 to version 6.24.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e5531ed..f30cf29 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "dependencies": { "babel-cli": "6.23.0", "babel-core": "6.23.1", - "babel-preset-es2015": "6.22.0", + "babel-preset-es2015": "6.24.0", "babel-preset-react": "6.23.0", "babel-preset-stage-2": "6.22.0", "body-parser": "1.17.1", From f2b332bc7ec94a378b77779d950b9b4e64a82f17 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 13 Mar 2017 05:03:39 +0000 Subject: [PATCH 174/174] chore(package): update babel-register to version 6.24.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e5531ed..600847c 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "devDependencies": { "babel-eslint": "7.1.1", "babel-jest": "^19.0.0", - "babel-register": "6.23.0", + "babel-register": "6.24.0", "casual": "^1.5.11", "eslint": "3.17.1", "eslint-config-airbnb": "14.1.0",