├── .gitignore ├── .eslintrc ├── .travis.yml ├── src └── geojson2postgis.js ├── package.json ├── README.md ├── LICENSE.md ├── test └── test.js ├── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "airbnb-base", 3 | "plugins": [ 4 | "import" 5 | ], 6 | "env": { 7 | "es6": true, 8 | "node": true 9 | }, 10 | "rules": { 11 | "comma-dangle": ["error", "never"] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "8" 5 | 6 | services: 7 | - postgresql 8 | 9 | addons: 10 | postgresql: 9.6 11 | apt: 12 | packages: 13 | - postgresql-9.6-postgis-2.3 14 | 15 | before_script: 16 | - psql -U postgres -c 'create database test;' 17 | - psql -d test -U postgres -c 'create extension postgis;' -------------------------------------------------------------------------------- /src/geojson2postgis.js: -------------------------------------------------------------------------------- 1 | function geojson2postgis(db, tableName, geojson) { 2 | const features = geojson.features.map(function getRow(feature) { 3 | return { 4 | geom: db.raw(`st_setsrid(st_geomfromgeojson('${JSON.stringify(feature.geometry)}'), 4326)`), 5 | properties: feature.properties 6 | }; 7 | }); 8 | 9 | return db.schema.createTableIfNotExists(tableName, function (table) { 10 | table.jsonb('properties').defaultTo('{}'); 11 | table.specificType('geom', 'geometry(GEOMETRY, 4326)').notNullable(); 12 | }).then(function () { 13 | return db(tableName).insert(features); 14 | }); 15 | } 16 | 17 | module.exports = geojson2postgis; 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "geojson2postgis", 3 | "version": "1.0.0", 4 | "description": "Insert GeoJSON features into PostGIS database", 5 | "main": "src/geojson2postgis.js", 6 | "author": "Stepan Kuzmin (stepankuzmin.ru)", 7 | "license": "MIT", 8 | "homepage": "https://github.com/stepankuzmin/geojson2postgis#readme", 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/stepankuzmin/geojson2postgis.git" 12 | }, 13 | "bugs": { 14 | "url": "https://github.com/stepankuzmin/geojson2postgis/issues" 15 | }, 16 | "scripts": { 17 | "test": "node test/test.js" 18 | }, 19 | "bin": { 20 | "geojson2postgis": "./index.js" 21 | }, 22 | "dependencies": { 23 | "knex": "0.19.5", 24 | "minimist": "1.2.2", 25 | "pg": "7.8.0" 26 | }, 27 | "devDependencies": { 28 | "tape": "4.9.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # geojson2postgis 2 | 3 | [![Build Status](https://travis-ci.org/stepankuzmin/geojson2postgis.svg?branch=master)](https://travis-ci.org/stepankuzmin/geojson2postgis) 4 | [![Greenkeeper badge](https://badges.greenkeeper.io/stepankuzmin/geojson2postgis.svg)](https://greenkeeper.io/) 5 | 6 | Insert GeoJSON features into PostGIS database 7 | 8 | ## Installation 9 | 10 | ``` 11 | npm install geojson2postgis 12 | ``` 13 | 14 | ...or build from source 15 | 16 | ```shell 17 | git clone https://github.com/stepankuzmin/geojson2postgis.git 18 | cd geojson2postgis 19 | npm install 20 | ``` 21 | 22 | ## Usage 23 | 24 | ```shell 25 | Usage: geojson2postgis [filename] [options] 26 | 27 | where [filename] is path to GeoJSON data and [options] is any of: 28 | --database - database 29 | --host - database host (default: localhost) 30 | --port - database port (default: 5432) 31 | --user - database user (default: postgres) 32 | --password - database user password 33 | --version - returns running version then exits 34 | ``` 35 | 36 | ``` 37 | geojson2postgis --database moria --user gandalf --password mellon map.geojson 38 | ```` 39 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Stepan Kuzmin 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. -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const test = require('tape'); 3 | const Knex = require('knex'); 4 | const geojson2postgis = require('../src/geojson2postgis.js'); 5 | 6 | const db = Knex({ 7 | debug: false, 8 | client: 'postgresql', 9 | connection: { 10 | database: 'test', 11 | user: 'postgres' 12 | }, 13 | pool: { 14 | min: 2, 15 | max: 10 16 | } 17 | }); 18 | 19 | const geojson = { 20 | type: 'FeatureCollection', 21 | features: [ 22 | { 23 | type: 'Feature', 24 | properties: { name: 'Moscow' }, 25 | geometry: { type: 'Point', coordinates: [37.617778, 55.755833] } 26 | }, 27 | { 28 | type: 'Feature', 29 | properties: { name: 'Yekaterinburg' }, 30 | geometry: { type: 'Point', coordinates: [60.583333, 56.833333,] } 31 | } 32 | ] 33 | }; 34 | 35 | test('geojson2postgis', (t) => { 36 | t.plan(2); 37 | 38 | geojson2postgis(db, 'test', geojson).then(function (result) { 39 | t.ok(result); 40 | 41 | db('test').select( 42 | 'properties', 43 | db.raw('st_asgeojson(geom) as geometry') 44 | ).then(function(rows) { 45 | const features = rows.map(row => ({ 46 | type: 'Feature', 47 | properties: row.properties, 48 | geometry: JSON.parse(row.geometry) 49 | })); 50 | 51 | t.deepEqual(features, geojson.features); 52 | t.end(); 53 | return db.destroy(); 54 | }); 55 | }).catch(function(error) { 56 | console.error('Error:', error) 57 | t.error(error); 58 | t.end(); 59 | }); 60 | }); 61 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const fs = require('fs'); 4 | const path = require('path'); 5 | const Knex = require('knex'); 6 | const minimist = require('minimist'); 7 | const packagejson = require('./package.json'); 8 | const geojson2postgis = require('./src/geojson2postgis.js'); 9 | 10 | const config = minimist(process.argv.slice(2), { 11 | string: [ 12 | 'database', 13 | 'host', 14 | 'port', 15 | 'user', 16 | 'password' 17 | ], 18 | alias: { 19 | h: 'help', 20 | d: 'database', 21 | h: 'host', 22 | p: 'port', 23 | u: 'user', 24 | P: 'password' 25 | }, 26 | default: { 27 | host: 'localhost', 28 | port: 5432, 29 | user: 'postgres' 30 | } 31 | }); 32 | 33 | if (config.version) { 34 | console.log(packagejson.version); 35 | process.exit(0); 36 | }; 37 | 38 | if (config.help) { 39 | var usage = [ 40 | '' 41 | , ' Usage: geojson2postgis [filename] [options]' 42 | , '' 43 | , ' where [filename] is path to GeoJSON data and [options] is any of:' 44 | , ' --database - database' 45 | , ' --host - database host (default: ' + config.host + ')' 46 | , ' --port - database port (default: ' + config.port + ')' 47 | , ' --user - database user (default: ' + config.user + ')' 48 | , ' --password - database user password' 49 | , ' --version - returns running version then exits' 50 | , '' 51 | , 'geojson2postgis@' + packagejson.version 52 | , 'node@' + process.versions.node 53 | ].join('\n') 54 | console.log(usage); 55 | process.exit(0); 56 | }; 57 | 58 | const fileName = config['_'][0]; 59 | 60 | if (!fileName) { 61 | console.error('Error: No input GeoJSON file specified'); 62 | process.exit(-1); 63 | }; 64 | 65 | const db = Knex({ 66 | debug: false, 67 | client: 'postgresql', 68 | connection: { 69 | database: config.database, 70 | host: config.host, 71 | port: config.port, 72 | user: config.user, 73 | password: config.password 74 | }, 75 | pool: { 76 | min: 2, 77 | max: 10 78 | } 79 | }); 80 | 81 | const tableName = path.parse(fileName).name; 82 | const geojson = JSON.parse(fs.readFileSync(fileName)); 83 | 84 | geojson2postgis(db, tableName, geojson).then(function (result) { 85 | console.log(`${result.rowCount} rows inserted`); 86 | return db.destroy(); 87 | }).catch(function(error) { 88 | console.error('Error:', error) 89 | }); 90 | 91 | module.exports = geojson2postgis; 92 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | arr-diff@^4.0.0: 6 | version "4.0.0" 7 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 8 | 9 | arr-flatten@^1.1.0: 10 | version "1.1.0" 11 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 12 | 13 | arr-union@^3.1.0: 14 | version "3.1.0" 15 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 16 | 17 | array-each@^1.0.1: 18 | version "1.0.1" 19 | resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" 20 | 21 | array-slice@^1.0.0: 22 | version "1.1.0" 23 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" 24 | 25 | array-unique@^0.3.2: 26 | version "0.3.2" 27 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 28 | 29 | assign-symbols@^1.0.0: 30 | version "1.0.0" 31 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 32 | 33 | atob@^2.1.1: 34 | version "2.1.2" 35 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 36 | 37 | balanced-match@^1.0.0: 38 | version "1.0.0" 39 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 40 | 41 | base@^0.11.1: 42 | version "0.11.2" 43 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 44 | dependencies: 45 | cache-base "^1.0.1" 46 | class-utils "^0.3.5" 47 | component-emitter "^1.2.1" 48 | define-property "^1.0.0" 49 | isobject "^3.0.1" 50 | mixin-deep "^1.2.0" 51 | pascalcase "^0.1.1" 52 | 53 | bluebird@^3.7.0: 54 | version "3.7.1" 55 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" 56 | 57 | brace-expansion@^1.1.7: 58 | version "1.1.8" 59 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 60 | dependencies: 61 | balanced-match "^1.0.0" 62 | concat-map "0.0.1" 63 | 64 | braces@^2.3.1: 65 | version "2.3.2" 66 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 67 | dependencies: 68 | arr-flatten "^1.1.0" 69 | array-unique "^0.3.2" 70 | extend-shallow "^2.0.1" 71 | fill-range "^4.0.0" 72 | isobject "^3.0.1" 73 | repeat-element "^1.1.2" 74 | snapdragon "^0.8.1" 75 | snapdragon-node "^2.0.1" 76 | split-string "^3.0.2" 77 | to-regex "^3.0.1" 78 | 79 | buffer-writer@2.0.0: 80 | version "2.0.0" 81 | resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" 82 | 83 | cache-base@^1.0.1: 84 | version "1.0.1" 85 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 86 | dependencies: 87 | collection-visit "^1.0.0" 88 | component-emitter "^1.2.1" 89 | get-value "^2.0.6" 90 | has-value "^1.0.0" 91 | isobject "^3.0.1" 92 | set-value "^2.0.0" 93 | to-object-path "^0.3.0" 94 | union-value "^1.0.0" 95 | unset-value "^1.0.0" 96 | 97 | class-utils@^0.3.5: 98 | version "0.3.6" 99 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 100 | dependencies: 101 | arr-union "^3.1.0" 102 | define-property "^0.2.5" 103 | isobject "^3.0.0" 104 | static-extend "^0.1.1" 105 | 106 | collection-visit@^1.0.0: 107 | version "1.0.0" 108 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 109 | dependencies: 110 | map-visit "^1.0.0" 111 | object-visit "^1.0.0" 112 | 113 | colorette@1.1.0: 114 | version "1.1.0" 115 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7" 116 | 117 | commander@^3.0.2: 118 | version "3.0.2" 119 | resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" 120 | 121 | component-emitter@^1.2.1: 122 | version "1.2.1" 123 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 124 | 125 | concat-map@0.0.1: 126 | version "0.0.1" 127 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 128 | 129 | copy-descriptor@^0.1.0: 130 | version "0.1.1" 131 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 132 | 133 | debug@4.1.1: 134 | version "4.1.1" 135 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 136 | dependencies: 137 | ms "^2.1.1" 138 | 139 | debug@^2.2.0, debug@^2.3.3: 140 | version "2.6.9" 141 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 142 | dependencies: 143 | ms "2.0.0" 144 | 145 | decode-uri-component@^0.2.0: 146 | version "0.2.0" 147 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 148 | 149 | deep-equal@~1.0.1: 150 | version "1.0.1" 151 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 152 | 153 | define-properties@^1.1.2: 154 | version "1.1.2" 155 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 156 | dependencies: 157 | foreach "^2.0.5" 158 | object-keys "^1.0.8" 159 | 160 | define-property@^0.2.5: 161 | version "0.2.5" 162 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 163 | dependencies: 164 | is-descriptor "^0.1.0" 165 | 166 | define-property@^1.0.0: 167 | version "1.0.0" 168 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 169 | dependencies: 170 | is-descriptor "^1.0.0" 171 | 172 | define-property@^2.0.2: 173 | version "2.0.2" 174 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 175 | dependencies: 176 | is-descriptor "^1.0.2" 177 | isobject "^3.0.1" 178 | 179 | defined@~1.0.0: 180 | version "1.0.0" 181 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 182 | 183 | detect-file@^1.0.0: 184 | version "1.0.0" 185 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" 186 | 187 | es-abstract@^1.5.0: 188 | version "1.6.1" 189 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.6.1.tgz#bb8a2064120abcf928a086ea3d9043114285ec99" 190 | dependencies: 191 | es-to-primitive "^1.1.1" 192 | function-bind "^1.1.0" 193 | is-callable "^1.1.3" 194 | is-regex "^1.0.3" 195 | 196 | es-to-primitive@^1.1.1: 197 | version "1.1.1" 198 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 199 | dependencies: 200 | is-callable "^1.1.1" 201 | is-date-object "^1.0.1" 202 | is-symbol "^1.0.1" 203 | 204 | expand-brackets@^2.1.4: 205 | version "2.1.4" 206 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 207 | dependencies: 208 | debug "^2.3.3" 209 | define-property "^0.2.5" 210 | extend-shallow "^2.0.1" 211 | posix-character-classes "^0.1.0" 212 | regex-not "^1.0.0" 213 | snapdragon "^0.8.1" 214 | to-regex "^3.0.1" 215 | 216 | expand-tilde@^2.0.0, expand-tilde@^2.0.2: 217 | version "2.0.2" 218 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" 219 | dependencies: 220 | homedir-polyfill "^1.0.1" 221 | 222 | extend-shallow@^2.0.1: 223 | version "2.0.1" 224 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 225 | dependencies: 226 | is-extendable "^0.1.0" 227 | 228 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 229 | version "3.0.2" 230 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 231 | dependencies: 232 | assign-symbols "^1.0.0" 233 | is-extendable "^1.0.1" 234 | 235 | extend@^3.0.0: 236 | version "3.0.2" 237 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 238 | 239 | extglob@^2.0.4: 240 | version "2.0.4" 241 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 242 | dependencies: 243 | array-unique "^0.3.2" 244 | define-property "^1.0.0" 245 | expand-brackets "^2.1.4" 246 | extend-shallow "^2.0.1" 247 | fragment-cache "^0.2.1" 248 | regex-not "^1.0.0" 249 | snapdragon "^0.8.1" 250 | to-regex "^3.0.1" 251 | 252 | fill-range@^4.0.0: 253 | version "4.0.0" 254 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 255 | dependencies: 256 | extend-shallow "^2.0.1" 257 | is-number "^3.0.0" 258 | repeat-string "^1.6.1" 259 | to-regex-range "^2.1.0" 260 | 261 | findup-sync@^3.0.0: 262 | version "3.0.0" 263 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" 264 | dependencies: 265 | detect-file "^1.0.0" 266 | is-glob "^4.0.0" 267 | micromatch "^3.0.4" 268 | resolve-dir "^1.0.1" 269 | 270 | fined@^1.0.1: 271 | version "1.1.0" 272 | resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" 273 | dependencies: 274 | expand-tilde "^2.0.2" 275 | is-plain-object "^2.0.3" 276 | object.defaults "^1.1.0" 277 | object.pick "^1.2.0" 278 | parse-filepath "^1.0.1" 279 | 280 | flagged-respawn@^1.0.0: 281 | version "1.0.0" 282 | resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" 283 | 284 | for-each@~0.3.3: 285 | version "0.3.3" 286 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 287 | dependencies: 288 | is-callable "^1.1.3" 289 | 290 | for-in@^1.0.1, for-in@^1.0.2: 291 | version "1.0.2" 292 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 293 | 294 | for-own@^1.0.0: 295 | version "1.0.0" 296 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" 297 | dependencies: 298 | for-in "^1.0.1" 299 | 300 | foreach@^2.0.5: 301 | version "2.0.5" 302 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 303 | 304 | fragment-cache@^0.2.1: 305 | version "0.2.1" 306 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 307 | dependencies: 308 | map-cache "^0.2.2" 309 | 310 | fs.realpath@^1.0.0: 311 | version "1.0.0" 312 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 313 | 314 | function-bind@^1.0.2, function-bind@^1.1.0: 315 | version "1.1.0" 316 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" 317 | 318 | function-bind@^1.1.1, function-bind@~1.1.1: 319 | version "1.1.1" 320 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 321 | 322 | get-value@^2.0.3, get-value@^2.0.6: 323 | version "2.0.6" 324 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 325 | 326 | getopts@2.2.5: 327 | version "2.2.5" 328 | resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" 329 | 330 | glob@~7.1.2: 331 | version "7.1.2" 332 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 333 | dependencies: 334 | fs.realpath "^1.0.0" 335 | inflight "^1.0.4" 336 | inherits "2" 337 | minimatch "^3.0.4" 338 | once "^1.3.0" 339 | path-is-absolute "^1.0.0" 340 | 341 | global-modules@^1.0.0: 342 | version "1.0.0" 343 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" 344 | dependencies: 345 | global-prefix "^1.0.1" 346 | is-windows "^1.0.1" 347 | resolve-dir "^1.0.0" 348 | 349 | global-prefix@^1.0.1: 350 | version "1.0.2" 351 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" 352 | dependencies: 353 | expand-tilde "^2.0.2" 354 | homedir-polyfill "^1.0.1" 355 | ini "^1.3.4" 356 | is-windows "^1.0.1" 357 | which "^1.2.14" 358 | 359 | has-value@^0.3.1: 360 | version "0.3.1" 361 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 362 | dependencies: 363 | get-value "^2.0.3" 364 | has-values "^0.1.4" 365 | isobject "^2.0.0" 366 | 367 | has-value@^1.0.0: 368 | version "1.0.0" 369 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 370 | dependencies: 371 | get-value "^2.0.6" 372 | has-values "^1.0.0" 373 | isobject "^3.0.0" 374 | 375 | has-values@^0.1.4: 376 | version "0.1.4" 377 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 378 | 379 | has-values@^1.0.0: 380 | version "1.0.0" 381 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 382 | dependencies: 383 | is-number "^3.0.0" 384 | kind-of "^4.0.0" 385 | 386 | has@~1.0.3: 387 | version "1.0.3" 388 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 389 | dependencies: 390 | function-bind "^1.1.1" 391 | 392 | homedir-polyfill@^1.0.1: 393 | version "1.0.1" 394 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" 395 | dependencies: 396 | parse-passwd "^1.0.0" 397 | 398 | inflight@^1.0.4: 399 | version "1.0.6" 400 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 401 | dependencies: 402 | once "^1.3.0" 403 | wrappy "1" 404 | 405 | inherits@2, inherits@~2.0.3, inherits@~2.0.4: 406 | version "2.0.4" 407 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 408 | 409 | ini@^1.3.4: 410 | version "1.3.4" 411 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 412 | 413 | interpret@^1.2.0: 414 | version "1.2.0" 415 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" 416 | 417 | is-absolute@^1.0.0: 418 | version "1.0.0" 419 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 420 | dependencies: 421 | is-relative "^1.0.0" 422 | is-windows "^1.0.1" 423 | 424 | is-accessor-descriptor@^0.1.6: 425 | version "0.1.6" 426 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 427 | dependencies: 428 | kind-of "^3.0.2" 429 | 430 | is-accessor-descriptor@^1.0.0: 431 | version "1.0.0" 432 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 433 | dependencies: 434 | kind-of "^6.0.0" 435 | 436 | is-buffer@^1.0.2: 437 | version "1.1.4" 438 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 439 | 440 | is-buffer@^1.1.5: 441 | version "1.1.6" 442 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 443 | 444 | is-callable@^1.1.1, is-callable@^1.1.3: 445 | version "1.1.3" 446 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" 447 | 448 | is-data-descriptor@^0.1.4: 449 | version "0.1.4" 450 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 451 | dependencies: 452 | kind-of "^3.0.2" 453 | 454 | is-data-descriptor@^1.0.0: 455 | version "1.0.0" 456 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 457 | dependencies: 458 | kind-of "^6.0.0" 459 | 460 | is-date-object@^1.0.1: 461 | version "1.0.1" 462 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 463 | 464 | is-descriptor@^0.1.0: 465 | version "0.1.6" 466 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 467 | dependencies: 468 | is-accessor-descriptor "^0.1.6" 469 | is-data-descriptor "^0.1.4" 470 | kind-of "^5.0.0" 471 | 472 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 473 | version "1.0.2" 474 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 475 | dependencies: 476 | is-accessor-descriptor "^1.0.0" 477 | is-data-descriptor "^1.0.0" 478 | kind-of "^6.0.2" 479 | 480 | is-extendable@^0.1.0, is-extendable@^0.1.1: 481 | version "0.1.1" 482 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 483 | 484 | is-extendable@^1.0.1: 485 | version "1.0.1" 486 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 487 | dependencies: 488 | is-plain-object "^2.0.4" 489 | 490 | is-extglob@^2.1.1: 491 | version "2.1.1" 492 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 493 | 494 | is-glob@^4.0.0: 495 | version "4.0.1" 496 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 497 | dependencies: 498 | is-extglob "^2.1.1" 499 | 500 | is-number@^3.0.0: 501 | version "3.0.0" 502 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 503 | dependencies: 504 | kind-of "^3.0.2" 505 | 506 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 507 | version "2.0.4" 508 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 509 | dependencies: 510 | isobject "^3.0.1" 511 | 512 | is-regex@^1.0.3: 513 | version "1.0.3" 514 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637" 515 | 516 | is-relative@^1.0.0: 517 | version "1.0.0" 518 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 519 | dependencies: 520 | is-unc-path "^1.0.0" 521 | 522 | is-symbol@^1.0.1: 523 | version "1.0.1" 524 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 525 | 526 | is-unc-path@^1.0.0: 527 | version "1.0.0" 528 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 529 | dependencies: 530 | unc-path-regex "^0.1.2" 531 | 532 | is-windows@^1.0.1, is-windows@^1.0.2: 533 | version "1.0.2" 534 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 535 | 536 | isarray@1.0.0: 537 | version "1.0.0" 538 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 539 | 540 | isexe@^2.0.0: 541 | version "2.0.0" 542 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 543 | 544 | isobject@^2.0.0: 545 | version "2.1.0" 546 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 547 | dependencies: 548 | isarray "1.0.0" 549 | 550 | isobject@^3.0.0, isobject@^3.0.1: 551 | version "3.0.1" 552 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 553 | 554 | kind-of@^3.0.2: 555 | version "3.1.0" 556 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" 557 | dependencies: 558 | is-buffer "^1.0.2" 559 | 560 | kind-of@^3.0.3, kind-of@^3.2.0: 561 | version "3.2.2" 562 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 563 | dependencies: 564 | is-buffer "^1.1.5" 565 | 566 | kind-of@^4.0.0: 567 | version "4.0.0" 568 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 569 | dependencies: 570 | is-buffer "^1.1.5" 571 | 572 | kind-of@^5.0.0: 573 | version "5.1.0" 574 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 575 | 576 | kind-of@^6.0.0, kind-of@^6.0.2: 577 | version "6.0.2" 578 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 579 | 580 | knex@0.19.5: 581 | version "0.19.5" 582 | resolved "https://registry.yarnpkg.com/knex/-/knex-0.19.5.tgz#3597ebecf88a5942f18c3e6d91af53bda59eeb5d" 583 | dependencies: 584 | bluebird "^3.7.0" 585 | colorette "1.1.0" 586 | commander "^3.0.2" 587 | debug "4.1.1" 588 | getopts "2.2.5" 589 | inherits "~2.0.4" 590 | interpret "^1.2.0" 591 | liftoff "3.1.0" 592 | lodash "^4.17.15" 593 | mkdirp "^0.5.1" 594 | pg-connection-string "2.1.0" 595 | tarn "^2.0.0" 596 | tildify "2.0.0" 597 | uuid "^3.3.3" 598 | v8flags "^3.1.3" 599 | 600 | liftoff@3.1.0: 601 | version "3.1.0" 602 | resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" 603 | dependencies: 604 | extend "^3.0.0" 605 | findup-sync "^3.0.0" 606 | fined "^1.0.1" 607 | flagged-respawn "^1.0.0" 608 | is-plain-object "^2.0.4" 609 | object.map "^1.0.0" 610 | rechoir "^0.6.2" 611 | resolve "^1.1.7" 612 | 613 | lodash@^4.17.15: 614 | version "4.17.15" 615 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 616 | 617 | make-iterator@^1.0.0: 618 | version "1.0.1" 619 | resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" 620 | dependencies: 621 | kind-of "^6.0.2" 622 | 623 | map-cache@^0.2.0, map-cache@^0.2.2: 624 | version "0.2.2" 625 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 626 | 627 | map-visit@^1.0.0: 628 | version "1.0.0" 629 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 630 | dependencies: 631 | object-visit "^1.0.0" 632 | 633 | micromatch@^3.0.4: 634 | version "3.1.10" 635 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 636 | dependencies: 637 | arr-diff "^4.0.0" 638 | array-unique "^0.3.2" 639 | braces "^2.3.1" 640 | define-property "^2.0.2" 641 | extend-shallow "^3.0.2" 642 | extglob "^2.0.4" 643 | fragment-cache "^0.2.1" 644 | kind-of "^6.0.2" 645 | nanomatch "^1.2.9" 646 | object.pick "^1.3.0" 647 | regex-not "^1.0.0" 648 | snapdragon "^0.8.1" 649 | to-regex "^3.0.2" 650 | 651 | minimatch@^3.0.4: 652 | version "3.0.4" 653 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 654 | dependencies: 655 | brace-expansion "^1.1.7" 656 | 657 | minimist@0.0.8: 658 | version "0.0.8" 659 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 660 | 661 | minimist@1.2.2, minimist@~1.2.0: 662 | version "1.2.2" 663 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.2.tgz#b00a00230a1108c48c169e69a291aafda3aacd63" 664 | 665 | mixin-deep@^1.2.0: 666 | version "1.3.2" 667 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 668 | dependencies: 669 | for-in "^1.0.2" 670 | is-extendable "^1.0.1" 671 | 672 | mkdirp@^0.5.1: 673 | version "0.5.1" 674 | resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 675 | dependencies: 676 | minimist "0.0.8" 677 | 678 | ms@2.0.0: 679 | version "2.0.0" 680 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 681 | 682 | ms@^2.1.1: 683 | version "2.1.1" 684 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 685 | 686 | nanomatch@^1.2.9: 687 | version "1.2.13" 688 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 689 | dependencies: 690 | arr-diff "^4.0.0" 691 | array-unique "^0.3.2" 692 | define-property "^2.0.2" 693 | extend-shallow "^3.0.2" 694 | fragment-cache "^0.2.1" 695 | is-windows "^1.0.2" 696 | kind-of "^6.0.2" 697 | object.pick "^1.3.0" 698 | regex-not "^1.0.0" 699 | snapdragon "^0.8.1" 700 | to-regex "^3.0.1" 701 | 702 | object-copy@^0.1.0: 703 | version "0.1.0" 704 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 705 | dependencies: 706 | copy-descriptor "^0.1.0" 707 | define-property "^0.2.5" 708 | kind-of "^3.0.3" 709 | 710 | object-inspect@~1.6.0: 711 | version "1.6.0" 712 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" 713 | 714 | object-keys@^1.0.8: 715 | version "1.0.11" 716 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" 717 | 718 | object-visit@^1.0.0: 719 | version "1.0.1" 720 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 721 | dependencies: 722 | isobject "^3.0.0" 723 | 724 | object.defaults@^1.1.0: 725 | version "1.1.0" 726 | resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" 727 | dependencies: 728 | array-each "^1.0.1" 729 | array-slice "^1.0.0" 730 | for-own "^1.0.0" 731 | isobject "^3.0.0" 732 | 733 | object.map@^1.0.0: 734 | version "1.0.1" 735 | resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" 736 | dependencies: 737 | for-own "^1.0.0" 738 | make-iterator "^1.0.0" 739 | 740 | object.pick@^1.2.0, object.pick@^1.3.0: 741 | version "1.3.0" 742 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 743 | dependencies: 744 | isobject "^3.0.1" 745 | 746 | once@^1.3.0: 747 | version "1.4.0" 748 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 749 | dependencies: 750 | wrappy "1" 751 | 752 | packet-reader@0.3.1: 753 | version "0.3.1" 754 | resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz#cd62e60af8d7fea8a705ec4ff990871c46871f27" 755 | 756 | parse-filepath@^1.0.1: 757 | version "1.0.2" 758 | resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" 759 | dependencies: 760 | is-absolute "^1.0.0" 761 | map-cache "^0.2.0" 762 | path-root "^0.1.1" 763 | 764 | parse-passwd@^1.0.0: 765 | version "1.0.0" 766 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 767 | 768 | pascalcase@^0.1.1: 769 | version "0.1.1" 770 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 771 | 772 | path-is-absolute@^1.0.0: 773 | version "1.0.1" 774 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 775 | 776 | path-parse@^1.0.5: 777 | version "1.0.7" 778 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 779 | 780 | path-root-regex@^0.1.0: 781 | version "0.1.2" 782 | resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" 783 | 784 | path-root@^0.1.1: 785 | version "0.1.1" 786 | resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" 787 | dependencies: 788 | path-root-regex "^0.1.0" 789 | 790 | pg-connection-string@0.1.3: 791 | version "0.1.3" 792 | resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" 793 | 794 | pg-connection-string@2.1.0: 795 | version "2.1.0" 796 | resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.1.0.tgz#e07258f280476540b24818ebb5dca29e101ca502" 797 | 798 | pg-int8@1.0.1: 799 | version "1.0.1" 800 | resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" 801 | 802 | pg-pool@^2.0.4: 803 | version "2.0.4" 804 | resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.4.tgz#05ad0f2d9437d89c94ccc4f4d0a44ac65ade865b" 805 | 806 | pg-types@~2.0.0: 807 | version "2.0.1" 808 | resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.0.1.tgz#b8585a37f2a9c7b386747e44574799549e5f4933" 809 | dependencies: 810 | pg-int8 "1.0.1" 811 | postgres-array "~2.0.0" 812 | postgres-bytea "~1.0.0" 813 | postgres-date "~1.0.4" 814 | postgres-interval "^1.1.0" 815 | 816 | pg@7.8.0: 817 | version "7.8.0" 818 | resolved "https://registry.yarnpkg.com/pg/-/pg-7.8.0.tgz#541c25b3323d85f67ce7d4501a77470976868ce9" 819 | dependencies: 820 | buffer-writer "2.0.0" 821 | packet-reader "0.3.1" 822 | pg-connection-string "0.1.3" 823 | pg-pool "^2.0.4" 824 | pg-types "~2.0.0" 825 | pgpass "1.x" 826 | semver "4.3.2" 827 | 828 | pgpass@1.x: 829 | version "1.0.1" 830 | resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.1.tgz#0de8b5bef993295d90a7e17d976f568dcd25d49f" 831 | dependencies: 832 | split "^1.0.0" 833 | 834 | posix-character-classes@^0.1.0: 835 | version "0.1.1" 836 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 837 | 838 | postgres-array@~2.0.0: 839 | version "2.0.0" 840 | resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" 841 | 842 | postgres-bytea@~1.0.0: 843 | version "1.0.0" 844 | resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" 845 | 846 | postgres-date@~1.0.4: 847 | version "1.0.4" 848 | resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.4.tgz#1c2728d62ef1bff49abdd35c1f86d4bdf118a728" 849 | 850 | postgres-interval@^1.1.0: 851 | version "1.1.2" 852 | resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz#bf71ff902635f21cb241a013fc421d81d1db15a9" 853 | dependencies: 854 | xtend "^4.0.0" 855 | 856 | rechoir@^0.6.2: 857 | version "0.6.2" 858 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 859 | dependencies: 860 | resolve "^1.1.6" 861 | 862 | regex-not@^1.0.0, regex-not@^1.0.2: 863 | version "1.0.2" 864 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 865 | dependencies: 866 | extend-shallow "^3.0.2" 867 | safe-regex "^1.1.0" 868 | 869 | repeat-element@^1.1.2: 870 | version "1.1.2" 871 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 872 | 873 | repeat-string@^1.6.1: 874 | version "1.6.1" 875 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 876 | 877 | resolve-dir@^1.0.0, resolve-dir@^1.0.1: 878 | version "1.0.1" 879 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" 880 | dependencies: 881 | expand-tilde "^2.0.0" 882 | global-modules "^1.0.0" 883 | 884 | resolve-url@^0.2.1: 885 | version "0.2.1" 886 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 887 | 888 | resolve@^1.1.6, resolve@^1.1.7: 889 | version "1.1.7" 890 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 891 | 892 | resolve@~1.7.1: 893 | version "1.7.1" 894 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" 895 | dependencies: 896 | path-parse "^1.0.5" 897 | 898 | resumer@~0.0.0: 899 | version "0.0.0" 900 | resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" 901 | dependencies: 902 | through "~2.3.4" 903 | 904 | ret@~0.1.10: 905 | version "0.1.15" 906 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 907 | 908 | safe-regex@^1.1.0: 909 | version "1.1.0" 910 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 911 | dependencies: 912 | ret "~0.1.10" 913 | 914 | semver@4.3.2: 915 | version "4.3.2" 916 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7" 917 | 918 | set-value@^0.4.3: 919 | version "0.4.3" 920 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 921 | dependencies: 922 | extend-shallow "^2.0.1" 923 | is-extendable "^0.1.1" 924 | is-plain-object "^2.0.1" 925 | to-object-path "^0.3.0" 926 | 927 | set-value@^2.0.0: 928 | version "2.0.0" 929 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 930 | dependencies: 931 | extend-shallow "^2.0.1" 932 | is-extendable "^0.1.1" 933 | is-plain-object "^2.0.3" 934 | split-string "^3.0.1" 935 | 936 | snapdragon-node@^2.0.1: 937 | version "2.1.1" 938 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 939 | dependencies: 940 | define-property "^1.0.0" 941 | isobject "^3.0.0" 942 | snapdragon-util "^3.0.1" 943 | 944 | snapdragon-util@^3.0.1: 945 | version "3.0.1" 946 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 947 | dependencies: 948 | kind-of "^3.2.0" 949 | 950 | snapdragon@^0.8.1: 951 | version "0.8.2" 952 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 953 | dependencies: 954 | base "^0.11.1" 955 | debug "^2.2.0" 956 | define-property "^0.2.5" 957 | extend-shallow "^2.0.1" 958 | map-cache "^0.2.2" 959 | source-map "^0.5.6" 960 | source-map-resolve "^0.5.0" 961 | use "^3.1.0" 962 | 963 | source-map-resolve@^0.5.0: 964 | version "0.5.2" 965 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 966 | dependencies: 967 | atob "^2.1.1" 968 | decode-uri-component "^0.2.0" 969 | resolve-url "^0.2.1" 970 | source-map-url "^0.4.0" 971 | urix "^0.1.0" 972 | 973 | source-map-url@^0.4.0: 974 | version "0.4.0" 975 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 976 | 977 | source-map@^0.5.6: 978 | version "0.5.7" 979 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 980 | 981 | split-string@^3.0.1, split-string@^3.0.2: 982 | version "3.1.0" 983 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 984 | dependencies: 985 | extend-shallow "^3.0.0" 986 | 987 | split@^1.0.0: 988 | version "1.0.0" 989 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" 990 | dependencies: 991 | through "2" 992 | 993 | static-extend@^0.1.1: 994 | version "0.1.2" 995 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 996 | dependencies: 997 | define-property "^0.2.5" 998 | object-copy "^0.1.0" 999 | 1000 | string.prototype.trim@~1.1.2: 1001 | version "1.1.2" 1002 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" 1003 | dependencies: 1004 | define-properties "^1.1.2" 1005 | es-abstract "^1.5.0" 1006 | function-bind "^1.0.2" 1007 | 1008 | tape@4.9.1: 1009 | version "4.9.1" 1010 | resolved "https://registry.yarnpkg.com/tape/-/tape-4.9.1.tgz#1173d7337e040c76fbf42ec86fcabedc9b3805c9" 1011 | dependencies: 1012 | deep-equal "~1.0.1" 1013 | defined "~1.0.0" 1014 | for-each "~0.3.3" 1015 | function-bind "~1.1.1" 1016 | glob "~7.1.2" 1017 | has "~1.0.3" 1018 | inherits "~2.0.3" 1019 | minimist "~1.2.0" 1020 | object-inspect "~1.6.0" 1021 | resolve "~1.7.1" 1022 | resumer "~0.0.0" 1023 | string.prototype.trim "~1.1.2" 1024 | through "~2.3.8" 1025 | 1026 | tarn@^2.0.0: 1027 | version "2.0.0" 1028 | resolved "https://registry.yarnpkg.com/tarn/-/tarn-2.0.0.tgz#c68499f69881f99ae955b4317ca7d212d942fdee" 1029 | 1030 | through@2, through@~2.3.4, through@~2.3.8: 1031 | version "2.3.8" 1032 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1033 | 1034 | tildify@2.0.0: 1035 | version "2.0.0" 1036 | resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" 1037 | 1038 | to-object-path@^0.3.0: 1039 | version "0.3.0" 1040 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 1041 | dependencies: 1042 | kind-of "^3.0.2" 1043 | 1044 | to-regex-range@^2.1.0: 1045 | version "2.1.1" 1046 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 1047 | dependencies: 1048 | is-number "^3.0.0" 1049 | repeat-string "^1.6.1" 1050 | 1051 | to-regex@^3.0.1, to-regex@^3.0.2: 1052 | version "3.0.2" 1053 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 1054 | dependencies: 1055 | define-property "^2.0.2" 1056 | extend-shallow "^3.0.2" 1057 | regex-not "^1.0.2" 1058 | safe-regex "^1.1.0" 1059 | 1060 | unc-path-regex@^0.1.2: 1061 | version "0.1.2" 1062 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 1063 | 1064 | union-value@^1.0.0: 1065 | version "1.0.0" 1066 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 1067 | dependencies: 1068 | arr-union "^3.1.0" 1069 | get-value "^2.0.6" 1070 | is-extendable "^0.1.1" 1071 | set-value "^0.4.3" 1072 | 1073 | unset-value@^1.0.0: 1074 | version "1.0.0" 1075 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 1076 | dependencies: 1077 | has-value "^0.3.1" 1078 | isobject "^3.0.0" 1079 | 1080 | urix@^0.1.0: 1081 | version "0.1.0" 1082 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 1083 | 1084 | use@^3.1.0: 1085 | version "3.1.1" 1086 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 1087 | 1088 | uuid@^3.3.3: 1089 | version "3.3.3" 1090 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" 1091 | 1092 | v8flags@^3.1.3: 1093 | version "3.1.3" 1094 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" 1095 | dependencies: 1096 | homedir-polyfill "^1.0.1" 1097 | 1098 | which@^1.2.14: 1099 | version "1.3.1" 1100 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1101 | dependencies: 1102 | isexe "^2.0.0" 1103 | 1104 | wrappy@1: 1105 | version "1.0.2" 1106 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1107 | 1108 | xtend@^4.0.0: 1109 | version "4.0.1" 1110 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1111 | --------------------------------------------------------------------------------