From 3e77532af6769440956159935c0a48f217494649 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Sat, 5 Jun 2021 18:53:59 -0400 Subject: [PATCH 01/23] updated --- .eslintrc.js | 36 ++++++++++++++----------- README.md | 29 -------------------- package-lock.json | 2 +- package.json | 2 +- public/manifest.json | 24 +++-------------- public/rules.json | 16 ------------ src/App.css | 5 ++-- src/App.jsx | 20 ++++++++++++++ src/App.tsx | 48 ---------------------------------- src/background.js | 0 src/background.ts | 16 ------------ src/{content.ts => content.js} | 0 src/custom.d.ts | 4 --- src/{popup.tsx => popup.jsx} | 0 tsconfig.json | 18 ------------- webpack.config.js | 6 ++--- 16 files changed, 52 insertions(+), 174 deletions(-) delete mode 100644 public/rules.json create mode 100644 src/App.jsx delete mode 100644 src/App.tsx create mode 100644 src/background.js delete mode 100644 src/background.ts rename src/{content.ts => content.js} (100%) delete mode 100644 src/custom.d.ts rename src/{popup.tsx => popup.jsx} (100%) delete mode 100644 tsconfig.json diff --git a/.eslintrc.js b/.eslintrc.js index 7039b8c..d13dea3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,29 +4,35 @@ module.exports = { es2021: true, webextensions: true, }, - // settings: { - // 'import/resolver': { - // typescript: {}, - // }, - // }, - extends: ['plugin:react/recommended', 'airbnb'], - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaFeatures: { - jsx: true, + extends: [ + 'plugin:react/recommended', + 'airbnb', + ], + plugins: ['react'], + settings: { + 'import/resolver': { + node: { + extensions: ['.js', '.jsx'], + moduleDirectory: ['node_modules', 'src/'], + }, }, - ecmaVersion: 12, - sourceType: 'module', }, - plugins: ['react', '@typescript-eslint'], rules: { 'no-plusplus': 'off', 'comma-dangle': 'off', 'operator-linebreak': 'off', 'no-use-before-define': 'off', 'linebreak-style': 'off', - 'react/jsx-filename-extension': [1, { extensions: ['.tsx', '.ts'] }], + 'react/jsx-filename-extension': [1, { extensions: ['.jsx', '.js'] }], 'jsx-a11y/label-has-associated-control': 'off', - 'prefer-destructuring': 'off' + 'prefer-destructuring': 'off', + 'import/extensions': [ + 'error', + 'ignorePackages', + { + js: 'never', + jsx: 'never', + }, + ], }, }; diff --git a/README.md b/README.md index ff030f5..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,29 +0,0 @@ -# Chrome Extension boilerplate created with React Typescript - -## Getting started - -Create a project based on this boilerplate. - -``` -$ npx degit https://github.com/sivertschou/react-typescript-chrome-extension-boilerplate.git -``` - -Navigate to the project directory and install the dependencies. - -``` -$ npm install -``` - -To build the extension, and rebuild it when the files are changed, run - -``` -$ npm start -``` - -After the project has been built, a directory named `dist` has been created. You have to add this directory to your Chrome browser: - -1. Open Chrome. -2. Navigate to `chrome://extensions`. -3. Enable _Developer mode_. -4. Click _Load unpacked_. -5. Select the `dist` directory. diff --git a/package-lock.json b/package-lock.json index 717f907..068074e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "reddit-toolkit", + "name": "vytal", "version": "1.0.0", "lockfileVersion": 2, "requires": true, diff --git a/package.json b/package.json index 0a6f87b..cfc1488 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "reddit-toolkit", + "name": "vytal", "version": "1.0.0", "description": "", "scripts": { diff --git a/public/manifest.json b/public/manifest.json index 509b1a1..cce74de 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,9 +1,9 @@ { - "name": "Reddit Toolkit", - "description": "Reddit Toolkit", + "name": "Vytal", + "description": "Vytal", "manifest_version": 3, "version": "1.0.0", - "permissions": ["storage", "declarativeNetRequest"], + "permissions": [], "icons": { "16": "icon_16.png", "32": "icon_32.png", @@ -21,21 +21,5 @@ }, "background": { "service_worker": "background.js" - }, - "declarative_net_request": { - "rule_resources": [ - { - "id": "ruleset_1", - "enabled": false, - "path": "rules.json" - } - ] - }, - "host_permissions": [ - "*://reddit.com/*", - "*://www.reddit.com/*", - "*://np.reddit.com/*", - "*://amp.reddit.com/*", - "*://i.reddit.com/*" - ] + } } diff --git a/public/rules.json b/public/rules.json deleted file mode 100644 index 8c1932b..0000000 --- a/public/rules.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "id": 1, - "priority": 1, - "action": { - "type": "redirect", - "redirect": { - "transform": { "scheme": "https", "host": "old.reddit.com" } - } - }, - "condition": { - "urlFilter": "||reddit.com", - "resourceTypes": ["main_frame"] - } - } -] \ No newline at end of file diff --git a/src/App.css b/src/App.css index b7ba439..c0b61a9 100644 --- a/src/App.css +++ b/src/App.css @@ -1,6 +1,5 @@ -.optionWrap { - display: flex; - align-items: center; +.title { + font-weight: 600; } input { diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..f75eaa7 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,20 @@ +import * as React from 'react'; +import { useEffect } from 'react'; +import './App.css'; + +const App = () => { + useEffect(() => { + document.getElementById( + 'screenSize' + ).innerHTML += `Screen resolution: ${window.screen.width}x${window.screen.height}`; + }, []); + + return ( +
+
Hardware
+
+
+ ); +}; + +export default App; diff --git a/src/App.tsx b/src/App.tsx deleted file mode 100644 index 2e2e8f5..0000000 --- a/src/App.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import * as React from 'react'; -import { useState, useEffect } from 'react'; -import './App.css'; - -const handleChange = (el: React.ChangeEvent) => { - chrome.storage.sync.set({ [el.target.id]: el.target.checked }); - console.log(el.target.id); -}; - -// function getChecked(elID: string): boolean { -// // console.log(elID); -// chrome.storage.sync.get('oldRedirect', (res) => { -// console.log(res.oldRedirect + '123'); -// }); -// console.log('?'); -// return true; -// } - -const App = () => { - useEffect(() => { - chrome.storage.sync.get(null, (res) => { - const allKeys = Object.entries(res); - console.log(allKeys); - allKeys.forEach((item) => { - console.log(item); - const test: any = document.getElementById(item[0]); - test.checked = item[1]; - }); - }); - }, []); - - return ( -
- -
- ); -}; - -export default App; diff --git a/src/background.js b/src/background.js new file mode 100644 index 0000000..e69de29 diff --git a/src/background.ts b/src/background.ts deleted file mode 100644 index e6d06c9..0000000 --- a/src/background.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Initialize storage values -chrome.storage.sync.set({ oldRedirect: false }); - -chrome.storage.onChanged.addListener((changes) => { - if ('oldRedirect' in changes) { - if (changes.oldRedirect.newValue) { - (chrome as any).declarativeNetRequest.updateEnabledRulesets({ - enableRulesetIds: ['ruleset_1'], - }); - } else { - (chrome as any).declarativeNetRequest.updateEnabledRulesets({ - disableRulesetIds: ['ruleset_1'], - }); - } - } -}); diff --git a/src/content.ts b/src/content.js similarity index 100% rename from src/content.ts rename to src/content.js diff --git a/src/custom.d.ts b/src/custom.d.ts deleted file mode 100644 index c1c6de0..0000000 --- a/src/custom.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module "*.svg" { - const content: any; - export default content; - } \ No newline at end of file diff --git a/src/popup.tsx b/src/popup.jsx similarity index 100% rename from src/popup.tsx rename to src/popup.jsx diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 51bbd1f..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "outDir": "./dist/", - "sourceMap": true, - "strict": true, - "noImplicitReturns": true, - "noImplicitAny": true, - "module": "es6", - "moduleResolution": "node", - "target": "es5", - "allowJs": true, - "jsx": "react", - }, - "include": [ - "./src/**/*", - "src/custom.d.ts" - ] -} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index 5b13aa4..61770a6 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -4,9 +4,9 @@ const CopyPlugin = require("copy-webpack-plugin"); const config = { entry: { - popup: path.join(__dirname, "src/popup.tsx"), - content: path.join(__dirname, "src/content.ts"), - background: path.join(__dirname, "src/background.ts"), + popup: path.join(__dirname, "src/popup.jsx"), + content: path.join(__dirname, "src/content.js"), + background: path.join(__dirname, "src/background.js"), }, output: { path: path.join(__dirname, "dist"), filename: "[name].js" }, module: { From ecd633f108969b54018238de578d6b8efa146af8 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Sat, 5 Jun 2021 20:08:49 -0400 Subject: [PATCH 02/23] Added hardware info --- src/App.jsx | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/App.jsx b/src/App.jsx index f75eaa7..973f107 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,12 +7,33 @@ const App = () => { document.getElementById( 'screenSize' ).innerHTML += `Screen resolution: ${window.screen.width}x${window.screen.height}`; + + navigator.getBattery().then((battery) => { + document.getElementById( + 'batteryLevel' + ).innerHTML += `Battery level: ${Math.round(battery.level * 100)}%`; + document.getElementById( + 'batteryStatus' + ).innerHTML += `Battery status: ${(battery.charging) ? '' : 'not '} charging`; + }); + + document.getElementById( + 'memory' + ).innerHTML += `Device memory: ${navigator.deviceMemory}GB`; + + document.getElementById( + 'cores' + ).innerHTML += `# of CPU cores: ${navigator.hardwareConcurrency}`; }, []); return (
Hardware
+
+
+
+
); }; From dfd8398285de57de23b443aa47a0d9e205a1b511 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Sun, 6 Jun 2021 02:11:09 -0400 Subject: [PATCH 03/23] Added ip json stuff --- src/App.jsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/App.jsx b/src/App.jsx index 973f107..a01ffed 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -4,6 +4,17 @@ import './App.css'; const App = () => { useEffect(() => { + // Make the request + fetch('http://ip-api.com/json') + .then((response) => response.json()) + // Do something with the JSON data + .then((data) => { + console.log(data.query); + document.getElementById( + 'ipAddress' + ).innerHTML += `IP address: ${data.query}`; + }); + document.getElementById( 'screenSize' ).innerHTML += `Screen resolution: ${window.screen.width}x${window.screen.height}`; @@ -28,6 +39,8 @@ const App = () => { return (
+
Connection
+
Hardware
From 4a056a5ca863624c41a6a2c437b266c01ffea3bd Mon Sep 17 00:00:00 2001 From: z0ccc Date: Sun, 6 Jun 2021 14:41:31 -0400 Subject: [PATCH 04/23] added updateDOM function --- src/App.jsx | 52 ++++++++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index a01ffed..9131396 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,51 +2,47 @@ import * as React from 'react'; import { useEffect } from 'react'; import './App.css'; +const updateDOM = (id, text) => { + document.getElementById(id).innerHTML += text; +}; + const App = () => { useEffect(() => { - // Make the request fetch('http://ip-api.com/json') .then((response) => response.json()) - // Do something with the JSON data .then((data) => { - console.log(data.query); - document.getElementById( - 'ipAddress' - ).innerHTML += `IP address: ${data.query}`; + updateDOM('ipAddress', data.query); + updateDOM('country', data.country); + updateDOM('region', data.regionName); + updateDOM('city', data.city); + updateDOM('provider', data.isp); }); - document.getElementById( - 'screenSize' - ).innerHTML += `Screen resolution: ${window.screen.width}x${window.screen.height}`; + updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); navigator.getBattery().then((battery) => { - document.getElementById( - 'batteryLevel' - ).innerHTML += `Battery level: ${Math.round(battery.level * 100)}%`; - document.getElementById( - 'batteryStatus' - ).innerHTML += `Battery status: ${(battery.charging) ? '' : 'not '} charging`; + updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); + updateDOM('batteryStatus', `${(battery.charging) ? '' : 'not '} charging`); }); - document.getElementById( - 'memory' - ).innerHTML += `Device memory: ${navigator.deviceMemory}GB`; - - document.getElementById( - 'cores' - ).innerHTML += `# of CPU cores: ${navigator.hardwareConcurrency}`; + updateDOM('memory', `${navigator.deviceMemory}GB`); + updateDOM('cores', navigator.hardwareConcurrency); }, []); return (
Connection
-
+
IP address:
+
Country:
+
Region:
+
City:
+
Provider:
Hardware
-
-
-
-
-
+
Screen resolution:
+
Battery level:
+
Battery status:
+
Device memory:
+
# of CPU cores:
); }; From 90bdb247b16708b12e8982a9ab88977c5d0a5e4f Mon Sep 17 00:00:00 2001 From: z0ccc Date: Mon, 7 Jun 2021 01:31:36 -0400 Subject: [PATCH 05/23] Added flag icons --- .eslintrc.js | 6 ++-- package-lock.json | 87 +++++++++++++++++++++++++++++++++++++++++++---- package.json | 4 ++- src/App.css | 9 +++-- src/App.jsx | 53 ++++++++++++++++++++++------- src/popup.css | 2 +- 6 files changed, 134 insertions(+), 27 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index d13dea3..c8c3ceb 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,10 +4,7 @@ module.exports = { es2021: true, webextensions: true, }, - extends: [ - 'plugin:react/recommended', - 'airbnb', - ], + extends: ['plugin:react/recommended', 'airbnb'], plugins: ['react'], settings: { 'import/resolver': { @@ -34,5 +31,6 @@ module.exports = { jsx: 'never', }, ], + 'react/jsx-one-expression-per-line': 'off', }, }; diff --git a/package-lock.json b/package-lock.json index 068074e..f1809f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,12 +5,15 @@ "requires": true, "packages": { "": { + "name": "vytal", "version": "1.0.0", "license": "ISC", "dependencies": { "react": "^16.14.0", "react-dom": "^16.14.0", - "react-hot-loader": "^4.13.0" + "react-flagpack": "^0.1.1", + "react-hot-loader": "^4.13.0", + "react-world-flags": "^1.4.0" }, "devDependencies": { "@babel/core": "^7.12.3", @@ -6457,6 +6460,11 @@ "node": ">=0.10.0" } }, + "node_modules/flagpack-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/flagpack-core/-/flagpack-core-1.1.2.tgz", + "integrity": "sha512-brm/LJf/xxiwRnjdThPsxaRZsbcN0fjPX4WMdKfuwJYOt3pdVw1pfP2dTBh743qqkw4CQzXTfEWjRDN0KvZ/qA==" + }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -10454,6 +10462,17 @@ "object-assign": "^4.1.1" } }, + "node_modules/react-flagpack": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/react-flagpack/-/react-flagpack-0.1.1.tgz", + "integrity": "sha512-cB2IGYkYUVPAPsteBjReHFGquvnkQk0MDzHSfvvCYjh1r4kIEwr//J65JNwF0DRF+W3PiQLcw/bqDRf/6bHgSg==", + "dependencies": { + "flagpack-core": "^1.0.0" + }, + "peerDependencies": { + "react": "^16.8.*" + } + }, "node_modules/react-hot-loader": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", @@ -10490,6 +10509,18 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "node_modules/react-world-flags": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-world-flags/-/react-world-flags-1.4.0.tgz", + "integrity": "sha512-SkOzl/v6LYBphJNSeeQXTogAiLZN1Yy2HFx2Qjda/82MCWFimj9cenmOXASbfbKeqFbo/17M8HauY6mfzWmTDw==", + "dependencies": { + "svg-country-flags": "^1.2.7", + "world-countries": "^4.0.0" + }, + "peerDependencies": { + "react": ">=0.14" + } + }, "node_modules/read-chunk": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", @@ -12146,6 +12177,11 @@ "node": ">=4" } }, + "node_modules/svg-country-flags": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/svg-country-flags/-/svg-country-flags-1.2.10.tgz", + "integrity": "sha512-xrqwo0TYf/h2cfPvGpjdSuSguUbri4vNNizBnwzoZnX0xGo3O5nGJMlbYEp7NOYcnPGBm6LE2axqDWSB847bLw==" + }, "node_modules/table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", @@ -13565,6 +13601,11 @@ "node": ">=8.0.0" } }, + "node_modules/world-countries": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/world-countries/-/world-countries-4.0.0.tgz", + "integrity": "sha512-LsFFYmggquj0U+i7VUaJOZYz5F4QNu+oceGw8odnyVHMT2LxYSdVncqdouOEnq1esr7yCakp9+3BZTztuSw1Pg==" + }, "node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -13647,9 +13688,9 @@ } }, "node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "dependencies": { "async-limiter": "~1.0.0" @@ -19440,6 +19481,11 @@ "readable-stream": "^2.0.2" } }, + "flagpack-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/flagpack-core/-/flagpack-core-1.1.2.tgz", + "integrity": "sha512-brm/LJf/xxiwRnjdThPsxaRZsbcN0fjPX4WMdKfuwJYOt3pdVw1pfP2dTBh743qqkw4CQzXTfEWjRDN0KvZ/qA==" + }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -22590,6 +22636,14 @@ } } }, + "react-flagpack": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/react-flagpack/-/react-flagpack-0.1.1.tgz", + "integrity": "sha512-cB2IGYkYUVPAPsteBjReHFGquvnkQk0MDzHSfvvCYjh1r4kIEwr//J65JNwF0DRF+W3PiQLcw/bqDRf/6bHgSg==", + "requires": { + "flagpack-core": "^1.0.0" + } + }, "react-hot-loader": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", @@ -22622,6 +22676,15 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-world-flags": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-world-flags/-/react-world-flags-1.4.0.tgz", + "integrity": "sha512-SkOzl/v6LYBphJNSeeQXTogAiLZN1Yy2HFx2Qjda/82MCWFimj9cenmOXASbfbKeqFbo/17M8HauY6mfzWmTDw==", + "requires": { + "svg-country-flags": "^1.2.7", + "world-countries": "^4.0.0" + } + }, "read-chunk": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", @@ -24004,6 +24067,11 @@ "has-flag": "^3.0.0" } }, + "svg-country-flags": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/svg-country-flags/-/svg-country-flags-1.2.10.tgz", + "integrity": "sha512-xrqwo0TYf/h2cfPvGpjdSuSguUbri4vNNizBnwzoZnX0xGo3O5nGJMlbYEp7NOYcnPGBm6LE2axqDWSB847bLw==" + }, "table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", @@ -25127,6 +25195,11 @@ "typical": "^5.0.0" } }, + "world-countries": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/world-countries/-/world-countries-4.0.0.tgz", + "integrity": "sha512-LsFFYmggquj0U+i7VUaJOZYz5F4QNu+oceGw8odnyVHMT2LxYSdVncqdouOEnq1esr7yCakp9+3BZTztuSw1Pg==" + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -25196,9 +25269,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" diff --git a/package.json b/package.json index cfc1488..11dc961 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,8 @@ "dependencies": { "react": "^16.14.0", "react-dom": "^16.14.0", - "react-hot-loader": "^4.13.0" + "react-flagpack": "^0.1.1", + "react-hot-loader": "^4.13.0", + "react-world-flags": "^1.4.0" } } diff --git a/src/App.css b/src/App.css index c0b61a9..05cadfb 100644 --- a/src/App.css +++ b/src/App.css @@ -2,6 +2,11 @@ font-weight: 600; } -input { - margin: 0 8px 0 0; +.itemWrap { + display: flex; + align-items: center; +} + +.flagWrap { + margin: 0 0 0 6px; } \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index 9131396..8e6661d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,5 +1,6 @@ import * as React from 'react'; -import { useEffect } from 'react'; +import { useState, useEffect } from 'react'; +import Flag from 'react-flagpack'; import './App.css'; const updateDOM = (id, text) => { @@ -7,10 +8,13 @@ const updateDOM = (id, text) => { }; const App = () => { + const [country, setCountry] = useState('US'); + useEffect(() => { fetch('http://ip-api.com/json') .then((response) => response.json()) .then((data) => { + setCountry(data.countryCode); updateDOM('ipAddress', data.query); updateDOM('country', data.country); updateDOM('region', data.regionName); @@ -22,7 +26,7 @@ const App = () => { navigator.getBattery().then((battery) => { updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); - updateDOM('batteryStatus', `${(battery.charging) ? '' : 'not '} charging`); + updateDOM('batteryStatus', `${battery.charging ? '' : 'not '} charging`); }); updateDOM('memory', `${navigator.deviceMemory}GB`); @@ -32,17 +36,42 @@ const App = () => { return (
Connection
-
IP address:
-
Country:
-
Region:
-
City:
-
Provider:
+
+ IP address:{' '} +
+
+
+ Country:{' '} +
+
+ +
+
+
+ Region:{' '} +
+
+ City:{' '} +
+
+ Provider:{' '} +
Hardware
-
Screen resolution:
-
Battery level:
-
Battery status:
-
Device memory:
-
# of CPU cores:
+
+ Screen resolution:{' '} +
+
+ Battery level:{' '} +
+
+ Battery status:{' '} +
+
+ Device memory:{' '} +
+
+ # of CPU cores:{' '} +
); }; diff --git a/src/popup.css b/src/popup.css index 198e64a..a67a776 100644 --- a/src/popup.css +++ b/src/popup.css @@ -6,7 +6,7 @@ body { color: var(--text); background-color: var(--background); - font-size: 12px; + font-size: 14px; line-height: 22px; width: 300px; } \ No newline at end of file From e94a09586436e0234cf0e94250fe4b606403f7ec Mon Sep 17 00:00:00 2001 From: z0ccc Date: Mon, 7 Jun 2021 11:55:49 -0400 Subject: [PATCH 06/23] Fixed flag loading --- src/App.css | 4 ++++ src/App.jsx | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/App.css b/src/App.css index 05cadfb..8baec69 100644 --- a/src/App.css +++ b/src/App.css @@ -9,4 +9,8 @@ .flagWrap { margin: 0 0 0 6px; +} + +.loadingFlag { + display: none; } \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index 8e6661d..15121c4 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -9,19 +9,24 @@ const updateDOM = (id, text) => { const App = () => { const [country, setCountry] = useState('US'); + const [flag, setFlag] = useState(false); useEffect(() => { fetch('http://ip-api.com/json') .then((response) => response.json()) .then((data) => { setCountry(data.countryCode); + setFlag(true); updateDOM('ipAddress', data.query); updateDOM('country', data.country); updateDOM('region', data.regionName); updateDOM('city', data.city); + updateDOM('zip', data.zip); updateDOM('provider', data.isp); }); + updateDOM('os', navigator.oscpu); + updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); navigator.getBattery().then((battery) => { @@ -44,7 +49,7 @@ const App = () => { Country:{' '}
- + {flag === true && }
@@ -53,9 +58,16 @@ const App = () => {
City:{' '}
+
+ Zip:{' '} +
Provider:{' '}
+
Software
+
+ Browser:{' '} +
Hardware
Screen resolution:{' '} From 0a6a37fd35c594b25aa9106beb0769c1aa668992 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Mon, 7 Jun 2021 13:17:55 -0400 Subject: [PATCH 07/23] Added browser detection --- src/App.jsx | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index 15121c4..39972dc 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,6 +7,29 @@ const updateDOM = (id, text) => { document.getElementById(id).innerHTML += text; }; +const getBrowser = (userAgent) => { + if ( + (userAgent.indexOf('Opera') || + userAgent.indexOf('OPR')) !== -1 + ) { + return 'Opera'; + } if (userAgent.indexOf('Edg') !== -1) { + return 'Edge'; + } if (userAgent.indexOf('Chrome') !== -1) { + return 'Chrome'; + } if (userAgent.indexOf('Safari') !== -1) { + return 'Safari'; + } if (userAgent.indexOf('Firefox') !== -1) { + return 'Firefox'; + } if ( + userAgent.indexOf('MSIE') !== -1 || + !!document.documentMode === true + ) { + return 'IE'; + } + return 'unknown'; +}; + const App = () => { const [country, setCountry] = useState('US'); const [flag, setFlag] = useState(false); @@ -25,7 +48,7 @@ const App = () => { updateDOM('provider', data.isp); }); - updateDOM('os', navigator.oscpu); + updateDOM('browser', getBrowser(navigator.userAgent)); updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); From 1d03f40c7055b946438ed6b263b9ee907e431e7e Mon Sep 17 00:00:00 2001 From: z0ccc Date: Mon, 7 Jun 2021 16:11:31 -0400 Subject: [PATCH 08/23] Added more software stuff --- package-lock.json | 11 ++++++++ package.json | 1 + src/App.jsx | 68 ++++++++++++++++++++++++++++++----------------- 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index f1809f1..502b1dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "bowser": "^2.11.0", "react": "^16.14.0", "react-dom": "^16.14.0", "react-flagpack": "^0.1.1", @@ -3005,6 +3006,11 @@ "multicast-dns-service-types": "^1.1.0" } }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -16726,6 +16732,11 @@ "multicast-dns-service-types": "^1.1.0" } }, + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/package.json b/package.json index 11dc961..fd656ed 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "webpack-dev-server": "^3.11.0" }, "dependencies": { + "bowser": "^2.11.0", "react": "^16.14.0", "react-dom": "^16.14.0", "react-flagpack": "^0.1.1", diff --git a/src/App.jsx b/src/App.jsx index 39972dc..4550684 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,35 +1,13 @@ import * as React from 'react'; import { useState, useEffect } from 'react'; import Flag from 'react-flagpack'; +import * as Bowser from 'bowser'; import './App.css'; const updateDOM = (id, text) => { document.getElementById(id).innerHTML += text; }; -const getBrowser = (userAgent) => { - if ( - (userAgent.indexOf('Opera') || - userAgent.indexOf('OPR')) !== -1 - ) { - return 'Opera'; - } if (userAgent.indexOf('Edg') !== -1) { - return 'Edge'; - } if (userAgent.indexOf('Chrome') !== -1) { - return 'Chrome'; - } if (userAgent.indexOf('Safari') !== -1) { - return 'Safari'; - } if (userAgent.indexOf('Firefox') !== -1) { - return 'Firefox'; - } if ( - userAgent.indexOf('MSIE') !== -1 || - !!document.documentMode === true - ) { - return 'IE'; - } - return 'unknown'; -}; - const App = () => { const [country, setCountry] = useState('US'); const [flag, setFlag] = useState(false); @@ -48,9 +26,21 @@ const App = () => { updateDOM('provider', data.isp); }); - updateDOM('browser', getBrowser(navigator.userAgent)); + const uaResult = Bowser.parse(navigator.userAgent); + updateDOM('browser', uaResult.browser.name); + updateDOM('browserVersion', uaResult.browser.version); + updateDOM('browserEngine', uaResult.engine.name); + updateDOM('os', `${uaResult.os.name} ${uaResult.os.versionName}`); + updateDOM('language', navigator.language); + updateDOM('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone); + updateDOM('cookies', navigator.cookieEnabled); + updateDOM('java', navigator.javaEnabled()); + updateDOM('plugins', navigator.plugins); + + updateDOM('platform', uaResult.platform.type); updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); + updateDOM('color', window.screen.colorDepth); navigator.getBattery().then((battery) => { updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); @@ -91,10 +81,40 @@ const App = () => {
Browser:{' '}
+
+ Browser version:{' '} +
+
+ Browser engine:{' '} +
+
+ Operating system:{' '} +
+
+ Language:{' '} +
+
+ Timezone:{' '} +
+
+ Cookies enabled:{' '} +
+
+ Java enabled:{' '} +
+
+ Plugins:{' '} +
Hardware
+
+ Platform:{' '} +
Screen resolution:{' '}
+
+ Color Resolution:{' '} +
Battery level:{' '}
From a63492aa3faf76a9333c516b086e34576ab7abd3 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Mon, 7 Jun 2021 20:49:10 -0400 Subject: [PATCH 09/23] Switching to a table --- src/App.css | 9 +++++ src/App.jsx | 94 ++++++++++++++++++++++++++++++++++++--------------- src/popup.css | 4 +-- 3 files changed, 78 insertions(+), 29 deletions(-) diff --git a/src/App.css b/src/App.css index 8baec69..36002c5 100644 --- a/src/App.css +++ b/src/App.css @@ -2,6 +2,15 @@ font-weight: 600; } +table { + width: 100%; + margin: 0 0 6px 0; +} + +tr { + margin: 3px 0; +} + .itemWrap { display: flex; align-items: center; diff --git a/src/App.jsx b/src/App.jsx index 4550684..d8d6149 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -36,7 +36,8 @@ const App = () => { updateDOM('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone); updateDOM('cookies', navigator.cookieEnabled); updateDOM('java', navigator.javaEnabled()); - updateDOM('plugins', navigator.plugins); + updateDOM('dnt', navigator.doNotTrack ? 'true' : 'false'); + // updateDOM('plugins', navigator.plugins); updateDOM('platform', uaResult.platform.type); updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); @@ -44,39 +45,69 @@ const App = () => { navigator.getBattery().then((battery) => { updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); - updateDOM('batteryStatus', `${battery.charging ? '' : 'not '} charging`); + updateDOM('batteryStatus', `${battery.charging ? '' : 'not'} charging`); }); updateDOM('memory', `${navigator.deviceMemory}GB`); updateDOM('cores', navigator.hardwareConcurrency); + const gl = document.createElement('canvas').getContext('webgl'); + const ext = gl.getExtension('WEBGL_debug_renderer_info'); + updateDOM('vendor', gl.getParameter(ext.UNMASKED_VENDOR_WEBGL)); + updateDOM('renderer', gl.getParameter(ext.UNMASKED_RENDERER_WEBGL)); }, []); return (
Connection
-
- IP address:{' '} -
-
-
- Country:{' '} -
-
- {flag === true && } -
-
-
- Region:{' '} -
-
- City:{' '} -
-
- Zip:{' '} -
-
- Provider:{' '} -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IP address: +
+
?
Country: +
+
+
+ {flag === true && } +
+
+
?
Region: +
+
?
City: +
+
?
Zip: +
+
?
Provider: +
+
?
Software
Browser:{' '} @@ -102,9 +133,12 @@ const App = () => {
Java enabled:{' '}
-
- Plugins:{' '} +
+ DNT header enabled:{' '}
+ {/*
+ Plugins:{' '} +
*/}
Hardware
Platform:{' '} @@ -127,6 +161,12 @@ const App = () => {
# of CPU cores:{' '}
+
+ WebGL vendor:{' '} +
+
+ WebGL renderer:{' '} +
); }; diff --git a/src/popup.css b/src/popup.css index a67a776..47c5f34 100644 --- a/src/popup.css +++ b/src/popup.css @@ -6,7 +6,7 @@ body { color: var(--text); background-color: var(--background); - font-size: 14px; + font-size: 15px; line-height: 22px; - width: 300px; + width: 350px; } \ No newline at end of file From b28764705b82d476e85d9db40ab327ea0653e276 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Mon, 7 Jun 2021 22:30:00 -0400 Subject: [PATCH 10/23] Finished switching to table --- src/App.css | 6 +- src/App.jsx | 176 ++++++++++++++++++++++++++++++++------------------ src/popup.css | 2 +- 3 files changed, 115 insertions(+), 69 deletions(-) diff --git a/src/App.css b/src/App.css index 36002c5..c6faecf 100644 --- a/src/App.css +++ b/src/App.css @@ -1,10 +1,10 @@ .title { font-weight: 600; + margin: 3px 0 0 0; } table { width: 100%; - margin: 0 0 6px 0; } tr { @@ -18,8 +18,4 @@ tr { .flagWrap { margin: 0 0 0 6px; -} - -.loadingFlag { - display: none; } \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index d8d6149..4531e22 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -58,14 +58,15 @@ const App = () => { return (
-
Connection
+ + +
Connection
- @@ -77,96 +78,145 @@ const App = () => { - - - - - + +
Software
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hardware
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IP address:
?
Country: ?
Region:
?
City:
?
Zip:
?
Provider:
?
Browser: +
+
Browser version: +
+
Browser engine: +
+
Operating system: +
+
Language: +
+
Timezone: +
+
Cookies enabled: +
+
Java enabled: +
+
DNT header enabled: +
+
Platform: +
+
Screen resolution: +
+
Color Resolution: +
+
Battery level: +
+
Battery status: +
+
Device memory: +
+
# of CPU cores: +
+
WebGL vendor: +
+
WebGL renderer: +
+
-
Software
-
- Browser:{' '} -
-
- Browser version:{' '} -
-
- Browser engine:{' '} -
-
- Operating system:{' '} -
-
- Language:{' '} -
-
- Timezone:{' '} -
-
- Cookies enabled:{' '} -
-
- Java enabled:{' '} -
-
- DNT header enabled:{' '} -
{/*
Plugins:{' '}
*/} -
Hardware
-
- Platform:{' '} -
-
- Screen resolution:{' '} -
-
- Color Resolution:{' '} -
-
- Battery level:{' '} -
-
- Battery status:{' '} -
-
- Device memory:{' '} -
-
- # of CPU cores:{' '} -
-
- WebGL vendor:{' '} -
-
- WebGL renderer:{' '} -
); }; diff --git a/src/popup.css b/src/popup.css index 47c5f34..bd5a04f 100644 --- a/src/popup.css +++ b/src/popup.css @@ -8,5 +8,5 @@ body { background-color: var(--background); font-size: 15px; line-height: 22px; - width: 350px; + width: 400px; } \ No newline at end of file From 84a0f1913c9b3d1215ad3f99a49ee61c11e3c138 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Tue, 8 Jun 2021 02:42:54 -0400 Subject: [PATCH 11/23] Formatted popup table --- public/vytal-1.svg | 91 ++++++++++++++++++++++++++++++++++++++++++++++ public/vytal-2.svg | 91 ++++++++++++++++++++++++++++++++++++++++++++++ src/App.css | 45 ++++++++++++++++++++++- src/App.jsx | 13 +++---- src/popup.css | 7 ++-- 5 files changed, 235 insertions(+), 12 deletions(-) create mode 100644 public/vytal-1.svg create mode 100644 public/vytal-2.svg diff --git a/public/vytal-1.svg b/public/vytal-1.svg new file mode 100644 index 0000000..308107c --- /dev/null +++ b/public/vytal-1.svg @@ -0,0 +1,91 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/public/vytal-2.svg b/public/vytal-2.svg new file mode 100644 index 0000000..70a9f1f --- /dev/null +++ b/public/vytal-2.svg @@ -0,0 +1,91 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/src/App.css b/src/App.css index c6faecf..3224692 100644 --- a/src/App.css +++ b/src/App.css @@ -1,6 +1,22 @@ +:root { + --text: #212121; + --background: #fff; + --scrollbar: #ccc; +} + +body { + color: var(--text); + background-color: var(--background); + font-size: 15px; + line-height: 22px; + width: 370px; + margin-right: 2px; +} + .title { font-weight: 600; - margin: 3px 0 0 0; + font-size: 16px; + margin: 6px 0 0 0; } table { @@ -8,7 +24,15 @@ table { } tr { - margin: 3px 0; + margin: 8px 0; +} + +td { + vertical-align: top; +} + +.column-one { + width: 150px; } .itemWrap { @@ -18,4 +42,21 @@ tr { .flagWrap { margin: 0 0 0 6px; +} + +.capitalize { + text-transform: capitalize; +} + +::-webkit-scrollbar { + width: 7px; +} + +::-webkit-scrollbar-track { + display: none; +} + +::-webkit-scrollbar-thumb { + background: var(--scrollbar); + border-radius: 2px; } \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index 4531e22..962df8a 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -45,7 +45,7 @@ const App = () => { navigator.getBattery().then((battery) => { updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); - updateDOM('batteryStatus', `${battery.charging ? '' : 'not'} charging`); + updateDOM('batteryStatus', battery.charging ? 'Charging' : 'Not charging'); }); updateDOM('memory', `${navigator.deviceMemory}GB`); @@ -59,8 +59,7 @@ const App = () => { return (
- - +
Connection
@@ -143,26 +142,26 @@ const App = () => {
Hardware
diff --git a/src/popup.css b/src/popup.css index bd5a04f..2d5ec5c 100644 --- a/src/popup.css +++ b/src/popup.css @@ -1,6 +1,7 @@ -:root { +/* :root { --text: #212121; --background: #fff; + --scrollbar: #ccc; } body { @@ -8,5 +9,5 @@ body { background-color: var(--background); font-size: 15px; line-height: 22px; - width: 400px; -} \ No newline at end of file + width: 380px; +} */ \ No newline at end of file From bca7b4e67795698dd6ee9a37084978b091a1f83e Mon Sep 17 00:00:00 2001 From: z0ccc Date: Tue, 8 Jun 2021 21:50:49 -0400 Subject: [PATCH 12/23] Removed flags and added header --- package-lock.json | 1542 ++++++++++++---------------- package.json | 1 - public/vytal-2.svg | 91 -- src/App.css | 25 +- src/App.jsx | 22 +- public/vytal-1.svg => src/logo.svg | 0 src/popup.css | 13 - 7 files changed, 714 insertions(+), 980 deletions(-) delete mode 100644 public/vytal-2.svg rename public/vytal-1.svg => src/logo.svg (100%) diff --git a/package-lock.json b/package-lock.json index 502b1dd..db93032 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "bowser": "^2.11.0", "react": "^16.14.0", "react-dom": "^16.14.0", - "react-flagpack": "^0.1.1", "react-hot-loader": "^4.13.0", "react-world-flags": "^1.4.0" }, @@ -88,23 +87,23 @@ } }, "node_modules/@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", + "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1", + "@babel/types": "^7.14.2", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "dependencies": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { @@ -151,16 +150,20 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz", + "integrity": "sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.14.2", + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.14.4", + "@babel/helper-split-export-declaration": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { @@ -195,23 +198,23 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", + "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.14.2" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "dependencies": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-hoist-variables": { @@ -224,12 +227,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.13.12" } }, "node_modules/@babel/helper-module-imports": { @@ -259,18 +262,18 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "dependencies": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", "dev": true }, "node_modules/@babel/helper-regex": { @@ -294,15 +297,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", - "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", + "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1" + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.4" } }, "node_modules/@babel/helper-simple-access": { @@ -324,24 +327,24 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "dependencies": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", "dev": true }, "node_modules/@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", "dev": true }, "node_modules/@babel/helper-wrap-function": { @@ -368,20 +371,20 @@ } }, "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "node_modules/@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz", + "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -563,12 +566,15 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", - "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz", + "integrity": "sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-json-strings": { @@ -653,12 +659,15 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", + "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { @@ -763,13 +772,16 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz", - "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz", + "integrity": "sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-flow": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { @@ -1027,14 +1039,17 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.4.tgz", + "integrity": "sha512-WYdcGNEO7mCCZ2XzRlxwGj3PgeAr50ifkofOUC/+IN/GzKLB+biDPVBUAQN2C/dVZTvEXCp80kfQ1FFZPrwykQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.14.4", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-typescript": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { @@ -1131,13 +1146,17 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.1.tgz", - "integrity": "sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.13.13.tgz", + "integrity": "sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-flow-strip-types": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-flow-strip-types": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-modules": { @@ -1169,26 +1188,33 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", - "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", + "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-typescript": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/register": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz", - "integrity": "sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.16.tgz", + "integrity": "sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==", "dev": true, "dependencies": { + "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { @@ -1211,41 +1237,57 @@ } }, "node_modules/@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", + "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.2", + "@babel/helper-function-name": "^7.14.2", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.2", + "@babel/types": "^7.14.2", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", + "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, @@ -1401,12 +1443,15 @@ } }, "node_modules/@sindresorhus/is": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", - "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", + "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==", "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, "node_modules/@szmarczak/http-timer": { @@ -2099,29 +2144,74 @@ } }, "node_modules/@webpack-cli/generators": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/generators/-/generators-1.0.1.tgz", - "integrity": "sha512-MPaOezICviBfgYc+r8WBTkyM8gOe3qBR5t32roPqyhL4SJmN4f82ZYvVomLEx+YFBQ5uksCauSHAGoJNXinymg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/generators/-/generators-1.3.1.tgz", + "integrity": "sha512-BJTAtOIhCk9GCQwj1j5fw4wExDHjNbBoyAMm6i+A23VhdCsyIMlEokT0X8hMr/xY9scrDC4n8QCTYpWcOZd31Q==", "dev": true, "dependencies": { - "@webpack-cli/utils": "^1.0.1", - "@webpack-cli/webpack-scaffold": "^1.0.1", "colorette": "^1.2.1", + "execa": "^5.0.0", + "findup-sync": "^4.0.0", + "global-modules": "^2.0.0", + "got": "^11.8.0", + "jscodeshift": "^0.11.0", "log-symbols": "^4.0.0", - "mkdirp": "^1.0.4", + "p-each-series": "^2.1.0", + "yeoman-environment": "^2.10.3", "yeoman-generator": "^4.12.0" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, - "node_modules/@webpack-cli/generators/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/@webpack-cli/generators/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@webpack-cli/generators/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@webpack-cli/generators/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" } }, "node_modules/@webpack-cli/info": { @@ -2136,13 +2226,16 @@ } }, "node_modules/@webpack-cli/init": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/init/-/init-1.0.1.tgz", - "integrity": "sha512-OmhDC1jjhhX13mNt+emTPR7u18nrAWKOk/nIAg8XRFdZU2VUBPJbOK3/6xmqXnWKByZVJClvaeUjvgVQBnQmZw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/init/-/init-1.1.3.tgz", + "integrity": "sha512-DvvX4HTltz/dM6Ybwiskxv+BXOH4JVkgI9j66jueA/uK3EAyQuCDM6a9eR06AZbUFaC/iCpt0zlG0msXrZ69wg==", "dev": true, "dependencies": { - "@webpack-cli/generators": "^1.0.1", - "@webpack-cli/utils": "^1.0.1" + "@webpack-cli/generators": "^1.3.1" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/serve": { @@ -2151,35 +2244,6 @@ "integrity": "sha512-WGMaTMTK6NOe29Hw1WBEok9vGLfKg5C6jWzNOS/6HH1YadR+RL+TRWRcSyc81Dzulljhk/Ree9mrDM4Np9GGOQ==", "dev": true }, - "node_modules/@webpack-cli/utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/utils/-/utils-1.0.1.tgz", - "integrity": "sha512-G8UKA+B85/5X+pM85P0Knx43vwFS1W9WDseeif/15jbtDTib8jaNC+rD9SBvFcllmnqdfFXpkcrmWMW4A744dg==", - "dev": true, - "dependencies": { - "colorette": "^1.2.1", - "cross-spawn": "^7.0.3", - "enquirer": "^2.3.6", - "execa": "^4.0.0", - "findup-sync": "^4.0.0", - "global-modules": "^2.0.0", - "got": "^10.7.0", - "jscodeshift": "^0.7.0", - "p-each-series": "^2.1.0", - "yeoman-environment": "^2.8.1", - "yeoman-generator": "^4.7.2" - } - }, - "node_modules/@webpack-cli/webpack-scaffold": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/webpack-scaffold/-/webpack-scaffold-1.0.1.tgz", - "integrity": "sha512-AfnpwDJv2hxwpaM6Ljz0eNa7ayHVviPNWN/76RjlFxMGfT0K7O6IWw2oDvikqko227DClV4xO/5CL1/tz0LGhw==", - "dev": true, - "dependencies": { - "jscodeshift": "^0.7.0", - "yeoman-generator": "^4.7.2" - } - }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -2420,15 +2484,6 @@ "node": ">=0.10.0" } }, - "node_modules/anymatch/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/anymatch/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -2672,10 +2727,13 @@ } }, "node_modules/ast-types": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz", - "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, "engines": { "node": ">=4" } @@ -2686,6 +2744,12 @@ "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", "dev": true }, + "node_modules/ast-types/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -2777,7 +2841,10 @@ "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, "node_modules/babel-loader": { "version": "8.1.0", @@ -2878,15 +2945,6 @@ "node": ">=0.10.0" } }, - "node_modules/base/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -3161,26 +3219,13 @@ "node": ">=0.10.0" } }, - "node_modules/cache-base/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cacheable-lookup": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", - "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", "dev": true, - "dependencies": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=10.6.0" } }, "node_modules/cacheable-request": { @@ -3365,15 +3410,6 @@ "node": ">=0.10.0" } }, - "node_modules/chokidar/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/chokidar/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -3447,15 +3483,6 @@ "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3609,15 +3636,6 @@ "mimic-response": "^1.0.0" } }, - "node_modules/clone-response/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", @@ -3940,9 +3958,9 @@ } }, "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" @@ -4342,15 +4360,30 @@ } }, "node_modules/decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", - "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "dependencies": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/deep-equal": { @@ -4505,9 +4538,9 @@ } }, "node_modules/defer-to-connect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", - "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, "engines": { "node": ">=10" @@ -4576,15 +4609,6 @@ "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", @@ -6209,15 +6233,6 @@ "node": ">=0.10.0" } }, - "node_modules/fast-glob/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fast-glob/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -6466,11 +6481,6 @@ "node": ">=0.10.0" } }, - "node_modules/flagpack-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/flagpack-core/-/flagpack-core-1.1.2.tgz", - "integrity": "sha512-brm/LJf/xxiwRnjdThPsxaRZsbcN0fjPX4WMdKfuwJYOt3pdVw1pfP2dTBh743qqkw4CQzXTfEWjRDN0KvZ/qA==" - }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -6506,9 +6516,9 @@ "dev": true }, "node_modules/flow-parser": { - "version": "0.136.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.136.0.tgz", - "integrity": "sha512-PB2vYAqmz+dRikpx8TpNgRtBsyemP+7oQa0BcPZWnGABlJlB2WgJc/Lx0HeEPOUxDO/TxBbPaIHsffEIL9M6BQ==", + "version": "0.152.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.152.0.tgz", + "integrity": "sha512-qRXGE3ztuhyI2ovi4Ixwq7/GUYvKX9wmFdwBof2q5pWHteuveexFrlbwZxSonC0dWz2znA6sW+vce4RXgYLnnQ==", "dev": true, "engines": { "node": ">=0.4.0" @@ -6937,29 +6947,28 @@ } }, "node_modules/got": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", - "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "version": "11.8.2", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", + "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", "dev": true, "dependencies": { - "@sindresorhus/is": "^2.0.0", - "@szmarczak/http-timer": "^4.0.0", + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", - "cacheable-lookup": "^2.0.0", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^5.0.0", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", - "mimic-response": "^2.1.0", "p-cancelable": "^2.0.0", - "p-event": "^4.0.0", - "responselike": "^2.0.0", - "to-readable-stream": "^2.0.0", - "type-fest": "^0.10.0" + "responselike": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, "node_modules/graceful-fs": { @@ -7061,15 +7070,6 @@ "node": ">=0.10.0" } }, - "node_modules/has-value/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", @@ -7316,15 +7316,6 @@ "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/http-proxy-middleware/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -7377,6 +7368,19 @@ "npm": ">=1.3.7" } }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -8020,15 +8024,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-plain-object/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", @@ -8159,6 +8154,15 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -8263,32 +8267,36 @@ "dev": true }, "node_modules/jscodeshift": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.7.1.tgz", - "integrity": "sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", "dev": true, "dependencies": { "@babel/core": "^7.1.6", "@babel/parser": "^7.1.6", "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/preset-env": "^7.1.6", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", "@babel/preset-flow": "^7.0.0", "@babel/preset-typescript": "^7.1.0", "@babel/register": "^7.0.0", "babel-core": "^7.0.0-bridge.0", "colors": "^1.1.2", "flow-parser": "0.*", - "graceful-fs": "^4.1.11", + "graceful-fs": "^4.2.4", "micromatch": "^3.1.10", "neo-async": "^2.5.0", "node-dir": "^0.1.17", - "recast": "^0.18.1", + "recast": "^0.20.3", "temp": "^0.8.1", "write-file-atomic": "^2.3.0" }, "bin": { "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, "node_modules/jscodeshift/node_modules/braces": { @@ -8375,15 +8383,6 @@ "node": ">=0.10.0" } }, - "node_modules/jscodeshift/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jscodeshift/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -9073,12 +9072,12 @@ } }, "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/min-document": { @@ -9410,9 +9409,9 @@ } }, "node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true, "engines": { "node": ">=8" @@ -9545,15 +9544,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-visit/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", @@ -9616,15 +9606,6 @@ "node": ">=0.10.0" } }, - "node_modules/object.pick/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.values": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", @@ -9738,9 +9719,9 @@ } }, "node_modules/p-cancelable": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", - "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true, "engines": { "node": ">=8" @@ -9755,18 +9736,6 @@ "node": ">=8" } }, - "node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -9821,18 +9790,6 @@ "node": ">=6" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -10277,15 +10234,6 @@ "prettyjson": "bin/prettyjson" } }, - "node_modules/private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -10393,6 +10341,18 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -10468,17 +10428,6 @@ "object-assign": "^4.1.1" } }, - "node_modules/react-flagpack": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/react-flagpack/-/react-flagpack-0.1.1.tgz", - "integrity": "sha512-cB2IGYkYUVPAPsteBjReHFGquvnkQk0MDzHSfvvCYjh1r4kIEwr//J65JNwF0DRF+W3PiQLcw/bqDRf/6bHgSg==", - "dependencies": { - "flagpack-core": "^1.0.0" - }, - "peerDependencies": { - "react": "^16.8.*" - } - }, "node_modules/react-hot-loader": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", @@ -10690,15 +10639,6 @@ "node": ">=0.10.0" } }, - "node_modules/readdirp/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/readdirp/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -10737,15 +10677,15 @@ } }, "node_modules/recast": { - "version": "0.18.10", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.18.10.tgz", - "integrity": "sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==", + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.4.tgz", + "integrity": "sha512-6qLIBGGRcwjrTZGIiBpJVC/NeuXpogXNyRQpqU1zWPUigCphvApoCs9KIwDYh1eDuJ6dAFlQoi/QUyE5KQ6RBQ==", "dev": true, "dependencies": { - "ast-types": "0.13.3", + "ast-types": "0.14.2", "esprima": "~4.0.0", - "private": "^0.1.8", - "source-map": "~0.6.1" + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { "node": ">= 4" @@ -10760,6 +10700,12 @@ "node": ">=0.10.0" } }, + "node_modules/recast/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + }, "node_modules/rechoir": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", @@ -11002,6 +10948,12 @@ "path-parse": "^1.0.6" } }, + "node_modules/resolve-alpn": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", + "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==", + "dev": true + }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -11641,15 +11593,6 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", @@ -12473,15 +12416,6 @@ "node": ">=0.10.0" } }, - "node_modules/to-readable-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", - "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -12640,15 +12574,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", - "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -12835,15 +12760,6 @@ "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/untildify": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", @@ -13862,9 +13778,9 @@ } }, "node_modules/yeoman-generator": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.12.0.tgz", - "integrity": "sha512-lozwklVQHwUXMM1o8BgxEB8F5BB7vkHW4pjAo1Zt5sJ7FOlWhd6DJ4ZxJ2OK0w+gNYkY/ocPMkUV7DTz/uqEEg==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.13.0.tgz", + "integrity": "sha512-f2/5N5IR3M2Ozm+QocvZQudlQITv2DwI6Mcxfy7R7gTTzaKgvUpgo/pQMJ+WQKm0KN0YMWCFOZpj0xFGxevc1w==", "dev": true, "dependencies": { "async": "^2.6.2", @@ -13878,7 +13794,6 @@ "error": "^7.0.2", "find-up": "^3.0.0", "github-username": "^3.0.0", - "grouped-queue": "^1.1.0", "istextorbinary": "^2.5.1", "lodash": "^4.17.11", "make-dir": "^3.0.0", @@ -13890,13 +13805,16 @@ "rimraf": "^2.6.3", "run-async": "^2.0.0", "semver": "^7.2.1", - "shelljs": "^0.8.3", + "shelljs": "^0.8.4", "text-table": "^0.2.0", - "through2": "^3.0.1", - "yeoman-environment": "^2.9.5" + "through2": "^3.0.1" }, "engines": { "node": ">=10" + }, + "optionalDependencies": { + "grouped-queue": "^1.1.0", + "yeoman-environment": "^2.9.5" } }, "node_modules/yeoman-generator/node_modules/cross-spawn": { @@ -14010,22 +13928,22 @@ } }, "node_modules/yeoman-generator/node_modules/mem-fs-editor": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-7.0.1.tgz", - "integrity": "sha512-eD8r4/d2ayp9HHIgBPHB6Ds0ggA8F9cf9HxcNtbqrwqJXfIDrOSMG5K4fV3+Ib3B+HIdrWqkeDDDvrO7i9EbvQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-7.1.0.tgz", + "integrity": "sha512-BH6QEqCXSqGeX48V7zu+e3cMwHU7x640NB8Zk8VNvVZniz+p4FK60pMx/3yfkzo6miI6G3a8pH6z7FeuIzqrzA==", "dev": true, "dependencies": { "commondir": "^1.0.1", "deep-extend": "^0.6.0", - "ejs": "^3.0.1", + "ejs": "^3.1.5", "glob": "^7.1.4", "globby": "^9.2.0", "isbinaryfile": "^4.0.0", "mkdirp": "^1.0.0", "multimatch": "^4.0.0", "rimraf": "^3.0.0", - "through2": "^3.0.1", - "vinyl": "^2.2.0" + "through2": "^3.0.2", + "vinyl": "^2.2.1" }, "engines": { "node": ">=10.0.0" @@ -14160,23 +14078,23 @@ } }, "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", + "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", "dev": true, "requires": { - "@babel/types": "^7.12.1", + "@babel/types": "^7.14.2", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -14223,16 +14141,17 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz", + "integrity": "sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.14.2", + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.14.4", + "@babel/helper-split-export-declaration": "^7.12.13" } }, "@babel/helper-create-regexp-features-plugin": { @@ -14267,23 +14186,23 @@ } }, "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", + "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.14.2" } }, "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-hoist-variables": { @@ -14296,12 +14215,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.13.12" } }, "@babel/helper-module-imports": { @@ -14331,18 +14250,18 @@ } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", "dev": true }, "@babel/helper-regex": { @@ -14366,15 +14285,15 @@ } }, "@babel/helper-replace-supers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", - "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", + "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1" + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.4" } }, "@babel/helper-simple-access": { @@ -14396,24 +14315,24 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", "dev": true }, "@babel/helper-wrap-function": { @@ -14440,20 +14359,20 @@ } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz", + "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -14626,12 +14545,12 @@ } }, "@babel/plugin-syntax-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", - "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz", + "integrity": "sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-json-strings": { @@ -14716,12 +14635,12 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", + "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-arrow-functions": { @@ -14826,13 +14745,13 @@ } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz", - "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz", + "integrity": "sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-flow": "^7.12.13" } }, "@babel/plugin-transform-for-of": { @@ -15090,14 +15009,14 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.4.tgz", + "integrity": "sha512-WYdcGNEO7mCCZ2XzRlxwGj3PgeAr50ifkofOUC/+IN/GzKLB+biDPVBUAQN2C/dVZTvEXCp80kfQ1FFZPrwykQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.14.4", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-typescript": "^7.12.13" } }, "@babel/plugin-transform-unicode-escapes": { @@ -15194,13 +15113,14 @@ } }, "@babel/preset-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.1.tgz", - "integrity": "sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.13.13.tgz", + "integrity": "sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-flow-strip-types": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-flow-strip-types": "^7.13.0" } }, "@babel/preset-modules": { @@ -15232,23 +15152,24 @@ } }, "@babel/preset-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", - "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", + "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-typescript": "^7.13.0" } }, "@babel/register": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz", - "integrity": "sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.16.tgz", + "integrity": "sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==", "dev": true, "requires": { + "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" @@ -15274,41 +15195,61 @@ } }, "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + } } }, "@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", + "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.2", + "@babel/helper-function-name": "^7.14.2", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.2", + "@babel/types": "^7.14.2", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + } } }, "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", + "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, @@ -15433,9 +15374,9 @@ } }, "@sindresorhus/is": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", - "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", + "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==", "dev": true }, "@szmarczak/http-timer": { @@ -15991,23 +15932,50 @@ } }, "@webpack-cli/generators": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/generators/-/generators-1.0.1.tgz", - "integrity": "sha512-MPaOezICviBfgYc+r8WBTkyM8gOe3qBR5t32roPqyhL4SJmN4f82ZYvVomLEx+YFBQ5uksCauSHAGoJNXinymg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/generators/-/generators-1.3.1.tgz", + "integrity": "sha512-BJTAtOIhCk9GCQwj1j5fw4wExDHjNbBoyAMm6i+A23VhdCsyIMlEokT0X8hMr/xY9scrDC4n8QCTYpWcOZd31Q==", "dev": true, "requires": { - "@webpack-cli/utils": "^1.0.1", - "@webpack-cli/webpack-scaffold": "^1.0.1", "colorette": "^1.2.1", + "execa": "^5.0.0", + "findup-sync": "^4.0.0", + "global-modules": "^2.0.0", + "got": "^11.8.0", + "jscodeshift": "^0.11.0", "log-symbols": "^4.0.0", - "mkdirp": "^1.0.4", + "p-each-series": "^2.1.0", + "yeoman-environment": "^2.10.3", "yeoman-generator": "^4.12.0" }, "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true } } @@ -16024,13 +15992,12 @@ } }, "@webpack-cli/init": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/init/-/init-1.0.1.tgz", - "integrity": "sha512-OmhDC1jjhhX13mNt+emTPR7u18nrAWKOk/nIAg8XRFdZU2VUBPJbOK3/6xmqXnWKByZVJClvaeUjvgVQBnQmZw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/init/-/init-1.1.3.tgz", + "integrity": "sha512-DvvX4HTltz/dM6Ybwiskxv+BXOH4JVkgI9j66jueA/uK3EAyQuCDM6a9eR06AZbUFaC/iCpt0zlG0msXrZ69wg==", "dev": true, "requires": { - "@webpack-cli/generators": "^1.0.1", - "@webpack-cli/utils": "^1.0.1" + "@webpack-cli/generators": "^1.3.1" } }, "@webpack-cli/serve": { @@ -16039,35 +16006,6 @@ "integrity": "sha512-WGMaTMTK6NOe29Hw1WBEok9vGLfKg5C6jWzNOS/6HH1YadR+RL+TRWRcSyc81Dzulljhk/Ree9mrDM4Np9GGOQ==", "dev": true }, - "@webpack-cli/utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/utils/-/utils-1.0.1.tgz", - "integrity": "sha512-G8UKA+B85/5X+pM85P0Knx43vwFS1W9WDseeif/15jbtDTib8jaNC+rD9SBvFcllmnqdfFXpkcrmWMW4A744dg==", - "dev": true, - "requires": { - "colorette": "^1.2.1", - "cross-spawn": "^7.0.3", - "enquirer": "^2.3.6", - "execa": "^4.0.0", - "findup-sync": "^4.0.0", - "global-modules": "^2.0.0", - "got": "^10.7.0", - "jscodeshift": "^0.7.0", - "p-each-series": "^2.1.0", - "yeoman-environment": "^2.8.1", - "yeoman-generator": "^4.7.2" - } - }, - "@webpack-cli/webpack-scaffold": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/webpack-scaffold/-/webpack-scaffold-1.0.1.tgz", - "integrity": "sha512-AfnpwDJv2hxwpaM6Ljz0eNa7ayHVviPNWN/76RjlFxMGfT0K7O6IWw2oDvikqko227DClV4xO/5CL1/tz0LGhw==", - "dev": true, - "requires": { - "jscodeshift": "^0.7.0", - "yeoman-generator": "^4.7.2" - } - }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -16263,12 +16201,6 @@ } } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -16451,10 +16383,21 @@ "dev": true }, "ast-types": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz", - "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==", - "dev": true + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } }, "ast-types-flow": { "version": "0.0.7", @@ -16538,7 +16481,8 @@ "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true + "dev": true, + "requires": {} }, "babel-loader": { "version": "8.1.0", @@ -16620,12 +16564,6 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, @@ -16853,25 +16791,13 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "cacheable-lookup": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", - "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", - "dev": true, - "requires": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - } + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true }, "cacheable-request": { "version": "7.0.1", @@ -17019,12 +16945,6 @@ "kind-of": "^3.0.2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -17081,12 +17001,6 @@ "requires": { "is-descriptor": "^0.1.0" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, @@ -17209,14 +17123,6 @@ "dev": true, "requires": { "mimic-response": "^1.0.0" - }, - "dependencies": { - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - } } }, "clone-stats": { @@ -17489,9 +17395,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -17798,12 +17704,20 @@ "dev": true }, "decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", - "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "requires": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + } } }, "deep-equal": { @@ -17927,9 +17841,9 @@ } }, "defer-to-connect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", - "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true }, "define-properties": { @@ -17979,12 +17893,6 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, @@ -19274,12 +19182,6 @@ } } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -19492,11 +19394,6 @@ "readable-stream": "^2.0.2" } }, - "flagpack-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/flagpack-core/-/flagpack-core-1.1.2.tgz", - "integrity": "sha512-brm/LJf/xxiwRnjdThPsxaRZsbcN0fjPX4WMdKfuwJYOt3pdVw1pfP2dTBh743qqkw4CQzXTfEWjRDN0KvZ/qA==" - }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -19525,9 +19422,9 @@ "dev": true }, "flow-parser": { - "version": "0.136.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.136.0.tgz", - "integrity": "sha512-PB2vYAqmz+dRikpx8TpNgRtBsyemP+7oQa0BcPZWnGABlJlB2WgJc/Lx0HeEPOUxDO/TxBbPaIHsffEIL9M6BQ==", + "version": "0.152.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.152.0.tgz", + "integrity": "sha512-qRXGE3ztuhyI2ovi4Ixwq7/GUYvKX9wmFdwBof2q5pWHteuveexFrlbwZxSonC0dWz2znA6sW+vce4RXgYLnnQ==", "dev": true }, "follow-redirects": { @@ -19858,26 +19755,22 @@ } }, "got": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", - "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "version": "11.8.2", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", + "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", "dev": true, "requires": { - "@sindresorhus/is": "^2.0.0", - "@szmarczak/http-timer": "^4.0.0", + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", - "cacheable-lookup": "^2.0.0", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^5.0.0", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", - "mimic-response": "^2.1.0", "p-cancelable": "^2.0.0", - "p-event": "^4.0.0", - "responselike": "^2.0.0", - "to-readable-stream": "^2.0.0", - "type-fest": "^0.10.0" + "responselike": "^2.0.0" } }, "graceful-fs": { @@ -19953,14 +19846,6 @@ "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "has-values": { @@ -20179,12 +20064,6 @@ } } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -20229,6 +20108,16 @@ "sshpk": "^1.7.0" } }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -20711,14 +20600,6 @@ "dev": true, "requires": { "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "is-redirect": { @@ -20815,6 +20696,12 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -20902,27 +20789,28 @@ "dev": true }, "jscodeshift": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.7.1.tgz", - "integrity": "sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", "dev": true, "requires": { "@babel/core": "^7.1.6", "@babel/parser": "^7.1.6", "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/preset-env": "^7.1.6", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", "@babel/preset-flow": "^7.0.0", "@babel/preset-typescript": "^7.1.0", "@babel/register": "^7.0.0", "babel-core": "^7.0.0-bridge.0", "colors": "^1.1.2", "flow-parser": "0.*", - "graceful-fs": "^4.1.11", + "graceful-fs": "^4.2.4", "micromatch": "^3.1.10", "neo-async": "^2.5.0", "node-dir": "^0.1.17", - "recast": "^0.18.1", + "recast": "^0.20.3", "temp": "^0.8.1", "write-file-atomic": "^2.3.0" }, @@ -20999,12 +20887,6 @@ } } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -21557,9 +21439,9 @@ "dev": true }, "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, "min-document": { @@ -21829,9 +21711,9 @@ "dev": true }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true }, "npm-api": { @@ -21928,14 +21810,6 @@ "dev": true, "requires": { "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "object.assign": { @@ -21980,14 +21854,6 @@ "dev": true, "requires": { "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "object.values": { @@ -22079,9 +21945,9 @@ "dev": true }, "p-cancelable": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", - "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true }, "p-each-series": { @@ -22090,15 +21956,6 @@ "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", "dev": true }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "requires": { - "p-timeout": "^3.1.0" - } - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -22138,15 +21995,6 @@ "retry": "^0.12.0" } }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -22485,12 +22333,6 @@ "minimist": "^1.2.0" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -22580,6 +22422,12 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -22647,14 +22495,6 @@ } } }, - "react-flagpack": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/react-flagpack/-/react-flagpack-0.1.1.tgz", - "integrity": "sha512-cB2IGYkYUVPAPsteBjReHFGquvnkQk0MDzHSfvvCYjh1r4kIEwr//J65JNwF0DRF+W3PiQLcw/bqDRf/6bHgSg==", - "requires": { - "flagpack-core": "^1.0.0" - } - }, "react-hot-loader": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", @@ -22834,12 +22674,6 @@ } } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -22874,15 +22708,15 @@ } }, "recast": { - "version": "0.18.10", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.18.10.tgz", - "integrity": "sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==", + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.4.tgz", + "integrity": "sha512-6qLIBGGRcwjrTZGIiBpJVC/NeuXpogXNyRQpqU1zWPUigCphvApoCs9KIwDYh1eDuJ6dAFlQoi/QUyE5KQ6RBQ==", "dev": true, "requires": { - "ast-types": "0.13.3", + "ast-types": "0.14.2", "esprima": "~4.0.0", - "private": "^0.1.8", - "source-map": "~0.6.1" + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "dependencies": { "source-map": { @@ -22890,6 +22724,12 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true } } }, @@ -23086,6 +22926,12 @@ "path-parse": "^1.0.6" } }, + "resolve-alpn": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", + "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==", + "dev": true + }, "resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -23649,12 +23495,6 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, @@ -24311,12 +24151,6 @@ } } }, - "to-readable-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", - "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", - "dev": true - }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -24443,12 +24277,6 @@ "prelude-ls": "^1.2.1" } }, - "type-fest": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", - "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==", - "dev": true - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -24590,12 +24418,6 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, @@ -25430,9 +25252,9 @@ } }, "yeoman-generator": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.12.0.tgz", - "integrity": "sha512-lozwklVQHwUXMM1o8BgxEB8F5BB7vkHW4pjAo1Zt5sJ7FOlWhd6DJ4ZxJ2OK0w+gNYkY/ocPMkUV7DTz/uqEEg==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.13.0.tgz", + "integrity": "sha512-f2/5N5IR3M2Ozm+QocvZQudlQITv2DwI6Mcxfy7R7gTTzaKgvUpgo/pQMJ+WQKm0KN0YMWCFOZpj0xFGxevc1w==", "dev": true, "requires": { "async": "^2.6.2", @@ -25458,7 +25280,7 @@ "rimraf": "^2.6.3", "run-async": "^2.0.0", "semver": "^7.2.1", - "shelljs": "^0.8.3", + "shelljs": "^0.8.4", "text-table": "^0.2.0", "through2": "^3.0.1", "yeoman-environment": "^2.9.5" @@ -25549,22 +25371,22 @@ } }, "mem-fs-editor": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-7.0.1.tgz", - "integrity": "sha512-eD8r4/d2ayp9HHIgBPHB6Ds0ggA8F9cf9HxcNtbqrwqJXfIDrOSMG5K4fV3+Ib3B+HIdrWqkeDDDvrO7i9EbvQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-7.1.0.tgz", + "integrity": "sha512-BH6QEqCXSqGeX48V7zu+e3cMwHU7x640NB8Zk8VNvVZniz+p4FK60pMx/3yfkzo6miI6G3a8pH6z7FeuIzqrzA==", "dev": true, "requires": { "commondir": "^1.0.1", "deep-extend": "^0.6.0", - "ejs": "^3.0.1", + "ejs": "^3.1.5", "glob": "^7.1.4", "globby": "^9.2.0", "isbinaryfile": "^4.0.0", "mkdirp": "^1.0.0", "multimatch": "^4.0.0", "rimraf": "^3.0.0", - "through2": "^3.0.1", - "vinyl": "^2.2.0" + "through2": "^3.0.2", + "vinyl": "^2.2.1" }, "dependencies": { "rimraf": { diff --git a/package.json b/package.json index fd656ed..fd2949d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "bowser": "^2.11.0", "react": "^16.14.0", "react-dom": "^16.14.0", - "react-flagpack": "^0.1.1", "react-hot-loader": "^4.13.0", "react-world-flags": "^1.4.0" } diff --git a/public/vytal-2.svg b/public/vytal-2.svg deleted file mode 100644 index 70a9f1f..0000000 --- a/public/vytal-2.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/src/App.css b/src/App.css index 3224692..f7cb2a1 100644 --- a/src/App.css +++ b/src/App.css @@ -1,7 +1,9 @@ :root { - --text: #212121; - --background: #fff; - --scrollbar: #ccc; + --main: #943EC5; + --main-dark: #8537B1; + --text: #212121; + --background: #fff; + --scrollbar: #ccc; } body { @@ -13,6 +15,23 @@ body { margin-right: 2px; } +.header { + width: 100%; + display: flex; + justify-content: space-between; +} + +.logoImage { + background: url('logo.svg') no-repeat; + background-size: 133px 32px; + width: 133px; + height: 32px; +} + +.menu { + margin: 0 6px 0 0; +} + .title { font-weight: 600; font-size: 16px; diff --git a/src/App.jsx b/src/App.jsx index 962df8a..7b809ab 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,6 +1,5 @@ import * as React from 'react'; -import { useState, useEffect } from 'react'; -import Flag from 'react-flagpack'; +import { useEffect } from 'react'; import * as Bowser from 'bowser'; import './App.css'; @@ -9,15 +8,15 @@ const updateDOM = (id, text) => { }; const App = () => { - const [country, setCountry] = useState('US'); - const [flag, setFlag] = useState(false); + // const [country, setCountry] = useState('US'); + // const [flag, setFlag] = useState(false); useEffect(() => { fetch('http://ip-api.com/json') .then((response) => response.json()) .then((data) => { - setCountry(data.countryCode); - setFlag(true); + // setCountry(data.countryCode); + // setFlag(true); updateDOM('ipAddress', data.query); updateDOM('country', data.country); updateDOM('region', data.regionName); @@ -58,6 +57,10 @@ const App = () => { return (
+
+
+
HEllo
+
IP address:
Cookies enabled: -
+
Java enabled: -
+
DNT header enabled: -
+
Platform: -
+
Connection
@@ -70,12 +73,7 @@ const App = () => { diff --git a/public/vytal-1.svg b/src/logo.svg similarity index 100% rename from public/vytal-1.svg rename to src/logo.svg diff --git a/src/popup.css b/src/popup.css index 2d5ec5c..e69de29 100644 --- a/src/popup.css +++ b/src/popup.css @@ -1,13 +0,0 @@ -/* :root { - --text: #212121; - --background: #fff; - --scrollbar: #ccc; -} - -body { - color: var(--text); - background-color: var(--background); - font-size: 15px; - line-height: 22px; - width: 380px; -} */ \ No newline at end of file From cfe6979c9c464ae98d50b5b74a5c5ec2446c8fb5 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Tue, 8 Jun 2021 23:00:15 -0400 Subject: [PATCH 13/23] Added font awesome support --- package-lock.json | 77 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 ++ src/App.jsx | 7 ++++- 3 files changed, 86 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index db93032..a2040ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,9 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.35", + "@fortawesome/free-solid-svg-icons": "^5.15.3", + "@fortawesome/react-fontawesome": "^0.1.14", "bowser": "^2.11.0", "react": "^16.14.0", "react-dom": "^16.14.0", @@ -1344,6 +1347,51 @@ "node": ">=8" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz", + "integrity": "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.35.tgz", + "integrity": "sha512-uLEXifXIL7hnh2sNZQrIJWNol7cTVIzwI+4qcBIq9QWaZqUblm0IDrtSqbNg+3SQf8SMGHkiSigD++rHmCHjBg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.3.tgz", + "integrity": "sha512-XPeeu1IlGYqz4VWGRAT5ukNMd4VHUEEJ7ysZ7pSSgaEtNvSo+FLurybGJVmiqkQdK50OkSja2bfZXOeyMGRD8Q==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.14.tgz", + "integrity": "sha512-4wqNb0gRLVaBm/h+lGe8UfPPivcbuJ6ecI4hIgW0LjI7kzpYB9FkN0L9apbVzg+lsBdcTf0AlBtODjcSX5mmKA==", + "dependencies": { + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.32", + "react": ">=16.x" + } + }, "node_modules/@hot-loader/react-dom": { "version": "17.0.0-rc.2", "resolved": "https://registry.npmjs.org/@hot-loader/react-dom/-/react-dom-17.0.0-rc.2.tgz", @@ -15293,6 +15341,35 @@ } } }, + "@fortawesome/fontawesome-common-types": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz", + "integrity": "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw==" + }, + "@fortawesome/fontawesome-svg-core": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.35.tgz", + "integrity": "sha512-uLEXifXIL7hnh2sNZQrIJWNol7cTVIzwI+4qcBIq9QWaZqUblm0IDrtSqbNg+3SQf8SMGHkiSigD++rHmCHjBg==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/free-solid-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.3.tgz", + "integrity": "sha512-XPeeu1IlGYqz4VWGRAT5ukNMd4VHUEEJ7ysZ7pSSgaEtNvSo+FLurybGJVmiqkQdK50OkSja2bfZXOeyMGRD8Q==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/react-fontawesome": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.14.tgz", + "integrity": "sha512-4wqNb0gRLVaBm/h+lGe8UfPPivcbuJ6ecI4hIgW0LjI7kzpYB9FkN0L9apbVzg+lsBdcTf0AlBtODjcSX5mmKA==", + "requires": { + "prop-types": "^15.7.2" + } + }, "@hot-loader/react-dom": { "version": "17.0.0-rc.2", "resolved": "https://registry.npmjs.org/@hot-loader/react-dom/-/react-dom-17.0.0-rc.2.tgz", diff --git a/package.json b/package.json index fd2949d..ea9194d 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,9 @@ "webpack-dev-server": "^3.11.0" }, "dependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.35", + "@fortawesome/free-solid-svg-icons": "^5.15.3", + "@fortawesome/react-fontawesome": "^0.1.14", "bowser": "^2.11.0", "react": "^16.14.0", "react-dom": "^16.14.0", diff --git a/src/App.jsx b/src/App.jsx index 7b809ab..8c6b6aa 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,6 +1,8 @@ import * as React from 'react'; import { useEffect } from 'react'; import * as Bowser from 'bowser'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faCog } from '@fortawesome/free-solid-svg-icons'; import './App.css'; const updateDOM = (id, text) => { @@ -59,7 +61,10 @@ const App = () => {
-
HEllo
+
+ {/* */} + +
Country: -
-
-
- {flag === true && } -
-
+
From e754ce5f80808b613631d467244ffd972d10b775 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Tue, 8 Jun 2021 23:56:01 -0400 Subject: [PATCH 14/23] Adding menu icons --- src/App.css | 7 +++++++ src/App.jsx | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/App.css b/src/App.css index f7cb2a1..8585800 100644 --- a/src/App.css +++ b/src/App.css @@ -29,6 +29,8 @@ body { } .menu { + display: flex; + align-items: center; margin: 0 6px 0 0; } @@ -46,6 +48,11 @@ tr { margin: 8px 0; } +tr:hover { + color: var(--main-dark); + cursor: pointer; +} + td { vertical-align: top; } diff --git a/src/App.jsx b/src/App.jsx index 8c6b6aa..8a5130c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { useEffect } from 'react'; import * as Bowser from 'bowser'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faCog } from '@fortawesome/free-solid-svg-icons'; +import { faExternalLinkAlt, faCog } from '@fortawesome/free-solid-svg-icons'; import './App.css'; const updateDOM = (id, text) => { @@ -62,8 +62,8 @@ const App = () => {
- {/* */} - + +
From 595ffc459d502f9b20154cea418fa9a0e134c87e Mon Sep 17 00:00:00 2001 From: z0ccc Date: Wed, 9 Jun 2021 02:10:12 -0400 Subject: [PATCH 15/23] Added links to menu --- src/App.css | 14 ++++++++++++-- src/App.jsx | 8 ++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/App.css b/src/App.css index 8585800..3f3df4e 100644 --- a/src/App.css +++ b/src/App.css @@ -1,9 +1,9 @@ :root { --main: #943EC5; - --main-dark: #8537B1; --text: #212121; --background: #fff; --scrollbar: #ccc; + --icon: #AAB7B8; } body { @@ -15,6 +15,14 @@ body { margin-right: 2px; } +a { + color: var(--icon); +} + +a:hover { + color: var( --main); +} + .header { width: 100%; display: flex; @@ -31,6 +39,8 @@ body { .menu { display: flex; align-items: center; + justify-content: space-between; + width: 52px; margin: 0 6px 0 0; } @@ -49,7 +59,7 @@ tr { } tr:hover { - color: var(--main-dark); + color: var(--main); cursor: pointer; } diff --git a/src/App.jsx b/src/App.jsx index 8a5130c..5dc1290 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -62,8 +62,12 @@ const App = () => {
- - + + + + + +
From e68aabd14fbe22ada031cdc8d8f8315c76ab28cf Mon Sep 17 00:00:00 2001 From: z0ccc Date: Wed, 9 Jun 2021 11:49:20 -0400 Subject: [PATCH 16/23] Re-styled text --- src/App.css | 8 ++++---- src/App.jsx | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/App.css b/src/App.css index 3f3df4e..ad9ce23 100644 --- a/src/App.css +++ b/src/App.css @@ -9,7 +9,7 @@ body { color: var(--text); background-color: var(--background); - font-size: 15px; + font-size: 13px; line-height: 22px; width: 370px; margin-right: 2px; @@ -46,7 +46,7 @@ a:hover { .title { font-weight: 600; - font-size: 16px; + font-size: 15px; margin: 6px 0 0 0; } @@ -55,7 +55,7 @@ table { } tr { - margin: 8px 0; + margin: 4px 0; } tr:hover { @@ -68,7 +68,7 @@ td { } .column-one { - width: 150px; + width: 130px; } .itemWrap { diff --git a/src/App.jsx b/src/App.jsx index 5dc1290..c2a5d94 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -98,7 +98,7 @@ const App = () => { - + From 02b668a15ebef3d19e3bafc7d7fe62e066880dcd Mon Sep 17 00:00:00 2001 From: z0ccc Date: Wed, 9 Jun 2021 14:30:32 -0400 Subject: [PATCH 17/23] Changed logo size --- src/App.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/App.css b/src/App.css index ad9ce23..58d5b60 100644 --- a/src/App.css +++ b/src/App.css @@ -31,9 +31,9 @@ a:hover { .logoImage { background: url('logo.svg') no-repeat; - background-size: 133px 32px; - width: 133px; - height: 32px; + background-size: 100px 24px; + width: 100px; + height: 24px; } .menu { From ddce00cd285a0f6d67143ff12a423839a33b6f8b Mon Sep 17 00:00:00 2001 From: z0ccc Date: Wed, 9 Jun 2021 16:30:47 -0400 Subject: [PATCH 18/23] Added plugins and timezone offset --- src/App.jsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index c2a5d94..a66e3e8 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -35,10 +35,19 @@ const App = () => { updateDOM('language', navigator.language); updateDOM('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone); + const date = new Date(); + updateDOM('offset', date.getTimezoneOffset()); updateDOM('cookies', navigator.cookieEnabled); updateDOM('java', navigator.javaEnabled()); updateDOM('dnt', navigator.doNotTrack ? 'true' : 'false'); - // updateDOM('plugins', navigator.plugins); + + const pluginsLength = navigator.plugins.length; + let plugins = ''; + for (let i = 0; i < pluginsLength; i++) { + if (i !== 0) plugins += ', '; + plugins += navigator.plugins[i].name; + } + updateDOM('plugins', plugins); updateDOM('platform', uaResult.platform.type); updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); @@ -146,6 +155,12 @@ const App = () => {
+ + + + + + + +
Hardware
From 9e5a89fe1abd123c157987a36f00f2066510a7aa Mon Sep 17 00:00:00 2001 From: z0ccc Date: Wed, 9 Jun 2021 23:07:06 -0400 Subject: [PATCH 19/23] Added maxtouch points --- src/App.css | 4 ++++ src/App.jsx | 15 +++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/App.css b/src/App.css index 58d5b60..13c8e37 100644 --- a/src/App.css +++ b/src/App.css @@ -95,4 +95,8 @@ td { ::-webkit-scrollbar-thumb { background: var(--scrollbar); border-radius: 2px; +} + +.loadText { + text-align: center; } \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index a66e3e8..b5d1a76 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -10,15 +10,10 @@ const updateDOM = (id, text) => { }; const App = () => { - // const [country, setCountry] = useState('US'); - // const [flag, setFlag] = useState(false); - useEffect(() => { fetch('http://ip-api.com/json') .then((response) => response.json()) .then((data) => { - // setCountry(data.countryCode); - // setFlag(true); updateDOM('ipAddress', data.query); updateDOM('country', data.country); updateDOM('region', data.regionName); @@ -60,6 +55,7 @@ const App = () => { updateDOM('memory', `${navigator.deviceMemory}GB`); updateDOM('cores', navigator.hardwareConcurrency); + updateDOM('maxTouch', navigator.maxTouchPoints); const gl = document.createElement('canvas').getContext('webgl'); const ext = gl.getExtension('WEBGL_debug_renderer_info'); updateDOM('vendor', gl.getParameter(ext.UNMASKED_VENDOR_WEBGL)); @@ -228,6 +224,12 @@ const App = () => {
+ + + +
Zip:Zip code:
Timezone offset: +
+
Cookies enabled: @@ -164,6 +179,12 @@ const App = () => {
Plugins: +
+
Platform:
Max touchpoints: +
+
WebGL vendor: @@ -241,9 +243,6 @@ const App = () => {
- {/*
- Plugins:{' '} -
*/}
); }; From 43234c05c98e87f1ce5260f95b601fe4f2a7ae65 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Thu, 10 Jun 2021 02:46:34 -0400 Subject: [PATCH 20/23] Added navbar component --- src/App.css | 2 +- src/App.jsx | 15 ++------------- src/Navbar.js | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 14 deletions(-) create mode 100644 src/Navbar.js diff --git a/src/App.css b/src/App.css index 13c8e37..dc55806 100644 --- a/src/App.css +++ b/src/App.css @@ -23,7 +23,7 @@ a:hover { color: var( --main); } -.header { +.navbar { width: 100%; display: flex; justify-content: space-between; diff --git a/src/App.jsx b/src/App.jsx index b5d1a76..be49411 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,8 +1,7 @@ import * as React from 'react'; import { useEffect } from 'react'; import * as Bowser from 'bowser'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faExternalLinkAlt, faCog } from '@fortawesome/free-solid-svg-icons'; +import Navbar from './Navbar'; import './App.css'; const updateDOM = (id, text) => { @@ -64,17 +63,7 @@ const App = () => { return (
-
-
- -
+
Connection
diff --git a/src/Navbar.js b/src/Navbar.js new file mode 100644 index 0000000..1399067 --- /dev/null +++ b/src/Navbar.js @@ -0,0 +1,19 @@ +import * as React from 'react'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faExternalLinkAlt, faCog } from '@fortawesome/free-solid-svg-icons'; + +const Navbar = () => ( +
+
+ +
+); + +export default Navbar; From 7094f6afd1999cdf72b6839c3ca8b0ec6bbb6fe5 Mon Sep 17 00:00:00 2001 From: z0ccc Date: Thu, 10 Jun 2021 14:50:35 -0400 Subject: [PATCH 21/23] removed connection section --- src/App.jsx | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index be49411..7d12f8f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -10,17 +10,6 @@ const updateDOM = (id, text) => { const App = () => { useEffect(() => { - fetch('http://ip-api.com/json') - .then((response) => response.json()) - .then((data) => { - updateDOM('ipAddress', data.query); - updateDOM('country', data.country); - updateDOM('region', data.regionName); - updateDOM('city', data.city); - updateDOM('zip', data.zip); - updateDOM('provider', data.isp); - }); - const uaResult = Bowser.parse(navigator.userAgent); updateDOM('browser', uaResult.browser.name); updateDOM('browserVersion', uaResult.browser.version); @@ -66,43 +55,6 @@ const App = () => {
-
Connection
- - - - - - - - - - - - - - - - - - - - - - - -
Software
From 82fc118fe0e50ce5b74944ec56f681fb1b85b6dc Mon Sep 17 00:00:00 2001 From: z0ccc Date: Thu, 10 Jun 2021 18:33:13 -0400 Subject: [PATCH 22/23] formatted html and fixed scroll bar --- public/popup.html | 16 +++++++--------- src/App.css | 15 ++++++++++++--- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/public/popup.html b/public/popup.html index 9a2760c..111ab5f 100644 --- a/public/popup.html +++ b/public/popup.html @@ -1,14 +1,12 @@ + + + - - - - - + - + - - - \ No newline at end of file + + diff --git a/src/App.css b/src/App.css index dc55806..5def787 100644 --- a/src/App.css +++ b/src/App.css @@ -3,7 +3,9 @@ --text: #212121; --background: #fff; --scrollbar: #ccc; + --navbar: #F7F9F9; --icon: #AAB7B8; + --border: #F0F3F4; } body { @@ -11,8 +13,9 @@ body { background-color: var(--background); font-size: 13px; line-height: 22px; - width: 370px; - margin-right: 2px; + width: 350px; + margin: 0; + overflow: overlay } a { @@ -25,8 +28,12 @@ a:hover { .navbar { width: 100%; + box-sizing: border-box; display: flex; justify-content: space-between; + padding: 8px; + background-color: var(--navbar); + border-bottom: var(--border) solid 1px; } .logoImage { @@ -41,7 +48,7 @@ a:hover { align-items: center; justify-content: space-between; width: 52px; - margin: 0 6px 0 0; + margin: 0 8px 0 0; } .title { @@ -52,6 +59,8 @@ a:hover { table { width: 100%; + box-sizing: border-box; + padding: 0 8px; } tr { From fe2f008d54b7d325af9da27461b49fad3ea9782a Mon Sep 17 00:00:00 2001 From: z0ccc Date: Fri, 11 Jun 2021 15:17:30 -0400 Subject: [PATCH 23/23] Added table component --- src/App.css | 2 +- src/App.jsx | 192 ++------------------------------------------------- src/Table.js | 141 +++++++++++++++++++++++++++++++++++++ 3 files changed, 149 insertions(+), 186 deletions(-) create mode 100644 src/Table.js diff --git a/src/App.css b/src/App.css index 5def787..20629e0 100644 --- a/src/App.css +++ b/src/App.css @@ -3,7 +3,7 @@ --text: #212121; --background: #fff; --scrollbar: #ccc; - --navbar: #F7F9F9; + --navbar: #FBFCFC; --icon: #AAB7B8; --border: #F0F3F4; } diff --git a/src/App.jsx b/src/App.jsx index 7d12f8f..f479bbe 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,191 +1,13 @@ import * as React from 'react'; -import { useEffect } from 'react'; -import * as Bowser from 'bowser'; import Navbar from './Navbar'; +import Table from './Table'; import './App.css'; -const updateDOM = (id, text) => { - document.getElementById(id).innerHTML += text; -}; - -const App = () => { - useEffect(() => { - const uaResult = Bowser.parse(navigator.userAgent); - updateDOM('browser', uaResult.browser.name); - updateDOM('browserVersion', uaResult.browser.version); - updateDOM('browserEngine', uaResult.engine.name); - updateDOM('os', `${uaResult.os.name} ${uaResult.os.versionName}`); - - updateDOM('language', navigator.language); - updateDOM('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone); - const date = new Date(); - updateDOM('offset', date.getTimezoneOffset()); - updateDOM('cookies', navigator.cookieEnabled); - updateDOM('java', navigator.javaEnabled()); - updateDOM('dnt', navigator.doNotTrack ? 'true' : 'false'); - - const pluginsLength = navigator.plugins.length; - let plugins = ''; - for (let i = 0; i < pluginsLength; i++) { - if (i !== 0) plugins += ', '; - plugins += navigator.plugins[i].name; - } - updateDOM('plugins', plugins); - - updateDOM('platform', uaResult.platform.type); - updateDOM('screenSize', `${window.screen.width}x${window.screen.height}`); - updateDOM('color', window.screen.colorDepth); - - navigator.getBattery().then((battery) => { - updateDOM('batteryLevel', `${Math.round(battery.level * 100)}%`); - updateDOM('batteryStatus', battery.charging ? 'Charging' : 'Not charging'); - }); - - updateDOM('memory', `${navigator.deviceMemory}GB`); - updateDOM('cores', navigator.hardwareConcurrency); - updateDOM('maxTouch', navigator.maxTouchPoints); - const gl = document.createElement('canvas').getContext('webgl'); - const ext = gl.getExtension('WEBGL_debug_renderer_info'); - updateDOM('vendor', gl.getParameter(ext.UNMASKED_VENDOR_WEBGL)); - updateDOM('renderer', gl.getParameter(ext.UNMASKED_RENDERER_WEBGL)); - }, []); - - return ( -
- -
IP address: -
-
Country: -
-
Region: -
-
City: -
-
Zip code: -
-
Provider: -
-
Browser:
- -
Software
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Hardware
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Browser: -
-
Browser version: -
-
Browser engine: -
-
Operating system: -
-
Language: -
-
Timezone: -
-
Timezone offset: -
-
Cookies enabled: -
-
Java enabled: -
-
DNT header enabled: -
-
Plugins: -
-
Platform: -
-
Screen resolution: -
-
Color Resolution: -
-
Battery level: -
-
Battery status: -
-
Device memory: -
-
# of CPU cores: -
-
Max touchpoints: -
-
WebGL vendor: -
-
WebGL renderer: -
-
-
- ); -}; +const App = () => ( +
+ + + +); export default App; diff --git a/src/Table.js b/src/Table.js new file mode 100644 index 0000000..ece26b0 --- /dev/null +++ b/src/Table.js @@ -0,0 +1,141 @@ +import * as React from 'react'; +import { useState, useEffect } from 'react'; +import Bowser from 'bowser'; + +const Table = () => { + const [batLevel, setBatLevel] = useState(''); + const [batStatus, setBatStatus] = useState(''); + + useEffect(() => { + navigator.getBattery().then((res) => { + setBatLevel(`${Math.round(res.level * 100)}%`); + setBatStatus(res.charging ? 'Charging' : 'Not charging'); + }); + }, []); + + const uaResult = Bowser.parse(navigator.userAgent); + const browser = uaResult.browser.name; + const browserVersion = uaResult.browser.version; + const browserEngine = uaResult.engine.name; + const os = `${uaResult.os.name} ${uaResult.os.versionName}`; + const platform = uaResult.platform.type; + + const language = navigator.language; + const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; + const date = new Date(); + const offset = date.getTimezoneOffset(); + const cookies = navigator.cookieEnabled ? 'True' : 'False'; + const java = navigator.javaEnabled() ? 'True' : 'False'; + const dnt = navigator.doNotTrack ? 'True' : 'False'; + + const pluginsLength = navigator.plugins.length; + let pluginList = ''; + for (let i = 0; i < pluginsLength; i++) { + if (i !== 0) pluginList += ', '; + pluginList += navigator.plugins[i].name; + } + const plugins = pluginList; + const screenSize = `${window.screen.width}x${window.screen.height}`; + const color = window.screen.colorDepth; + + const memory = `${navigator.deviceMemory}GB`; + const cores = navigator.hardwareConcurrency; + const maxTouch = navigator.maxTouchPoints; + const gl = document.createElement('canvas').getContext('webgl'); + const ext = gl.getExtension('WEBGL_debug_renderer_info'); + const vendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL); + const renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL); + return ( +
+ +
Software
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hardware
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Browser:{browser}
Browser version:{browserVersion}
Browser engine:{browserEngine}
Operating system:{os}
Language:{language}
Timezone:{timezone}
Timezone offset:{offset}
Cookies enabled:{cookies}
Java enabled:{java}
DNT header enabled:{dnt}
Plugins:{plugins}
Platform:{platform}
Screen resolution:{screenSize}
Color Resolution:{color}
Battery level:{batLevel}
Battery status:{batStatus}
Device memory:{memory}
# of CPU cores:{cores}
Max touchpoints:{maxTouch}
WebGL vendor:{vendor}
WebGL renderer:{renderer}
+ ); +}; + +export default Table;