From b8da886601530a6d907edc27fdbe15a7ba26d5e7 Mon Sep 17 00:00:00 2001 From: Kata Date: Sat, 23 Feb 2019 18:16:31 -0600 Subject: [PATCH] v2: init -- UI is nuked from orbit, major app restructuring --- .dockerignore | 8 +- Server/.editorconfig => .editorconfig | 0 .env.example | 30 + .gitignore | 9 +- README.md | 57 +- Server/Roleypoly.js => Roleypoly.js | 15 + Server/.env.example | 10 - Server/.eslintrc.js | 3 - Server/.gitignore | 4 - Server/package.json | 38 - Server/yarn.lock | 3485 ----- UI/.gitignore | 12 +- UI/README.md | 44 - UI/components/head.js | 44 + UI/components/nav.js | 59 + UI/config-overrides.js | 4 - UI/package.json | 62 - UI/pages/index.js | 91 + UI/public/favicon.ico | Bin 3870 -> 0 bytes UI/public/favicon.png | Bin 33681 -> 0 bytes UI/public/index.html | 28 - UI/public/manifest.json | 15 - UI/src/App.css | 28 - UI/src/App.js | 39 - UI/src/App.test.js | 8 - UI/src/actions/index.js | 87 - UI/src/actions/ui.js | 13 - UI/src/assets/logomark.svg | 20 - UI/src/components/add-server/index.js | 41 - UI/src/components/add-server/styles.sass | 29 - UI/src/components/demos/roleypoly.js | 12 - UI/src/components/demos/typing.js | 29 - UI/src/components/demos/typing.sass | 48 - UI/src/components/dev-tools/index.js | 11 - UI/src/components/logotype/index.js | 18 - UI/src/components/logotype/logotype.svg | 18 - UI/src/components/oauth-bot-flow/index.js | 27 - UI/src/components/oauth-callback/index.js | 83 - UI/src/components/oauth-flow/index.js | 73 - UI/src/components/role-editor/Category.js | 44 - .../components/role-editor/CategoryEditor.js | 64 - UI/src/components/role-editor/RoleEditor.sass | 106 - UI/src/components/role-editor/actions.js | 146 - UI/src/components/role-editor/index.js | 192 - UI/src/components/role-picker/Category.js | 53 - UI/src/components/role-picker/RolePicker.sass | 63 - UI/src/components/role-picker/actions.js | 146 - UI/src/components/role-picker/index.js | 145 - UI/src/components/role/Role.sass | 104 - UI/src/components/role/demo.js | 19 - UI/src/components/role/draggable.js | 32 - UI/src/components/role/index.js | 60 - UI/src/components/servers/Navigation.js | 40 - UI/src/components/servers/ServerCard.js | 45 - UI/src/components/servers/ServerCard.sass | 50 - UI/src/components/servers/ServerLanding.js | 47 - UI/src/components/servers/UserCard.js | 51 - UI/src/components/servers/UserCard.sass | 44 - UI/src/components/servers/index.js | 55 - UI/src/components/servers/index.sass | 26 - UI/src/components/wrapper/index.js | 40 - UI/src/components/wrapper/wrapper.sass | 35 - UI/src/generic.sass | 59 - UI/src/index.css | 65 - UI/src/index.js | 8 - UI/src/logo.svg | 7 - UI/src/pages/Error404.js | 14 - UI/src/pages/WhyNoRoles.js | 19 - UI/src/pages/images/discord-logo.svg | 21 - UI/src/pages/images/whynoroles-bad.png | Bin 78143 -> 0 bytes UI/src/pages/images/whynoroles-good.png | Bin 78185 -> 0 bytes UI/src/pages/index.js | 25 - UI/src/pages/landing.sass | 76 - UI/src/pages/pages.sass | 14 - UI/src/reducers/index.js | 45 - UI/src/reducers/role-editor.js | 54 - UI/src/reducers/role-picker.js | 44 - UI/src/reducers/servers.js | 48 - UI/src/reducers/user.js | 22 - UI/src/registerServiceWorker.js | 108 - UI/src/router/index.js | 55 - UI/src/store/configureStore.dev.js | 30 - UI/src/store/configureStore.js | 5 - UI/src/store/configureStore.prod.js | 14 - UI/src/utils.js | 1 - UI/static/favicon.ico | Bin 0 -> 15086 bytes UI/yarn.lock | 10704 ---------------- {Server/api => api}/auth.js | 0 {Server/api => api}/index.js | 0 {Server/api => api}/servers.js | 0 {Server/api => api}/servers_test.js | 0 api/ui.js | 17 + docker-compose.example.yml | 28 + Server/index.js => index.js | 76 +- Server/logger.js => logger.js | 0 {Server/models => models}/Server.js | 0 {Server/models => models}/Session.js | 0 {Server/models => models}/index.js | 0 next.config.js | 10 + package.json | 36 + {Server/services => services}/Service.js | 0 {Server/services => services}/discord.js | 0 {Server/services => services}/presentation.js | 2 +- {Server/services => services}/server.js | 0 {Server/services => services}/sessions.js | 0 start.sh | 14 - {Server/util => util}/model-methods.js | 0 yarn.lock | 6317 +++++++++ 108 files changed, 6717 insertions(+), 17430 deletions(-) rename Server/.editorconfig => .editorconfig (100%) create mode 100644 .env.example rename Server/Roleypoly.js => Roleypoly.js (79%) delete mode 100644 Server/.env.example delete mode 100644 Server/.eslintrc.js delete mode 100644 Server/.gitignore delete mode 100644 Server/package.json delete mode 100644 Server/yarn.lock delete mode 100644 UI/README.md create mode 100644 UI/components/head.js create mode 100644 UI/components/nav.js delete mode 100644 UI/config-overrides.js delete mode 100644 UI/package.json create mode 100644 UI/pages/index.js delete mode 100644 UI/public/favicon.ico delete mode 100644 UI/public/favicon.png delete mode 100644 UI/public/index.html delete mode 100644 UI/public/manifest.json delete mode 100644 UI/src/App.css delete mode 100644 UI/src/App.js delete mode 100644 UI/src/App.test.js delete mode 100644 UI/src/actions/index.js delete mode 100644 UI/src/actions/ui.js delete mode 100644 UI/src/assets/logomark.svg delete mode 100644 UI/src/components/add-server/index.js delete mode 100644 UI/src/components/add-server/styles.sass delete mode 100644 UI/src/components/demos/roleypoly.js delete mode 100644 UI/src/components/demos/typing.js delete mode 100644 UI/src/components/demos/typing.sass delete mode 100644 UI/src/components/dev-tools/index.js delete mode 100644 UI/src/components/logotype/index.js delete mode 100644 UI/src/components/logotype/logotype.svg delete mode 100644 UI/src/components/oauth-bot-flow/index.js delete mode 100644 UI/src/components/oauth-callback/index.js delete mode 100644 UI/src/components/oauth-flow/index.js delete mode 100644 UI/src/components/role-editor/Category.js delete mode 100644 UI/src/components/role-editor/CategoryEditor.js delete mode 100644 UI/src/components/role-editor/RoleEditor.sass delete mode 100644 UI/src/components/role-editor/actions.js delete mode 100644 UI/src/components/role-editor/index.js delete mode 100644 UI/src/components/role-picker/Category.js delete mode 100644 UI/src/components/role-picker/RolePicker.sass delete mode 100644 UI/src/components/role-picker/actions.js delete mode 100644 UI/src/components/role-picker/index.js delete mode 100644 UI/src/components/role/Role.sass delete mode 100644 UI/src/components/role/demo.js delete mode 100644 UI/src/components/role/draggable.js delete mode 100644 UI/src/components/role/index.js delete mode 100644 UI/src/components/servers/Navigation.js delete mode 100644 UI/src/components/servers/ServerCard.js delete mode 100644 UI/src/components/servers/ServerCard.sass delete mode 100644 UI/src/components/servers/ServerLanding.js delete mode 100644 UI/src/components/servers/UserCard.js delete mode 100644 UI/src/components/servers/UserCard.sass delete mode 100644 UI/src/components/servers/index.js delete mode 100644 UI/src/components/servers/index.sass delete mode 100644 UI/src/components/wrapper/index.js delete mode 100644 UI/src/components/wrapper/wrapper.sass delete mode 100644 UI/src/generic.sass delete mode 100644 UI/src/index.css delete mode 100644 UI/src/index.js delete mode 100644 UI/src/logo.svg delete mode 100644 UI/src/pages/Error404.js delete mode 100644 UI/src/pages/WhyNoRoles.js delete mode 100644 UI/src/pages/images/discord-logo.svg delete mode 100644 UI/src/pages/images/whynoroles-bad.png delete mode 100644 UI/src/pages/images/whynoroles-good.png delete mode 100644 UI/src/pages/index.js delete mode 100644 UI/src/pages/landing.sass delete mode 100644 UI/src/pages/pages.sass delete mode 100644 UI/src/reducers/index.js delete mode 100644 UI/src/reducers/role-editor.js delete mode 100644 UI/src/reducers/role-picker.js delete mode 100644 UI/src/reducers/servers.js delete mode 100644 UI/src/reducers/user.js delete mode 100644 UI/src/registerServiceWorker.js delete mode 100644 UI/src/router/index.js delete mode 100644 UI/src/store/configureStore.dev.js delete mode 100644 UI/src/store/configureStore.js delete mode 100644 UI/src/store/configureStore.prod.js delete mode 100644 UI/src/utils.js create mode 100644 UI/static/favicon.ico delete mode 100644 UI/yarn.lock rename {Server/api => api}/auth.js (100%) rename {Server/api => api}/index.js (100%) rename {Server/api => api}/servers.js (100%) rename {Server/api => api}/servers_test.js (100%) create mode 100644 api/ui.js create mode 100644 docker-compose.example.yml rename Server/index.js => index.js (51%) rename Server/logger.js => logger.js (100%) rename {Server/models => models}/Server.js (100%) rename {Server/models => models}/Session.js (100%) rename {Server/models => models}/index.js (100%) create mode 100644 next.config.js create mode 100644 package.json rename {Server/services => services}/Service.js (100%) rename {Server/services => services}/discord.js (100%) rename {Server/services => services}/presentation.js (96%) rename {Server/services => services}/server.js (100%) rename {Server/services => services}/sessions.js (100%) delete mode 100755 start.sh rename {Server/util => util}/model-methods.js (100%) create mode 100644 yarn.lock diff --git a/.dockerignore b/.dockerignore index 2b3aa56..e96f7dc 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,7 +1,3 @@ -Server/.env -Server/public/ +.env .git/ - -*/node_modules/ -UI/node_modules/ -Server/node_modules/ \ No newline at end of file +node_modules/ diff --git a/Server/.editorconfig b/.editorconfig similarity index 100% rename from Server/.editorconfig rename to .editorconfig diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..a6d03ce --- /dev/null +++ b/.env.example @@ -0,0 +1,30 @@ +# database url, we mostly use postgres. others may work, but who knows. +# this is set up for the docker-compose.yml file included. +DB_URL=postgres://roleypoly:19216801@localhost:5432/roleypoly + +# debug=true will increase logging +DEBUG=true + +# development vs production changes how the UI does it's rendering. +# do NOT leave this on development for prod. that's dumb. +NODE_ENV=development + +# discord settings. +DISCORD_CLIENT_ID=36391647431320739 +DISCORD_CLIENT_SECRET=PZd3u4RkokhnB8MVdALPz5 +DISCORD_BOT_TOKEN=qgTk4wm9Q7ECmMCovpmJVNCBltzJhL + +# URL to the app for OAuth callbacks +APP_URL=http://localhost:6769 + +# CHANGE THIS ALWAYS. BUT EXACTLY ONCE. +# CHANGE THIS ALWAYS. BUT EXACTLY ONCE. +# CHANGE THIS ALWAYS. BUT EXACTLY ONCE. +# signing key for sessions. changing this will invalidate all sessions. +APP_KEY=PJoayPGqi8vfYVFYBDgSeJSDYUpzBX + +# does this instance start a bot? +IS_BOT=true + +# your and your friend's user ID for using admin tools. +ROOT_USERS=62601275618889721 diff --git a/.gitignore b/.gitignore index bda6558..23f699f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,9 @@ -Server/\.env +.env +*.env /docker-compose.test.yml -Server/prod\.env -Server/test\.env -UI~ \ No newline at end of file +node_modules +.vscode +.data diff --git a/README.md b/README.md index 0dc055a..fe8638c 100644 --- a/README.md +++ b/README.md @@ -1 +1,56 @@ -roleypoly +# roleypoly + +a discord bot & web ui for managing self-assignable roles. + +**Most likely, you'll want to go here: https://rp.kat.cafe**. This app is already hosted, you don't need to deal with deploying it or anything, I've already done it for you. + +If you're here to report a bug or develop on Roleypoly, the rest of this document is for you. + +## developing/running your own + +you'll need + +- a discord app and bot token +- a node environment (maybe?) +- a docker environment +- a hard hat because it's time to go building! + +Check `.env.example` for all the various possible configuration values. Roleypoly is configured entirely over environment variables. In development, you might want to copy `.env.example` to `.env` so you don't need to set this up in your shell. + +### for developers + +``` +docker-compose up -d +yarn +yarn dev +``` + +### for production + +If you want an unedited latest version of roleypoly, it is available on the Docker Hub ([katie/roleypoly](https://hub.docker.com/r/katie/roleypoly)) for your using pleasure. An example docker-compose.yml is provided in `docker-compose.example.yml`, and all relevant environment variables (see `.env.example`) may be set there. + +If you're not into Docker and/or want to deploy your own, simply run +``` +yarn start +``` +and you're off to the production races (sort of, you'll want to set up a `.env` file.) + +The relevant `Dockerfile` is also included, so `docker build` is a useful way to deploy this too. + +## scope & goal of project + +I wanted to create a bot that let servers fully express theirselves through roles. the primary goal is clear in that regard, and it started with a (desktop-only) web experience. originally, a command-based bot wasn't on the menu, but i've likened up to the idea; but the single requirement is it *must* work in a fuzzy-match situation. + +One of the biggest problems I set out to solve was the problem of emojis. Discord supports them and bots try to, but the fact of the matter is, not every bot treats emojis as first class citizens; and users can't really remember roles either. The problem is fine with 10 roles that are easy to remember and explain. This is impossible to manage with 250, Discord's cap on roles. + +The primary goal, all-in-all, is to provide the single, best, end-all user experience for a bot that manages roles; until Discord gives us this theirselves. + +— kayteh + +## need help? wanna help us? + +If you need any help, [please join our discord](https://discord.gg/m4GpWYY). That is the best way to contact the developers. + +If your server needs something in particular to accomodate your server's requirements of user-assignable roles, please reach out to me over DMs on Discord, or email at [roleypoly@kat.cafe](mailto:roleypoly@kat.cafe) + +If you'd like to give us incentive to continue developing and hosting this bot, please consider supporting it through [Patreon](https://patreon.com/kata), or via [PayPal](https://paypal.me/kayteh). All support is extremely appreciated, and not required for the use of the service. diff --git a/Server/Roleypoly.js b/Roleypoly.js similarity index 79% rename from Server/Roleypoly.js rename to Roleypoly.js index 9be93fe..bf067ac 100644 --- a/Server/Roleypoly.js +++ b/Roleypoly.js @@ -2,6 +2,8 @@ const log = new (require('./logger'))('Roleypoly') const Sequelize = require('sequelize') const fetchModels = require('./models') const fetchApis = require('./api') +const Next = require('next') + class Roleypoly { constructor (router, io, app) { @@ -18,6 +20,10 @@ class Roleypoly { if (log.debugOn) log.warn('debug mode is on') + const dev = process.env.NODE_ENV !== 'production' + this.ctx.ui = Next({ dev, dir: './ui' }) + this.ctx.uiHandler = this.ctx.ui.getRequestHandler() + this.__initialized = this._mountServices() } @@ -47,7 +53,16 @@ class Roleypoly { } async mountRoutes () { + await this.ctx.ui.prepare() + fetchApis(this.router, this.ctx) + + // after routing, add the * for ui handler + this.router.get('*', async ctx => { + await this.ctx.uiHandler(ctx.req, ctx.res) + ctx.respond = false + }) + this.__app.use(this.router.middleware()) } } diff --git a/Server/.env.example b/Server/.env.example deleted file mode 100644 index b93a1c9..0000000 --- a/Server/.env.example +++ /dev/null @@ -1,10 +0,0 @@ -DB_URL=postgres://roleypoly:19216801@localhost:5432/roleypoly -DEBUG=true -NODE_ENV=development -DISCORD_CLIENT_ID=36391647431320739 -DISCORD_CLIENT_SECRET=PZd3u4RkokhnB8MVdALPz5 -DISCORD_BOT_TOKEN=qgTk4wm9Q7ECmMCovpmJVNCBltzJhL -APP_URL=http://localhost:6769 -APP_KEY=PJoayPGqi8vfYVFYBDgSeJSDYUpzBX -IS_BOT=true -ROOT_USERS=62601275618889721 \ No newline at end of file diff --git a/Server/.eslintrc.js b/Server/.eslintrc.js deleted file mode 100644 index a5b82de..0000000 --- a/Server/.eslintrc.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - "extends": "standard" -}; \ No newline at end of file diff --git a/Server/.gitignore b/Server/.gitignore deleted file mode 100644 index 085795a..0000000 --- a/Server/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -.data -.env -public diff --git a/Server/package.json b/Server/package.json deleted file mode 100644 index 3434b19..0000000 --- a/Server/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "backend", - "version": "1.0.0", - "main": "index.js", - "scripts": { - "start": "standard && node index.js", - "fix": "standard --fix", - "dev": "pm2 start index.js --watch", - "pm2": "pm2" - }, - "dependencies": { - "@discordjs/uws": "^11.149.1", - "chalk": "^2.4.1", - "discord.js": "^11.4.2", - "dotenv": "^6.1.0", - "erlpack": "github:discordapp/erlpack", - "eslint": "^5.8.0", - "eslint-config-standard": "^12.0.0", - "glob": "^7.1.3", - "immutable": "^3.8.2", - "koa": "^2.6.2", - "koa-better-router": "^2.1.1", - "koa-bodyparser": "^4.2.1", - "koa-compress": "^3.0.0", - "koa-send": "latest-2", - "koa-session": "^5.10.0", - "koa-static": "^5.0.0", - "ksuid": "^1.1.3", - "lru-cache": "^4.1.3", - "pg": "^7.6.1", - "pg-hstore": "^2.3.2", - "pm2": "^2.10.4", - "sequelize": "^4.41.2", - "socket.io": "^2.2.0", - "superagent": "^4.0.0", - "uuid": "^3.3.2" - } -} diff --git a/Server/yarn.lock b/Server/yarn.lock deleted file mode 100644 index a52f745..0000000 --- a/Server/yarn.lock +++ /dev/null @@ -1,3485 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@discordjs/uws@^11.149.1": - version "11.149.1" - resolved "https://registry.yarnpkg.com/@discordjs/uws/-/uws-11.149.1.tgz#2e86f2825f43bed43d2e69eaf30a07d2dd8e8946" - integrity sha512-TmbwZaeXDSCq0ckmf2q10Fkt1220gu9AZJ/UvtQjsi2jyJDjy0i0OwL4/eb3vc9Cwr0mpC9EbfzltQ2si0qUiQ== - -"@types/geojson@^1.0.0": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.6.tgz#3e02972728c69248c2af08d60a48cbb8680fffdf" - integrity sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w== - -"@types/node@*": - version "10.12.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.1.tgz#da61b64a2930a80fa708e57c45cd5441eb379d5b" - integrity sha512-i1sl+WCX2OCHeUi9oi7PiCNUtYFrpWhpcx878vpeq/tlZTKzcFdHePlyFHVbWqeuKN0SRPl/9ZFDSTsfv9h7VQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@^1.3.5, accepts@~1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= - dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" - -acorn-jsx@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.0.tgz#958584ddb60990c02c97c1bd9d521fce433bb101" - integrity sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg== - -acorn@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.2.tgz#6a459041c320ab17592c6317abbfdf4bbaa98ca4" - integrity sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg== - -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= - -ajv@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59" - integrity sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -amp-message@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/amp-message/-/amp-message-0.1.2.tgz#a78f1c98995087ad36192a41298e4db49e3dfc45" - integrity sha1-p48cmJlQh602GSpBKY5NtJ49/EU= - dependencies: - amp "0.3.1" - -amp@0.3.1, amp@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/amp/-/amp-0.3.1.tgz#6adf8d58a74f361e82c1fa8d389c079e139fc47d" - integrity sha1-at+NWKdPNh6CwfqNOJwHnhOfxH0= - -ansi-escapes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" - integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -any-promise@^1.0.0, any-promise@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arraybuffer.slice@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - integrity sha1-GdOGodntxufByF04iu28xW0zYC0= - -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== - -async-listener@^0.6.0: - version "0.6.10" - resolved "https://registry.yarnpkg.com/async-listener/-/async-listener-0.6.10.tgz#a7c97abe570ba602d782273c0de60a51e3e17cbc" - integrity sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw== - dependencies: - semver "^5.3.0" - shimmer "^1.1.0" - -async@1.5: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.5, async@^2.6: - version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" - integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== - dependencies: - lodash "^4.17.10" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base-convert-int-array@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/base-convert-int-array/-/base-convert-int-array-1.0.1.tgz#5b4ddbfa72d2d3b5f75dd86cd32fe3dc8e7e81fe" - integrity sha512-NWqzaoXx8L/SS32R+WmKqnQkVXVYl2PwNJ68QV3RAlRRL1uV+yxJT66abXI1cAvqCXQTyXr7/9NN4Af90/zDVw== - -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= - -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== - -base64id@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" - integrity sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= - dependencies: - callsite "1.0.0" - -binary-extensions@^1.0.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" - integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== - -bindings@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" - integrity sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw== - -blessed@^0.1.81: - version "0.1.81" - resolved "https://registry.yarnpkg.com/blessed/-/blessed-0.1.81.tgz#f962d687ec2c369570ae71af843256e6d0ca1129" - integrity sha1-+WLWh+wsNpVwrnGvhDJW5tDKESk= - -blob@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" - integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== - -bluebird@^3.4.6, bluebird@^3.5.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" - integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.0, braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-writer@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" - integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== - -buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" - integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -bytes@3.0.0, bytes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-content-type@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" - integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== - dependencies: - mime-types "^2.1.18" - ylru "^1.2.0" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= - dependencies: - callsites "^0.2.0" - -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= - -chalk@^1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -charm@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296" - integrity sha1-BsIe7RobBq62dVPNxT4jJ0usIpY= - -chokidar@^2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" - integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" - optionalDependencies: - fsevents "^1.2.2" - -chownr@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== - -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-table-redemption@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cli-table-redemption/-/cli-table-redemption-1.0.1.tgz#0359d8c34df74980029d76dff071a05a127c4fdd" - integrity sha512-SjVCciRyx01I4azo2K2rcc0NP/wOceXGzG1ZpYkEulbbIxDA/5YWv0oxG2HtQ4v8zPC6bgbRI7SbNaTZCxMNkg== - dependencies: - chalk "^1.1.3" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cls-bluebird@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz#37ef1e080a8ffb55c2f4164f536f1919e7968aee" - integrity sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4= - dependencies: - is-bluebird "^1.0.2" - shimmer "^1.1.0" - -co-body@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/co-body/-/co-body-6.0.0.tgz#965b9337d7f5655480787471f4237664820827e3" - integrity sha512-9ZIcixguuuKIptnY8yemEOuhb71L/lLf+Rl5JfJEUiDNJk0e02MBt7BPxR2GEh5mw8dPthQYR4jPI/BnS1MQgw== - dependencies: - inflation "^2.0.0" - qs "^6.5.2" - raw-body "^2.3.3" - type-is "^1.6.16" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -combined-stream@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== - dependencies: - delayed-stream "~1.0.0" - -commander@2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= - -component-emitter@1.2.1, component-emitter@^1.2.0, component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= - -compressible@^2.0.0: - version "2.0.15" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz#857a9ab0a7e5a07d8d837ed43fe2defff64fe212" - integrity sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw== - dependencies: - mime-db ">= 1.36.0 < 2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -content-disposition@~0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - -content-type@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -continuation-local-storage@^3.1.4: - version "3.2.1" - resolved "https://registry.yarnpkg.com/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz#11f613f74e914fe9b34c92ad2d28fe6ae1db7ffb" - integrity sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA== - dependencies: - async-listener "^0.6.0" - emitter-listener "^1.1.1" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - -cookiejar@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" - integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== - -cookies@~0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.2.tgz#52736976126658af7713d7f858f7d21f99dab486" - integrity sha512-J2JjH9T3PUNKPHknprxgCrCaZshIfxW2j49gq1E1CP5Micj1LppWAR2y9EHSQAzEiX84zOsScWNwUZ0b/ChlMw== - dependencies: - depd "~1.1.2" - keygrip "~1.0.2" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-to@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" - integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= - -core-util-is@^1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -crc@^3.4.4: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -cron@^1.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/cron/-/cron-1.5.0.tgz#50acb15ec640cff1f6f42091c9df2b81ed303066" - integrity sha512-j7zMFLrcSta53xqOvETUt8ge+PM14GtF47gEGJJeVlM6qP24/eWHSgtiWiEiKBR2sHS8xZaBQZq4D7vFXg8dcQ== - dependencies: - moment-timezone "^0.5.x" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3, debug@^3.0, debug@^3.1.0, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.0, debug@^4.0.1, debug@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" - integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== - dependencies: - ms "^2.1.1" - -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deep-metrics@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/deep-metrics/-/deep-metrics-0.0.1.tgz#8ac3333195cc5eca059b224eb1ca61fc4cda50fd" - integrity sha512-732WmZgCWxOkf4QBvrCjPPuT6wTEzaGye/4JqYsU/sO0J53UNX4PBwK0JV262BZ5cxgLmKhU+NlrtKdPDgybkg== - dependencies: - semver "^5.3.0" - -define-properties@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@^1.1.0, depd@^1.1.2, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -discord.js@^11.4.2: - version "11.4.2" - resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-11.4.2.tgz#54586981926521572051f2a30b984aad2b49786e" - integrity sha512-MDwpu0lMFTjqomijDl1Ed9miMQe6kB4ifKdP28QZllmLv/HVOJXhatRgjS8urp/wBlOfx+qAYSXcdI5cKGYsfg== - dependencies: - long "^4.0.0" - prism-media "^0.0.3" - snekfetch "^3.6.4" - tweetnacl "^1.0.0" - ws "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -dotenv@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.1.0.tgz#9853b6ca98292acb7dec67a95018fa40bccff42c" - integrity sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw== - -dottie@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.1.tgz#697ad9d72004db7574d21f892466a3c285893659" - integrity sha512-ch5OQgvGDK2u8pSZeSYAQaV/lczImd7pMJ7BcEPXmnFVjy4yJIzP6CsODJUTH8mg1tyH1Z2abOiuJO3DjZ/GBw== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -emitter-listener@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/emitter-listener/-/emitter-listener-1.1.2.tgz#56b140e8f6992375b3d7cb2cab1cc7432d9632e8" - integrity sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ== - dependencies: - shimmer "^1.2.0" - -engine.io-client@~3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.1.tgz#afedb4a07b2ea48b7190c3136bfea98fdd4f0f03" - integrity sha512-q66JBFuQcy7CSlfAz9L3jH+v7DTT3i6ZEadYcVj2pOs8/0uJHLxKX3WBkGTvULJMdz0tUCyJag0aKT/dpXL9BQ== - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "~3.1.0" - engine.io-parser "~2.1.1" - has-cors "1.1.0" - indexof "0.0.1" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~6.1.0" - xmlhttprequest-ssl "~1.5.4" - yeast "0.1.2" - -engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" - integrity sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA== - dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.5" - blob "0.0.5" - has-binary2 "~1.0.2" - -engine.io@~3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.3.1.tgz#e076d9d2d6c075dda4623253b80fa045c81dd3a4" - integrity sha512-p0njqQo5QWVxJauKcnp5IO+LBeE5JD1tAf+UxPU8ASEUHSpsSSfYR+kVb8XGGH8AEDUa1Dk5jCvPQShNBL5BdQ== - dependencies: - accepts "~1.3.4" - base64id "1.0.0" - cookie "0.3.1" - debug "~3.1.0" - engine.io-parser "~2.1.0" - ws "~6.1.0" - -"erlpack@github:discordapp/erlpack": - version "0.1.0" - resolved "https://codeload.github.com/discordapp/erlpack/tar.gz/674ebfd3439ba4b7ce616709821d27630f7cdc61" - dependencies: - bindings "^1.2.1" - nan "^2.1.0" - -error-inject@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" - integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc= - -es-abstract@^1.4.3: - version "1.12.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" - integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - -es-to-primitive@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-html@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-regexp@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254" - integrity sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eslint-config-standard@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9" - integrity sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ== - -eslint-scope@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" - integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== - -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== - -eslint@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.8.0.tgz#91fbf24f6e0471e8fdf681a4d9dd1b2c9f28309b" - integrity sha512-Zok6Bru3y2JprqTNm14mgQ15YQu/SMDkWdnmHfFg770DIUlmMFd/gqqzCHekxzjHZJxXv3tmTpH0C1icaYJsRQ== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.5.3" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^2.1.0" - eslint-scope "^4.0.0" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^4.0.0" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - imurmurhash "^0.1.4" - inquirer "^6.1.0" - is-resolvable "^1.1.0" - js-yaml "^3.12.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.5" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^7.0.0" - progress "^2.0.0" - regexpp "^2.0.1" - require-uncached "^1.0.3" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.0.2" - text-table "^0.2.0" - -espree@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" - integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== - dependencies: - acorn "^6.0.2" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -eventemitter2@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-1.0.5.tgz#f983610517b1737c0b9dc643beca93893c04df18" - integrity sha1-+YNhBRexc3wLncZDvsqTiTwE3xg= - -eventemitter2@~0.4.14: - version "0.4.14" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" - integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fclone@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" - integrity sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA= - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -flat-cache@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" - integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE= - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -formidable@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" - integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@~0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== - dependencies: - minipass "^2.2.1" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" - integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -generic-pool@^3.4.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.4.2.tgz#92ff7196520d670839a67308092a12aadf2f6a59" - integrity sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag== - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -"gkt@https://tgz.pm2.io/gkt-1.0.0.tgz": - version "1.0.0" - resolved "https://tgz.pm2.io/gkt-1.0.0.tgz#405502b007f319c3f47175c4474527300f2ab5ad" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.7.0: - version "11.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.8.0.tgz#c1ef45ee9bed6badf0663c5cb90e8d1adec1321d" - integrity sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA== - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-binary2@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" - integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== - dependencies: - isarray "2.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -http-assert@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.0.tgz#0e550b4fca6adf121bbeed83248c17e62f593a9a" - integrity sha512-tPVv62a6l3BbQoM/N5qo969l0OFxqpnQzNUPeYfTP6Spo4zkgWeDBD1D5thI7sDLg7jCCihXTLB0X8UtdyAy8A== - dependencies: - deep-equal "~1.0.1" - http-errors "~1.7.1" - -http-errors@1.6.3, http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@^1.6.3, http-errors@~1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.1.tgz#6a4ffe5d35188e1c39f872534690585852e1f027" - integrity sha512-jWEUgtZWGSMba9I1N3gc1HmvpBUaNC9vDdA46yScAdp+C5rdEuKWUBLWTQpW9FwSWSbYYs++b6SDCxf9UEJzfw== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.4.0.tgz#6c0242dea6b3df7afda153c71089b31c6e82aabf" - integrity sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8= - dependencies: - inherits "2.0.1" - statuses ">= 1.2.1 < 2" - -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== - -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -immutable@^3.8.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" - integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - -inflation@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" - integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8= - -inflection@1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" - integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -inquirer@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" - integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.0" - figures "^2.0.0" - lodash "^4.17.10" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-bluebird@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2" - integrity sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI= - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-class-hotfix@~0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz#a527d31fb23279281dde5f385c77b5de70a72435" - integrity sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ== - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-es6-generator-function@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-es6-generator-function/-/is-es6-generator-function-1.0.0.tgz#fb7f8ca143d90b63d248fb30a396f6f79aa5db7b" - integrity sha1-+3+MoUPZC2PSSPswo5b295ql23s= - dependencies: - is-generator-function-name "~1.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-generator-function-name@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-function-name/-/is-generator-function-name-1.0.0.tgz#254fff9ff56b5dd9a78c129453ab19e593b62f3e" - integrity sha1-JU//n/VrXdmnjBKUU6sZ5ZO2Lz4= - -is-generator-function@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" - integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-resolvable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-type-of@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-type-of/-/is-type-of-1.2.1.tgz#e263ec3857aceb4f28c47130ec78db09a920f8c5" - integrity sha512-uK0kyX9LZYhSDS7H2sVJQJop1UnWPWmo5RvR3q2kFH6AUHYs7sOrVg0b4nyBHw29kRRNFofYN/JbHZDlHiItTA== - dependencies: - core-util-is "^1.0.2" - is-class-hotfix "~0.0.6" - isstream "~0.1.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is/-/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5" - integrity sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isarray@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" - integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" - integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@^5.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -keygrip@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.3.tgz#399d709f0aed2bab0a059e0cdd3a5023a053e1dc" - integrity sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -koa-better-router@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/koa-better-router/-/koa-better-router-2.1.1.tgz#8498664659204bedfb7cb72f99c8ca1f17d6628f" - integrity sha1-hJhmRlkgS+37fLcvmcjKHxfWYo8= - dependencies: - extend-shallow "^2.0.1" - is-es6-generator-function "^1.0.0" - koa-compose "^3.1.0" - koa-convert "^1.2.0" - lazy-cache "^2.0.1" - methods "^1.1.2" - path-match "^1.2.4" - -koa-bodyparser@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/koa-bodyparser/-/koa-bodyparser-4.2.1.tgz#4d7dacb5e6db1106649b595d9e5ccb158b6f3b29" - integrity sha512-UIjPAlMZfNYDDe+4zBaOAUKYqkwAGcIU6r2ARf1UOXPAlfennQys5IiShaVeNf7KkVBlf88f2LeLvBFvKylttw== - dependencies: - co-body "^6.0.0" - copy-to "^2.0.1" - -koa-compose@^3.0.0, koa-compose@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - dependencies: - any-promise "^1.1.0" - -koa-compose@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - -koa-compress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/koa-compress/-/koa-compress-3.0.0.tgz#3194059c215cbc24e59bbc84c2c7453a4c88564f" - integrity sha512-xol+LkNB1mozKJkB5Kj6nYXbJXhkLkZlXl9BsGBPjujVfZ8MsIXwU4GHRTT7TlSfUcl2DU3JtC+j6wOWcovfuQ== - dependencies: - bytes "^3.0.0" - compressible "^2.0.0" - koa-is-json "^1.0.0" - statuses "^1.0.0" - -koa-convert@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= - dependencies: - co "^4.6.0" - koa-compose "^3.0.0" - -koa-is-json@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14" - integrity sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ= - -koa-send@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.0.tgz#5e8441e07ef55737734d7ced25b842e50646e7eb" - integrity sha512-90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ== - dependencies: - debug "^3.1.0" - http-errors "^1.6.3" - mz "^2.7.0" - resolve-path "^1.4.0" - -koa-send@latest-2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-2.0.3.tgz#7fd3cf3ce1418bade376a84cea4ec31d8f49cf07" - integrity sha512-fX69m+IqgXT4ZgBMsGVsMMB5tLYs9Sa1MhQLyau0n5Qetq5003aaFoCY/YpPL4M+WA7fpJfFk6aEArNzGP0Q3w== - dependencies: - debug "^3.2.5" - mz "^2.0.0" - resolve-path "^1.2.1" - -koa-session@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/koa-session/-/koa-session-5.10.0.tgz#223a1d0d16fc4315c48fda7cdd08113b0c7a6518" - integrity sha512-eolkZ2Yw2nPX4fjvDANKdBornp60zcaX0xayA3mfeyyGTSY+MQ5t7vdI5HAdOSwLtF/lXoeEzUeXilVrkVsSdA== - dependencies: - crc "^3.4.4" - debug "^3.1.0" - is-type-of "^1.0.0" - pedding "^1.1.0" - uid-safe "^2.1.3" - -koa-static@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" - integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== - dependencies: - debug "^3.1.0" - koa-send "^5.0.0" - -koa@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.6.2.tgz#57ba4d049b0a99cae0d594e6144e2931949a7ce1" - integrity sha512-KdnBFhTgh9ysMMoYe4J4fLvaKjT7mF3nRYV8MjxLzx6qywFNeptqi4xevyUltg1fZl2CFJ+HeLXuCGx07Yvl/A== - dependencies: - accepts "^1.3.5" - cache-content-type "^1.0.0" - content-disposition "~0.5.2" - content-type "^1.0.4" - cookies "~0.7.1" - debug "~3.1.0" - delegates "^1.0.0" - depd "^1.1.2" - destroy "^1.0.4" - error-inject "^1.0.0" - escape-html "^1.0.3" - fresh "~0.5.2" - http-assert "^1.3.0" - http-errors "^1.6.3" - is-generator-function "^1.0.7" - koa-compose "^4.1.0" - koa-convert "^1.2.0" - koa-is-json "^1.0.0" - on-finished "^2.3.0" - only "~0.0.2" - parseurl "^1.3.2" - statuses "^1.5.0" - type-is "^1.6.16" - vary "^1.1.2" - -ksuid@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/ksuid/-/ksuid-1.1.3.tgz#1b06efb7e8072c24b18689c89a7cb3edf0dbb057" - integrity sha512-vEqIZCSqBxQSsHuw13iDJno5AQ1hT/utiQAk0cyIKEA6udm8UDy63GIAI2BNLRTFWmBDB62TGu/Wc8Q0spi3pQ== - dependencies: - base-convert-int-array "^1.0.0" - string.prototype.padstart "^3.0.0" - -lazy-cache@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= - dependencies: - set-getter "^0.1.0" - -lazy@~1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/lazy/-/lazy-1.0.11.tgz#daa068206282542c088288e975c297c1ae77b690" - integrity sha1-2qBoIGKCVCwIgojpdcKXwa53tpA= - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.findindex@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" - integrity sha1-oyRd7mH7m24GJLU1ElYku2nBEQY= - -lodash.isequal@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - -lodash.merge@^4.6.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" - integrity sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ== - -lodash@^4.17.1, lodash@^4.17.10, lodash@^4.17.5: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -lru-cache@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" - integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -methods@^1.1.1, methods@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -"mime-db@>= 1.36.0 < 2", mime-db@~1.37.0: - version "1.37.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" - integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== - -mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.18: - version "2.1.21" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" - integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== - dependencies: - mime-db "~1.37.0" - -mime@^2.0.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" - integrity sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minipass@^2.2.1, minipass@^2.3.3: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.1.tgz#6734acc045a46e61d596a43bb9d9cd326e19cc42" - integrity sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg== - dependencies: - minipass "^2.2.1" - -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -moment-timezone@^0.5.14, moment-timezone@^0.5.x: - version "0.5.23" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.23.tgz#7cbb00db2c14c71b19303cb47b0fb0a6d8651463" - integrity sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w== - dependencies: - moment ">= 2.9.0" - -"moment@>= 2.9.0", moment@^2.19, moment@^2.20.0: - version "2.22.2" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" - integrity sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y= - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -mute-stream@0.0.7, mute-stream@~0.0.4: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -mz@^2.0.0, mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.1.0, nan@^2.9.2: - version "2.11.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" - integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -needle@^2.1.0, needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== - dependencies: - debug "^2.1.2" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -npm-bundled@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" - integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== - -npm-packlist@^1.1.6: - version "1.1.12" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" - integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nssocket@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/nssocket/-/nssocket-0.6.0.tgz#59f96f6ff321566f33c70f7dbeeecdfdc07154fa" - integrity sha1-Wflvb/MhVm8zxw99vu7N/cBxVPo= - dependencies: - eventemitter2 "~0.4.14" - lazy "~1.0.11" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" - integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -on-finished@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -only@~0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - -optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -packet-reader@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz#cd62e60af8d7fea8a705ec4ff990871c46871f27" - integrity sha1-zWLmCvjX/qinBexP+ZCHHEaHHyc= - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= - dependencies: - better-assert "~1.0.0" - -parseurl@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-is-absolute@1.0.1, path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-match@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/path-match/-/path-match-1.2.4.tgz#a62747f3c7e0c2514762697f24443585b09100ea" - integrity sha1-pidH88fgwlFHYml/JEQ1hbCRAOo= - dependencies: - http-errors "~1.4.0" - path-to-regexp "^1.0.0" - -path-parse@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -pedding@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pedding/-/pedding-1.1.0.tgz#f7b138c288d4bd584eada1215f5bd924f1e1e667" - integrity sha1-97E4wojUvVhOraEhX1vZJPHh5mc= - -pg-connection-string@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" - integrity sha1-2hhHsglA5C7hSSvq9l1J2RskXfc= - -pg-hstore@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/pg-hstore/-/pg-hstore-2.3.2.tgz#f7ef053e7b9b892ae986af2f7cbe86432dfcf24f" - integrity sha1-9+8FPnubiSrphq8vfL6GQy388k8= - dependencies: - underscore "^1.7.0" - -pg-pool@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.3.tgz#c022032c8949f312a4f91fb6409ce04076be3257" - integrity sha1-wCIDLIlJ8xKk+R+2QJzgQHa+Mlc= - -pg-types@~1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.1.tgz#d64087e3903b58ffaad279e7595c52208a14c3d2" - integrity sha1-1kCH45A7WP+q0nnnWVxSIIoUw9I= - dependencies: - postgres-array "~1.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.0" - postgres-interval "^1.1.0" - -pg@^7.6.1: - version "7.6.1" - resolved "https://registry.yarnpkg.com/pg/-/pg-7.6.1.tgz#42c68aed37bf38b813616e3d21f4338f350c1b79" - integrity sha512-rAItIkYrRaNGinZN/Hs8F9R5mQjQSPlnzxPF+eCimSl92qnuNGR42gkpOQKP1bnvTwkSjRTBL+VNC5EcFhtCuQ== - dependencies: - buffer-writer "2.0.0" - packet-reader "0.3.1" - pg-connection-string "0.1.3" - pg-pool "~2.0.3" - pg-types "~1.12.1" - pgpass "1.x" - semver "4.3.2" - -pgpass@1.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306" - integrity sha1-Knu0G2BltnkH6R2hsHwYR8h3swY= - dependencies: - split "^1.0.0" - -pidusage@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-1.2.0.tgz#65ee96ace4e08a4cd3f9240996c85b367171ee92" - integrity sha512-OGo+iSOk44HRJ8q15AyG570UYxcm5u+R99DI8Khu8P3tKGkVu5EZX4ywHglWSTMNNXQ274oeGpYrvFEhDIFGPg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - -pm2-axon-rpc@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/pm2-axon-rpc/-/pm2-axon-rpc-0.5.1.tgz#ad3c43c43811c71f13e5eee2821194d03ceb03fe" - integrity sha512-hT8gN3/j05895QLXpwg+Ws8PjO4AVID6Uf9StWpud9HB2homjc1KKCcI0vg9BNOt56FmrqKDT1NQgheIz35+sA== - dependencies: - debug "^3.0" - -pm2-axon@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pm2-axon/-/pm2-axon-3.1.0.tgz#1b4527f3385e203adc1a5b0488bb52f0322731da" - integrity sha512-5sBM+vHw0Cp2K9CJ9ZOYhKtNCCcgQ0eKOyFrSo5Jusbq9FfvuelsMG4WDaxkqosaQbf8N5YfyHhD7eOUcnm5rQ== - dependencies: - amp "~0.3.1" - amp-message "~0.1.1" - debug "^3.0" - escape-regexp "0.0.1" - -pm2-deploy@^0.3.9: - version "0.3.10" - resolved "https://registry.yarnpkg.com/pm2-deploy/-/pm2-deploy-0.3.10.tgz#5b6689df8db2390589244b7c15c563bd467093f6" - integrity sha512-WagPKsX+LDCe8wLCL5nzu8RQvVUQ5GlFdJRVYCL0ogFnHfYRym91qNU4PkNSWSq11pdvG8la7DTjdW6FWXc8lw== - dependencies: - async "^2.6" - tv4 "^1.3" - -pm2-multimeter@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/pm2-multimeter/-/pm2-multimeter-0.1.2.tgz#1a1e55153d41a05534cea23cfe860abaa0eb4ace" - integrity sha1-Gh5VFT1BoFU0zqI8/oYKuqDrSs4= - dependencies: - charm "~0.1.1" - -pm2@^2.10.4: - version "2.10.4" - resolved "https://registry.yarnpkg.com/pm2/-/pm2-2.10.4.tgz#dd292fd26aed882f6e9f7b9652191387d2debe6a" - integrity sha512-AuAA6DoF/R3L9zSuYtKzaEd6UFvhCKqfW49dgLe0Q4SQtYmQMmXmyEAp5tr1iduJrqGRwpb5ytVm2rWZ56/4Vg== - dependencies: - async "^2.5" - blessed "^0.1.81" - chalk "^1.1" - chokidar "^2" - cli-table-redemption "^1.0.0" - commander "2.13.0" - cron "^1.3" - debug "^3.0" - eventemitter2 "1.0.5" - fclone "1.0.11" - mkdirp "0.5.1" - moment "^2.19" - needle "^2.1.0" - nssocket "0.6.0" - pidusage "^1.2.0" - pm2-axon "3.1.0" - pm2-axon-rpc "^0.5.1" - pm2-deploy "^0.3.9" - pm2-multimeter "^0.1.2" - pmx "^1.6" - promptly "2.2.0" - semver "^5.3" - shelljs "0.7.8" - source-map-support "^0.5" - sprintf-js "1.1.1" - v8-compile-cache "^1.1.0" - vizion "^0.2" - yamljs "^0.3.0" - optionalDependencies: - gkt "https://tgz.pm2.io/gkt-1.0.0.tgz" - -pmx@^1.6: - version "1.6.7" - resolved "https://registry.yarnpkg.com/pmx/-/pmx-1.6.7.tgz#b0fc8061bc8343a4069d18e4ee4f031de0af890a" - integrity sha512-CoyZD1EWj/fvpuEPnndB11s5onzN5p/0bxGsBuwbyb8uFtg3lMxXys1pXs88gReiRnMSYCSt25J3GCc6AnxoFQ== - dependencies: - debug "^3" - deep-metrics "^0.0.1" - json-stringify-safe "^5.0" - semver "5.*" - vxx "^1.2.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postgres-array@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.3.tgz#c561fc3b266b21451fc6555384f4986d78ec80f5" - integrity sha512-5wClXrAP0+78mcsNX3/ithQ5exKvCyK5lr5NEEEeGwwM6NJdQgzIJBVxLvRW+huFpX92F2QnZ5CcokH0VhK2qQ== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" - integrity sha1-AntTPAqokOJtFy1Hz5zOzFIazTU= - -postgres-date@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz#e2d89702efdb258ff9d9cee0fe91bd06975257a8" - integrity sha1-4tiXAu/bJY/52c7g/pG9BpdSV6g= - -postgres-interval@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz#bf71ff902635f21cb241a013fc421d81d1db15a9" - integrity sha512-fC3xNHeTskCxL1dC8KOtxXt7YeFmlbTYtn7ul8MkVERuTmf7pI4DrkAxcw3kh1fQ9uz4wQmd03a1mRiXUZChfQ== - dependencies: - xtend "^4.0.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prism-media@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/prism-media/-/prism-media-0.0.3.tgz#8842d4fae804f099d3b48a9a38e3c2bab6f4855b" - integrity sha512-c9KkNifSMU/iXT8FFTaBwBMr+rdVcN+H/uNv1o+CuFeTThNZNTOrQ+RgXA1yL/DeLk098duAeRPP3QNPNbhxYQ== - -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== - -progress@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" - integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== - -promptly@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/promptly/-/promptly-2.2.0.tgz#2a13fa063688a2a5983b161fff0108a07d26fc74" - integrity sha1-KhP6BjaIoqWYOxYf/wEIoH0m/HQ= - dependencies: - read "^1.0.4" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@^6.5.1, qs@^6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= - -raw-body@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== - dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" - unpipe "1.0.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= - dependencies: - mute-stream "~0.0.4" - -readable-stream@^2.0.2, readable-stream@^2.0.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.0.6.tgz#351302e4c68b5abd6a2ed55376a7f9a25be3057a" - integrity sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= - -resolve-path@^1.2.1, resolve-path@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" - integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= - dependencies: - http-errors "~1.6.2" - path-is-absolute "1.0.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" - integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== - dependencies: - path-parse "^1.0.5" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry-as-promised@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-2.3.2.tgz#cd974ee4fd9b5fe03cbf31871ee48221c07737b7" - integrity sha1-zZdO5P2bX+A8vzGHHuSCIcB3N7c= - dependencies: - bluebird "^3.4.6" - debug "^2.6.9" - -rimraf@^2.2.8, rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== - dependencies: - glob "^7.0.5" - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -rxjs@^6.1.0: - version "6.3.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" - integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -semver@4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7" - integrity sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c= - -semver@5.*, semver@^5.0.1, semver@^5.3, semver@^5.3.0, semver@^5.5.0, semver@^5.5.1: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== - -sequelize@^4.41.2: - version "4.41.2" - resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-4.41.2.tgz#bb9ba30d72e9eeb883c9861cd0e2cac672010883" - integrity sha512-8vPf2R0o9iEmtzkqNzwFdblO+0Mu+RNxOdLeYGGqWGlp3cushLpQucAeSGPQgf2hQVZP5yOCM1ouZKTQ5FTlvA== - dependencies: - bluebird "^3.5.0" - cls-bluebird "^2.1.0" - debug "^3.1.0" - depd "^1.1.0" - dottie "^2.0.0" - generic-pool "^3.4.0" - inflection "1.12.0" - lodash "^4.17.1" - moment "^2.20.0" - moment-timezone "^0.5.14" - retry-as-promised "^2.3.2" - semver "^5.5.0" - terraformer-wkt-parser "^1.1.2" - toposort-class "^1.0.1" - uuid "^3.2.1" - validator "^10.4.0" - wkx "^0.4.1" - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= - dependencies: - to-object-path "^0.3.0" - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shelljs@0.7.8: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - integrity sha1-3svPh0sNHl+3LhSxZKloMEjprLM= - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shimmer@^1.0.0, shimmer@^1.1.0, shimmer@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.0.tgz#f966f7555789763e74d8841193685a5e78736665" - integrity sha512-xTCx2vohXC2EWWDqY/zb4+5Mu28D+HYNSOuFzsyRDRvI/e1ICb69afwaUwfjr+25ZXldbOLyp+iDUZHq8UnTag== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== - dependencies: - is-fullwidth-code-point "^2.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -snekfetch@^3.6.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/snekfetch/-/snekfetch-3.6.4.tgz#d13e80a616d892f3d38daae4289f4d258a645120" - integrity sha512-NjxjITIj04Ffqid5lqr7XdgwM7X61c/Dns073Ly170bPQHLm6jkmelye/eglS++1nfTWktpP6Y2bFXjdPlQqdw== - -socket.io-adapter@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" - integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs= - -socket.io-client@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7" - integrity sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA== - dependencies: - backo2 "1.0.2" - base64-arraybuffer "0.1.5" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "~3.1.0" - engine.io-client "~3.3.1" - has-binary2 "~1.0.2" - has-cors "1.1.0" - indexof "0.0.1" - object-component "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - socket.io-parser "~3.3.0" - to-array "0.1.4" - -socket.io-parser@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" - integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng== - dependencies: - component-emitter "1.2.1" - debug "~3.1.0" - isarray "2.0.1" - -socket.io@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.2.0.tgz#f0f633161ef6712c972b307598ecd08c9b1b4d5b" - integrity sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w== - dependencies: - debug "~4.1.0" - engine.io "~3.3.1" - has-binary2 "~1.0.2" - socket.io-adapter "~1.1.0" - socket.io-client "2.2.0" - socket.io-parser "~3.3.0" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5: - version "0.5.9" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" - integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -sprintf-js@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" - integrity sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw= - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.2.1 < 2", "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string.prototype.padstart@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242" - integrity sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" - -string_decoder@^1.1.1, string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -superagent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-4.0.0.tgz#b9de499c0363acb53879cc42bd14ec26751050bb" - integrity sha512-qaGDf+QUYxgMYdJBWCezHnc3UjrCUwxm5bCfxBhTXI5BbCluVzmVNYzxvCw1jP9PXmwUZeOW2yPpGm9fLbhtFg== - dependencies: - component-emitter "^1.2.0" - cookiejar "^2.1.2" - debug "^4.0.0" - form-data "^2.3.2" - formidable "^1.2.0" - methods "^1.1.1" - mime "^2.0.3" - qs "^6.5.1" - readable-stream "^3.0.3" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -table@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" - integrity sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg== - dependencies: - ajv "^6.5.3" - lodash "^4.17.10" - slice-ansi "1.0.0" - string-width "^2.1.1" - -tar@^4: - version "4.4.6" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" - integrity sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg== - dependencies: - chownr "^1.0.1" - fs-minipass "^1.2.5" - minipass "^2.3.3" - minizlib "^1.1.0" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - -terraformer-wkt-parser@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz#c9d6ac3dff25f4c0bd344e961f42694961834c34" - integrity sha512-QU3iA54St5lF8Za1jg1oj4NYc8sn5tCZ08aNSWDeGzrsaV48eZk1iAVWasxhNspYBoCqdHuoot1pUTUrE1AJ4w== - dependencies: - "@types/geojson" "^1.0.0" - terraformer "~1.0.5" - -terraformer@~1.0.5: - version "1.0.9" - resolved "https://registry.yarnpkg.com/terraformer/-/terraformer-1.0.9.tgz#77851fef4a49c90b345dc53cf26809fdf29dcda6" - integrity sha512-YlmQ1fsMWTkKGDGibCRWgmLzrpDRUr63Q025LJ/taYQ6j1Yb8q9McKF7NBi6ACAyUXO6F/bl9w6v4MY307y5Ag== - optionalDependencies: - "@types/geojson" "^1.0.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= - dependencies: - any-promise "^1.0.0" - -through@2, through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toposort-class@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988" - integrity sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg= - -tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== - -tv4@^1.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963" - integrity sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM= - -tweetnacl@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.0.tgz#713d8b818da42068740bf68386d0479e66fc8a7b" - integrity sha1-cT2LgY2kIGh0C/aDhtBHnmb8ins= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-is@^1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - -uid-safe@^2.1.3: - version "2.1.5" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" - integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== - dependencies: - random-bytes "~1.0.0" - -underscore@^1.7.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -unpipe@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -uuid@^3.0.1, uuid@^3.2.1, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -v8-compile-cache@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" - integrity sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA== - -validator@^10.4.0: - version "10.8.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-10.8.0.tgz#8acb15a5c39411cbc8ef2be0c98c2514da4410a7" - integrity sha512-mXqMxfCh5NLsVgYVKl9WvnHNDPCcbNppHSPPowu0VjtSsGWVY+z8hJF44edLR1nbLNzi3jYoYsIl8KZpioIk6g== - -vary@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vizion@^0.2: - version "0.2.13" - resolved "https://registry.yarnpkg.com/vizion/-/vizion-0.2.13.tgz#1314cdee2b34116f9f5b1248536f95dbfcd6ef5f" - integrity sha1-ExTN7is0EW+fWxJIU2+V2/zW718= - dependencies: - async "1.5" - -vxx@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/vxx/-/vxx-1.2.2.tgz#741fb51c6f11d3383da6f9b92018a5d7ba807611" - integrity sha1-dB+1HG8R0zg9pvm5IBil17qAdhE= - dependencies: - continuation-local-storage "^3.1.4" - debug "^2.6.3" - extend "^3.0.0" - is "^3.2.0" - lodash.findindex "^4.4.0" - lodash.isequal "^4.0.0" - lodash.merge "^4.6.0" - methods "^1.1.1" - semver "^5.0.1" - shimmer "^1.0.0" - uuid "^3.0.1" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -wkx@^0.4.1: - version "0.4.5" - resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.4.5.tgz#a85e15a6e69d1bfaec2f3c523be3dfa40ab861d0" - integrity sha512-01dloEcJZAJabLO5XdcRgqdKpmnxS0zIT02LhkdWOZX2Zs2tPM6hlZ4XG9tWaWur1Qd1OO4kJxUbe2+5BofvnA== - dependencies: - "@types/node" "*" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - dependencies: - mkdirp "^0.5.1" - -ws@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" - integrity sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - -ws@~6.1.0: - version "6.1.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz#3cc7462e98792f0ac679424148903ded3b9c3ad8" - integrity sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw== - dependencies: - async-limiter "~1.0.0" - -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= - -xtend@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.0, yallist@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" - integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= - -yamljs@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.3.0.tgz#dc060bf267447b39f7304e9b2bfbe8b5a7ddb03b" - integrity sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ== - dependencies: - argparse "^1.0.7" - glob "^7.0.5" - -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= - -ylru@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" - integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== diff --git a/UI/.gitignore b/UI/.gitignore index 4d29575..7002712 100644 --- a/UI/.gitignore +++ b/UI/.gitignore @@ -1,23 +1,19 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. +# See https://help.github.com/ignore-files/ for more about ignoring files. # dependencies /node_modules -/.pnp -.pnp.js # testing /coverage # production /build +/dist +/.next # misc .DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - +.env npm-debug.log* yarn-debug.log* yarn-error.log* diff --git a/UI/README.md b/UI/README.md deleted file mode 100644 index 897dc83..0000000 --- a/UI/README.md +++ /dev/null @@ -1,44 +0,0 @@ -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.
-Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.
-You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.
-See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.
-It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.
-Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). diff --git a/UI/components/head.js b/UI/components/head.js new file mode 100644 index 0000000..e70c183 --- /dev/null +++ b/UI/components/head.js @@ -0,0 +1,44 @@ +import React from 'react' +import NextHead from 'next/head' +import { string } from 'prop-types' + +const defaultDescription = '' +const defaultOGURL = '' +const defaultOGImage = '' + +const Head = props => ( + + + {props.title || ''} + + + + + + + + + + + + + + + + +) + +Head.propTypes = { + title: string, + description: string, + url: string, + ogImage: string +} + +export default Head diff --git a/UI/components/nav.js b/UI/components/nav.js new file mode 100644 index 0000000..6d125a0 --- /dev/null +++ b/UI/components/nav.js @@ -0,0 +1,59 @@ +import React from 'react' +import Link from 'next/link' + +const links = [ + { href: 'https://github.com/segmentio/create-next-app', label: 'Github' } +].map(link => { + link.key = `nav-link-${link.href}-${link.label}` + return link +}) + +const Nav = () => ( + +) + +export default Nav diff --git a/UI/config-overrides.js b/UI/config-overrides.js deleted file mode 100644 index 760dc75..0000000 --- a/UI/config-overrides.js +++ /dev/null @@ -1,4 +0,0 @@ -const { override, addDecoratorsLegacy } = require('customize-cra') -module.exports = override( - addDecoratorsLegacy() -) \ No newline at end of file diff --git a/UI/package.json b/UI/package.json deleted file mode 100644 index 7b7fa46..0000000 --- a/UI/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "crav2", - "version": "0.1.0", - "private": true, - "dependencies": { - "color": "^3.1.0", - "history": "^4.7.2", - "immutable": "^3.8.2", - "moment": "^2.22.2", - "prop-types": "^15.6.2", - "react": "^16.6.3", - "react-custom-scrollbars": "^4.2.1", - "react-dnd": "^7.0.0", - "react-dnd-html5-backend": "^7.0.0", - "react-dom": "^16.6.3", - "react-immutable-proptypes": "^2.1.0", - "react-redux": "^5.1.1", - "react-router": "^4.3.1", - "react-router-dom": "^4.3.1", - "react-router-redux": "^5.0.0-alpha.8", - "react-scripts": "2.1.1", - "react-typist": "^2.0.4", - "react-typist-cycle": "^0.1.2", - "redux": "^4.0.1", - "redux-logger": "^3.0.6", - "redux-thunk": "^2.3.0", - "superagent": "^4.0.0", - "uuid": "^3.3.2" - }, - "scripts": { - "start": "react-app-rewired start", - "build": "react-app-rewired build", - "test": "react-app-rewired test", - "eject": "react-app-rewired eject" - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ], - "proxy": "http://localhost:6769", - "devDependencies": { - "@babel/plugin-proposal-decorators": "^7.1.2", - "customize-cra": "^0.2.1", - "eslint-config-standard": "^12.0.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-node": "^8.0.0", - "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-react": "^7.11.1", - "eslint-plugin-standard": "^4.0.0", - "node-sass-chokidar": "^1.3.4", - "react-app-rewire-scss": "^1.0.2", - "react-app-rewired": "^1.6.2", - "redux-devtools": "^3.4.1", - "redux-devtools-dock-monitor": "^1.1.3", - "redux-devtools-log-monitor": "^1.4.0" - } -} diff --git a/UI/pages/index.js b/UI/pages/index.js new file mode 100644 index 0000000..2bb702b --- /dev/null +++ b/UI/pages/index.js @@ -0,0 +1,91 @@ +import React from 'react' +import Link from 'next/link' +import Head from '../components/head' +import Nav from '../components/nav' + +const Home = () => ( +
+ +
+) + +export default Home diff --git a/UI/public/favicon.ico b/UI/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/UI/public/favicon.png b/UI/public/favicon.png deleted file mode 100644 index 68f954aea8cf4259fbceff33b6d4318cf5365afe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33681 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 R$hZgoNJ}V)7l|4M{2yS^GU5OL diff --git a/UI/public/index.html b/UI/public/index.html deleted file mode 100644 index 646764e..0000000 --- a/UI/public/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - Roleypoly - - - - - - - -

- diff --git a/UI/public/manifest.json b/UI/public/manifest.json deleted file mode 100644 index 4f31897..0000000 --- a/UI/public/manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "short_name": "roleypoly", - "name": "roleypoly", - "icons": [ - { - "src": "favicon.png", - "sizes": "128x128 64x64 32x32 24x24 16x16", - "type": "image/png" - } - ], - "start_url": "./index.html", - "display": "standalone", - "theme_color": "#ab9b9a", - "background_color": "#453e3d" -} diff --git a/UI/src/App.css b/UI/src/App.css deleted file mode 100644 index c5c6e8a..0000000 --- a/UI/src/App.css +++ /dev/null @@ -1,28 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - animation: App-logo-spin infinite 20s linear; - height: 80px; -} - -.App-header { - background-color: #222; - height: 150px; - padding: 20px; - color: white; -} - -.App-title { - font-size: 1.5em; -} - -.App-intro { - font-size: large; -} - -@keyframes App-logo-spin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} diff --git a/UI/src/App.js b/UI/src/App.js deleted file mode 100644 index f3d83ec..0000000 --- a/UI/src/App.js +++ /dev/null @@ -1,39 +0,0 @@ -import React, { Component } from 'react' -import { Provider } from 'react-redux' -import { ConnectedRouter } from 'react-router-redux' -import { DragDropContext } from 'react-dnd' -import HTML5Backend from 'react-dnd-html5-backend' -import createHistory from 'history/createBrowserHistory' -import configureStore from './store/configureStore' -import './App.css' -import './generic.sass' - -import Wrapper from './components/wrapper' -import AppRouter from './router' -import { userInit } from './actions' - -const history = createHistory() -const store = configureStore(undefined, history) - -window.__APP_STORE__ = store - -@DragDropContext(HTML5Backend) -class App extends Component { - componentWillMount () { - store.dispatch(userInit) - } - - render () { - return ( - - - - - - - - ) - } -} - -export default App diff --git a/UI/src/App.test.js b/UI/src/App.test.js deleted file mode 100644 index b84af98..0000000 --- a/UI/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); diff --git a/UI/src/actions/index.js b/UI/src/actions/index.js deleted file mode 100644 index 47dbe67..0000000 --- a/UI/src/actions/index.js +++ /dev/null @@ -1,87 +0,0 @@ -import superagent from 'superagent' -import { push } from 'react-router-redux' - -export const fetchServers = async dispatch => { - const rsp = await superagent.get('/api/servers') - - dispatch({ - type: Symbol.for('update servers'), - data: rsp.body - }) - - dispatch({ - type: Symbol.for('app ready') - }) -} - -export const userInit = async dispatch => { - if (!window.location.pathname.startsWith('/oauth')) { - try { - const rsp = await superagent.get('/api/auth/user') - - dispatch({ - type: Symbol.for('set user'), - data: rsp.body - }) - - dispatch(fetchServers) - } catch (e) { - dispatch({ - type: Symbol.for('app ready') - }) - // window.location.href = '/oauth/flow' - } - } else { - dispatch({ - type: Symbol.for('app ready') - }) - } -} - -export const userLogout = async dispatch => { - try { - await superagent.post('/api/auth/logout') - } catch (e) { - } - - dispatch({ - type: Symbol.for('reset user') - }) - - window.location.href = '/' -} - -export const startServerPolling = dispatch => { - return poll(window.__APP_STORE__.dispatch, window.__APP_STORE__.getState) // let's not cheat... :c -} - -const poll = (dispatch, getState) => { - const { servers } = getState() - let stop = false - const stopPolling = () => { stop = true } - const pollFunc = async () => { - if (stop) { - return - } - try { - await fetchServers(dispatch) - } catch (e) { - console.error(e) - setTimeout(pollFunc, 5000) - } - - const newServers = getState().servers - if (servers.size >= newServers.size) { - setTimeout(pollFunc, 5000) - } else { - const old = servers.keySeq().toSet() - const upd = newServers.keySeq().toSet() - const newSrv = upd.subtract(old) - stopPolling() - dispatch(push(`/s/${newSrv.toJS()[0]}/edit`)) - } - } - - pollFunc() - return stopPolling -} diff --git a/UI/src/actions/ui.js b/UI/src/actions/ui.js deleted file mode 100644 index 2182bea..0000000 --- a/UI/src/actions/ui.js +++ /dev/null @@ -1,13 +0,0 @@ -export const fadeOut = cb => dispatch => { - dispatch({ - type: Symbol.for('app fade'), - data: true - }) - - setTimeout(cb, 300) -} - -export const fadeIn = { - type: Symbol.for('app fade'), - data: false -} diff --git a/UI/src/assets/logomark.svg b/UI/src/assets/logomark.svg deleted file mode 100644 index 08223ed..0000000 --- a/UI/src/assets/logomark.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - Slice - Created with Sketch. - - - - - - - R - - - - - - - - \ No newline at end of file diff --git a/UI/src/components/add-server/index.js b/UI/src/components/add-server/index.js deleted file mode 100644 index 7e4bd74..0000000 --- a/UI/src/components/add-server/index.js +++ /dev/null @@ -1,41 +0,0 @@ -import React, { Component } from 'react' -import { Link } from 'react-router-dom' -import TypingDemo from '../demos/typing' -import RoleypolyDemo from '../demos/roleypoly' -import * as Actions from '../../actions' -import './styles.sass' -import discordLogo from '../../pages/images/discord-logo.svg' - -export default class AddServer extends Component { - polling = null - - componentDidMount () { - if (this.props.match.params.server !== undefined) { - this.pollingStop = Actions.startServerPolling(this.props.dispatch) - } - } - - componentWillUnmount () { - if (this.pollingStop != null) { - this.pollingStop() - } - } - - render () { - return
- } -} diff --git a/UI/src/components/add-server/styles.sass b/UI/src/components/add-server/styles.sass deleted file mode 100644 index 2a5b1a6..0000000 --- a/UI/src/components/add-server/styles.sass +++ /dev/null @@ -1,29 +0,0 @@ -.add-server - text-align: center - .paper - background-color: hsla(0,0%,100%,0.05) - padding: 30px - - .text - font-size: 0.9rem - text-align: left - - &.right - text-align: right - font-size: 1.1em - - &__header - margin: 45px 0 - - &__grid - display: grid - grid-template-columns: 1fr 1fr - grid-template-rows: 1fr 1fr - grid-gap: 10px - - >div - align-self: center - - &__darkbg - background-color: var(--c-1) - padding: 20px \ No newline at end of file diff --git a/UI/src/components/demos/roleypoly.js b/UI/src/components/demos/roleypoly.js deleted file mode 100644 index a58f58a..0000000 --- a/UI/src/components/demos/roleypoly.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react' -import RoleDemo from '../role/demo' - -const RoleypolyDemo = () =>
- - - - - -
- -export default RoleypolyDemo diff --git a/UI/src/components/demos/typing.js b/UI/src/components/demos/typing.js deleted file mode 100644 index d8778ab..0000000 --- a/UI/src/components/demos/typing.js +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react' -import moment from 'moment' -import Typist from 'react-typist' -import './typing.sass' - -const Typing = () =>
-
- {moment().format('LT')} - Kata カタ - Hey, I want some roles! -
-
- - .iam a cute role ♡ - - .iam a vanity role ♡ - - .iam a brave role ♡ - - .iam a proud role ♡ - - .iam a wonderful role ♡ - - i have too many roles. - -
-
- -export default Typing diff --git a/UI/src/components/demos/typing.sass b/UI/src/components/demos/typing.sass deleted file mode 100644 index e0bdcc3..0000000 --- a/UI/src/components/demos/typing.sass +++ /dev/null @@ -1,48 +0,0 @@ -.demo__discord - --not-quite-black: #23272A - --dark-but-not-black: #2C2F33 - --greyple: #99AAB5 - --blurple: var(--c-discord) - - background-color: var(--dark-but-not-black) - padding: 10px - text-align: left - color: var(--c-white) - - .Typist .Cursor - display: inline-block - color: transparent - border-left: 1px solid var(--c-white) - user-select: none - - &--blinking - opacity: 1 - animation: blink 2s ease-in-out infinite - - @keyframes blink - 0% - opacity: 1 - 50% - opacity: 0 - 100% - opacity: 1 - - .discord - &__chat - padding: 10px 0 - - span - display: inline-block - margin-left: 5px - - .timestamp - font-size: 0.7em - color: hsla(0,0%,100%,.2) - - .username - font-weight: bold - - &__textarea - background-color: hsla(218,5%,47%,.3) - border-radius: 5px - padding: 10px \ No newline at end of file diff --git a/UI/src/components/dev-tools/index.js b/UI/src/components/dev-tools/index.js deleted file mode 100644 index a7d540a..0000000 --- a/UI/src/components/dev-tools/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react' -import { createDevTools } from 'redux-devtools' -import LogMonitor from 'redux-devtools-log-monitor' -import DockMonitor from 'redux-devtools-dock-monitor' - -export default createDevTools( - - - -) \ No newline at end of file diff --git a/UI/src/components/logotype/index.js b/UI/src/components/logotype/index.js deleted file mode 100644 index 9cecf84..0000000 --- a/UI/src/components/logotype/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react' - -const Logotype = ({fill = 'var(--c-7)', width, height, circleFill, typeFill, style, className}) => ( - - - - - - - - - - - - -) - -export default Logotype diff --git a/UI/src/components/logotype/logotype.svg b/UI/src/components/logotype/logotype.svg deleted file mode 100644 index a77ad11..0000000 --- a/UI/src/components/logotype/logotype.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - Untitled - Created with Sketch. - - - - - - Roleypoly - - - - - - - \ No newline at end of file diff --git a/UI/src/components/oauth-bot-flow/index.js b/UI/src/components/oauth-bot-flow/index.js deleted file mode 100644 index 7786b01..0000000 --- a/UI/src/components/oauth-bot-flow/index.js +++ /dev/null @@ -1,27 +0,0 @@ -import React, { Component } from 'react' -import { Redirect } from 'react-router-dom' -import superagent from 'superagent' -import { connect } from 'react-redux' -import { push } from 'react-router-redux' -import { fetchServers } from '../../actions' - -@connect() -class OauthCallback extends Component { - state = { - notReady: true, - message: 'chotto matte kudasai...', - url: null - } - - async componentDidMount () { - const { body: { url } } = await superagent.get('/api/oauth/bot?url=✔️') - this.setState({ url, notReady: false }) - window.location.href = url - } - - render () { - return (this.state.notReady) ? this.state.message : Something oopsed, click me to get to where you meant. - } -} - -export default OauthCallback diff --git a/UI/src/components/oauth-callback/index.js b/UI/src/components/oauth-callback/index.js deleted file mode 100644 index e895f5f..0000000 --- a/UI/src/components/oauth-callback/index.js +++ /dev/null @@ -1,83 +0,0 @@ -import React, { Component } from 'react' -import { Redirect } from 'react-router-dom' -import superagent from 'superagent' -import { connect } from 'react-redux' -import { fetchServers } from '../../actions' - -@connect() -class OauthCallback extends Component { - state = { - notReady: true, - message: 'chotto matte kudasai...', - redirect: '/s' - } - - stopped = false - - componentDidUnmount () { - this.stopped = true - } - - async componentDidMount () { - // handle stuff in the url - const sp = new URLSearchParams(this.props.location.search) - const token = sp.get('code') - - if (token === '' || token == null) { - this.setState({ message: 'token missing, what are you trying to do?!' }) - return - } - - const stateToken = sp.get('state') - const state = JSON.parse(window.sessionStorage.getItem('state') || 'null') - - if (state !== null && state.state === stateToken && state.redirect != null) { - this.setState({ redirect: state.redirect }) - } - - this.props.history.replace(this.props.location.pathname) - - let counter = 0 - const retry = async () => { - if (this.stopped) return - try { - const rsp = await superagent.get('/api/auth/user') - this.props.dispatch({ - type: Symbol.for('set user'), - data: rsp.body - }) - this.props.dispatch(fetchServers) - this.setState({ notReady: false }) - } catch (e) { - counter++ - if (counter > 10) { - this.setState({ message: "i couldn't log you in. :c" }) - } else { - setTimeout(() => { retry() }, 250) - } - } - } - - // pass token to backend, await it to finish it's business. - try { - await superagent.post('/api/auth/token').send({ token }) - // this.props.onLogin(rsp.body) - - retry() - - } catch (e) { - console.error('token pass error', e) - this.setState({ message: 'g-gomen nasai... i broke it...' }) - return - } - - - // update user stuff here - } - - render () { - return (this.state.notReady) ? this.state.message : - } -} - -export default OauthCallback diff --git a/UI/src/components/oauth-flow/index.js b/UI/src/components/oauth-flow/index.js deleted file mode 100644 index 60a9fd6..0000000 --- a/UI/src/components/oauth-flow/index.js +++ /dev/null @@ -1,73 +0,0 @@ -import React, { Component } from 'react' -import { Redirect } from 'react-router-dom' -import superagent from 'superagent' -import { connect } from 'react-redux' -import uuidv4 from 'uuid/v4' -import { fetchServers } from '../../actions' - - -@connect() -class OauthCallback extends Component { - state = { - notReady: true, - message: 'chotto matte kudasai...', - redirect: '/s', - url: null - } - - async fetchUser () { - const rsp = await superagent.get('/api/auth/user') - sessionStorage.setItem('user', JSON.stringify(rsp.body)) - sessionStorage.setItem('user.update', JSON.stringify(Date.now())) - this.props.dispatch({ - type: Symbol.for('set user'), - data: rsp.body - }) - } - - setupUser () { - const userUpdateTime = sessionStorage.getItem('user.update') || 0 - if (+userUpdateTime + (1000 * 60 * 10) > Date.now()) { - const user = sessionStorage.getItem('user') - if (user != null && user !== '') { - this.props.dispatch({ - type: Symbol.for('set user'), - data: JSON.parse(user) - }) - } - } - - return this.fetchUser() - } - - async componentDidMount () { - const state = uuidv4() - - const oUrl = new URL(window.location.href) - if (oUrl.searchParams.has('r')) { - this.setState({ redirect: oUrl.searchParams.get('r') }) - } - - window.sessionStorage.setItem('state', JSON.stringify({ state, redirect: oUrl.searchParams.get('r') })) - - try { - await this.setupUser() - - this.props.dispatch(fetchServers) - this.setState({ notReady: false }) - } catch (e) { - const { body: { url } } = await superagent.get('/api/auth/redirect?url=✔️') - const nUrl = new URL(url) - - nUrl.searchParams.set('state', state) - this.setState({ url: nUrl.toString() }) - window.location.href = nUrl.toString() - } - } - - render () { - return (this.state.notReady) ? this.state.message : <>Something oopsed, click me to get to where you meant. - } -} - -export default OauthCallback diff --git a/UI/src/components/role-editor/Category.js b/UI/src/components/role-editor/Category.js deleted file mode 100644 index 9134092..0000000 --- a/UI/src/components/role-editor/Category.js +++ /dev/null @@ -1,44 +0,0 @@ -import React, { Component } from 'react' -import { DropTarget } from 'react-dnd' - -import Role from '../role/draggable' -import CategoryEditor from './CategoryEditor' - -@DropTarget(Symbol.for('dnd: role'), { - drop (props, monitor, element) { - props.onDrop(monitor.getItem()) - }, - canDrop (props, monitor) { - return (props.mode !== Symbol.for('edit') && monitor.getItem().category !== props.name) - } -}, (connect, monitor) => ({ - connectDropTarget: connect.dropTarget(), - isOver: monitor.isOver(), - isOverCurrent: monitor.isOver({ shallow: true }), - canDrop: monitor.canDrop(), - itemType: monitor.getItemType() -})) -class Category extends Component { - render () { - const { category, name, isOver, canDrop, connectDropTarget, mode, onEditOpen, ...rest } = this.props - - if (mode === Symbol.for('edit')) { - return - } - - return connectDropTarget(
-
-

