├── .babelrc
├── .gitignore
├── .prettierrc
├── LICENSE
├── Procfile
├── README.md
├── app.json
├── package.json
├── scripts
├── fund.js
├── runUpdateIndex.js
├── runUpdateOrders.js
└── seed.js
├── src
├── cloud.js
├── env.js
├── server.js
├── server
│ ├── fromParseObjects.js
│ ├── main.js
│ ├── portfolio.js
│ ├── trading.js
│ ├── updateIndex.js
│ └── updateOrders.js
└── utils
│ ├── coinbaseWeights.js
│ └── currencyMapper.js
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015"]
3 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # nyc test coverage
21 | .nyc_output
22 |
23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24 | .grunt
25 |
26 | # Bower dependency directory (https://bower.io/)
27 | bower_components
28 |
29 | # node-waf configuration
30 | .lock-wscript
31 |
32 | # Compiled binary addons (https://nodejs.org/api/addons.html)
33 | build/Release
34 |
35 | # Dependency directories
36 | node_modules/
37 | jspm_packages/
38 |
39 | # TypeScript v1 declaration files
40 | typings/
41 |
42 | # Optional npm cache directory
43 | .npm
44 |
45 | # Optional eslint cache
46 | .eslintcache
47 |
48 | # Optional REPL history
49 | .node_repl_history
50 |
51 | # Output of 'npm pack'
52 | *.tgz
53 |
54 | # Yarn Integrity file
55 | .yarn-integrity
56 |
57 | # dotenv environment variables file
58 | .env
59 |
60 | # next.js build output
61 | .next
62 |
63 | # Visual Studio Code
64 | .vscode
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | semi: true
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2018 Alex Meyer
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | web: yarn run start
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Open Source Coinbase Index Fund
2 | Create your own index fund on Coinbase Pro that replicates [Coinbase's Index Fund](https://am.coinbase.com).
3 |
4 | ## Why
5 | Coinbase released their [Index Fund](https://am.coinbase.com) in March 2018. However, it is restricted to accredited investors only and has a high 2% annual management fee.
6 |
7 | The goal of this repository is to give anyone the ability to have an index of all assets listed on Coinbase Pro with lower fees.
8 |
9 | ## How to Use
10 | ### Sandbox
11 | Coinbase has a public sandbox for testing. By default, the app is set to use the Sandbox API so that you don't accidentally execute real trades.
12 |
13 | All of the below instructions apply to the sandbox as well as real site. The only difference is the urls you use.
14 |
15 | You can add funds using the web interface deposit and withdraw buttons as you would on the production web interface.
16 |
17 | #### Sandbox URLs
18 | **Website:** https://public.sandbox.pro.coinbase.com
19 |
20 | **API:** https://api-public.sandbox.pro.coinbase.com
21 |
22 | #### Live Site URLs
23 | **Website:** https://pro.coinbase.com
24 |
25 | **API:** https://api.pro.coinbase.com
26 |
27 | ### Coinbase Pro
28 | In order to use this code, you'll first need to have a [Coinbase Pro account](https://pro.coinbase.com). Once you have an account, you'll need to [create an API Key](https://pro.coinbase.com/profile/api), check all permissions. Make note of the API key, secret, and passphrase, you'll need these and you will not be able to see the secret or passphrase after you create it initially.
29 |
30 | You'll also need to make sure you have enough funds in your Coinbase Pro account to execute the trades.
31 |
32 |
33 | ## One-time Usage vs Automatic Usage
34 | There are two ways you can choose to use this repository. The first is to use it to make a one-time purchase of currencies on Coinbase Pro in the amount equal to their relative market cap sizes (see [One-time Usage](#one-time-usage) below). The second way is to use it as an automatic crypto index fund, much like if you were to buy into Coinbase's Index Fund (see [Automatic Usage](#automatic-usage) below).
35 |
36 | ## One-time Usage
37 | The one-time usage executes trades in your Coinbase Pro account with the fiat currency of your choice to buy an amount of each crypto currency available equal to their relative market cap sizes. Note that this will use all of the fiat currency you have in your account available.
38 |
39 | ### Run on your own machine
40 | First clone the repository `git clone https://github.com/acmeyer/open-source-coinbase-index-fund`.
41 |
42 | Next, you have to set environment variables for `COINBASE_API_URL`, `COINBASE_FIAT_CURRENCY`, `COINBASE_API_KEY`, `COINBASE_API_SECRET`, and `COINBASE_API_PASSPHRASE`. The fiat currency environment variable should be the fiat currency you want to do trades in. The default is 'USD'. The api url is provided above for both the sandbox and live environments.
43 |
44 | Finally, all you have to do to purchase an index fund of available currencies on Coinbase Pro, run `yarn run fund` inside the app's directory.
45 |
46 | **Warning:** This will execute trades!
47 |
48 | **Note:** it is assumed you followed the instructions above and your Coinbase Pro account has a sufficient balance in it to execute the trades. See above section [Coinbase Pro](#coinbase-pro) if not.
49 |
50 | If you would like to run this code automatically whenever your Coinbase Pro account has a high enough balance, you can deploy this code to a server and use a scheduler.
51 |
52 | ### Deploy on a server
53 | The easiest way to deploy this code to a server is by clicking the button below. Once you do that, you only have to set up the `COINBASE_API_URL`, `COINBASE_FIAT_CURRENCY`, `COINBASE_API_KEY`, `COINBASE_API_SECRET`, and `COINBASE_API_PASSPHRASE` environment variables and create a scheduler task that runs `yarn run fund`.
54 |
55 | Once the server and scheduler are set, it will automatically make trades whenever your Coinbase Pro account has sufficient funds in the fiat currency you set the `COINBASE_FIAT_CURRENCY` to.
56 |
57 |
58 |
59 |
60 |
61 | You can also deploy this code to other servers. The setup is very similar.
62 |
63 | ## Automatic Usage
64 | Use this set up if you would like to convert your Coinbase Pro account into an Index Fund account. This set up a server to automatically manage your Coinbase Pro account to replicate [Coinbase's Index Fund](https://am.coinbase.com/index).
65 |
66 | **Note:** This set up will rebalance ALL currencies in your Coinbase Pro account to match the Index's weights, even if you already have different amounts of currencies in your account before running this server. Only use this set up if you don't care that the code will make trades to rebalance your account.
67 |
68 | **Tip:** If you would like to keep the current amount of each currency but still want to also have an index of all currencies on Coinbase, transfer your current amounts into their respective wallets to your regular Coinbase account. Then anything in your Coinbase Pro account will be the Index Fund and anything in your regular Coinbase wallets won't be affected.
69 |
70 | The goal is to add the ability to manage an individual Coinbase Pro account so that it can have an Index Fund and still execute other trades. If you would like the ability to do this, please submit a pull-request!
71 |
72 | ### Run on your own machine
73 | First clone the repository `git clone https://github.com/acmeyer/open-source-coinbase-index-fund`.
74 |
75 | Next, you have to set environment variables for `COINBASE_API_URL`, `COINBASE_FIAT_CURRENCY`, `COINBASE_API_KEY`, `COINBASE_API_SECRET`, and `COINBASE_API_PASSPHRASE`. The fiat currency environment variable should be the fiat currency you want to do trades in. The default is 'USD'. The api url is provided above for both the sandbox and live environments.
76 |
77 | The code uses [Parse Server](https://github.com/parse-community/parse-server) to manage the server and [Parse Dashboard](https://github.com/parse-community/parse-dashboard) for a server dashboard. This repository has defaults for each's set up but you'll likely want to update the environment variables in `src/env.js` to match your own machine's configuration.
78 |
79 | Once you have set up the environment variables, you can run the server using the command `yarn run start` inside the app's directory. If you are using a local version of mongodb, make sure that is running before you try and run the server.
80 |
81 | In order to actually execute any trades, you have to either manually run the background job called `update_index` by running `yarn run updateIndex` inside the app's directory, or by clicking the **Run Now** button in the Parse Dashboard under **Jobs**.
82 |
83 | **Note:** Running this code will execute trades!
84 |
85 | To manage your Coinbase Pro account automatically, however, you'll need to set this up as a scheduled job. You can do this on your own machine but it's much easier to have a server manage it for you.
86 |
87 | ### Deploy on a server
88 | The easiest way to deploy this code to a server is by clicking the button below. Once you do that, you have to set up the all the environment variables found in Heroku's **Config Vars** section under the app's **Settings** tab.
89 |
90 | Next, create a scheduler task that runs `yarn run updateIndex`. If you would like to match Coinbase's Index Fund exactly, then schedule this task to run daily at 12:00am UTC (5:00pm PT).
91 |
92 | Once the server and scheduler are set, it will automatically check the current currency weights on Coinbase and rebalance your Coinbase Pro account to match, if necessary. See the below section on [Methodology](#methodology) to understand when these rebalances will happen.
93 |
94 | Finally, in order to keep your orders up to date with Coinbase, add another scheduler task that runs `yarn run updateOrders`. You can set this to run at whatever frequency you desire. This task just keeps the orders in your database in sync with Coinbase.
95 |
96 | **Note:** On first set up, the database will have no currencies already in it. That means the first time the `update_index` background job is run, it will rebalance your portfolio. This may be desirable if you want your account to be updated as soon as you set this server up, but if you don't want the rebalancing to happen right away and instead wait until either a new currency is added to Coinbase's Index Fund or January 1st of the next year, then you will need to seed your database with the current currencies before the background job runs. This can be easily done by running `yarn run seed` in the app's console.
97 |
98 |
99 |
100 |
101 |
102 | You can also deploy this code to other servers. The setup is very similar.
103 |
104 | ## Methodology
105 | This code is meant to replicate [Coinbase's Index Fund](https://am.coinbase.com/index). You can read more about their methodology here: https://am.coinbase.com/documents/cbi-methodology.pdf.
106 |
107 | Currently, the asset weights are pulled from https://index-am.coinbase.com//v1/cbi/composition.json to match Coinbase's weights. In the future, the goal is to do this all automatically with an official calculation, that uses the same formula Coinbase does. That way, if Coinbase ever changes the url or otherwise removes the ability to get this information, the code can still work properly.
108 |
109 | The two main takeaways are that the Index Fund gets rebalance when one of two things happens:
110 |
111 | 1. 5 days after a new currency is added to Coinbase Pro (at 5:00pm PT)
112 | 2. The 1st day of a new year (at 5:00pm PT)
113 |
114 | If you run this repository on a server and schedule the background job `update_index` to run daily at 5:00pm PT (12:00am UTC) then it will automatically rebalance your Coinbase Pro account as outlined in the Methodology above.
115 |
116 | ## License
117 | Released under the MIT License. See [LICENSE](LICENSE) or http://opensource.org/licenses/MIT for more information.
118 |
119 | ## Contributing
120 | * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
121 | * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
122 | * Fork the project
123 | * Start a feature/bugfix branch
124 | * Commit and push until you are happy with your contribution
125 | * Create a Pull-Request on the master branch for your feature/fix
126 |
127 | ## Todos
128 | - [x] Add a method to get weights rather than rely on scraping
129 | - [x] Automatically rebalance account, annually and any time new asset is added to GDAX
130 | - [ ] Add option to use different types of orders to avoid trading fees
131 | - [ ] Add tests
132 | - [ ] Better error handling
133 | - [x] Add background job to update executed orders on Coinbase Pro to keep data up to date
134 | - [ ] Separate index fund vs rest of Coinbase Pro account
135 | - [ ] Add frontend UI for viewing Index Fund's performance
136 | - [ ] Add an official calculation of Methodology rather than pulling weights from Coinbase
137 |
138 | ## Disclaimer
139 | This repository is for information purposes only. Use the code at your own risk. You may lose money if you use this code. Trading crypto currencies for real money is extremely risky and likely to result in disappointment. You bear sole responsibility for anything that happens using this code.
140 |
141 | ## Support
142 | To support the development of this project, you can make donations to the below addresses:
143 |
144 | BTC: 3FEUPGgdgmzu7w4GkW7vnBwRWqdyCsy53v
145 |
146 | BCH: qqkw35llyty9t8gd2aafg6j946xjpaqdkc8adx8q04
147 |
148 | ETH: 0x93fd6895a4756B6233CAa3B491594d0EB040D189
149 |
150 | ZEC: t1Mr3updMscxiw1r9ob726W5VucieVknEcC
151 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Open Source Index Fund",
3 | "description": "Create your own index fund on Coinbase Pro that replicates Coinbase's Index Fund.",
4 | "repository": "https://github.com/acmeyer/open-source-coinbase-index-fund",
5 | "keywords": ["node", "coinbase pro", "crypto", "coinbase", "tokens", "trading", "exchange", "javascript", "mlab"],
6 | "formation": {
7 | "web": {
8 | "quantity": 1,
9 | "size": "free"
10 | }
11 | },
12 | "env": {
13 | "COINBASE_API_URL": {
14 | "description": "The api url to use. This can either be the Coinbase Sandbox API url or the Live Site's API url.",
15 | "value": "https://api-public.sandbox.pro.coinbase.com"
16 | },
17 | "COINBASE_FIAT_CURRENCY": {
18 | "description": "The fiat currency you want to use for your trades.",
19 | "value": "USD"
20 | },
21 | "COINBASE_API_KEY": {
22 | "description": "Your Coinbase Pro API key.",
23 | "value": ""
24 | },
25 | "COINBASE_API_SECRET": {
26 | "description": "Your Coinbase Pro API secret.",
27 | "value": ""
28 | },
29 | "COINBASE_API_PASSPHRASE": {
30 | "description": "Your Coinbase Pro API passphrase.",
31 | "value": ""
32 | },
33 | "APP_ID": {
34 | "description": "The application id for server app.",
35 | "value": "open-source-coinbase-index-fund"
36 | },
37 | "SERVER_URL": {
38 | "description": "The full url for the server api.",
39 | "value": "https://example.herokuapp.com/api"
40 | },
41 | "MASTER_KEY": {
42 | "description": "The master key for accessing the server api. Change this!",
43 | "value": ""
44 | },
45 | "DATABASE_URI": {
46 | "description": "The url to the server's database.",
47 | "value": "MONGODB_URI"
48 | },
49 | "WEB_CONCURRENCY": {
50 | "description": "The number of web workers you want running concurrently.",
51 | "value": "1"
52 | },
53 | "USE_ENCRYPTED_PASSWORDS": {
54 | "description": "Whether to store admin dashboard passwords in plain text or encrypted. If encrypted, use a bcrypt generator to store password in DASHBOARD_USERS below",
55 | "value": "false"
56 | },
57 | "DASHBOARD_USERS": {
58 | "description": "Users of the admin dashboard, using username:password format and comma separated.",
59 | "value": "admin:P@ssw0rd!"
60 | },
61 | "TRUST_PROXY": {
62 | "description": "Whether or not to trust the proxy server. On Heroku you can.",
63 | "value": "1"
64 | },
65 | "COOKIE_SESSION_SECRET": {
66 | "description": "Random secret string.",
67 | "value": ""
68 | }
69 | },
70 | "addons": [
71 | "scheduler",
72 | {
73 | "plan": "mongolab:sandbox"
74 | }
75 | ]
76 | }
77 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "open-source-coinbase-index-fund",
3 | "version": "0.0.2",
4 | "description": "Create your own index fund on Coinbase Pro that replicates Coinbase's Index Fund.",
5 | "license": "MIT",
6 | "repository": {
7 | "type": "git",
8 | "url": "https://github.com/acmeyer/open-source-coinbase-index-fund"
9 | },
10 | "author": {
11 | "name": "Alex Meyer",
12 | "url": "https://github.com/acmeyer"
13 | },
14 | "scripts": {
15 | "start": "babel-node ./src/server",
16 | "fund": "babel-node ./scripts/fund",
17 | "seed": "babel-node ./scripts/seed",
18 | "updateIndex": "babel-node ./scripts/runUpdateIndex",
19 | "updateOrders": "babel-node ./scripts/runUpdateOrders"
20 | },
21 | "dependencies": {
22 | "babel-cli": "^6.26.0",
23 | "babel-preset-es2015": "^6.24.1",
24 | "express": "^4.16.3",
25 | "gdax": "^0.7.0",
26 | "lodash": "^4.17.10",
27 | "parse": "^2.0.0",
28 | "parse-dashboard": "^1.2.0",
29 | "parse-server": "^2.8.2",
30 | "request": "^2.85.0",
31 | "request-promise": "^4.2.2"
32 | },
33 | "devDependencies": {}
34 | }
35 |
--------------------------------------------------------------------------------
/scripts/fund.js:
--------------------------------------------------------------------------------
1 | import {COINBASE_CLIENT, FIAT_CURRENCY} from '../src/env';
2 | import _ from 'lodash';
3 | import {getWeights} from '../src/utils/coinbaseWeights';
4 |
5 | function buy(productName, amount) {
6 | // Round amount down to nearest cent because Coinbase doesn't accept lower and
7 | // guarantees account has enough funds to make purchases
8 | let rounded_amount = Math.floor(amount * 100) / 100;
9 | const params = {
10 | type: 'market',
11 | funds: rounded_amount.toString(),
12 | product_id: productName + '-' + FIAT_CURRENCY,
13 | };
14 | COINBASE_CLIENT.buy(params).then((order) => {
15 | console.log('Order placed', order);
16 | }).catch(err => console.log('Error placing order', err.data.message));
17 | }
18 |
19 | function makePurchase(amount, weights) {
20 | weights.forEach(w => {
21 | const purchaseAmount = amount * w.amount;
22 | buy(w.productName, purchaseAmount.toString());
23 | });
24 | }
25 |
26 | function run() {
27 | COINBASE_CLIENT.getAccounts().then(async (accounts) => {
28 | let fiatAccount = _.find(accounts, ['currency', FIAT_CURRENCY]);
29 | let availableBalance = parseFloat(fiatAccount.available);
30 | let weights = await getWeights();
31 | // Note: the minmum order size is 10 so any trade smaller than this will fail
32 | // but the others will go through
33 | makePurchase(availableBalance, weights);
34 | }).catch(err => console.log(err));
35 | }
36 |
37 | run();
--------------------------------------------------------------------------------
/scripts/runUpdateIndex.js:
--------------------------------------------------------------------------------
1 | const request = require('request');
2 | import {APP_ID, SERVER_URL, MASTER_KEY} from '../src/env';
3 |
4 | const options = {
5 | url: SERVER_URL + '/jobs/update_index',
6 | method: 'POST',
7 | headers: {
8 | 'X-Parse-Application-Id': APP_ID,
9 | 'X-Parse-Master-Key': MASTER_KEY
10 | }
11 | };
12 |
13 | function main() {
14 | request(options, (error, response, body) => {
15 | console.log(response.statusCode);
16 | });
17 | return 'OK';
18 | }
19 |
20 | main();
21 |
--------------------------------------------------------------------------------
/scripts/runUpdateOrders.js:
--------------------------------------------------------------------------------
1 | const request = require('request');
2 | import {APP_ID, SERVER_URL, MASTER_KEY} from '../src/env';
3 |
4 | const options = {
5 | url: SERVER_URL + '/jobs/update_orders',
6 | method: 'POST',
7 | headers: {
8 | 'X-Parse-Application-Id': APP_ID,
9 | 'X-Parse-Master-Key': MASTER_KEY
10 | }
11 | };
12 |
13 | function main() {
14 | request(options, (error, response, body) => {
15 | console.log(response.statusCode);
16 | });
17 | return 'OK';
18 | }
19 |
20 | main();
21 |
--------------------------------------------------------------------------------
/scripts/seed.js:
--------------------------------------------------------------------------------
1 | import Parse from 'parse/node';
2 | const Currency = Parse.Object.extend('Currency');
3 | import {getWeights} from '../src/utils/coinbaseWeights';
4 |
5 | import {
6 | APP_ID,
7 | SERVER_URL,
8 | MASTER_KEY,
9 | } from "../src/env";
10 |
11 | Parse.initialize(APP_ID);
12 | Parse.serverURL = SERVER_URL;
13 | Parse.masterKey = MASTER_KEY;
14 | Parse.Cloud.useMasterKey();
15 |
16 | function createCurrency(weight) {
17 | let currency = new Currency();
18 | currency.set('name', weight.productName);
19 | return currency.save().then(() => {
20 | return;
21 | }).catch(err => console.log(err));
22 | }
23 |
24 | // Seeds the database with the current currencies in the Coinbase Index Fund
25 | async function run() {
26 | let weights = await getWeights();
27 | await weights.map(createCurrency);
28 | console.log('Currencies seeded!');
29 | }
30 |
31 | run();
--------------------------------------------------------------------------------
/src/cloud.js:
--------------------------------------------------------------------------------
1 | require('./server/updateIndex');
2 | require('./server/updateOrders');
--------------------------------------------------------------------------------
/src/env.js:
--------------------------------------------------------------------------------
1 | import * as Gdax from 'gdax';
2 |
3 | // Coinbase
4 | export const COINBASE_API_URL = process.env.COINBASE_API_URL || 'https://api-public.sandbox.pro.coinbase.com';
5 | export const FIAT_CURRENCY = process.env.COINBASE_FIAT_CURRENCY;
6 | export const COINBASE_CLIENT = new Gdax.AuthenticatedClient(
7 | process.env.COINBASE_API_KEY,
8 | process.env.COINBASE_API_SECRET,
9 | process.env.COINBASE_API_PASSPHRASE,
10 | COINBASE_API_URL,
11 | );
12 |
13 | // Server
14 | export const APP_ID = process.env.APP_ID || 'open-source-coinbase-index-fund';
15 | export const SERVER_PORT = process.env.PORT || 8080;
16 | export const SERVER_URL = process.env.SERVER_URL || 'http://localhost:8080/api';
17 | export const MASTER_KEY = process.env.MASTER_KEY || '600d2b7409f821c0d6efe36694aba2ddffb45f8e2d901b55';
18 | export const DATABASE_URI = process.env.DATABASE_URI || 'mongodb://localhost:27017/oscbif_dev';
19 | export const WORKERS = process.env.WEB_CONCURRENCY || 1;
20 | export const IS_DEVELOPMENT = process.env.NODE_ENV !== 'production';
21 | // If USE_ENCRYPTED_PASSWORDS is set to true, then you will need to use a bcrypt generator
22 | // like this one: https://www.bcrypt-generator.com, to encrypt it
23 | // then use that string in DASHBOARD_USERS for the password.
24 | export const USE_ENCRYPTED_PASSWORDS = process.env.USE_ENCRYPTED_PASSWORDS || false;
25 | export const DASHBOARD_USERS = process.env.DASHBOARD_USERS || 'admin:p@ssw0rds';
26 | // Must trust server ssl config!!!
27 | export const TRUST_PROXY = process.env.TRUST_PROXY || undefined;
28 | export const COOKIE_SESSION_SECRET = process.env.COOKIE_SESSION_SECRET || '48875a701aa6556cb31';
--------------------------------------------------------------------------------
/src/server.js:
--------------------------------------------------------------------------------
1 | import path from 'path';
2 | import express from 'express';
3 | import Parse from 'parse/node';
4 | import {ParseServer} from 'parse-server';
5 | import ParseDashboard from 'parse-dashboard';
6 | import cluster from 'cluster';
7 |
8 | import {
9 | APP_ID,
10 | SERVER_URL,
11 | SERVER_PORT,
12 | MASTER_KEY,
13 | DASHBOARD_USERS,
14 | DATABASE_URI,
15 | WORKERS,
16 | USE_ENCRYPTED_PASSWORDS,
17 | TRUST_PROXY,
18 | IS_DEVELOPMENT,
19 | COOKIE_SESSION_SECRET,
20 | } from "./env";
21 |
22 | Parse.initialize(APP_ID);
23 | Parse.serverURL = SERVER_URL;
24 | Parse.masterKey = MASTER_KEY;
25 | Parse.Cloud.useMasterKey();
26 |
27 | if (cluster.isMaster) {
28 | for (let i = 0; i < WORKERS; i += 1) {
29 | cluster.fork();
30 | }
31 | } else {
32 | const server = express();
33 |
34 | server.use(
35 | '/api',
36 | new ParseServer({
37 | databaseURI: DATABASE_URI,
38 | cloud: path.resolve(__dirname, 'cloud.js'),
39 | appId: APP_ID,
40 | masterKey: MASTER_KEY,
41 | serverURL: SERVER_URL,
42 | })
43 | );
44 |
45 | let users = [];
46 | if (DASHBOARD_USERS) {
47 | DASHBOARD_USERS.split(',').map(u => {
48 | let [user, pass] = u.split(':');
49 | users.push({user, pass});
50 | });
51 | }
52 |
53 | server.use(
54 | '/dashboard',
55 | new ParseDashboard({
56 | apps: [{
57 | serverURL: SERVER_URL,
58 | appId: APP_ID,
59 | masterKey: MASTER_KEY,
60 | production: !IS_DEVELOPMENT,
61 | appName: 'Open Source Coinbase Index Fund',
62 | }],
63 | users,
64 | useEncryptedPasswords: USE_ENCRYPTED_PASSWORDS,
65 | trustProxy: TRUST_PROXY,
66 | }, {
67 | cookieSessionSecret: COOKIE_SESSION_SECRET,
68 | allowInsecureHTTP: TRUST_PROXY,
69 | })
70 | );
71 |
72 | server.listen(SERVER_PORT, () => console.log(
73 | `Server is now running in ${process.env.NODE_ENV || 'development'} mode on ${SERVER_URL}`
74 | ));
75 | }
--------------------------------------------------------------------------------
/src/server/fromParseObjects.js:
--------------------------------------------------------------------------------
1 | export const fromParseCurrency = (currency) => {
2 | return {
3 | id: currency.id,
4 | name: currency.get('name'),
5 | };
6 | }
7 |
8 | export const fromParseOrder = (order) => {
9 | return {
10 | id: order.id,
11 | coinbaseId: order.get('coinbaseId'),
12 | price: order.get('price'),
13 | size: order.get('size'),
14 | productId: order.get('productId'),
15 | type: order.get('type'),
16 | side: order.get('side'),
17 | fillFees: order.get('fillFees'),
18 | filledSize: order.get('filledSize'),
19 | executedValue: order.get('executedValue'),
20 | status: order.get('status'),
21 | settled: order.get('settled'),
22 | };
23 | }
--------------------------------------------------------------------------------
/src/server/main.js:
--------------------------------------------------------------------------------
1 | require('server/updateIndex.js');
2 | require('server/updateOrders.js');
--------------------------------------------------------------------------------
/src/server/portfolio.js:
--------------------------------------------------------------------------------
1 | import {COINBASE_CLIENT, FIAT_CURRENCY} from '../env';
2 | import {sellAll, buyWeight} from './trading';
3 | import {getWeights} from '../utils/coinbaseWeights';
4 | import _ from 'lodash';
5 |
6 | function rebalancePortfolio() {
7 | return COINBASE_CLIENT.getAccounts().then(async (accounts) => {
8 | // Find all accounts, except for Fiat
9 | let cryptoAccounts = _.filter(accounts, (account) => account.currency !== FIAT_CURRENCY);
10 | // for each account, sell all existing balances
11 | await cryptoAccounts.map(sellAll);
12 | }).then(async () => {
13 | // Wait until orders have settled
14 | let pending = true;
15 | while (pending) {
16 | const orders = await COINBASE_CLIENT.getOrders({status: 'pending'})
17 | if (orders.length === 0) {
18 | pending = false;
19 | }
20 | }
21 | // Get the fiat account for purchases
22 | return COINBASE_CLIENT.getAccounts().then((accounts) => {
23 | return _.find(accounts, ['currency', FIAT_CURRENCY]);
24 | });
25 | }).then(async (fiatAccount) => {
26 | let availableBalance = parseFloat(fiatAccount.available);
27 | // buy each type of product at the new weights
28 | let weights = await getWeights();
29 | return weights.map(w => buyWeight(availableBalance, w));
30 | });
31 | }
32 |
33 | module.exports = {
34 | rebalancePortfolio,
35 | };
--------------------------------------------------------------------------------
/src/server/trading.js:
--------------------------------------------------------------------------------
1 | /* global Parse */
2 | import {COINBASE_CLIENT, FIAT_CURRENCY} from '../env';
3 | const Order = Parse.Object.extend('Order');
4 |
5 | // Order response object from Coinbase
6 | // {
7 | // "id": "d0c5340b-6d6c-49d9-b567-48c4bfca13d2",
8 | // "price": "0.10000000",
9 | // "size": "0.01000000",
10 | // "product_id": "BTC-USD",
11 | // "side": "buy",
12 | // "stp": "dc",
13 | // "type": "limit",
14 | // "time_in_force": "GTC",
15 | // "post_only": false,
16 | // "created_at": "2016-12-08T20:02:28.53864Z",
17 | // "fill_fees": "0.0000000000000000",
18 | // "filled_size": "0.00000000",
19 | // "executed_value": "0.0000000000000000",
20 | // "status": "pending",
21 | // "settled": false
22 | // }
23 |
24 | async function buy(productName, amount) {
25 | // Round amount down to nearest cent because Coinbase doesn't accept lower and
26 | // guarantees account has enough funds to make purchases
27 | let rounded_amount = Math.floor(amount * 100) / 100;
28 | const params = {
29 | type: 'market',
30 | funds: rounded_amount.toString(),
31 | product_id: productName + '-' + FIAT_CURRENCY,
32 | };
33 | return COINBASE_CLIENT.buy(params).then(async (order) => {
34 | // Save order for record keeping
35 | let newOrder = new Order({
36 | coinbaseId: order.id,
37 | price: order.price,
38 | size: order.size,
39 | productId: order.product_id,
40 | type: order.type,
41 | side: 'buy',
42 | fillFees: order.fill_fees,
43 | filledSize: order.filled_size,
44 | executedValue: order.executed_value,
45 | status: order.status,
46 | settled: order.settled,
47 | });
48 | await newOrder.save();
49 | console.log('Order placed', order);
50 | }).catch(err => console.log('Error placing order', err));
51 | }
52 |
53 | async function sell(productName, amount) {
54 | const params = {
55 | type: 'market',
56 | size: amount.toString(),
57 | product_id: productName + '-' + FIAT_CURRENCY,
58 | };
59 | return COINBASE_CLIENT.sell(params).then(async (order) => {
60 | // Save order for record keeping
61 | let newOrder = new Order({
62 | coinbaseId: order.id,
63 | price: order.price,
64 | size: order.size,
65 | productId: order.product_id,
66 | type: order.type,
67 | side: 'sell',
68 | fillFees: order.fill_fees,
69 | filledSize: order.filled_size,
70 | executedValue: order.executed_value,
71 | status: order.status,
72 | settled: order.settled,
73 | });
74 | await newOrder.save();
75 | console.log('Order placed', order);
76 | }).catch(err => console.log('Error placing order', err));
77 | }
78 |
79 | function buyWeight(totalAmount, weight) {
80 | const purchaseAmount = totalAmount * weight.amount;
81 | buy(weight.productName, purchaseAmount.toString());
82 | }
83 |
84 | function sellAll(account) {
85 | return sell(account.currency, account.balance);
86 | }
87 |
88 | module.exports = {
89 | buyWeight,
90 | sellAll,
91 | };
--------------------------------------------------------------------------------
/src/server/updateIndex.js:
--------------------------------------------------------------------------------
1 | /* global Parse */
2 | const CurrencyWeights = Parse.Object.extend('CurrencyWeights');
3 | const Currency = Parse.Object.extend('Currency');
4 | import {rebalancePortfolio} from './portfolio';
5 | import {fromParseCurrency} from './fromParseObjects';
6 | import {getWeights} from '../utils/coinbaseWeights';
7 | import _ from 'lodash';
8 |
9 | Parse.Cloud.job('update_index', async (request, status) => {
10 | let rebalance = false;
11 |
12 | // get existing assets for comparison
13 | let query = new Parse.Query(Currency);
14 | let existingCurrencies = await query.find();
15 | existingCurrencies = _.map(existingCurrencies.map(fromParseCurrency), 'name');
16 |
17 | // fetch latest weights from Coinbase
18 | let weights = await getWeights();
19 | let currencyWeights = new CurrencyWeights();
20 | let newCurrencies = [];
21 | weights.forEach(w => {
22 | newCurrencies.push(w.productName);
23 | currencyWeights.set(w.productName, w.amount);
24 | });
25 | await currencyWeights.save();
26 |
27 | // If currencies have changed, rebalance portfolio
28 | //
29 | // NOTE: assumes Coinbase only shows new currencies on their index after the 5 day waiting period
30 | // that they've outlined in their methodology
31 | if (!_.isEqual(existingCurrencies.sort(), newCurrencies.sort())) {
32 | rebalance = true;
33 | newCurrencies.forEach(async (currencyName) => {
34 | // check if it already exists, if it doesn't add it
35 | let currencyQuery = new Parse.Query(Currency);
36 | await currencyQuery.equalTo('name', currencyName).first().then(async (result) => {
37 | if (!result) {
38 | // it doesn't exist, so add it
39 | let currency = new Currency();
40 | currency.set('name', currencyName);
41 | await currency.save();
42 | }
43 | });
44 | });
45 | }
46 |
47 | // if today is Jan 1st, rebalance portfolio
48 | let today = new Date();
49 | let day = today.getUTCDate();
50 | let month = today.getUTCDate();
51 | if (day === 1 && month == 0) {
52 | rebalance = true;
53 | }
54 |
55 | if (rebalance) {
56 | return rebalancePortfolio().then(() => {
57 | console.log('Portfolio rebalanced!');
58 | }).catch(err => console.log(`Failed to rebalance portfolio: ${err}`));
59 | } else {
60 | return;
61 | }
62 | });
--------------------------------------------------------------------------------
/src/server/updateOrders.js:
--------------------------------------------------------------------------------
1 | /* global Parse */
2 | const Order = Parse.Object.extend('Order');
3 | import {COINBASE_CLIENT} from '../env';
4 | import {fromParseOrder} from './fromParseObjects';
5 |
6 | async function updateOrder(order) {
7 | const dbOrder = fromParseOrder(order);
8 | const coinbaseOrder = await COINBASE_CLIENT.getOrder(dbOrder.coinbaseId);
9 | order.set('price', coinbaseOrder.price);
10 | order.set('size', coinbaseOrder.size);
11 | order.set('productId', coinbaseOrder.product_id);
12 | order.set('type', coinbaseOrder.type);
13 | order.set('side', coinbaseOrder.side);
14 | order.set('fillFees', coinbaseOrder.fill_fees);
15 | order.set('filledSize', coinbaseOrder.filled_size);
16 | order.set('executedValue', coinbaseOrder.executed_value);
17 | order.set('status', coinbaseOrder.status);
18 | order.set('settled', coinbaseOrder.settled);
19 | return order.save();
20 | }
21 |
22 | Parse.Cloud.job('update_orders', (request, status) => {
23 | let query = new Parse.Query(Order);
24 | query.equalTo('status', 'pending');
25 | return query.find().then(async results => {
26 | await results.map(updateOrder);
27 | return;
28 | });
29 | });
--------------------------------------------------------------------------------
/src/utils/coinbaseWeights.js:
--------------------------------------------------------------------------------
1 | import rp from "request-promise";
2 | import { currencyMapper } from "./currencyMapper";
3 |
4 | const cbiCompositionUrl = "https://index-am.coinbase.com//v1/cbi/composition.json";
5 |
6 | // https://index-am.coinbase.com//v1/cbi/composition.json
7 | // returns [{"name":"Bitcoin","abbr":"btc","value":67.72362223258995},{"name":"Ethereum","abbr":"eth","value":23.147138703100914},{"name":"Bitcoin Cash","abbr":"bch","value":6.759463195929994},{"name":"Litecoin","abbr":"ltc","value":2.369775868379143}]
8 |
9 | const options = {
10 | uri: cbiCompositionUrl,
11 | json: true
12 | };
13 |
14 | function getWeights() {
15 | return rp(options)
16 | .then(data => {
17 | return data.map(({ name, value }) => ({
18 | productName: currencyMapper[name],
19 | amount: parseFloat(value) / 100
20 | }));
21 | })
22 | .catch(err => {
23 | console.log(err);
24 | });
25 | }
26 |
27 | module.exports = {
28 | getWeights
29 | };
30 |
--------------------------------------------------------------------------------
/src/utils/currencyMapper.js:
--------------------------------------------------------------------------------
1 | const currencyMapper = {
2 | "Bitcoin": "BTC",
3 | "Litecoin": "LTC",
4 | "Ethereum": "ETH",
5 | "Bitcoin Cash": "BCH",
6 | "ZCash": "ZEC",
7 | "Ripple": "XRP",
8 | "EOS": "EOS",
9 | "Cardano": "ADA",
10 | "Stellar Lumens": "XLM",
11 | "Monero": "XMR",
12 | "IOTA": "MIOTA",
13 | "TRON": "TRX",
14 | "NEO": "NEO",
15 | "Dash": "DASH",
16 | "NEM": "XEM",
17 | "Ethereum Classic": "ETC",
18 | "Tether": "USDT",
19 | "Basic Attention Token": "BAT",
20 | "0x": "ZRX"
21 | }
22 |
23 | module.exports = {
24 | currencyMapper,
25 | };
26 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@parse/fs-files-adapter@1.0.1":
6 | version "1.0.1"
7 | resolved "https://registry.yarnpkg.com/@parse/fs-files-adapter/-/fs-files-adapter-1.0.1.tgz#768f784083e8f9673ef463e199a1be5f837b4165"
8 |
9 | "@parse/node-gcm@^0.14.0":
10 | version "0.14.12"
11 | resolved "https://registry.yarnpkg.com/@parse/node-gcm/-/node-gcm-0.14.12.tgz#778fb99dceea51c44a43e7faebe75a5051bcac9f"
12 | dependencies:
13 | debug "^3.1.0"
14 | lodash "^4.17.5"
15 | request "2.85.0"
16 |
17 | "@parse/push-adapter@3.0.0-alpha2":
18 | version "3.0.0-alpha2"
19 | resolved "https://registry.yarnpkg.com/@parse/push-adapter/-/push-adapter-3.0.0-alpha2.tgz#6bb2cd0bf5dba4bffcbf34329030c73da389de62"
20 | dependencies:
21 | "@parse/node-gcm" "^0.14.0"
22 | apn "^3.0.0-alpha1"
23 | npmlog "^4.0.2"
24 | parse "^1.9.2"
25 |
26 | "@parse/s3-files-adapter@1.2.1":
27 | version "1.2.1"
28 | resolved "https://registry.yarnpkg.com/@parse/s3-files-adapter/-/s3-files-adapter-1.2.1.tgz#d9d37cce85e3d42b2882a5ff2789bec1b17ec675"
29 | dependencies:
30 | aws-sdk "^2.59.0"
31 |
32 | "@parse/simple-mailgun-adapter@1.0.2":
33 | version "1.0.2"
34 | resolved "https://registry.yarnpkg.com/@parse/simple-mailgun-adapter/-/simple-mailgun-adapter-1.0.2.tgz#b8b5b9e18834d8c36d435297eda6624f3a0e9e35"
35 | dependencies:
36 | mailgun-js "0.18.0"
37 |
38 | "@types/caseless@*":
39 | version "0.12.1"
40 | resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.1.tgz#9794c69c8385d0192acc471a540d1f8e0d16218a"
41 |
42 | "@types/form-data@*":
43 | version "2.2.1"
44 | resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-2.2.1.tgz#ee2b3b8eaa11c0938289953606b745b738c54b1e"
45 | dependencies:
46 | "@types/node" "*"
47 |
48 | "@types/node@*":
49 | version "10.0.4"
50 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.0.4.tgz#130598ee56e9a1210a53f557d64935571f05390d"
51 |
52 | "@types/request@2.47.0":
53 | version "2.47.0"
54 | resolved "https://registry.yarnpkg.com/@types/request/-/request-2.47.0.tgz#76a666cee4cb85dcffea6cd4645227926d9e114e"
55 | dependencies:
56 | "@types/caseless" "*"
57 | "@types/form-data" "*"
58 | "@types/node" "*"
59 | "@types/tough-cookie" "*"
60 |
61 | "@types/tough-cookie@*":
62 | version "2.3.2"
63 | resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.2.tgz#e0d481d8bb282ad8a8c9e100ceb72c995fb5e709"
64 |
65 | abbrev@1:
66 | version "1.1.1"
67 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
68 |
69 | accepts@~1.3.4, accepts@~1.3.5:
70 | version "1.3.5"
71 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
72 | dependencies:
73 | mime-types "~2.1.18"
74 | negotiator "0.6.1"
75 |
76 | agent-base@4, agent-base@^4.1.0, agent-base@^4.2.0, agent-base@~4.2.0:
77 | version "4.2.1"
78 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
79 | dependencies:
80 | es6-promisify "^5.0.0"
81 |
82 | ajv@^5.1.0:
83 | version "5.5.2"
84 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
85 | dependencies:
86 | co "^4.6.0"
87 | fast-deep-equal "^1.0.0"
88 | fast-json-stable-stringify "^2.0.0"
89 | json-schema-traverse "^0.3.0"
90 |
91 | ansi-regex@^2.0.0:
92 | version "2.1.1"
93 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
94 |
95 | ansi-styles@^2.2.1:
96 | version "2.2.1"
97 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
98 |
99 | anymatch@^1.3.0:
100 | version "1.3.2"
101 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
102 | dependencies:
103 | micromatch "^2.1.5"
104 | normalize-path "^2.0.0"
105 |
106 | apn@^3.0.0-alpha1:
107 | version "3.0.0-alpha1"
108 | resolved "https://registry.yarnpkg.com/apn/-/apn-3.0.0-alpha1.tgz#e64fb721a2a3a5e0e56a8bff385b1981d54e5d98"
109 | dependencies:
110 | debug "^3.1.0"
111 | jsonwebtoken "^8.1.0"
112 | node-forge "^0.7.1"
113 | verror "^1.10.0"
114 |
115 | append-field@^0.1.0:
116 | version "0.1.0"
117 | resolved "https://registry.yarnpkg.com/append-field/-/append-field-0.1.0.tgz#6ddc58fa083c7bc545d3c5995b2830cc2366d44a"
118 |
119 | aproba@^1.0.3:
120 | version "1.2.0"
121 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
122 |
123 | are-we-there-yet@~1.1.2:
124 | version "1.1.4"
125 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
126 | dependencies:
127 | delegates "^1.0.0"
128 | readable-stream "^2.0.6"
129 |
130 | arr-diff@^2.0.0:
131 | version "2.0.0"
132 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
133 | dependencies:
134 | arr-flatten "^1.0.1"
135 |
136 | arr-flatten@^1.0.1:
137 | version "1.1.0"
138 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
139 |
140 | array-flatten@1.1.1:
141 | version "1.1.1"
142 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
143 |
144 | array-unique@^0.2.1:
145 | version "0.2.1"
146 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
147 |
148 | asap@~1.0.0:
149 | version "1.0.0"
150 | resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d"
151 |
152 | asn1@~0.2.3:
153 | version "0.2.3"
154 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
155 |
156 | assert-plus@1.0.0, assert-plus@^1.0.0:
157 | version "1.0.0"
158 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
159 |
160 | ast-types@0.x.x:
161 | version "0.11.5"
162 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.5.tgz#9890825d660c03c28339f315e9fa0a360e31ec28"
163 |
164 | async-each@^1.0.0:
165 | version "1.0.1"
166 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
167 |
168 | async-limiter@~1.0.0:
169 | version "1.0.0"
170 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
171 |
172 | async@~1.0.0:
173 | version "1.0.0"
174 | resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
175 |
176 | async@~2.6.0:
177 | version "2.6.1"
178 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
179 | dependencies:
180 | lodash "^4.17.10"
181 |
182 | asynckit@^0.4.0:
183 | version "0.4.0"
184 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
185 |
186 | aws-sdk@^2.59.0:
187 | version "2.286.2"
188 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.286.2.tgz#0f35a1b3158049c015161ed83872a38305a7908a"
189 | dependencies:
190 | buffer "4.9.1"
191 | events "1.1.1"
192 | ieee754 "1.1.8"
193 | jmespath "0.15.0"
194 | querystring "0.2.0"
195 | sax "1.2.1"
196 | url "0.10.3"
197 | uuid "3.1.0"
198 | xml2js "0.4.19"
199 |
200 | aws-sign2@~0.7.0:
201 | version "0.7.0"
202 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
203 |
204 | aws4@^1.6.0:
205 | version "1.7.0"
206 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
207 |
208 | babel-cli@^6.26.0:
209 | version "6.26.0"
210 | resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
211 | dependencies:
212 | babel-core "^6.26.0"
213 | babel-polyfill "^6.26.0"
214 | babel-register "^6.26.0"
215 | babel-runtime "^6.26.0"
216 | commander "^2.11.0"
217 | convert-source-map "^1.5.0"
218 | fs-readdir-recursive "^1.0.0"
219 | glob "^7.1.2"
220 | lodash "^4.17.4"
221 | output-file-sync "^1.1.2"
222 | path-is-absolute "^1.0.1"
223 | slash "^1.0.0"
224 | source-map "^0.5.6"
225 | v8flags "^2.1.1"
226 | optionalDependencies:
227 | chokidar "^1.6.1"
228 |
229 | babel-code-frame@^6.26.0:
230 | version "6.26.0"
231 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
232 | dependencies:
233 | chalk "^1.1.3"
234 | esutils "^2.0.2"
235 | js-tokens "^3.0.2"
236 |
237 | babel-core@^6.26.0:
238 | version "6.26.3"
239 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
240 | dependencies:
241 | babel-code-frame "^6.26.0"
242 | babel-generator "^6.26.0"
243 | babel-helpers "^6.24.1"
244 | babel-messages "^6.23.0"
245 | babel-register "^6.26.0"
246 | babel-runtime "^6.26.0"
247 | babel-template "^6.26.0"
248 | babel-traverse "^6.26.0"
249 | babel-types "^6.26.0"
250 | babylon "^6.18.0"
251 | convert-source-map "^1.5.1"
252 | debug "^2.6.9"
253 | json5 "^0.5.1"
254 | lodash "^4.17.4"
255 | minimatch "^3.0.4"
256 | path-is-absolute "^1.0.1"
257 | private "^0.1.8"
258 | slash "^1.0.0"
259 | source-map "^0.5.7"
260 |
261 | babel-generator@^6.26.0:
262 | version "6.26.1"
263 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
264 | dependencies:
265 | babel-messages "^6.23.0"
266 | babel-runtime "^6.26.0"
267 | babel-types "^6.26.0"
268 | detect-indent "^4.0.0"
269 | jsesc "^1.3.0"
270 | lodash "^4.17.4"
271 | source-map "^0.5.7"
272 | trim-right "^1.0.1"
273 |
274 | babel-helper-call-delegate@^6.24.1:
275 | version "6.24.1"
276 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
277 | dependencies:
278 | babel-helper-hoist-variables "^6.24.1"
279 | babel-runtime "^6.22.0"
280 | babel-traverse "^6.24.1"
281 | babel-types "^6.24.1"
282 |
283 | babel-helper-define-map@^6.24.1:
284 | version "6.26.0"
285 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
286 | dependencies:
287 | babel-helper-function-name "^6.24.1"
288 | babel-runtime "^6.26.0"
289 | babel-types "^6.26.0"
290 | lodash "^4.17.4"
291 |
292 | babel-helper-function-name@^6.24.1:
293 | version "6.24.1"
294 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
295 | dependencies:
296 | babel-helper-get-function-arity "^6.24.1"
297 | babel-runtime "^6.22.0"
298 | babel-template "^6.24.1"
299 | babel-traverse "^6.24.1"
300 | babel-types "^6.24.1"
301 |
302 | babel-helper-get-function-arity@^6.24.1:
303 | version "6.24.1"
304 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
305 | dependencies:
306 | babel-runtime "^6.22.0"
307 | babel-types "^6.24.1"
308 |
309 | babel-helper-hoist-variables@^6.24.1:
310 | version "6.24.1"
311 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
312 | dependencies:
313 | babel-runtime "^6.22.0"
314 | babel-types "^6.24.1"
315 |
316 | babel-helper-optimise-call-expression@^6.24.1:
317 | version "6.24.1"
318 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
319 | dependencies:
320 | babel-runtime "^6.22.0"
321 | babel-types "^6.24.1"
322 |
323 | babel-helper-regex@^6.24.1:
324 | version "6.26.0"
325 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
326 | dependencies:
327 | babel-runtime "^6.26.0"
328 | babel-types "^6.26.0"
329 | lodash "^4.17.4"
330 |
331 | babel-helper-replace-supers@^6.24.1:
332 | version "6.24.1"
333 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
334 | dependencies:
335 | babel-helper-optimise-call-expression "^6.24.1"
336 | babel-messages "^6.23.0"
337 | babel-runtime "^6.22.0"
338 | babel-template "^6.24.1"
339 | babel-traverse "^6.24.1"
340 | babel-types "^6.24.1"
341 |
342 | babel-helpers@^6.24.1:
343 | version "6.24.1"
344 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
345 | dependencies:
346 | babel-runtime "^6.22.0"
347 | babel-template "^6.24.1"
348 |
349 | babel-messages@^6.23.0:
350 | version "6.23.0"
351 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
352 | dependencies:
353 | babel-runtime "^6.22.0"
354 |
355 | babel-plugin-check-es2015-constants@^6.22.0:
356 | version "6.22.0"
357 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
358 | dependencies:
359 | babel-runtime "^6.22.0"
360 |
361 | babel-plugin-transform-es2015-arrow-functions@^6.22.0:
362 | version "6.22.0"
363 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
364 | dependencies:
365 | babel-runtime "^6.22.0"
366 |
367 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
368 | version "6.22.0"
369 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
370 | dependencies:
371 | babel-runtime "^6.22.0"
372 |
373 | babel-plugin-transform-es2015-block-scoping@^6.24.1:
374 | version "6.26.0"
375 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
376 | dependencies:
377 | babel-runtime "^6.26.0"
378 | babel-template "^6.26.0"
379 | babel-traverse "^6.26.0"
380 | babel-types "^6.26.0"
381 | lodash "^4.17.4"
382 |
383 | babel-plugin-transform-es2015-classes@^6.24.1:
384 | version "6.24.1"
385 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
386 | dependencies:
387 | babel-helper-define-map "^6.24.1"
388 | babel-helper-function-name "^6.24.1"
389 | babel-helper-optimise-call-expression "^6.24.1"
390 | babel-helper-replace-supers "^6.24.1"
391 | babel-messages "^6.23.0"
392 | babel-runtime "^6.22.0"
393 | babel-template "^6.24.1"
394 | babel-traverse "^6.24.1"
395 | babel-types "^6.24.1"
396 |
397 | babel-plugin-transform-es2015-computed-properties@^6.24.1:
398 | version "6.24.1"
399 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
400 | dependencies:
401 | babel-runtime "^6.22.0"
402 | babel-template "^6.24.1"
403 |
404 | babel-plugin-transform-es2015-destructuring@^6.22.0:
405 | version "6.23.0"
406 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
407 | dependencies:
408 | babel-runtime "^6.22.0"
409 |
410 | babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
411 | version "6.24.1"
412 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
413 | dependencies:
414 | babel-runtime "^6.22.0"
415 | babel-types "^6.24.1"
416 |
417 | babel-plugin-transform-es2015-for-of@^6.22.0:
418 | version "6.23.0"
419 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
420 | dependencies:
421 | babel-runtime "^6.22.0"
422 |
423 | babel-plugin-transform-es2015-function-name@^6.24.1:
424 | version "6.24.1"
425 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
426 | dependencies:
427 | babel-helper-function-name "^6.24.1"
428 | babel-runtime "^6.22.0"
429 | babel-types "^6.24.1"
430 |
431 | babel-plugin-transform-es2015-literals@^6.22.0:
432 | version "6.22.0"
433 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
434 | dependencies:
435 | babel-runtime "^6.22.0"
436 |
437 | babel-plugin-transform-es2015-modules-amd@^6.24.1:
438 | version "6.24.1"
439 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
440 | dependencies:
441 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
442 | babel-runtime "^6.22.0"
443 | babel-template "^6.24.1"
444 |
445 | babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
446 | version "6.26.2"
447 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
448 | dependencies:
449 | babel-plugin-transform-strict-mode "^6.24.1"
450 | babel-runtime "^6.26.0"
451 | babel-template "^6.26.0"
452 | babel-types "^6.26.0"
453 |
454 | babel-plugin-transform-es2015-modules-systemjs@^6.24.1:
455 | version "6.24.1"
456 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
457 | dependencies:
458 | babel-helper-hoist-variables "^6.24.1"
459 | babel-runtime "^6.22.0"
460 | babel-template "^6.24.1"
461 |
462 | babel-plugin-transform-es2015-modules-umd@^6.24.1:
463 | version "6.24.1"
464 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
465 | dependencies:
466 | babel-plugin-transform-es2015-modules-amd "^6.24.1"
467 | babel-runtime "^6.22.0"
468 | babel-template "^6.24.1"
469 |
470 | babel-plugin-transform-es2015-object-super@^6.24.1:
471 | version "6.24.1"
472 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
473 | dependencies:
474 | babel-helper-replace-supers "^6.24.1"
475 | babel-runtime "^6.22.0"
476 |
477 | babel-plugin-transform-es2015-parameters@^6.24.1:
478 | version "6.24.1"
479 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
480 | dependencies:
481 | babel-helper-call-delegate "^6.24.1"
482 | babel-helper-get-function-arity "^6.24.1"
483 | babel-runtime "^6.22.0"
484 | babel-template "^6.24.1"
485 | babel-traverse "^6.24.1"
486 | babel-types "^6.24.1"
487 |
488 | babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
489 | version "6.24.1"
490 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
491 | dependencies:
492 | babel-runtime "^6.22.0"
493 | babel-types "^6.24.1"
494 |
495 | babel-plugin-transform-es2015-spread@^6.22.0:
496 | version "6.22.0"
497 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
498 | dependencies:
499 | babel-runtime "^6.22.0"
500 |
501 | babel-plugin-transform-es2015-sticky-regex@^6.24.1:
502 | version "6.24.1"
503 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
504 | dependencies:
505 | babel-helper-regex "^6.24.1"
506 | babel-runtime "^6.22.0"
507 | babel-types "^6.24.1"
508 |
509 | babel-plugin-transform-es2015-template-literals@^6.22.0:
510 | version "6.22.0"
511 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
512 | dependencies:
513 | babel-runtime "^6.22.0"
514 |
515 | babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
516 | version "6.23.0"
517 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
518 | dependencies:
519 | babel-runtime "^6.22.0"
520 |
521 | babel-plugin-transform-es2015-unicode-regex@^6.24.1:
522 | version "6.24.1"
523 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
524 | dependencies:
525 | babel-helper-regex "^6.24.1"
526 | babel-runtime "^6.22.0"
527 | regexpu-core "^2.0.0"
528 |
529 | babel-plugin-transform-regenerator@^6.24.1:
530 | version "6.26.0"
531 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
532 | dependencies:
533 | regenerator-transform "^0.10.0"
534 |
535 | babel-plugin-transform-strict-mode@^6.24.1:
536 | version "6.24.1"
537 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
538 | dependencies:
539 | babel-runtime "^6.22.0"
540 | babel-types "^6.24.1"
541 |
542 | babel-polyfill@^6.26.0:
543 | version "6.26.0"
544 | resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
545 | dependencies:
546 | babel-runtime "^6.26.0"
547 | core-js "^2.5.0"
548 | regenerator-runtime "^0.10.5"
549 |
550 | babel-preset-es2015@^6.24.1:
551 | version "6.24.1"
552 | resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
553 | dependencies:
554 | babel-plugin-check-es2015-constants "^6.22.0"
555 | babel-plugin-transform-es2015-arrow-functions "^6.22.0"
556 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
557 | babel-plugin-transform-es2015-block-scoping "^6.24.1"
558 | babel-plugin-transform-es2015-classes "^6.24.1"
559 | babel-plugin-transform-es2015-computed-properties "^6.24.1"
560 | babel-plugin-transform-es2015-destructuring "^6.22.0"
561 | babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
562 | babel-plugin-transform-es2015-for-of "^6.22.0"
563 | babel-plugin-transform-es2015-function-name "^6.24.1"
564 | babel-plugin-transform-es2015-literals "^6.22.0"
565 | babel-plugin-transform-es2015-modules-amd "^6.24.1"
566 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
567 | babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
568 | babel-plugin-transform-es2015-modules-umd "^6.24.1"
569 | babel-plugin-transform-es2015-object-super "^6.24.1"
570 | babel-plugin-transform-es2015-parameters "^6.24.1"
571 | babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
572 | babel-plugin-transform-es2015-spread "^6.22.0"
573 | babel-plugin-transform-es2015-sticky-regex "^6.24.1"
574 | babel-plugin-transform-es2015-template-literals "^6.22.0"
575 | babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
576 | babel-plugin-transform-es2015-unicode-regex "^6.24.1"
577 | babel-plugin-transform-regenerator "^6.24.1"
578 |
579 | babel-register@^6.26.0:
580 | version "6.26.0"
581 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
582 | dependencies:
583 | babel-core "^6.26.0"
584 | babel-runtime "^6.26.0"
585 | core-js "^2.5.0"
586 | home-or-tmp "^2.0.0"
587 | lodash "^4.17.4"
588 | mkdirp "^0.5.1"
589 | source-map-support "^0.4.15"
590 |
591 | babel-runtime@6.26.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
592 | version "6.26.0"
593 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
594 | dependencies:
595 | core-js "^2.4.0"
596 | regenerator-runtime "^0.11.0"
597 |
598 | babel-template@^6.24.1, babel-template@^6.26.0:
599 | version "6.26.0"
600 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
601 | dependencies:
602 | babel-runtime "^6.26.0"
603 | babel-traverse "^6.26.0"
604 | babel-types "^6.26.0"
605 | babylon "^6.18.0"
606 | lodash "^4.17.4"
607 |
608 | babel-traverse@^6.24.1, babel-traverse@^6.26.0:
609 | version "6.26.0"
610 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
611 | dependencies:
612 | babel-code-frame "^6.26.0"
613 | babel-messages "^6.23.0"
614 | babel-runtime "^6.26.0"
615 | babel-types "^6.26.0"
616 | babylon "^6.18.0"
617 | debug "^2.6.8"
618 | globals "^9.18.0"
619 | invariant "^2.2.2"
620 | lodash "^4.17.4"
621 |
622 | babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
623 | version "6.26.0"
624 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
625 | dependencies:
626 | babel-runtime "^6.26.0"
627 | esutils "^2.0.2"
628 | lodash "^4.17.4"
629 | to-fast-properties "^1.0.3"
630 |
631 | babylon@^6.18.0:
632 | version "6.18.0"
633 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
634 |
635 | balanced-match@^1.0.0:
636 | version "1.0.0"
637 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
638 |
639 | base64-js@^1.0.2:
640 | version "1.3.0"
641 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
642 |
643 | bcrypt-pbkdf@^1.0.0:
644 | version "1.0.1"
645 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
646 | dependencies:
647 | tweetnacl "^0.14.3"
648 |
649 | bcrypt@2.0.1:
650 | version "2.0.1"
651 | resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-2.0.1.tgz#229c5afe09379789f918efe86e5e5b682e509f85"
652 | dependencies:
653 | nan "2.10.0"
654 | node-pre-gyp "0.9.1"
655 |
656 | bcryptjs@2.4.3, bcryptjs@^2.3.0:
657 | version "2.4.3"
658 | resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
659 |
660 | bignumber.js@^5.0.0:
661 | version "5.0.0"
662 | resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-5.0.0.tgz#fbce63f09776b3000a83185badcde525daf34833"
663 |
664 | binary-extensions@^1.0.0:
665 | version "1.11.0"
666 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
667 |
668 | bintrees@^1.0.1:
669 | version "1.0.2"
670 | resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.2.tgz#49f896d6e858a4a499df85c38fb399b9aff840f8"
671 |
672 | bluebird@^3.5.0:
673 | version "3.5.1"
674 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
675 |
676 | body-parser@1.18.2:
677 | version "1.18.2"
678 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454"
679 | dependencies:
680 | bytes "3.0.0"
681 | content-type "~1.0.4"
682 | debug "2.6.9"
683 | depd "~1.1.1"
684 | http-errors "~1.6.2"
685 | iconv-lite "0.4.19"
686 | on-finished "~2.3.0"
687 | qs "6.5.1"
688 | raw-body "2.3.2"
689 | type-is "~1.6.15"
690 |
691 | body-parser@1.18.3, body-parser@^1.15.2:
692 | version "1.18.3"
693 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
694 | dependencies:
695 | bytes "3.0.0"
696 | content-type "~1.0.4"
697 | debug "2.6.9"
698 | depd "~1.1.2"
699 | http-errors "~1.6.3"
700 | iconv-lite "0.4.23"
701 | on-finished "~2.3.0"
702 | qs "6.5.2"
703 | raw-body "2.3.3"
704 | type-is "~1.6.16"
705 |
706 | boom@4.x.x:
707 | version "4.3.1"
708 | resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
709 | dependencies:
710 | hoek "4.x.x"
711 |
712 | boom@5.x.x:
713 | version "5.2.0"
714 | resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
715 | dependencies:
716 | hoek "4.x.x"
717 |
718 | brace-expansion@^1.1.7:
719 | version "1.1.11"
720 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
721 | dependencies:
722 | balanced-match "^1.0.0"
723 | concat-map "0.0.1"
724 |
725 | braces@^1.8.2:
726 | version "1.8.5"
727 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
728 | dependencies:
729 | expand-range "^1.8.1"
730 | preserve "^0.2.0"
731 | repeat-element "^1.1.2"
732 |
733 | bson@~1.0.4:
734 | version "1.0.9"
735 | resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.9.tgz#12319f8323b1254739b7c6bef8d3e89ae05a2f57"
736 |
737 | buffer-equal-constant-time@1.0.1:
738 | version "1.0.1"
739 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
740 |
741 | buffer-from@^1.0.0:
742 | version "1.1.1"
743 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
744 |
745 | buffer-writer@1.0.1:
746 | version "1.0.1"
747 | resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz#22a936901e3029afcd7547eb4487ceb697a3bf08"
748 |
749 | buffer@4.9.1:
750 | version "4.9.1"
751 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
752 | dependencies:
753 | base64-js "^1.0.2"
754 | ieee754 "^1.1.4"
755 | isarray "^1.0.0"
756 |
757 | busboy@^0.2.11:
758 | version "0.2.14"
759 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"
760 | dependencies:
761 | dicer "0.2.5"
762 | readable-stream "1.1.x"
763 |
764 | bytes@3.0.0:
765 | version "3.0.0"
766 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
767 |
768 | capture-stack-trace@^1.0.0:
769 | version "1.0.0"
770 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
771 |
772 | caseless@~0.12.0:
773 | version "0.12.0"
774 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
775 |
776 | chalk@^1.1.3:
777 | version "1.1.3"
778 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
779 | dependencies:
780 | ansi-styles "^2.2.1"
781 | escape-string-regexp "^1.0.2"
782 | has-ansi "^2.0.0"
783 | strip-ansi "^3.0.0"
784 | supports-color "^2.0.0"
785 |
786 | chokidar@^1.6.1:
787 | version "1.7.0"
788 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
789 | dependencies:
790 | anymatch "^1.3.0"
791 | async-each "^1.0.0"
792 | glob-parent "^2.0.0"
793 | inherits "^2.0.1"
794 | is-binary-path "^1.0.0"
795 | is-glob "^2.0.0"
796 | path-is-absolute "^1.0.0"
797 | readdirp "^2.0.0"
798 | optionalDependencies:
799 | fsevents "^1.0.0"
800 |
801 | chownr@^1.0.1:
802 | version "1.0.1"
803 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
804 |
805 | co@^4.6.0:
806 | version "4.6.0"
807 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
808 |
809 | code-point-at@^1.0.0:
810 | version "1.1.0"
811 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
812 |
813 | colors@1.0.x:
814 | version "1.0.3"
815 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
816 |
817 | combined-stream@1.0.6, combined-stream@~1.0.5:
818 | version "1.0.6"
819 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
820 | dependencies:
821 | delayed-stream "~1.0.0"
822 |
823 | commander@2.15.1, commander@^2.11.0:
824 | version "2.15.1"
825 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
826 |
827 | commander@^2.9.0:
828 | version "2.17.0"
829 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.0.tgz#9d07b25e2a6f198b76d8b756a0e8a9604a6a1a60"
830 |
831 | concat-map@0.0.1:
832 | version "0.0.1"
833 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
834 |
835 | concat-stream@^1.5.0:
836 | version "1.6.2"
837 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
838 | dependencies:
839 | buffer-from "^1.0.0"
840 | inherits "^2.0.3"
841 | readable-stream "^2.2.2"
842 | typedarray "^0.0.6"
843 |
844 | connect-flash@^0.1.1:
845 | version "0.1.1"
846 | resolved "https://registry.yarnpkg.com/connect-flash/-/connect-flash-0.1.1.tgz#d8630f26d95a7f851f9956b1e8cc6732f3b6aa30"
847 |
848 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
849 | version "1.1.0"
850 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
851 |
852 | content-disposition@0.5.2:
853 | version "0.5.2"
854 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
855 |
856 | content-type@~1.0.4:
857 | version "1.0.4"
858 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
859 |
860 | convert-source-map@^1.5.0, convert-source-map@^1.5.1:
861 | version "1.5.1"
862 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
863 |
864 | cookie-session@^2.0.0-alpha.1:
865 | version "2.0.0-beta.3"
866 | resolved "https://registry.yarnpkg.com/cookie-session/-/cookie-session-2.0.0-beta.3.tgz#4e446bd9f85bd7e27d3e226f4e99af12011a4386"
867 | dependencies:
868 | cookies "0.7.1"
869 | debug "3.1.0"
870 | on-headers "~1.0.1"
871 | safe-buffer "5.1.1"
872 |
873 | cookie-signature@1.0.6:
874 | version "1.0.6"
875 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
876 |
877 | cookie@0.3.1:
878 | version "0.3.1"
879 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
880 |
881 | cookies@0.7.1:
882 | version "0.7.1"
883 | resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b"
884 | dependencies:
885 | depd "~1.1.1"
886 | keygrip "~1.0.2"
887 |
888 | core-js@^2.4.0, core-js@^2.5.0:
889 | version "2.5.6"
890 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d"
891 |
892 | core-util-is@1.0.2, core-util-is@~1.0.0:
893 | version "1.0.2"
894 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
895 |
896 | create-error-class@^3.0.0:
897 | version "3.0.2"
898 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
899 | dependencies:
900 | capture-stack-trace "^1.0.0"
901 |
902 | cryptiles@3.x.x:
903 | version "3.1.2"
904 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
905 | dependencies:
906 | boom "5.x.x"
907 |
908 | csrf@~3.0.3:
909 | version "3.0.6"
910 | resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.0.6.tgz#b61120ddceeafc91e76ed5313bb5c0b2667b710a"
911 | dependencies:
912 | rndm "1.2.0"
913 | tsscmp "1.0.5"
914 | uid-safe "2.1.4"
915 |
916 | csurf@^1.9.0:
917 | version "1.9.0"
918 | resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.9.0.tgz#49d2c6925ffcec7b7de559597c153fa533364133"
919 | dependencies:
920 | cookie "0.3.1"
921 | cookie-signature "1.0.6"
922 | csrf "~3.0.3"
923 | http-errors "~1.5.0"
924 |
925 | cycle@1.0.x:
926 | version "1.0.3"
927 | resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
928 |
929 | dashdash@^1.12.0:
930 | version "1.14.1"
931 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
932 | dependencies:
933 | assert-plus "^1.0.0"
934 |
935 | data-uri-to-buffer@1:
936 | version "1.2.0"
937 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
938 |
939 | debug@2, debug@2.6.9, debug@^2.1.2, debug@^2.6.8, debug@^2.6.9:
940 | version "2.6.9"
941 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
942 | dependencies:
943 | ms "2.0.0"
944 |
945 | debug@3.1.0, debug@^3.1.0, debug@~3.1.0:
946 | version "3.1.0"
947 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
948 | dependencies:
949 | ms "2.0.0"
950 |
951 | deep-extend@^0.5.1:
952 | version "0.5.1"
953 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
954 |
955 | deep-extend@^0.6.0:
956 | version "0.6.0"
957 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
958 |
959 | deep-is@~0.1.3:
960 | version "0.1.3"
961 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
962 |
963 | deepcopy@1.0.0:
964 | version "1.0.0"
965 | resolved "https://registry.yarnpkg.com/deepcopy/-/deepcopy-1.0.0.tgz#cea0f3443b3617d2421e066be370cc8126f8959c"
966 | dependencies:
967 | type-detect "^4.0.8"
968 |
969 | define-properties@^1.1.2:
970 | version "1.1.2"
971 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
972 | dependencies:
973 | foreach "^2.0.5"
974 | object-keys "^1.0.8"
975 |
976 | degenerator@^1.0.4:
977 | version "1.0.4"
978 | resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095"
979 | dependencies:
980 | ast-types "0.x.x"
981 | escodegen "1.x.x"
982 | esprima "3.x.x"
983 |
984 | delayed-stream@~1.0.0:
985 | version "1.0.0"
986 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
987 |
988 | delegates@^1.0.0:
989 | version "1.0.0"
990 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
991 |
992 | depd@1.1.1:
993 | version "1.1.1"
994 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
995 |
996 | depd@~1.1.1, depd@~1.1.2:
997 | version "1.1.2"
998 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
999 |
1000 | destroy@~1.0.4:
1001 | version "1.0.4"
1002 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
1003 |
1004 | detect-indent@^4.0.0:
1005 | version "4.0.0"
1006 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
1007 | dependencies:
1008 | repeating "^2.0.0"
1009 |
1010 | detect-libc@^1.0.2:
1011 | version "1.0.3"
1012 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
1013 |
1014 | dicer@0.2.5:
1015 | version "0.2.5"
1016 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f"
1017 | dependencies:
1018 | readable-stream "1.1.x"
1019 | streamsearch "0.1.2"
1020 |
1021 | double-ended-queue@^2.1.0-0:
1022 | version "2.1.0-0"
1023 | resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
1024 |
1025 | duplexer3@^0.1.4:
1026 | version "0.1.4"
1027 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
1028 |
1029 | ecc-jsbn@~0.1.1:
1030 | version "0.1.1"
1031 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
1032 | dependencies:
1033 | jsbn "~0.1.0"
1034 |
1035 | ecdsa-sig-formatter@1.0.10:
1036 | version "1.0.10"
1037 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz#1c595000f04a8897dfb85000892a0f4c33af86c3"
1038 | dependencies:
1039 | safe-buffer "^5.0.1"
1040 |
1041 | ee-first@1.1.1:
1042 | version "1.1.1"
1043 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
1044 |
1045 | encodeurl@~1.0.1, encodeurl@~1.0.2:
1046 | version "1.0.2"
1047 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
1048 |
1049 | es6-promise@^4.0.3:
1050 | version "4.2.4"
1051 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
1052 |
1053 | es6-promisify@^5.0.0:
1054 | version "5.0.0"
1055 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
1056 | dependencies:
1057 | es6-promise "^4.0.3"
1058 |
1059 | escape-html@~1.0.3:
1060 | version "1.0.3"
1061 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
1062 |
1063 | escape-string-regexp@^1.0.2:
1064 | version "1.0.5"
1065 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1066 |
1067 | escodegen@1.x.x:
1068 | version "1.11.0"
1069 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"
1070 | dependencies:
1071 | esprima "^3.1.3"
1072 | estraverse "^4.2.0"
1073 | esutils "^2.0.2"
1074 | optionator "^0.8.1"
1075 | optionalDependencies:
1076 | source-map "~0.6.1"
1077 |
1078 | esprima@3.x.x, esprima@^3.1.3:
1079 | version "3.1.3"
1080 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
1081 |
1082 | estraverse@^4.2.0:
1083 | version "4.2.0"
1084 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
1085 |
1086 | esutils@^2.0.2:
1087 | version "2.0.2"
1088 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
1089 |
1090 | etag@~1.8.1:
1091 | version "1.8.1"
1092 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
1093 |
1094 | events@1.1.1:
1095 | version "1.1.1"
1096 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
1097 |
1098 | expand-brackets@^0.1.4:
1099 | version "0.1.5"
1100 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
1101 | dependencies:
1102 | is-posix-bracket "^0.1.0"
1103 |
1104 | expand-range@^1.8.1:
1105 | version "1.8.2"
1106 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
1107 | dependencies:
1108 | fill-range "^2.1.0"
1109 |
1110 | express@4.16.2:
1111 | version "4.16.2"
1112 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
1113 | dependencies:
1114 | accepts "~1.3.4"
1115 | array-flatten "1.1.1"
1116 | body-parser "1.18.2"
1117 | content-disposition "0.5.2"
1118 | content-type "~1.0.4"
1119 | cookie "0.3.1"
1120 | cookie-signature "1.0.6"
1121 | debug "2.6.9"
1122 | depd "~1.1.1"
1123 | encodeurl "~1.0.1"
1124 | escape-html "~1.0.3"
1125 | etag "~1.8.1"
1126 | finalhandler "1.1.0"
1127 | fresh "0.5.2"
1128 | merge-descriptors "1.0.1"
1129 | methods "~1.1.2"
1130 | on-finished "~2.3.0"
1131 | parseurl "~1.3.2"
1132 | path-to-regexp "0.1.7"
1133 | proxy-addr "~2.0.2"
1134 | qs "6.5.1"
1135 | range-parser "~1.2.0"
1136 | safe-buffer "5.1.1"
1137 | send "0.16.1"
1138 | serve-static "1.13.1"
1139 | setprototypeof "1.1.0"
1140 | statuses "~1.3.1"
1141 | type-is "~1.6.15"
1142 | utils-merge "1.0.1"
1143 | vary "~1.1.2"
1144 |
1145 | express@^4.13.4, express@^4.16.3:
1146 | version "4.16.3"
1147 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53"
1148 | dependencies:
1149 | accepts "~1.3.5"
1150 | array-flatten "1.1.1"
1151 | body-parser "1.18.2"
1152 | content-disposition "0.5.2"
1153 | content-type "~1.0.4"
1154 | cookie "0.3.1"
1155 | cookie-signature "1.0.6"
1156 | debug "2.6.9"
1157 | depd "~1.1.2"
1158 | encodeurl "~1.0.2"
1159 | escape-html "~1.0.3"
1160 | etag "~1.8.1"
1161 | finalhandler "1.1.1"
1162 | fresh "0.5.2"
1163 | merge-descriptors "1.0.1"
1164 | methods "~1.1.2"
1165 | on-finished "~2.3.0"
1166 | parseurl "~1.3.2"
1167 | path-to-regexp "0.1.7"
1168 | proxy-addr "~2.0.3"
1169 | qs "6.5.1"
1170 | range-parser "~1.2.0"
1171 | safe-buffer "5.1.1"
1172 | send "0.16.2"
1173 | serve-static "1.13.2"
1174 | setprototypeof "1.1.0"
1175 | statuses "~1.4.0"
1176 | type-is "~1.6.16"
1177 | utils-merge "1.0.1"
1178 | vary "~1.1.2"
1179 |
1180 | extend@3:
1181 | version "3.0.2"
1182 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
1183 |
1184 | extend@~3.0.1:
1185 | version "3.0.1"
1186 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
1187 |
1188 | extglob@^0.3.1:
1189 | version "0.3.2"
1190 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
1191 | dependencies:
1192 | is-extglob "^1.0.0"
1193 |
1194 | extsprintf@1.3.0:
1195 | version "1.3.0"
1196 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
1197 |
1198 | extsprintf@^1.2.0:
1199 | version "1.4.0"
1200 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
1201 |
1202 | eyes@0.1.x:
1203 | version "0.1.8"
1204 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
1205 |
1206 | fast-deep-equal@^1.0.0:
1207 | version "1.1.0"
1208 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
1209 |
1210 | fast-json-stable-stringify@^2.0.0:
1211 | version "2.0.0"
1212 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
1213 |
1214 | fast-levenshtein@~2.0.4:
1215 | version "2.0.6"
1216 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1217 |
1218 | file-uri-to-path@1:
1219 | version "1.0.0"
1220 | resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
1221 |
1222 | filename-regex@^2.0.0:
1223 | version "2.0.1"
1224 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
1225 |
1226 | fill-range@^2.1.0:
1227 | version "2.2.4"
1228 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
1229 | dependencies:
1230 | is-number "^2.1.0"
1231 | isobject "^2.0.0"
1232 | randomatic "^3.0.0"
1233 | repeat-element "^1.1.2"
1234 | repeat-string "^1.5.2"
1235 |
1236 | finalhandler@1.1.0:
1237 | version "1.1.0"
1238 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
1239 | dependencies:
1240 | debug "2.6.9"
1241 | encodeurl "~1.0.1"
1242 | escape-html "~1.0.3"
1243 | on-finished "~2.3.0"
1244 | parseurl "~1.3.2"
1245 | statuses "~1.3.1"
1246 | unpipe "~1.0.0"
1247 |
1248 | finalhandler@1.1.1:
1249 | version "1.1.1"
1250 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
1251 | dependencies:
1252 | debug "2.6.9"
1253 | encodeurl "~1.0.2"
1254 | escape-html "~1.0.3"
1255 | on-finished "~2.3.0"
1256 | parseurl "~1.3.2"
1257 | statuses "~1.4.0"
1258 | unpipe "~1.0.0"
1259 |
1260 | for-in@^1.0.1:
1261 | version "1.0.2"
1262 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
1263 |
1264 | for-own@^0.1.4:
1265 | version "0.1.5"
1266 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
1267 | dependencies:
1268 | for-in "^1.0.1"
1269 |
1270 | foreach@^2.0.5:
1271 | version "2.0.5"
1272 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
1273 |
1274 | forever-agent@~0.6.1:
1275 | version "0.6.1"
1276 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1277 |
1278 | form-data@~2.3.0, form-data@~2.3.1:
1279 | version "2.3.2"
1280 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
1281 | dependencies:
1282 | asynckit "^0.4.0"
1283 | combined-stream "1.0.6"
1284 | mime-types "^2.1.12"
1285 |
1286 | forwarded@~0.1.2:
1287 | version "0.1.2"
1288 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
1289 |
1290 | fresh@0.5.2:
1291 | version "0.5.2"
1292 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
1293 |
1294 | fs-minipass@^1.2.5:
1295 | version "1.2.5"
1296 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
1297 | dependencies:
1298 | minipass "^2.2.1"
1299 |
1300 | fs-readdir-recursive@^1.0.0:
1301 | version "1.1.0"
1302 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
1303 |
1304 | fs.realpath@^1.0.0:
1305 | version "1.0.0"
1306 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1307 |
1308 | fsevents@^1.0.0:
1309 | version "1.2.3"
1310 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.3.tgz#08292982e7059f6674c93d8b829c1e8604979ac0"
1311 | dependencies:
1312 | nan "^2.9.2"
1313 | node-pre-gyp "^0.9.0"
1314 |
1315 | ftp@~0.3.10:
1316 | version "0.3.10"
1317 | resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d"
1318 | dependencies:
1319 | readable-stream "1.1.x"
1320 | xregexp "2.0.0"
1321 |
1322 | function-bind@^1.1.1:
1323 | version "1.1.1"
1324 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1325 |
1326 | gauge@~2.7.3:
1327 | version "2.7.4"
1328 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
1329 | dependencies:
1330 | aproba "^1.0.3"
1331 | console-control-strings "^1.0.0"
1332 | has-unicode "^2.0.0"
1333 | object-assign "^4.1.0"
1334 | signal-exit "^3.0.0"
1335 | string-width "^1.0.1"
1336 | strip-ansi "^3.0.1"
1337 | wide-align "^1.1.0"
1338 |
1339 | gdax@^0.7.0:
1340 | version "0.7.0"
1341 | resolved "https://registry.yarnpkg.com/gdax/-/gdax-0.7.0.tgz#b9f3395730fc0b33f4ddd99cdd659ae1cf4a12ac"
1342 | dependencies:
1343 | "@types/request" "2.47.0"
1344 | bignumber.js "^5.0.0"
1345 | bintrees "^1.0.1"
1346 | request "^2.81.0"
1347 | ws "^4.0.0"
1348 |
1349 | get-stream@^3.0.0:
1350 | version "3.0.0"
1351 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
1352 |
1353 | get-uri@^2.0.0:
1354 | version "2.0.2"
1355 | resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.2.tgz#5c795e71326f6ca1286f2fc82575cd2bab2af578"
1356 | dependencies:
1357 | data-uri-to-buffer "1"
1358 | debug "2"
1359 | extend "3"
1360 | file-uri-to-path "1"
1361 | ftp "~0.3.10"
1362 | readable-stream "2"
1363 |
1364 | getpass@^0.1.1:
1365 | version "0.1.7"
1366 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
1367 | dependencies:
1368 | assert-plus "^1.0.0"
1369 |
1370 | glob-base@^0.3.0:
1371 | version "0.3.0"
1372 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
1373 | dependencies:
1374 | glob-parent "^2.0.0"
1375 | is-glob "^2.0.0"
1376 |
1377 | glob-parent@^2.0.0:
1378 | version "2.0.0"
1379 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
1380 | dependencies:
1381 | is-glob "^2.0.0"
1382 |
1383 | glob@^7.0.5, glob@^7.1.2:
1384 | version "7.1.2"
1385 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
1386 | dependencies:
1387 | fs.realpath "^1.0.0"
1388 | inflight "^1.0.4"
1389 | inherits "2"
1390 | minimatch "^3.0.4"
1391 | once "^1.3.0"
1392 | path-is-absolute "^1.0.0"
1393 |
1394 | globals@^9.18.0:
1395 | version "9.18.0"
1396 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
1397 |
1398 | got@^6.7.1:
1399 | version "6.7.1"
1400 | resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
1401 | dependencies:
1402 | create-error-class "^3.0.0"
1403 | duplexer3 "^0.1.4"
1404 | get-stream "^3.0.0"
1405 | is-redirect "^1.0.0"
1406 | is-retry-allowed "^1.0.0"
1407 | is-stream "^1.0.0"
1408 | lowercase-keys "^1.0.0"
1409 | safe-buffer "^5.0.1"
1410 | timed-out "^4.0.0"
1411 | unzip-response "^2.0.1"
1412 | url-parse-lax "^1.0.0"
1413 |
1414 | graceful-fs@^4.1.2, graceful-fs@^4.1.4:
1415 | version "4.1.11"
1416 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
1417 |
1418 | har-schema@^2.0.0:
1419 | version "2.0.0"
1420 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
1421 |
1422 | har-validator@~5.0.3:
1423 | version "5.0.3"
1424 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
1425 | dependencies:
1426 | ajv "^5.1.0"
1427 | har-schema "^2.0.0"
1428 |
1429 | has-ansi@^2.0.0:
1430 | version "2.0.0"
1431 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
1432 | dependencies:
1433 | ansi-regex "^2.0.0"
1434 |
1435 | has-symbols@^1.0.0:
1436 | version "1.0.0"
1437 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
1438 |
1439 | has-unicode@^2.0.0:
1440 | version "2.0.1"
1441 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
1442 |
1443 | hawk@~6.0.2:
1444 | version "6.0.2"
1445 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
1446 | dependencies:
1447 | boom "4.x.x"
1448 | cryptiles "3.x.x"
1449 | hoek "4.x.x"
1450 | sntp "2.x.x"
1451 |
1452 | hoek@4.x.x:
1453 | version "4.2.1"
1454 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
1455 |
1456 | home-or-tmp@^2.0.0:
1457 | version "2.0.0"
1458 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
1459 | dependencies:
1460 | os-homedir "^1.0.0"
1461 | os-tmpdir "^1.0.1"
1462 |
1463 | http-errors@1.6.2:
1464 | version "1.6.2"
1465 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
1466 | dependencies:
1467 | depd "1.1.1"
1468 | inherits "2.0.3"
1469 | setprototypeof "1.0.3"
1470 | statuses ">= 1.3.1 < 2"
1471 |
1472 | http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
1473 | version "1.6.3"
1474 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
1475 | dependencies:
1476 | depd "~1.1.2"
1477 | inherits "2.0.3"
1478 | setprototypeof "1.1.0"
1479 | statuses ">= 1.4.0 < 2"
1480 |
1481 | http-errors@~1.5.0:
1482 | version "1.5.1"
1483 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
1484 | dependencies:
1485 | inherits "2.0.3"
1486 | setprototypeof "1.0.2"
1487 | statuses ">= 1.3.1 < 2"
1488 |
1489 | http-proxy-agent@^2.1.0:
1490 | version "2.1.0"
1491 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
1492 | dependencies:
1493 | agent-base "4"
1494 | debug "3.1.0"
1495 |
1496 | http-signature@~1.2.0:
1497 | version "1.2.0"
1498 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
1499 | dependencies:
1500 | assert-plus "^1.0.0"
1501 | jsprim "^1.2.2"
1502 | sshpk "^1.7.0"
1503 |
1504 | https-proxy-agent@^2.2.1:
1505 | version "2.2.1"
1506 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0"
1507 | dependencies:
1508 | agent-base "^4.1.0"
1509 | debug "^3.1.0"
1510 |
1511 | iconv-lite@0.4.19:
1512 | version "0.4.19"
1513 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
1514 |
1515 | iconv-lite@0.4.23, iconv-lite@^0.4.4:
1516 | version "0.4.23"
1517 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
1518 | dependencies:
1519 | safer-buffer ">= 2.1.2 < 3"
1520 |
1521 | ieee754@1.1.8:
1522 | version "1.1.8"
1523 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
1524 |
1525 | ieee754@^1.1.4:
1526 | version "1.1.12"
1527 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
1528 |
1529 | ignore-walk@^3.0.1:
1530 | version "3.0.1"
1531 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
1532 | dependencies:
1533 | minimatch "^3.0.4"
1534 |
1535 | inflection@~1.12.0:
1536 | version "1.12.0"
1537 | resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416"
1538 |
1539 | inflection@~1.3.0:
1540 | version "1.3.8"
1541 | resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.3.8.tgz#cbd160da9f75b14c3cc63578d4f396784bf3014e"
1542 |
1543 | inflight@^1.0.4:
1544 | version "1.0.6"
1545 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1546 | dependencies:
1547 | once "^1.3.0"
1548 | wrappy "1"
1549 |
1550 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
1551 | version "2.0.3"
1552 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1553 |
1554 | ini@~1.3.0:
1555 | version "1.3.5"
1556 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
1557 |
1558 | intersect@1.0.1:
1559 | version "1.0.1"
1560 | resolved "https://registry.yarnpkg.com/intersect/-/intersect-1.0.1.tgz#332650e10854d8c0ac58c192bdc27a8bf7e7a30c"
1561 |
1562 | invariant@^2.2.2:
1563 | version "2.2.4"
1564 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
1565 | dependencies:
1566 | loose-envify "^1.0.0"
1567 |
1568 | ip@^1.1.4, ip@^1.1.5:
1569 | version "1.1.5"
1570 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
1571 |
1572 | ipaddr.js@1.8.0:
1573 | version "1.8.0"
1574 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
1575 |
1576 | is-binary-path@^1.0.0:
1577 | version "1.0.1"
1578 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
1579 | dependencies:
1580 | binary-extensions "^1.0.0"
1581 |
1582 | is-buffer@^1.1.5:
1583 | version "1.1.6"
1584 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
1585 |
1586 | is-callable@^1.1.0:
1587 | version "1.1.4"
1588 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
1589 |
1590 | is-dotfile@^1.0.0:
1591 | version "1.0.3"
1592 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
1593 |
1594 | is-equal-shallow@^0.1.3:
1595 | version "0.1.3"
1596 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
1597 | dependencies:
1598 | is-primitive "^2.0.0"
1599 |
1600 | is-extendable@^0.1.1:
1601 | version "0.1.1"
1602 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
1603 |
1604 | is-extglob@^1.0.0:
1605 | version "1.0.0"
1606 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
1607 |
1608 | is-finite@^1.0.0:
1609 | version "1.0.2"
1610 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
1611 | dependencies:
1612 | number-is-nan "^1.0.0"
1613 |
1614 | is-fullwidth-code-point@^1.0.0:
1615 | version "1.0.0"
1616 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
1617 | dependencies:
1618 | number-is-nan "^1.0.0"
1619 |
1620 | is-glob@^2.0.0, is-glob@^2.0.1:
1621 | version "2.0.1"
1622 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
1623 | dependencies:
1624 | is-extglob "^1.0.0"
1625 |
1626 | is-number@^2.1.0:
1627 | version "2.1.0"
1628 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
1629 | dependencies:
1630 | kind-of "^3.0.2"
1631 |
1632 | is-number@^4.0.0:
1633 | version "4.0.0"
1634 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
1635 |
1636 | is-posix-bracket@^0.1.0:
1637 | version "0.1.1"
1638 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
1639 |
1640 | is-primitive@^2.0.0:
1641 | version "2.0.0"
1642 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
1643 |
1644 | is-redirect@^1.0.0:
1645 | version "1.0.0"
1646 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
1647 |
1648 | is-retry-allowed@^1.0.0:
1649 | version "1.1.0"
1650 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
1651 |
1652 | is-stream@^1.0.0, is-stream@^1.1.0:
1653 | version "1.1.0"
1654 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
1655 |
1656 | is-typedarray@~1.0.0:
1657 | version "1.0.0"
1658 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1659 |
1660 | is@^3.2.1:
1661 | version "3.2.1"
1662 | resolved "https://registry.yarnpkg.com/is/-/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5"
1663 |
1664 | isarray@0.0.1:
1665 | version "0.0.1"
1666 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1667 |
1668 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
1669 | version "1.0.0"
1670 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1671 |
1672 | isobject@^2.0.0:
1673 | version "2.1.0"
1674 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
1675 | dependencies:
1676 | isarray "1.0.0"
1677 |
1678 | isstream@0.1.x, isstream@~0.1.2:
1679 | version "0.1.2"
1680 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1681 |
1682 | jmespath@0.15.0:
1683 | version "0.15.0"
1684 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
1685 |
1686 | js-string-escape@1.0.1:
1687 | version "1.0.1"
1688 | resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
1689 |
1690 | js-tokens@^3.0.0, js-tokens@^3.0.2:
1691 | version "3.0.2"
1692 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
1693 |
1694 | jsbn@~0.1.0:
1695 | version "0.1.1"
1696 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1697 |
1698 | jsesc@^1.3.0:
1699 | version "1.3.0"
1700 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
1701 |
1702 | jsesc@~0.5.0:
1703 | version "0.5.0"
1704 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
1705 |
1706 | json-file-plus@^3.2.0:
1707 | version "3.3.1"
1708 | resolved "https://registry.yarnpkg.com/json-file-plus/-/json-file-plus-3.3.1.tgz#f4363806b82819ff8803d83d539d6a9edd2a5258"
1709 | dependencies:
1710 | is "^3.2.1"
1711 | node.extend "^2.0.0"
1712 | object.assign "^4.1.0"
1713 | promiseback "^2.0.2"
1714 | safer-buffer "^2.0.2"
1715 |
1716 | json-schema-traverse@^0.3.0:
1717 | version "0.3.1"
1718 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
1719 |
1720 | json-schema@0.2.3:
1721 | version "0.2.3"
1722 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1723 |
1724 | json-stringify-safe@~5.0.1:
1725 | version "5.0.1"
1726 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1727 |
1728 | json5@^0.5.1:
1729 | version "0.5.1"
1730 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
1731 |
1732 | jsonwebtoken@^8.1.0:
1733 | version "8.3.0"
1734 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz#056c90eee9a65ed6e6c72ddb0a1d325109aaf643"
1735 | dependencies:
1736 | jws "^3.1.5"
1737 | lodash.includes "^4.3.0"
1738 | lodash.isboolean "^3.0.3"
1739 | lodash.isinteger "^4.0.4"
1740 | lodash.isnumber "^3.0.3"
1741 | lodash.isplainobject "^4.0.6"
1742 | lodash.isstring "^4.0.1"
1743 | lodash.once "^4.0.0"
1744 | ms "^2.1.1"
1745 |
1746 | jsprim@^1.2.2:
1747 | version "1.4.1"
1748 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
1749 | dependencies:
1750 | assert-plus "1.0.0"
1751 | extsprintf "1.3.0"
1752 | json-schema "0.2.3"
1753 | verror "1.10.0"
1754 |
1755 | jwa@^1.1.5:
1756 | version "1.1.6"
1757 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.6.tgz#87240e76c9808dbde18783cf2264ef4929ee50e6"
1758 | dependencies:
1759 | buffer-equal-constant-time "1.0.1"
1760 | ecdsa-sig-formatter "1.0.10"
1761 | safe-buffer "^5.0.1"
1762 |
1763 | jws@^3.1.5:
1764 | version "3.1.5"
1765 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.5.tgz#80d12d05b293d1e841e7cb8b4e69e561adcf834f"
1766 | dependencies:
1767 | jwa "^1.1.5"
1768 | safe-buffer "^5.0.1"
1769 |
1770 | keygrip@~1.0.2:
1771 | version "1.0.2"
1772 | resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.2.tgz#ad3297c557069dea8bcfe7a4fa491b75c5ddeb91"
1773 |
1774 | kind-of@^3.0.2:
1775 | version "3.2.2"
1776 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
1777 | dependencies:
1778 | is-buffer "^1.1.5"
1779 |
1780 | kind-of@^6.0.0:
1781 | version "6.0.2"
1782 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
1783 |
1784 | levn@~0.3.0:
1785 | version "0.3.0"
1786 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
1787 | dependencies:
1788 | prelude-ls "~1.1.2"
1789 | type-check "~0.3.2"
1790 |
1791 | lodash.includes@^4.3.0:
1792 | version "4.3.0"
1793 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
1794 |
1795 | lodash.isboolean@^3.0.3:
1796 | version "3.0.3"
1797 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
1798 |
1799 | lodash.isinteger@^4.0.4:
1800 | version "4.0.4"
1801 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
1802 |
1803 | lodash.isnumber@^3.0.3:
1804 | version "3.0.3"
1805 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
1806 |
1807 | lodash.isplainobject@^4.0.6:
1808 | version "4.0.6"
1809 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
1810 |
1811 | lodash.isstring@^4.0.1:
1812 | version "4.0.1"
1813 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
1814 |
1815 | lodash.once@^4.0.0:
1816 | version "4.1.1"
1817 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
1818 |
1819 | lodash@4.17.5:
1820 | version "4.17.5"
1821 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
1822 |
1823 | lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5:
1824 | version "4.17.10"
1825 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
1826 |
1827 | loose-envify@^1.0.0:
1828 | version "1.3.1"
1829 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
1830 | dependencies:
1831 | js-tokens "^3.0.0"
1832 |
1833 | lowercase-keys@^1.0.0:
1834 | version "1.0.1"
1835 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
1836 |
1837 | lru-cache@4.1.2:
1838 | version "4.1.2"
1839 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f"
1840 | dependencies:
1841 | pseudomap "^1.0.2"
1842 | yallist "^2.1.2"
1843 |
1844 | lru-cache@^4.1.2:
1845 | version "4.1.3"
1846 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
1847 | dependencies:
1848 | pseudomap "^1.0.2"
1849 | yallist "^2.1.2"
1850 |
1851 | mailgun-js@0.18.0:
1852 | version "0.18.0"
1853 | resolved "https://registry.yarnpkg.com/mailgun-js/-/mailgun-js-0.18.0.tgz#81fed0c66a411d3ff6c4354861ad21387afcfaaa"
1854 | dependencies:
1855 | async "~2.6.0"
1856 | debug "~3.1.0"
1857 | form-data "~2.3.0"
1858 | inflection "~1.12.0"
1859 | is-stream "^1.1.0"
1860 | path-proxy "~1.0.0"
1861 | promisify-call "^2.0.2"
1862 | proxy-agent "~3.0.0"
1863 | tsscmp "~1.0.0"
1864 |
1865 | manakin@0.5.1:
1866 | version "0.5.1"
1867 | resolved "https://registry.yarnpkg.com/manakin/-/manakin-0.5.1.tgz#c4a7116f6b00df3d5f1a37ad3ca515d22065a658"
1868 |
1869 | math-random@^1.0.1:
1870 | version "1.0.1"
1871 | resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
1872 |
1873 | media-typer@0.3.0:
1874 | version "0.3.0"
1875 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1876 |
1877 | merge-descriptors@1.0.1:
1878 | version "1.0.1"
1879 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1880 |
1881 | methods@~1.1.2:
1882 | version "1.1.2"
1883 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
1884 |
1885 | micromatch@^2.1.5:
1886 | version "2.3.11"
1887 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
1888 | dependencies:
1889 | arr-diff "^2.0.0"
1890 | array-unique "^0.2.1"
1891 | braces "^1.8.2"
1892 | expand-brackets "^0.1.4"
1893 | extglob "^0.3.1"
1894 | filename-regex "^2.0.0"
1895 | is-extglob "^1.0.0"
1896 | is-glob "^2.0.1"
1897 | kind-of "^3.0.2"
1898 | normalize-path "^2.0.1"
1899 | object.omit "^2.0.0"
1900 | parse-glob "^3.0.4"
1901 | regex-cache "^0.4.2"
1902 |
1903 | mime-db@~1.33.0:
1904 | version "1.33.0"
1905 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
1906 |
1907 | mime-db@~1.35.0:
1908 | version "1.35.0"
1909 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47"
1910 |
1911 | mime-types@^2.1.12, mime-types@~2.1.17:
1912 | version "2.1.18"
1913 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
1914 | dependencies:
1915 | mime-db "~1.33.0"
1916 |
1917 | mime-types@~2.1.18:
1918 | version "2.1.19"
1919 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0"
1920 | dependencies:
1921 | mime-db "~1.35.0"
1922 |
1923 | mime@1.4.1:
1924 | version "1.4.1"
1925 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
1926 |
1927 | mime@2.3.1:
1928 | version "2.3.1"
1929 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369"
1930 |
1931 | minimatch@^3.0.2, minimatch@^3.0.4:
1932 | version "3.0.4"
1933 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1934 | dependencies:
1935 | brace-expansion "^1.1.7"
1936 |
1937 | minimist@0.0.8:
1938 | version "0.0.8"
1939 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1940 |
1941 | minimist@^1.2.0:
1942 | version "1.2.0"
1943 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1944 |
1945 | minipass@^2.2.1, minipass@^2.2.4:
1946 | version "2.3.0"
1947 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384"
1948 | dependencies:
1949 | safe-buffer "^5.1.1"
1950 | yallist "^3.0.0"
1951 |
1952 | minizlib@^1.1.0:
1953 | version "1.1.0"
1954 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
1955 | dependencies:
1956 | minipass "^2.2.1"
1957 |
1958 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1:
1959 | version "0.5.1"
1960 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1961 | dependencies:
1962 | minimist "0.0.8"
1963 |
1964 | mongodb-core@3.0.7:
1965 | version "3.0.7"
1966 | resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-3.0.7.tgz#a9941f14883a75768d554cef5fd67756a9cc0f25"
1967 | dependencies:
1968 | bson "~1.0.4"
1969 | require_optional "^1.0.1"
1970 |
1971 | mongodb@3.0.7:
1972 | version "3.0.7"
1973 | resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.0.7.tgz#cfcbaee992d78dabca67177f8f9db9cf13ac3a44"
1974 | dependencies:
1975 | mongodb-core "3.0.7"
1976 |
1977 | ms@2.0.0:
1978 | version "2.0.0"
1979 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1980 |
1981 | ms@^2.1.1:
1982 | version "2.1.1"
1983 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
1984 |
1985 | multer@1.3.0:
1986 | version "1.3.0"
1987 | resolved "https://registry.yarnpkg.com/multer/-/multer-1.3.0.tgz#092b2670f6846fa4914965efc8cf94c20fec6cd2"
1988 | dependencies:
1989 | append-field "^0.1.0"
1990 | busboy "^0.2.11"
1991 | concat-stream "^1.5.0"
1992 | mkdirp "^0.5.1"
1993 | object-assign "^3.0.0"
1994 | on-finished "^2.3.0"
1995 | type-is "^1.6.4"
1996 | xtend "^4.0.0"
1997 |
1998 | nan@2.10.0, nan@^2.9.2:
1999 | version "2.10.0"
2000 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
2001 |
2002 | needle@^2.2.0:
2003 | version "2.2.1"
2004 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
2005 | dependencies:
2006 | debug "^2.1.2"
2007 | iconv-lite "^0.4.4"
2008 | sax "^1.2.4"
2009 |
2010 | negotiator@0.6.1:
2011 | version "0.6.1"
2012 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
2013 |
2014 | netmask@^1.0.6:
2015 | version "1.0.6"
2016 | resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35"
2017 |
2018 | node-forge@^0.7.1:
2019 | version "0.7.5"
2020 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
2021 |
2022 | node-pre-gyp@0.9.1, node-pre-gyp@^0.9.0:
2023 | version "0.9.1"
2024 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz#f11c07516dd92f87199dbc7e1838eab7cd56c9e0"
2025 | dependencies:
2026 | detect-libc "^1.0.2"
2027 | mkdirp "^0.5.1"
2028 | needle "^2.2.0"
2029 | nopt "^4.0.1"
2030 | npm-packlist "^1.1.6"
2031 | npmlog "^4.0.2"
2032 | rc "^1.1.7"
2033 | rimraf "^2.6.1"
2034 | semver "^5.3.0"
2035 | tar "^4"
2036 |
2037 | node.extend@^2.0.0:
2038 | version "2.0.0"
2039 | resolved "https://registry.yarnpkg.com/node.extend/-/node.extend-2.0.0.tgz#7525a2875677ea534784a5e10ac78956139614df"
2040 | dependencies:
2041 | is "^3.2.1"
2042 |
2043 | nopt@^4.0.1:
2044 | version "4.0.1"
2045 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
2046 | dependencies:
2047 | abbrev "1"
2048 | osenv "^0.1.4"
2049 |
2050 | normalize-path@^2.0.0, normalize-path@^2.0.1:
2051 | version "2.1.1"
2052 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
2053 | dependencies:
2054 | remove-trailing-separator "^1.0.1"
2055 |
2056 | npm-bundled@^1.0.1:
2057 | version "1.0.3"
2058 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
2059 |
2060 | npm-packlist@^1.1.6:
2061 | version "1.1.10"
2062 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
2063 | dependencies:
2064 | ignore-walk "^3.0.1"
2065 | npm-bundled "^1.0.1"
2066 |
2067 | npmlog@^4.0.2:
2068 | version "4.1.2"
2069 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
2070 | dependencies:
2071 | are-we-there-yet "~1.1.2"
2072 | console-control-strings "~1.1.0"
2073 | gauge "~2.7.3"
2074 | set-blocking "~2.0.0"
2075 |
2076 | number-is-nan@^1.0.0:
2077 | version "1.0.1"
2078 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
2079 |
2080 | oauth-sign@~0.8.2:
2081 | version "0.8.2"
2082 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
2083 |
2084 | object-assign@^3.0.0:
2085 | version "3.0.0"
2086 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
2087 |
2088 | object-assign@^4.1.0:
2089 | version "4.1.1"
2090 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
2091 |
2092 | object-keys@^1.0.11, object-keys@^1.0.8:
2093 | version "1.0.12"
2094 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
2095 |
2096 | object.assign@^4.1.0:
2097 | version "4.1.0"
2098 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
2099 | dependencies:
2100 | define-properties "^1.1.2"
2101 | function-bind "^1.1.1"
2102 | has-symbols "^1.0.0"
2103 | object-keys "^1.0.11"
2104 |
2105 | object.omit@^2.0.0:
2106 | version "2.0.1"
2107 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
2108 | dependencies:
2109 | for-own "^0.1.4"
2110 | is-extendable "^0.1.1"
2111 |
2112 | on-finished@^2.3.0, on-finished@~2.3.0:
2113 | version "2.3.0"
2114 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
2115 | dependencies:
2116 | ee-first "1.1.1"
2117 |
2118 | on-headers@~1.0.1:
2119 | version "1.0.1"
2120 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
2121 |
2122 | once@^1.3.0:
2123 | version "1.4.0"
2124 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2125 | dependencies:
2126 | wrappy "1"
2127 |
2128 | optionator@^0.8.1:
2129 | version "0.8.2"
2130 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
2131 | dependencies:
2132 | deep-is "~0.1.3"
2133 | fast-levenshtein "~2.0.4"
2134 | levn "~0.3.0"
2135 | prelude-ls "~1.1.2"
2136 | type-check "~0.3.2"
2137 | wordwrap "~1.0.0"
2138 |
2139 | os-homedir@^1.0.0:
2140 | version "1.0.2"
2141 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
2142 |
2143 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
2144 | version "1.0.2"
2145 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
2146 |
2147 | osenv@^0.1.4:
2148 | version "0.1.5"
2149 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
2150 | dependencies:
2151 | os-homedir "^1.0.0"
2152 | os-tmpdir "^1.0.0"
2153 |
2154 | output-file-sync@^1.1.2:
2155 | version "1.1.2"
2156 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76"
2157 | dependencies:
2158 | graceful-fs "^4.1.4"
2159 | mkdirp "^0.5.1"
2160 | object-assign "^4.1.0"
2161 |
2162 | pac-proxy-agent@^2.0.1:
2163 | version "2.0.2"
2164 | resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz#90d9f6730ab0f4d2607dcdcd4d3d641aa26c3896"
2165 | dependencies:
2166 | agent-base "^4.2.0"
2167 | debug "^3.1.0"
2168 | get-uri "^2.0.0"
2169 | http-proxy-agent "^2.1.0"
2170 | https-proxy-agent "^2.2.1"
2171 | pac-resolver "^3.0.0"
2172 | raw-body "^2.2.0"
2173 | socks-proxy-agent "^3.0.0"
2174 |
2175 | pac-resolver@^3.0.0:
2176 | version "3.0.0"
2177 | resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26"
2178 | dependencies:
2179 | co "^4.6.0"
2180 | degenerator "^1.0.4"
2181 | ip "^1.1.5"
2182 | netmask "^1.0.6"
2183 | thunkify "^2.1.2"
2184 |
2185 | package-json@^4.0.1:
2186 | version "4.0.1"
2187 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
2188 | dependencies:
2189 | got "^6.7.1"
2190 | registry-auth-token "^3.0.1"
2191 | registry-url "^3.0.3"
2192 | semver "^5.1.0"
2193 |
2194 | packet-reader@0.3.1:
2195 | version "0.3.1"
2196 | resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz#cd62e60af8d7fea8a705ec4ff990871c46871f27"
2197 |
2198 | parse-dashboard@^1.2.0:
2199 | version "1.2.0"
2200 | resolved "https://registry.yarnpkg.com/parse-dashboard/-/parse-dashboard-1.2.0.tgz#189348972934d53fe1bac869cb362d96020b57a9"
2201 | dependencies:
2202 | bcryptjs "^2.3.0"
2203 | body-parser "^1.15.2"
2204 | commander "^2.9.0"
2205 | connect-flash "^0.1.1"
2206 | cookie-session "^2.0.0-alpha.1"
2207 | csurf "^1.9.0"
2208 | express "^4.13.4"
2209 | json-file-plus "^3.2.0"
2210 | package-json "^4.0.1"
2211 | passport "^0.3.2"
2212 | passport-local "^1.0.0"
2213 |
2214 | parse-glob@^3.0.4:
2215 | version "3.0.4"
2216 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
2217 | dependencies:
2218 | glob-base "^0.3.0"
2219 | is-dotfile "^1.0.0"
2220 | is-extglob "^1.0.0"
2221 | is-glob "^2.0.0"
2222 |
2223 | parse-server@^2.8.2:
2224 | version "2.8.2"
2225 | resolved "https://registry.yarnpkg.com/parse-server/-/parse-server-2.8.2.tgz#b572638c0158e01062cae566dece0b3ce5137a07"
2226 | dependencies:
2227 | "@parse/fs-files-adapter" "1.0.1"
2228 | "@parse/push-adapter" "3.0.0-alpha2"
2229 | "@parse/s3-files-adapter" "1.2.1"
2230 | "@parse/simple-mailgun-adapter" "1.0.2"
2231 | bcryptjs "2.4.3"
2232 | body-parser "1.18.3"
2233 | commander "2.15.1"
2234 | deepcopy "1.0.0"
2235 | express "4.16.2"
2236 | intersect "1.0.1"
2237 | lodash "4.17.5"
2238 | lru-cache "4.1.2"
2239 | mime "2.3.1"
2240 | mongodb "3.0.7"
2241 | multer "1.3.0"
2242 | parse "1.11.1"
2243 | pg-promise "8.4.0"
2244 | redis "2.8.0"
2245 | request "2.85.0"
2246 | semver "5.5.0"
2247 | tv4 "1.3.0"
2248 | uuid "^3.1.0"
2249 | winston "2.4.1"
2250 | winston-daily-rotate-file "1.7.2"
2251 | ws "5.2.0"
2252 | optionalDependencies:
2253 | bcrypt "2.0.1"
2254 | uws "^10.148.0"
2255 |
2256 | parse@1.11.1, parse@^1.9.2:
2257 | version "1.11.1"
2258 | resolved "https://registry.yarnpkg.com/parse/-/parse-1.11.1.tgz#558e539d42d9fb89210e082209d6f3b03d5faed5"
2259 | dependencies:
2260 | babel-runtime "^6.11.6"
2261 | ws "^3.3.1"
2262 | xmlhttprequest "^1.7.0"
2263 |
2264 | parse@^2.0.0:
2265 | version "2.0.0"
2266 | resolved "https://registry.yarnpkg.com/parse/-/parse-2.0.0.tgz#2b4fb0f1ac9e76ea638ea2fea6010162a273f366"
2267 | dependencies:
2268 | babel-runtime "6.26.0"
2269 | ws "6.0.0"
2270 | xmlhttprequest "1.8.0"
2271 |
2272 | parseurl@~1.3.2:
2273 | version "1.3.2"
2274 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
2275 |
2276 | passport-local@^1.0.0:
2277 | version "1.0.0"
2278 | resolved "https://registry.yarnpkg.com/passport-local/-/passport-local-1.0.0.tgz#1fe63268c92e75606626437e3b906662c15ba6ee"
2279 | dependencies:
2280 | passport-strategy "1.x.x"
2281 |
2282 | passport-strategy@1.x.x:
2283 | version "1.0.0"
2284 | resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4"
2285 |
2286 | passport@^0.3.2:
2287 | version "0.3.2"
2288 | resolved "https://registry.yarnpkg.com/passport/-/passport-0.3.2.tgz#9dd009f915e8fe095b0124a01b8f82da07510102"
2289 | dependencies:
2290 | passport-strategy "1.x.x"
2291 | pause "0.0.1"
2292 |
2293 | path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
2294 | version "1.0.1"
2295 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2296 |
2297 | path-proxy@~1.0.0:
2298 | version "1.0.0"
2299 | resolved "https://registry.yarnpkg.com/path-proxy/-/path-proxy-1.0.0.tgz#18e8a36859fc9d2f1a53b48dee138543c020de5e"
2300 | dependencies:
2301 | inflection "~1.3.0"
2302 |
2303 | path-to-regexp@0.1.7:
2304 | version "0.1.7"
2305 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
2306 |
2307 | pause@0.0.1:
2308 | version "0.0.1"
2309 | resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
2310 |
2311 | performance-now@^2.1.0:
2312 | version "2.1.0"
2313 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
2314 |
2315 | pg-connection-string@0.1.3:
2316 | version "0.1.3"
2317 | resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7"
2318 |
2319 | pg-minify@0.5.4:
2320 | version "0.5.4"
2321 | resolved "https://registry.yarnpkg.com/pg-minify/-/pg-minify-0.5.4.tgz#89d5261cacfd44dd7927fa052222a404e9b2a3c9"
2322 |
2323 | pg-pool@~2.0.3:
2324 | version "2.0.3"
2325 | resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.3.tgz#c022032c8949f312a4f91fb6409ce04076be3257"
2326 |
2327 | pg-promise@8.4.0:
2328 | version "8.4.0"
2329 | resolved "https://registry.yarnpkg.com/pg-promise/-/pg-promise-8.4.0.tgz#8efde596c39c53c958e27f9aafd85d7f87249f65"
2330 | dependencies:
2331 | manakin "0.5.1"
2332 | pg "7.4.1"
2333 | pg-minify "0.5.4"
2334 | spex "2.0.2"
2335 |
2336 | pg-types@~1.12.1:
2337 | version "1.12.1"
2338 | resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.1.tgz#d64087e3903b58ffaad279e7595c52208a14c3d2"
2339 | dependencies:
2340 | postgres-array "~1.0.0"
2341 | postgres-bytea "~1.0.0"
2342 | postgres-date "~1.0.0"
2343 | postgres-interval "^1.1.0"
2344 |
2345 | pg@7.4.1:
2346 | version "7.4.1"
2347 | resolved "https://registry.yarnpkg.com/pg/-/pg-7.4.1.tgz#f3411c8ddf9f692322fe05e7017a1888e47f78f1"
2348 | dependencies:
2349 | buffer-writer "1.0.1"
2350 | js-string-escape "1.0.1"
2351 | packet-reader "0.3.1"
2352 | pg-connection-string "0.1.3"
2353 | pg-pool "~2.0.3"
2354 | pg-types "~1.12.1"
2355 | pgpass "1.x"
2356 | semver "4.3.2"
2357 |
2358 | pgpass@1.x:
2359 | version "1.0.2"
2360 | resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306"
2361 | dependencies:
2362 | split "^1.0.0"
2363 |
2364 | postgres-array@~1.0.0:
2365 | version "1.0.2"
2366 | resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.2.tgz#8e0b32eb03bf77a5c0a7851e0441c169a256a238"
2367 |
2368 | postgres-bytea@~1.0.0:
2369 | version "1.0.0"
2370 | resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35"
2371 |
2372 | postgres-date@~1.0.0:
2373 | version "1.0.3"
2374 | resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz#e2d89702efdb258ff9d9cee0fe91bd06975257a8"
2375 |
2376 | postgres-interval@^1.1.0:
2377 | version "1.1.2"
2378 | resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz#bf71ff902635f21cb241a013fc421d81d1db15a9"
2379 | dependencies:
2380 | xtend "^4.0.0"
2381 |
2382 | prelude-ls@~1.1.2:
2383 | version "1.1.2"
2384 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
2385 |
2386 | prepend-http@^1.0.1:
2387 | version "1.0.4"
2388 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
2389 |
2390 | preserve@^0.2.0:
2391 | version "0.2.0"
2392 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
2393 |
2394 | private@^0.1.6, private@^0.1.8:
2395 | version "0.1.8"
2396 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
2397 |
2398 | process-nextick-args@~2.0.0:
2399 | version "2.0.0"
2400 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
2401 |
2402 | promise-deferred@^2.0.1:
2403 | version "2.0.1"
2404 | resolved "https://registry.yarnpkg.com/promise-deferred/-/promise-deferred-2.0.1.tgz#b05398f1a43f6d87be0c97c52040046e83eb5454"
2405 | dependencies:
2406 | promise "~6.1.0"
2407 |
2408 | promise@~6.1.0:
2409 | version "6.1.0"
2410 | resolved "https://registry.yarnpkg.com/promise/-/promise-6.1.0.tgz#2ce729f6b94b45c26891ad0602c5c90e04c6eef6"
2411 | dependencies:
2412 | asap "~1.0.0"
2413 |
2414 | promiseback@^2.0.2:
2415 | version "2.0.2"
2416 | resolved "https://registry.yarnpkg.com/promiseback/-/promiseback-2.0.2.tgz#424af89a43de0c6a8997bf3cb2d8139447fb3b97"
2417 | dependencies:
2418 | is-callable "^1.1.0"
2419 | promise-deferred "^2.0.1"
2420 |
2421 | promisify-call@^2.0.2:
2422 | version "2.0.4"
2423 | resolved "https://registry.yarnpkg.com/promisify-call/-/promisify-call-2.0.4.tgz#d48c2d45652ccccd52801ddecbd533a6d4bd5fba"
2424 | dependencies:
2425 | with-callback "^1.0.2"
2426 |
2427 | proxy-addr@~2.0.2, proxy-addr@~2.0.3:
2428 | version "2.0.4"
2429 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
2430 | dependencies:
2431 | forwarded "~0.1.2"
2432 | ipaddr.js "1.8.0"
2433 |
2434 | proxy-agent@~3.0.0:
2435 | version "3.0.1"
2436 | resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.0.1.tgz#4fb7b61b1476d0fe8e3a3384d90e2460bbded3f9"
2437 | dependencies:
2438 | agent-base "^4.2.0"
2439 | debug "^3.1.0"
2440 | http-proxy-agent "^2.1.0"
2441 | https-proxy-agent "^2.2.1"
2442 | lru-cache "^4.1.2"
2443 | pac-proxy-agent "^2.0.1"
2444 | proxy-from-env "^1.0.0"
2445 | socks-proxy-agent "^4.0.1"
2446 |
2447 | proxy-from-env@^1.0.0:
2448 | version "1.0.0"
2449 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
2450 |
2451 | pseudomap@^1.0.2:
2452 | version "1.0.2"
2453 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
2454 |
2455 | punycode@1.3.2:
2456 | version "1.3.2"
2457 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
2458 |
2459 | punycode@^1.4.1:
2460 | version "1.4.1"
2461 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
2462 |
2463 | qs@6.5.1:
2464 | version "6.5.1"
2465 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
2466 |
2467 | qs@6.5.2, qs@~6.5.1:
2468 | version "6.5.2"
2469 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
2470 |
2471 | querystring@0.2.0:
2472 | version "0.2.0"
2473 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
2474 |
2475 | random-bytes@~1.0.0:
2476 | version "1.0.0"
2477 | resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b"
2478 |
2479 | randomatic@^3.0.0:
2480 | version "3.0.0"
2481 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
2482 | dependencies:
2483 | is-number "^4.0.0"
2484 | kind-of "^6.0.0"
2485 | math-random "^1.0.1"
2486 |
2487 | range-parser@~1.2.0:
2488 | version "1.2.0"
2489 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
2490 |
2491 | raw-body@2.3.2:
2492 | version "2.3.2"
2493 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89"
2494 | dependencies:
2495 | bytes "3.0.0"
2496 | http-errors "1.6.2"
2497 | iconv-lite "0.4.19"
2498 | unpipe "1.0.0"
2499 |
2500 | raw-body@2.3.3, raw-body@^2.2.0:
2501 | version "2.3.3"
2502 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3"
2503 | dependencies:
2504 | bytes "3.0.0"
2505 | http-errors "1.6.3"
2506 | iconv-lite "0.4.23"
2507 | unpipe "1.0.0"
2508 |
2509 | rc@^1.0.1, rc@^1.1.6:
2510 | version "1.2.8"
2511 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
2512 | dependencies:
2513 | deep-extend "^0.6.0"
2514 | ini "~1.3.0"
2515 | minimist "^1.2.0"
2516 | strip-json-comments "~2.0.1"
2517 |
2518 | rc@^1.1.7:
2519 | version "1.2.7"
2520 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297"
2521 | dependencies:
2522 | deep-extend "^0.5.1"
2523 | ini "~1.3.0"
2524 | minimist "^1.2.0"
2525 | strip-json-comments "~2.0.1"
2526 |
2527 | readable-stream@1.1.x:
2528 | version "1.1.14"
2529 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
2530 | dependencies:
2531 | core-util-is "~1.0.0"
2532 | inherits "~2.0.1"
2533 | isarray "0.0.1"
2534 | string_decoder "~0.10.x"
2535 |
2536 | readable-stream@2, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2:
2537 | version "2.3.6"
2538 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
2539 | dependencies:
2540 | core-util-is "~1.0.0"
2541 | inherits "~2.0.3"
2542 | isarray "~1.0.0"
2543 | process-nextick-args "~2.0.0"
2544 | safe-buffer "~5.1.1"
2545 | string_decoder "~1.1.1"
2546 | util-deprecate "~1.0.1"
2547 |
2548 | readdirp@^2.0.0:
2549 | version "2.1.0"
2550 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
2551 | dependencies:
2552 | graceful-fs "^4.1.2"
2553 | minimatch "^3.0.2"
2554 | readable-stream "^2.0.2"
2555 | set-immediate-shim "^1.0.1"
2556 |
2557 | redis-commands@^1.2.0:
2558 | version "1.3.5"
2559 | resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.3.5.tgz#4495889414f1e886261180b1442e7295602d83a2"
2560 |
2561 | redis-parser@^2.6.0:
2562 | version "2.6.0"
2563 | resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b"
2564 |
2565 | redis@2.8.0:
2566 | version "2.8.0"
2567 | resolved "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02"
2568 | dependencies:
2569 | double-ended-queue "^2.1.0-0"
2570 | redis-commands "^1.2.0"
2571 | redis-parser "^2.6.0"
2572 |
2573 | regenerate@^1.2.1:
2574 | version "1.3.3"
2575 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
2576 |
2577 | regenerator-runtime@^0.10.5:
2578 | version "0.10.5"
2579 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
2580 |
2581 | regenerator-runtime@^0.11.0:
2582 | version "0.11.1"
2583 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
2584 |
2585 | regenerator-transform@^0.10.0:
2586 | version "0.10.1"
2587 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
2588 | dependencies:
2589 | babel-runtime "^6.18.0"
2590 | babel-types "^6.19.0"
2591 | private "^0.1.6"
2592 |
2593 | regex-cache@^0.4.2:
2594 | version "0.4.4"
2595 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
2596 | dependencies:
2597 | is-equal-shallow "^0.1.3"
2598 |
2599 | regexpu-core@^2.0.0:
2600 | version "2.0.0"
2601 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
2602 | dependencies:
2603 | regenerate "^1.2.1"
2604 | regjsgen "^0.2.0"
2605 | regjsparser "^0.1.4"
2606 |
2607 | registry-auth-token@^3.0.1:
2608 | version "3.3.2"
2609 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20"
2610 | dependencies:
2611 | rc "^1.1.6"
2612 | safe-buffer "^5.0.1"
2613 |
2614 | registry-url@^3.0.3:
2615 | version "3.1.0"
2616 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
2617 | dependencies:
2618 | rc "^1.0.1"
2619 |
2620 | regjsgen@^0.2.0:
2621 | version "0.2.0"
2622 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
2623 |
2624 | regjsparser@^0.1.4:
2625 | version "0.1.5"
2626 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
2627 | dependencies:
2628 | jsesc "~0.5.0"
2629 |
2630 | remove-trailing-separator@^1.0.1:
2631 | version "1.1.0"
2632 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
2633 |
2634 | repeat-element@^1.1.2:
2635 | version "1.1.2"
2636 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
2637 |
2638 | repeat-string@^1.5.2:
2639 | version "1.6.1"
2640 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
2641 |
2642 | repeating@^2.0.0:
2643 | version "2.0.1"
2644 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
2645 | dependencies:
2646 | is-finite "^1.0.0"
2647 |
2648 | request-promise-core@1.1.1:
2649 | version "1.1.1"
2650 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6"
2651 | dependencies:
2652 | lodash "^4.13.1"
2653 |
2654 | request-promise@^4.2.2:
2655 | version "4.2.2"
2656 | resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.2.tgz#d1ea46d654a6ee4f8ee6a4fea1018c22911904b4"
2657 | dependencies:
2658 | bluebird "^3.5.0"
2659 | request-promise-core "1.1.1"
2660 | stealthy-require "^1.1.0"
2661 | tough-cookie ">=2.3.3"
2662 |
2663 | request@2.85.0, request@^2.81.0, request@^2.85.0:
2664 | version "2.85.0"
2665 | resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa"
2666 | dependencies:
2667 | aws-sign2 "~0.7.0"
2668 | aws4 "^1.6.0"
2669 | caseless "~0.12.0"
2670 | combined-stream "~1.0.5"
2671 | extend "~3.0.1"
2672 | forever-agent "~0.6.1"
2673 | form-data "~2.3.1"
2674 | har-validator "~5.0.3"
2675 | hawk "~6.0.2"
2676 | http-signature "~1.2.0"
2677 | is-typedarray "~1.0.0"
2678 | isstream "~0.1.2"
2679 | json-stringify-safe "~5.0.1"
2680 | mime-types "~2.1.17"
2681 | oauth-sign "~0.8.2"
2682 | performance-now "^2.1.0"
2683 | qs "~6.5.1"
2684 | safe-buffer "^5.1.1"
2685 | stringstream "~0.0.5"
2686 | tough-cookie "~2.3.3"
2687 | tunnel-agent "^0.6.0"
2688 | uuid "^3.1.0"
2689 |
2690 | require_optional@^1.0.1:
2691 | version "1.0.1"
2692 | resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
2693 | dependencies:
2694 | resolve-from "^2.0.0"
2695 | semver "^5.1.0"
2696 |
2697 | resolve-from@^2.0.0:
2698 | version "2.0.0"
2699 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
2700 |
2701 | rimraf@^2.6.1:
2702 | version "2.6.2"
2703 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
2704 | dependencies:
2705 | glob "^7.0.5"
2706 |
2707 | rndm@1.2.0:
2708 | version "1.2.0"
2709 | resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c"
2710 |
2711 | safe-buffer@5.1.1:
2712 | version "5.1.1"
2713 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
2714 |
2715 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
2716 | version "5.1.2"
2717 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2718 |
2719 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2:
2720 | version "2.1.2"
2721 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
2722 |
2723 | sax@1.2.1:
2724 | version "1.2.1"
2725 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
2726 |
2727 | sax@>=0.6.0, sax@^1.2.4:
2728 | version "1.2.4"
2729 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
2730 |
2731 | semver@4.3.2:
2732 | version "4.3.2"
2733 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7"
2734 |
2735 | semver@5.5.0, semver@^5.1.0, semver@^5.3.0:
2736 | version "5.5.0"
2737 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
2738 |
2739 | send@0.16.1:
2740 | version "0.16.1"
2741 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3"
2742 | dependencies:
2743 | debug "2.6.9"
2744 | depd "~1.1.1"
2745 | destroy "~1.0.4"
2746 | encodeurl "~1.0.1"
2747 | escape-html "~1.0.3"
2748 | etag "~1.8.1"
2749 | fresh "0.5.2"
2750 | http-errors "~1.6.2"
2751 | mime "1.4.1"
2752 | ms "2.0.0"
2753 | on-finished "~2.3.0"
2754 | range-parser "~1.2.0"
2755 | statuses "~1.3.1"
2756 |
2757 | send@0.16.2:
2758 | version "0.16.2"
2759 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
2760 | dependencies:
2761 | debug "2.6.9"
2762 | depd "~1.1.2"
2763 | destroy "~1.0.4"
2764 | encodeurl "~1.0.2"
2765 | escape-html "~1.0.3"
2766 | etag "~1.8.1"
2767 | fresh "0.5.2"
2768 | http-errors "~1.6.2"
2769 | mime "1.4.1"
2770 | ms "2.0.0"
2771 | on-finished "~2.3.0"
2772 | range-parser "~1.2.0"
2773 | statuses "~1.4.0"
2774 |
2775 | serve-static@1.13.1:
2776 | version "1.13.1"
2777 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719"
2778 | dependencies:
2779 | encodeurl "~1.0.1"
2780 | escape-html "~1.0.3"
2781 | parseurl "~1.3.2"
2782 | send "0.16.1"
2783 |
2784 | serve-static@1.13.2:
2785 | version "1.13.2"
2786 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
2787 | dependencies:
2788 | encodeurl "~1.0.2"
2789 | escape-html "~1.0.3"
2790 | parseurl "~1.3.2"
2791 | send "0.16.2"
2792 |
2793 | set-blocking@~2.0.0:
2794 | version "2.0.0"
2795 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2796 |
2797 | set-immediate-shim@^1.0.1:
2798 | version "1.0.1"
2799 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
2800 |
2801 | setprototypeof@1.0.2:
2802 | version "1.0.2"
2803 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
2804 |
2805 | setprototypeof@1.0.3:
2806 | version "1.0.3"
2807 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
2808 |
2809 | setprototypeof@1.1.0:
2810 | version "1.1.0"
2811 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
2812 |
2813 | signal-exit@^3.0.0:
2814 | version "3.0.2"
2815 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2816 |
2817 | slash@^1.0.0:
2818 | version "1.0.0"
2819 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
2820 |
2821 | smart-buffer@^1.0.13:
2822 | version "1.1.15"
2823 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16"
2824 |
2825 | smart-buffer@^4.0.1:
2826 | version "4.0.1"
2827 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3"
2828 |
2829 | sntp@2.x.x:
2830 | version "2.1.0"
2831 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
2832 | dependencies:
2833 | hoek "4.x.x"
2834 |
2835 | socks-proxy-agent@^3.0.0:
2836 | version "3.0.1"
2837 | resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659"
2838 | dependencies:
2839 | agent-base "^4.1.0"
2840 | socks "^1.1.10"
2841 |
2842 | socks-proxy-agent@^4.0.1:
2843 | version "4.0.1"
2844 | resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz#5936bf8b707a993079c6f37db2091821bffa6473"
2845 | dependencies:
2846 | agent-base "~4.2.0"
2847 | socks "~2.2.0"
2848 |
2849 | socks@^1.1.10:
2850 | version "1.1.10"
2851 | resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a"
2852 | dependencies:
2853 | ip "^1.1.4"
2854 | smart-buffer "^1.0.13"
2855 |
2856 | socks@~2.2.0:
2857 | version "2.2.1"
2858 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.1.tgz#68ad678b3642fbc5d99c64c165bc561eab0215f9"
2859 | dependencies:
2860 | ip "^1.1.5"
2861 | smart-buffer "^4.0.1"
2862 |
2863 | source-map-support@^0.4.15:
2864 | version "0.4.18"
2865 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
2866 | dependencies:
2867 | source-map "^0.5.6"
2868 |
2869 | source-map@^0.5.6, source-map@^0.5.7:
2870 | version "0.5.7"
2871 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
2872 |
2873 | source-map@~0.6.1:
2874 | version "0.6.1"
2875 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
2876 |
2877 | spex@2.0.2:
2878 | version "2.0.2"
2879 | resolved "https://registry.yarnpkg.com/spex/-/spex-2.0.2.tgz#e8c8d633a4c67af642dded701ec2350c9de964a0"
2880 |
2881 | split@^1.0.0:
2882 | version "1.0.1"
2883 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
2884 | dependencies:
2885 | through "2"
2886 |
2887 | sshpk@^1.7.0:
2888 | version "1.14.1"
2889 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb"
2890 | dependencies:
2891 | asn1 "~0.2.3"
2892 | assert-plus "^1.0.0"
2893 | dashdash "^1.12.0"
2894 | getpass "^0.1.1"
2895 | optionalDependencies:
2896 | bcrypt-pbkdf "^1.0.0"
2897 | ecc-jsbn "~0.1.1"
2898 | jsbn "~0.1.0"
2899 | tweetnacl "~0.14.0"
2900 |
2901 | stack-trace@0.0.x:
2902 | version "0.0.10"
2903 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
2904 |
2905 | "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
2906 | version "1.5.0"
2907 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
2908 |
2909 | statuses@~1.3.1:
2910 | version "1.3.1"
2911 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
2912 |
2913 | statuses@~1.4.0:
2914 | version "1.4.0"
2915 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
2916 |
2917 | stealthy-require@^1.1.0:
2918 | version "1.1.1"
2919 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
2920 |
2921 | streamsearch@0.1.2:
2922 | version "0.1.2"
2923 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
2924 |
2925 | string-width@^1.0.1, string-width@^1.0.2:
2926 | version "1.0.2"
2927 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
2928 | dependencies:
2929 | code-point-at "^1.0.0"
2930 | is-fullwidth-code-point "^1.0.0"
2931 | strip-ansi "^3.0.0"
2932 |
2933 | string_decoder@~0.10.x:
2934 | version "0.10.31"
2935 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
2936 |
2937 | string_decoder@~1.1.1:
2938 | version "1.1.1"
2939 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
2940 | dependencies:
2941 | safe-buffer "~5.1.0"
2942 |
2943 | stringstream@~0.0.5:
2944 | version "0.0.5"
2945 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
2946 |
2947 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
2948 | version "3.0.1"
2949 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
2950 | dependencies:
2951 | ansi-regex "^2.0.0"
2952 |
2953 | strip-json-comments@~2.0.1:
2954 | version "2.0.1"
2955 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
2956 |
2957 | supports-color@^2.0.0:
2958 | version "2.0.0"
2959 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
2960 |
2961 | tar@^4:
2962 | version "4.4.2"
2963 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462"
2964 | dependencies:
2965 | chownr "^1.0.1"
2966 | fs-minipass "^1.2.5"
2967 | minipass "^2.2.4"
2968 | minizlib "^1.1.0"
2969 | mkdirp "^0.5.0"
2970 | safe-buffer "^5.1.2"
2971 | yallist "^3.0.2"
2972 |
2973 | through@2:
2974 | version "2.3.8"
2975 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
2976 |
2977 | thunkify@^2.1.2:
2978 | version "2.1.2"
2979 | resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d"
2980 |
2981 | timed-out@^4.0.0:
2982 | version "4.0.1"
2983 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
2984 |
2985 | to-fast-properties@^1.0.3:
2986 | version "1.0.3"
2987 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
2988 |
2989 | tough-cookie@>=2.3.3, tough-cookie@~2.3.3:
2990 | version "2.3.4"
2991 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
2992 | dependencies:
2993 | punycode "^1.4.1"
2994 |
2995 | trim-right@^1.0.1:
2996 | version "1.0.1"
2997 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
2998 |
2999 | tsscmp@1.0.5:
3000 | version "1.0.5"
3001 | resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97"
3002 |
3003 | tsscmp@~1.0.0:
3004 | version "1.0.6"
3005 | resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
3006 |
3007 | tunnel-agent@^0.6.0:
3008 | version "0.6.0"
3009 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
3010 | dependencies:
3011 | safe-buffer "^5.0.1"
3012 |
3013 | tv4@1.3.0:
3014 | version "1.3.0"
3015 | resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963"
3016 |
3017 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
3018 | version "0.14.5"
3019 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
3020 |
3021 | type-check@~0.3.2:
3022 | version "0.3.2"
3023 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
3024 | dependencies:
3025 | prelude-ls "~1.1.2"
3026 |
3027 | type-detect@^4.0.8:
3028 | version "4.0.8"
3029 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
3030 |
3031 | type-is@^1.6.4, type-is@~1.6.15, type-is@~1.6.16:
3032 | version "1.6.16"
3033 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
3034 | dependencies:
3035 | media-typer "0.3.0"
3036 | mime-types "~2.1.18"
3037 |
3038 | typedarray@^0.0.6:
3039 | version "0.0.6"
3040 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
3041 |
3042 | uid-safe@2.1.4:
3043 | version "2.1.4"
3044 | resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.4.tgz#3ad6f38368c6d4c8c75ec17623fb79aa1d071d81"
3045 | dependencies:
3046 | random-bytes "~1.0.0"
3047 |
3048 | ultron@~1.1.0:
3049 | version "1.1.1"
3050 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
3051 |
3052 | unpipe@1.0.0, unpipe@~1.0.0:
3053 | version "1.0.0"
3054 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
3055 |
3056 | unzip-response@^2.0.1:
3057 | version "2.0.1"
3058 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
3059 |
3060 | url-parse-lax@^1.0.0:
3061 | version "1.0.0"
3062 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
3063 | dependencies:
3064 | prepend-http "^1.0.1"
3065 |
3066 | url@0.10.3:
3067 | version "0.10.3"
3068 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
3069 | dependencies:
3070 | punycode "1.3.2"
3071 | querystring "0.2.0"
3072 |
3073 | user-home@^1.1.1:
3074 | version "1.1.1"
3075 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
3076 |
3077 | util-deprecate@~1.0.1:
3078 | version "1.0.2"
3079 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
3080 |
3081 | utils-merge@1.0.1:
3082 | version "1.0.1"
3083 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
3084 |
3085 | uuid@3.1.0:
3086 | version "3.1.0"
3087 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
3088 |
3089 | uuid@^3.1.0:
3090 | version "3.2.1"
3091 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
3092 |
3093 | uws@^10.148.0:
3094 | version "10.148.2"
3095 | resolved "https://registry.yarnpkg.com/uws/-/uws-10.148.2.tgz#f01652a0b4bb941cb18bb7a6248d780fd0150245"
3096 |
3097 | v8flags@^2.1.1:
3098 | version "2.1.1"
3099 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
3100 | dependencies:
3101 | user-home "^1.1.1"
3102 |
3103 | vary@~1.1.2:
3104 | version "1.1.2"
3105 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
3106 |
3107 | verror@1.10.0, verror@^1.10.0:
3108 | version "1.10.0"
3109 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
3110 | dependencies:
3111 | assert-plus "^1.0.0"
3112 | core-util-is "1.0.2"
3113 | extsprintf "^1.2.0"
3114 |
3115 | wide-align@^1.1.0:
3116 | version "1.1.2"
3117 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
3118 | dependencies:
3119 | string-width "^1.0.2"
3120 |
3121 | winston-daily-rotate-file@1.7.2:
3122 | version "1.7.2"
3123 | resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-1.7.2.tgz#6502bfa297824fd982da5e5647c7538578d2f9a0"
3124 | dependencies:
3125 | mkdirp "0.5.1"
3126 |
3127 | winston@2.4.1:
3128 | version "2.4.1"
3129 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.1.tgz#a3a9265105564263c6785b4583b8c8aca26fded6"
3130 | dependencies:
3131 | async "~1.0.0"
3132 | colors "1.0.x"
3133 | cycle "1.0.x"
3134 | eyes "0.1.x"
3135 | isstream "0.1.x"
3136 | stack-trace "0.0.x"
3137 |
3138 | with-callback@^1.0.2:
3139 | version "1.0.2"
3140 | resolved "https://registry.yarnpkg.com/with-callback/-/with-callback-1.0.2.tgz#a09629b9a920028d721404fb435bdcff5c91bc21"
3141 |
3142 | wordwrap@~1.0.0:
3143 | version "1.0.0"
3144 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
3145 |
3146 | wrappy@1:
3147 | version "1.0.2"
3148 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
3149 |
3150 | ws@5.2.0:
3151 | version "5.2.0"
3152 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.0.tgz#9fd95e3ac7c76f6ae8bcc868a0e3f11f1290c33e"
3153 | dependencies:
3154 | async-limiter "~1.0.0"
3155 |
3156 | ws@6.0.0:
3157 | version "6.0.0"
3158 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.0.0.tgz#eaa494aded00ac4289d455bac8d84c7c651cef35"
3159 | dependencies:
3160 | async-limiter "~1.0.0"
3161 |
3162 | ws@^3.3.1:
3163 | version "3.3.3"
3164 | resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
3165 | dependencies:
3166 | async-limiter "~1.0.0"
3167 | safe-buffer "~5.1.0"
3168 | ultron "~1.1.0"
3169 |
3170 | ws@^4.0.0:
3171 | version "4.1.0"
3172 | resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289"
3173 | dependencies:
3174 | async-limiter "~1.0.0"
3175 | safe-buffer "~5.1.0"
3176 |
3177 | xml2js@0.4.19:
3178 | version "0.4.19"
3179 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
3180 | dependencies:
3181 | sax ">=0.6.0"
3182 | xmlbuilder "~9.0.1"
3183 |
3184 | xmlbuilder@~9.0.1:
3185 | version "9.0.7"
3186 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
3187 |
3188 | xmlhttprequest@1.8.0, xmlhttprequest@^1.7.0:
3189 | version "1.8.0"
3190 | resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
3191 |
3192 | xregexp@2.0.0:
3193 | version "2.0.0"
3194 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943"
3195 |
3196 | xtend@^4.0.0:
3197 | version "4.0.1"
3198 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
3199 |
3200 | yallist@^2.1.2:
3201 | version "2.1.2"
3202 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
3203 |
3204 | yallist@^3.0.0, yallist@^3.0.2:
3205 | version "3.0.2"
3206 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
3207 |
--------------------------------------------------------------------------------