From 8615e5311fd5021e4d48ec0731941eb89e7b290c Mon Sep 17 00:00:00 2001 From: swat1508 Date: Mon, 4 Mar 2019 11:13:17 +0530 Subject: [PATCH] widgets added --- index.js | 47 + package-lock.json | 1452 ++++++++++++++++- package.json | 7 +- .../command-prompt.component.html | 84 +- .../command-prompt.component.scss | 645 +++++--- .../command-prompt.component.ts | 114 +- .../l2/content/content.component.scss | 6 + .../l2/content/modal/modal.component.ts | 22 +- .../cards/card/card.component.html | 12 +- .../cards/card/card.component.scss | 56 +- .../cards/cards.component.scss | 4 + .../add-collab-widget.component.ts | 2 +- .../create-repo-widget.component.html | 2 +- .../widget/widget.component.ts | 25 +- .../l2/sidebar/sidebar.component.html | 8 +- .../l2/sidebar/sidebar.component.scss | 61 +- .../l2/sidebar/sidebar.component.ts | 14 + src/app/services/dom/dom-ops.service.ts | 4 +- src/app/services/github/github-ops.service.ts | 3 +- src/app/store/cards.actions.ts | 16 +- src/sass/{_mixins.scss => __mixins.scss} | 0 src/sass/__variables.scss | 8 + src/sass/_variables.scss | 4 - src/sass/styles.scss | 17 +- 24 files changed, 2147 insertions(+), 466 deletions(-) create mode 100644 index.js rename src/sass/{_mixins.scss => __mixins.scss} (100%) create mode 100644 src/sass/__variables.scss delete mode 100644 src/sass/_variables.scss diff --git a/index.js b/index.js new file mode 100644 index 0000000..81c17f4 --- /dev/null +++ b/index.js @@ -0,0 +1,47 @@ +const express = require('express'); +// const bodyParser = require('body-parser'); +// const path = require('path');// get the path of the directories +// const jsonWebToken = require('jsonwebtoken'); +const app = express();// create obj of the express +// app.use(bodyParser.json()); // parsing data or middleware to server +app.use(express.static('dist'));// it will prefer the directory to serve the file +app.use(function (req, res, next) { + + // Website you wish to allow to connect + res.setHeader('Access-Control-Allow-Origin', '*'); + + // Request methods you wish to allow + res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); + + // Request headers you wish to allow + res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); + + // Set to true if you need the website to include cookies in the requests sent + // to the API (e.g. in case you use sessions) + res.setHeader('Access-Control-Allow-Credentials', true); + + // Pass to next layer of middleware + next(); +}); +// Initializing Middleware +// let middleware = require('./middleware/app-middleware').init(app, jsonWebToken); +// app.set('jwtSecret', 'ashkdbahbhabcjhbahbcjhabsuhqaedgqwdvuqbc'); +const packages = { + app, + // jsonWebToken, + // middleware, + express +}; +// require('./routes/questionRoutes.js')(app)// for question related endpoints +// require('./routes/topicRoutes.js')(app)// for topics related endpoints +// require('./routes/questionManagerRoutes.js')(app)// for question related endpoints +const PORT = process.env.PORT || 8080;// finding the port number +// require('./firebase/firebase-route')(app); +// User routes +// let userRouter = require('./routes/userRouter')(packages); +// app.use(userRouter); + +app.listen(PORT, () => { + console.log('Listening on port 8080'); +}); +console.log('Application started....'); diff --git a/package-lock.json b/package-lock.json index 8dce8b1..c9d5b60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1574,6 +1574,48 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "ansi-colors": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", @@ -2217,6 +2259,60 @@ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.2.1.tgz", "integrity": "sha512-tt/7vIv3Gm2mnd/WeDx36nfGGHleil0Wg8IeB7eMrVkY0fZ5iTaBisSh8oNANc2IBsCc6vCgCNTIM/IEN0+50Q==" }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2801,6 +2897,12 @@ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", "dev": true }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -2899,6 +3001,12 @@ "tslib": "^1.9.0" } }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -2958,6 +3066,12 @@ } } }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -3011,8 +3125,7 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codelyzer": { "version": "4.5.0", @@ -3182,6 +3295,271 @@ "typedarray": "^0.0.6" } }, + "concurrently": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.1.0.tgz", + "integrity": "sha512-pwzXCE7qtOB346LyO9eFWpkFJVO3JQZ/qU/feGeaAHiX1M3Rw3zgXKc5cZ8vSH5DGygkjzLFDzA/pwoQDkRNGg==", + "requires": { + "chalk": "^2.4.1", + "date-fns": "^1.23.0", + "lodash": "^4.17.10", + "read-pkg": "^4.0.1", + "rxjs": "^6.3.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^4.5.0", + "tree-kill": "^1.1.0", + "yargs": "^12.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "^2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, "connect": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", @@ -3372,6 +3750,15 @@ "elliptic": "^6.0.0" } }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -3431,6 +3818,12 @@ "randomfill": "^1.0.3" } }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, "css-parse": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", @@ -3493,6 +3886,11 @@ "assert-plus": "^1.0.0" } }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + }, "date-format": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", @@ -3515,8 +3913,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", @@ -3578,6 +3975,12 @@ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -3839,6 +4242,15 @@ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -3847,6 +4259,12 @@ "readable-stream": "^2.0.2" } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, "duplexify": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", @@ -4025,7 +4443,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -5298,8 +5715,7 @@ "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "get-func-name": { "version": "2.0.0", @@ -5395,6 +5811,15 @@ } } }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -5427,6 +5852,25 @@ "minimatch": "~3.0.2" } }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -5627,8 +6071,7 @@ "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" }, "hpack.js": { "version": "2.1.6", @@ -5852,6 +6295,12 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, "ignore-walk": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", @@ -5892,6 +6341,12 @@ "resolve-from": "^3.0.0" } }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -6171,8 +6626,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "1.0.1", @@ -6187,6 +6641,15 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -6264,7 +6727,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6277,6 +6739,22 @@ "is-extglob": "^2.1.1" } }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -6295,6 +6773,12 @@ } } }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -6343,11 +6827,22 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-typedarray": { "version": "1.0.0", @@ -6388,8 +6883,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -6735,8 +7229,7 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { "version": "0.2.3", @@ -6982,6 +7475,15 @@ } } }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", @@ -7210,6 +7712,12 @@ "signal-exit": "^3.0.0" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -7350,7 +7858,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, "requires": { "p-defer": "^1.0.0" } @@ -7398,7 +7905,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^1.0.0", @@ -7496,8 +8002,7 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "mini-css-extract-plugin": { "version": "0.5.0", @@ -7872,8 +8377,7 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node-fetch-npm": { "version": "2.0.2", @@ -8043,6 +8547,614 @@ } } }, + "nodemon": { + "version": "1.18.10", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.10.tgz", + "integrity": "sha512-we51yBb1TfEvZamFchRgcfLbVYgg0xlGbyXmOtbBzDwxwgewYS/YbZ5tnlnsH51+AoSTTsT3A2E/FloUbtH8cQ==", + "dev": true, + "requires": { + "chokidar": "^2.1.0", + "debug": "^3.1.0", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.6", + "semver": "^5.5.0", + "supports-color": "^5.2.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^2.5.0" + }, + "dependencies": { + "chokidar": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.1.tgz", + "integrity": "sha512-gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fsevents": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + } + } + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -8055,7 +9167,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -8067,7 +9178,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -8145,7 +9255,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, "requires": { "path-key": "^2.0.0" } @@ -8177,8 +9286,7 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "0.9.0", @@ -8391,20 +9499,17 @@ "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", - "dev": true + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==" }, "p-limit": { "version": "1.3.0", @@ -8436,6 +9541,18 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, "pacote": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.4.0.tgz", @@ -8689,8 +9806,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", @@ -8706,8 +9822,7 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.6", @@ -8758,8 +9873,7 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "pinkie": { "version": "2.0.4", @@ -8947,6 +10061,12 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -9136,6 +10256,12 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" }, + "pstree.remy": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.6.tgz", + "integrity": "sha512-NdF35+QsqD7EgNEI5mkI/X+UwaxVEbQaz9f4IooEmMUv6ZPmlTQYGjBPJGgrlzNdjSvIy4MWMg6Q6vCgBO2K+w==", + "dev": true + }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -9285,6 +10411,18 @@ } } }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -9461,6 +10599,25 @@ "regjsparser": "^0.1.4" } }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -9558,8 +10715,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { "version": "2.0.2", @@ -9570,8 +10726,7 @@ "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "requires-port": { "version": "1.0.0", @@ -10219,8 +11374,16 @@ "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + } }, "semver-dsl": { "version": "1.0.1", @@ -10302,8 +11465,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-value": { "version": "2.0.0", @@ -10378,7 +11540,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -10386,8 +11547,7 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shell-quote": { "version": "1.6.1", @@ -10414,8 +11574,7 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "simple-concat": { "version": "1.0.0", @@ -10766,11 +11925,15 @@ "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", "dev": true }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=" + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -10779,14 +11942,12 @@ "spdx-exceptions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -10795,8 +11956,7 @@ "spdx-license-ids": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", - "dev": true + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" }, "spdy": { "version": "4.0.0", @@ -11054,7 +12214,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -11089,8 +12248,7 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-indent": { "version": "1.0.1", @@ -11102,6 +12260,12 @@ "get-stdin": "^4.0.1" } }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, "style-loader": { "version": "0.23.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", @@ -11238,6 +12402,43 @@ "xtend": "^4.0.0" } }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, "terser": { "version": "3.16.1", "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", @@ -11449,6 +12650,12 @@ "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", "dev": true }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -11572,8 +12779,7 @@ "tree-kill": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz", - "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==", - "dev": true + "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==" }, "trim-newlines": { "version": "1.0.0", @@ -11776,6 +12982,15 @@ "xtend": "^4.0.1" } }, + "undefsafe": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", + "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -11826,6 +13041,15 @@ "imurmurhash": "^0.1.4" } }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -11867,11 +13091,35 @@ } } }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, "uri-js": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", @@ -11912,6 +13160,15 @@ "requires-port": "^1.0.0" } }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -11975,7 +13232,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -12547,7 +13803,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -12568,6 +13823,48 @@ "string-width": "^1.0.2 || 2" } }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -12587,7 +13884,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -12598,6 +13894,17 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "write-file-atomic": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", + "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -12609,6 +13916,12 @@ "ultron": "~1.1.0" } }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", @@ -12672,8 +13985,7 @@ "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "2.1.2", diff --git a/package.json b/package.json index b41cc02..5259e30 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,12 @@ "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve", + "start": "ng serve --open", "build": "ng build", "test": "ng test", "lint": "ng lint", - "e2e": "ng e2e" + "e2e": "ng e2e", + "serve": "concurrently \"npm start\" \"nodemon index.js\"" }, "private": true, "dependencies": { @@ -22,6 +23,7 @@ "@angular/router": "^7.2.3", "@ngrx/store": "^7.2.0", "bootstrap": "^4.2.1", + "concurrently": "^4.1.0", "core-js": "^2.6.2", "popper": "^1.0.1", "rxjs": "^6.4.0", @@ -46,6 +48,7 @@ "karma-coverage-istanbul-reporter": "~2.0.0", "karma-jasmine": "^2.0.1", "karma-jasmine-html-reporter": "^1.4.0", + "nodemon": "^1.18.10", "protractor": "^5.4.2", "ts-node": "~5.0.1", "tslint": "^5.12.0", diff --git a/src/app/components/l2/content/command-prompt/command-prompt.component.html b/src/app/components/l2/content/command-prompt/command-prompt.component.html index 8fe6aa0..5e34385 100644 --- a/src/app/components/l2/content/command-prompt/command-prompt.component.html +++ b/src/app/components/l2/content/command-prompt/command-prompt.component.html @@ -1,35 +1,51 @@ - diff --git a/src/app/components/l2/content/command-prompt/command-prompt.component.scss b/src/app/components/l2/content/command-prompt/command-prompt.component.scss index 1e2009c..c7e1a9f 100644 --- a/src/app/components/l2/content/command-prompt/command-prompt.component.scss +++ b/src/app/components/l2/content/command-prompt/command-prompt.component.scss @@ -1,43 +1,44 @@ @import "./src/sass/_variables.scss"; +$max: 60px; :host { - height: 100%; + height: 100%; } a, a:hover, a:focus { - color: inherit; - text-decoration: none; - transition: all 0.3s; - cursor: pointer; + color: inherit; + text-decoration: none; + transition: all 0.3s; + cursor: pointer; } .navbar { - padding: 15px 10px; - background: #fff; - border: none; - border-radius: 0 5px 5px 0; - margin-bottom: 40px; - box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); + padding: 15px 10px; + background: #fff; + border: none; + border-radius: 0 5px 5px 0; + margin-bottom: 40px; + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); } .navbar-btn { - box-shadow: none; - outline: none !important; - border: none; + box-shadow: none; + outline: none !important; + border: none; } .line { - width: 100%; - height: 1px; - border-bottom: 1px dashed #ddd; - margin: 20px 0; + width: 100%; + height: 1px; + border-bottom: 1px dashed #ddd; + margin: 20px 0; } i, span { - display: inline-block; + display: inline-block; } /* --------------------------------------------------- @@ -45,28 +46,28 @@ span { ----------------------------------------------------- */ .wrapper { - display: flex; - align-items: stretch; - height: 100%; + display: flex; + align-items: stretch; + height: 100%; } #sidebar { - min-width: 250px; - max-width: 250px; - background: $theme-supplementer; - color: $themeColor-Dark; - transition: all 0.3s; + min-width: 250px; + max-width: 250px; + background: $theme-supplementer; + color: $themeColor-Dark; + transition: all 0.3s; } #sidebar.active { - min-width: 80px; - max-width: 80px; - text-align: center; + min-width: 80px; + max-width: 80px; + text-align: center; } #sidebar.active .sidebar-header h3, #sidebar.active .CTAs { - display: none; + display: none; } .sidebar-header h3 { @@ -76,115 +77,119 @@ span { } #sidebar.active .sidebar-header strong { - display: block; + display: block; } #sidebar ul li a { - text-align: left; + text-align: left; } #sidebar.active ul li a { - padding: 20px 10px; - text-align: center; - font-size: 0.85em; + padding: 20px 10px; + text-align: center; + font-size: 0.85em; } #sidebar.active ul li a i { - margin-right: 0; - display: block; - font-size: 1.8em; - margin-bottom: 5px; + margin-right: 0; + display: block; + font-size: 1.8em; + margin-bottom: 5px; } #sidebar.active ul ul a { - padding: 10px !important; + padding: 10px !important; } #sidebar.active .dropdown-toggle::after { - top: auto; - bottom: 10px; - right: 50%; - -webkit-transform: translateX(50%); - -ms-transform: translateX(50%); - transform: translateX(50%); + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + -ms-transform: translateX(50%); + transform: translateX(50%); } #sidebar .sidebar-header { - padding: 20px; - background:$themeColor-Dark; + padding: 20px; + background: $themeColor-Dark; } #sidebar .sidebar-header strong { - display: none; - font-size: 1.8em; + display: none; + font-size: 1.8em; } #sidebar ul.components { - padding: 20px 0; - border-bottom: 3px solid $themeColor-Dark; + padding: 20px 0; + border-bottom: 3px solid $themeColor-Dark; } #sidebar ul li a { - padding: 10px; - font-size: 1.1em; - display: block; + padding: 10px; + font-size: 1.1em; + display: block; } #sidebar ul li a:hover { - color: #7386D5; - background: #fff; + color: #7386D5; + background: #fff; } #sidebar ul li a i { - margin-right: 10px; + margin-right: 10px; } #sidebar ul li.active>a, a[aria-expanded="true"] { - color: $theme-supplementer; - background:$themeColor-Dark; + color: $theme-supplementer; + background: $themeColor-Dark; } a[data-toggle="collapse"] { - position: relative; + position: relative; +} + +.collapse:not(.show) { + display: flex; } .dropdown-toggle::after { - display: block; - position: absolute; - top: 50%; - right: 20px; - transform: translateY(-50%); + display: block; + position: absolute; + top: 50%; + right: 20px; + transform: translateY(-50%); } ul ul a { - font-size: 0.9em !important; - padding-left: 30px !important; - background: white; - font-weight: bolder; + font-size: 0.9em !important; + padding-left: 30px !important; + background: white; + font-weight: bolder; } ul.CTAs { - padding: 20px; + padding: 20px; } ul.CTAs a { - text-align: center; - font-size: 0.9em !important; - display: block; - border-radius: 5px; - margin-bottom: 5px; + text-align: center; + font-size: 0.9em !important; + display: block; + border-radius: 5px; + margin-bottom: 5px; } a.download { - background: #fff; - color: #7386D5; + background: #fff; + color: #7386D5; } a.article, a.article:hover { - background: #6d7fcc !important; - color: #fff !important; + background: #6d7fcc !important; + color: #fff !important; } /* --------------------------------------------------- @@ -192,10 +197,10 @@ a.article:hover { ----------------------------------------------------- */ #content { - width: 100%; - padding: 20px; - min-height: 100vh; - transition: all 0.3s; + width: 100%; + padding: 20px; + min-height: 100vh; + transition: all 0.3s; } /* --------------------------------------------------- @@ -203,70 +208,40 @@ a.article:hover { ----------------------------------------------------- */ @media (max-width: 768px) { - #sidebar { - min-width: 80px; - max-width: 80px; - text-align: center; - margin-left: -80px !important; + #header { + #command { + width: 100%; } - .dropdown-toggle::after { - top: auto; - bottom: 10px; - right: 50%; - -webkit-transform: translateX(50%); - -ms-transform: translateX(50%); - transform: translateX(50%); - } - #sidebar.active { - margin-left: 0 !important; - } - #sidebar .sidebar-header h3, - #sidebar .CTAs { - display: none; - } - #sidebar .sidebar-header strong { - display: block; - } - #sidebar ul li a { - padding: 20px 10px; - } - #sidebar ul li a span { - font-size: 0.85em; - } - #sidebar ul li a i { - margin-right: 0; - display: block; - } - #sidebar ul ul a { - padding: 10px !important; - } - #sidebar ul li a i { - font-size: 1.3em; - } - #sidebar { - margin-left: 0; - } - #sidebarCollapse span { - display: none; - } - .text-muted { - color: #bcb !important; + + .prompt { + display: none !important; } + + .navbar { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; + width: 100%; + margin-bottom: 20px; + } + } } @media(min-width: 576px) { - .card-group>.card:first-child { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - } - .card-group>.card:not(:first-child):not(:last-child):not(:only-child) { - border-radius: .25rem; - } - .card-group>.card:last-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - } + .card-group>.card:first-child { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem; + } + + .card-group>.card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: .25rem; + } + + .card-group>.card:last-child { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; + } } + /* ------------------------------------------------- ADDITIONS --------------------------------------------------*/ @@ -279,13 +254,17 @@ ADDITIONS width: 2em; border-right: 1px solid #c99034; background-color: #f5d38b; - width: 4%; + width: 8%; margin-bottom: 40px; border-radius: 4px 0 0 4px; } +#header .navbar { + width: 92%; +} + .promptext { - animation:blinkingText 0.8s infinite; + animation: blinkingText 0.8s infinite; color: #975f04; text-align: center; line-height: 2em; @@ -294,13 +273,13 @@ ADDITIONS } .good { - animation: anim .3s ease-in-out; + animation: anim .3s ease-in-out; } .repoLink { - color: #000; - font-weight: bolder; - text-decoration: underline; + color: #000; + font-weight: bolder; + text-decoration: underline; } .headerprompt { @@ -319,163 +298,303 @@ nav div.collapse li a.nav-link i.far { } #loading-img { - background: url(http://preloaders.net/preloaders/360/Velocity.gif) center center no-repeat; - height: 100%; - z-index: 20; + background: url(http://preloaders.net/preloaders/360/Velocity.gif) center center no-repeat; + height: 100%; + z-index: 20; } .overlay { - background: #e9e9e9; - display: none; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - opacity: 0.5; + background: #e9e9e9; + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + opacity: 0.5; } .loader { - border: 0px solid #f3f3f3; - border-radius: 50%; - border-top: 2px solid #3498db; - border-right: 2px solid #3498db; - width: 20px; - height: 20px; - -webkit-animation: spin 2s linear infinite; /* Safari */ - animation: spin 2s linear infinite; - } + border: 0px solid #f3f3f3; + border-radius: 50%; + border-top: 2px solid #3498db; + border-right: 2px solid #3498db; + width: 20px; + height: 20px; + -webkit-animation: spin 2s linear infinite; + /* Safari */ + animation: spin 2s linear infinite; +} + .card:not(.widget) { - background: linear-gradient(to right, white, lightblue) + background: linear-gradient(to right, white, lightblue) } + .light-red { - // background:linear-gradient(white, lightblue); - background: linear-gradient(to right, white, #dfc99a) + // background:linear-gradient(white, lightblue); + background: linear-gradient(to right, white, #dfc99a) } - + // f3d98c .featureRequest { - background-color : #007bff; - color: white; - font-size: 1.5em; - padding: 10px 20px; - border-radius: 30px; + background-color: #007bff; + color: white; + font-size: 1.5em; + padding: 10px 20px; + border-radius: 30px; +} + +#featureRequest { + position: fixed; + bottom: 2em; + right: 2.5em; } - - #featureRequest { - position: fixed; - bottom: 2em; - right: 2.5em; - } @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } } @keyframes anim { - 0% { - display: none; - opacity: 0; - } - 1% { - display: block; - opacity: 0; - transform: scale(0); - } - 100% { - opacity: 1; - transform: scale(1); - } + 0% { + display: none; + opacity: 0; + } + + 1% { + display: block; + opacity: 0; + transform: scale(0); + } + + 100% { + opacity: 1; + transform: scale(1); + } } + @keyframes blinkingText { - 0%{ color: #000; } - 49%{ color: transparent; } - 50%{ color: transparent; } - 99%{ color:transparent; } - 100%{ color: #000; } + 0% { + color: #000; + } + + 49% { + color: transparent; + } + + 50% { + color: transparent; + } + + 99% { + color: transparent; + } + + 100% { + color: #000; + } } /* -------------------------------------------------- OVERRIDES --------------------------------------------------*/ - .btn:not(.featureRequest) { - background-color: $theme-supplementer; - color: $themeColor-Dark - } +.btn:not(.featureRequest) { + background-color: $theme-supplementer; + color: $themeColor-Dark +} +@media (min-width: 1024px) { #header .navbar { width: 96%; } - - .navbar-form { - width: 88%; + .prompt { + width: 4%; } - - .form-control { - padding: .6rem 1em; - } - - .container-fluid { - padding-left: 0.3em; - } - - .card-group { - flex-direction:column; - } - - #command.form-control { - width: 87%; - } - - .ml-auto { - margin-left: 0!important; - } - - .btn-info { - border-color: orange; - } - - .btn-info:hover { - border-color: orange; - opacity: 1 -} -.listening { - content: ''; - background: url('data:image/svg+xml;utf8,') 0 0 no-repeat; - width: 100%; - height: 100%; - position: absolute; - animation: 2s pulse linear infinite; } -@keyframes pulse { +.navbar-form { + width: 88%; +} + +.form-control { + padding: .6rem 1em; +} + +.container-fluid { + padding-left: 0.3em; +} + +.card-group { + flex-direction: column; +} + +#command.form-control { + width: 87%; +} + +#faux { + visibility: hidden; + margin-right: 0; + border-right: 0; + padding-right: 0; +} + +.ml-auto { + margin-left: 0 !important; +} + +.btn-info { + border-color: orange; +} + +.btn-info:hover { + border-color: orange; + opacity: 1 +} + +.listening_indicator { + background: black; +} + +.equalizer { + height: 100%; + width: 100%; + transform: rotate(180deg); +} + +.bar { + fill: #00fc00; + width: 7px; + animation: equalize 4s 0s infinite; +} + +.bar:nth-child(1) { + animation-delay: -1.9s; +} + +.bar:nth-child(2) { + animation-delay: -2s; +} + +.bar:nth-child(3) { + animation-delay: -2.3s; +} + +.bar:nth-child(4) { + animation-delay: -2.4s; +} + +.bar:nth-child(5) { + animation-delay: -2.1s; +} + +@keyframes equalize { 0% { - clip: rect(0, 0, 100px, 0); + height: 20px; } + 4% { - clip: rect(0, 66.66667px, 100px, 0); + height: 16px; } - 15% { - clip: rect(0, 133.33333px, 100px, 0); + + 8% { + height: 13px; } + + 12% { + height: 10px; + } + + 16% { + height: 20px; + } + 20% { - clip: rect(0, 300px, 100px, 0); - opacity:1; + height: 10px; + } + + 24% { + height: 13px; + } + + 28% { + height: 3px; + } + + 32% { + height: 13px; + } + + 36% { + height: 20px; + } + + 40% { + height: 7px; + } + + 44% { + height: 13px; + } + + 48% { + height: 23px; + } + + 52% { + height: 10px; + } + + 56% { + height: 3px; + } + + 60% { + height: 10px; + } + + 64% { + height: 17px; + } + + 68% { + height: 20px; + } + + 72% { + height: 23px; + } + + 76% { + height: 27px; } 80% { - clip: rect(0, 300px, 100px, 0); - opacity:0; + height: 23px; } - 90% { - opacity: 0; + 84% { + height: 20px; + } + + 88% { + height: 17px; + } + + 92% { + height: 20px; + } + + 96% { + height: 23px; } 100% { - clip: rect(0, 300px, 100px, 0); - opacity:0; - } - -} \ No newline at end of file + height: 27px; + } +} diff --git a/src/app/components/l2/content/command-prompt/command-prompt.component.ts b/src/app/components/l2/content/command-prompt/command-prompt.component.ts index 956df73..5764323 100644 --- a/src/app/components/l2/content/command-prompt/command-prompt.component.ts +++ b/src/app/components/l2/content/command-prompt/command-prompt.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { RecastOpsService } from 'src/app/services/recast/recast-ops.service'; import { DomOpsService } from 'src/app/services/dom/dom-ops.service'; import { CardService } from 'src/app/services/cards/card.service.js'; @@ -18,6 +18,10 @@ import * as $ from 'node_modules/jquery/dist/jquery'; export class CommandPromptComponent implements OnInit { recognition: SpeechRecognition; + contextMenuFirstDisplay: boolean; + contextMenuDisplayed: boolean; + @ViewChild('command') command: ElementRef; + emptyCommandMessage: string = 'Please type a command or use "Speech" button to speak to the bot.'; constructor(private recastOpsService: RecastOpsService, private domOpsService: DomOpsService, @@ -25,21 +29,14 @@ export class CommandPromptComponent implements OnInit { private store: Store<{ioHistory: {responses: Card[]}}>) { } ngOnInit() { - $('#content nav div.collapse li a.nav-link i.far.fa-star').hover(() => { - $('#content nav div.collapse li a.nav-link i.far.fa-star').toggleClass('fas'); - }); - $('#content nav div.collapse li a.nav-link i.far.fa-trash-alt').hover(() => { - $('#content nav div.collapse li a.nav-link i.far.fa-trash-alt').toggleClass('fas'); - }); - $('#content nav div.collapse li a.nav-link i.far.fa-paper-plane').hover(() => { - $('#content nav div.collapse li a.nav-link i.far.fa-paper-plane').toggleClass('fas'); - }); this.domOpsService.repeatRequested.subscribe( (command) => { - this.executeCommand(command, 'Could not retrieve command from selected card, please choose a different card or enter a new command'); + $('#command').val(command); + this.executeCommand(); } ) this.registerSpeechHandlers(); + this.registerMouseAndKeyboardHandlers(); } toggleClass(event: MouseEvent) { @@ -49,9 +46,8 @@ export class CommandPromptComponent implements OnInit { initiateDomOpsOnEnter(event: any) { const code = (event.keyCode ? event.keyCode : event.which); if (code === 13) { - this.domOpsService.hideNonCards(); - const command = event.target.value; - this.executeCommand(command, 'Please type a command or use "Speech" button to speak to the bot.') + // this.domOpsService.hideNonCards(); + this.executeCommand(); } } @@ -71,9 +67,10 @@ export class CommandPromptComponent implements OnInit { registerSpeechHandlers() { let SpeechRecognition: any; - let instructions: any; + let instructions: any = $('#command'); try { SpeechRecognition = window.SpeechRecognition || window.mozSpeechRecognition || window.msSpeechRecognition || window.webkitSpeechRecognition; + //SpeechRecognition = ''; this.recognition = new SpeechRecognition(); } catch(e) { @@ -81,19 +78,19 @@ export class CommandPromptComponent implements OnInit { $('.no-browser-support').show(); $('.app').hide(); } - // this.recognition.onstart = function() { - // instructions.text('Voice recognition activated. Try speaking into the microphone.'); - // } + this.recognition.onstart = function() { + instructions.val('Voice recognition activated. Try speaking into the microphone.'); + } - // this.recognition.onspeechend = function() { - // instructions.text('You were quiet for a while so voice recognition turned itself off.'); - // } + this.recognition.onspeechend = function() { + instructions.val('You were quiet for a while so voice recognition turned itself off.'); + } - // this.recognition.onerror = function(event) { - // if(event.error == 'no-speech') { - // instructions.text('No speech was detected. Try again.'); - // }; - // } + this.recognition.onerror = function(event) { + if(event.error == 'no-speech') { + instructions.val('No speech was detected. Try again.'); + }; + } this.recognition.onresult = function(event: SpeechRecognitionEvent) { let noteContent: string = ""; @@ -107,18 +104,40 @@ export class CommandPromptComponent implements OnInit { } } - executeCommand(command, noCommandMessage) { + registerMouseAndKeyboardHandlers() { + $('#content nav div.collapse li a.nav-link i.far.fa-star').hover(() => { + $('#content nav div.collapse li a.nav-link i.far.fa-star').toggleClass('fas'); + }); + $('#content nav div.collapse li a.nav-link i.far.fa-trash-alt').hover(() => { + $('#content nav div.collapse li a.nav-link i.far.fa-trash-alt').toggleClass('fas'); + }); + $('#content nav div.collapse li a.nav-link i.far.fa-paper-plane').hover(() => { + $('#content nav div.collapse li a.nav-link i.far.fa-paper-plane').toggleClass('fas'); + }); + $('*').on('click', (event) => { + if(!this.contextMenuFirstDisplay) { + $("#inputSelectionContextMenu").removeClass("show").hide(); + this.contextMenuDisplayed = false; + event.stopPropagation(); + } else { + this.contextMenuFirstDisplay = false; + event.stopPropagation(); + } + }); + } + + executeCommand() { this.domOpsService.hideNonCards(); - if (command) { - let card = this.cardsService.getCommandCard($config.intentSlugToOperations.command.cardTitle, command, {}, "command"); - let commandAction = new Command(); - commandAction.payload = card; - this.store.dispatch(commandAction); - const text = { text: command }; - let recastResponse = this.recastOpsService.getRecastResponse(command, text); - this.processRecastResponse(recastResponse) + let commandVal = this.command.nativeElement.value; + if(!commandVal) { + this.domOpsService.showEmptyCommandMessage(this.emptyCommandMessage); } else { - this.domOpsService.showEmptyCommandMessage(noCommandMessage); + let card = this.cardsService.getCommandCard($config.intentSlugToOperations.command.cardTitle, commandVal, {}, "command"); + let commandAction = new Command(card); + this.store.dispatch(commandAction); + const text = { text: commandVal }; + let recastResponse = this.recastOpsService.getRecastResponse(commandVal, text); + this.processRecastResponse(recastResponse); } } @@ -149,11 +168,10 @@ export class CommandPromptComponent implements OnInit { window.localStorage.setItem($config.constants.hiddenIntentFieldId, intentSlug); this.domOpsService.displayIntentBox(intentSlug); if (intentSlug == "resethistory") { - let resetHistoryResponseAction = new ClearHistory(); let card = this.cardsService.getResponseCard($config.intentSlugToOperations.resethistory.cardTitle, - $config.intentSlugToOperations.resethistory.cardMsg, {}, "response"); + $config.intentSlugToOperations.resethistory.cardMsg, {}, "response"); card.insertionCounter = 0; - resetHistoryResponseAction.payload = card; + let resetHistoryResponseAction = new ClearHistory(card); this.store.dispatch(resetHistoryResponseAction); return; } @@ -171,4 +189,22 @@ export class CommandPromptComponent implements OnInit { } + showContextMenu(event: any) { + if(this.contextMenuDisplayed == true) { + return; + } + var inputField = event.target; + if(inputField.value.length > 2 && inputField.selectionStart == 0 && inputField.selectionEnd == inputField.value.length) { + var top = event.pageY - 10; + var left = event.pageX - 90; + $("#inputSelectionContextMenu").css({ + display: "block", + top: top, + left: left + }).addClass("show"); + this.contextMenuFirstDisplay = true; + this.contextMenuDisplayed = true; + } + } + } diff --git a/src/app/components/l2/content/content.component.scss b/src/app/components/l2/content/content.component.scss index 9911610..ab613f7 100644 --- a/src/app/components/l2/content/content.component.scss +++ b/src/app/components/l2/content/content.component.scss @@ -8,4 +8,10 @@ // padding: 20px; min-height: 100vh; transition: all 0.3s; +} + +@media(max-width: 768px) { + :host { + padding: 10px; + } } \ No newline at end of file diff --git a/src/app/components/l2/content/modal/modal.component.ts b/src/app/components/l2/content/modal/modal.component.ts index bd6bf40..dfcf639 100644 --- a/src/app/components/l2/content/modal/modal.component.ts +++ b/src/app/components/l2/content/modal/modal.component.ts @@ -1,10 +1,7 @@ -import { Component, OnInit, Input } from '@angular/core'; +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { DomOpsService } from 'src/app/services/dom/dom-ops.service'; -import { Store } from '@ngrx/store'; +import { GithubOpsService } from 'src/app/services/github/github-ops.service'; -import { Card } from '../primary-container/cards/card/Card.model'; - -import * as $ from 'node_modules/jquery/dist/jquery'; import * as $config from '../../../../configuration/config'; @Component({ @@ -16,7 +13,9 @@ export class ModalComponent implements OnInit { @Input() isHidden: boolean = true; - constructor(private domOpsService: DomOpsService, private store: Store<{ioHistory: {responses: Card[]}}>) { } + constructor( + private domOpsService: DomOpsService, + private githubService: GithubOpsService) { } ngOnInit() { this.domOpsService.commandPromptEnteredEmpty.subscribe( @@ -26,17 +25,10 @@ export class ModalComponent implements OnInit { ) } - submitGitData() { - const data: any = this.domOpsService.getDataFromFormAsJSON(); - // const intent = $(`#${$config.constants.hiddenIntentFieldId}`).val(); + submitGitData() { const intent = window.localStorage.getItem($config.constants.hiddenIntentFieldId); if (intent) { - data.intent = intent; - var action = $config.intentSlugToOperations[intent].action; - action.payload = data; - this.store.dispatch(action); - const operation = $config.intentSlugToOperations[intent].githubOperation; - // app[operation](data); + this.githubService.gitOperationIdentified.emit($config.intentSlugToOperations[intent].githubOperation); } } } diff --git a/src/app/components/l2/content/primary-container/cards/card/card.component.html b/src/app/components/l2/content/primary-container/cards/card/card.component.html index 3d2ef33..7750856 100644 --- a/src/app/components/l2/content/primary-container/cards/card/card.component.html +++ b/src/app/components/l2/content/primary-container/cards/card/card.component.html @@ -1,15 +1,17 @@
-
{{card.cardTitle}} -
x
-
-

