├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── mocha-babel.js ├── package.json ├── resources └── tests │ └── sql │ ├── select-param.sql │ └── select.sql ├── src ├── test.js └── util.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # node-waf configuration 20 | .lock-wscript 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 27 | node_modules 28 | 29 | # the source output 30 | lib/ 31 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | src/ 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | addons: 3 | postgresql: "9.3" 4 | before_script: 5 | - psql -c 'create database node_pg_util;' -U postgres -d postgres 6 | env: 7 | - PGHOST='127.0.0.1' PGDATABASE='node_pg_util' PGUSER='postgres' 8 | node_js: 9 | - "4" 10 | - "6" 11 | - "8" 12 | - "lts/*" 13 | - "node" 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Lalit Kapoor 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. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # node-pg-util [![Build Status](https://travis-ci.org/lalitkapoor/node-pg-util.svg?branch=travis-ci)](https://travis-ci.org/lalitkapoor/node-pg-util) 2 | Utility Belt for PostgreSQL 3 | 4 | `npm install pg-util` 5 | 6 | The goal of this library is to make writing commons database tasks more succinct: 7 | 8 | - getting a client `#getClient()` 9 | - query the database `#query(, text, vals)` 10 | - getting the first row only `#one(, text, vals)` 11 | - executing a sql file (by name) `#run(, name, vals)` 12 | - executing a sql file (by name) and return the first row `#first(, name, vals)` 13 | 14 | All the methods returns promises and if you use the new `async/await` features in ES7 you can write some nifty code. Check out some of the examples: 15 | 16 | #### Transactions 17 | ```javascript 18 | import pg from 'pg' 19 | import pgUtil from 'pg-util' 20 | 21 | (async function() { 22 | const createTableSQL = `CREATE TABLE boo ( 23 | name TEXT NOT NULL, 24 | email TEXT NOT NULL PRIMARY KEY 25 | );` 26 | const insertSQL = `INSERT INTO boo(name, email) VALUES ('John Doe', 'test@test.com');` 27 | const selectSQL = 'SELECT * FROM boo;' 28 | 29 | await this.db.transaction(async (tx) => { 30 | const ct = await tx.query(createTableSQL) 31 | const i = await tx.query(insertSQL) 32 | 33 | let row = null 34 | 35 | // should return a row when using the client used in the transaction 36 | row = await tx.one(selectSQL) 37 | should.equal(row.name, 'John Doe') 38 | should.equal(row.email, 'test@test.com') 39 | 40 | // should error with a client not used for the transaction 41 | try { 42 | row = await this.db.one(selectSQL) 43 | should.not.exist(row) 44 | } catch (error) { 45 | should.exist(error) 46 | should.equal(error.code, '42P01') 47 | } 48 | 49 | await tx.query('ABORT') 50 | }) 51 | })() 52 | ``` 53 | 54 | #### Execute a paramterized query using a SQL file and get the first row 55 | 56 | ```sql 57 | -- ./resources/tests/sql/select-param.sql file 58 | SELECT $1::text AS "name"; 59 | ``` 60 | 61 | ```javascript 62 | import path from 'path' 63 | import pg from 'pg' 64 | import pgUtil from 'pg-util' 65 | import appRoot from 'app-root-path' 66 | 67 | (async function() { 68 | const pathToSQLFiles = path.join(appRoot.path, '/resources/tests/sql') 69 | const db = pgUtil(null, pathToSQLFiles) 70 | 71 | const row = await db.first('select-param', ['John Doe']) 72 | should.equal(row.name, 'John Doe') 73 | })() 74 | ``` 75 | -------------------------------------------------------------------------------- /mocha-babel.js: -------------------------------------------------------------------------------- 1 | require('babel/register')({ 2 | stage: 0 3 | }) 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pg-util", 3 | "version": "1.3.1", 4 | "description": "postgresql utils - using promises and the async and await functionality", 5 | "main": "lib/util.js", 6 | "scripts": { 7 | "test": "mocha --require mocha-babel src/test.js", 8 | "compile": "babel --stage 0 --optional runtime -d lib/ src/", 9 | "prepublish": "npm run compile" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/lalitkapoor/node-pg-util.git" 14 | }, 15 | "keywords": [ 16 | "postgresql", 17 | "postgres", 18 | "es6", 19 | "es7", 20 | "async", 21 | "await" 22 | ], 23 | "author": "Lalit Kapoor ", 24 | "license": "MIT", 25 | "bugs": { 26 | "url": "https://github.com/lalitkapoor/node-pg-util/issues" 27 | }, 28 | "homepage": "https://github.com/lalitkapoor/node-pg-util#readme", 29 | "dependencies": { 30 | "babel-runtime": "^5.8.24", 31 | "querybox": "lalitkapoor/node-querybox#v1.0.0" 32 | }, 33 | "devDependencies": { 34 | "app-root-path": "^1.0.0", 35 | "babel": "^5.8.23", 36 | "mocha": "^2.3.2", 37 | "pg.js": "^4.1.1", 38 | "should": "^7.1.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /resources/tests/sql/select-param.sql: -------------------------------------------------------------------------------- 1 | SELECT $1::text AS "name"; 2 | -------------------------------------------------------------------------------- /resources/tests/sql/select.sql: -------------------------------------------------------------------------------- 1 | SELECT 'John Doe'::text AS "name"; 2 | -------------------------------------------------------------------------------- /src/test.js: -------------------------------------------------------------------------------- 1 | import path from 'path' 2 | import should from 'should' 3 | import appRoot from 'app-root-path' 4 | import pg from 'pg.js' 5 | 6 | import pgUtil from './util' 7 | 8 | const q = "SELECT 'John Doe'::text AS name" 9 | const qParam = "SELECT $1::text AS name" 10 | const param = 'John Doe' 11 | 12 | describe('pg-util', function() { 13 | before(function() { 14 | const pathToSQLFiles = path.join(appRoot.path, '/resources/tests/sql') 15 | const db = pgUtil(null, pathToSQLFiles) 16 | this.db = db 17 | }) 18 | 19 | describe('#getClient', function() { 20 | it('should get a client', async function() { 21 | const client = await this.db.getClient() 22 | 23 | should.exist(client) 24 | should.exist(client.query) 25 | client.query.should.be.a.Function() 26 | }) 27 | }) 28 | 29 | describe('#query', function() { 30 | it('should perform a query', async function() { 31 | const rows = await this.db.query(q) 32 | should.equal(rows[0].name, param) 33 | }) 34 | 35 | it('should perform a parameterized query', async function() { 36 | const rows = await this.db.query(qParam, [param]) 37 | should.equal(rows[0].name, param) 38 | }) 39 | 40 | it('should perform a query with a specified client', async function() { 41 | const client = await this.db.getClient() 42 | const rows = await this.db.query(client, q) 43 | client.done() 44 | should.equal(rows[0].name, param) 45 | }) 46 | 47 | it('should perform a parameterized query with a specified client', async function() { 48 | const client = await this.db.getClient() 49 | const rows = await this.db.query(client, qParam, [param]) 50 | client.done() 51 | should.equal(rows[0].name, param) 52 | }) 53 | }) 54 | 55 | describe('#one', function() { 56 | it('should run a query returning the first row', async function() { 57 | const row = await this.db.one(q) 58 | should.equal(row.name, param) 59 | }) 60 | 61 | it('should run a query returning the first row (parameterized)', async function() { 62 | const row = await this.db.one(qParam, [param]) 63 | should.equal(row.name, param) 64 | }) 65 | 66 | it('should run a query returning the first row with a specified client', async function() { 67 | const client = await this.db.getClient() 68 | const row = await this.db.one(client, q) 69 | client.done() 70 | should.equal(row.name, param) 71 | }) 72 | 73 | it('should run a query returning the first row with a specified client (parameterized)', async function() { 74 | const client = await this.db.getClient() 75 | const row = await this.db.one(client, qParam, [param]) 76 | client.done() 77 | should.equal(row.name, param) 78 | }) 79 | }) 80 | 81 | describe('#run', function() { 82 | it('should run a query using a given sql file', async function() { 83 | const rows = await this.db.run('select') 84 | should.equal(rows[0].name, param) 85 | }) 86 | 87 | it('should run a query using a given sql file (parameterized)', async function() { 88 | const rows = await this.db.run('select-param', [param]) 89 | should.equal(rows[0].name, param) 90 | }) 91 | 92 | it('should run a query using a given sql file and client', async function() { 93 | const client = await this.db.getClient() 94 | const rows = await this.db.run(client, 'select') 95 | client.done() 96 | should.equal(rows[0].name, param) 97 | }) 98 | 99 | it('should run a query using a given sql file and client (parameterized)', async function() { 100 | const client = await this.db.getClient() 101 | const rows = await this.db.run(client, 'select-param', [param]) 102 | client.done() 103 | should.equal(rows[0].name, param) 104 | }) 105 | }) 106 | 107 | describe('#first', function() { 108 | it('should run a query returning the first row using a given sql file', async function() { 109 | const row = await this.db.first('select') 110 | should.equal(row.name, param) 111 | }) 112 | 113 | it('should run a query returning the first row using a given sql file (parameterized)', async function() { 114 | const row = await this.db.first('select-param', [param]) 115 | should.equal(row.name, param) 116 | }) 117 | 118 | it('should run a query returning the first row using a given sql file and client', async function() { 119 | const client = await this.db.getClient() 120 | const row = await this.db.first(client, 'select') 121 | client.done() 122 | should.equal(row.name, param) 123 | }) 124 | 125 | it('should run a query returning the first row using a given sql file and client (parameterized)', async function() { 126 | const client = await this.db.getClient() 127 | const row = await this.db.first(client, 'select-param', [param]) 128 | client.done() 129 | should.equal(row.name, param) 130 | }) 131 | }) 132 | 133 | describe('transactions', function() { 134 | it('should work with #query', async function() { 135 | await this.db.transaction(async (tx) => { 136 | const rows = await tx.query(q) 137 | should.equal(rows[0].name, param) 138 | }) 139 | }) 140 | 141 | it('should work with #one', async function() { 142 | await this.db.transaction(async (tx) => { 143 | const row = await tx.one(q) 144 | should.equal(row.name, param) 145 | }) 146 | }) 147 | 148 | it('should work with #run', async function() { 149 | await this.db.transaction(async (tx) => { 150 | const rows = await tx.run('select') 151 | should.equal(rows[0].name, param) 152 | }) 153 | }) 154 | 155 | it('should work with #first', async function() { 156 | await this.db.transaction(async (tx) => { 157 | const row = await tx.first('select') 158 | should.equal(row.name, param) 159 | }) 160 | }) 161 | 162 | it('should re-use the same client for multiple queries', async function() { 163 | const createTableSQL = `CREATE TABLE boo ( 164 | name TEXT NOT NULL, 165 | email TEXT NOT NULL PRIMARY KEY 166 | );` 167 | const insertSQL = `INSERT INTO boo(name, email) VALUES ('John Doe', 'test@test.com');` 168 | const selectSQL = 'SELECT * FROM boo;' 169 | 170 | await this.db.transaction(async (tx) => { 171 | // test #query 172 | await tx.query(createTableSQL) 173 | await tx.query(insertSQL) 174 | 175 | let row = null 176 | 177 | // should return a row when using the client used in the transaction 178 | // test #one 179 | row = await tx.one(selectSQL) 180 | should.equal(row.name, 'John Doe') 181 | should.equal(row.email, 'test@test.com') 182 | 183 | // should error with a client not used for the transaction 184 | try { 185 | row = await this.db.one(selectSQL) 186 | should.not.exist(row) 187 | } catch (error) { 188 | should.exist(error) 189 | should.equal(error.code, '42P01') 190 | } 191 | 192 | await tx.query('ABORT') 193 | }) 194 | }) 195 | }) 196 | 197 | describe('transactions without the #transaction helper', function() { 198 | it('should not allow clients outside of a transaction to see non-commited values', async function() { 199 | const createTableSQL = `CREATE TABLE boo ( 200 | name TEXT NOT NULL, 201 | email TEXT NOT NULL PRIMARY KEY 202 | );` 203 | const insertSQL = `INSERT INTO boo(name, email) VALUES ('John Doe', 'test@test.com');` 204 | const selectSQL = 'SELECT * FROM boo;' 205 | 206 | const client = await this.db.getClient() 207 | 208 | await this.db.query(client, 'BEGIN') 209 | await this.db.query(client, createTableSQL) 210 | await this.db.query(client, insertSQL) 211 | 212 | let row = null 213 | 214 | // should return a row when using the client used in the transaction 215 | row = await this.db.one(client, selectSQL) 216 | should.equal(row.name, 'John Doe') 217 | should.equal(row.email, 'test@test.com') 218 | 219 | // should error with a client not used for the transaction 220 | try { 221 | row = await this.db.one(selectSQL) 222 | should.not.exist(row) 223 | } catch (error) { 224 | should.exist(error) 225 | should.equal(error.code, '42P01') 226 | } 227 | 228 | await this.db.query(client, 'ABORT') 229 | client.done() 230 | }) 231 | }) 232 | }) 233 | -------------------------------------------------------------------------------- /src/util.js: -------------------------------------------------------------------------------- 1 | import querybox from 'querybox' 2 | 3 | let pg = null 4 | 5 | try { 6 | pg = require('pg') 7 | } catch(e) { 8 | try { 9 | pg = require('pg.js') 10 | } catch(e) { 11 | throw new Error("Could not require pg or pg.js - please install one or the other") 12 | } 13 | } 14 | 15 | export default function(connStr, pathToSQLFiles) { 16 | const db = { 17 | pg: pg, 18 | 19 | getClient: () => { 20 | return new Promise((resolve, reject) => { 21 | pg.connect(connStr, (error, client, done) => { 22 | client.done = done 23 | 24 | if (error) return reject(error) 25 | return resolve(client) 26 | }) 27 | }) 28 | }, 29 | 30 | query: async (client, text, vals) => { 31 | let callDone = false // if a client is passed in don't call done 32 | 33 | if (!client || typeof(client.query) !== 'function') { 34 | vals = text 35 | text = client 36 | 37 | client = await db.getClient() 38 | callDone = true 39 | } 40 | 41 | return new Promise((resolve, reject) => { 42 | client.query(text, vals, (error, result) => { 43 | if (callDone) client.done() 44 | if (error) return reject(error) 45 | return resolve(result.rows) 46 | }) 47 | }) 48 | }, 49 | 50 | one: async (client, text, vals) => { 51 | const rows = await db.query(client, text, vals) 52 | return rows[0] 53 | }, 54 | 55 | transaction: async (asyncFunc) => { 56 | const client = await db.getClient() 57 | const tx = { 58 | query: db.query.bind(null, client), 59 | one: db.one.bind(null, client) 60 | } 61 | 62 | if (pathToSQLFiles) { 63 | tx.run = db.run.bind(null, client) 64 | tx.first = db.first.bind(null, client) 65 | } 66 | 67 | try { 68 | await db.query(client, 'BEGIN') 69 | await asyncFunc(tx) 70 | await db.query(client, 'COMMIT') 71 | } catch (error) { 72 | await db.query(client, 'ABORT') 73 | throw error 74 | } finally { 75 | client.done() 76 | } 77 | } 78 | } 79 | 80 | if (!pathToSQLFiles) return db 81 | 82 | const sqlPath = pathToSQLFiles 83 | const box = querybox(sqlPath, async function(text, vals, callback) { 84 | try { 85 | rows = await db.query(text, vals) 86 | return callback(null, rows) 87 | } catch(error) { 88 | return callback(error) 89 | } 90 | }) 91 | 92 | db.run = async (client, name, vals) => { 93 | let callDone = false // if a client is passed in don't call done 94 | 95 | if (!client || typeof(client.query) !== 'function') { 96 | vals = name 97 | name = client 98 | 99 | client = await db.getClient() 100 | callDone = true 101 | } 102 | 103 | const queryFn = client.query.bind(client) 104 | 105 | return new Promise((resolve, reject) => { 106 | box._run(queryFn, name, vals, (error, result) => { 107 | if (callDone) client.done() 108 | if (error) return reject(error) 109 | return resolve(result.rows) 110 | }) 111 | }) 112 | } 113 | 114 | db.first = async (client, name, vals) => { 115 | return (await db.run(client, name, vals))[0] 116 | } 117 | 118 | return db 119 | } 120 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abbrev@1: 6 | version "1.1.1" 7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 8 | 9 | acorn@^5.2.1: 10 | version "5.2.1" 11 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" 12 | 13 | ajv@^4.9.1: 14 | version "4.11.8" 15 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 16 | dependencies: 17 | co "^4.6.0" 18 | json-stable-stringify "^1.0.1" 19 | 20 | align-text@^0.1.1, align-text@^0.1.3: 21 | version "0.1.4" 22 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 23 | dependencies: 24 | kind-of "^3.0.2" 25 | longest "^1.0.1" 26 | repeat-string "^1.5.2" 27 | 28 | alter@~0.2.0: 29 | version "0.2.0" 30 | resolved "https://registry.yarnpkg.com/alter/-/alter-0.2.0.tgz#c7588808617572034aae62480af26b1d4d1cb3cd" 31 | dependencies: 32 | stable "~0.1.3" 33 | 34 | amdefine@>=0.0.4: 35 | version "1.0.1" 36 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 37 | 38 | ansi-regex@^2.0.0: 39 | version "2.1.1" 40 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 41 | 42 | ansi-styles@^2.2.1: 43 | version "2.2.1" 44 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 45 | 46 | anymatch@^1.3.0: 47 | version "1.3.2" 48 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 49 | dependencies: 50 | micromatch "^2.1.5" 51 | normalize-path "^2.0.0" 52 | 53 | app-root-path@^1.0.0: 54 | version "1.4.0" 55 | resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-1.4.0.tgz#6335d865c9640d0fad99004e5a79232238e92dfa" 56 | 57 | aproba@^1.0.3: 58 | version "1.2.0" 59 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 60 | 61 | are-we-there-yet@~1.1.2: 62 | version "1.1.4" 63 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 64 | dependencies: 65 | delegates "^1.0.0" 66 | readable-stream "^2.0.6" 67 | 68 | arr-diff@^2.0.0: 69 | version "2.0.0" 70 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 71 | dependencies: 72 | arr-flatten "^1.0.1" 73 | 74 | arr-flatten@^1.0.1: 75 | version "1.1.0" 76 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 77 | 78 | array-unique@^0.2.1: 79 | version "0.2.1" 80 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 81 | 82 | asn1@~0.2.3: 83 | version "0.2.3" 84 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 85 | 86 | assert-plus@1.0.0, assert-plus@^1.0.0: 87 | version "1.0.0" 88 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 89 | 90 | assert-plus@^0.2.0: 91 | version "0.2.0" 92 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 93 | 94 | ast-traverse@~0.1.1: 95 | version "0.1.1" 96 | resolved "https://registry.yarnpkg.com/ast-traverse/-/ast-traverse-0.1.1.tgz#69cf2b8386f19dcda1bb1e05d68fe359d8897de6" 97 | 98 | ast-types@0.8.12: 99 | version "0.8.12" 100 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.12.tgz#a0d90e4351bb887716c83fd637ebf818af4adfcc" 101 | 102 | ast-types@0.9.6: 103 | version "0.9.6" 104 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" 105 | 106 | async-each@^1.0.0: 107 | version "1.0.1" 108 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 109 | 110 | asynckit@^0.4.0: 111 | version "0.4.0" 112 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 113 | 114 | aws-sign2@~0.6.0: 115 | version "0.6.0" 116 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 117 | 118 | aws4@^1.2.1: 119 | version "1.6.0" 120 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 121 | 122 | babel-core@^5.6.21: 123 | version "5.8.38" 124 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-5.8.38.tgz#1fcaee79d7e61b750b00b8e54f6dfc9d0af86558" 125 | dependencies: 126 | babel-plugin-constant-folding "^1.0.1" 127 | babel-plugin-dead-code-elimination "^1.0.2" 128 | babel-plugin-eval "^1.0.1" 129 | babel-plugin-inline-environment-variables "^1.0.1" 130 | babel-plugin-jscript "^1.0.4" 131 | babel-plugin-member-expression-literals "^1.0.1" 132 | babel-plugin-property-literals "^1.0.1" 133 | babel-plugin-proto-to-assign "^1.0.3" 134 | babel-plugin-react-constant-elements "^1.0.3" 135 | babel-plugin-react-display-name "^1.0.3" 136 | babel-plugin-remove-console "^1.0.1" 137 | babel-plugin-remove-debugger "^1.0.1" 138 | babel-plugin-runtime "^1.0.7" 139 | babel-plugin-undeclared-variables-check "^1.0.2" 140 | babel-plugin-undefined-to-void "^1.1.6" 141 | babylon "^5.8.38" 142 | bluebird "^2.9.33" 143 | chalk "^1.0.0" 144 | convert-source-map "^1.1.0" 145 | core-js "^1.0.0" 146 | debug "^2.1.1" 147 | detect-indent "^3.0.0" 148 | esutils "^2.0.0" 149 | fs-readdir-recursive "^0.1.0" 150 | globals "^6.4.0" 151 | home-or-tmp "^1.0.0" 152 | is-integer "^1.0.4" 153 | js-tokens "1.0.1" 154 | json5 "^0.4.0" 155 | lodash "^3.10.0" 156 | minimatch "^2.0.3" 157 | output-file-sync "^1.1.0" 158 | path-exists "^1.0.0" 159 | path-is-absolute "^1.0.0" 160 | private "^0.1.6" 161 | regenerator "0.8.40" 162 | regexpu "^1.3.0" 163 | repeating "^1.1.2" 164 | resolve "^1.1.6" 165 | shebang-regex "^1.0.0" 166 | slash "^1.0.0" 167 | source-map "^0.5.0" 168 | source-map-support "^0.2.10" 169 | to-fast-properties "^1.0.0" 170 | trim-right "^1.0.0" 171 | try-resolve "^1.0.0" 172 | 173 | babel-plugin-constant-folding@^1.0.1: 174 | version "1.0.1" 175 | resolved "https://registry.yarnpkg.com/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz#8361d364c98e449c3692bdba51eff0844290aa8e" 176 | 177 | babel-plugin-dead-code-elimination@^1.0.2: 178 | version "1.0.2" 179 | resolved "https://registry.yarnpkg.com/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz#5f7c451274dcd7cccdbfbb3e0b85dd28121f0f65" 180 | 181 | babel-plugin-eval@^1.0.1: 182 | version "1.0.1" 183 | resolved "https://registry.yarnpkg.com/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz#a2faed25ce6be69ade4bfec263f70169195950da" 184 | 185 | babel-plugin-inline-environment-variables@^1.0.1: 186 | version "1.0.1" 187 | resolved "https://registry.yarnpkg.com/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz#1f58ce91207ad6a826a8bf645fafe68ff5fe3ffe" 188 | 189 | babel-plugin-jscript@^1.0.4: 190 | version "1.0.4" 191 | resolved "https://registry.yarnpkg.com/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz#8f342c38276e87a47d5fa0a8bd3d5eb6ccad8fcc" 192 | 193 | babel-plugin-member-expression-literals@^1.0.1: 194 | version "1.0.1" 195 | resolved "https://registry.yarnpkg.com/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz#cc5edb0faa8dc927170e74d6d1c02440021624d3" 196 | 197 | babel-plugin-property-literals@^1.0.1: 198 | version "1.0.1" 199 | resolved "https://registry.yarnpkg.com/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz#0252301900192980b1c118efea48ce93aab83336" 200 | 201 | babel-plugin-proto-to-assign@^1.0.3: 202 | version "1.0.4" 203 | resolved "https://registry.yarnpkg.com/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz#c49e7afd02f577bc4da05ea2df002250cf7cd123" 204 | dependencies: 205 | lodash "^3.9.3" 206 | 207 | babel-plugin-react-constant-elements@^1.0.3: 208 | version "1.0.3" 209 | resolved "https://registry.yarnpkg.com/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz#946736e8378429cbc349dcff62f51c143b34e35a" 210 | 211 | babel-plugin-react-display-name@^1.0.3: 212 | version "1.0.3" 213 | resolved "https://registry.yarnpkg.com/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz#754fe38926e8424a4e7b15ab6ea6139dee0514fc" 214 | 215 | babel-plugin-remove-console@^1.0.1: 216 | version "1.0.1" 217 | resolved "https://registry.yarnpkg.com/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz#d8f24556c3a05005d42aaaafd27787f53ff013a7" 218 | 219 | babel-plugin-remove-debugger@^1.0.1: 220 | version "1.0.1" 221 | resolved "https://registry.yarnpkg.com/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz#fd2ea3cd61a428ad1f3b9c89882ff4293e8c14c7" 222 | 223 | babel-plugin-runtime@^1.0.7: 224 | version "1.0.7" 225 | resolved "https://registry.yarnpkg.com/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz#bf7c7d966dd56ecd5c17fa1cb253c9acb7e54aaf" 226 | 227 | babel-plugin-undeclared-variables-check@^1.0.2: 228 | version "1.0.2" 229 | resolved "https://registry.yarnpkg.com/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz#5cf1aa539d813ff64e99641290af620965f65dee" 230 | dependencies: 231 | leven "^1.0.2" 232 | 233 | babel-plugin-undefined-to-void@^1.1.6: 234 | version "1.1.6" 235 | resolved "https://registry.yarnpkg.com/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz#7f578ef8b78dfae6003385d8417a61eda06e2f81" 236 | 237 | babel-runtime@^5.8.24: 238 | version "5.8.38" 239 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-5.8.38.tgz#1c0b02eb63312f5f087ff20450827b425c9d4c19" 240 | dependencies: 241 | core-js "^1.0.0" 242 | 243 | babel@^5.8.23: 244 | version "5.8.38" 245 | resolved "https://registry.yarnpkg.com/babel/-/babel-5.8.38.tgz#dfb087c22894917c576fb67ce9cf328d458629fb" 246 | dependencies: 247 | babel-core "^5.6.21" 248 | chokidar "^1.0.0" 249 | commander "^2.6.0" 250 | convert-source-map "^1.1.0" 251 | fs-readdir-recursive "^0.1.0" 252 | glob "^5.0.5" 253 | lodash "^3.2.0" 254 | output-file-sync "^1.1.0" 255 | path-exists "^1.0.0" 256 | path-is-absolute "^1.0.0" 257 | slash "^1.0.0" 258 | source-map "^0.5.0" 259 | 260 | babylon@^5.8.38: 261 | version "5.8.38" 262 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-5.8.38.tgz#ec9b120b11bf6ccd4173a18bf217e60b79859ffd" 263 | 264 | balanced-match@^1.0.0: 265 | version "1.0.0" 266 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 267 | 268 | bcrypt-pbkdf@^1.0.0: 269 | version "1.0.1" 270 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 271 | dependencies: 272 | tweetnacl "^0.14.3" 273 | 274 | binary-extensions@^1.0.0: 275 | version "1.11.0" 276 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 277 | 278 | block-stream@*: 279 | version "0.0.9" 280 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 281 | dependencies: 282 | inherits "~2.0.0" 283 | 284 | bluebird@^2.9.33: 285 | version "2.11.0" 286 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" 287 | 288 | boom@2.x.x: 289 | version "2.10.1" 290 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 291 | dependencies: 292 | hoek "2.x.x" 293 | 294 | brace-expansion@^1.0.0, brace-expansion@^1.1.7: 295 | version "1.1.8" 296 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 297 | dependencies: 298 | balanced-match "^1.0.0" 299 | concat-map "0.0.1" 300 | 301 | braces@^1.8.2: 302 | version "1.8.5" 303 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 304 | dependencies: 305 | expand-range "^1.8.1" 306 | preserve "^0.2.0" 307 | repeat-element "^1.1.2" 308 | 309 | breakable@~1.0.0: 310 | version "1.0.0" 311 | resolved "https://registry.yarnpkg.com/breakable/-/breakable-1.0.0.tgz#784a797915a38ead27bad456b5572cb4bbaa78c1" 312 | 313 | buffer-writer@1.0.0: 314 | version "1.0.0" 315 | resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.0.tgz#6c29c3b2dea0c9e455a1f261a199a48a04f88b08" 316 | 317 | camelcase@^1.2.1: 318 | version "1.2.1" 319 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 320 | 321 | caseless@~0.12.0: 322 | version "0.12.0" 323 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 324 | 325 | center-align@^0.1.1: 326 | version "0.1.3" 327 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 328 | dependencies: 329 | align-text "^0.1.3" 330 | lazy-cache "^1.0.3" 331 | 332 | chalk@^1.0.0: 333 | version "1.1.3" 334 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 335 | dependencies: 336 | ansi-styles "^2.2.1" 337 | escape-string-regexp "^1.0.2" 338 | has-ansi "^2.0.0" 339 | strip-ansi "^3.0.0" 340 | supports-color "^2.0.0" 341 | 342 | chokidar@^1.0.0: 343 | version "1.7.0" 344 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 345 | dependencies: 346 | anymatch "^1.3.0" 347 | async-each "^1.0.0" 348 | glob-parent "^2.0.0" 349 | inherits "^2.0.1" 350 | is-binary-path "^1.0.0" 351 | is-glob "^2.0.0" 352 | path-is-absolute "^1.0.0" 353 | readdirp "^2.0.0" 354 | optionalDependencies: 355 | fsevents "^1.0.0" 356 | 357 | cliui@^2.1.0: 358 | version "2.1.0" 359 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 360 | dependencies: 361 | center-align "^0.1.1" 362 | right-align "^0.1.1" 363 | wordwrap "0.0.2" 364 | 365 | co@^4.6.0: 366 | version "4.6.0" 367 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 368 | 369 | code-point-at@^1.0.0: 370 | version "1.1.0" 371 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 372 | 373 | combined-stream@^1.0.5, combined-stream@~1.0.5: 374 | version "1.0.5" 375 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 376 | dependencies: 377 | delayed-stream "~1.0.0" 378 | 379 | commander@0.6.1: 380 | version "0.6.1" 381 | resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" 382 | 383 | commander@2.3.0: 384 | version "2.3.0" 385 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" 386 | 387 | commander@^2.5.0, commander@^2.6.0: 388 | version "2.12.2" 389 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" 390 | 391 | commoner@~0.10.3: 392 | version "0.10.8" 393 | resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.10.8.tgz#34fc3672cd24393e8bb47e70caa0293811f4f2c5" 394 | dependencies: 395 | commander "^2.5.0" 396 | detective "^4.3.1" 397 | glob "^5.0.15" 398 | graceful-fs "^4.1.2" 399 | iconv-lite "^0.4.5" 400 | mkdirp "^0.5.0" 401 | private "^0.1.6" 402 | q "^1.1.2" 403 | recast "^0.11.17" 404 | 405 | concat-map@0.0.1: 406 | version "0.0.1" 407 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 408 | 409 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 410 | version "1.1.0" 411 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 412 | 413 | convert-source-map@^1.1.0: 414 | version "1.5.1" 415 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 416 | 417 | core-js@^1.0.0: 418 | version "1.2.7" 419 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" 420 | 421 | core-util-is@1.0.2, core-util-is@~1.0.0: 422 | version "1.0.2" 423 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 424 | 425 | cryptiles@2.x.x: 426 | version "2.0.5" 427 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 428 | dependencies: 429 | boom "2.x.x" 430 | 431 | dashdash@^1.12.0: 432 | version "1.14.1" 433 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 434 | dependencies: 435 | assert-plus "^1.0.0" 436 | 437 | debug@2.2.0, debug@^2.1.1, debug@^2.2.0: 438 | version "2.2.0" 439 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 440 | dependencies: 441 | ms "0.7.1" 442 | 443 | decamelize@^1.0.0: 444 | version "1.2.0" 445 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 446 | 447 | deep-extend@~0.4.0: 448 | version "0.4.2" 449 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 450 | 451 | defined@^1.0.0: 452 | version "1.0.0" 453 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 454 | 455 | defs@~1.1.0: 456 | version "1.1.1" 457 | resolved "https://registry.yarnpkg.com/defs/-/defs-1.1.1.tgz#b22609f2c7a11ba7a3db116805c139b1caffa9d2" 458 | dependencies: 459 | alter "~0.2.0" 460 | ast-traverse "~0.1.1" 461 | breakable "~1.0.0" 462 | esprima-fb "~15001.1001.0-dev-harmony-fb" 463 | simple-fmt "~0.1.0" 464 | simple-is "~0.2.0" 465 | stringmap "~0.2.2" 466 | stringset "~0.2.1" 467 | tryor "~0.1.2" 468 | yargs "~3.27.0" 469 | 470 | delayed-stream@~1.0.0: 471 | version "1.0.0" 472 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 473 | 474 | delegates@^1.0.0: 475 | version "1.0.0" 476 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 477 | 478 | detect-indent@^3.0.0: 479 | version "3.0.1" 480 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-3.0.1.tgz#9dc5e5ddbceef8325764b9451b02bc6d54084f75" 481 | dependencies: 482 | get-stdin "^4.0.1" 483 | minimist "^1.1.0" 484 | repeating "^1.1.0" 485 | 486 | detect-libc@^1.0.2: 487 | version "1.0.3" 488 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 489 | 490 | detective@^4.3.1: 491 | version "4.7.0" 492 | resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.0.tgz#6276e150f9e50829ad1f90ace4d9a2304188afcf" 493 | dependencies: 494 | acorn "^5.2.1" 495 | defined "^1.0.0" 496 | 497 | diff@1.4.0: 498 | version "1.4.0" 499 | resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" 500 | 501 | ecc-jsbn@~0.1.1: 502 | version "0.1.1" 503 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 504 | dependencies: 505 | jsbn "~0.1.0" 506 | 507 | escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: 508 | version "1.0.2" 509 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" 510 | 511 | esprima-fb@~15001.1001.0-dev-harmony-fb: 512 | version "15001.1001.0-dev-harmony-fb" 513 | resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659" 514 | 515 | esprima@^2.6.0: 516 | version "2.7.3" 517 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 518 | 519 | esprima@~3.1.0: 520 | version "3.1.3" 521 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" 522 | 523 | esutils@^2.0.0: 524 | version "2.0.2" 525 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 526 | 527 | expand-brackets@^0.1.4: 528 | version "0.1.5" 529 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 530 | dependencies: 531 | is-posix-bracket "^0.1.0" 532 | 533 | expand-range@^1.8.1: 534 | version "1.8.2" 535 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 536 | dependencies: 537 | fill-range "^2.1.0" 538 | 539 | extend@~3.0.0: 540 | version "3.0.2" 541 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 542 | 543 | extglob@^0.3.1: 544 | version "0.3.2" 545 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 546 | dependencies: 547 | is-extglob "^1.0.0" 548 | 549 | extsprintf@1.3.0, extsprintf@^1.2.0: 550 | version "1.3.0" 551 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 552 | 553 | filename-regex@^2.0.0: 554 | version "2.0.1" 555 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 556 | 557 | fill-range@^2.1.0: 558 | version "2.2.3" 559 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 560 | dependencies: 561 | is-number "^2.1.0" 562 | isobject "^2.0.0" 563 | randomatic "^1.1.3" 564 | repeat-element "^1.1.2" 565 | repeat-string "^1.5.2" 566 | 567 | for-in@^1.0.1: 568 | version "1.0.2" 569 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 570 | 571 | for-own@^0.1.4: 572 | version "0.1.5" 573 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 574 | dependencies: 575 | for-in "^1.0.1" 576 | 577 | forever-agent@~0.6.1: 578 | version "0.6.1" 579 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 580 | 581 | form-data@~2.1.1: 582 | version "2.1.4" 583 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 584 | dependencies: 585 | asynckit "^0.4.0" 586 | combined-stream "^1.0.5" 587 | mime-types "^2.1.12" 588 | 589 | fs-readdir-recursive@^0.1.0: 590 | version "0.1.2" 591 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz#315b4fb8c1ca5b8c47defef319d073dad3568059" 592 | 593 | fs.realpath@^1.0.0: 594 | version "1.0.0" 595 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 596 | 597 | fsevents@^1.0.0: 598 | version "1.1.3" 599 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" 600 | dependencies: 601 | nan "^2.3.0" 602 | node-pre-gyp "^0.6.39" 603 | 604 | fstream-ignore@^1.0.5: 605 | version "1.0.5" 606 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 607 | dependencies: 608 | fstream "^1.0.0" 609 | inherits "2" 610 | minimatch "^3.0.0" 611 | 612 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 613 | version "1.0.11" 614 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 615 | dependencies: 616 | graceful-fs "^4.1.2" 617 | inherits "~2.0.0" 618 | mkdirp ">=0.5 0" 619 | rimraf "2" 620 | 621 | gauge@~2.7.3: 622 | version "2.7.4" 623 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 624 | dependencies: 625 | aproba "^1.0.3" 626 | console-control-strings "^1.0.0" 627 | has-unicode "^2.0.0" 628 | object-assign "^4.1.0" 629 | signal-exit "^3.0.0" 630 | string-width "^1.0.1" 631 | strip-ansi "^3.0.1" 632 | wide-align "^1.1.0" 633 | 634 | generic-pool@2.1.1: 635 | version "2.1.1" 636 | resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.1.1.tgz#af04dc2c325cfcb975023fa52bfce9617a7435fd" 637 | 638 | get-stdin@^4.0.1: 639 | version "4.0.1" 640 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 641 | 642 | getpass@^0.1.1: 643 | version "0.1.7" 644 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 645 | dependencies: 646 | assert-plus "^1.0.0" 647 | 648 | glob-base@^0.3.0: 649 | version "0.3.0" 650 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 651 | dependencies: 652 | glob-parent "^2.0.0" 653 | is-glob "^2.0.0" 654 | 655 | glob-parent@^2.0.0: 656 | version "2.0.0" 657 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 658 | dependencies: 659 | is-glob "^2.0.0" 660 | 661 | glob@3.2.11, glob@~3.2.8: 662 | version "3.2.11" 663 | resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" 664 | dependencies: 665 | inherits "2" 666 | minimatch "0.3" 667 | 668 | glob@^5.0.15, glob@^5.0.5: 669 | version "5.0.15" 670 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 671 | dependencies: 672 | inflight "^1.0.4" 673 | inherits "2" 674 | minimatch "2 || 3" 675 | once "^1.3.0" 676 | path-is-absolute "^1.0.0" 677 | 678 | glob@^7.0.5: 679 | version "7.1.2" 680 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 681 | dependencies: 682 | fs.realpath "^1.0.0" 683 | inflight "^1.0.4" 684 | inherits "2" 685 | minimatch "^3.0.4" 686 | once "^1.3.0" 687 | path-is-absolute "^1.0.0" 688 | 689 | globals@^6.4.0: 690 | version "6.4.1" 691 | resolved "https://registry.yarnpkg.com/globals/-/globals-6.4.1.tgz#8498032b3b6d1cc81eebc5f79690d8fe29fabf4f" 692 | 693 | graceful-fs@^4.1.2, graceful-fs@^4.1.4: 694 | version "4.1.11" 695 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 696 | 697 | growl@1.9.2: 698 | version "1.9.2" 699 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 700 | 701 | har-schema@^1.0.5: 702 | version "1.0.5" 703 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 704 | 705 | har-validator@~4.2.1: 706 | version "4.2.1" 707 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 708 | dependencies: 709 | ajv "^4.9.1" 710 | har-schema "^1.0.5" 711 | 712 | has-ansi@^2.0.0: 713 | version "2.0.0" 714 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 715 | dependencies: 716 | ansi-regex "^2.0.0" 717 | 718 | has-unicode@^2.0.0: 719 | version "2.0.1" 720 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 721 | 722 | hawk@3.1.3, hawk@~3.1.3: 723 | version "3.1.3" 724 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 725 | dependencies: 726 | boom "2.x.x" 727 | cryptiles "2.x.x" 728 | hoek "2.x.x" 729 | sntp "1.x.x" 730 | 731 | hoek@2.x.x: 732 | version "2.16.3" 733 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 734 | 735 | home-or-tmp@^1.0.0: 736 | version "1.0.0" 737 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-1.0.0.tgz#4b9f1e40800c3e50c6c27f781676afcce71f3985" 738 | dependencies: 739 | os-tmpdir "^1.0.1" 740 | user-home "^1.1.1" 741 | 742 | http-signature@~1.1.0: 743 | version "1.1.1" 744 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 745 | dependencies: 746 | assert-plus "^0.2.0" 747 | jsprim "^1.2.2" 748 | sshpk "^1.7.0" 749 | 750 | iconv-lite@^0.4.5: 751 | version "0.4.19" 752 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 753 | 754 | inflight@^1.0.4: 755 | version "1.0.6" 756 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 757 | dependencies: 758 | once "^1.3.0" 759 | wrappy "1" 760 | 761 | inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: 762 | version "2.0.3" 763 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 764 | 765 | ini@~1.3.0: 766 | version "1.3.5" 767 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 768 | 769 | invert-kv@^1.0.0: 770 | version "1.0.0" 771 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 772 | 773 | is-binary-path@^1.0.0: 774 | version "1.0.1" 775 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 776 | dependencies: 777 | binary-extensions "^1.0.0" 778 | 779 | is-buffer@^1.1.5: 780 | version "1.1.6" 781 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 782 | 783 | is-dotfile@^1.0.0: 784 | version "1.0.3" 785 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 786 | 787 | is-equal-shallow@^0.1.3: 788 | version "0.1.3" 789 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 790 | dependencies: 791 | is-primitive "^2.0.0" 792 | 793 | is-extendable@^0.1.1: 794 | version "0.1.1" 795 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 796 | 797 | is-extglob@^1.0.0: 798 | version "1.0.0" 799 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 800 | 801 | is-finite@^1.0.0: 802 | version "1.0.2" 803 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 804 | dependencies: 805 | number-is-nan "^1.0.0" 806 | 807 | is-fullwidth-code-point@^1.0.0: 808 | version "1.0.0" 809 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 810 | dependencies: 811 | number-is-nan "^1.0.0" 812 | 813 | is-glob@^2.0.0, is-glob@^2.0.1: 814 | version "2.0.1" 815 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 816 | dependencies: 817 | is-extglob "^1.0.0" 818 | 819 | is-integer@^1.0.4: 820 | version "1.0.7" 821 | resolved "https://registry.yarnpkg.com/is-integer/-/is-integer-1.0.7.tgz#6bde81aacddf78b659b6629d629cadc51a886d5c" 822 | dependencies: 823 | is-finite "^1.0.0" 824 | 825 | is-number@^2.1.0: 826 | version "2.1.0" 827 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 828 | dependencies: 829 | kind-of "^3.0.2" 830 | 831 | is-number@^3.0.0: 832 | version "3.0.0" 833 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 834 | dependencies: 835 | kind-of "^3.0.2" 836 | 837 | is-posix-bracket@^0.1.0: 838 | version "0.1.1" 839 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 840 | 841 | is-primitive@^2.0.0: 842 | version "2.0.0" 843 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 844 | 845 | is-typedarray@~1.0.0: 846 | version "1.0.0" 847 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 848 | 849 | isarray@1.0.0, isarray@~1.0.0: 850 | version "1.0.0" 851 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 852 | 853 | isobject@^2.0.0: 854 | version "2.1.0" 855 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 856 | dependencies: 857 | isarray "1.0.0" 858 | 859 | isstream@~0.1.2: 860 | version "0.1.2" 861 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 862 | 863 | jade@0.26.3: 864 | version "0.26.3" 865 | resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" 866 | dependencies: 867 | commander "0.6.1" 868 | mkdirp "0.3.0" 869 | 870 | js-tokens@1.0.1: 871 | version "1.0.1" 872 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.1.tgz#cc435a5c8b94ad15acb7983140fc80182c89aeae" 873 | 874 | jsbn@~0.1.0: 875 | version "0.1.1" 876 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 877 | 878 | jsesc@~0.5.0: 879 | version "0.5.0" 880 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 881 | 882 | json-schema@0.2.3: 883 | version "0.2.3" 884 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 885 | 886 | json-stable-stringify@^1.0.1: 887 | version "1.0.1" 888 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 889 | dependencies: 890 | jsonify "~0.0.0" 891 | 892 | json-stringify-safe@~5.0.1: 893 | version "5.0.1" 894 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 895 | 896 | json5@^0.4.0: 897 | version "0.4.0" 898 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" 899 | 900 | jsonify@~0.0.0: 901 | version "0.0.0" 902 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 903 | 904 | jsprim@^1.2.2: 905 | version "1.4.1" 906 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 907 | dependencies: 908 | assert-plus "1.0.0" 909 | extsprintf "1.3.0" 910 | json-schema "0.2.3" 911 | verror "1.10.0" 912 | 913 | kind-of@^3.0.2: 914 | version "3.2.2" 915 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 916 | dependencies: 917 | is-buffer "^1.1.5" 918 | 919 | kind-of@^4.0.0: 920 | version "4.0.0" 921 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 922 | dependencies: 923 | is-buffer "^1.1.5" 924 | 925 | lazy-cache@^1.0.3: 926 | version "1.0.4" 927 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 928 | 929 | lcid@^1.0.0: 930 | version "1.0.0" 931 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 932 | dependencies: 933 | invert-kv "^1.0.0" 934 | 935 | leven@^1.0.2: 936 | version "1.0.2" 937 | resolved "https://registry.yarnpkg.com/leven/-/leven-1.0.2.tgz#9144b6eebca5f1d0680169f1a6770dcea60b75c3" 938 | 939 | lodash@^3.10.0, lodash@^3.2.0, lodash@^3.9.3: 940 | version "3.10.1" 941 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" 942 | 943 | longest@^1.0.1: 944 | version "1.0.1" 945 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 946 | 947 | lru-cache@2: 948 | version "2.7.3" 949 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" 950 | 951 | micromatch@^2.1.5: 952 | version "2.3.11" 953 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 954 | dependencies: 955 | arr-diff "^2.0.0" 956 | array-unique "^0.2.1" 957 | braces "^1.8.2" 958 | expand-brackets "^0.1.4" 959 | extglob "^0.3.1" 960 | filename-regex "^2.0.0" 961 | is-extglob "^1.0.0" 962 | is-glob "^2.0.1" 963 | kind-of "^3.0.2" 964 | normalize-path "^2.0.1" 965 | object.omit "^2.0.0" 966 | parse-glob "^3.0.4" 967 | regex-cache "^0.4.2" 968 | 969 | mime-db@~1.30.0: 970 | version "1.30.0" 971 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 972 | 973 | mime-types@^2.1.12, mime-types@~2.1.7: 974 | version "2.1.17" 975 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 976 | dependencies: 977 | mime-db "~1.30.0" 978 | 979 | minimatch@0.3: 980 | version "0.3.0" 981 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" 982 | dependencies: 983 | lru-cache "2" 984 | sigmund "~1.0.0" 985 | 986 | "minimatch@2 || 3", minimatch@^2.0.3: 987 | version "2.0.10" 988 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" 989 | dependencies: 990 | brace-expansion "^1.0.0" 991 | 992 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 993 | version "3.0.4" 994 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 995 | dependencies: 996 | brace-expansion "^1.1.7" 997 | 998 | minimist@0.0.8: 999 | version "0.0.8" 1000 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1001 | 1002 | minimist@^1.1.0, minimist@^1.2.0: 1003 | version "1.2.0" 1004 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1005 | 1006 | mkdirp@0.3.0: 1007 | version "0.3.0" 1008 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" 1009 | 1010 | mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: 1011 | version "0.5.1" 1012 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1013 | dependencies: 1014 | minimist "0.0.8" 1015 | 1016 | mocha@^2.3.2: 1017 | version "2.5.3" 1018 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" 1019 | dependencies: 1020 | commander "2.3.0" 1021 | debug "2.2.0" 1022 | diff "1.4.0" 1023 | escape-string-regexp "1.0.2" 1024 | glob "3.2.11" 1025 | growl "1.9.2" 1026 | jade "0.26.3" 1027 | mkdirp "0.5.1" 1028 | supports-color "1.2.0" 1029 | to-iso-string "0.0.2" 1030 | 1031 | ms@0.7.1: 1032 | version "0.7.1" 1033 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 1034 | 1035 | nan@^2.3.0: 1036 | version "2.8.0" 1037 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" 1038 | 1039 | node-pre-gyp@^0.6.39: 1040 | version "0.6.39" 1041 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 1042 | dependencies: 1043 | detect-libc "^1.0.2" 1044 | hawk "3.1.3" 1045 | mkdirp "^0.5.1" 1046 | nopt "^4.0.1" 1047 | npmlog "^4.0.2" 1048 | rc "^1.1.7" 1049 | request "2.81.0" 1050 | rimraf "^2.6.1" 1051 | semver "^5.3.0" 1052 | tar "^2.2.1" 1053 | tar-pack "^3.4.0" 1054 | 1055 | nopt@^4.0.1: 1056 | version "4.0.1" 1057 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 1058 | dependencies: 1059 | abbrev "1" 1060 | osenv "^0.1.4" 1061 | 1062 | normalize-path@^2.0.0, normalize-path@^2.0.1: 1063 | version "2.1.1" 1064 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 1065 | dependencies: 1066 | remove-trailing-separator "^1.0.1" 1067 | 1068 | npmlog@^4.0.2: 1069 | version "4.1.2" 1070 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 1071 | dependencies: 1072 | are-we-there-yet "~1.1.2" 1073 | console-control-strings "~1.1.0" 1074 | gauge "~2.7.3" 1075 | set-blocking "~2.0.0" 1076 | 1077 | number-is-nan@^1.0.0: 1078 | version "1.0.1" 1079 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1080 | 1081 | oauth-sign@~0.8.1: 1082 | version "0.8.2" 1083 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1084 | 1085 | object-assign@^4.1.0: 1086 | version "4.1.1" 1087 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1088 | 1089 | object.omit@^2.0.0: 1090 | version "2.0.1" 1091 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1092 | dependencies: 1093 | for-own "^0.1.4" 1094 | is-extendable "^0.1.1" 1095 | 1096 | once@^1.3.0, once@^1.3.3: 1097 | version "1.4.0" 1098 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1099 | dependencies: 1100 | wrappy "1" 1101 | 1102 | os-homedir@^1.0.0: 1103 | version "1.0.2" 1104 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1105 | 1106 | os-locale@^1.4.0: 1107 | version "1.4.0" 1108 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 1109 | dependencies: 1110 | lcid "^1.0.0" 1111 | 1112 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: 1113 | version "1.0.2" 1114 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1115 | 1116 | osenv@^0.1.4: 1117 | version "0.1.4" 1118 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 1119 | dependencies: 1120 | os-homedir "^1.0.0" 1121 | os-tmpdir "^1.0.0" 1122 | 1123 | output-file-sync@^1.1.0: 1124 | version "1.1.2" 1125 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" 1126 | dependencies: 1127 | graceful-fs "^4.1.4" 1128 | mkdirp "^0.5.1" 1129 | object-assign "^4.1.0" 1130 | 1131 | packet-reader@0.2.0: 1132 | version "0.2.0" 1133 | resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.2.0.tgz#819df4d010b82d5ea5671f8a1a3acf039bcd7700" 1134 | 1135 | parse-glob@^3.0.4: 1136 | version "3.0.4" 1137 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1138 | dependencies: 1139 | glob-base "^0.3.0" 1140 | is-dotfile "^1.0.0" 1141 | is-extglob "^1.0.0" 1142 | is-glob "^2.0.0" 1143 | 1144 | path-exists@^1.0.0: 1145 | version "1.0.0" 1146 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" 1147 | 1148 | path-is-absolute@^1.0.0: 1149 | version "1.0.1" 1150 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1151 | 1152 | path-parse@^1.0.5: 1153 | version "1.0.5" 1154 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 1155 | 1156 | performance-now@^0.2.0: 1157 | version "0.2.0" 1158 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 1159 | 1160 | pg-connection-string@0.1.3: 1161 | version "0.1.3" 1162 | resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" 1163 | 1164 | pg-types@1.6.0: 1165 | version "1.6.0" 1166 | resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.6.0.tgz#3872a0f199143025497f4ee2a65fdaf00d7ea8b3" 1167 | 1168 | pg.js@^4.1.1: 1169 | version "4.1.1" 1170 | resolved "https://registry.yarnpkg.com/pg.js/-/pg.js-4.1.1.tgz#654033ae706b31d44be1443883b2a5f9aae9cfc4" 1171 | dependencies: 1172 | buffer-writer "1.0.0" 1173 | generic-pool "2.1.1" 1174 | packet-reader "0.2.0" 1175 | pg-connection-string "0.1.3" 1176 | pg-types "1.6.0" 1177 | pgpass "0.0.3" 1178 | 1179 | pgpass@0.0.3: 1180 | version "0.0.3" 1181 | resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-0.0.3.tgz#12e67e343b3189c2f31206ebc9cc0befffcf9140" 1182 | dependencies: 1183 | split "~0.3" 1184 | 1185 | preserve@^0.2.0: 1186 | version "0.2.0" 1187 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1188 | 1189 | private@^0.1.6, private@~0.1.5: 1190 | version "0.1.8" 1191 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 1192 | 1193 | process-nextick-args@~1.0.6: 1194 | version "1.0.7" 1195 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1196 | 1197 | punycode@^1.4.1: 1198 | version "1.4.1" 1199 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1200 | 1201 | q@^1.1.2: 1202 | version "1.5.1" 1203 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" 1204 | 1205 | qs@~6.4.0: 1206 | version "6.4.0" 1207 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 1208 | 1209 | querybox@lalitkapoor/node-querybox#v1.0.0: 1210 | version "1.0.0" 1211 | resolved "https://codeload.github.com/lalitkapoor/node-querybox/tar.gz/3f738b35ad12e02c61a66673670a40df02f57ea3" 1212 | dependencies: 1213 | glob "~3.2.8" 1214 | 1215 | randomatic@^1.1.3: 1216 | version "1.1.7" 1217 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 1218 | dependencies: 1219 | is-number "^3.0.0" 1220 | kind-of "^4.0.0" 1221 | 1222 | rc@^1.1.7: 1223 | version "1.2.2" 1224 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" 1225 | dependencies: 1226 | deep-extend "~0.4.0" 1227 | ini "~1.3.0" 1228 | minimist "^1.2.0" 1229 | strip-json-comments "~2.0.1" 1230 | 1231 | readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: 1232 | version "2.3.3" 1233 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 1234 | dependencies: 1235 | core-util-is "~1.0.0" 1236 | inherits "~2.0.3" 1237 | isarray "~1.0.0" 1238 | process-nextick-args "~1.0.6" 1239 | safe-buffer "~5.1.1" 1240 | string_decoder "~1.0.3" 1241 | util-deprecate "~1.0.1" 1242 | 1243 | readdirp@^2.0.0: 1244 | version "2.1.0" 1245 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 1246 | dependencies: 1247 | graceful-fs "^4.1.2" 1248 | minimatch "^3.0.2" 1249 | readable-stream "^2.0.2" 1250 | set-immediate-shim "^1.0.1" 1251 | 1252 | recast@0.10.33, recast@^0.10.10: 1253 | version "0.10.33" 1254 | resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.33.tgz#942808f7aa016f1fa7142c461d7e5704aaa8d697" 1255 | dependencies: 1256 | ast-types "0.8.12" 1257 | esprima-fb "~15001.1001.0-dev-harmony-fb" 1258 | private "~0.1.5" 1259 | source-map "~0.5.0" 1260 | 1261 | recast@^0.11.17: 1262 | version "0.11.23" 1263 | resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" 1264 | dependencies: 1265 | ast-types "0.9.6" 1266 | esprima "~3.1.0" 1267 | private "~0.1.5" 1268 | source-map "~0.5.0" 1269 | 1270 | regenerate@^1.2.1: 1271 | version "1.3.3" 1272 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" 1273 | 1274 | regenerator@0.8.40: 1275 | version "0.8.40" 1276 | resolved "https://registry.yarnpkg.com/regenerator/-/regenerator-0.8.40.tgz#a0e457c58ebdbae575c9f8cd75127e93756435d8" 1277 | dependencies: 1278 | commoner "~0.10.3" 1279 | defs "~1.1.0" 1280 | esprima-fb "~15001.1001.0-dev-harmony-fb" 1281 | private "~0.1.5" 1282 | recast "0.10.33" 1283 | through "~2.3.8" 1284 | 1285 | regex-cache@^0.4.2: 1286 | version "0.4.4" 1287 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 1288 | dependencies: 1289 | is-equal-shallow "^0.1.3" 1290 | 1291 | regexpu@^1.3.0: 1292 | version "1.3.0" 1293 | resolved "https://registry.yarnpkg.com/regexpu/-/regexpu-1.3.0.tgz#e534dc991a9e5846050c98de6d7dd4a55c9ea16d" 1294 | dependencies: 1295 | esprima "^2.6.0" 1296 | recast "^0.10.10" 1297 | regenerate "^1.2.1" 1298 | regjsgen "^0.2.0" 1299 | regjsparser "^0.1.4" 1300 | 1301 | regjsgen@^0.2.0: 1302 | version "0.2.0" 1303 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 1304 | 1305 | regjsparser@^0.1.4: 1306 | version "0.1.5" 1307 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 1308 | dependencies: 1309 | jsesc "~0.5.0" 1310 | 1311 | remove-trailing-separator@^1.0.1: 1312 | version "1.1.0" 1313 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 1314 | 1315 | repeat-element@^1.1.2: 1316 | version "1.1.2" 1317 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 1318 | 1319 | repeat-string@^1.5.2: 1320 | version "1.6.1" 1321 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1322 | 1323 | repeating@^1.1.0, repeating@^1.1.2: 1324 | version "1.1.3" 1325 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac" 1326 | dependencies: 1327 | is-finite "^1.0.0" 1328 | 1329 | request@2.81.0: 1330 | version "2.81.0" 1331 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 1332 | dependencies: 1333 | aws-sign2 "~0.6.0" 1334 | aws4 "^1.2.1" 1335 | caseless "~0.12.0" 1336 | combined-stream "~1.0.5" 1337 | extend "~3.0.0" 1338 | forever-agent "~0.6.1" 1339 | form-data "~2.1.1" 1340 | har-validator "~4.2.1" 1341 | hawk "~3.1.3" 1342 | http-signature "~1.1.0" 1343 | is-typedarray "~1.0.0" 1344 | isstream "~0.1.2" 1345 | json-stringify-safe "~5.0.1" 1346 | mime-types "~2.1.7" 1347 | oauth-sign "~0.8.1" 1348 | performance-now "^0.2.0" 1349 | qs "~6.4.0" 1350 | safe-buffer "^5.0.1" 1351 | stringstream "~0.0.4" 1352 | tough-cookie "~2.3.0" 1353 | tunnel-agent "^0.6.0" 1354 | uuid "^3.0.0" 1355 | 1356 | resolve@^1.1.6: 1357 | version "1.5.0" 1358 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" 1359 | dependencies: 1360 | path-parse "^1.0.5" 1361 | 1362 | right-align@^0.1.1: 1363 | version "0.1.3" 1364 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 1365 | dependencies: 1366 | align-text "^0.1.1" 1367 | 1368 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 1369 | version "2.6.2" 1370 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 1371 | dependencies: 1372 | glob "^7.0.5" 1373 | 1374 | safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1375 | version "5.1.1" 1376 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 1377 | 1378 | semver@^5.3.0: 1379 | version "5.4.1" 1380 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 1381 | 1382 | set-blocking@~2.0.0: 1383 | version "2.0.0" 1384 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1385 | 1386 | set-immediate-shim@^1.0.1: 1387 | version "1.0.1" 1388 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 1389 | 1390 | shebang-regex@^1.0.0: 1391 | version "1.0.0" 1392 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1393 | 1394 | should-equal@0.5.0: 1395 | version "0.5.0" 1396 | resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-0.5.0.tgz#c797f135f3067feb69ebecdb306b1c3fe21b3e6f" 1397 | dependencies: 1398 | should-type "0.2.0" 1399 | 1400 | should-format@0.3.1: 1401 | version "0.3.1" 1402 | resolved "https://registry.yarnpkg.com/should-format/-/should-format-0.3.1.tgz#2cbb782461670ace4292b2b1ec468db8cf99e330" 1403 | dependencies: 1404 | should-type "0.2.0" 1405 | 1406 | should-type@0.2.0: 1407 | version "0.2.0" 1408 | resolved "https://registry.yarnpkg.com/should-type/-/should-type-0.2.0.tgz#6707ef95529d989dcc098fe0753ab1f9136bb7f6" 1409 | 1410 | should@^7.1.0: 1411 | version "7.1.1" 1412 | resolved "https://registry.yarnpkg.com/should/-/should-7.1.1.tgz#6464c48b6f7c1e1f18ac0483578fa2dd55c2c6e0" 1413 | dependencies: 1414 | should-equal "0.5.0" 1415 | should-format "0.3.1" 1416 | should-type "0.2.0" 1417 | 1418 | sigmund@~1.0.0: 1419 | version "1.0.1" 1420 | resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" 1421 | 1422 | signal-exit@^3.0.0: 1423 | version "3.0.2" 1424 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1425 | 1426 | simple-fmt@~0.1.0: 1427 | version "0.1.0" 1428 | resolved "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz#191bf566a59e6530482cb25ab53b4a8dc85c3a6b" 1429 | 1430 | simple-is@~0.2.0: 1431 | version "0.2.0" 1432 | resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0" 1433 | 1434 | slash@^1.0.0: 1435 | version "1.0.0" 1436 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 1437 | 1438 | sntp@1.x.x: 1439 | version "1.0.9" 1440 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 1441 | dependencies: 1442 | hoek "2.x.x" 1443 | 1444 | source-map-support@^0.2.10: 1445 | version "0.2.10" 1446 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc" 1447 | dependencies: 1448 | source-map "0.1.32" 1449 | 1450 | source-map@0.1.32: 1451 | version "0.1.32" 1452 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" 1453 | dependencies: 1454 | amdefine ">=0.0.4" 1455 | 1456 | source-map@^0.5.0, source-map@~0.5.0: 1457 | version "0.5.7" 1458 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1459 | 1460 | split@~0.3: 1461 | version "0.3.3" 1462 | resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" 1463 | dependencies: 1464 | through "2" 1465 | 1466 | sshpk@^1.7.0: 1467 | version "1.13.1" 1468 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 1469 | dependencies: 1470 | asn1 "~0.2.3" 1471 | assert-plus "^1.0.0" 1472 | dashdash "^1.12.0" 1473 | getpass "^0.1.1" 1474 | optionalDependencies: 1475 | bcrypt-pbkdf "^1.0.0" 1476 | ecc-jsbn "~0.1.1" 1477 | jsbn "~0.1.0" 1478 | tweetnacl "~0.14.0" 1479 | 1480 | stable@~0.1.3: 1481 | version "0.1.6" 1482 | resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.6.tgz#910f5d2aed7b520c6e777499c1f32e139fdecb10" 1483 | 1484 | string-width@^1.0.1, string-width@^1.0.2: 1485 | version "1.0.2" 1486 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1487 | dependencies: 1488 | code-point-at "^1.0.0" 1489 | is-fullwidth-code-point "^1.0.0" 1490 | strip-ansi "^3.0.0" 1491 | 1492 | string_decoder@~1.0.3: 1493 | version "1.0.3" 1494 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 1495 | dependencies: 1496 | safe-buffer "~5.1.0" 1497 | 1498 | stringmap@~0.2.2: 1499 | version "0.2.2" 1500 | resolved "https://registry.yarnpkg.com/stringmap/-/stringmap-0.2.2.tgz#556c137b258f942b8776f5b2ef582aa069d7d1b1" 1501 | 1502 | stringset@~0.2.1: 1503 | version "0.2.1" 1504 | resolved "https://registry.yarnpkg.com/stringset/-/stringset-0.2.1.tgz#ef259c4e349344377fcd1c913dd2e848c9c042b5" 1505 | 1506 | stringstream@~0.0.4: 1507 | version "0.0.5" 1508 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 1509 | 1510 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1511 | version "3.0.1" 1512 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1513 | dependencies: 1514 | ansi-regex "^2.0.0" 1515 | 1516 | strip-json-comments@~2.0.1: 1517 | version "2.0.1" 1518 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1519 | 1520 | supports-color@1.2.0: 1521 | version "1.2.0" 1522 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" 1523 | 1524 | supports-color@^2.0.0: 1525 | version "2.0.0" 1526 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1527 | 1528 | tar-pack@^3.4.0: 1529 | version "3.4.1" 1530 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 1531 | dependencies: 1532 | debug "^2.2.0" 1533 | fstream "^1.0.10" 1534 | fstream-ignore "^1.0.5" 1535 | once "^1.3.3" 1536 | readable-stream "^2.1.4" 1537 | rimraf "^2.5.1" 1538 | tar "^2.2.1" 1539 | uid-number "^0.0.6" 1540 | 1541 | tar@^2.2.1: 1542 | version "2.2.1" 1543 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 1544 | dependencies: 1545 | block-stream "*" 1546 | fstream "^1.0.2" 1547 | inherits "2" 1548 | 1549 | through@2, through@~2.3.8: 1550 | version "2.3.8" 1551 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1552 | 1553 | to-fast-properties@^1.0.0: 1554 | version "1.0.3" 1555 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 1556 | 1557 | to-iso-string@0.0.2: 1558 | version "0.0.2" 1559 | resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" 1560 | 1561 | tough-cookie@~2.3.0: 1562 | version "2.3.3" 1563 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 1564 | dependencies: 1565 | punycode "^1.4.1" 1566 | 1567 | trim-right@^1.0.0: 1568 | version "1.0.1" 1569 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1570 | 1571 | try-resolve@^1.0.0: 1572 | version "1.0.1" 1573 | resolved "https://registry.yarnpkg.com/try-resolve/-/try-resolve-1.0.1.tgz#cfde6fabd72d63e5797cfaab873abbe8e700e912" 1574 | 1575 | tryor@~0.1.2: 1576 | version "0.1.2" 1577 | resolved "https://registry.yarnpkg.com/tryor/-/tryor-0.1.2.tgz#8145e4ca7caff40acde3ccf946e8b8bb75b4172b" 1578 | 1579 | tunnel-agent@^0.6.0: 1580 | version "0.6.0" 1581 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1582 | dependencies: 1583 | safe-buffer "^5.0.1" 1584 | 1585 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1586 | version "0.14.5" 1587 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1588 | 1589 | uid-number@^0.0.6: 1590 | version "0.0.6" 1591 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 1592 | 1593 | user-home@^1.1.1: 1594 | version "1.1.1" 1595 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 1596 | 1597 | util-deprecate@~1.0.1: 1598 | version "1.0.2" 1599 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1600 | 1601 | uuid@^3.0.0: 1602 | version "3.1.0" 1603 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 1604 | 1605 | verror@1.10.0: 1606 | version "1.10.0" 1607 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1608 | dependencies: 1609 | assert-plus "^1.0.0" 1610 | core-util-is "1.0.2" 1611 | extsprintf "^1.2.0" 1612 | 1613 | wide-align@^1.1.0: 1614 | version "1.1.2" 1615 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 1616 | dependencies: 1617 | string-width "^1.0.2" 1618 | 1619 | window-size@^0.1.2: 1620 | version "0.1.4" 1621 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" 1622 | 1623 | wordwrap@0.0.2: 1624 | version "0.0.2" 1625 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 1626 | 1627 | wrappy@1: 1628 | version "1.0.2" 1629 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1630 | 1631 | y18n@^3.2.0: 1632 | version "3.2.2" 1633 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" 1634 | 1635 | yargs@~3.27.0: 1636 | version "3.27.0" 1637 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.27.0.tgz#21205469316e939131d59f2da0c6d7f98221ea40" 1638 | dependencies: 1639 | camelcase "^1.2.1" 1640 | cliui "^2.1.0" 1641 | decamelize "^1.0.0" 1642 | os-locale "^1.4.0" 1643 | window-size "^0.1.2" 1644 | y18n "^3.2.0" 1645 | --------------------------------------------------------------------------------