{ category.get('name') }

-
-
- { - category.get('roles_map') - .sortBy(r => r.get('position')) - .reverse() - .map((r, k) => ) - .toArray() - } -
) - } -} -export default Category diff --git a/UI/src/components/role-editor/CategoryEditor.js b/UI/src/components/role-editor/CategoryEditor.js deleted file mode 100644 index 9847b41..0000000 --- a/UI/src/components/role-editor/CategoryEditor.js +++ /dev/null @@ -1,64 +0,0 @@ -import React, { Component } from 'react' - -export default class CategoryEditor extends Component { - - onKeyPress = (e) => { - const { onSave } = this.props - - switch (e.key) { - case 'Enter': - case 'Escape': - return onSave() - } - } - - render () { - const { - category - } = this.props - - return
-
-
- -
- -
-
-
-
- -
-
-
-
Type
-
- -
-
-
- - -
-
-
- } -} diff --git a/UI/src/components/role-editor/RoleEditor.sass b/UI/src/components/role-editor/RoleEditor.sass deleted file mode 100644 index e3face1..0000000 --- a/UI/src/components/role-editor/RoleEditor.sass +++ /dev/null @@ -1,106 +0,0 @@ -.role-editor - &__grid - display: grid - grid-template-areas: 'left right' - grid-template-columns: 1fr 1fr - grid-template-rows: 1fr - - &__actions - display: flex - margin: 10px 0 - - button - padding: 0 - - &_delete - flex: 1 - margin-right: 5px - - &_save - flex: 4 - - &__uncat-zone - padding: 10px - - &__alert - background-color: var(--c-5) - padding: 15px - - a - color: var(--c-9) - text-decoration: none - font-style: italic - transition: color 0.15s ease-in-out - - &:hover - color: var(--c-white) - - - - - .role-editor__category - box-sizing: border-box - background-color: var(--c-1) - padding: 15px - margin: 10px - min-width: 220px - 30px - position: relative - - &.add-button - height: 100px - display: flex - align-items: center - justify-content: center - text-align: center - color: var(--c-5) - font-size: 2em - - i - transition: transform 0.15s ease-in-out, color 0.15s ease-in-out - - &:hover - i - transform: scale(1.1) - color: var(--c-7) - - &-header - display: flex - align-items: center - justify-content: left - margin-bottom: 10px - - color: var(--c-7) - - svg - transition: transform 0.05s ease-in-out - transform: translateZ(0) - &:hover - transform: translateZ(0) scale(1.1) - color: var(--c-9) - - h4 - margin: 0 - flex: 1 - margin-right: 10px - - .drop-zone - position: relative - &::after - content: "" - background-color: var(--c-7) - box-sizing: border-box - position: absolute - top: 0 - right: 0 - left: 0 - bottom: 0 - border: 5px dashed var(--c-3) - transition: opacity 0.15s ease-in-out - opacity: 0 - pointer-events: none - - &.is-over::after - opacity: 0.5 - - &.can-drop::after - opacity: 0.2 \ No newline at end of file diff --git a/UI/src/components/role-editor/actions.js b/UI/src/components/role-editor/actions.js deleted file mode 100644 index 4f17431..0000000 --- a/UI/src/components/role-editor/actions.js +++ /dev/null @@ -1,146 +0,0 @@ -import { Set } from 'immutable' -import * as UIActions from '../../actions/ui' -import { getViewMap, setup } from '../role-picker/actions' -import uuidv4 from 'uuid/v4' -import superagent from 'superagent' - -export const constructView = id => async (dispatch, getState) => { - await setup(id)(dispatch) - const server = getState().servers.get(id) - - let { viewMap, hasSafeRoles } = getViewMap(server) - viewMap = viewMap.map(c => c.set('mode', Symbol.for('drop'))) - - dispatch({ - type: Symbol.for('re: setup'), - data: { - hasSafeRoles, - viewMap, - originalSnapshot: viewMap - } - }) - - dispatch(UIActions.fadeIn) -} - -export const addRoleToCategory = (id, oldId, role, flip = true) => (dispatch) => { - dispatch({ - type: Symbol.for('re: add role to category'), - data: { - id, - role - } - }) - - if (flip) { - dispatch(removeRoleFromCategory(oldId, id, role, false)) - } -} - -export const removeRoleFromCategory = (id, oldId, role, flip = true) => (dispatch) => { - dispatch({ - type: Symbol.for('re: remove role from category'), - data: { - id, - role - } - }) - - if (flip) { - dispatch(addRoleToCategory(oldId, id, role, false)) - } -} - -export const editCategory = ({ id, key, value }) => dispatch => { - dispatch({ - type: Symbol.for('re: edit category'), - data: { - id, - key, - value - } - }) -} - -export const saveCategory = (id, category) => (dispatch) => { - if (category.get('name') === '') { - return - } - - dispatch({ - type: Symbol.for('re: switch category mode'), - data: { - id, - mode: Symbol.for('drop') - } - }) -} - -export const openEditor = (id) => ({ - type: Symbol.for('re: switch category mode'), - data: { - id, - mode: Symbol.for('edit') - } -}) - -export const deleteCategory = (id, category) => (dispatch, getState) => { - const roles = category.get('roles') - const rolesMap = category.get('roles_map') - - let uncategorized = getState().roleEditor.getIn(['viewMap', 'Uncategorized']) - - dispatch({ - type: Symbol.for('re: set category'), - data: { - id: 'Uncategorized', - name: '', - roles: uncategorized.get('roles').union(roles), - roles_map: uncategorized.get('roles_map').union(rolesMap), - hidden: true, - type: 'multi', - mode: null - } - }) - - dispatch({ - type: Symbol.for('re: delete category'), - data: id - }) -} - -export const createCategory = (dispatch, getState) => { - const { roleEditor } = getState() - const vm = roleEditor.get('viewMap') - - let name = 'New Category' - let idx = 1 - while (vm.find(c => c.get('name') === name) !== undefined) { - idx++ - name = `New Category ${idx}` - } - - const id = uuidv4() - - dispatch({ - type: Symbol.for('re: set category'), - data: { - id, - name, - roles: Set([]), - roles_map: Set([]), - hidden: true, - type: 'multi', - mode: Symbol.for('edit') - } - }) -} - -export const saveServer = id => async (dispatch, getState) => { - const viewMap = getState().roleEditor.get('viewMap') - .filterNot((_, k) => k === 'Uncategorized') - .map(v => v.delete('roles_map').delete('mode').delete('id')) - - await superagent.patch(`/api/server/${id}`).send({ categories: viewMap.toJS() }) - dispatch({ type: Symbol.for('re: swap original state') }) -} diff --git a/UI/src/components/role-editor/index.js b/UI/src/components/role-editor/index.js deleted file mode 100644 index 6af2fe7..0000000 --- a/UI/src/components/role-editor/index.js +++ /dev/null @@ -1,192 +0,0 @@ -import React, { Component } from 'react' -import { Set } from 'immutable' -import { connect } from 'react-redux' -import { DropTarget } from 'react-dnd' -import { Link, Prompt, Redirect } from 'react-router-dom' -import { Scrollbars } from 'react-custom-scrollbars' -import * as Actions from './actions' -import * as PickerActions from '../role-picker/actions' -import * as UIActions from '../../actions/ui' -import './RoleEditor.sass' - -import Category from './Category' -import CategoryEditor from './CategoryEditor' -import Role from '../role/draggable' - -const mapState = ({ rolePicker, roleEditor, servers }, ownProps) => ({ - rp: rolePicker, - editor: roleEditor, - server: servers.get(ownProps.match.params.server) -}) - -@connect(mapState) -@DropTarget(Symbol.for('dnd: role'), { - drop (props, monitor, element) { - element.dropRole({}, 'Uncategorized')(monitor.getItem()) - }, - canDrop (props, monitor) { - return (monitor.getItem().category !== 'Uncategorized') - } -}, (connect, monitor) => ({ - connectDropTarget: connect.dropTarget(), - isOver: monitor.isOver(), - isOverCurrent: monitor.isOver({ shallow: true }), - canDrop: monitor.canDrop(), - itemType: monitor.getItemType() -})) -class RoleEditor extends Component { - componentWillMount () { - const { dispatch, match: { params: { server } } } = this.props - dispatch(Actions.constructView(server)) - } - - componentWillReceiveProps (nextProps) { - if (this.props.match.params.server !== nextProps.match.params.server) { - const { dispatch } = this.props - dispatch(UIActions.fadeOut(() => dispatch(Actions.constructView(nextProps.match.params.server)))) - } - } - - dropRole = (category, name) => ({role, category}) => { - const { dispatch } = this.props - console.log(role) - dispatch(Actions.addRoleToCategory(name, category, role)) - } - - createCategory = () => { - const { dispatch } = this.props - dispatch(Actions.createCategory) - } - - saveCategory = (category, name) => () => { - const { dispatch } = this.props - dispatch(Actions.saveCategory(name, category)) - } - - deleteCategory = (category, id) => () => { - const { dispatch } = this.props - dispatch(Actions.deleteCategory(id, category)) - } - - openEditor = (category, name) => () => { - const { dispatch } = this.props - dispatch(Actions.openEditor(name)) - } - - editCategory = (category, id) => (key, type) => event => { - const { dispatch } = this.props - let value - - switch (type) { - case Symbol.for('edit: text'): - value = event.target.value - break - - case Symbol.for('edit: bool'): - value = event.target.checked - break - - case Symbol.for('edit: select'): - value = event.target.value - break - - default: - value = null - } - - dispatch(Actions.editCategory({ category, id, key, type, value })) - } - - resetServer = () => { - const { dispatch } = this.props - dispatch({ type: Symbol.for('re: reset') }) - } - - saveServer = () => { - const { dispatch, match: { params: { server } } } = this.props - dispatch(Actions.saveServer(server)) - } - - get hasChanged () { - return this.props.editor.get('originalSnapshot').hashCode() !== this.props.editor.get('viewMap').hashCode() - } - - render () { - const { server } = this.props - - if (server == null) { - return null - } - - if (server.getIn(['perms', 'canManageRoles']) !== true) { - return - } - - const vm = this.props.editor.get('viewMap') - return
- -
-

{this.props.server.getIn(['server','name'])}

-
-
- - -
-
-
-
- - { - vm - .filter((_, k) => k !== 'Uncategorized') - .map((c, name) => ) - .toArray() - } -
- -
-
-
- { - this.props.connectDropTarget( -
- -
- { - (vm.getIn(['Uncategorized', 'roles_map']) || Set()) - .sortBy(r => r.get('position')) - .reverse() - .map((r, k) => ) - .toArray() - } - { - (this.props.editor.get('hasSafeRoles') !== true) - ?
- Why are there no roles here? -
- : null - } -
-
-
) - } -
-
- } -} - -export default RoleEditor diff --git a/UI/src/components/role-picker/Category.js b/UI/src/components/role-picker/Category.js deleted file mode 100644 index 0bcf855..0000000 --- a/UI/src/components/role-picker/Category.js +++ /dev/null @@ -1,53 +0,0 @@ -import React, { Component } from 'react' -import { Map } from 'immutable' - -import Role from '../role' - -class Category extends Component { - - toggleRoleMulti (id, next) { - this.props.onChange(Map({ [id]: next })) - } - - toggleRoleSingle (id, next) { - this.props.onChange(this.props.category.get('roles').reduce((acc, i) => acc.set(i, false), Map()).set(id, next)) - } - - onRoleToggle = id => (next, old) => { - const type = this.props.category.get('type') - - switch (type) { - case 'single': return this.toggleRoleSingle(id, next) - case 'multi': return this.toggleRoleMulti(id, next) - default: - console.warn('DEFAULTING TO MULTI', id, next, old) - return this.toggleRoleMulti(id, next) - } - } - - render () { - const { category, name, isSelected } = this.props - if (category.get('hidden')) { - return null - } - - if (category.get('roles').count() === 0) { - return null - } - - return
-

{ category.get('name') }

- { - category.get('roles_map') - .sortBy(r => r.get('position')) - .reverse() - .map((r, k) => { - const id = r.get('id') - return - }) - .toArray() - } -
- } -} -export default Category diff --git a/UI/src/components/role-picker/RolePicker.sass b/UI/src/components/role-picker/RolePicker.sass deleted file mode 100644 index 7bf7191..0000000 --- a/UI/src/components/role-picker/RolePicker.sass +++ /dev/null @@ -1,63 +0,0 @@ -.role-picker - transition: opacity 0.3s ease-in-out - opacity: 1 - - &.hidden - opacity: 0 - - &__categories - display: flex - align-items: flex-start - flex-wrap: wrap - flex-direction: row - - &__category - // flex: 1 3 33% - box-sizing: border-box - background-color: var(--c-1) - padding: 15px - margin: 10px - min-width: 220px - 30px - - &__header - display: flex - align-items: center - justify-content: left - - color: var(--c-7) - - svg - transition: transform 0.05s ease-in-out - transform: translateZ(0) - &:hover - transform: translateZ(0) scale(1.1) - color: var(--c-9) - - h3 - margin: 0 - margin-right: 10px - - &__spacer - flex: 1 - - &__actions - opacity: 1 - transition: opacity 0.3s ease-in-out - - button - margin-left: 5px - - &.hidden - opacity: 0 - // display: none - - &__msg-editor - background-color: rgba(0,0,0,0.2) - border-color: rgba(0,0,0,0.1) - color: var(--c-white) - margin: 10px 0 - - &:focus, &:active - color: var(--c-white) - background-color: rgba(0,0,0,0.2) - border-color: var(--c-7) \ No newline at end of file diff --git a/UI/src/components/role-picker/actions.js b/UI/src/components/role-picker/actions.js deleted file mode 100644 index 81c6dd1..0000000 --- a/UI/src/components/role-picker/actions.js +++ /dev/null @@ -1,146 +0,0 @@ -import { Map, Set, fromJS } from 'immutable' -import superagent from 'superagent' -import * as UIActions from '../../actions/ui' - -export const setup = id => async dispatch => { - const rsp = await superagent.get(`/api/server/${id}`) - const data = rsp.body - - dispatch({ - type: Symbol.for('server: set'), - data: { - id, - ...data - } - }) - dispatch(constructView(id)) -} - -export const getViewMap = server => { - const roles = server.get('roles') - const categories = server.get('categories') - - const allRoles = server.get('roles').filter(v => v.get('safe')).map(r => r.get('id')).toSet() - const accountedRoles = categories.map(c => c.get('roles')).toSet().flatten() - const unaccountedRoles = allRoles.subtract(accountedRoles) - - // console.log('roles', allRoles.toJS(), accountedRoles.toJS(), unaccountedRoles.toJS()) - - const viewMap = categories.set('Uncategorized', fromJS({ - roles: unaccountedRoles, - hidden: true, - type: 'multi', - name: 'Uncategorized' - })).map(c => { - const roles = c.get('roles') - // fill in roles_map - .map(r => - server.get('roles').find(sr => sr.get('id') === r) - ) - .filter(r => r != null) - // sort by server position, backwards. - .sort((a, b) => a.position > b.position) - // force data to sets - return c.set('roles_map', Set(roles)).set('roles', Set(c.get('roles'))) - }) - - const selected = roles.reduce((acc, r) => acc.set(r.get('id'), r.get('selected')), Map()) - - const hasSafeRoles = allRoles.size > 0 - - return { - viewMap, - selected, - hasSafeRoles - } -} - -export const constructView = id => (dispatch, getState) => { - const server = getState().servers.get(id) - - const { viewMap, selected } = getViewMap(server) - - dispatch({ - type: Symbol.for('rp: setup role picker'), - data: { - viewMap: viewMap, - rolesSelected: selected, - originalRolesSelected: selected, - hidden: false, - isEditingMessage: false, - messageBuffer: '' - } - }) - - dispatch(UIActions.fadeIn) -} - -export const resetSelected = (dispatch) => { - dispatch({ - type: Symbol.for('rp: reset selected') - }) -} - -export const submitSelected = serverId => async (dispatch, getState) => { - const { rolePicker } = getState() - const original = rolePicker.get('originalRolesSelected') - const current = rolePicker.get('rolesSelected') - - const diff = original.reduce((acc, v, k) => { - if (current.get(k) !== v) { - // if original value is false, then we know we're adding, otherwise removing. - if (v !== true) { - return acc.set('added', acc.get('added').add(k)) - } else { - return acc.set('removed', acc.get('removed').add(k)) - } - } - - return acc - }, Map({ added: Set(), removed: Set() })) - - await superagent.patch(`/api/servers/${serverId}/roles`).send(diff.toJS()) - - dispatch({ - type: Symbol.for('rp: sync selected roles') - }) -} - -export const updateRoles = roles => ({ - type: Symbol.for('rp: update selected roles'), - data: roles -}) - -export const openMessageEditor = id => (dispatch, getState) => { - const message = getState().servers.getIn([id, 'message']) - dispatch(editServerMessage(id, message)) - dispatch({ - type: Symbol.for('rp: set message editor state'), - data: true - }) -} - -export const saveServerMessage = id => async (dispatch, getState) => { - const message = getState().rolePicker.get('messageBuffer') - - await superagent.patch(`/api/server/${id}`).send({ message }) - - dispatch(closeMessageEditor) - dispatch({ - type: Symbol.for('server: edit message'), - data: { - id, - message - } - }) -} - -export const editServerMessage = (id, message) => ({ - type: Symbol.for('rp: edit message buffer'), - data: message -}) - -export const closeMessageEditor = ({ - type: Symbol.for('rp: set message editor state'), - data: false -}) diff --git a/UI/src/components/role-picker/index.js b/UI/src/components/role-picker/index.js deleted file mode 100644 index e7896fc..0000000 --- a/UI/src/components/role-picker/index.js +++ /dev/null @@ -1,145 +0,0 @@ -import React, { Component, Fragment } from 'react' -import { connect } from 'react-redux' -import { Prompt } from 'react-router-dom' -import superagent from 'superagent' -import * as Actions from './actions' -import * as UIActions from '../../actions/ui' -import { msgToReal } from '../../utils' -import './RolePicker.sass' - -import Category from './Category' -import { Scrollbars } from 'react-custom-scrollbars'; -import { Link } from 'react-router-dom'; - -const mapState = ({ rolePicker, servers }, ownProps) => { - return { - data: rolePicker, - server: servers.get(ownProps.match.params.server) - } -} - -@connect(mapState) -class RolePicker extends Component { - componentWillMount () { - const { dispatch, match: { params: { server } } } = this.props - dispatch(Actions.setup(server)) - } - - componentWillReceiveProps (nextProps) { - if (this.props.match.params.server !== nextProps.match.params.server) { - const { dispatch } = this.props - dispatch(UIActions.fadeOut(() => dispatch(Actions.setup(nextProps.match.params.server)))) - } - } - - get serverId () { - return this.props.server.get('id') - } - - isSelected = id => { - return this.props.data.getIn([ 'rolesSelected', id ]) - } - - get rolesHaveChanged () { - const { data } = this.props - return !data.get('rolesSelected').equals(data.get('originalRolesSelected')) - } - - editServerMessage = (e) => { - const { dispatch } = this.props - dispatch(Actions.editServerMessage(this.serverId, e.target.value)) - } - - saveServerMessage = (e) => { - const { dispatch } = this.props - dispatch(Actions.saveServerMessage(this.serverId)) - } - - openMessageEditor = () => { - const { dispatch } = this.props - dispatch(Actions.openMessageEditor(this.serverId)) - } - - closeMessageEditor = () => { - const { dispatch } = this.props - dispatch(Actions.closeMessageEditor) - } - - renderServerMessage (server) { - const isEditing = this.props.data.get('isEditingMessage') - const roleManager = server.getIn(['perms', 'canManageRoles']) - const msg = server.get('message') - const msgBuffer = this.props.data.get('messageBuffer') - - console.log(msg, roleManager, isEditing, this.props.data.toJS()) - - if (!roleManager && msg !== '') { - return
-

Server Message

-

{msgToReal(msg)}

-
- } - - if (roleManager && !isEditing) { - return
-
-

Server Message

-
-
-

no server message'}}>

-
- } - - if (roleManager && isEditing) { - return
-
-

Server Message

-
-
-
-
-

What is Roleypoly?

-

- Roleypoly is a helper bot to help server members assign themselves roles on Discord. -

-
-
-
Could you easily remember 250 role names? You'd use images or bot commands to tell everyone what they can assign. This kinda limits how many roles you can reasonably have. And don't even start with emojis. 💢
-
Just click. 🌈 💖
-
-
-
- Authorize via Discord -
-