diff --git a/packages/gatsby-plugin-sharp/package.json b/packages/gatsby-plugin-sharp/package.json index 1068956b84219..391e7b2bb3cce 100644 --- a/packages/gatsby-plugin-sharp/package.json +++ b/packages/gatsby-plugin-sharp/package.json @@ -17,7 +17,6 @@ "gatsby-core-utils": "^3.21.0-next.2", "gatsby-plugin-utils": "^3.15.0-next.2", "gatsby-telemetry": "^3.21.0-next.2", - "got": "^11.8.5", "lodash": "^4.17.21", "mini-svg-data-uri": "^1.4.4", "probe-image-size": "^7.2.3", diff --git a/packages/gatsby-source-contentful/package.json b/packages/gatsby-source-contentful/package.json index 5d313288199c9..2076a219d8a2f 100644 --- a/packages/gatsby-source-contentful/package.json +++ b/packages/gatsby-source-contentful/package.json @@ -19,7 +19,7 @@ "gatsby-core-utils": "^3.21.0-next.2", "gatsby-plugin-utils": "^3.15.0-next.2", "gatsby-source-filesystem": "^4.21.0-next.3", - "is-online": "^8.5.1", + "is-online": "^9.0.1", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.21", "node-fetch": "^2.6.7", diff --git a/packages/gatsby-source-filesystem/package.json b/packages/gatsby-source-filesystem/package.json index aafd05464b689..f753e5ce62264 100644 --- a/packages/gatsby-source-filesystem/package.json +++ b/packages/gatsby-source-filesystem/package.json @@ -12,7 +12,6 @@ "file-type": "^16.5.4", "fs-extra": "^10.1.0", "gatsby-core-utils": "^3.21.0-next.2", - "got": "^9.6.0", "md5-file": "^5.0.0", "mime": "^2.5.2", "pretty-bytes": "^5.4.1", diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index 19200f3f0524b..b33cf41b141f8 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -104,7 +104,7 @@ "gatsby-worker": "^1.21.0-next.0", "glob": "^7.2.3", "globby": "^11.1.0", - "got": "^11.8.2", + "got": "^11.8.5", "graphql": "^15.7.2", "graphql-compose": "^9.0.7", "graphql-playground-middleware-express": "^1.7.22", diff --git a/scripts/gatsby-plugin-checker/.env b/scripts/gatsby-plugin-checker/.env deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/scripts/gatsby-plugin-checker/README.md b/scripts/gatsby-plugin-checker/README.md deleted file mode 100644 index ef86e96a40df6..0000000000000 --- a/scripts/gatsby-plugin-checker/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# gatsby-plugin-checker - -This script searches the npm API for plugins that start with either "gatsby-source", "gatsby-plugin", or "gatsby-transformer" but don't have the "gatsby-plugin" keyword in their `package.json` and thus are not included in Gatsby's keyword search. The script will then notify those repositories by creating an issue notifying them to add the keyword to their `package.json` (This functionality will be included in the next commit). Once a repo has been notified, its `notified` attribute will be changed to `true` in `plugins.json` and won't be notified. Similarly, if a repo is a false positive or doesn't want to be notified, it can be `blacklisted`. - -To run this script you need to: - -1. Create a `.env` file in this directory (You shouldn't commit this file) -1. Add a variable called `GITHUB_API_TOKEN` and set it to your Personal Access token (Find instructions for generating this [here](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line)) diff --git a/scripts/gatsby-plugin-checker/index.js b/scripts/gatsby-plugin-checker/index.js deleted file mode 100644 index 4193f073b56de..0000000000000 --- a/scripts/gatsby-plugin-checker/index.js +++ /dev/null @@ -1,165 +0,0 @@ -"use strict" - -const fs = require(`fs`) -const got = require(`got`) -const path = require(`path`) -require(`dotenv`).config() - -const keywords = [`gatsby-plugin`, `gatsby-source`, `gatsby-transformer`] -const pluginsFile = path.join(__dirname, `plugins.json`) - -const loadPlugins = async () => require(pluginsFile) - -const savePlugins = plugins => - new Promise((resolve, reject) => { - let output = `[\n\t` - output += plugins - .sort((a, b) => { - if (a.name < b.name) { - return -1 - } - if (a.name > b.name) { - return 1 - } - return 0 - }) - .map(p => JSON.stringify(p)) - .join(`,\n\t`) - output += `\n]\n` - fs.writeFile(pluginsFile, output, err => { - if (err) reject(err) - resolve() - }) - }) - -const searchNPM = () => { - const promises = keywords.map(keyword => { - const url = `https://api.npms.io/v2/search?q=${keyword}+keywords:-gatsby-plugin+not:deprecated&size=250` - return got(url).then(response => JSON.parse(response.body)) - }) - return Promise.all(promises) -} - -const transformResults = results => { - const merged = results.reduce((t, r) => t.concat(r.results), []) - const deduped = merged.reduce((t, r) => { - t[r.package.name] = t[r.package.name] || r.package - return t - }, {}) - return Object.keys(deduped).map(d => deduped[d]) -} - -const filterNotBlacklisted = (packages, plugins) => { - const blacklisted = plugins.filter(p => p.blacklist).map(p => p.name) - return packages.filter(pkg => blacklisted.indexOf(pkg.name) < 0) -} - -const filterNotNotified = (packages, plugins) => { - const notified = plugins.filter(p => p.notified).map(p => p.name) - return packages.filter(pkg => notified.indexOf(pkg.name) < 0) -} - -const removePackagesWithoutRepository = packages => - packages.filter(pkg => !!pkg.links.repository) - -const removeBadNameFormats = packages => packages.filter(p => hasGoodName(p)) - -const hasGoodName = pkg => { - const name = pkg.name - const isScopedPackage = name.startsWith(`@`) - if (!isScopedPackage) { - return startsWithAllowedPrefix(name) - } - - const nameWithoutScope = name.slice(0, name.indexOf(`/`)) - return startsWithAllowedPrefix(nameWithoutScope) -} - -const startsWithAllowedPrefix = name => - keywords.some(keyword => name.startsWith(keyword)) - -const removePackagesWithoutReadme = packages => - packages.filter(pkg => hasReadMe(pkg)) - -const hasReadMe = pkg => { - if (pkg.links.homepage || pkg.readme) return true - if (pkg.links.repository) { - return got(pkg.links.repository + `/blob/master/README.md`) - .then(response => response.statusCode === 200) - .catch(_ => false) - } else return false -} - -const updatePlugins = (updates, plugins) => { - const res = plugins.map(p => Object.assign({}, p)) - updates.forEach(u => { - const idx = res.findIndex(r => r.name === u.name) - if (idx >= 0) { - res[idx] = Object.assign({}, res[idx], u) - } else { - res.push(u) - } - }) - return updates -} - -const filterArchived = plugins => { - if (!process.env.GITHUB_API_TOKEN) { - throw new Error( - `Please use instructions in README.md to setup GITHUB_API_TOKEN` - ) - } - - const promises = plugins.map(plugin => { - const [username, packageName] = plugin.links.repository.split(`/`).slice(-2) - const url = `https://api.github.com/repos/${username}/${packageName}` - return got(url, { - headers: { - Authorization: `token ${process.env.GITHUB_API_TOKEN}`, - }, - }) - .then(response => JSON.parse(response.body)) - .then(repo => { - return { [packageName]: repo.archived } - }) - .catch(_ => { - return { [packageName]: false } - }) - }) - - return Promise.all(promises) - .then(resultsArray => - resultsArray.reduce((obj, result) => Object.assign(obj, result)) - ) - .then(result => plugins.filter(plugin => !result[plugin.name])) -} - -const main = () => { - loadPlugins() - .then(plugins => - searchNPM() - .then(transformResults) - .then(packages => filterNotBlacklisted(packages, plugins)) - .then(packages => filterNotNotified(packages, plugins)) - .then(packages => removePackagesWithoutRepository(packages)) - .then(packages => removeBadNameFormats(packages)) - .then(packages => removePackagesWithoutReadme(packages)) - .then(packages => filterArchived(packages)) - .then(packages => - packages.map(p => { - // TODO: notify / comment on GitHub - console.info(`Notify package "${p.name}"`) - // return update status - // will turn notified to true once notifications are created - return { name: p.name, blacklist: false, notified: false } - }) - ) - .then(updates => updatePlugins(updates, plugins)) - .then(savePlugins) - ) - .catch(err => { - console.error(err) - }) -} - -main() diff --git a/scripts/gatsby-plugin-checker/package.json b/scripts/gatsby-plugin-checker/package.json deleted file mode 100644 index fb19d5d56e71b..0000000000000 --- a/scripts/gatsby-plugin-checker/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "gatsby-plugin-checker", - "version": "1.0.0", - "description": "Checks for Gatsby plugins on NPM without the gatsby-plugin keyword.", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "start": "node index" - }, - "author": "Osmond van Hemert ", - "license": "MIT", - "dependencies": { - "dotenv": "^8.0.0", - "got": "^9.0.0" - } -} diff --git a/scripts/gatsby-plugin-checker/plugins.json b/scripts/gatsby-plugin-checker/plugins.json deleted file mode 100644 index a406c626eb7ad..0000000000000 --- a/scripts/gatsby-plugin-checker/plugins.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - { "name": "gatsby-plugin-channel", "blacklist": false, "notified": false }, - { "name": "gatsby-plugin-copy-files", "blacklist": false, "notified": false }, - { "name": "gatsby-plugin-core-js", "blacklist": false, "notified": false }, - { "name": "gatsby-plugin-drip", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-escalade-stock", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-facebook-sdk", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-favicon-mperkh", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-favicons", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-github-pages", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-google-fonts", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-graphql", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-i18n-extension", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-iamport", "blacklist": false, "notified": false }, - { "name": "gatsby-plugin-landr", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-module-local-ident-name", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-mui", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-netlify-lambda", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-ngrok-tunneling", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-polyfill-cdn", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-product-markdown-pages", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-production", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-protoculture", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-purify-css", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-react-webfont-loader", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-sass-bulk-import", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-plugin-size-analyzer", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-snowplow", "blacklist": false, "notified": false }, - { - "name": "gatsby-plugin-source-john-deere", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-plugin-zygote", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-airtable-linked", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-source-anilist", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-gcloud-object", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-source-gdrive-tree", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-source-github-api", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-google-calendar", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-source-google-sheet", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-source-itchio", "blacklist": false, "notified": false }, - { "name": "gatsby-source-jira", "blacklist": false, "notified": false }, - { "name": "gatsby-source-jsonapi", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-medium-posts", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-source-mongo", "blacklist": false, "notified": false }, - { "name": "gatsby-source-nba", "blacklist": false, "notified": false }, - { "name": "gatsby-source-newsapi", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-product-markdown", - "blacklist": false, - "notified": false - }, - { - "name": "gatsby-source-published-google-sheets", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-source-sapcc", "blacklist": false, "notified": false }, - { "name": "gatsby-source-soundcloud", "blacklist": false, "notified": false }, - { "name": "gatsby-source-steam", "blacklist": false, "notified": false }, - { "name": "gatsby-source-twitch", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-twitter-users", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-source-utopian", "blacklist": false, "notified": false }, - { - "name": "gatsby-source-wordpress-bcgdv", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-transformer-exif", "blacklist": false, "notified": false }, - { - "name": "gatsby-transformer-geojson", - "blacklist": false, - "notified": false - }, - { "name": "gatsby-transformer-ipynb", "blacklist": false, "notified": false }, - { "name": "gatsby-transformer-nimbl", "blacklist": false, "notified": false }, - { "name": "gatsby-transformer-whoa", "blacklist": false, "notified": false } -] diff --git a/yarn.lock b/yarn.lock index 541b949d1fa29..5447867de3a92 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2832,6 +2832,11 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -9736,19 +9741,19 @@ direction@^2.0.0: resolved "https://registry.yarnpkg.com/direction/-/direction-2.0.1.tgz#71800dd3c4fa102406502905d3866e65bdebb985" integrity sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA== -dns-packet@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.2.1.tgz#26cec0be92252a1b97ed106482921192a7e08f72" - integrity sha512-JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w== +dns-packet@^5.2.4: + version "5.4.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" + integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== dependencies: - ip "^1.1.5" + "@leichtgewicht/ip-codec" "^2.0.1" -dns-socket@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dns-socket/-/dns-socket-4.2.0.tgz#92575505c4c18ac3ad241f4bb3ff4369761557e9" - integrity sha512-4XuD3z28jht3jvHbiom6fAipgG5LkjYeDLrX5OH8cbl0AtzTyUUAxGckcW8T7z0pLfBBV5qOiuC4wUEohk6FrQ== +dns-socket@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/dns-socket/-/dns-socket-4.2.2.tgz#58b0186ec053ea0731feb06783c7eeac4b95b616" + integrity sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg== dependencies: - dns-packet "^5.1.2" + dns-packet "^5.2.4" dnserrors@2.1.2: version "2.1.2" @@ -12373,7 +12378,7 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -got@^11.8.2, got@^11.8.5: +got@^11.8.0, got@^11.8.5: version "11.8.5" resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== @@ -13756,7 +13761,7 @@ ip-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== -ip@1.1.5, ip@^1.1.5: +ip@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -14149,15 +14154,15 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-online@^8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/is-online/-/is-online-8.5.1.tgz#bcc6970c6a3fad552a41738c0f0d0737b0ce6e63" - integrity sha512-RKyTQx/rJqw2QOXHwy7TmXdlkpe0Hhj7GBsr6TQJaj4ebNOfameZCMspU5vYbwBBzJ2brWArdSvNVox6T6oCTQ== +is-online@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/is-online/-/is-online-9.0.1.tgz#71a34202fa826bae6f3ff8bea420c56573448a5f" + integrity sha512-+08dRW0dcFOtleR2N3rHRVxDyZtQitUp9cC+KpKTds0mXibbQyW5js7xX0UGyQXkaLUJObe0w6uQ4ex34lX9LA== dependencies: - got "^9.6.0" - p-any "^2.0.0" - p-timeout "^3.0.0" - public-ip "^4.0.1" + got "^11.8.0" + p-any "^3.0.0" + p-timeout "^3.2.0" + public-ip "^4.0.4" is-path-cwd@^1.0.0: version "1.0.0" @@ -18704,14 +18709,13 @@ p-all@^2.1.0: dependencies: p-map "^2.0.0" -p-any@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-any/-/p-any-2.1.0.tgz#719489408e14f5f941a748f1e817f5c71cab35cb" - integrity sha512-JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg== +p-any@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-any/-/p-any-3.0.0.tgz#79847aeed70b5d3a10ea625296c0c3d2e90a87b9" + integrity sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w== dependencies: p-cancelable "^2.0.0" - p-some "^4.0.0" - type-fest "^0.3.0" + p-some "^5.0.0" p-cancelable@^1.0.0: version "1.1.0" @@ -18861,10 +18865,10 @@ p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" -p-some@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-some/-/p-some-4.1.0.tgz#28e73bc1e0d62db54c2ed513acd03acba30d5c04" - integrity sha512-MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g== +p-some@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-some/-/p-some-5.0.0.tgz#8b730c74b4fe5169d7264a240ad010b6ebc686a4" + integrity sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig== dependencies: aggregate-error "^3.0.0" p-cancelable "^2.0.0" @@ -18874,7 +18878,7 @@ p-throttle@^4.1.1: resolved "https://registry.yarnpkg.com/p-throttle/-/p-throttle-4.1.1.tgz#80b1fbd358af40a8bfa1667f9dc8b72b714ad692" integrity sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g== -p-timeout@^3.0.0, p-timeout@^3.1.0, p-timeout@^3.2.0: +p-timeout@^3.1.0, p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== @@ -20505,12 +20509,12 @@ psl@^1.1.24, psl@^1.1.28, psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -public-ip@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/public-ip/-/public-ip-4.0.1.tgz#588ee2f6a889d6703fb8c41521e095f2773d6427" - integrity sha512-uy7G5RtP7MH9KILMX6cschB9aOxxRwFo0zv7Lf+ZXIw5IrH4EfdKQfACIwUEFilEHtkgJ9lpRfggwi1GVzN2vw== +public-ip@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/public-ip/-/public-ip-4.0.4.tgz#b3784a5a1ff1b81d015b9a18450be65ffd929eb3" + integrity sha512-EJ0VMV2vF6Cu7BIPo3IMW1Maq6ME+fbR0NcPmqDfpfNGIRPue1X8QrGjrg/rfjDkOsIkKHIf2S5FlEa48hFMTA== dependencies: - dns-socket "^4.2.0" + dns-socket "^4.2.2" got "^9.6.0" is-ip "^3.1.0"