├── .editorconfig ├── .env.example ├── .gitignore ├── README.md ├── ace ├── app ├── Controllers │ └── Http │ │ └── HotelController.js ├── Middleware │ └── ConvertEmptyStringsToNull.js └── Models │ ├── Hotel.js │ ├── Token.js │ ├── Traits │ └── NoTimestamp.js │ └── User.js ├── config ├── app.js ├── auth.js ├── bodyParser.js ├── cors.js ├── database.js └── hash.js ├── database ├── factory.js └── migrations │ ├── 1503250034279_user.js │ ├── 1503250034280_token.js │ └── 1596672272166_hotel_schema.js ├── package-lock.json ├── package.json ├── server.js └── start ├── app.js ├── kernel.js └── routes.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_size = 2 6 | indent_style = space 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | HOST=127.0.0.1 2 | PORT=3333 3 | NODE_ENV=development 4 | 5 | APP_NAME=AdonisJs 6 | APP_URL=http://${HOST}:${PORT} 7 | 8 | CACHE_VIEWS=false 9 | 10 | APP_KEY= 11 | 12 | DB_CONNECTION=sqlite 13 | DB_HOST=127.0.0.1 14 | DB_PORT=3306 15 | DB_USER=root 16 | DB_PASSWORD= 17 | DB_DATABASE=adonis 18 | 19 | HASH_DRIVER=bcrypt 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Node modules 2 | node_modules 3 | 4 | # Adonis directory for storing tmp files 5 | tmp 6 | 7 | # Environment variables, never commit this file 8 | .env 9 | 10 | # The development sqlite file 11 | database/*.sqlite 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Adonis API application 2 | 3 | This is the boilerplate for creating an API server in AdonisJs, it comes pre-configured with. 4 | 5 | 1. Bodyparser 6 | 2. Authentication 7 | 3. CORS 8 | 4. Lucid ORM 9 | 5. Migrations and seeds 10 | 11 | ## Setup 12 | 13 | Use the adonis command to install the blueprint 14 | 15 | ```bash 16 | adonis new yardstick --api-only 17 | ``` 18 | 19 | or manually clone the repo and then run `npm install`. 20 | 21 | 22 | ### Migrations 23 | 24 | Run the following command to run startup migrations. 25 | 26 | ```js 27 | adonis migration:run 28 | ``` 29 | -------------------------------------------------------------------------------- /ace: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Ace Commands 6 | |-------------------------------------------------------------------------- 7 | | 8 | | The ace file is just a regular Javascript file but with no extension. You 9 | | can call `node ace` followed by the command name and it just works. 10 | | 11 | | Also you can use `adonis` followed by the command name, since the adonis 12 | | global proxies all the ace commands. 13 | | 14 | */ 15 | 16 | const { Ignitor } = require('@adonisjs/ignitor') 17 | 18 | new Ignitor(require('@adonisjs/fold')) 19 | .appRoot(__dirname) 20 | .fireAce() 21 | .catch(console.error) 22 | -------------------------------------------------------------------------------- /app/Controllers/Http/HotelController.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @typedef {import('@adonisjs/framework/src/Request')} Request */ 4 | /** @typedef {import('@adonisjs/framework/src/Response')} Response */ 5 | /** @typedef {import('@adonisjs/framework/src/View')} View */ 6 | 7 | const Hotel = use('App/Models/Hotel') 8 | const { validate } = use('Validator') 9 | 10 | /** 11 | * Resourceful controller for interacting with hotels 12 | */ 13 | class HotelController { 14 | /** 15 | * Show a list of all hotels. 16 | * GET hotels 17 | * 18 | * @param {object} ctx 19 | * @param {Request} ctx.request 20 | * @param {Response} ctx.response 21 | */ 22 | async index ({ request, response }) { 23 | const result = await Hotel.all() 24 | const resData = { 25 | message: 'Hotel has been listed successfully.', 26 | data: result 27 | } 28 | return response.status(200).json(resData) 29 | } 30 | 31 | /** 32 | * Create/save a new hotel. 33 | * POST hotels 34 | * 35 | * @param {object} ctx 36 | * @param {Request} ctx.request 37 | * @param {Response} ctx.response 38 | */ 39 | async store ({ request, response }) { 40 | const req = request.all() 41 | 42 | // tambah comment 43 | // rules validator 44 | const rules = { 45 | name: 'required', 46 | address: 'required' 47 | } 48 | const validation = await validate(req, rules) 49 | 50 | // Check if request body validation 51 | if (validation.fails()) return response.status(400).json({message: validation.messages()[0].message}) 52 | 53 | const hotel = new Hotel() 54 | hotel.name = req.name 55 | hotel.address = req.address 56 | await hotel.save() 57 | const resData = { 58 | message: 'Hotel has been created successfully.', 59 | data: hotel 60 | } 61 | 62 | return response.status(201).json(resData) 63 | } 64 | 65 | /** 66 | * Display a single hotel. 67 | * GET hotels/:id 68 | * 69 | * @param {object} ctx 70 | * @param {Request} ctx.request 71 | * @param {Response} ctx.response 72 | */ 73 | async show ({ params, request, response }) { 74 | const hotel = await Hotel.find(params.id) 75 | const resData = { 76 | message: 'Hotel been fetched successfully.', 77 | data: hotel 78 | } 79 | 80 | return response.status(200).json(resData) 81 | } 82 | 83 | /** 84 | * Update hotel details. 85 | * PUT or PATCH hotels/:id 86 | * 87 | * @param {object} ctx 88 | * @param {Request} ctx.request 89 | * @param {Response} ctx.response 90 | */ 91 | async update ({ params, request, response }) { 92 | const req = request.all() 93 | const hotel = await Hotel.find(params.id) 94 | 95 | // rules validator 96 | const rules = { 97 | name: 'required', 98 | address: 'required' 99 | } 100 | const validation = await validate(req, rules) 101 | 102 | // Check if request body validation 103 | if (validation.fails()) return response.status(400).json({message: validation.messages()[0].message}) 104 | 105 | // Check if hotel with params.id not found 106 | if(!hotel) return response.status(200).json({message: `Hotel with id ${params.id} is not found or has not been created`, data: {}}) 107 | 108 | hotel.name = req.name 109 | hotel.address = req.address 110 | await hotel.save() 111 | 112 | const resData = { 113 | message: 'Hotel has been fetched successfully.', 114 | data: hotel 115 | } 116 | return response.status(200).json(resData) 117 | } 118 | 119 | /** 120 | * Delete a hotel with id. 121 | * DELETE hotels/:id 122 | * 123 | * @param {object} ctx 124 | * @param {Request} ctx.request 125 | * @param {Response} ctx.response 126 | */ 127 | async destroy ({ params, request, response }) { 128 | const hotel = await Hotel.find(params.id) 129 | if(!hotel) return response.status(200).json({message: `Hotel with id ${params.id} is not found or has not been created`, data: {}}) 130 | await hotel.delete() 131 | 132 | const resData = { 133 | message: `Hotel with id ${params.id} has been deleted successfully.`, 134 | data: hotel 135 | } 136 | return response.status(200).json(resData) 137 | } 138 | } 139 | 140 | module.exports = HotelController 141 | -------------------------------------------------------------------------------- /app/Middleware/ConvertEmptyStringsToNull.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class ConvertEmptyStringsToNull { 4 | async handle ({ request }, next) { 5 | if (Object.keys(request.body).length) { 6 | request.body = Object.assign( 7 | ...Object.keys(request.body).map(key => ({ 8 | [key]: request.body[key] !== '' ? request.body[key] : null 9 | })) 10 | ) 11 | } 12 | 13 | await next() 14 | } 15 | } 16 | 17 | module.exports = ConvertEmptyStringsToNull 18 | -------------------------------------------------------------------------------- /app/Models/Hotel.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {typeof import('@adonisjs/lucid/src/Lucid/Model')} */ 4 | const Model = use('Model') 5 | 6 | class Hotel extends Model { 7 | } 8 | 9 | module.exports = Hotel 10 | -------------------------------------------------------------------------------- /app/Models/Token.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {typeof import('@adonisjs/lucid/src/Lucid/Model')} */ 4 | const Model = use('Model') 5 | 6 | class Token extends Model { 7 | } 8 | 9 | module.exports = Token 10 | -------------------------------------------------------------------------------- /app/Models/Traits/NoTimestamp.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class NoTimestamp { 4 | register (Model) { 5 | Object.defineProperties(Model, { 6 | createdAtColumn: { 7 | get: () => null, 8 | }, 9 | updatedAtColumn: { 10 | get: () => null, 11 | } 12 | }) 13 | } 14 | } 15 | 16 | module.exports = NoTimestamp 17 | -------------------------------------------------------------------------------- /app/Models/User.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {typeof import('@adonisjs/lucid/src/Lucid/Model')} */ 4 | const Model = use('Model') 5 | 6 | /** @type {import('@adonisjs/framework/src/Hash')} */ 7 | const Hash = use('Hash') 8 | 9 | class User extends Model { 10 | static boot () { 11 | super.boot() 12 | 13 | /** 14 | * A hook to hash the user password before saving 15 | * it to the database. 16 | */ 17 | this.addHook('beforeSave', async (userInstance) => { 18 | if (userInstance.dirty.password) { 19 | userInstance.password = await Hash.make(userInstance.password) 20 | } 21 | }) 22 | } 23 | 24 | /** 25 | * A relationship on tokens is required for auth to 26 | * work. Since features like `refreshTokens` or 27 | * `rememberToken` will be saved inside the 28 | * tokens table. 29 | * 30 | * @method tokens 31 | * 32 | * @return {Object} 33 | */ 34 | tokens () { 35 | return this.hasMany('App/Models/Token') 36 | } 37 | } 38 | 39 | module.exports = User 40 | -------------------------------------------------------------------------------- /config/app.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/framework/src/Env')} */ 4 | const Env = use('Env') 5 | 6 | module.exports = { 7 | 8 | /* 9 | |-------------------------------------------------------------------------- 10 | | Application Name 11 | |-------------------------------------------------------------------------- 12 | | 13 | | This value is the name of your application and can used when you 14 | | need to place the application's name in a email, view or 15 | | other location. 16 | | 17 | */ 18 | 19 | name: Env.get('APP_NAME', 'AdonisJs'), 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | App Key 24 | |-------------------------------------------------------------------------- 25 | | 26 | | App key is a randomly generated 16 or 32 characters long string required 27 | | to encrypt cookies, sessions and other sensitive data. 28 | | 29 | */ 30 | appKey: Env.getOrFail('APP_KEY'), 31 | 32 | http: { 33 | /* 34 | |-------------------------------------------------------------------------- 35 | | Allow Method Spoofing 36 | |-------------------------------------------------------------------------- 37 | | 38 | | Method spoofing allows to make requests by spoofing the http verb. 39 | | Which means you can make a GET request but instruct the server to 40 | | treat as a POST or PUT request. If you want this feature, set the 41 | | below value to true. 42 | | 43 | */ 44 | allowMethodSpoofing: true, 45 | 46 | /* 47 | |-------------------------------------------------------------------------- 48 | | Trust Proxy 49 | |-------------------------------------------------------------------------- 50 | | 51 | | Trust proxy defines whether X-Forwarded-* headers should be trusted or not. 52 | | When your application is behind a proxy server like nginx, these values 53 | | are set automatically and should be trusted. Apart from setting it 54 | | to true or false Adonis supports handful or ways to allow proxy 55 | | values. Read documentation for that. 56 | | 57 | */ 58 | trustProxy: false, 59 | 60 | /* 61 | |-------------------------------------------------------------------------- 62 | | Subdomains 63 | |-------------------------------------------------------------------------- 64 | | 65 | | Offset to be used for returning subdomains for a given request.For 66 | | majority of applications it will be 2, until you have nested 67 | | sudomains. 68 | | cheatsheet.adonisjs.com - offset - 2 69 | | virk.cheatsheet.adonisjs.com - offset - 3 70 | | 71 | */ 72 | subdomainOffset: 2, 73 | 74 | /* 75 | |-------------------------------------------------------------------------- 76 | | JSONP Callback 77 | |-------------------------------------------------------------------------- 78 | | 79 | | Default jsonp callback to be used when callback query string is missing 80 | | in request url. 81 | | 82 | */ 83 | jsonpCallback: 'callback', 84 | 85 | 86 | /* 87 | |-------------------------------------------------------------------------- 88 | | Etag 89 | |-------------------------------------------------------------------------- 90 | | 91 | | Set etag on all HTTP response. In order to disable for selected routes, 92 | | you can call the `response.send` with an options object as follows. 93 | | 94 | | response.send('Hello', { ignoreEtag: true }) 95 | | 96 | */ 97 | etag: false 98 | }, 99 | 100 | views: { 101 | /* 102 | |-------------------------------------------------------------------------- 103 | | Cache Views 104 | |-------------------------------------------------------------------------- 105 | | 106 | | Define whether or not to cache the compiled view. Set it to true in 107 | | production to optimize view loading time. 108 | | 109 | */ 110 | cache: Env.get('CACHE_VIEWS', true) 111 | }, 112 | 113 | static: { 114 | /* 115 | |-------------------------------------------------------------------------- 116 | | Dot Files 117 | |-------------------------------------------------------------------------- 118 | | 119 | | Define how to treat dot files when trying to server static resources. 120 | | By default it is set to ignore, which will pretend that dotfiles 121 | | does not exists. 122 | | 123 | | Can be one of the following 124 | | ignore, deny, allow 125 | | 126 | */ 127 | dotfiles: 'ignore', 128 | 129 | /* 130 | |-------------------------------------------------------------------------- 131 | | ETag 132 | |-------------------------------------------------------------------------- 133 | | 134 | | Enable or disable etag generation 135 | | 136 | */ 137 | etag: true, 138 | 139 | /* 140 | |-------------------------------------------------------------------------- 141 | | Extensions 142 | |-------------------------------------------------------------------------- 143 | | 144 | | Set file extension fallbacks. When set, if a file is not found, the given 145 | | extensions will be added to the file name and search for. The first 146 | | that exists will be served. Example: ['html', 'htm']. 147 | | 148 | */ 149 | extensions: false 150 | }, 151 | 152 | locales: { 153 | /* 154 | |-------------------------------------------------------------------------- 155 | | Loader 156 | |-------------------------------------------------------------------------- 157 | | 158 | | The loader to be used for fetching and updating locales. Below is the 159 | | list of available options. 160 | | 161 | | file, database 162 | | 163 | */ 164 | loader: 'file', 165 | 166 | /* 167 | |-------------------------------------------------------------------------- 168 | | Default Locale 169 | |-------------------------------------------------------------------------- 170 | | 171 | | Default locale to be used by Antl provider. You can always switch drivers 172 | | in runtime or use the official Antl middleware to detect the driver 173 | | based on HTTP headers/query string. 174 | | 175 | */ 176 | locale: 'en' 177 | }, 178 | 179 | logger: { 180 | /* 181 | |-------------------------------------------------------------------------- 182 | | Transport 183 | |-------------------------------------------------------------------------- 184 | | 185 | | Transport to be used for logging messages. You can have multiple 186 | | transports using same driver. 187 | | 188 | | Available drivers are: `file` and `console`. 189 | | 190 | */ 191 | transport: 'console', 192 | 193 | /* 194 | |-------------------------------------------------------------------------- 195 | | Console Transport 196 | |-------------------------------------------------------------------------- 197 | | 198 | | Using `console` driver for logging. This driver writes to `stdout` 199 | | and `stderr` 200 | | 201 | */ 202 | console: { 203 | driver: 'console', 204 | name: 'adonis-app', 205 | level: 'info' 206 | }, 207 | 208 | /* 209 | |-------------------------------------------------------------------------- 210 | | File Transport 211 | |-------------------------------------------------------------------------- 212 | | 213 | | File transport uses file driver and writes log messages for a given 214 | | file inside `tmp` directory for your app. 215 | | 216 | | For a different directory, set an absolute path for the filename. 217 | | 218 | */ 219 | file: { 220 | driver: 'file', 221 | name: 'adonis-app', 222 | filename: 'adonis.log', 223 | level: 'info' 224 | } 225 | }, 226 | 227 | /* 228 | |-------------------------------------------------------------------------- 229 | | Generic Cookie Options 230 | |-------------------------------------------------------------------------- 231 | | 232 | | The following cookie options are generic settings used by AdonisJs to create 233 | | cookies. However, some parts of the application like `sessions` can have 234 | | separate settings for cookies inside `config/session.js`. 235 | | 236 | */ 237 | cookie: { 238 | httpOnly: true, 239 | sameSite: false, 240 | path: '/', 241 | maxAge: 7200 242 | } 243 | } 244 | -------------------------------------------------------------------------------- /config/auth.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/framework/src/Env')} */ 4 | const Env = use('Env') 5 | 6 | module.exports = { 7 | /* 8 | |-------------------------------------------------------------------------- 9 | | Authenticator 10 | |-------------------------------------------------------------------------- 11 | | 12 | | Authentication is a combination of serializer and scheme with extra 13 | | config to define on how to authenticate a user. 14 | | 15 | | Available Schemes - basic, session, jwt, api 16 | | Available Serializers - lucid, database 17 | | 18 | */ 19 | authenticator: 'jwt', 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | Session 24 | |-------------------------------------------------------------------------- 25 | | 26 | | Session authenticator makes use of sessions to authenticate a user. 27 | | Session authentication is always persistent. 28 | | 29 | */ 30 | session: { 31 | serializer: 'lucid', 32 | model: 'App/Models/User', 33 | scheme: 'session', 34 | uid: 'email', 35 | password: 'password' 36 | }, 37 | 38 | /* 39 | |-------------------------------------------------------------------------- 40 | | Basic Auth 41 | |-------------------------------------------------------------------------- 42 | | 43 | | The basic auth authenticator uses basic auth header to authenticate a 44 | | user. 45 | | 46 | | NOTE: 47 | | This scheme is not persistent and users are supposed to pass 48 | | login credentials on each request. 49 | | 50 | */ 51 | basic: { 52 | serializer: 'lucid', 53 | model: 'App/Models/User', 54 | scheme: 'basic', 55 | uid: 'email', 56 | password: 'password' 57 | }, 58 | 59 | /* 60 | |-------------------------------------------------------------------------- 61 | | Jwt 62 | |-------------------------------------------------------------------------- 63 | | 64 | | The jwt authenticator works by passing a jwt token on each HTTP request 65 | | via HTTP `Authorization` header. 66 | | 67 | */ 68 | jwt: { 69 | serializer: 'lucid', 70 | model: 'App/Models/User', 71 | scheme: 'jwt', 72 | uid: 'email', 73 | password: 'password', 74 | options: { 75 | secret: Env.get('APP_KEY') 76 | } 77 | }, 78 | 79 | /* 80 | |-------------------------------------------------------------------------- 81 | | Api 82 | |-------------------------------------------------------------------------- 83 | | 84 | | The Api scheme makes use of API personal tokens to authenticate a user. 85 | | 86 | */ 87 | api: { 88 | serializer: 'lucid', 89 | model: 'App/Models/User', 90 | scheme: 'api', 91 | uid: 'email', 92 | password: 'password' 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /config/bodyParser.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | /* 5 | |-------------------------------------------------------------------------- 6 | | JSON Parser 7 | |-------------------------------------------------------------------------- 8 | | 9 | | Below settings are applied when the request body contains a JSON payload. 10 | | If you want body parser to ignore JSON payloads, then simply set `types` 11 | | to an empty array. 12 | */ 13 | json: { 14 | /* 15 | |-------------------------------------------------------------------------- 16 | | limit 17 | |-------------------------------------------------------------------------- 18 | | 19 | | Defines the limit of JSON that can be sent by the client. If payload 20 | | is over 1mb it will not be processed. 21 | | 22 | */ 23 | limit: '1mb', 24 | 25 | /* 26 | |-------------------------------------------------------------------------- 27 | | strict 28 | |-------------------------------------------------------------------------- 29 | | 30 | | When `strict` is set to true, body parser will only parse Arrays and 31 | | Object. Otherwise everything parseable by `JSON.parse` is parsed. 32 | | 33 | */ 34 | strict: true, 35 | 36 | /* 37 | |-------------------------------------------------------------------------- 38 | | types 39 | |-------------------------------------------------------------------------- 40 | | 41 | | Which content types are processed as JSON payloads. You are free to 42 | | add your own types here, but the request body should be parseable 43 | | by `JSON.parse` method. 44 | | 45 | */ 46 | types: [ 47 | 'application/json', 48 | 'application/json-patch+json', 49 | 'application/vnd.api+json', 50 | 'application/csp-report' 51 | ] 52 | }, 53 | 54 | /* 55 | |-------------------------------------------------------------------------- 56 | | Raw Parser 57 | |-------------------------------------------------------------------------- 58 | | 59 | | 60 | | 61 | */ 62 | raw: { 63 | types: [ 64 | 'text/*' 65 | ] 66 | }, 67 | 68 | /* 69 | |-------------------------------------------------------------------------- 70 | | Form Parser 71 | |-------------------------------------------------------------------------- 72 | | 73 | | 74 | | 75 | */ 76 | form: { 77 | types: [ 78 | 'application/x-www-form-urlencoded' 79 | ] 80 | }, 81 | 82 | /* 83 | |-------------------------------------------------------------------------- 84 | | Files Parser 85 | |-------------------------------------------------------------------------- 86 | | 87 | | 88 | | 89 | */ 90 | files: { 91 | types: [ 92 | 'multipart/form-data' 93 | ], 94 | 95 | /* 96 | |-------------------------------------------------------------------------- 97 | | Max Size 98 | |-------------------------------------------------------------------------- 99 | | 100 | | Below value is the max size of all the files uploaded to the server. It 101 | | is validated even before files have been processed and hard exception 102 | | is thrown. 103 | | 104 | | Consider setting a reasonable value here, otherwise people may upload GB's 105 | | of files which will keep your server busy. 106 | | 107 | | Also this value is considered when `autoProcess` is set to true. 108 | | 109 | */ 110 | maxSize: '20mb', 111 | 112 | /* 113 | |-------------------------------------------------------------------------- 114 | | Auto Process 115 | |-------------------------------------------------------------------------- 116 | | 117 | | Whether or not to auto-process files. Since HTTP servers handle files via 118 | | couple of specific endpoints. It is better to set this value off and 119 | | manually process the files when required. 120 | | 121 | | This value can contain a boolean or an array of route patterns 122 | | to be autoprocessed. 123 | */ 124 | autoProcess: true, 125 | 126 | /* 127 | |-------------------------------------------------------------------------- 128 | | Process Manually 129 | |-------------------------------------------------------------------------- 130 | | 131 | | The list of routes that should not process files and instead rely on 132 | | manual process. This list should only contain routes when autoProcess 133 | | is to true. Otherwise everything is processed manually. 134 | | 135 | */ 136 | processManually: [] 137 | 138 | /* 139 | |-------------------------------------------------------------------------- 140 | | Temporary file name 141 | |-------------------------------------------------------------------------- 142 | | 143 | | Define a function, which should return a string to be used as the 144 | | tmp file name. 145 | | 146 | | If not defined, Bodyparser will use `uuid` as the tmp file name. 147 | | 148 | | To be defined as. If you are defining the function, then do make sure 149 | | to return a value from it. 150 | | 151 | | tmpFileName () { 152 | | return 'some-unique-value' 153 | | } 154 | | 155 | */ 156 | } 157 | } 158 | -------------------------------------------------------------------------------- /config/cors.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | /* 5 | |-------------------------------------------------------------------------- 6 | | Origin 7 | |-------------------------------------------------------------------------- 8 | | 9 | | Set a list of origins to be allowed. The value can be one of the following 10 | | 11 | | Boolean: true - Allow current request origin 12 | | Boolean: false - Disallow all 13 | | String - Comma separated list of allowed origins 14 | | Array - An array of allowed origins 15 | | String: * - A wildcard to allow current request origin 16 | | Function - Receives the current origin and should return one of the above values. 17 | | 18 | */ 19 | origin: false, 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | Methods 24 | |-------------------------------------------------------------------------- 25 | | 26 | | HTTP methods to be allowed. The value can be one of the following 27 | | 28 | | String - Comma separated list of allowed methods 29 | | Array - An array of allowed methods 30 | | 31 | */ 32 | methods: ['GET', 'PUT', 'PATCH', 'POST', 'DELETE'], 33 | 34 | /* 35 | |-------------------------------------------------------------------------- 36 | | Headers 37 | |-------------------------------------------------------------------------- 38 | | 39 | | List of headers to be allowed via Access-Control-Request-Headers header. 40 | | The value can be one of the following. 41 | | 42 | | Boolean: true - Allow current request headers 43 | | Boolean: false - Disallow all 44 | | String - Comma separated list of allowed headers 45 | | Array - An array of allowed headers 46 | | String: * - A wildcard to allow current request headers 47 | | Function - Receives the current header and should return one of the above values. 48 | | 49 | */ 50 | headers: true, 51 | 52 | /* 53 | |-------------------------------------------------------------------------- 54 | | Expose Headers 55 | |-------------------------------------------------------------------------- 56 | | 57 | | A list of headers to be exposed via `Access-Control-Expose-Headers` 58 | | header. The value can be one of the following. 59 | | 60 | | Boolean: false - Disallow all 61 | | String: Comma separated list of allowed headers 62 | | Array - An array of allowed headers 63 | | 64 | */ 65 | exposeHeaders: false, 66 | 67 | /* 68 | |-------------------------------------------------------------------------- 69 | | Credentials 70 | |-------------------------------------------------------------------------- 71 | | 72 | | Define Access-Control-Allow-Credentials header. It should always be a 73 | | boolean. 74 | | 75 | */ 76 | credentials: false, 77 | 78 | /* 79 | |-------------------------------------------------------------------------- 80 | | MaxAge 81 | |-------------------------------------------------------------------------- 82 | | 83 | | Define Access-Control-Allow-Max-Age 84 | | 85 | */ 86 | maxAge: 90 87 | } 88 | -------------------------------------------------------------------------------- /config/database.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/framework/src/Env')} */ 4 | const Env = use('Env') 5 | 6 | /** @type {import('@adonisjs/ignitor/src/Helpers')} */ 7 | const Helpers = use('Helpers') 8 | 9 | module.exports = { 10 | /* 11 | |-------------------------------------------------------------------------- 12 | | Default Connection 13 | |-------------------------------------------------------------------------- 14 | | 15 | | Connection defines the default connection settings to be used while 16 | | interacting with SQL databases. 17 | | 18 | */ 19 | connection: Env.get('DB_CONNECTION', 'sqlite'), 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | Sqlite 24 | |-------------------------------------------------------------------------- 25 | | 26 | | Sqlite is a flat file database and can be a good choice for a development 27 | | environment. 28 | | 29 | | npm i --save sqlite3 30 | | 31 | */ 32 | sqlite: { 33 | client: 'sqlite3', 34 | connection: { 35 | filename: Helpers.databasePath(`${Env.get('DB_DATABASE', 'development')}.sqlite`) 36 | }, 37 | useNullAsDefault: true, 38 | debug: Env.get('DB_DEBUG', false) 39 | }, 40 | 41 | /* 42 | |-------------------------------------------------------------------------- 43 | | MySQL 44 | |-------------------------------------------------------------------------- 45 | | 46 | | Here we define connection settings for MySQL database. 47 | | 48 | | npm i --save mysql 49 | | 50 | */ 51 | mysql: { 52 | client: 'mysql', 53 | connection: { 54 | host: Env.get('DB_HOST', 'localhost'), 55 | port: Env.get('DB_PORT', ''), 56 | user: Env.get('DB_USER', 'root'), 57 | password: Env.get('DB_PASSWORD', ''), 58 | database: Env.get('DB_DATABASE', 'adonis') 59 | }, 60 | debug: Env.get('DB_DEBUG', false) 61 | }, 62 | 63 | /* 64 | |-------------------------------------------------------------------------- 65 | | PostgreSQL 66 | |-------------------------------------------------------------------------- 67 | | 68 | | Here we define connection settings for PostgreSQL database. 69 | | 70 | | npm i --save pg 71 | | 72 | */ 73 | pg: { 74 | client: 'pg', 75 | connection: { 76 | host: Env.get('DB_HOST', 'localhost'), 77 | port: Env.get('DB_PORT', ''), 78 | user: Env.get('DB_USER', 'root'), 79 | password: Env.get('DB_PASSWORD', ''), 80 | database: Env.get('DB_DATABASE', 'adonis') 81 | }, 82 | debug: Env.get('DB_DEBUG', false) 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /config/hash.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/framework/src/Env')} */ 4 | const Env = use('Env') 5 | 6 | module.exports = { 7 | /* 8 | |-------------------------------------------------------------------------- 9 | | Driver 10 | |-------------------------------------------------------------------------- 11 | | 12 | | Driver to be used for hashing values. The same driver is used by the 13 | | auth module too. 14 | | 15 | */ 16 | driver: Env.get('HASH_DRIVER', 'bcrypt'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Bcrypt 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Config related to bcrypt hashing. https://www.npmjs.com/package/bcrypt 24 | | package is used internally. 25 | | 26 | */ 27 | bcrypt: { 28 | rounds: 10 29 | }, 30 | 31 | /* 32 | |-------------------------------------------------------------------------- 33 | | Argon 34 | |-------------------------------------------------------------------------- 35 | | 36 | | Config related to argon. https://www.npmjs.com/package/argon2 package is 37 | | used internally. 38 | | 39 | | Since argon is optional, you will have to install the dependency yourself 40 | | 41 | |============================================================================ 42 | | npm i argon2 43 | |============================================================================ 44 | | 45 | */ 46 | argon: { 47 | type: 1 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /database/factory.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Factory 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Factories are used to define blueprints for database tables or Lucid 9 | | models. Later you can use these blueprints to seed your database 10 | | with dummy data. 11 | | 12 | */ 13 | 14 | /** @type {import('@adonisjs/lucid/src/Factory')} */ 15 | // const Factory = use('Factory') 16 | 17 | // Factory.blueprint('App/Models/User', (faker) => { 18 | // return { 19 | // username: faker.username() 20 | // } 21 | // }) 22 | -------------------------------------------------------------------------------- /database/migrations/1503250034279_user.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/lucid/src/Schema')} */ 4 | const Schema = use('Schema') 5 | 6 | class UserSchema extends Schema { 7 | up () { 8 | this.create('users', (table) => { 9 | table.increments() 10 | table.string('username', 80).notNullable().unique() 11 | table.string('email', 254).notNullable().unique() 12 | table.string('password', 60).notNullable() 13 | table.timestamps() 14 | }) 15 | } 16 | 17 | down () { 18 | this.drop('users') 19 | } 20 | } 21 | 22 | module.exports = UserSchema 23 | -------------------------------------------------------------------------------- /database/migrations/1503250034280_token.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/lucid/src/Schema')} */ 4 | const Schema = use('Schema') 5 | 6 | class TokensSchema extends Schema { 7 | up () { 8 | this.create('tokens', (table) => { 9 | table.increments() 10 | table.integer('user_id').unsigned().references('id').inTable('users') 11 | table.string('token', 255).notNullable().unique().index() 12 | table.string('type', 80).notNullable() 13 | table.boolean('is_revoked').defaultTo(false) 14 | table.timestamps() 15 | }) 16 | } 17 | 18 | down () { 19 | this.drop('tokens') 20 | } 21 | } 22 | 23 | module.exports = TokensSchema 24 | -------------------------------------------------------------------------------- /database/migrations/1596672272166_hotel_schema.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/lucid/src/Schema')} */ 4 | const Schema = use('Schema') 5 | 6 | class HotelSchema extends Schema { 7 | up () { 8 | this.create('hotels', (table) => { 9 | table.increments() 10 | table.string('name') 11 | table.text('address') 12 | table.timestamps() 13 | }) 14 | } 15 | 16 | down () { 17 | this.drop('hotels') 18 | } 19 | } 20 | 21 | module.exports = HotelSchema 22 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "adonis-api-app", 3 | "version": "4.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@adonisjs/ace": { 8 | "version": "5.0.8", 9 | "resolved": "https://registry.npmjs.org/@adonisjs/ace/-/ace-5.0.8.tgz", 10 | "integrity": "sha512-M4MGrzWzuE++jlPrbDPgo1tdv5j7uH4FsaoGddH+qJ+iXErVZuV6z2gYdmlorDDbvotFpxA+TTtDEXrTLCE08w==", 11 | "requires": { 12 | "cli-table": "^0.3.1", 13 | "commander": "^2.18.0", 14 | "debug": "^4.0.1", 15 | "enquirer": "^1.0.3", 16 | "fast-levenshtein": "^2.0.6", 17 | "fs-extra": "^7.0.0", 18 | "is-arrow-function": "^2.0.3", 19 | "kleur": "^2.0.2", 20 | "lodash": "^4.17.11", 21 | "mustache": "^3.0.0", 22 | "prompt-checkbox": "^2.2.0", 23 | "prompt-confirm": "^2.0.4", 24 | "prompt-expand": "^1.0.1", 25 | "prompt-list": "^3.2.0", 26 | "prompt-password": "^1.2.0" 27 | } 28 | }, 29 | "@adonisjs/auth": { 30 | "version": "3.1.0", 31 | "resolved": "https://registry.npmjs.org/@adonisjs/auth/-/auth-3.1.0.tgz", 32 | "integrity": "sha512-NLy0Jjmb7/Vmh5GvL7ma8qrSoC8oW32lcz6T5FRDMnXFs59pfBS0Mej0Try6iY/aGGFMKiLVVOoGzhgWgeX8eA==", 33 | "requires": { 34 | "@adonisjs/generic-exceptions": "^2.0.1", 35 | "basic-auth": "^2.0.1", 36 | "debug": "^4.0.1", 37 | "jsonwebtoken": "^8.3.0", 38 | "lodash": "^4.17.11", 39 | "ms": "^2.1.1", 40 | "resetable": "^1.0.3", 41 | "uuid": "^3.3.2" 42 | } 43 | }, 44 | "@adonisjs/bodyparser": { 45 | "version": "2.0.9", 46 | "resolved": "https://registry.npmjs.org/@adonisjs/bodyparser/-/bodyparser-2.0.9.tgz", 47 | "integrity": "sha512-1wE53LBPflolar9Jq+VF22I4tIJZklsXAE9pDxr9t1DuqpvB8TA4uSvLM2UjQFtX7iTQ85iWZqZCRt05jbsziQ==", 48 | "requires": { 49 | "@adonisjs/generic-exceptions": "^2.0.1", 50 | "bytes": "^3.0.0", 51 | "co-body": "^6.0.0", 52 | "debug": "^4.1.0", 53 | "end-of-stream": "^1.4.1", 54 | "fs-extra": "^7.0.0", 55 | "get-stream": "^4.1.0", 56 | "lodash": "^4.17.11", 57 | "media-typer": "^0.3.0", 58 | "multiparty": "^4.2.1" 59 | } 60 | }, 61 | "@adonisjs/cors": { 62 | "version": "1.0.7", 63 | "resolved": "https://registry.npmjs.org/@adonisjs/cors/-/cors-1.0.7.tgz", 64 | "integrity": "sha512-jBO+bI/zdydAXURL02gQxXB57L5+eV2MUYp7zmDrVa12M6mQPMRz5TC2F7a0Kknx9JUr5dsl4+eN0XNfe/8sWQ==" 65 | }, 66 | "@adonisjs/fold": { 67 | "version": "4.0.9", 68 | "resolved": "https://registry.npmjs.org/@adonisjs/fold/-/fold-4.0.9.tgz", 69 | "integrity": "sha512-eH6048Ug32BvYvvvfRThy+IDE8lcRtqExca2TfE/Gw5ZP51rVEYqPd1yy3ioB4R5XI8VUS0hjOt5l7tKUh4Sww==", 70 | "requires": { 71 | "@adonisjs/generic-exceptions": "^2.0.1", 72 | "caller": "^1.0.1", 73 | "debug": "^3.1.0", 74 | "lodash": "^4.17.10", 75 | "require-stack": "^1.0.2" 76 | }, 77 | "dependencies": { 78 | "debug": { 79 | "version": "3.2.6", 80 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 81 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 82 | "requires": { 83 | "ms": "^2.1.1" 84 | } 85 | } 86 | } 87 | }, 88 | "@adonisjs/framework": { 89 | "version": "5.0.13", 90 | "resolved": "https://registry.npmjs.org/@adonisjs/framework/-/framework-5.0.13.tgz", 91 | "integrity": "sha512-qZx+9WF1bnK3sM4UJnKw6Zu52WIPCB1R4LjBBwSFrnG5TYbIAQATyB08YXc7ETMkQ4dIQmPH+tpq4J7+k2Joog==", 92 | "requires": { 93 | "@adonisjs/generic-exceptions": "^2.0.1", 94 | "@adonisjs/middleware-base": "^1.0.0", 95 | "bcryptjs": "^2.4.3", 96 | "co-compose": "^4.0.0", 97 | "debug": "^4.1.1", 98 | "dotenv": "^6.2.0", 99 | "edge.js": "^1.1.4", 100 | "eventemitter2": "^5.0.1", 101 | "haye": "^2.0.2", 102 | "lodash": "^4.17.11", 103 | "macroable": "^1.0.0", 104 | "node-cookie": "^2.1.1", 105 | "node-exceptions": "^3.0.0", 106 | "node-req": "^2.1.1", 107 | "node-res": "4.1.4", 108 | "parseurl": "^1.3.2", 109 | "path-to-regexp": "^2.4.0", 110 | "require-all": "^3.0.0", 111 | "resetable": "^1.0.3", 112 | "serve-static": "^1.13.2", 113 | "simple-encryptor": "^2.0.0", 114 | "useragent": "^2.3.0", 115 | "winston": "^3.2.1", 116 | "youch": "^2.0.10" 117 | } 118 | }, 119 | "@adonisjs/generic-exceptions": { 120 | "version": "2.0.1", 121 | "resolved": "https://registry.npmjs.org/@adonisjs/generic-exceptions/-/generic-exceptions-2.0.1.tgz", 122 | "integrity": "sha512-ZIPnj7vlRZKaAyZ4c2SUFCpJ6Yk+xzR+STjsze9unmZQncpQmVq1K8r20pXX3Z9rnxKVlfwO58HTxMMWaX9t9A==", 123 | "requires": { 124 | "node-exceptions": "^3.0.0", 125 | "upcast": "^2.1.1" 126 | } 127 | }, 128 | "@adonisjs/ignitor": { 129 | "version": "2.0.8", 130 | "resolved": "https://registry.npmjs.org/@adonisjs/ignitor/-/ignitor-2.0.8.tgz", 131 | "integrity": "sha512-drpuwxIjvBpBBn4Ndt2Sghf0aN3ml1zz3Bxu3g42k29ZEMDKgw9KkmabsEd+MVUqPLzch4cJRFKIReh9TWnY+Q==", 132 | "requires": { 133 | "debug": "^4.0.1", 134 | "pify": "^4.0.0", 135 | "youch": "^2.0.10", 136 | "youch-terminal": "^1.0.0" 137 | } 138 | }, 139 | "@adonisjs/lucid": { 140 | "version": "6.2.0", 141 | "resolved": "https://registry.npmjs.org/@adonisjs/lucid/-/lucid-6.2.0.tgz", 142 | "integrity": "sha512-1MUOYIELJ5J6uFeZFry+mYxAN5cW3c4TCv+7okpzt75I5RxmEXp08DG66ZuLPBy7MNeq0mDEWedOl4KD5xK1rA==", 143 | "requires": { 144 | "@adonisjs/generic-exceptions": "^2.0.1", 145 | "chance": "^1.0.18", 146 | "debug": "^4.1.1", 147 | "knex": "^0.16.5", 148 | "lodash": "^4.17.11", 149 | "moment": "^2.24.0", 150 | "pluralize": "^7.0.0", 151 | "pretty-hrtime": "^1.0.3", 152 | "require-all": "^3.0.0" 153 | } 154 | }, 155 | "@adonisjs/middleware-base": { 156 | "version": "1.0.0", 157 | "resolved": "https://registry.npmjs.org/@adonisjs/middleware-base/-/middleware-base-1.0.0.tgz", 158 | "integrity": "sha512-Jw8teZCdR7DTRX72V4mJ45knlZRK0emoaBuAI7vMB5ucyeagLQE6Gl0vKxpRk3STrc2K56mKn23B5h8lQWyhcQ==", 159 | "requires": { 160 | "@adonisjs/generic-exceptions": "^2.0.0", 161 | "co-compose": "^4.0.0", 162 | "debug": "^3.1.0", 163 | "haye": "^2.0.1", 164 | "lodash": "^4.17.5" 165 | }, 166 | "dependencies": { 167 | "debug": { 168 | "version": "3.2.6", 169 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 170 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 171 | "requires": { 172 | "ms": "^2.1.1" 173 | } 174 | } 175 | } 176 | }, 177 | "@adonisjs/validator": { 178 | "version": "5.0.6", 179 | "resolved": "https://registry.npmjs.org/@adonisjs/validator/-/validator-5.0.6.tgz", 180 | "integrity": "sha512-Koql5nOSfRFhNwkvk38tAHLfpxwuOinZIuLhPP0zAfHCltrXCh02MfydfgA13vDc5LITJgWycXFv+FNb7ljCqg==", 181 | "requires": { 182 | "@adonisjs/generic-exceptions": "^2.0.1", 183 | "indicative": "^5.0.8", 184 | "lodash": "^4.17.11" 185 | } 186 | }, 187 | "@babel/polyfill": { 188 | "version": "7.10.4", 189 | "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.10.4.tgz", 190 | "integrity": "sha512-8BYcnVqQ5kMD2HXoHInBH7H1b/uP3KdnwCYXOqFnXqguOyuu443WXusbIUbWEfY3Z0Txk0M1uG/8YuAMhNl6zg==", 191 | "requires": { 192 | "core-js": "^2.6.5", 193 | "regenerator-runtime": "^0.13.4" 194 | } 195 | }, 196 | "@dabh/diagnostics": { 197 | "version": "2.0.2", 198 | "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", 199 | "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", 200 | "requires": { 201 | "colorspace": "1.1.x", 202 | "enabled": "2.0.x", 203 | "kuler": "^2.0.0" 204 | } 205 | }, 206 | "@types/bluebird": { 207 | "version": "3.5.32", 208 | "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz", 209 | "integrity": "sha512-dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==" 210 | }, 211 | "accepts": { 212 | "version": "1.3.7", 213 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 214 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 215 | "requires": { 216 | "mime-types": "~2.1.24", 217 | "negotiator": "0.6.2" 218 | } 219 | }, 220 | "acorn": { 221 | "version": "7.4.0", 222 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", 223 | "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==" 224 | }, 225 | "acorn-node": { 226 | "version": "1.8.2", 227 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 228 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 229 | "requires": { 230 | "acorn": "^7.0.0", 231 | "acorn-walk": "^7.0.0", 232 | "xtend": "^4.0.2" 233 | } 234 | }, 235 | "acorn-walk": { 236 | "version": "7.2.0", 237 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 238 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" 239 | }, 240 | "ansi-bgblack": { 241 | "version": "0.1.1", 242 | "resolved": "https://registry.npmjs.org/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz", 243 | "integrity": "sha1-poulAHiHcBtqr74/oNrf36juPKI=", 244 | "requires": { 245 | "ansi-wrap": "0.1.0" 246 | } 247 | }, 248 | "ansi-bgblue": { 249 | "version": "0.1.1", 250 | "resolved": "https://registry.npmjs.org/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz", 251 | "integrity": "sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=", 252 | "requires": { 253 | "ansi-wrap": "0.1.0" 254 | } 255 | }, 256 | "ansi-bgcyan": { 257 | "version": "0.1.1", 258 | "resolved": "https://registry.npmjs.org/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz", 259 | "integrity": "sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=", 260 | "requires": { 261 | "ansi-wrap": "0.1.0" 262 | } 263 | }, 264 | "ansi-bggreen": { 265 | "version": "0.1.1", 266 | "resolved": "https://registry.npmjs.org/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz", 267 | "integrity": "sha1-TjGRJIUplD9DIelr8THRwTgWr0k=", 268 | "requires": { 269 | "ansi-wrap": "0.1.0" 270 | } 271 | }, 272 | "ansi-bgmagenta": { 273 | "version": "0.1.1", 274 | "resolved": "https://registry.npmjs.org/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz", 275 | "integrity": "sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=", 276 | "requires": { 277 | "ansi-wrap": "0.1.0" 278 | } 279 | }, 280 | "ansi-bgred": { 281 | "version": "0.1.1", 282 | "resolved": "https://registry.npmjs.org/ansi-bgred/-/ansi-bgred-0.1.1.tgz", 283 | "integrity": "sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=", 284 | "requires": { 285 | "ansi-wrap": "0.1.0" 286 | } 287 | }, 288 | "ansi-bgwhite": { 289 | "version": "0.1.1", 290 | "resolved": "https://registry.npmjs.org/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz", 291 | "integrity": "sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=", 292 | "requires": { 293 | "ansi-wrap": "0.1.0" 294 | } 295 | }, 296 | "ansi-bgyellow": { 297 | "version": "0.1.1", 298 | "resolved": "https://registry.npmjs.org/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz", 299 | "integrity": "sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=", 300 | "requires": { 301 | "ansi-wrap": "0.1.0" 302 | } 303 | }, 304 | "ansi-black": { 305 | "version": "0.1.1", 306 | "resolved": "https://registry.npmjs.org/ansi-black/-/ansi-black-0.1.1.tgz", 307 | "integrity": "sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=", 308 | "requires": { 309 | "ansi-wrap": "0.1.0" 310 | } 311 | }, 312 | "ansi-blue": { 313 | "version": "0.1.1", 314 | "resolved": "https://registry.npmjs.org/ansi-blue/-/ansi-blue-0.1.1.tgz", 315 | "integrity": "sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=", 316 | "requires": { 317 | "ansi-wrap": "0.1.0" 318 | } 319 | }, 320 | "ansi-bold": { 321 | "version": "0.1.1", 322 | "resolved": "https://registry.npmjs.org/ansi-bold/-/ansi-bold-0.1.1.tgz", 323 | "integrity": "sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=", 324 | "requires": { 325 | "ansi-wrap": "0.1.0" 326 | } 327 | }, 328 | "ansi-colors": { 329 | "version": "0.2.0", 330 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.2.0.tgz", 331 | "integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=", 332 | "requires": { 333 | "ansi-bgblack": "^0.1.1", 334 | "ansi-bgblue": "^0.1.1", 335 | "ansi-bgcyan": "^0.1.1", 336 | "ansi-bggreen": "^0.1.1", 337 | "ansi-bgmagenta": "^0.1.1", 338 | "ansi-bgred": "^0.1.1", 339 | "ansi-bgwhite": "^0.1.1", 340 | "ansi-bgyellow": "^0.1.1", 341 | "ansi-black": "^0.1.1", 342 | "ansi-blue": "^0.1.1", 343 | "ansi-bold": "^0.1.1", 344 | "ansi-cyan": "^0.1.1", 345 | "ansi-dim": "^0.1.1", 346 | "ansi-gray": "^0.1.1", 347 | "ansi-green": "^0.1.1", 348 | "ansi-grey": "^0.1.1", 349 | "ansi-hidden": "^0.1.1", 350 | "ansi-inverse": "^0.1.1", 351 | "ansi-italic": "^0.1.1", 352 | "ansi-magenta": "^0.1.1", 353 | "ansi-red": "^0.1.1", 354 | "ansi-reset": "^0.1.1", 355 | "ansi-strikethrough": "^0.1.1", 356 | "ansi-underline": "^0.1.1", 357 | "ansi-white": "^0.1.1", 358 | "ansi-yellow": "^0.1.1", 359 | "lazy-cache": "^2.0.1" 360 | } 361 | }, 362 | "ansi-cyan": { 363 | "version": "0.1.1", 364 | "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", 365 | "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", 366 | "requires": { 367 | "ansi-wrap": "0.1.0" 368 | } 369 | }, 370 | "ansi-dim": { 371 | "version": "0.1.1", 372 | "resolved": "https://registry.npmjs.org/ansi-dim/-/ansi-dim-0.1.1.tgz", 373 | "integrity": "sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=", 374 | "requires": { 375 | "ansi-wrap": "0.1.0" 376 | } 377 | }, 378 | "ansi-gray": { 379 | "version": "0.1.1", 380 | "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", 381 | "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", 382 | "requires": { 383 | "ansi-wrap": "0.1.0" 384 | } 385 | }, 386 | "ansi-green": { 387 | "version": "0.1.1", 388 | "resolved": "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz", 389 | "integrity": "sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=", 390 | "requires": { 391 | "ansi-wrap": "0.1.0" 392 | } 393 | }, 394 | "ansi-grey": { 395 | "version": "0.1.1", 396 | "resolved": "https://registry.npmjs.org/ansi-grey/-/ansi-grey-0.1.1.tgz", 397 | "integrity": "sha1-WdmLasK6GfilF5jphT+6eDOaM8E=", 398 | "requires": { 399 | "ansi-wrap": "0.1.0" 400 | } 401 | }, 402 | "ansi-hidden": { 403 | "version": "0.1.1", 404 | "resolved": "https://registry.npmjs.org/ansi-hidden/-/ansi-hidden-0.1.1.tgz", 405 | "integrity": "sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=", 406 | "requires": { 407 | "ansi-wrap": "0.1.0" 408 | } 409 | }, 410 | "ansi-inverse": { 411 | "version": "0.1.1", 412 | "resolved": "https://registry.npmjs.org/ansi-inverse/-/ansi-inverse-0.1.1.tgz", 413 | "integrity": "sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=", 414 | "requires": { 415 | "ansi-wrap": "0.1.0" 416 | } 417 | }, 418 | "ansi-italic": { 419 | "version": "0.1.1", 420 | "resolved": "https://registry.npmjs.org/ansi-italic/-/ansi-italic-0.1.1.tgz", 421 | "integrity": "sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=", 422 | "requires": { 423 | "ansi-wrap": "0.1.0" 424 | } 425 | }, 426 | "ansi-magenta": { 427 | "version": "0.1.1", 428 | "resolved": "https://registry.npmjs.org/ansi-magenta/-/ansi-magenta-0.1.1.tgz", 429 | "integrity": "sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=", 430 | "requires": { 431 | "ansi-wrap": "0.1.0" 432 | } 433 | }, 434 | "ansi-red": { 435 | "version": "0.1.1", 436 | "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", 437 | "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", 438 | "requires": { 439 | "ansi-wrap": "0.1.0" 440 | } 441 | }, 442 | "ansi-regex": { 443 | "version": "3.0.0", 444 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 445 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 446 | }, 447 | "ansi-reset": { 448 | "version": "0.1.1", 449 | "resolved": "https://registry.npmjs.org/ansi-reset/-/ansi-reset-0.1.1.tgz", 450 | "integrity": "sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=", 451 | "requires": { 452 | "ansi-wrap": "0.1.0" 453 | } 454 | }, 455 | "ansi-strikethrough": { 456 | "version": "0.1.1", 457 | "resolved": "https://registry.npmjs.org/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz", 458 | "integrity": "sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=", 459 | "requires": { 460 | "ansi-wrap": "0.1.0" 461 | } 462 | }, 463 | "ansi-styles": { 464 | "version": "3.2.1", 465 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 466 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 467 | "requires": { 468 | "color-convert": "^1.9.0" 469 | } 470 | }, 471 | "ansi-underline": { 472 | "version": "0.1.1", 473 | "resolved": "https://registry.npmjs.org/ansi-underline/-/ansi-underline-0.1.1.tgz", 474 | "integrity": "sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=", 475 | "requires": { 476 | "ansi-wrap": "0.1.0" 477 | } 478 | }, 479 | "ansi-white": { 480 | "version": "0.1.1", 481 | "resolved": "https://registry.npmjs.org/ansi-white/-/ansi-white-0.1.1.tgz", 482 | "integrity": "sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=", 483 | "requires": { 484 | "ansi-wrap": "0.1.0" 485 | } 486 | }, 487 | "ansi-wrap": { 488 | "version": "0.1.0", 489 | "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", 490 | "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" 491 | }, 492 | "ansi-yellow": { 493 | "version": "0.1.1", 494 | "resolved": "https://registry.npmjs.org/ansi-yellow/-/ansi-yellow-0.1.1.tgz", 495 | "integrity": "sha1-y5NW8vRscy8OMZnmEClVp32oPB0=", 496 | "requires": { 497 | "ansi-wrap": "0.1.0" 498 | } 499 | }, 500 | "any-promise": { 501 | "version": "0.1.0", 502 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", 503 | "integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=" 504 | }, 505 | "arr-diff": { 506 | "version": "4.0.0", 507 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 508 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" 509 | }, 510 | "arr-flatten": { 511 | "version": "1.1.0", 512 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 513 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" 514 | }, 515 | "arr-swap": { 516 | "version": "1.0.1", 517 | "resolved": "https://registry.npmjs.org/arr-swap/-/arr-swap-1.0.1.tgz", 518 | "integrity": "sha1-FHWQ7WX8gVvAf+8Jl8Llgj1kNTQ=", 519 | "requires": { 520 | "is-number": "^3.0.0" 521 | }, 522 | "dependencies": { 523 | "is-number": { 524 | "version": "3.0.0", 525 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 526 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 527 | "requires": { 528 | "kind-of": "^3.0.2" 529 | } 530 | } 531 | } 532 | }, 533 | "arr-union": { 534 | "version": "3.1.0", 535 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 536 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" 537 | }, 538 | "array-each": { 539 | "version": "1.0.1", 540 | "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", 541 | "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" 542 | }, 543 | "array-slice": { 544 | "version": "1.1.0", 545 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", 546 | "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" 547 | }, 548 | "array-unique": { 549 | "version": "0.3.2", 550 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 551 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" 552 | }, 553 | "assign-symbols": { 554 | "version": "1.0.0", 555 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 556 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" 557 | }, 558 | "async": { 559 | "version": "3.2.0", 560 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", 561 | "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" 562 | }, 563 | "atob": { 564 | "version": "2.1.2", 565 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 566 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" 567 | }, 568 | "base": { 569 | "version": "0.11.2", 570 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 571 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 572 | "requires": { 573 | "cache-base": "^1.0.1", 574 | "class-utils": "^0.3.5", 575 | "component-emitter": "^1.2.1", 576 | "define-property": "^1.0.0", 577 | "isobject": "^3.0.1", 578 | "mixin-deep": "^1.2.0", 579 | "pascalcase": "^0.1.1" 580 | } 581 | }, 582 | "basic-auth": { 583 | "version": "2.0.1", 584 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", 585 | "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", 586 | "requires": { 587 | "safe-buffer": "5.1.2" 588 | } 589 | }, 590 | "bcryptjs": { 591 | "version": "2.4.3", 592 | "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", 593 | "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" 594 | }, 595 | "bignumber.js": { 596 | "version": "9.0.0", 597 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", 598 | "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" 599 | }, 600 | "bluebird": { 601 | "version": "3.7.2", 602 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 603 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" 604 | }, 605 | "braces": { 606 | "version": "2.3.2", 607 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 608 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 609 | "requires": { 610 | "arr-flatten": "^1.1.0", 611 | "array-unique": "^0.3.2", 612 | "extend-shallow": "^2.0.1", 613 | "fill-range": "^4.0.0", 614 | "isobject": "^3.0.1", 615 | "repeat-element": "^1.1.2", 616 | "snapdragon": "^0.8.1", 617 | "snapdragon-node": "^2.0.1", 618 | "split-string": "^3.0.2", 619 | "to-regex": "^3.0.1" 620 | } 621 | }, 622 | "buffer-equal-constant-time": { 623 | "version": "1.0.1", 624 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 625 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" 626 | }, 627 | "bytes": { 628 | "version": "3.1.0", 629 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 630 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 631 | }, 632 | "cache-base": { 633 | "version": "1.0.1", 634 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 635 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 636 | "requires": { 637 | "collection-visit": "^1.0.0", 638 | "component-emitter": "^1.2.1", 639 | "get-value": "^2.0.6", 640 | "has-value": "^1.0.0", 641 | "isobject": "^3.0.1", 642 | "set-value": "^2.0.0", 643 | "to-object-path": "^0.3.0", 644 | "union-value": "^1.0.0", 645 | "unset-value": "^1.0.0" 646 | }, 647 | "dependencies": { 648 | "set-value": { 649 | "version": "2.0.1", 650 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", 651 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", 652 | "requires": { 653 | "extend-shallow": "^2.0.1", 654 | "is-extendable": "^0.1.1", 655 | "is-plain-object": "^2.0.3", 656 | "split-string": "^3.0.1" 657 | } 658 | } 659 | } 660 | }, 661 | "caller": { 662 | "version": "1.0.1", 663 | "resolved": "https://registry.npmjs.org/caller/-/caller-1.0.1.tgz", 664 | "integrity": "sha1-uFGGD3Dhlds9J3OVqhp+I+ow7PU=" 665 | }, 666 | "caller-path": { 667 | "version": "0.1.0", 668 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 669 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 670 | "requires": { 671 | "callsites": "^0.2.0" 672 | } 673 | }, 674 | "callsites": { 675 | "version": "0.2.0", 676 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 677 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" 678 | }, 679 | "chalk": { 680 | "version": "2.4.2", 681 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 682 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 683 | "requires": { 684 | "ansi-styles": "^3.2.1", 685 | "escape-string-regexp": "^1.0.5", 686 | "supports-color": "^5.3.0" 687 | } 688 | }, 689 | "chance": { 690 | "version": "1.1.6", 691 | "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.6.tgz", 692 | "integrity": "sha512-DXLzaGjasDWbvlFAJyQBIwlzdQZuPdz4of9TTTxmHTjja88ZU/vBwUwxxjalSt43zWTPrhiJT0z0N4bZqfZS9w==" 693 | }, 694 | "choices-separator": { 695 | "version": "2.0.0", 696 | "resolved": "https://registry.npmjs.org/choices-separator/-/choices-separator-2.0.0.tgz", 697 | "integrity": "sha1-kv0XYxgteQM/XFxR0Lo1LlVnxpY=", 698 | "requires": { 699 | "ansi-dim": "^0.1.1", 700 | "debug": "^2.6.6", 701 | "strip-color": "^0.1.0" 702 | }, 703 | "dependencies": { 704 | "debug": { 705 | "version": "2.6.9", 706 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 707 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 708 | "requires": { 709 | "ms": "2.0.0" 710 | } 711 | }, 712 | "ms": { 713 | "version": "2.0.0", 714 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 715 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 716 | } 717 | } 718 | }, 719 | "class-utils": { 720 | "version": "0.3.6", 721 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 722 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 723 | "requires": { 724 | "arr-union": "^3.1.0", 725 | "define-property": "^0.2.5", 726 | "isobject": "^3.0.0", 727 | "static-extend": "^0.1.1" 728 | }, 729 | "dependencies": { 730 | "define-property": { 731 | "version": "0.2.5", 732 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 733 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 734 | "requires": { 735 | "is-descriptor": "^0.1.0" 736 | } 737 | }, 738 | "is-accessor-descriptor": { 739 | "version": "0.1.6", 740 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 741 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 742 | "requires": { 743 | "kind-of": "^3.0.2" 744 | }, 745 | "dependencies": { 746 | "kind-of": { 747 | "version": "3.2.2", 748 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 749 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 750 | "requires": { 751 | "is-buffer": "^1.1.5" 752 | } 753 | } 754 | } 755 | }, 756 | "is-data-descriptor": { 757 | "version": "0.1.4", 758 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 759 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 760 | "requires": { 761 | "kind-of": "^3.0.2" 762 | }, 763 | "dependencies": { 764 | "kind-of": { 765 | "version": "3.2.2", 766 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 767 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 768 | "requires": { 769 | "is-buffer": "^1.1.5" 770 | } 771 | } 772 | } 773 | }, 774 | "is-descriptor": { 775 | "version": "0.1.6", 776 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 777 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 778 | "requires": { 779 | "is-accessor-descriptor": "^0.1.6", 780 | "is-data-descriptor": "^0.1.4", 781 | "kind-of": "^5.0.0" 782 | } 783 | }, 784 | "kind-of": { 785 | "version": "5.1.0", 786 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 787 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 788 | } 789 | } 790 | }, 791 | "cli-table": { 792 | "version": "0.3.1", 793 | "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", 794 | "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", 795 | "requires": { 796 | "colors": "1.0.3" 797 | } 798 | }, 799 | "clone": { 800 | "version": "2.1.2", 801 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", 802 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" 803 | }, 804 | "clone-deep": { 805 | "version": "1.0.0", 806 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz", 807 | "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", 808 | "requires": { 809 | "for-own": "^1.0.0", 810 | "is-plain-object": "^2.0.4", 811 | "kind-of": "^5.0.0", 812 | "shallow-clone": "^1.0.0" 813 | }, 814 | "dependencies": { 815 | "kind-of": { 816 | "version": "5.1.0", 817 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 818 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 819 | } 820 | } 821 | }, 822 | "co-body": { 823 | "version": "6.0.0", 824 | "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.0.0.tgz", 825 | "integrity": "sha512-9ZIcixguuuKIptnY8yemEOuhb71L/lLf+Rl5JfJEUiDNJk0e02MBt7BPxR2GEh5mw8dPthQYR4jPI/BnS1MQgw==", 826 | "requires": { 827 | "inflation": "^2.0.0", 828 | "qs": "^6.5.2", 829 | "raw-body": "^2.3.3", 830 | "type-is": "^1.6.16" 831 | } 832 | }, 833 | "co-compose": { 834 | "version": "4.0.0", 835 | "resolved": "https://registry.npmjs.org/co-compose/-/co-compose-4.0.0.tgz", 836 | "integrity": "sha512-0wXLbbbkU49Pyj7Fjfu58wIoeLgyyRau3huJfxEimmytzI7M+o1XhK2ls872PjpOzyvw0U3KGLqxrIst8IHaWA==", 837 | "requires": { 838 | "once": "^1.4.0" 839 | } 840 | }, 841 | "collection-visit": { 842 | "version": "1.0.0", 843 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 844 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 845 | "requires": { 846 | "map-visit": "^1.0.0", 847 | "object-visit": "^1.0.0" 848 | } 849 | }, 850 | "color": { 851 | "version": "3.0.0", 852 | "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", 853 | "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", 854 | "requires": { 855 | "color-convert": "^1.9.1", 856 | "color-string": "^1.5.2" 857 | } 858 | }, 859 | "color-convert": { 860 | "version": "1.9.3", 861 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 862 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 863 | "requires": { 864 | "color-name": "1.1.3" 865 | } 866 | }, 867 | "color-name": { 868 | "version": "1.1.3", 869 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 870 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 871 | }, 872 | "color-string": { 873 | "version": "1.5.3", 874 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", 875 | "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", 876 | "requires": { 877 | "color-name": "^1.0.0", 878 | "simple-swizzle": "^0.2.2" 879 | } 880 | }, 881 | "colorette": { 882 | "version": "1.0.7", 883 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.0.7.tgz", 884 | "integrity": "sha512-KeK4klsvAgdODAjFPm6QLzvStizJqlxMBtVo4KQMCgk5tt/tf9rAzxmxLHNRynJg3tJjkKGKbHx3j4HLox27Lw==" 885 | }, 886 | "colors": { 887 | "version": "1.0.3", 888 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", 889 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" 890 | }, 891 | "colorspace": { 892 | "version": "1.1.2", 893 | "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", 894 | "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", 895 | "requires": { 896 | "color": "3.0.x", 897 | "text-hex": "1.0.x" 898 | } 899 | }, 900 | "commander": { 901 | "version": "2.20.3", 902 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 903 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 904 | }, 905 | "component-emitter": { 906 | "version": "1.3.0", 907 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", 908 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" 909 | }, 910 | "content-disposition": { 911 | "version": "0.5.3", 912 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 913 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", 914 | "requires": { 915 | "safe-buffer": "5.1.2" 916 | } 917 | }, 918 | "cookie": { 919 | "version": "0.4.1", 920 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", 921 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" 922 | }, 923 | "cookie-signature": { 924 | "version": "1.1.0", 925 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.1.0.tgz", 926 | "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==" 927 | }, 928 | "copy-descriptor": { 929 | "version": "0.1.1", 930 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 931 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" 932 | }, 933 | "core-js": { 934 | "version": "2.6.11", 935 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", 936 | "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" 937 | }, 938 | "core-util-is": { 939 | "version": "1.0.2", 940 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 941 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 942 | }, 943 | "cross-env": { 944 | "version": "5.2.1", 945 | "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", 946 | "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", 947 | "requires": { 948 | "cross-spawn": "^6.0.5" 949 | } 950 | }, 951 | "cross-spawn": { 952 | "version": "6.0.5", 953 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 954 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 955 | "requires": { 956 | "nice-try": "^1.0.4", 957 | "path-key": "^2.0.1", 958 | "semver": "^5.5.0", 959 | "shebang-command": "^1.2.0", 960 | "which": "^1.2.9" 961 | } 962 | }, 963 | "debug": { 964 | "version": "4.1.1", 965 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 966 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 967 | "requires": { 968 | "ms": "^2.1.1" 969 | } 970 | }, 971 | "decode-uri-component": { 972 | "version": "0.2.0", 973 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 974 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 975 | }, 976 | "define-property": { 977 | "version": "1.0.0", 978 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 979 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 980 | "requires": { 981 | "is-descriptor": "^1.0.0" 982 | } 983 | }, 984 | "depd": { 985 | "version": "1.1.2", 986 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 987 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 988 | }, 989 | "destroy": { 990 | "version": "1.0.4", 991 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 992 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 993 | }, 994 | "detect-file": { 995 | "version": "1.0.0", 996 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", 997 | "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" 998 | }, 999 | "dotenv": { 1000 | "version": "6.2.0", 1001 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", 1002 | "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==" 1003 | }, 1004 | "ecdsa-sig-formatter": { 1005 | "version": "1.0.11", 1006 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 1007 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 1008 | "requires": { 1009 | "safe-buffer": "^5.0.1" 1010 | } 1011 | }, 1012 | "edge.js": { 1013 | "version": "1.1.4", 1014 | "resolved": "https://registry.npmjs.org/edge.js/-/edge.js-1.1.4.tgz", 1015 | "integrity": "sha512-IF4RTNf15KLsn99nTDU90SMZ4fiCcN1WD5kTAB9jOdjx/HEPa3vf/Z+zDOMi6n7d4R0ypm4PzSRuhbIAHmEYcg==", 1016 | "requires": { 1017 | "debug": "^3.1.0", 1018 | "encodeurl": "^1.0.2", 1019 | "escape-html": "^1.0.3", 1020 | "esprima": "^4.0.0", 1021 | "indent-string": "^3.2.0", 1022 | "lodash": "^4.17.4", 1023 | "node-exceptions": "^3.0.0", 1024 | "require-uncached": "^1.0.3", 1025 | "upcast": "^2.1.1" 1026 | }, 1027 | "dependencies": { 1028 | "debug": { 1029 | "version": "3.2.6", 1030 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 1031 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 1032 | "requires": { 1033 | "ms": "^2.1.1" 1034 | } 1035 | } 1036 | } 1037 | }, 1038 | "ee-first": { 1039 | "version": "1.1.1", 1040 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 1041 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 1042 | }, 1043 | "enabled": { 1044 | "version": "2.0.0", 1045 | "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", 1046 | "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" 1047 | }, 1048 | "encodeurl": { 1049 | "version": "1.0.2", 1050 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 1051 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 1052 | }, 1053 | "end-of-stream": { 1054 | "version": "1.4.4", 1055 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 1056 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 1057 | "requires": { 1058 | "once": "^1.4.0" 1059 | } 1060 | }, 1061 | "enquirer": { 1062 | "version": "1.0.3", 1063 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-1.0.3.tgz", 1064 | "integrity": "sha512-3y9zemKlEhH6oW/WBrqofpc2JLtFkoolvWFFTTMPVede1lQ/E83xjdaE4L82RJCYgaiGB5ctjHX/BRbVk2iuJA==", 1065 | "requires": { 1066 | "choices-separator": "^2.0.0", 1067 | "collection-visit": "^1.0.0", 1068 | "component-emitter": "^1.2.1", 1069 | "debug": "^2.6.8", 1070 | "extend-shallow": "^2.0.1", 1071 | "get-value": "^2.0.6", 1072 | "isobject": "^3.0.0", 1073 | "promise-reduce": "^2.1.0", 1074 | "prompt-input": "^3.0.0", 1075 | "prompt-question": "^3.0.3", 1076 | "readline-ui": "^2.2.2", 1077 | "set-value": "^1.0.0" 1078 | }, 1079 | "dependencies": { 1080 | "debug": { 1081 | "version": "2.6.9", 1082 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1083 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1084 | "requires": { 1085 | "ms": "2.0.0" 1086 | } 1087 | }, 1088 | "ms": { 1089 | "version": "2.0.0", 1090 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1091 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1092 | } 1093 | } 1094 | }, 1095 | "error-symbol": { 1096 | "version": "0.1.0", 1097 | "resolved": "https://registry.npmjs.org/error-symbol/-/error-symbol-0.1.0.tgz", 1098 | "integrity": "sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y=" 1099 | }, 1100 | "escape-html": { 1101 | "version": "1.0.3", 1102 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 1103 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 1104 | }, 1105 | "escape-string-regexp": { 1106 | "version": "1.0.5", 1107 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1108 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 1109 | }, 1110 | "esprima": { 1111 | "version": "4.0.1", 1112 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1113 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" 1114 | }, 1115 | "etag": { 1116 | "version": "1.8.1", 1117 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 1118 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 1119 | }, 1120 | "eventemitter2": { 1121 | "version": "5.0.1", 1122 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz", 1123 | "integrity": "sha1-YZegldX7a1folC9v1+qtY6CclFI=" 1124 | }, 1125 | "expand-brackets": { 1126 | "version": "2.1.4", 1127 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 1128 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 1129 | "requires": { 1130 | "debug": "^2.3.3", 1131 | "define-property": "^0.2.5", 1132 | "extend-shallow": "^2.0.1", 1133 | "posix-character-classes": "^0.1.0", 1134 | "regex-not": "^1.0.0", 1135 | "snapdragon": "^0.8.1", 1136 | "to-regex": "^3.0.1" 1137 | }, 1138 | "dependencies": { 1139 | "debug": { 1140 | "version": "2.6.9", 1141 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1142 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1143 | "requires": { 1144 | "ms": "2.0.0" 1145 | } 1146 | }, 1147 | "define-property": { 1148 | "version": "0.2.5", 1149 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1150 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1151 | "requires": { 1152 | "is-descriptor": "^0.1.0" 1153 | } 1154 | }, 1155 | "is-accessor-descriptor": { 1156 | "version": "0.1.6", 1157 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1158 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1159 | "requires": { 1160 | "kind-of": "^3.0.2" 1161 | }, 1162 | "dependencies": { 1163 | "kind-of": { 1164 | "version": "3.2.2", 1165 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1166 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1167 | "requires": { 1168 | "is-buffer": "^1.1.5" 1169 | } 1170 | } 1171 | } 1172 | }, 1173 | "is-data-descriptor": { 1174 | "version": "0.1.4", 1175 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1176 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1177 | "requires": { 1178 | "kind-of": "^3.0.2" 1179 | }, 1180 | "dependencies": { 1181 | "kind-of": { 1182 | "version": "3.2.2", 1183 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1184 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1185 | "requires": { 1186 | "is-buffer": "^1.1.5" 1187 | } 1188 | } 1189 | } 1190 | }, 1191 | "is-descriptor": { 1192 | "version": "0.1.6", 1193 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1194 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1195 | "requires": { 1196 | "is-accessor-descriptor": "^0.1.6", 1197 | "is-data-descriptor": "^0.1.4", 1198 | "kind-of": "^5.0.0" 1199 | } 1200 | }, 1201 | "kind-of": { 1202 | "version": "5.1.0", 1203 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1204 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 1205 | }, 1206 | "ms": { 1207 | "version": "2.0.0", 1208 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1209 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1210 | } 1211 | } 1212 | }, 1213 | "expand-tilde": { 1214 | "version": "2.0.2", 1215 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 1216 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", 1217 | "requires": { 1218 | "homedir-polyfill": "^1.0.1" 1219 | } 1220 | }, 1221 | "extend": { 1222 | "version": "3.0.2", 1223 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1224 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 1225 | }, 1226 | "extend-shallow": { 1227 | "version": "2.0.1", 1228 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1229 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1230 | "requires": { 1231 | "is-extendable": "^0.1.0" 1232 | } 1233 | }, 1234 | "extglob": { 1235 | "version": "2.0.4", 1236 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 1237 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 1238 | "requires": { 1239 | "array-unique": "^0.3.2", 1240 | "define-property": "^1.0.0", 1241 | "expand-brackets": "^2.1.4", 1242 | "extend-shallow": "^2.0.1", 1243 | "fragment-cache": "^0.2.1", 1244 | "regex-not": "^1.0.0", 1245 | "snapdragon": "^0.8.1", 1246 | "to-regex": "^3.0.1" 1247 | } 1248 | }, 1249 | "fast-levenshtein": { 1250 | "version": "2.0.6", 1251 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1252 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" 1253 | }, 1254 | "fast-safe-stringify": { 1255 | "version": "2.0.7", 1256 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", 1257 | "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" 1258 | }, 1259 | "fecha": { 1260 | "version": "4.2.0", 1261 | "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", 1262 | "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" 1263 | }, 1264 | "fill-range": { 1265 | "version": "4.0.0", 1266 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 1267 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 1268 | "requires": { 1269 | "extend-shallow": "^2.0.1", 1270 | "is-number": "^3.0.0", 1271 | "repeat-string": "^1.6.1", 1272 | "to-regex-range": "^2.1.0" 1273 | }, 1274 | "dependencies": { 1275 | "is-number": { 1276 | "version": "3.0.0", 1277 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1278 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1279 | "requires": { 1280 | "kind-of": "^3.0.2" 1281 | } 1282 | } 1283 | } 1284 | }, 1285 | "findup-sync": { 1286 | "version": "3.0.0", 1287 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", 1288 | "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", 1289 | "requires": { 1290 | "detect-file": "^1.0.0", 1291 | "is-glob": "^4.0.0", 1292 | "micromatch": "^3.0.4", 1293 | "resolve-dir": "^1.0.1" 1294 | } 1295 | }, 1296 | "fined": { 1297 | "version": "1.2.0", 1298 | "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", 1299 | "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", 1300 | "requires": { 1301 | "expand-tilde": "^2.0.2", 1302 | "is-plain-object": "^2.0.3", 1303 | "object.defaults": "^1.1.0", 1304 | "object.pick": "^1.2.0", 1305 | "parse-filepath": "^1.0.1" 1306 | } 1307 | }, 1308 | "flagged-respawn": { 1309 | "version": "1.0.1", 1310 | "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", 1311 | "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" 1312 | }, 1313 | "fn.name": { 1314 | "version": "1.1.0", 1315 | "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", 1316 | "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" 1317 | }, 1318 | "for-in": { 1319 | "version": "1.0.2", 1320 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1321 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" 1322 | }, 1323 | "for-own": { 1324 | "version": "1.0.0", 1325 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", 1326 | "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", 1327 | "requires": { 1328 | "for-in": "^1.0.1" 1329 | } 1330 | }, 1331 | "forwarded": { 1332 | "version": "0.1.2", 1333 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 1334 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 1335 | }, 1336 | "fragment-cache": { 1337 | "version": "0.2.1", 1338 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1339 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 1340 | "requires": { 1341 | "map-cache": "^0.2.2" 1342 | } 1343 | }, 1344 | "fresh": { 1345 | "version": "0.5.2", 1346 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 1347 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 1348 | }, 1349 | "fs-extra": { 1350 | "version": "7.0.1", 1351 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 1352 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 1353 | "requires": { 1354 | "graceful-fs": "^4.1.2", 1355 | "jsonfile": "^4.0.0", 1356 | "universalify": "^0.1.0" 1357 | } 1358 | }, 1359 | "get-stream": { 1360 | "version": "4.1.0", 1361 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 1362 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 1363 | "requires": { 1364 | "pump": "^3.0.0" 1365 | } 1366 | }, 1367 | "get-value": { 1368 | "version": "2.0.6", 1369 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1370 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" 1371 | }, 1372 | "getopts": { 1373 | "version": "2.2.3", 1374 | "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.3.tgz", 1375 | "integrity": "sha512-viEcb8TpgeG05+Nqo5EzZ8QR0hxdyrYDp6ZSTZqe2M/h53Bk036NmqG38Vhf5RGirC/Of9Xql+v66B2gp256SQ==" 1376 | }, 1377 | "global-modules": { 1378 | "version": "1.0.0", 1379 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 1380 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 1381 | "requires": { 1382 | "global-prefix": "^1.0.1", 1383 | "is-windows": "^1.0.1", 1384 | "resolve-dir": "^1.0.0" 1385 | } 1386 | }, 1387 | "global-prefix": { 1388 | "version": "1.0.2", 1389 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 1390 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", 1391 | "requires": { 1392 | "expand-tilde": "^2.0.2", 1393 | "homedir-polyfill": "^1.0.1", 1394 | "ini": "^1.3.4", 1395 | "is-windows": "^1.0.1", 1396 | "which": "^1.2.14" 1397 | } 1398 | }, 1399 | "graceful-fs": { 1400 | "version": "4.2.4", 1401 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 1402 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" 1403 | }, 1404 | "has-flag": { 1405 | "version": "3.0.0", 1406 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1407 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 1408 | }, 1409 | "has-value": { 1410 | "version": "1.0.0", 1411 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1412 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1413 | "requires": { 1414 | "get-value": "^2.0.6", 1415 | "has-values": "^1.0.0", 1416 | "isobject": "^3.0.0" 1417 | } 1418 | }, 1419 | "has-values": { 1420 | "version": "1.0.0", 1421 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1422 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1423 | "requires": { 1424 | "is-number": "^3.0.0", 1425 | "kind-of": "^4.0.0" 1426 | }, 1427 | "dependencies": { 1428 | "is-number": { 1429 | "version": "3.0.0", 1430 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1431 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1432 | "requires": { 1433 | "kind-of": "^3.0.2" 1434 | }, 1435 | "dependencies": { 1436 | "kind-of": { 1437 | "version": "3.2.2", 1438 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1439 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1440 | "requires": { 1441 | "is-buffer": "^1.1.5" 1442 | } 1443 | } 1444 | } 1445 | }, 1446 | "kind-of": { 1447 | "version": "4.0.0", 1448 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1449 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1450 | "requires": { 1451 | "is-buffer": "^1.1.5" 1452 | } 1453 | } 1454 | } 1455 | }, 1456 | "haye": { 1457 | "version": "2.0.2", 1458 | "resolved": "https://registry.npmjs.org/haye/-/haye-2.0.2.tgz", 1459 | "integrity": "sha512-C+jeFipAuwLLmQziwQrXuHzUIihDzqoLpCpwDWYFQVCIyqi5ZvC+4YtzawPTmd1tIKo0ULf+4P0Mw8irUdXIpg==" 1460 | }, 1461 | "homedir-polyfill": { 1462 | "version": "1.0.3", 1463 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", 1464 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", 1465 | "requires": { 1466 | "parse-passwd": "^1.0.0" 1467 | } 1468 | }, 1469 | "http-errors": { 1470 | "version": "1.7.3", 1471 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", 1472 | "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", 1473 | "requires": { 1474 | "depd": "~1.1.2", 1475 | "inherits": "2.0.4", 1476 | "setprototypeof": "1.1.1", 1477 | "statuses": ">= 1.5.0 < 2", 1478 | "toidentifier": "1.0.0" 1479 | } 1480 | }, 1481 | "iconv-lite": { 1482 | "version": "0.4.24", 1483 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1484 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1485 | "requires": { 1486 | "safer-buffer": ">= 2.1.2 < 3" 1487 | } 1488 | }, 1489 | "indent-string": { 1490 | "version": "3.2.0", 1491 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 1492 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" 1493 | }, 1494 | "indicative": { 1495 | "version": "5.0.8", 1496 | "resolved": "https://registry.npmjs.org/indicative/-/indicative-5.0.8.tgz", 1497 | "integrity": "sha512-Do9YKlrxyvK6RpMs9AdtxmjhweKrA6hJbJejY81iD8aYjjvOU4HYkJcM2IUxC3S7ZRm/L11u67QT4OQ101N5HQ==" 1498 | }, 1499 | "inflation": { 1500 | "version": "2.0.0", 1501 | "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz", 1502 | "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=" 1503 | }, 1504 | "info-symbol": { 1505 | "version": "0.1.0", 1506 | "resolved": "https://registry.npmjs.org/info-symbol/-/info-symbol-0.1.0.tgz", 1507 | "integrity": "sha1-J4QdcoZ920JCzWEtecEGM4gcang=" 1508 | }, 1509 | "inherits": { 1510 | "version": "2.0.4", 1511 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1512 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1513 | }, 1514 | "ini": { 1515 | "version": "1.3.5", 1516 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1517 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" 1518 | }, 1519 | "interpret": { 1520 | "version": "1.4.0", 1521 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", 1522 | "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" 1523 | }, 1524 | "ipaddr.js": { 1525 | "version": "1.9.1", 1526 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1527 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 1528 | }, 1529 | "is-absolute": { 1530 | "version": "1.0.0", 1531 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", 1532 | "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", 1533 | "requires": { 1534 | "is-relative": "^1.0.0", 1535 | "is-windows": "^1.0.1" 1536 | } 1537 | }, 1538 | "is-accessor-descriptor": { 1539 | "version": "1.0.0", 1540 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1541 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1542 | "requires": { 1543 | "kind-of": "^6.0.0" 1544 | }, 1545 | "dependencies": { 1546 | "kind-of": { 1547 | "version": "6.0.3", 1548 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1549 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 1550 | } 1551 | } 1552 | }, 1553 | "is-arrayish": { 1554 | "version": "0.3.2", 1555 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 1556 | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" 1557 | }, 1558 | "is-arrow-function": { 1559 | "version": "2.0.3", 1560 | "resolved": "https://registry.npmjs.org/is-arrow-function/-/is-arrow-function-2.0.3.tgz", 1561 | "integrity": "sha1-Kb4sLY2UUIUri7r7Y1unuNjofsI=", 1562 | "requires": { 1563 | "is-callable": "^1.0.4" 1564 | } 1565 | }, 1566 | "is-buffer": { 1567 | "version": "1.1.6", 1568 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1569 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1570 | }, 1571 | "is-callable": { 1572 | "version": "1.2.0", 1573 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", 1574 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" 1575 | }, 1576 | "is-data-descriptor": { 1577 | "version": "1.0.0", 1578 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1579 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1580 | "requires": { 1581 | "kind-of": "^6.0.0" 1582 | }, 1583 | "dependencies": { 1584 | "kind-of": { 1585 | "version": "6.0.3", 1586 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1587 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 1588 | } 1589 | } 1590 | }, 1591 | "is-descriptor": { 1592 | "version": "1.0.2", 1593 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1594 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1595 | "requires": { 1596 | "is-accessor-descriptor": "^1.0.0", 1597 | "is-data-descriptor": "^1.0.0", 1598 | "kind-of": "^6.0.2" 1599 | }, 1600 | "dependencies": { 1601 | "kind-of": { 1602 | "version": "6.0.3", 1603 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1604 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 1605 | } 1606 | } 1607 | }, 1608 | "is-extendable": { 1609 | "version": "0.1.1", 1610 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1611 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 1612 | }, 1613 | "is-extglob": { 1614 | "version": "2.1.1", 1615 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1616 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 1617 | }, 1618 | "is-fullwidth-code-point": { 1619 | "version": "2.0.0", 1620 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1621 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 1622 | }, 1623 | "is-glob": { 1624 | "version": "4.0.1", 1625 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 1626 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 1627 | "requires": { 1628 | "is-extglob": "^2.1.1" 1629 | } 1630 | }, 1631 | "is-number": { 1632 | "version": "6.0.0", 1633 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-6.0.0.tgz", 1634 | "integrity": "sha512-Wu1VHeILBK8KAWJUAiSZQX94GmOE45Rg6/538fKwiloUu21KncEkYGPqob2oSZ5mUT73vLGrHQjKw3KMPwfDzg==" 1635 | }, 1636 | "is-plain-object": { 1637 | "version": "2.0.4", 1638 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1639 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1640 | "requires": { 1641 | "isobject": "^3.0.1" 1642 | } 1643 | }, 1644 | "is-relative": { 1645 | "version": "1.0.0", 1646 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", 1647 | "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", 1648 | "requires": { 1649 | "is-unc-path": "^1.0.0" 1650 | } 1651 | }, 1652 | "is-stream": { 1653 | "version": "2.0.0", 1654 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", 1655 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" 1656 | }, 1657 | "is-unc-path": { 1658 | "version": "1.0.0", 1659 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", 1660 | "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", 1661 | "requires": { 1662 | "unc-path-regex": "^0.1.2" 1663 | } 1664 | }, 1665 | "is-windows": { 1666 | "version": "1.0.2", 1667 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1668 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" 1669 | }, 1670 | "isarray": { 1671 | "version": "1.0.0", 1672 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1673 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1674 | }, 1675 | "isexe": { 1676 | "version": "2.0.0", 1677 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1678 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 1679 | }, 1680 | "isobject": { 1681 | "version": "3.0.1", 1682 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1683 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 1684 | }, 1685 | "jsonfile": { 1686 | "version": "4.0.0", 1687 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1688 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1689 | "requires": { 1690 | "graceful-fs": "^4.1.6" 1691 | } 1692 | }, 1693 | "jsonwebtoken": { 1694 | "version": "8.5.1", 1695 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", 1696 | "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", 1697 | "requires": { 1698 | "jws": "^3.2.2", 1699 | "lodash.includes": "^4.3.0", 1700 | "lodash.isboolean": "^3.0.3", 1701 | "lodash.isinteger": "^4.0.4", 1702 | "lodash.isnumber": "^3.0.3", 1703 | "lodash.isplainobject": "^4.0.6", 1704 | "lodash.isstring": "^4.0.1", 1705 | "lodash.once": "^4.0.0", 1706 | "ms": "^2.1.1", 1707 | "semver": "^5.6.0" 1708 | } 1709 | }, 1710 | "jwa": { 1711 | "version": "1.4.1", 1712 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", 1713 | "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", 1714 | "requires": { 1715 | "buffer-equal-constant-time": "1.0.1", 1716 | "ecdsa-sig-formatter": "1.0.11", 1717 | "safe-buffer": "^5.0.1" 1718 | } 1719 | }, 1720 | "jws": { 1721 | "version": "3.2.2", 1722 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 1723 | "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 1724 | "requires": { 1725 | "jwa": "^1.4.1", 1726 | "safe-buffer": "^5.0.1" 1727 | } 1728 | }, 1729 | "kind-of": { 1730 | "version": "3.2.2", 1731 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1732 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1733 | "requires": { 1734 | "is-buffer": "^1.1.5" 1735 | } 1736 | }, 1737 | "kleur": { 1738 | "version": "2.0.2", 1739 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", 1740 | "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==" 1741 | }, 1742 | "knex": { 1743 | "version": "0.16.5", 1744 | "resolved": "https://registry.npmjs.org/knex/-/knex-0.16.5.tgz", 1745 | "integrity": "sha512-1RVxMU8zGOBqgmXlAvs8vohg9MD14iiRZZPe0IeQXd554n4xxPmoMkbH4hlFeqfM6eOdFE3AVqVSncL3YuocqA==", 1746 | "requires": { 1747 | "@babel/polyfill": "^7.4.3", 1748 | "@types/bluebird": "^3.5.26", 1749 | "bluebird": "^3.5.4", 1750 | "colorette": "1.0.7", 1751 | "commander": "^2.20.0", 1752 | "debug": "4.1.1", 1753 | "getopts": "2.2.3", 1754 | "inherits": "~2.0.3", 1755 | "interpret": "^1.2.0", 1756 | "liftoff": "3.1.0", 1757 | "lodash": "^4.17.11", 1758 | "mkdirp": "^0.5.1", 1759 | "pg-connection-string": "2.0.0", 1760 | "tarn": "^1.1.5", 1761 | "tildify": "1.2.0", 1762 | "uuid": "^3.3.2", 1763 | "v8flags": "^3.1.2" 1764 | } 1765 | }, 1766 | "koalas": { 1767 | "version": "1.0.2", 1768 | "resolved": "https://registry.npmjs.org/koalas/-/koalas-1.0.2.tgz", 1769 | "integrity": "sha1-MYQz8HQjXbePrlZhoCqMpT7ilc0=" 1770 | }, 1771 | "kuler": { 1772 | "version": "2.0.0", 1773 | "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", 1774 | "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" 1775 | }, 1776 | "lazy-cache": { 1777 | "version": "2.0.2", 1778 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", 1779 | "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", 1780 | "requires": { 1781 | "set-getter": "^0.1.0" 1782 | } 1783 | }, 1784 | "liftoff": { 1785 | "version": "3.1.0", 1786 | "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", 1787 | "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", 1788 | "requires": { 1789 | "extend": "^3.0.0", 1790 | "findup-sync": "^3.0.0", 1791 | "fined": "^1.0.1", 1792 | "flagged-respawn": "^1.0.0", 1793 | "is-plain-object": "^2.0.4", 1794 | "object.map": "^1.0.0", 1795 | "rechoir": "^0.6.2", 1796 | "resolve": "^1.1.7" 1797 | } 1798 | }, 1799 | "lodash": { 1800 | "version": "4.17.19", 1801 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", 1802 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" 1803 | }, 1804 | "lodash.includes": { 1805 | "version": "4.3.0", 1806 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 1807 | "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" 1808 | }, 1809 | "lodash.isboolean": { 1810 | "version": "3.0.3", 1811 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 1812 | "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" 1813 | }, 1814 | "lodash.isinteger": { 1815 | "version": "4.0.4", 1816 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 1817 | "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" 1818 | }, 1819 | "lodash.isnumber": { 1820 | "version": "3.0.3", 1821 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 1822 | "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" 1823 | }, 1824 | "lodash.isplainobject": { 1825 | "version": "4.0.6", 1826 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1827 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" 1828 | }, 1829 | "lodash.isstring": { 1830 | "version": "4.0.1", 1831 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 1832 | "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" 1833 | }, 1834 | "lodash.once": { 1835 | "version": "4.1.1", 1836 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 1837 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" 1838 | }, 1839 | "log-ok": { 1840 | "version": "0.1.1", 1841 | "resolved": "https://registry.npmjs.org/log-ok/-/log-ok-0.1.1.tgz", 1842 | "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=", 1843 | "requires": { 1844 | "ansi-green": "^0.1.1", 1845 | "success-symbol": "^0.1.0" 1846 | } 1847 | }, 1848 | "log-utils": { 1849 | "version": "0.2.1", 1850 | "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz", 1851 | "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=", 1852 | "requires": { 1853 | "ansi-colors": "^0.2.0", 1854 | "error-symbol": "^0.1.0", 1855 | "info-symbol": "^0.1.0", 1856 | "log-ok": "^0.1.1", 1857 | "success-symbol": "^0.1.0", 1858 | "time-stamp": "^1.0.1", 1859 | "warning-symbol": "^0.1.0" 1860 | } 1861 | }, 1862 | "logform": { 1863 | "version": "2.2.0", 1864 | "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", 1865 | "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", 1866 | "requires": { 1867 | "colors": "^1.2.1", 1868 | "fast-safe-stringify": "^2.0.4", 1869 | "fecha": "^4.2.0", 1870 | "ms": "^2.1.1", 1871 | "triple-beam": "^1.3.0" 1872 | }, 1873 | "dependencies": { 1874 | "colors": { 1875 | "version": "1.4.0", 1876 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", 1877 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" 1878 | } 1879 | } 1880 | }, 1881 | "lru-cache": { 1882 | "version": "4.1.5", 1883 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", 1884 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", 1885 | "requires": { 1886 | "pseudomap": "^1.0.2", 1887 | "yallist": "^2.1.2" 1888 | } 1889 | }, 1890 | "macroable": { 1891 | "version": "1.0.0", 1892 | "resolved": "https://registry.npmjs.org/macroable/-/macroable-1.0.0.tgz", 1893 | "integrity": "sha1-I+Y0gyXG0GgqZQIfiL70CIve0WA=", 1894 | "requires": { 1895 | "node-exceptions": "^2.0.1" 1896 | }, 1897 | "dependencies": { 1898 | "node-exceptions": { 1899 | "version": "2.0.2", 1900 | "resolved": "https://registry.npmjs.org/node-exceptions/-/node-exceptions-2.0.2.tgz", 1901 | "integrity": "sha512-nILccFLvnaOBoKZZtWfZipn/hlThZOT6UJOLX6SA3yLMYPcvLTIF26PXx73sPnAg45p05iYFYw2jvayNHz4rDA==" 1902 | } 1903 | } 1904 | }, 1905 | "make-iterator": { 1906 | "version": "1.0.1", 1907 | "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", 1908 | "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", 1909 | "requires": { 1910 | "kind-of": "^6.0.2" 1911 | }, 1912 | "dependencies": { 1913 | "kind-of": { 1914 | "version": "6.0.3", 1915 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1916 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 1917 | } 1918 | } 1919 | }, 1920 | "map-cache": { 1921 | "version": "0.2.2", 1922 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 1923 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" 1924 | }, 1925 | "map-visit": { 1926 | "version": "1.0.0", 1927 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 1928 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 1929 | "requires": { 1930 | "object-visit": "^1.0.0" 1931 | } 1932 | }, 1933 | "media-typer": { 1934 | "version": "0.3.0", 1935 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1936 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 1937 | }, 1938 | "micromatch": { 1939 | "version": "3.1.10", 1940 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 1941 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 1942 | "requires": { 1943 | "arr-diff": "^4.0.0", 1944 | "array-unique": "^0.3.2", 1945 | "braces": "^2.3.1", 1946 | "define-property": "^2.0.2", 1947 | "extend-shallow": "^3.0.2", 1948 | "extglob": "^2.0.4", 1949 | "fragment-cache": "^0.2.1", 1950 | "kind-of": "^6.0.2", 1951 | "nanomatch": "^1.2.9", 1952 | "object.pick": "^1.3.0", 1953 | "regex-not": "^1.0.0", 1954 | "snapdragon": "^0.8.1", 1955 | "to-regex": "^3.0.2" 1956 | }, 1957 | "dependencies": { 1958 | "define-property": { 1959 | "version": "2.0.2", 1960 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 1961 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 1962 | "requires": { 1963 | "is-descriptor": "^1.0.2", 1964 | "isobject": "^3.0.1" 1965 | } 1966 | }, 1967 | "extend-shallow": { 1968 | "version": "3.0.2", 1969 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 1970 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 1971 | "requires": { 1972 | "assign-symbols": "^1.0.0", 1973 | "is-extendable": "^1.0.1" 1974 | } 1975 | }, 1976 | "is-extendable": { 1977 | "version": "1.0.1", 1978 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1979 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1980 | "requires": { 1981 | "is-plain-object": "^2.0.4" 1982 | } 1983 | }, 1984 | "kind-of": { 1985 | "version": "6.0.3", 1986 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1987 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 1988 | } 1989 | } 1990 | }, 1991 | "mime": { 1992 | "version": "1.4.1", 1993 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", 1994 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" 1995 | }, 1996 | "mime-db": { 1997 | "version": "1.44.0", 1998 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 1999 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" 2000 | }, 2001 | "mime-types": { 2002 | "version": "2.1.27", 2003 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 2004 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 2005 | "requires": { 2006 | "mime-db": "1.44.0" 2007 | } 2008 | }, 2009 | "minimist": { 2010 | "version": "1.2.5", 2011 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 2012 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 2013 | }, 2014 | "mixin-deep": { 2015 | "version": "1.3.2", 2016 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", 2017 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", 2018 | "requires": { 2019 | "for-in": "^1.0.2", 2020 | "is-extendable": "^1.0.1" 2021 | }, 2022 | "dependencies": { 2023 | "is-extendable": { 2024 | "version": "1.0.1", 2025 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2026 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2027 | "requires": { 2028 | "is-plain-object": "^2.0.4" 2029 | } 2030 | } 2031 | } 2032 | }, 2033 | "mixin-object": { 2034 | "version": "2.0.1", 2035 | "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", 2036 | "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", 2037 | "requires": { 2038 | "for-in": "^0.1.3", 2039 | "is-extendable": "^0.1.1" 2040 | }, 2041 | "dependencies": { 2042 | "for-in": { 2043 | "version": "0.1.8", 2044 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", 2045 | "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" 2046 | } 2047 | } 2048 | }, 2049 | "mkdirp": { 2050 | "version": "0.5.5", 2051 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 2052 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 2053 | "requires": { 2054 | "minimist": "^1.2.5" 2055 | } 2056 | }, 2057 | "moment": { 2058 | "version": "2.27.0", 2059 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz", 2060 | "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==" 2061 | }, 2062 | "ms": { 2063 | "version": "2.1.2", 2064 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2065 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2066 | }, 2067 | "multiparty": { 2068 | "version": "4.2.2", 2069 | "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.2.2.tgz", 2070 | "integrity": "sha512-NtZLjlvsjcoGrzojtwQwn/Tm90aWJ6XXtPppYF4WmOk/6ncdwMMKggFY2NlRRN9yiCEIVxpOfPWahVEG2HAG8Q==", 2071 | "requires": { 2072 | "http-errors": "~1.8.0", 2073 | "safe-buffer": "5.2.1", 2074 | "uid-safe": "2.1.5" 2075 | }, 2076 | "dependencies": { 2077 | "http-errors": { 2078 | "version": "1.8.0", 2079 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", 2080 | "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", 2081 | "requires": { 2082 | "depd": "~1.1.2", 2083 | "inherits": "2.0.4", 2084 | "setprototypeof": "1.2.0", 2085 | "statuses": ">= 1.5.0 < 2", 2086 | "toidentifier": "1.0.0" 2087 | } 2088 | }, 2089 | "safe-buffer": { 2090 | "version": "5.2.1", 2091 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2092 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 2093 | }, 2094 | "setprototypeof": { 2095 | "version": "1.2.0", 2096 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 2097 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 2098 | } 2099 | } 2100 | }, 2101 | "mustache": { 2102 | "version": "3.2.1", 2103 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", 2104 | "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==" 2105 | }, 2106 | "mute-stream": { 2107 | "version": "0.0.7", 2108 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2109 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 2110 | }, 2111 | "mysql": { 2112 | "version": "2.18.1", 2113 | "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", 2114 | "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", 2115 | "requires": { 2116 | "bignumber.js": "9.0.0", 2117 | "readable-stream": "2.3.7", 2118 | "safe-buffer": "5.1.2", 2119 | "sqlstring": "2.3.1" 2120 | }, 2121 | "dependencies": { 2122 | "readable-stream": { 2123 | "version": "2.3.7", 2124 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 2125 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 2126 | "requires": { 2127 | "core-util-is": "~1.0.0", 2128 | "inherits": "~2.0.3", 2129 | "isarray": "~1.0.0", 2130 | "process-nextick-args": "~2.0.0", 2131 | "safe-buffer": "~5.1.1", 2132 | "string_decoder": "~1.1.1", 2133 | "util-deprecate": "~1.0.1" 2134 | } 2135 | }, 2136 | "string_decoder": { 2137 | "version": "1.1.1", 2138 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2139 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2140 | "requires": { 2141 | "safe-buffer": "~5.1.0" 2142 | } 2143 | } 2144 | } 2145 | }, 2146 | "nanomatch": { 2147 | "version": "1.2.13", 2148 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 2149 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 2150 | "requires": { 2151 | "arr-diff": "^4.0.0", 2152 | "array-unique": "^0.3.2", 2153 | "define-property": "^2.0.2", 2154 | "extend-shallow": "^3.0.2", 2155 | "fragment-cache": "^0.2.1", 2156 | "is-windows": "^1.0.2", 2157 | "kind-of": "^6.0.2", 2158 | "object.pick": "^1.3.0", 2159 | "regex-not": "^1.0.0", 2160 | "snapdragon": "^0.8.1", 2161 | "to-regex": "^3.0.1" 2162 | }, 2163 | "dependencies": { 2164 | "define-property": { 2165 | "version": "2.0.2", 2166 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 2167 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 2168 | "requires": { 2169 | "is-descriptor": "^1.0.2", 2170 | "isobject": "^3.0.1" 2171 | } 2172 | }, 2173 | "extend-shallow": { 2174 | "version": "3.0.2", 2175 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 2176 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 2177 | "requires": { 2178 | "assign-symbols": "^1.0.0", 2179 | "is-extendable": "^1.0.1" 2180 | } 2181 | }, 2182 | "is-extendable": { 2183 | "version": "1.0.1", 2184 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2185 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2186 | "requires": { 2187 | "is-plain-object": "^2.0.4" 2188 | } 2189 | }, 2190 | "kind-of": { 2191 | "version": "6.0.3", 2192 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2193 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 2194 | } 2195 | } 2196 | }, 2197 | "negotiator": { 2198 | "version": "0.6.2", 2199 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 2200 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 2201 | }, 2202 | "nice-try": { 2203 | "version": "1.0.5", 2204 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 2205 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 2206 | }, 2207 | "node-cookie": { 2208 | "version": "2.1.2", 2209 | "resolved": "https://registry.npmjs.org/node-cookie/-/node-cookie-2.1.2.tgz", 2210 | "integrity": "sha512-8/k8V9/2hCESYMmNVtJiHweKlP1ZqjrzG3bv+cSooiWurHB6N7KqVdX/s7ojbBXTwOJrLKJzC9rlPRvFRYuKRA==", 2211 | "requires": { 2212 | "cookie": "^0.4.0", 2213 | "cookie-signature": "^1.1.0", 2214 | "simple-encryptor": "^3.0.0" 2215 | }, 2216 | "dependencies": { 2217 | "simple-encryptor": { 2218 | "version": "3.0.0", 2219 | "resolved": "https://registry.npmjs.org/simple-encryptor/-/simple-encryptor-3.0.0.tgz", 2220 | "integrity": "sha512-xRgj9pU3Gfkl+6iBYRoXM4BdEwY4bLdL1W0tp7AjGTA7Hytv5iwmB5tvJh6K2iVszvPPYimQjLFV8jRZz3fJ1g==", 2221 | "requires": { 2222 | "scmp": "2.0.0" 2223 | } 2224 | } 2225 | } 2226 | }, 2227 | "node-exceptions": { 2228 | "version": "3.0.0", 2229 | "resolved": "https://registry.npmjs.org/node-exceptions/-/node-exceptions-3.0.0.tgz", 2230 | "integrity": "sha512-pFhMAqdN1avrFwtZs66HxYiVnbnH9wjXB4m8IKs5Z9+r7U5voqxT+EDbVkRfge+V7JnkOgKhN4HfKBn1o5g9Wg==" 2231 | }, 2232 | "node-req": { 2233 | "version": "2.1.2", 2234 | "resolved": "https://registry.npmjs.org/node-req/-/node-req-2.1.2.tgz", 2235 | "integrity": "sha512-zJqZ03vs0oHN8u+wn7kUT/vj63jQdQvNYWjbRMGNVu7ijV3mVz8UwX7pJl7LUugOT2x8vBKasKqbUqnh6GDKMQ==", 2236 | "requires": { 2237 | "accepts": "^1.3.5", 2238 | "fresh": "^0.5.2", 2239 | "parseurl": "^1.3.2", 2240 | "proxy-addr": "^2.0.4", 2241 | "qs": "^6.5.2", 2242 | "type-is": "^1.6.16" 2243 | } 2244 | }, 2245 | "node-res": { 2246 | "version": "4.1.4", 2247 | "resolved": "https://registry.npmjs.org/node-res/-/node-res-4.1.4.tgz", 2248 | "integrity": "sha512-CE6NEM51MVeySzGn6stEuohJzYPHovjo9+/UK147peh8Hslth/S+IpXKupb1qv9QeIxbgnKJ9WoVOpEwJd5pYg==", 2249 | "requires": { 2250 | "content-disposition": "^0.5.2", 2251 | "etag": "^1.8.1", 2252 | "mime-types": "^2.1.17", 2253 | "send": "^0.16.1", 2254 | "vary": "^1.1.2" 2255 | } 2256 | }, 2257 | "object-copy": { 2258 | "version": "0.1.0", 2259 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2260 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 2261 | "requires": { 2262 | "copy-descriptor": "^0.1.0", 2263 | "define-property": "^0.2.5", 2264 | "kind-of": "^3.0.3" 2265 | }, 2266 | "dependencies": { 2267 | "define-property": { 2268 | "version": "0.2.5", 2269 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2270 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2271 | "requires": { 2272 | "is-descriptor": "^0.1.0" 2273 | } 2274 | }, 2275 | "is-accessor-descriptor": { 2276 | "version": "0.1.6", 2277 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 2278 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 2279 | "requires": { 2280 | "kind-of": "^3.0.2" 2281 | } 2282 | }, 2283 | "is-data-descriptor": { 2284 | "version": "0.1.4", 2285 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 2286 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 2287 | "requires": { 2288 | "kind-of": "^3.0.2" 2289 | } 2290 | }, 2291 | "is-descriptor": { 2292 | "version": "0.1.6", 2293 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 2294 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 2295 | "requires": { 2296 | "is-accessor-descriptor": "^0.1.6", 2297 | "is-data-descriptor": "^0.1.4", 2298 | "kind-of": "^5.0.0" 2299 | }, 2300 | "dependencies": { 2301 | "kind-of": { 2302 | "version": "5.1.0", 2303 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2304 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 2305 | } 2306 | } 2307 | } 2308 | } 2309 | }, 2310 | "object-visit": { 2311 | "version": "1.0.1", 2312 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2313 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 2314 | "requires": { 2315 | "isobject": "^3.0.0" 2316 | } 2317 | }, 2318 | "object.defaults": { 2319 | "version": "1.1.0", 2320 | "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", 2321 | "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", 2322 | "requires": { 2323 | "array-each": "^1.0.1", 2324 | "array-slice": "^1.0.0", 2325 | "for-own": "^1.0.0", 2326 | "isobject": "^3.0.0" 2327 | } 2328 | }, 2329 | "object.map": { 2330 | "version": "1.0.1", 2331 | "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", 2332 | "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", 2333 | "requires": { 2334 | "for-own": "^1.0.0", 2335 | "make-iterator": "^1.0.0" 2336 | } 2337 | }, 2338 | "object.pick": { 2339 | "version": "1.3.0", 2340 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2341 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 2342 | "requires": { 2343 | "isobject": "^3.0.1" 2344 | } 2345 | }, 2346 | "on-finished": { 2347 | "version": "2.3.0", 2348 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 2349 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 2350 | "requires": { 2351 | "ee-first": "1.1.1" 2352 | } 2353 | }, 2354 | "once": { 2355 | "version": "1.4.0", 2356 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2357 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2358 | "requires": { 2359 | "wrappy": "1" 2360 | } 2361 | }, 2362 | "one-time": { 2363 | "version": "1.0.0", 2364 | "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", 2365 | "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", 2366 | "requires": { 2367 | "fn.name": "1.x.x" 2368 | } 2369 | }, 2370 | "os-homedir": { 2371 | "version": "1.0.2", 2372 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2373 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" 2374 | }, 2375 | "os-tmpdir": { 2376 | "version": "1.0.2", 2377 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2378 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 2379 | }, 2380 | "parse-filepath": { 2381 | "version": "1.0.2", 2382 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", 2383 | "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", 2384 | "requires": { 2385 | "is-absolute": "^1.0.0", 2386 | "map-cache": "^0.2.0", 2387 | "path-root": "^0.1.1" 2388 | } 2389 | }, 2390 | "parse-passwd": { 2391 | "version": "1.0.0", 2392 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 2393 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" 2394 | }, 2395 | "parseurl": { 2396 | "version": "1.3.3", 2397 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 2398 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 2399 | }, 2400 | "pascalcase": { 2401 | "version": "0.1.1", 2402 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2403 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" 2404 | }, 2405 | "path-key": { 2406 | "version": "2.0.1", 2407 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2408 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 2409 | }, 2410 | "path-parse": { 2411 | "version": "1.0.6", 2412 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 2413 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" 2414 | }, 2415 | "path-root": { 2416 | "version": "0.1.1", 2417 | "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", 2418 | "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", 2419 | "requires": { 2420 | "path-root-regex": "^0.1.0" 2421 | } 2422 | }, 2423 | "path-root-regex": { 2424 | "version": "0.1.2", 2425 | "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", 2426 | "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" 2427 | }, 2428 | "path-to-regexp": { 2429 | "version": "2.4.0", 2430 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", 2431 | "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" 2432 | }, 2433 | "pg-connection-string": { 2434 | "version": "2.0.0", 2435 | "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.0.0.tgz", 2436 | "integrity": "sha1-Pu/lmX4G2Ugh5NUC5CtqHHP434I=" 2437 | }, 2438 | "pify": { 2439 | "version": "4.0.1", 2440 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 2441 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" 2442 | }, 2443 | "pluralize": { 2444 | "version": "7.0.0", 2445 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 2446 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" 2447 | }, 2448 | "pointer-symbol": { 2449 | "version": "1.0.0", 2450 | "resolved": "https://registry.npmjs.org/pointer-symbol/-/pointer-symbol-1.0.0.tgz", 2451 | "integrity": "sha1-YPkRAgTqepKbYmRKITFVQ8uz1Ec=" 2452 | }, 2453 | "posix-character-classes": { 2454 | "version": "0.1.1", 2455 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 2456 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" 2457 | }, 2458 | "pretty-hrtime": { 2459 | "version": "1.0.3", 2460 | "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 2461 | "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" 2462 | }, 2463 | "process-nextick-args": { 2464 | "version": "2.0.1", 2465 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 2466 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 2467 | }, 2468 | "promise-reduce": { 2469 | "version": "2.1.0", 2470 | "resolved": "https://registry.npmjs.org/promise-reduce/-/promise-reduce-2.1.0.tgz", 2471 | "integrity": "sha1-dxmHMbXGLL1fjhhFUREx0A47bEc=", 2472 | "requires": { 2473 | "any-promise": "^0.1.0" 2474 | } 2475 | }, 2476 | "prompt-actions": { 2477 | "version": "3.0.2", 2478 | "resolved": "https://registry.npmjs.org/prompt-actions/-/prompt-actions-3.0.2.tgz", 2479 | "integrity": "sha512-dhz2Fl7vK+LPpmnQ/S/eSut4BnH4NZDLyddHKi5uTU/2PDn3grEMGkgsll16V5RpVUh/yxdiam0xsM0RD4xvtg==", 2480 | "requires": { 2481 | "debug": "^2.6.8" 2482 | }, 2483 | "dependencies": { 2484 | "debug": { 2485 | "version": "2.6.9", 2486 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2487 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2488 | "requires": { 2489 | "ms": "2.0.0" 2490 | } 2491 | }, 2492 | "ms": { 2493 | "version": "2.0.0", 2494 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2495 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2496 | } 2497 | } 2498 | }, 2499 | "prompt-base": { 2500 | "version": "4.1.0", 2501 | "resolved": "https://registry.npmjs.org/prompt-base/-/prompt-base-4.1.0.tgz", 2502 | "integrity": "sha512-svGzgLUKZoqomz9SGMkf1hBG8Wl3K7JGuRCXc/Pv7xw8239hhaTBXrmjt7EXA9P/QZzdyT8uNWt9F/iJTXq75g==", 2503 | "requires": { 2504 | "component-emitter": "^1.2.1", 2505 | "debug": "^3.0.1", 2506 | "koalas": "^1.0.2", 2507 | "log-utils": "^0.2.1", 2508 | "prompt-actions": "^3.0.2", 2509 | "prompt-question": "^5.0.1", 2510 | "readline-ui": "^2.2.3", 2511 | "readline-utils": "^2.2.3", 2512 | "static-extend": "^0.1.2" 2513 | }, 2514 | "dependencies": { 2515 | "debug": { 2516 | "version": "3.2.6", 2517 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 2518 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 2519 | "requires": { 2520 | "ms": "^2.1.1" 2521 | } 2522 | }, 2523 | "kind-of": { 2524 | "version": "5.1.0", 2525 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2526 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 2527 | }, 2528 | "prompt-question": { 2529 | "version": "5.0.2", 2530 | "resolved": "https://registry.npmjs.org/prompt-question/-/prompt-question-5.0.2.tgz", 2531 | "integrity": "sha512-wreaLbbu8f5+7zXds199uiT11Ojp59Z4iBi6hONlSLtsKGTvL2UY8VglcxQ3t/X4qWIxsNCg6aT4O8keO65v6Q==", 2532 | "requires": { 2533 | "clone-deep": "^1.0.0", 2534 | "debug": "^3.0.1", 2535 | "define-property": "^1.0.0", 2536 | "isobject": "^3.0.1", 2537 | "kind-of": "^5.0.2", 2538 | "koalas": "^1.0.2", 2539 | "prompt-choices": "^4.0.5" 2540 | } 2541 | } 2542 | } 2543 | }, 2544 | "prompt-checkbox": { 2545 | "version": "2.2.0", 2546 | "resolved": "https://registry.npmjs.org/prompt-checkbox/-/prompt-checkbox-2.2.0.tgz", 2547 | "integrity": "sha512-T/QWgkdUmKjRSr0FQlV8O+LfgmBk8PwDbWhzllm7mwWNAjs3qOVuru5Y1gV4/14L73zCncqcuwGwvnDyVcVgvA==", 2548 | "requires": { 2549 | "ansi-cyan": "^0.1.1", 2550 | "debug": "^2.6.8", 2551 | "prompt-base": "^4.0.2" 2552 | }, 2553 | "dependencies": { 2554 | "debug": { 2555 | "version": "2.6.9", 2556 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2557 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2558 | "requires": { 2559 | "ms": "2.0.0" 2560 | } 2561 | }, 2562 | "ms": { 2563 | "version": "2.0.0", 2564 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2565 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2566 | } 2567 | } 2568 | }, 2569 | "prompt-choices": { 2570 | "version": "4.1.0", 2571 | "resolved": "https://registry.npmjs.org/prompt-choices/-/prompt-choices-4.1.0.tgz", 2572 | "integrity": "sha512-ZNYLv6rW9z9n0WdwCkEuS+w5nUAGzRgtRt6GQ5aFNFz6MIcU7nHFlHOwZtzy7RQBk80KzUGPSRQphvMiQzB8pg==", 2573 | "requires": { 2574 | "arr-flatten": "^1.1.0", 2575 | "arr-swap": "^1.0.1", 2576 | "choices-separator": "^2.0.0", 2577 | "clone-deep": "^4.0.0", 2578 | "collection-visit": "^1.0.0", 2579 | "define-property": "^2.0.2", 2580 | "is-number": "^6.0.0", 2581 | "kind-of": "^6.0.2", 2582 | "koalas": "^1.0.2", 2583 | "log-utils": "^0.2.1", 2584 | "pointer-symbol": "^1.0.0", 2585 | "radio-symbol": "^2.0.0", 2586 | "set-value": "^3.0.0", 2587 | "strip-color": "^0.1.0", 2588 | "terminal-paginator": "^2.0.2", 2589 | "toggle-array": "^1.0.1" 2590 | }, 2591 | "dependencies": { 2592 | "clone-deep": { 2593 | "version": "4.0.1", 2594 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", 2595 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", 2596 | "requires": { 2597 | "is-plain-object": "^2.0.4", 2598 | "kind-of": "^6.0.2", 2599 | "shallow-clone": "^3.0.0" 2600 | } 2601 | }, 2602 | "define-property": { 2603 | "version": "2.0.2", 2604 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 2605 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 2606 | "requires": { 2607 | "is-descriptor": "^1.0.2", 2608 | "isobject": "^3.0.1" 2609 | } 2610 | }, 2611 | "kind-of": { 2612 | "version": "6.0.3", 2613 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2614 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" 2615 | }, 2616 | "set-value": { 2617 | "version": "3.0.2", 2618 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-3.0.2.tgz", 2619 | "integrity": "sha512-npjkVoz+ank0zjlV9F47Fdbjfj/PfXyVhZvGALWsyIYU/qrMzpi6avjKW3/7KeSU2Df3I46BrN1xOI1+6vW0hA==", 2620 | "requires": { 2621 | "is-plain-object": "^2.0.4" 2622 | } 2623 | }, 2624 | "shallow-clone": { 2625 | "version": "3.0.1", 2626 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", 2627 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", 2628 | "requires": { 2629 | "kind-of": "^6.0.2" 2630 | } 2631 | } 2632 | } 2633 | }, 2634 | "prompt-confirm": { 2635 | "version": "2.0.4", 2636 | "resolved": "https://registry.npmjs.org/prompt-confirm/-/prompt-confirm-2.0.4.tgz", 2637 | "integrity": "sha512-X5lzbC8/kMNHdPOqQPfMKpH4VV2f7v2OTRJoN69ZYBirSwTeQaf9ZhmzPEO9ybMA0YV2Pha5MV27u2/U4ahWfg==", 2638 | "requires": { 2639 | "ansi-cyan": "^0.1.1", 2640 | "prompt-base": "^4.0.1" 2641 | } 2642 | }, 2643 | "prompt-expand": { 2644 | "version": "1.0.1", 2645 | "resolved": "https://registry.npmjs.org/prompt-expand/-/prompt-expand-1.0.1.tgz", 2646 | "integrity": "sha512-BDTw6tuWF6TuM1ZmwN5K/p6FCmm2E/QeQbtKoL76HrVdgjUQab9MQnIcWfTPh5d0NOO7Rf/Y1onvIQMkEw3Srg==", 2647 | "requires": { 2648 | "ansi-colors": "^1.1.0", 2649 | "prompt-rawlist": "^2.0.1" 2650 | }, 2651 | "dependencies": { 2652 | "ansi-colors": { 2653 | "version": "1.1.0", 2654 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", 2655 | "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", 2656 | "requires": { 2657 | "ansi-wrap": "^0.1.0" 2658 | } 2659 | } 2660 | } 2661 | }, 2662 | "prompt-input": { 2663 | "version": "3.0.0", 2664 | "resolved": "https://registry.npmjs.org/prompt-input/-/prompt-input-3.0.0.tgz", 2665 | "integrity": "sha512-c0udMEi7nWE+n+enZKfyMl+HWZ6/0qFELGqzWTQ1D2QXCFwDpFZ1X41+CmYwjGwEkGFQVBTLMH+8VenvR5uGOA==", 2666 | "requires": { 2667 | "debug": "^2.6.8", 2668 | "prompt-base": "^4.0.2" 2669 | }, 2670 | "dependencies": { 2671 | "debug": { 2672 | "version": "2.6.9", 2673 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2674 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2675 | "requires": { 2676 | "ms": "2.0.0" 2677 | } 2678 | }, 2679 | "ms": { 2680 | "version": "2.0.0", 2681 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2682 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2683 | } 2684 | } 2685 | }, 2686 | "prompt-list": { 2687 | "version": "3.2.0", 2688 | "resolved": "https://registry.npmjs.org/prompt-list/-/prompt-list-3.2.0.tgz", 2689 | "integrity": "sha512-PDao47cmC9+m2zEUghH+WIIascd8SuyyWO+akuUubd0XxOQyUH96HMdIcL3YnNS8kJUHwddH1rHVgL9vZA1QsQ==", 2690 | "requires": { 2691 | "ansi-cyan": "^0.1.1", 2692 | "ansi-dim": "^0.1.1", 2693 | "prompt-radio": "^1.2.1" 2694 | } 2695 | }, 2696 | "prompt-password": { 2697 | "version": "1.2.0", 2698 | "resolved": "https://registry.npmjs.org/prompt-password/-/prompt-password-1.2.0.tgz", 2699 | "integrity": "sha512-lBehk9YPGLxH9hAJ+VU7Bj/ePi9t5kPL/1ZBGZ2fLrDX1QeaBwi4RtQggZrsbMalGJaXaAuo/7VOa7QvbE2hAQ==", 2700 | "requires": { 2701 | "debug": "^2.6.8", 2702 | "prompt-base": "^4.0.2" 2703 | }, 2704 | "dependencies": { 2705 | "debug": { 2706 | "version": "2.6.9", 2707 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2708 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2709 | "requires": { 2710 | "ms": "2.0.0" 2711 | } 2712 | }, 2713 | "ms": { 2714 | "version": "2.0.0", 2715 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2716 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2717 | } 2718 | } 2719 | }, 2720 | "prompt-question": { 2721 | "version": "3.0.3", 2722 | "resolved": "https://registry.npmjs.org/prompt-question/-/prompt-question-3.0.3.tgz", 2723 | "integrity": "sha1-xVhYvXaxh4wequy5F6koqcE8ijc=", 2724 | "requires": { 2725 | "clone-deep": "^0.3.0", 2726 | "debug": "^2.6.8", 2727 | "define-property": "^1.0.0", 2728 | "extend-shallow": "^2.0.1", 2729 | "kind-of": "^4.0.0", 2730 | "koalas": "^1.0.2", 2731 | "prompt-choices": "^3.0.3" 2732 | }, 2733 | "dependencies": { 2734 | "clone-deep": { 2735 | "version": "0.3.0", 2736 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", 2737 | "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", 2738 | "requires": { 2739 | "for-own": "^1.0.0", 2740 | "is-plain-object": "^2.0.1", 2741 | "kind-of": "^3.2.2", 2742 | "shallow-clone": "^0.1.2" 2743 | }, 2744 | "dependencies": { 2745 | "kind-of": { 2746 | "version": "3.2.2", 2747 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2748 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2749 | "requires": { 2750 | "is-buffer": "^1.1.5" 2751 | } 2752 | } 2753 | } 2754 | }, 2755 | "debug": { 2756 | "version": "2.6.9", 2757 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2758 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2759 | "requires": { 2760 | "ms": "2.0.0" 2761 | } 2762 | }, 2763 | "is-number": { 2764 | "version": "3.0.0", 2765 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2766 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2767 | "requires": { 2768 | "kind-of": "^3.0.2" 2769 | }, 2770 | "dependencies": { 2771 | "kind-of": { 2772 | "version": "3.2.2", 2773 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2774 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2775 | "requires": { 2776 | "is-buffer": "^1.1.5" 2777 | } 2778 | } 2779 | } 2780 | }, 2781 | "kind-of": { 2782 | "version": "4.0.0", 2783 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 2784 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 2785 | "requires": { 2786 | "is-buffer": "^1.1.5" 2787 | } 2788 | }, 2789 | "lazy-cache": { 2790 | "version": "0.2.7", 2791 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", 2792 | "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" 2793 | }, 2794 | "ms": { 2795 | "version": "2.0.0", 2796 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2797 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2798 | }, 2799 | "prompt-choices": { 2800 | "version": "3.0.6", 2801 | "resolved": "https://registry.npmjs.org/prompt-choices/-/prompt-choices-3.0.6.tgz", 2802 | "integrity": "sha1-XDXD2Z7hft/ZVjwfuBBGsISe+P8=", 2803 | "requires": { 2804 | "arr-flatten": "^1.0.3", 2805 | "choices-separator": "^2.0.0", 2806 | "clone-deep": "^0.3.0", 2807 | "collection-visit": "^1.0.0", 2808 | "debug": "^2.6.8", 2809 | "define-property": "^1.0.0", 2810 | "extend-shallow": "^2.0.1", 2811 | "is-number": "^3.0.0", 2812 | "kind-of": "^4.0.0", 2813 | "lazy-cache": "^2.0.2", 2814 | "log-utils": "^0.2.1", 2815 | "pointer-symbol": "^1.0.0", 2816 | "radio-symbol": "^2.0.0", 2817 | "set-value": "^1.0.0", 2818 | "strip-color": "^0.1.0", 2819 | "terminal-paginator": "^2.0.0", 2820 | "toggle-array": "^1.0.1" 2821 | }, 2822 | "dependencies": { 2823 | "lazy-cache": { 2824 | "version": "2.0.2", 2825 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", 2826 | "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", 2827 | "requires": { 2828 | "set-getter": "^0.1.0" 2829 | } 2830 | } 2831 | } 2832 | }, 2833 | "shallow-clone": { 2834 | "version": "0.1.2", 2835 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", 2836 | "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", 2837 | "requires": { 2838 | "is-extendable": "^0.1.1", 2839 | "kind-of": "^2.0.1", 2840 | "lazy-cache": "^0.2.3", 2841 | "mixin-object": "^2.0.1" 2842 | }, 2843 | "dependencies": { 2844 | "kind-of": { 2845 | "version": "2.0.1", 2846 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", 2847 | "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", 2848 | "requires": { 2849 | "is-buffer": "^1.0.2" 2850 | } 2851 | } 2852 | } 2853 | } 2854 | } 2855 | }, 2856 | "prompt-radio": { 2857 | "version": "1.2.1", 2858 | "resolved": "https://registry.npmjs.org/prompt-radio/-/prompt-radio-1.2.1.tgz", 2859 | "integrity": "sha512-vH1iAkgbWyvZBC1BTajydiHmwJP4F1b684gq0fm2wOjPVW1zaDo01OXWr/Dske0XdoHhtZFNMOXNj/ZUSRBywg==", 2860 | "requires": { 2861 | "debug": "^2.6.8", 2862 | "prompt-checkbox": "^2.2.0" 2863 | }, 2864 | "dependencies": { 2865 | "debug": { 2866 | "version": "2.6.9", 2867 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2868 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2869 | "requires": { 2870 | "ms": "2.0.0" 2871 | } 2872 | }, 2873 | "ms": { 2874 | "version": "2.0.0", 2875 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2876 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2877 | } 2878 | } 2879 | }, 2880 | "prompt-rawlist": { 2881 | "version": "2.0.1", 2882 | "resolved": "https://registry.npmjs.org/prompt-rawlist/-/prompt-rawlist-2.0.1.tgz", 2883 | "integrity": "sha512-mhCPnC7fvjcCZuksiF380arJKiXjSP9WT6kZqO+biFg+yHBpDLAs4GCck5nRkvL9ikYur/wPz6fAzV63HI7gLg==", 2884 | "requires": { 2885 | "ansi-cyan": "^0.1.1", 2886 | "ansi-dim": "^0.1.1", 2887 | "ansi-red": "^0.1.1", 2888 | "is-number": "^3.0.0", 2889 | "prompt-list": "^2.0.1" 2890 | }, 2891 | "dependencies": { 2892 | "debug": { 2893 | "version": "3.2.6", 2894 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 2895 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 2896 | "requires": { 2897 | "ms": "^2.1.1" 2898 | } 2899 | }, 2900 | "is-number": { 2901 | "version": "3.0.0", 2902 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2903 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2904 | "requires": { 2905 | "kind-of": "^3.0.2" 2906 | } 2907 | }, 2908 | "prompt-list": { 2909 | "version": "2.2.0", 2910 | "resolved": "https://registry.npmjs.org/prompt-list/-/prompt-list-2.2.0.tgz", 2911 | "integrity": "sha512-41Eu3las4OthLTotMC6VyGPQaLXKWnoyqirgGKzTHxErV5JEediDkdjv+FF4AKTwBCkpt2I0TQSa24qAU1b9Bw==", 2912 | "requires": { 2913 | "ansi-cyan": "^0.1.1", 2914 | "ansi-dim": "^0.1.1", 2915 | "debug": "^3.0.1", 2916 | "prompt-radio": "^1.2.1" 2917 | } 2918 | } 2919 | } 2920 | }, 2921 | "proxy-addr": { 2922 | "version": "2.0.6", 2923 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", 2924 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", 2925 | "requires": { 2926 | "forwarded": "~0.1.2", 2927 | "ipaddr.js": "1.9.1" 2928 | } 2929 | }, 2930 | "pseudomap": { 2931 | "version": "1.0.2", 2932 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 2933 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" 2934 | }, 2935 | "pump": { 2936 | "version": "3.0.0", 2937 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2938 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2939 | "requires": { 2940 | "end-of-stream": "^1.1.0", 2941 | "once": "^1.3.1" 2942 | } 2943 | }, 2944 | "qs": { 2945 | "version": "6.9.4", 2946 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", 2947 | "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" 2948 | }, 2949 | "radio-symbol": { 2950 | "version": "2.0.0", 2951 | "resolved": "https://registry.npmjs.org/radio-symbol/-/radio-symbol-2.0.0.tgz", 2952 | "integrity": "sha1-eqm/xQSFY21S3XbWqOYxspB5muE=", 2953 | "requires": { 2954 | "ansi-gray": "^0.1.1", 2955 | "ansi-green": "^0.1.1", 2956 | "is-windows": "^1.0.1" 2957 | } 2958 | }, 2959 | "random-bytes": { 2960 | "version": "1.0.0", 2961 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 2962 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 2963 | }, 2964 | "range-parser": { 2965 | "version": "1.2.1", 2966 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 2967 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 2968 | }, 2969 | "raw-body": { 2970 | "version": "2.4.1", 2971 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", 2972 | "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", 2973 | "requires": { 2974 | "bytes": "3.1.0", 2975 | "http-errors": "1.7.3", 2976 | "iconv-lite": "0.4.24", 2977 | "unpipe": "1.0.0" 2978 | } 2979 | }, 2980 | "readable-stream": { 2981 | "version": "3.6.0", 2982 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2983 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2984 | "requires": { 2985 | "inherits": "^2.0.3", 2986 | "string_decoder": "^1.1.1", 2987 | "util-deprecate": "^1.0.1" 2988 | } 2989 | }, 2990 | "readline-ui": { 2991 | "version": "2.2.3", 2992 | "resolved": "https://registry.npmjs.org/readline-ui/-/readline-ui-2.2.3.tgz", 2993 | "integrity": "sha512-ix7jz0PxqQqcIuq3yQTHv1TOhlD2IHO74aNO+lSuXsRYm1d+pdyup1yF3zKyLK1wWZrVNGjkzw5tUegO2IDy+A==", 2994 | "requires": { 2995 | "component-emitter": "^1.2.1", 2996 | "debug": "^2.6.8", 2997 | "readline-utils": "^2.2.1", 2998 | "string-width": "^2.0.0" 2999 | }, 3000 | "dependencies": { 3001 | "debug": { 3002 | "version": "2.6.9", 3003 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3004 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3005 | "requires": { 3006 | "ms": "2.0.0" 3007 | } 3008 | }, 3009 | "ms": { 3010 | "version": "2.0.0", 3011 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3012 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3013 | } 3014 | } 3015 | }, 3016 | "readline-utils": { 3017 | "version": "2.2.3", 3018 | "resolved": "https://registry.npmjs.org/readline-utils/-/readline-utils-2.2.3.tgz", 3019 | "integrity": "sha1-b4R9a48ZFcORtYHDZ81HhzhiNRo=", 3020 | "requires": { 3021 | "arr-flatten": "^1.1.0", 3022 | "extend-shallow": "^2.0.1", 3023 | "is-buffer": "^1.1.5", 3024 | "is-number": "^3.0.0", 3025 | "is-windows": "^1.0.1", 3026 | "koalas": "^1.0.2", 3027 | "mute-stream": "0.0.7", 3028 | "strip-color": "^0.1.0", 3029 | "window-size": "^1.1.0" 3030 | }, 3031 | "dependencies": { 3032 | "is-number": { 3033 | "version": "3.0.0", 3034 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3035 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3036 | "requires": { 3037 | "kind-of": "^3.0.2" 3038 | } 3039 | } 3040 | } 3041 | }, 3042 | "rechoir": { 3043 | "version": "0.6.2", 3044 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 3045 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 3046 | "requires": { 3047 | "resolve": "^1.1.6" 3048 | } 3049 | }, 3050 | "regenerator-runtime": { 3051 | "version": "0.13.7", 3052 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", 3053 | "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" 3054 | }, 3055 | "regex-not": { 3056 | "version": "1.0.2", 3057 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 3058 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 3059 | "requires": { 3060 | "extend-shallow": "^3.0.2", 3061 | "safe-regex": "^1.1.0" 3062 | }, 3063 | "dependencies": { 3064 | "extend-shallow": { 3065 | "version": "3.0.2", 3066 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 3067 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 3068 | "requires": { 3069 | "assign-symbols": "^1.0.0", 3070 | "is-extendable": "^1.0.1" 3071 | } 3072 | }, 3073 | "is-extendable": { 3074 | "version": "1.0.1", 3075 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 3076 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 3077 | "requires": { 3078 | "is-plain-object": "^2.0.4" 3079 | } 3080 | } 3081 | } 3082 | }, 3083 | "repeat-element": { 3084 | "version": "1.1.3", 3085 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 3086 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" 3087 | }, 3088 | "repeat-string": { 3089 | "version": "1.6.1", 3090 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3091 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 3092 | }, 3093 | "require-all": { 3094 | "version": "3.0.0", 3095 | "resolved": "https://registry.npmjs.org/require-all/-/require-all-3.0.0.tgz", 3096 | "integrity": "sha1-Rz1JcEvjEBFc4ST3c4Ox69hnExI=" 3097 | }, 3098 | "require-stack": { 3099 | "version": "1.0.2", 3100 | "resolved": "https://registry.npmjs.org/require-stack/-/require-stack-1.0.2.tgz", 3101 | "integrity": "sha1-4A7jSL+Wy1w+LUwntJ5BR24Ill0=", 3102 | "requires": { 3103 | "syntax-error": "^1.1.4" 3104 | } 3105 | }, 3106 | "require-uncached": { 3107 | "version": "1.0.3", 3108 | "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 3109 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 3110 | "requires": { 3111 | "caller-path": "^0.1.0", 3112 | "resolve-from": "^1.0.0" 3113 | } 3114 | }, 3115 | "resetable": { 3116 | "version": "1.0.3", 3117 | "resolved": "https://registry.npmjs.org/resetable/-/resetable-1.0.3.tgz", 3118 | "integrity": "sha512-AJuhrcU5TVUaM5j0wSjZXlzt0Qb5pai7nDI+klgv7deuSHy5Kom7ovwBt5tMMO3XmJ9YYSCbKhkgDJHL4MEerQ==", 3119 | "requires": { 3120 | "clone": "^2.1.1" 3121 | } 3122 | }, 3123 | "resolve": { 3124 | "version": "1.17.0", 3125 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 3126 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 3127 | "requires": { 3128 | "path-parse": "^1.0.6" 3129 | } 3130 | }, 3131 | "resolve-dir": { 3132 | "version": "1.0.1", 3133 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 3134 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", 3135 | "requires": { 3136 | "expand-tilde": "^2.0.0", 3137 | "global-modules": "^1.0.0" 3138 | } 3139 | }, 3140 | "resolve-from": { 3141 | "version": "1.0.1", 3142 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 3143 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" 3144 | }, 3145 | "resolve-url": { 3146 | "version": "0.2.1", 3147 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 3148 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" 3149 | }, 3150 | "ret": { 3151 | "version": "0.1.15", 3152 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 3153 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" 3154 | }, 3155 | "safe-buffer": { 3156 | "version": "5.1.2", 3157 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3158 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 3159 | }, 3160 | "safe-regex": { 3161 | "version": "1.1.0", 3162 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 3163 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 3164 | "requires": { 3165 | "ret": "~0.1.10" 3166 | } 3167 | }, 3168 | "safer-buffer": { 3169 | "version": "2.1.2", 3170 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3171 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 3172 | }, 3173 | "scmp": { 3174 | "version": "2.0.0", 3175 | "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.0.0.tgz", 3176 | "integrity": "sha1-JHEQ7yLM+JexOj8KvdtSeCOTzWo=" 3177 | }, 3178 | "semver": { 3179 | "version": "5.7.1", 3180 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 3181 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 3182 | }, 3183 | "send": { 3184 | "version": "0.16.2", 3185 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", 3186 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", 3187 | "requires": { 3188 | "debug": "2.6.9", 3189 | "depd": "~1.1.2", 3190 | "destroy": "~1.0.4", 3191 | "encodeurl": "~1.0.2", 3192 | "escape-html": "~1.0.3", 3193 | "etag": "~1.8.1", 3194 | "fresh": "0.5.2", 3195 | "http-errors": "~1.6.2", 3196 | "mime": "1.4.1", 3197 | "ms": "2.0.0", 3198 | "on-finished": "~2.3.0", 3199 | "range-parser": "~1.2.0", 3200 | "statuses": "~1.4.0" 3201 | }, 3202 | "dependencies": { 3203 | "debug": { 3204 | "version": "2.6.9", 3205 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3206 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3207 | "requires": { 3208 | "ms": "2.0.0" 3209 | } 3210 | }, 3211 | "http-errors": { 3212 | "version": "1.6.3", 3213 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", 3214 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", 3215 | "requires": { 3216 | "depd": "~1.1.2", 3217 | "inherits": "2.0.3", 3218 | "setprototypeof": "1.1.0", 3219 | "statuses": ">= 1.4.0 < 2" 3220 | } 3221 | }, 3222 | "inherits": { 3223 | "version": "2.0.3", 3224 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 3225 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 3226 | }, 3227 | "ms": { 3228 | "version": "2.0.0", 3229 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3230 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3231 | }, 3232 | "setprototypeof": { 3233 | "version": "1.1.0", 3234 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", 3235 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" 3236 | }, 3237 | "statuses": { 3238 | "version": "1.4.0", 3239 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 3240 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 3241 | } 3242 | } 3243 | }, 3244 | "serve-static": { 3245 | "version": "1.14.1", 3246 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", 3247 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", 3248 | "requires": { 3249 | "encodeurl": "~1.0.2", 3250 | "escape-html": "~1.0.3", 3251 | "parseurl": "~1.3.3", 3252 | "send": "0.17.1" 3253 | }, 3254 | "dependencies": { 3255 | "debug": { 3256 | "version": "2.6.9", 3257 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3258 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3259 | "requires": { 3260 | "ms": "2.0.0" 3261 | }, 3262 | "dependencies": { 3263 | "ms": { 3264 | "version": "2.0.0", 3265 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3266 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3267 | } 3268 | } 3269 | }, 3270 | "mime": { 3271 | "version": "1.6.0", 3272 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 3273 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 3274 | }, 3275 | "ms": { 3276 | "version": "2.1.1", 3277 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 3278 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 3279 | }, 3280 | "send": { 3281 | "version": "0.17.1", 3282 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 3283 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", 3284 | "requires": { 3285 | "debug": "2.6.9", 3286 | "depd": "~1.1.2", 3287 | "destroy": "~1.0.4", 3288 | "encodeurl": "~1.0.2", 3289 | "escape-html": "~1.0.3", 3290 | "etag": "~1.8.1", 3291 | "fresh": "0.5.2", 3292 | "http-errors": "~1.7.2", 3293 | "mime": "1.6.0", 3294 | "ms": "2.1.1", 3295 | "on-finished": "~2.3.0", 3296 | "range-parser": "~1.2.1", 3297 | "statuses": "~1.5.0" 3298 | } 3299 | } 3300 | } 3301 | }, 3302 | "set-getter": { 3303 | "version": "0.1.0", 3304 | "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", 3305 | "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", 3306 | "requires": { 3307 | "to-object-path": "^0.3.0" 3308 | } 3309 | }, 3310 | "set-value": { 3311 | "version": "1.0.0", 3312 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-1.0.0.tgz", 3313 | "integrity": "sha1-vMdvcaDx4HokuYfQoCr+yfZlME8=", 3314 | "requires": { 3315 | "extend-shallow": "^2.0.1", 3316 | "is-extendable": "^0.1.1", 3317 | "is-plain-object": "^2.0.1", 3318 | "to-object-path": "^0.3.0" 3319 | } 3320 | }, 3321 | "setprototypeof": { 3322 | "version": "1.1.1", 3323 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 3324 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 3325 | }, 3326 | "shallow-clone": { 3327 | "version": "1.0.0", 3328 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", 3329 | "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", 3330 | "requires": { 3331 | "is-extendable": "^0.1.1", 3332 | "kind-of": "^5.0.0", 3333 | "mixin-object": "^2.0.1" 3334 | }, 3335 | "dependencies": { 3336 | "kind-of": { 3337 | "version": "5.1.0", 3338 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3339 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 3340 | } 3341 | } 3342 | }, 3343 | "shebang-command": { 3344 | "version": "1.2.0", 3345 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3346 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3347 | "requires": { 3348 | "shebang-regex": "^1.0.0" 3349 | } 3350 | }, 3351 | "shebang-regex": { 3352 | "version": "1.0.0", 3353 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3354 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 3355 | }, 3356 | "simple-encryptor": { 3357 | "version": "2.0.0", 3358 | "resolved": "https://registry.npmjs.org/simple-encryptor/-/simple-encryptor-2.0.0.tgz", 3359 | "integrity": "sha512-dqjQbp9RwfMrE+my/7Pgz9viIsHmY3aQtybGJQkv2sL79YuDGmkxUjlmEBFGP6bcUjBRnSvqsBAcv1ro0Y4/5A==", 3360 | "requires": { 3361 | "scmp": "2.0.0" 3362 | } 3363 | }, 3364 | "simple-swizzle": { 3365 | "version": "0.2.2", 3366 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 3367 | "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", 3368 | "requires": { 3369 | "is-arrayish": "^0.3.1" 3370 | } 3371 | }, 3372 | "snapdragon": { 3373 | "version": "0.8.2", 3374 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 3375 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 3376 | "requires": { 3377 | "base": "^0.11.1", 3378 | "debug": "^2.2.0", 3379 | "define-property": "^0.2.5", 3380 | "extend-shallow": "^2.0.1", 3381 | "map-cache": "^0.2.2", 3382 | "source-map": "^0.5.6", 3383 | "source-map-resolve": "^0.5.0", 3384 | "use": "^3.1.0" 3385 | }, 3386 | "dependencies": { 3387 | "debug": { 3388 | "version": "2.6.9", 3389 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3390 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3391 | "requires": { 3392 | "ms": "2.0.0" 3393 | } 3394 | }, 3395 | "define-property": { 3396 | "version": "0.2.5", 3397 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3398 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3399 | "requires": { 3400 | "is-descriptor": "^0.1.0" 3401 | } 3402 | }, 3403 | "is-accessor-descriptor": { 3404 | "version": "0.1.6", 3405 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3406 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3407 | "requires": { 3408 | "kind-of": "^3.0.2" 3409 | }, 3410 | "dependencies": { 3411 | "kind-of": { 3412 | "version": "3.2.2", 3413 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3414 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3415 | "requires": { 3416 | "is-buffer": "^1.1.5" 3417 | } 3418 | } 3419 | } 3420 | }, 3421 | "is-data-descriptor": { 3422 | "version": "0.1.4", 3423 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 3424 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 3425 | "requires": { 3426 | "kind-of": "^3.0.2" 3427 | }, 3428 | "dependencies": { 3429 | "kind-of": { 3430 | "version": "3.2.2", 3431 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3432 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3433 | "requires": { 3434 | "is-buffer": "^1.1.5" 3435 | } 3436 | } 3437 | } 3438 | }, 3439 | "is-descriptor": { 3440 | "version": "0.1.6", 3441 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 3442 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 3443 | "requires": { 3444 | "is-accessor-descriptor": "^0.1.6", 3445 | "is-data-descriptor": "^0.1.4", 3446 | "kind-of": "^5.0.0" 3447 | } 3448 | }, 3449 | "kind-of": { 3450 | "version": "5.1.0", 3451 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3452 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 3453 | }, 3454 | "ms": { 3455 | "version": "2.0.0", 3456 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3457 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3458 | } 3459 | } 3460 | }, 3461 | "snapdragon-node": { 3462 | "version": "2.1.1", 3463 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 3464 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 3465 | "requires": { 3466 | "define-property": "^1.0.0", 3467 | "isobject": "^3.0.0", 3468 | "snapdragon-util": "^3.0.1" 3469 | } 3470 | }, 3471 | "snapdragon-util": { 3472 | "version": "3.0.1", 3473 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 3474 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 3475 | "requires": { 3476 | "kind-of": "^3.2.0" 3477 | } 3478 | }, 3479 | "source-map": { 3480 | "version": "0.5.7", 3481 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3482 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 3483 | }, 3484 | "source-map-resolve": { 3485 | "version": "0.5.3", 3486 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", 3487 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", 3488 | "requires": { 3489 | "atob": "^2.1.2", 3490 | "decode-uri-component": "^0.2.0", 3491 | "resolve-url": "^0.2.1", 3492 | "source-map-url": "^0.4.0", 3493 | "urix": "^0.1.0" 3494 | } 3495 | }, 3496 | "source-map-url": { 3497 | "version": "0.4.0", 3498 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3499 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" 3500 | }, 3501 | "split-string": { 3502 | "version": "3.1.0", 3503 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3504 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3505 | "requires": { 3506 | "extend-shallow": "^3.0.0" 3507 | }, 3508 | "dependencies": { 3509 | "extend-shallow": { 3510 | "version": "3.0.2", 3511 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 3512 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 3513 | "requires": { 3514 | "assign-symbols": "^1.0.0", 3515 | "is-extendable": "^1.0.1" 3516 | } 3517 | }, 3518 | "is-extendable": { 3519 | "version": "1.0.1", 3520 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 3521 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 3522 | "requires": { 3523 | "is-plain-object": "^2.0.4" 3524 | } 3525 | } 3526 | } 3527 | }, 3528 | "sqlstring": { 3529 | "version": "2.3.1", 3530 | "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", 3531 | "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" 3532 | }, 3533 | "stack-trace": { 3534 | "version": "0.0.10", 3535 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 3536 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" 3537 | }, 3538 | "static-extend": { 3539 | "version": "0.1.2", 3540 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3541 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3542 | "requires": { 3543 | "define-property": "^0.2.5", 3544 | "object-copy": "^0.1.0" 3545 | }, 3546 | "dependencies": { 3547 | "define-property": { 3548 | "version": "0.2.5", 3549 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3550 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3551 | "requires": { 3552 | "is-descriptor": "^0.1.0" 3553 | } 3554 | }, 3555 | "is-accessor-descriptor": { 3556 | "version": "0.1.6", 3557 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3558 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3559 | "requires": { 3560 | "kind-of": "^3.0.2" 3561 | }, 3562 | "dependencies": { 3563 | "kind-of": { 3564 | "version": "3.2.2", 3565 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3566 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3567 | "requires": { 3568 | "is-buffer": "^1.1.5" 3569 | } 3570 | } 3571 | } 3572 | }, 3573 | "is-data-descriptor": { 3574 | "version": "0.1.4", 3575 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 3576 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 3577 | "requires": { 3578 | "kind-of": "^3.0.2" 3579 | }, 3580 | "dependencies": { 3581 | "kind-of": { 3582 | "version": "3.2.2", 3583 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3584 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3585 | "requires": { 3586 | "is-buffer": "^1.1.5" 3587 | } 3588 | } 3589 | } 3590 | }, 3591 | "is-descriptor": { 3592 | "version": "0.1.6", 3593 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 3594 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 3595 | "requires": { 3596 | "is-accessor-descriptor": "^0.1.6", 3597 | "is-data-descriptor": "^0.1.4", 3598 | "kind-of": "^5.0.0" 3599 | } 3600 | }, 3601 | "kind-of": { 3602 | "version": "5.1.0", 3603 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3604 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 3605 | } 3606 | } 3607 | }, 3608 | "statuses": { 3609 | "version": "1.5.0", 3610 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 3611 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 3612 | }, 3613 | "string-width": { 3614 | "version": "2.1.1", 3615 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3616 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3617 | "requires": { 3618 | "is-fullwidth-code-point": "^2.0.0", 3619 | "strip-ansi": "^4.0.0" 3620 | } 3621 | }, 3622 | "string_decoder": { 3623 | "version": "1.3.0", 3624 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 3625 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 3626 | "requires": { 3627 | "safe-buffer": "~5.2.0" 3628 | }, 3629 | "dependencies": { 3630 | "safe-buffer": { 3631 | "version": "5.2.1", 3632 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3633 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 3634 | } 3635 | } 3636 | }, 3637 | "strip-ansi": { 3638 | "version": "4.0.0", 3639 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3640 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3641 | "requires": { 3642 | "ansi-regex": "^3.0.0" 3643 | } 3644 | }, 3645 | "strip-color": { 3646 | "version": "0.1.0", 3647 | "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", 3648 | "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=" 3649 | }, 3650 | "success-symbol": { 3651 | "version": "0.1.0", 3652 | "resolved": "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz", 3653 | "integrity": "sha1-JAIuSG878c3KCUKDt2nEctO3KJc=" 3654 | }, 3655 | "supports-color": { 3656 | "version": "5.5.0", 3657 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3658 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3659 | "requires": { 3660 | "has-flag": "^3.0.0" 3661 | } 3662 | }, 3663 | "syntax-error": { 3664 | "version": "1.4.0", 3665 | "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", 3666 | "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", 3667 | "requires": { 3668 | "acorn-node": "^1.2.0" 3669 | } 3670 | }, 3671 | "tarn": { 3672 | "version": "1.1.5", 3673 | "resolved": "https://registry.npmjs.org/tarn/-/tarn-1.1.5.tgz", 3674 | "integrity": "sha512-PMtJ3HCLAZeedWjJPgGnCvcphbCOMbtZpjKgLq3qM5Qq9aQud+XHrL0WlrlgnTyS8U+jrjGbEXprFcQrxPy52g==" 3675 | }, 3676 | "terminal-paginator": { 3677 | "version": "2.0.2", 3678 | "resolved": "https://registry.npmjs.org/terminal-paginator/-/terminal-paginator-2.0.2.tgz", 3679 | "integrity": "sha512-IZMT5ECF9p4s+sNCV8uvZSW9E1+9zy9Ji9xz2oee8Jfo7hUFpauyjxkhfRcIH6Lu3Wdepv5D1kVRc8Hx74/LfQ==", 3680 | "requires": { 3681 | "debug": "^2.6.6", 3682 | "extend-shallow": "^2.0.1", 3683 | "log-utils": "^0.2.1" 3684 | }, 3685 | "dependencies": { 3686 | "debug": { 3687 | "version": "2.6.9", 3688 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3689 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3690 | "requires": { 3691 | "ms": "2.0.0" 3692 | } 3693 | }, 3694 | "ms": { 3695 | "version": "2.0.0", 3696 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3697 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3698 | } 3699 | } 3700 | }, 3701 | "text-hex": { 3702 | "version": "1.0.0", 3703 | "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", 3704 | "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" 3705 | }, 3706 | "tildify": { 3707 | "version": "1.2.0", 3708 | "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", 3709 | "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", 3710 | "requires": { 3711 | "os-homedir": "^1.0.0" 3712 | } 3713 | }, 3714 | "time-stamp": { 3715 | "version": "1.1.0", 3716 | "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", 3717 | "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" 3718 | }, 3719 | "tmp": { 3720 | "version": "0.0.33", 3721 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3722 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3723 | "requires": { 3724 | "os-tmpdir": "~1.0.2" 3725 | } 3726 | }, 3727 | "to-object-path": { 3728 | "version": "0.3.0", 3729 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 3730 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 3731 | "requires": { 3732 | "kind-of": "^3.0.2" 3733 | } 3734 | }, 3735 | "to-regex": { 3736 | "version": "3.0.2", 3737 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 3738 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 3739 | "requires": { 3740 | "define-property": "^2.0.2", 3741 | "extend-shallow": "^3.0.2", 3742 | "regex-not": "^1.0.2", 3743 | "safe-regex": "^1.1.0" 3744 | }, 3745 | "dependencies": { 3746 | "define-property": { 3747 | "version": "2.0.2", 3748 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 3749 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 3750 | "requires": { 3751 | "is-descriptor": "^1.0.2", 3752 | "isobject": "^3.0.1" 3753 | } 3754 | }, 3755 | "extend-shallow": { 3756 | "version": "3.0.2", 3757 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 3758 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 3759 | "requires": { 3760 | "assign-symbols": "^1.0.0", 3761 | "is-extendable": "^1.0.1" 3762 | } 3763 | }, 3764 | "is-extendable": { 3765 | "version": "1.0.1", 3766 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 3767 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 3768 | "requires": { 3769 | "is-plain-object": "^2.0.4" 3770 | } 3771 | } 3772 | } 3773 | }, 3774 | "to-regex-range": { 3775 | "version": "2.1.1", 3776 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 3777 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 3778 | "requires": { 3779 | "is-number": "^3.0.0", 3780 | "repeat-string": "^1.6.1" 3781 | }, 3782 | "dependencies": { 3783 | "is-number": { 3784 | "version": "3.0.0", 3785 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3786 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3787 | "requires": { 3788 | "kind-of": "^3.0.2" 3789 | } 3790 | } 3791 | } 3792 | }, 3793 | "toggle-array": { 3794 | "version": "1.0.1", 3795 | "resolved": "https://registry.npmjs.org/toggle-array/-/toggle-array-1.0.1.tgz", 3796 | "integrity": "sha1-y/WEB5K9UJfzMReugkyTKv/ofVg=", 3797 | "requires": { 3798 | "isobject": "^3.0.0" 3799 | } 3800 | }, 3801 | "toidentifier": { 3802 | "version": "1.0.0", 3803 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 3804 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 3805 | }, 3806 | "triple-beam": { 3807 | "version": "1.3.0", 3808 | "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", 3809 | "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" 3810 | }, 3811 | "type-is": { 3812 | "version": "1.6.18", 3813 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 3814 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 3815 | "requires": { 3816 | "media-typer": "0.3.0", 3817 | "mime-types": "~2.1.24" 3818 | } 3819 | }, 3820 | "uid-safe": { 3821 | "version": "2.1.5", 3822 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 3823 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 3824 | "requires": { 3825 | "random-bytes": "~1.0.0" 3826 | } 3827 | }, 3828 | "unc-path-regex": { 3829 | "version": "0.1.2", 3830 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", 3831 | "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" 3832 | }, 3833 | "union-value": { 3834 | "version": "1.0.1", 3835 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", 3836 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", 3837 | "requires": { 3838 | "arr-union": "^3.1.0", 3839 | "get-value": "^2.0.6", 3840 | "is-extendable": "^0.1.1", 3841 | "set-value": "^2.0.1" 3842 | }, 3843 | "dependencies": { 3844 | "set-value": { 3845 | "version": "2.0.1", 3846 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", 3847 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", 3848 | "requires": { 3849 | "extend-shallow": "^2.0.1", 3850 | "is-extendable": "^0.1.1", 3851 | "is-plain-object": "^2.0.3", 3852 | "split-string": "^3.0.1" 3853 | } 3854 | } 3855 | } 3856 | }, 3857 | "universalify": { 3858 | "version": "0.1.2", 3859 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 3860 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 3861 | }, 3862 | "unpipe": { 3863 | "version": "1.0.0", 3864 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 3865 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 3866 | }, 3867 | "unset-value": { 3868 | "version": "1.0.0", 3869 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 3870 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 3871 | "requires": { 3872 | "has-value": "^0.3.1", 3873 | "isobject": "^3.0.0" 3874 | }, 3875 | "dependencies": { 3876 | "has-value": { 3877 | "version": "0.3.1", 3878 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 3879 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 3880 | "requires": { 3881 | "get-value": "^2.0.3", 3882 | "has-values": "^0.1.4", 3883 | "isobject": "^2.0.0" 3884 | }, 3885 | "dependencies": { 3886 | "isobject": { 3887 | "version": "2.1.0", 3888 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3889 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 3890 | "requires": { 3891 | "isarray": "1.0.0" 3892 | } 3893 | } 3894 | } 3895 | }, 3896 | "has-values": { 3897 | "version": "0.1.4", 3898 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 3899 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" 3900 | } 3901 | } 3902 | }, 3903 | "upcast": { 3904 | "version": "2.1.2", 3905 | "resolved": "https://registry.npmjs.org/upcast/-/upcast-2.1.2.tgz", 3906 | "integrity": "sha512-c+ueM175OVWv9vr1SYA3rI1ao0bxq6Y7l6u5Sac25Hi0yWz9Lz341zt9/sVOa5+7lYcvHMb0xxaacFy/2lVF2w==", 3907 | "requires": { 3908 | "cross-env": "^5.1.0" 3909 | } 3910 | }, 3911 | "urix": { 3912 | "version": "0.1.0", 3913 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 3914 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" 3915 | }, 3916 | "use": { 3917 | "version": "3.1.1", 3918 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 3919 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" 3920 | }, 3921 | "useragent": { 3922 | "version": "2.3.0", 3923 | "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", 3924 | "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", 3925 | "requires": { 3926 | "lru-cache": "4.1.x", 3927 | "tmp": "0.0.x" 3928 | } 3929 | }, 3930 | "util-deprecate": { 3931 | "version": "1.0.2", 3932 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3933 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 3934 | }, 3935 | "uuid": { 3936 | "version": "3.4.0", 3937 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 3938 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 3939 | }, 3940 | "v8flags": { 3941 | "version": "3.2.0", 3942 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", 3943 | "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", 3944 | "requires": { 3945 | "homedir-polyfill": "^1.0.1" 3946 | } 3947 | }, 3948 | "vary": { 3949 | "version": "1.1.2", 3950 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 3951 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 3952 | }, 3953 | "warning-symbol": { 3954 | "version": "0.1.0", 3955 | "resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz", 3956 | "integrity": "sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE=" 3957 | }, 3958 | "which": { 3959 | "version": "1.3.1", 3960 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3961 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3962 | "requires": { 3963 | "isexe": "^2.0.0" 3964 | } 3965 | }, 3966 | "window-size": { 3967 | "version": "1.1.1", 3968 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz", 3969 | "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==", 3970 | "requires": { 3971 | "define-property": "^1.0.0", 3972 | "is-number": "^3.0.0" 3973 | }, 3974 | "dependencies": { 3975 | "is-number": { 3976 | "version": "3.0.0", 3977 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3978 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3979 | "requires": { 3980 | "kind-of": "^3.0.2" 3981 | } 3982 | } 3983 | } 3984 | }, 3985 | "winston": { 3986 | "version": "3.3.3", 3987 | "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", 3988 | "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", 3989 | "requires": { 3990 | "@dabh/diagnostics": "^2.0.2", 3991 | "async": "^3.1.0", 3992 | "is-stream": "^2.0.0", 3993 | "logform": "^2.2.0", 3994 | "one-time": "^1.0.0", 3995 | "readable-stream": "^3.4.0", 3996 | "stack-trace": "0.0.x", 3997 | "triple-beam": "^1.3.0", 3998 | "winston-transport": "^4.4.0" 3999 | } 4000 | }, 4001 | "winston-transport": { 4002 | "version": "4.4.0", 4003 | "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz", 4004 | "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==", 4005 | "requires": { 4006 | "readable-stream": "^2.3.7", 4007 | "triple-beam": "^1.2.0" 4008 | }, 4009 | "dependencies": { 4010 | "readable-stream": { 4011 | "version": "2.3.7", 4012 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4013 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 4014 | "requires": { 4015 | "core-util-is": "~1.0.0", 4016 | "inherits": "~2.0.3", 4017 | "isarray": "~1.0.0", 4018 | "process-nextick-args": "~2.0.0", 4019 | "safe-buffer": "~5.1.1", 4020 | "string_decoder": "~1.1.1", 4021 | "util-deprecate": "~1.0.1" 4022 | } 4023 | }, 4024 | "string_decoder": { 4025 | "version": "1.1.1", 4026 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4027 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4028 | "requires": { 4029 | "safe-buffer": "~5.1.0" 4030 | } 4031 | } 4032 | } 4033 | }, 4034 | "wrappy": { 4035 | "version": "1.0.2", 4036 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4037 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 4038 | }, 4039 | "xtend": { 4040 | "version": "4.0.2", 4041 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 4042 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 4043 | }, 4044 | "yallist": { 4045 | "version": "2.1.2", 4046 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4047 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" 4048 | }, 4049 | "youch": { 4050 | "version": "2.0.10", 4051 | "resolved": "https://registry.npmjs.org/youch/-/youch-2.0.10.tgz", 4052 | "integrity": "sha512-qPLQW2TuwlcK9sm5i1Gbb9ezRZRZyzr6NsY5cqxsbh+2iEyKPxLlz0OSAc+pQ7mv1pYZLri1MXynggP6R2FcNQ==", 4053 | "requires": { 4054 | "cookie": "^0.3.1", 4055 | "mustache": "^3.0.0", 4056 | "stack-trace": "0.0.10" 4057 | }, 4058 | "dependencies": { 4059 | "cookie": { 4060 | "version": "0.3.1", 4061 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 4062 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 4063 | } 4064 | } 4065 | }, 4066 | "youch-terminal": { 4067 | "version": "1.0.0", 4068 | "resolved": "https://registry.npmjs.org/youch-terminal/-/youch-terminal-1.0.0.tgz", 4069 | "integrity": "sha512-rOVcJi5juKSUI3/mwAKOP+gjrUWUgb5AUTe2LZlfLBgLdfgnYtBKCrWc02GgRozDf/i6uXBu9/y3Vf6db+7k1A==", 4070 | "requires": { 4071 | "chalk": "^2.3.0" 4072 | } 4073 | } 4074 | } 4075 | } 4076 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "adonis-api-app", 3 | "version": "4.1.0", 4 | "adonis-version": "4.1.0", 5 | "description": "Adonisjs boilerplate for API server with pre-configured JWT", 6 | "main": "index.js", 7 | "scripts": { 8 | "start": "node server.js", 9 | "test": "node ace test" 10 | }, 11 | "keywords": [ 12 | "adonisjs", 13 | "adonis-app" 14 | ], 15 | "author": "", 16 | "license": "UNLICENSED", 17 | "private": true, 18 | "dependencies": { 19 | "@adonisjs/ace": "^5.0.8", 20 | "@adonisjs/auth": "^3.0.7", 21 | "@adonisjs/bodyparser": "^2.0.5", 22 | "@adonisjs/cors": "^1.0.7", 23 | "@adonisjs/fold": "^4.0.9", 24 | "@adonisjs/framework": "^5.0.9", 25 | "@adonisjs/ignitor": "^2.0.8", 26 | "@adonisjs/lucid": "^6.1.3", 27 | "@adonisjs/validator": "^5.0.6", 28 | "mysql": "^2.18.1" 29 | }, 30 | "devDependencies": {}, 31 | "autoload": { 32 | "App": "./app" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Http server 6 | |-------------------------------------------------------------------------- 7 | | 8 | | This file bootstraps Adonisjs to start the HTTP server. You are free to 9 | | customize the process of booting the http server. 10 | | 11 | | """ Loading ace commands """ 12 | | At times you may want to load ace commands when starting the HTTP server. 13 | | Same can be done by chaining `loadCommands()` method after 14 | | 15 | | """ Preloading files """ 16 | | Also you can preload files by calling `preLoad('path/to/file')` method. 17 | | Make sure to pass a relative path from the project root. 18 | */ 19 | 20 | const { Ignitor } = require('@adonisjs/ignitor') 21 | 22 | new Ignitor(require('@adonisjs/fold')) 23 | .appRoot(__dirname) 24 | .fireHttpServer() 25 | .catch(console.error) 26 | -------------------------------------------------------------------------------- /start/app.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Providers 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Providers are building blocks for your Adonis app. Anytime you install 9 | | a new Adonis specific package, chances are you will register the 10 | | provider here. 11 | | 12 | */ 13 | const providers = [ 14 | '@adonisjs/framework/providers/AppProvider', 15 | '@adonisjs/auth/providers/AuthProvider', 16 | '@adonisjs/bodyparser/providers/BodyParserProvider', 17 | '@adonisjs/cors/providers/CorsProvider', 18 | '@adonisjs/lucid/providers/LucidProvider', 19 | '@adonisjs/validator/providers/ValidatorProvider' 20 | ] 21 | 22 | /* 23 | |-------------------------------------------------------------------------- 24 | | Ace Providers 25 | |-------------------------------------------------------------------------- 26 | | 27 | | Ace providers are required only when running ace commands. For example 28 | | Providers for migrations, tests etc. 29 | | 30 | */ 31 | const aceProviders = [ 32 | '@adonisjs/lucid/providers/MigrationsProvider' 33 | ] 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Aliases 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Aliases are short unique names for IoC container bindings. You are free 41 | | to create your own aliases. 42 | | 43 | | For example: 44 | | { Route: 'Adonis/Src/Route' } 45 | | 46 | */ 47 | const aliases = {} 48 | 49 | /* 50 | |-------------------------------------------------------------------------- 51 | | Commands 52 | |-------------------------------------------------------------------------- 53 | | 54 | | Here you store ace commands for your package 55 | | 56 | */ 57 | const commands = [] 58 | 59 | module.exports = { providers, aceProviders, aliases, commands } 60 | -------------------------------------------------------------------------------- /start/kernel.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** @type {import('@adonisjs/framework/src/Server')} */ 4 | const Server = use('Server') 5 | 6 | /* 7 | |-------------------------------------------------------------------------- 8 | | Global Middleware 9 | |-------------------------------------------------------------------------- 10 | | 11 | | Global middleware are executed on each http request only when the routes 12 | | match. 13 | | 14 | */ 15 | const globalMiddleware = [ 16 | 'Adonis/Middleware/BodyParser', 17 | 'App/Middleware/ConvertEmptyStringsToNull' 18 | ] 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Named Middleware 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Named middleware is key/value object to conditionally add middleware on 26 | | specific routes or group of routes. 27 | | 28 | | // define 29 | | { 30 | | auth: 'Adonis/Middleware/Auth' 31 | | } 32 | | 33 | | // use 34 | | Route.get().middleware('auth') 35 | | 36 | */ 37 | const namedMiddleware = { 38 | auth: 'Adonis/Middleware/Auth', 39 | guest: 'Adonis/Middleware/AllowGuestOnly' 40 | } 41 | 42 | /* 43 | |-------------------------------------------------------------------------- 44 | | Server Middleware 45 | |-------------------------------------------------------------------------- 46 | | 47 | | Server level middleware are executed even when route for a given URL is 48 | | not registered. Features like `static assets` and `cors` needs better 49 | | control over request lifecycle. 50 | | 51 | */ 52 | const serverMiddleware = [ 53 | // 'Adonis/Middleware/Static', 54 | 'Adonis/Middleware/Cors' 55 | ] 56 | 57 | Server 58 | .registerGlobal(globalMiddleware) 59 | .registerNamed(namedMiddleware) 60 | .use(serverMiddleware) 61 | -------------------------------------------------------------------------------- /start/routes.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Routes 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Http routes are entry points to your web application. You can create 9 | | routes for different URLs and bind Controller actions to them. 10 | | 11 | | A complete guide on routing is available here. 12 | | http://adonisjs.com/docs/4.1/routing 13 | | 14 | */ 15 | 16 | /** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ 17 | const Route = use('Route') 18 | 19 | Route.get('/', () => { 20 | return { greeting: 'Hello world in JSON' } 21 | }) 22 | 23 | Route.group(() => { 24 | Route.resource('hotels', 'HotelController') 25 | }).prefix('api/v1') 26 | --------------------------------------------------------------------------------