- {{card.cardContent}} +

+ {{card.cardTitle}} + Remove Repeat +
+

+ {{card.cardContent}}

diff --git a/src/app/components/l2/content/primary-container/cards/card/card.component.scss b/src/app/components/l2/content/primary-container/cards/card/card.component.scss index 3e4ebfd..fd54842 100644 --- a/src/app/components/l2/content/primary-container/cards/card/card.component.scss +++ b/src/app/components/l2/content/primary-container/cards/card/card.component.scss @@ -1,13 +1,21 @@ +// h5 { +// font-size: 1em; +// } + +// p { +// font-size: 0.7em; +// } + .line { width: 100%; height: 1px; border-bottom: 1px dashed #ddd; - margin: 20px 0; + margin: 10px 0; } .card { width: 80%; - border-radius: 35px; + border-radius: 15px; } .command-card { @@ -47,16 +55,46 @@ } } -.btn.btn-info.float-right { - color: #252525 !important; - background-color: transparent; - border-color: #252525; - &:hover { - background-color: #252525!important; - color: #fff!important +.btn { + &.btn-info, &.btn-danger { + &.float-right { + color: #252525 !important; + background-color: transparent; + border-color: #252525; + margin-right: 30px; + &:hover { + background-color: #252525!important; + color: #fff!important + } + } } } .close:not(:disabled):not(.disabled):hover { opacity: 1; +} + +// OVERRIDE +.close { + font-size: 16px; + font-weight: 400; + line-height: 1.5em; + text-shadow: unset; + opacity: unset; +} + +a#btnRemove, a[id^='btnRepeatCommand'] { + display: none; +} + +@media(min-width: 768px) { + a#btnRemove, a[id^='btnRepeatCommand'] { + display: block; + } + .card { + border-radius: 35px; + } + .line { + margin: 20px 0; + } } \ No newline at end of file diff --git a/src/app/components/l2/content/primary-container/cards/cards.component.scss b/src/app/components/l2/content/primary-container/cards/cards.component.scss index 3ed01bd..b30ec05 100644 --- a/src/app/components/l2/content/primary-container/cards/cards.component.scss +++ b/src/app/components/l2/content/primary-container/cards/cards.component.scss @@ -14,4 +14,8 @@ .card-group { flex-direction:column; +} + +#conversations { + margin-left: 3em; } \ No newline at end of file diff --git a/src/app/components/l2/content/primary-container/widget/add-collab-widget/add-collab-widget.component.ts b/src/app/components/l2/content/primary-container/widget/add-collab-widget/add-collab-widget.component.ts index d2ecdc5..8a406a0 100644 --- a/src/app/components/l2/content/primary-container/widget/add-collab-widget/add-collab-widget.component.ts +++ b/src/app/components/l2/content/primary-container/widget/add-collab-widget/add-collab-widget.component.ts @@ -13,7 +13,7 @@ export class AddCollabWidgetComponent implements OnInit { ngOnInit() { this.isHidden = true; - console.log('add collab on init fired'); + // console.log('add collab on init fired'); } } diff --git a/src/app/components/l2/content/primary-container/widget/create-repo-widget/create-repo-widget.component.html b/src/app/components/l2/content/primary-container/widget/create-repo-widget/create-repo-widget.component.html index 56ea616..f946dcc 100644 --- a/src/app/components/l2/content/primary-container/widget/create-repo-widget/create-repo-widget.component.html +++ b/src/app/components/l2/content/primary-container/widget/create-repo-widget/create-repo-widget.component.html @@ -1,6 +1,6 @@
diff --git a/src/app/components/l2/content/primary-container/widget/widget.component.ts b/src/app/components/l2/content/primary-container/widget/widget.component.ts index 23d2569..67b1704 100644 --- a/src/app/components/l2/content/primary-container/widget/widget.component.ts +++ b/src/app/components/l2/content/primary-container/widget/widget.component.ts @@ -1,5 +1,11 @@ import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core'; import { DomOpsService } from 'src/app/services/dom/dom-ops.service'; +import { GithubOpsService } from 'src/app/services/github/github-ops.service'; +import { CardService } from 'src/app/services/cards/card.service'; + +import { Command } from 'src/app/store/cards.actions'; +import { Card } from '../cards/card/card.model'; +import { Store } from '@ngrx/store'; import { AddCollabWidgetComponent } from './add-collab-widget/add-collab-widget.component'; import { AddIssueCommentWidgetComponent } from './add-issue-comment-widget/add-issue-comment-widget.component'; @@ -9,6 +15,8 @@ import { CreateIssueWidgetComponent } from './create-issue-widget/create-issue-w import { DisplayLastCommentWidgetComponent } from './display-last-comment-widget/display-last-comment-widget.component'; import { ViewRepoWidgetComponent } from './view-repo-widget/view-repo-widget.component'; +import * as $config from '../../../../../configuration/config'; + @Component({ selector: 'app-widget', templateUrl: './widget.component.html', @@ -29,7 +37,11 @@ export class WidgetComponent implements OnInit { intentmap: {}; - constructor(private domOpsService: DomOpsService) { } + constructor( + private domOpsService: DomOpsService, + private githubService: GithubOpsService, + private cardsService: CardService, + private store: Store<{ioHistory: {responses: Card[]}}>) { } ngOnInit() { this.intentmap = { @@ -55,6 +67,17 @@ export class WidgetComponent implements OnInit { this.underWidgetLine.nativeElement.classList.remove('hide'); // this.domOpsService.populateRecastData(intent.widget.slug, ); } + ); + this.githubService.gitOperationIdentified.subscribe( + (gitOperation) => { + const data: any = this.domOpsService.getDataFromFormAsJSON(); + const intent = window.localStorage.getItem($config.constants.hiddenIntentFieldId); + data.intent = intent; + this.githubService[gitOperation](data); + let card = this.cardsService.getResponseCard($config.intentSlugToOperations[intent].successMessage, "", data, "response"); + let commandAction = new Command(card); + this.store.dispatch(commandAction); + } ) } } diff --git a/src/app/components/l2/sidebar/sidebar.component.html b/src/app/components/l2/sidebar/sidebar.component.html index 9d03ee9..d80b140 100644 --- a/src/app/components/l2/sidebar/sidebar.component.html +++ b/src/app/components/l2/sidebar/sidebar.component.html @@ -1,5 +1,5 @@