From 41954edde0d9504b4b59f0e756e506526d8c4426 Mon Sep 17 00:00:00 2001 From: WebEXP0528 Date: Mon, 5 Jul 2021 07:41:48 -0700 Subject: [PATCH] Fix regeneratorRuntime issue and update some functions --- .babelrc | 10 +- .prettierrc.json | 3 +- package.json | 1 + src/background/index.js | 137 ++++++++++------------ src/content/messageListener.js | 4 +- src/popup/Popup.jsx | 6 +- src/popup/services/comunicationManager.js | 8 -- src/utils/hot-reload.js | 10 +- src/utils/sendMessages.js | 47 +++++--- src/utils/storage.js | 4 +- webpack.config.dev.js | 17 +-- webpack.config.dist.js | 29 +---- webpack.utils.js | 50 ++------ yarn.lock | 83 +++++++++++++ 14 files changed, 214 insertions(+), 195 deletions(-) delete mode 100755 src/popup/services/comunicationManager.js diff --git a/.babelrc b/.babelrc index 35b7a0a..8d802a5 100755 --- a/.babelrc +++ b/.babelrc @@ -9,5 +9,13 @@ ], "@babel/preset-react" ], - "plugins": [["@babel/plugin-proposal-class-properties"]] + "plugins": [ + ["@babel/plugin-proposal-class-properties"], + [ + "@babel/plugin-transform-runtime", + { + "regenerator": true + } + ] + ] } diff --git a/.prettierrc.json b/.prettierrc.json index 425a599..5359961 100755 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -2,5 +2,6 @@ "tabWidth": 4, "semi": true, "singleQuote": false, - "useTabs": false + "useTabs": false, + "printWidth": 120 } diff --git a/package.json b/package.json index 4f0e8ae..14a99b7 100755 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@babel/core": "^7.14.3", "@babel/eslint-parser": "^7.14.3", "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-transform-runtime": "^7.14.5", "@babel/preset-env": "^7.14.2", "@babel/preset-react": "^7.13.13", "babel-loader": "^8.2.2", diff --git a/src/background/index.js b/src/background/index.js index 25bf089..ad2aaa4 100755 --- a/src/background/index.js +++ b/src/background/index.js @@ -1,7 +1,7 @@ import browser from "webextension-polyfill"; /** - * Define content script functions + * Define background script functions * @type {class} */ class Background { @@ -11,29 +11,26 @@ class Background { /** * Document Ready + * * @returns {void} */ init = () => { - console.log("loaded Background Scripts"); + console.log("[===== Loaded Background Scripts =====]"); //When extension installed - browser.runtime.onInstalled.addListener(() => this.onInstalled()); + browser.runtime.onInstalled.addListener(this.onInstalled); //Add message listener in Browser. - browser.runtime.onMessage.addListener((message, sender, reply) => - this.onMessage(message, sender, reply) - ); + browser.runtime.onMessage.addListener(this.onMessage); - //Add message listener from Extension - browser.extension.onConnect.addListener((port) => this.onConnect(port)); + //Add message listener from Long Live Connection + browser.extension.onConnect.addListener(this.onConnect); //Add Update listener for tab - browser.tabs.onUpdated.addListener((tabId, changeInfo, tab) => - this.onUpdatedTab(tabId, changeInfo, tab) - ); + browser.tabs.onUpdated.addListener(this.onUpdatedTab); //Add New tab create listener - browser.tabs.onCreated.addListener((tab) => this.onCreatedTab(tab)); + browser.tabs.onCreated.addListener(this.onCreatedTab); }; //TODO: Listeners @@ -42,7 +39,7 @@ class Background { * Extension Installed */ onInstalled = () => { - console.log("~~~~~Installed Extension!"); + console.log("[===== Installed Extension!] ====="); }; /** @@ -50,13 +47,17 @@ class Background { * * @param { object } message * @param { object } sender - * @param { object } reply */ - onMessage = (message, sender, reply) => { - console.log("~~~~~Received message", message); - switch (message.type) { + onMessage = async (message, sender) => { + try { + console.log("[===== Received message =====]", message, sender); + switch (message.type) { + } + return true; // result to reply + } catch (error) { + console.log("[===== Error in MessageListener =====]", error); + return error; } - return true; }; /** @@ -66,19 +67,17 @@ class Background { */ onConnect = (port) => { this._port = port; - console.log("~~~~~Connected ....."); - this._port.onMessage.addListener((msg) => - this.onMessageFromExtension(msg) - ); + console.log("[===== Connected Long Live Connection =====]"); + this._port.onMessage.addListener((msg) => this.onMessageFromExtension(msg)); }; /** - * Message from Extension + * Message from Long Live Connection * * @param {*} msg */ onMessageFromExtension = (msg) => { - console.log("~~~~Recieved message from Popup:" + msg); + console.log("[===== Message from Long Live Connection =====]"); }; /** @@ -86,7 +85,7 @@ class Background { * @param {object} tab */ onCreatedTab = (tab) => { - console.log("~~~~~Created new tab", tab); + console.log("[===== New Tab Created =====]", tab); }; /** @@ -97,77 +96,63 @@ class Background { * @param {*} tab */ onUpdatedTab = (tabId, changeInfo, tab) => { - console.log("~~~~~Changed tab", tabId); + console.log("[===== Tab Created =====]", tabId); }; /** - * get url from tab - * @param {number} tabid + * Get url from tabId + * + * @param {number} tabId */ - getURLFromTab = (tabid) => { - return new Promise(function (resolve, reject) { - browser.tabs.get(tabid, function (tab) { - resolve(tab.url ? tab.url : ""); - }); - }); + getURLFromTab = async (tabId) => { + try { + const tab = await browser.tabs.get(tabId); + return tab.url || ""; + } catch (error) { + console.log(`[===== Could not get Tab Info$(tabId) in getURLFromTab =====]`, error); + throw ""; + } }; /** - * open new tab + * Open new tab by url * * @param {string} url */ - openNewTab = (url) => { - return new Promise((resolve, reject) => - browser.tabs.create({ url }, function (tab) { - resolve(tab); - }) - ); + openNewTab = async (url) => { + try { + const tab = await browser.tabs.create({ url }); + return tab; + } catch (error) { + console.log(`[===== Error in openNewTab =====]`, error); + return null; + } }; /** * Close specific tab - * @param {} tab - */ - closeTab = (tab) => { - return new Promise((resolve, reject) => - browser.tabs.remove(tab.id, () => { - resolve(); - }) - ); - }; - - /** - * Update Tab - */ - updateTab = (tab, options) => { - return new Promise((resolve, reject) => { - browser.tabs.update(tab.id, options, function (updateTab) { - resolve(updateTab); - }); - }); - }; - - /** - * Get info from tabId + * + * @param {number} tab */ - getTab = (tab) => { - return new Promise((resolve) => { - browser.tabs.get(tab.id, function (newTab) { - resolve(newTab); - }); - }); + closeTab = async (tab) => { + try { + await browser.tabs.remove(tab.id); + } catch (error) { + console.log(`[===== Error in closeTab =====]`, error); + } }; /** * send message */ - sendMessage = (tab, msg) => { - return new Promise((resolve, reject) => - browser.tabs.sendMessage(tab.id, msg, function (response) { - resolve(response); - }) - ); + sendMessage = async (tab, msg) => { + try { + const res = await browser.tabs.sendMessage(tab.id, msg); + return res; + } catch (error) { + console.log(`[===== Error in sendMessage =====]`, error); + return null; + } }; } diff --git a/src/content/messageListener.js b/src/content/messageListener.js index 901f159..c2d27da 100644 --- a/src/content/messageListener.js +++ b/src/content/messageListener.js @@ -1,6 +1,6 @@ export const onRequest = (request) => { - if (request.action === "change-color") { - document.body.style.background = request.data.color; + if (request.msgType === "change-color") { + document.body.style.background = request.color; } }; diff --git a/src/popup/Popup.jsx b/src/popup/Popup.jsx index abed8c8..9226747 100644 --- a/src/popup/Popup.jsx +++ b/src/popup/Popup.jsx @@ -1,13 +1,13 @@ import React from "react"; import Button from "components/Button"; -import sendMessage from "./services/comunicationManager"; +import { sendMessageToActiveTab } from "utils/sendMessages"; function setGreen() { - sendMessage("change-color", { color: "green" }); + sendMessageToActiveTab("change-color", { color: "green" }); } function setRed() { - sendMessage("change-color", { color: "red" }); + sendMessageToActiveTab("change-color", { color: "red" }); } export const Popup = () => ( diff --git a/src/popup/services/comunicationManager.js b/src/popup/services/comunicationManager.js deleted file mode 100755 index 866104a..0000000 --- a/src/popup/services/comunicationManager.js +++ /dev/null @@ -1,8 +0,0 @@ -import browser from "webextension-polyfill"; - -export default function sendMessage(message, data) { - browser.tabs.query({ active: true, currentWindow: true }).then((tabs) => { - const activeTab = tabs[0]; - browser.tabs.sendMessage(activeTab.id, { action: message, data }); - }); -} diff --git a/src/utils/hot-reload.js b/src/utils/hot-reload.js index 01717c3..8c13a04 100755 --- a/src/utils/hot-reload.js +++ b/src/utils/hot-reload.js @@ -7,11 +7,7 @@ const filesInDirectory = (dir) => entries .filter((e) => e.name[0] !== ".") .map((e) => - e.isDirectory - ? filesInDirectory(e) - : new Promise((resolvePromise) => - e.file(resolvePromise) - ) + e.isDirectory ? filesInDirectory(e) : new Promise((resolvePromise) => e.file(resolvePromise)) ) ) .then((files) => [].concat(...files)) @@ -20,9 +16,7 @@ const filesInDirectory = (dir) => ); const timestampForFilesInDirectory = (dir) => - filesInDirectory(dir).then((files) => - files.map((f) => f.name + f.lastModifiedDate).join() - ); + filesInDirectory(dir).then((files) => files.map((f) => f.name + f.lastModifiedDate).join()); const reload = () => { chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { diff --git a/src/utils/sendMessages.js b/src/utils/sendMessages.js index d0b1904..00c76b0 100644 --- a/src/utils/sendMessages.js +++ b/src/utils/sendMessages.js @@ -9,26 +9,43 @@ export const MSG_TYPE = { }; /** - * Send Message to background script + * gen message + * * @param { keyof MSG_TYPE } msgType * @param { {[string]:any} } message */ -export const sendMessage = async (msgType, message) => { - const msg = { +const genMessage = (msgType, message) => { + return { msgType, ...message, }; - console.log("===== Sending Message => ", msg); - return new Promise((resolve, reject) => { - try { - browser.runtime.sendMessage(msg, (response) => { - resolve(response); - }); - } catch (e) { - console.log(" SendMessage Failed => ", e); - reject(e); - } - }); }; -export default sendMessage; +/** + * Send Message to background script + * + * @param { keyof MSG_TYPE } msgType + * @param { {[string]:any} } message + */ +export const sendMessage = async (msgType, message) => { + try { + console.log("===== Sending Message => ", msg); + const res = await browser.runtime.sendMessage(genMessage(msgType, message)); + return res; + } catch (e) { + console.log("[===== Error in SendMessage =====]", e); + return null; + } +}; + +export const sendMessageToActiveTab = async (msgType, message) => { + try { + const tabs = await browser.tabs.query({ active: true, currentWindow: true }); + const activeTab = tabs[0]; + const res = await browser.tabs.sendMessage(activeTab.id, genMessage(msgType, message)); + return res; + } catch (error) { + console.log("[===== Error in sendMessageToActiveTab =====]", error); + return null; + } +}; diff --git a/src/utils/storage.js b/src/utils/storage.js index 93b3833..810b7ee 100755 --- a/src/utils/storage.js +++ b/src/utils/storage.js @@ -1,5 +1,3 @@ import browser from "webextension-polyfill"; -module.exports = browser.storage.sync - ? browser.storage.sync - : browser.storage.local; +export default browser.storage.sync ? browser.storage.sync : browser.storage.local; diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 60218cc..61f29e0 100755 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -21,10 +21,7 @@ const generalConfig = { { loader: "babel-loader", options: { - presets: [ - "@babel/preset-env", - "@babel/preset-react", - ], + presets: ["@babel/preset-env", "@babel/preset-react"], }, }, ], @@ -83,16 +80,8 @@ module.exports = [ output: getOutput("firefox", config.devDirectory), plugins: [ new ESLintPlugin(eslintOptions), - ...getFirefoxCopyPlugins( - "firefox", - config.devDirectory, - config.firefoxPath - ), - ...getHTMLPlugins( - "firefox", - config.devDirectory, - config.firefoxPath - ), + ...getFirefoxCopyPlugins("firefox", config.devDirectory, config.firefoxPath), + ...getHTMLPlugins("firefox", config.devDirectory, config.firefoxPath), ], }, ]; diff --git a/webpack.config.dist.js b/webpack.config.dist.js index cd5402c..7aba4c0 100755 --- a/webpack.config.dist.js +++ b/webpack.config.dist.js @@ -22,10 +22,7 @@ const generalConfig = { { loader: "babel-loader", options: { - presets: [ - "@babel/preset-env", - "@babel/preset-react", - ], + presets: ["@babel/preset-env", "@babel/preset-react"], }, }, ], @@ -75,16 +72,8 @@ module.exports = [ cleanOnceBeforeBuildPatterns: ["dist", "temp"], }), new ESLintPlugin(eslintOptions), - ...getHTMLPlugins( - "chrome", - config.tempDirectory, - config.chromePath - ), - ...getCopyPlugins( - "chrome", - config.tempDirectory, - config.chromePath - ), + ...getHTMLPlugins("chrome", config.tempDirectory, config.chromePath), + ...getCopyPlugins("chrome", config.tempDirectory, config.chromePath), getZipPlugin("chrome", config.distDirectory), ], }, @@ -111,16 +100,8 @@ module.exports = [ cleanOnceBeforeBuildPatterns: ["dist", "temp"], }), new ESLintPlugin(eslintOptions), - ...getHTMLPlugins( - "firefox", - config.tempDirectory, - config.firefoxPath - ), - ...getFirefoxCopyPlugins( - "firefox", - config.tempDirectory, - config.firefoxPath - ), + ...getHTMLPlugins("firefox", config.tempDirectory, config.firefoxPath), + ...getFirefoxCopyPlugins("firefox", config.tempDirectory, config.firefoxPath), getZipPlugin("firefox", config.distDirectory), ], }, diff --git a/webpack.utils.js b/webpack.utils.js index d79259b..2dde157 100755 --- a/webpack.utils.js +++ b/webpack.utils.js @@ -6,19 +6,13 @@ const path = require("path"); const getHTMLPlugins = (browserDir, outputDir = "dev", sourceDir = "src") => [ new HtmlWebpackPlugin({ title: "Popup", - filename: path.resolve( - __dirname, - `${outputDir}/${browserDir}/popup/index.html` - ), + filename: path.resolve(__dirname, `${outputDir}/${browserDir}/popup/index.html`), template: `${sourceDir}/popup/index.html`, chunks: ["popup"], }), new HtmlWebpackPlugin({ title: "Options", - filename: path.resolve( - __dirname, - `${outputDir}/${browserDir}/options/index.html` - ), + filename: path.resolve(__dirname, `${outputDir}/${browserDir}/options/index.html`), template: `${sourceDir}/options/index.html`, chunks: ["options"], }), @@ -36,9 +30,7 @@ const getEntry = (sourceDir = "src") => { popup: [path.resolve(__dirname, `${sourceDir}/popup/index.jsx`)], options: [path.resolve(__dirname, `${sourceDir}/options/options.jsx`)], content: [path.resolve(__dirname, `${sourceDir}/content/index.js`)], - background: [ - path.resolve(__dirname, `${sourceDir}/background/index.js`), - ], + background: [path.resolve(__dirname, `${sourceDir}/background/index.js`)], hotreload: path.resolve(__dirname, `${sourceDir}/utils/hot-reload.js`), }; }; @@ -48,56 +40,34 @@ const getCopyPlugins = (browserDir, outputDir = "dev", sourceDir = "src") => [ patterns: [ { from: `${sourceDir}/assets`, - to: path.resolve( - __dirname, - `${outputDir}/${browserDir}/assets` - ), + to: path.resolve(__dirname, `${outputDir}/${browserDir}/assets`), }, { from: `${sourceDir}/_locales`, - to: path.resolve( - __dirname, - `${outputDir}/${browserDir}/_locales` - ), + to: path.resolve(__dirname, `${outputDir}/${browserDir}/_locales`), }, { from: `${sourceDir}/manifest.json`, - to: path.resolve( - __dirname, - `${outputDir}/${browserDir}/manifest.json` - ), + to: path.resolve(__dirname, `${outputDir}/${browserDir}/manifest.json`), }, ], }), ]; -const getFirefoxCopyPlugins = ( - browserDir, - outputDir = "dev", - sourceDir = "src" -) => [ +const getFirefoxCopyPlugins = (browserDir, outputDir = "dev", sourceDir = "src") => [ new CopyWebpackPlugin({ patterns: [ { from: `${sourceDir}/assets`, - to: path.resolve( - __dirname, - `${outputDir}/${browserDir}/assets` - ), + to: path.resolve(__dirname, `${outputDir}/${browserDir}/assets`), }, { from: `${sourceDir}/_locales`, - to: path.resolve( - __dirname, - `${outputDir}/${browserDir}/_locales` - ), + to: path.resolve(__dirname, `${outputDir}/${browserDir}/_locales`), }, { from: `${sourceDir}/manifest-ff.json`, - to: path.resolve( - __dirname, - `${outputDir}/${browserDir}/manifest.json` - ), + to: path.resolve(__dirname, `${outputDir}/${browserDir}/manifest.json`), }, ], }), diff --git a/yarn.lock b/yarn.lock index 1e6a9e1..c0ea16a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,6 +119,20 @@ resolve "^1.14.2" semver "^6.1.2" +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-explode-assignable-expression@^7.12.13": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" @@ -164,6 +178,13 @@ dependencies: "@babel/types" "^7.13.12" +"@babel/helper-module-imports@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== + dependencies: + "@babel/types" "^7.14.5" + "@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2": version "7.14.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" @@ -190,6 +211,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== +"@babel/helper-plugin-utils@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + "@babel/helper-remap-async-to-generator@^7.13.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" @@ -235,6 +261,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== +"@babel/helper-validator-identifier@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" + integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== + "@babel/helper-validator-option@^7.12.17": version "7.12.17" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" @@ -745,6 +776,18 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" +"@babel/plugin-transform-runtime@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz#30491dad49c6059f8f8fa5ee8896a0089e987523" + integrity sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" @@ -944,6 +987,14 @@ "@babel/helper-validator-identifier" "^7.14.0" to-fast-properties "^2.0.0" +"@babel/types@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" + integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + to-fast-properties "^2.0.0" + "@discoveryjs/json-ext@^0.5.0": version "0.5.3" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" @@ -1497,6 +1548,15 @@ babel-plugin-polyfill-corejs2@^0.2.0: "@babel/helper-define-polyfill-provider" "^0.2.0" semver "^6.1.1" +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + babel-plugin-polyfill-corejs3@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz#f4b4bb7b19329827df36ff56f6e6d367026cb7a2" @@ -1505,6 +1565,14 @@ babel-plugin-polyfill-corejs3@^0.2.0: "@babel/helper-define-polyfill-provider" "^0.2.0" core-js-compat "^3.9.1" +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz#72add68cf08a8bf139ba6e6dfc0b1d504098e57b" + integrity sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.14.0" + babel-plugin-polyfill-regenerator@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz#853f5f5716f4691d98c84f8069c7636ea8da7ab8" @@ -1512,6 +1580,13 @@ babel-plugin-polyfill-regenerator@^0.2.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.2.0" +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1794,6 +1869,14 @@ copy-webpack-plugin@^8.1.1: schema-utils "^3.0.0" serialize-javascript "^5.0.1" +core-js-compat@^3.14.0: + version "3.15.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.15.2.tgz#47272fbb479880de14b4e6081f71f3492f5bd3cb" + integrity sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ== + dependencies: + browserslist "^4.16.6" + semver "7.0.0" + core-js-compat@^3.9.0, core-js-compat@^3.9.1: version "3.12.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.12.1.tgz#2c302c4708505fa7072b0adb5156d26f7801a18b"