1
mirror of https://github.com/jakejarvis/website-stats.git synced 2026-04-17 20:18:42 -04:00

initial commit

This commit is contained in:
2021-07-09 14:42:12 -04:00
commit 13cff57e7d
8 changed files with 708 additions and 0 deletions

17
.github/workflows/daily.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: Daily snapshot
on:
schedule:
- cron: '0 4 * * *' # run every day at 4 AM
workflow_dispatch:
jobs:
snapshot:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
- run: yarn install
- run: yarn run daily

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules/

5
README.md Normal file
View File

@@ -0,0 +1,5 @@
# website-stats
[![Daily snapshot](https://github.com/jakejarvis/website-stats/actions/workflows/daily.yml/badge.svg)](https://github.com/jakejarvis/website-stats/actions/workflows/daily.yml)
Daily snapshots of [my website](https://jarv.is/)'s hit counter data.

149
data/2021-07-07.json Normal file
View File

@@ -0,0 +1,149 @@
[
{
"slug": "notes/how-to-pull-request-fork-github",
"hits": 85825,
"title": "How To: Fork a GitHub Repository & Submit a Pull Request",
"url": "https://jarv.is/notes/how-to-pull-request-fork-github/",
"date": "2019-04-09T06:17:03.000+00:00"
},
{
"slug": "notes/how-to-backup-linux-server",
"hits": 56532,
"title": "How To: Automatically Backup a Linux VPS to a Separate Cloud Storage Service",
"url": "https://jarv.is/notes/how-to-backup-linux-server/",
"date": "2019-06-09T23:03:10.000+00:00"
},
{
"slug": "notes/shodan-search-queries",
"hits": 29032,
"title": "Fascinating & Frightening Shodan Search Queries (AKA: The Internet of Sh*t)",
"url": "https://jarv.is/notes/shodan-search-queries/",
"date": "2019-09-19T13:56:10.000+00:00"
},
{
"slug": "notes/github-rename-master",
"hits": 15104,
"title": "How To: Safely Rename master Branch on GitHub ✊🏾",
"url": "https://jarv.is/notes/github-rename-master/",
"date": "2020-06-28T13:28:52.000+00:00"
},
{
"slug": "notes/coronavirus-open-source",
"hits": 10997,
"title": "COVID-19 vs. the Open Source Community ⚔️",
"url": "https://jarv.is/notes/coronavirus-open-source/",
"date": "2020-03-23T19:17:09.000+00:00"
},
{
"slug": "notes/cloudflare-dns-archive-is-blocked",
"hits": 9593,
"title": "Does Cloudflare's 1.1.1.1 DNS Block Archive.is?",
"url": "https://jarv.is/notes/cloudflare-dns-archive-is-blocked/",
"date": "2019-05-04T13:35:12.000+00:00"
},
{
"slug": "notes/finding-candidates-subdomain-takeovers",
"hits": 6298,
"title": "Finding Candidates for Subdomain Takeovers",
"url": "https://jarv.is/notes/finding-candidates-subdomain-takeovers/",
"date": "2019-03-10T15:19:48.000+00:00"
},
{
"slug": "notes/how-to-shrink-linux-virtual-disk-vmware",
"hits": 5376,
"title": "How To: Shrink a Linux Virtual Machine Disk with VMware",
"url": "https://jarv.is/notes/how-to-shrink-linux-virtual-disk-vmware/",
"date": "2018-12-04T23:10:04.000+00:00"
},
{
"slug": "notes/css-waving-hand-emoji",
"hits": 3726,
"title": "Animated Waving Hand Emoji 👋 Using CSS",
"url": "https://jarv.is/notes/css-waving-hand-emoji/",
"date": "2019-04-17T18:20:10.000+00:00"
},
{
"slug": "notes/dark-mode",
"hits": 3595,
"title": "How To: Add Dark Mode to a Website 🌓",
"url": "https://jarv.is/notes/dark-mode/",
"date": "2020-04-29T16:14:09.000+00:00"
},
{
"slug": "notes/netlify-analytics-review",
"hits": 1594,
"title": "Netlify Analytics Review",
"url": "https://jarv.is/notes/netlify-analytics-review/",
"date": "2019-11-13T13:21:22.000+00:00"
},
{
"slug": "notes/y2k-sandbox",
"hits": 1363,
"title": "I Made A Thing, Powered by Windows Me™",
"url": "https://jarv.is/notes/y2k-sandbox/",
"date": "2020-06-06T14:05:23.000+00:00"
},
{
"slug": "notes/dropping-dropbox",
"hits": 1292,
"title": "Why I'm Dropping Dropbox",
"url": "https://jarv.is/notes/dropping-dropbox/",
"date": "2019-11-20T21:22:43.000+00:00"
},
{
"slug": "notes/github-actions",
"hits": 1084,
"title": "I ❤️ GitHub Actions",
"url": "https://jarv.is/notes/github-actions/",
"date": "2019-10-25T17:58:39.000+00:00"
},
{
"slug": "notes/presidential-candidates-404-pages",
"hits": 997,
"title": "Ranking 2020 Presidential Candidates's 404 Pages",
"url": "https://jarv.is/notes/presidential-candidates-404-pages/",
"date": "2019-10-30T17:58:39.000+00:00"
},
{
"slug": "notes/security-headers-cloudflare-workers",
"hits": 825,
"title": "Adding Security Headers Using Cloudflare Workers",
"url": "https://jarv.is/notes/security-headers-cloudflare-workers/",
"date": "2019-02-28T07:18:10.000+00:00"
},
{
"slug": "notes/bernie-sanders-bern-app-data",
"hits": 778,
"title": "Bernie Sanders' Creepy \"BERN\" App Wants Your Data...From Your Best Friends",
"url": "https://jarv.is/notes/bernie-sanders-bern-app-data/",
"date": "2019-05-08T14:31:02.000+00:00"
},
{
"slug": "notes/cool-bash-tricks-for-your-terminal-dotfiles",
"hits": 343,
"title": "Cool Bash Tricks for Your Terminal's \"Dotfiles\"",
"url": "https://jarv.is/notes/cool-bash-tricks-for-your-terminal-dotfiles/",
"date": "2018-12-11T00:01:50.000+00:00"
},
{
"slug": "notes/my-first-code",
"hits": 316,
"title": "My First Code: Jake's Bulletin Board",
"url": "https://jarv.is/notes/my-first-code/",
"date": "2019-10-01T12:34:25.000+00:00"
},
{
"slug": "notes/millenial-with-hillary-clinton",
"hits": 303,
"title": "Why This Millennial Is With Hillary Clinton Now — and Why We All Need To Be In November",
"url": "https://jarv.is/notes/millenial-with-hillary-clinton/",
"date": "2016-02-29T04:10:26.000+00:00"
},
{
"slug": "notes/no-homo-still-raps-motto",
"hits": 143,
"title": "\"No Homo!\" — Still Rap's Motto in 2012?",
"url": "https://jarv.is/notes/no-homo-still-raps-motto/",
"date": "2013-11-22T15:58:20.000+00:00"
}
]

149
data/2021-07-08.json Normal file
View File

@@ -0,0 +1,149 @@
[
{
"slug": "notes/how-to-pull-request-fork-github",
"hits": 85838,
"title": "How To: Fork a GitHub Repository & Submit a Pull Request",
"url": "https://jarv.is/notes/how-to-pull-request-fork-github/",
"date": "2019-04-09T06:17:03.000+00:00"
},
{
"slug": "notes/how-to-backup-linux-server",
"hits": 56533,
"title": "How To: Automatically Backup a Linux VPS to a Separate Cloud Storage Service",
"url": "https://jarv.is/notes/how-to-backup-linux-server/",
"date": "2019-06-09T23:03:10.000+00:00"
},
{
"slug": "notes/shodan-search-queries",
"hits": 29040,
"title": "Fascinating & Frightening Shodan Search Queries (AKA: The Internet of Sh*t)",
"url": "https://jarv.is/notes/shodan-search-queries/",
"date": "2019-09-19T13:56:10.000+00:00"
},
{
"slug": "notes/github-rename-master",
"hits": 15107,
"title": "How To: Safely Rename master Branch on GitHub ✊🏾",
"url": "https://jarv.is/notes/github-rename-master/",
"date": "2020-06-28T13:28:52.000+00:00"
},
{
"slug": "notes/coronavirus-open-source",
"hits": 10997,
"title": "COVID-19 vs. the Open Source Community ⚔️",
"url": "https://jarv.is/notes/coronavirus-open-source/",
"date": "2020-03-23T19:17:09.000+00:00"
},
{
"slug": "notes/cloudflare-dns-archive-is-blocked",
"hits": 9595,
"title": "Does Cloudflare's 1.1.1.1 DNS Block Archive.is?",
"url": "https://jarv.is/notes/cloudflare-dns-archive-is-blocked/",
"date": "2019-05-04T13:35:12.000+00:00"
},
{
"slug": "notes/finding-candidates-subdomain-takeovers",
"hits": 6298,
"title": "Finding Candidates for Subdomain Takeovers",
"url": "https://jarv.is/notes/finding-candidates-subdomain-takeovers/",
"date": "2019-03-10T15:19:48.000+00:00"
},
{
"slug": "notes/how-to-shrink-linux-virtual-disk-vmware",
"hits": 5380,
"title": "How To: Shrink a Linux Virtual Machine Disk with VMware",
"url": "https://jarv.is/notes/how-to-shrink-linux-virtual-disk-vmware/",
"date": "2018-12-04T23:10:04.000+00:00"
},
{
"slug": "notes/css-waving-hand-emoji",
"hits": 3731,
"title": "Animated Waving Hand Emoji 👋 Using CSS",
"url": "https://jarv.is/notes/css-waving-hand-emoji/",
"date": "2019-04-17T18:20:10.000+00:00"
},
{
"slug": "notes/dark-mode",
"hits": 3595,
"title": "How To: Add Dark Mode to a Website 🌓",
"url": "https://jarv.is/notes/dark-mode/",
"date": "2020-04-29T16:14:09.000+00:00"
},
{
"slug": "notes/netlify-analytics-review",
"hits": 1594,
"title": "Netlify Analytics Review",
"url": "https://jarv.is/notes/netlify-analytics-review/",
"date": "2019-11-13T13:21:22.000+00:00"
},
{
"slug": "notes/y2k-sandbox",
"hits": 1363,
"title": "I Made A Thing, Powered by Windows Me™",
"url": "https://jarv.is/notes/y2k-sandbox/",
"date": "2020-06-06T14:05:23.000+00:00"
},
{
"slug": "notes/dropping-dropbox",
"hits": 1292,
"title": "Why I'm Dropping Dropbox",
"url": "https://jarv.is/notes/dropping-dropbox/",
"date": "2019-11-20T21:22:43.000+00:00"
},
{
"slug": "notes/github-actions",
"hits": 1084,
"title": "I ❤️ GitHub Actions",
"url": "https://jarv.is/notes/github-actions/",
"date": "2019-10-25T17:58:39.000+00:00"
},
{
"slug": "notes/presidential-candidates-404-pages",
"hits": 997,
"title": "Ranking 2020 Presidential Candidates's 404 Pages",
"url": "https://jarv.is/notes/presidential-candidates-404-pages/",
"date": "2019-10-30T17:58:39.000+00:00"
},
{
"slug": "notes/security-headers-cloudflare-workers",
"hits": 825,
"title": "Adding Security Headers Using Cloudflare Workers",
"url": "https://jarv.is/notes/security-headers-cloudflare-workers/",
"date": "2019-02-28T07:18:10.000+00:00"
},
{
"slug": "notes/bernie-sanders-bern-app-data",
"hits": 778,
"title": "Bernie Sanders' Creepy \"BERN\" App Wants Your Data...From Your Best Friends",
"url": "https://jarv.is/notes/bernie-sanders-bern-app-data/",
"date": "2019-05-08T14:31:02.000+00:00"
},
{
"slug": "notes/cool-bash-tricks-for-your-terminal-dotfiles",
"hits": 343,
"title": "Cool Bash Tricks for Your Terminal's \"Dotfiles\"",
"url": "https://jarv.is/notes/cool-bash-tricks-for-your-terminal-dotfiles/",
"date": "2018-12-11T00:01:50.000+00:00"
},
{
"slug": "notes/my-first-code",
"hits": 316,
"title": "My First Code: Jake's Bulletin Board",
"url": "https://jarv.is/notes/my-first-code/",
"date": "2019-10-01T12:34:25.000+00:00"
},
{
"slug": "notes/millenial-with-hillary-clinton",
"hits": 303,
"title": "Why This Millennial Is With Hillary Clinton Now — and Why We All Need To Be In November",
"url": "https://jarv.is/notes/millenial-with-hillary-clinton/",
"date": "2016-02-29T04:10:26.000+00:00"
},
{
"slug": "notes/no-homo-still-raps-motto",
"hits": 144,
"title": "\"No Homo!\" — Still Rap's Motto in 2012?",
"url": "https://jarv.is/notes/no-homo-still-raps-motto/",
"date": "2013-11-22T15:58:20.000+00:00"
}
]

18
package.json Normal file
View File

@@ -0,0 +1,18 @@
{
"name": "website-stats",
"version": "1.3.37",
"repository": "https://github.com/jakejarvis/website-stats.git",
"author": "Jake Jarvis <jake@jarv.is>",
"private": true,
"scripts": {
"daily": "node scripts/daily.js"
},
"dependencies": {
"fs-extra": "^10.0.0",
"got": "^11.8.2",
"luxon": "^1.27.0",
"pkg-dir": "^5.0.0",
"prettier": "^2.3.2",
"simple-git": "^2.40.0"
}
}

48
scripts/daily.js Normal file
View File

@@ -0,0 +1,48 @@
const path = require("path");
const fs = require("fs-extra");
const pkgDir = require("pkg-dir");
const got = require("got");
const simpleGit = require("simple-git");
const { DateTime } = require("luxon");
const prettier = require("prettier");
// https://github.com/jakejarvis/jarv.is/blob/main/api/hits.ts#L101
const API_ENDPOINT = "https://jarv.is/api/hits/";
(async () => {
// find our bearings
const rootDir = await pkgDir(__dirname);
const today = DateTime.now().toISODate();
const jsonFile = path.join(rootDir, "data", `${today}.json`);
// pull the latest stats from API
console.info("📡 Fetching latest data from API...");
const { body } = await got(API_ENDPOINT, { responseType: "json" });
// write pretty JSON to timestamped file
console.info(`✏️ Writing data to ${jsonFile} ...`);
await fs.outputFile(
jsonFile,
prettier.format(JSON.stringify(body.pages), { parser: "json" })
);
// automatically push changes only if running from CI
if (process.env.GITHUB_ACTION) {
console.info("🤖 Detected CI: committing new data to repo and pushing back...");
// the repo is located one level up from this script
const git = simpleGit({ baseDir: rootDir });
// let a generic GitHub bot user author this commit instead of me:
// https://github.community/t/github-actions-bot-email-address/17204/5
git.addConfig("user.name", "github-actions[bot]");
git.addConfig("user.email", "41898282+github-actions[bot]@users.noreply.github.com");
// do the normal git stuff
await git.add([ jsonFile ]);
await git.commit(`📈 Add new snapshot for ${today}`);
await git.push("origin", "main");
} else {
console.info("🤖 Didn't detect CI: skipping Git steps...");
}
})();

321
yarn.lock Normal file
View File

@@ -0,0 +1,321 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@kwsites/file-exists@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99"
integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==
dependencies:
debug "^4.1.1"
"@kwsites/promise-deferred@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919"
integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==
"@sindresorhus/is@^4.0.0":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5"
integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==
"@szmarczak/http-timer@^4.0.5":
version "4.0.5"
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152"
integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==
dependencies:
defer-to-connect "^2.0.0"
"@types/cacheable-request@^6.0.1":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9"
integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==
dependencies:
"@types/http-cache-semantics" "*"
"@types/keyv" "*"
"@types/node" "*"
"@types/responselike" "*"
"@types/http-cache-semantics@*":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
"@types/keyv@*":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.2.tgz#5d97bb65526c20b6e0845f6b0d2ade4f28604ee5"
integrity sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==
dependencies:
"@types/node" "*"
"@types/node@*":
version "16.3.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.0.tgz#1836664e4fad13b51b07eb6e882a53925e6543c4"
integrity sha512-OydMCocGMGqw/1BnWbhtK+AtwyWTOigtrQlRe57OQmTNcI3HKlVI5FGlh+c4mSqInMPLynFrTlYjfajPu9O/eQ==
"@types/responselike@*", "@types/responselike@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
dependencies:
"@types/node" "*"
cacheable-lookup@^5.0.3:
version "5.0.4"
resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
cacheable-request@^7.0.1:
version "7.0.2"
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27"
integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
dependencies:
clone-response "^1.0.2"
get-stream "^5.1.0"
http-cache-semantics "^4.0.0"
keyv "^4.0.0"
lowercase-keys "^2.0.0"
normalize-url "^6.0.1"
responselike "^2.0.0"
clone-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
dependencies:
mimic-response "^1.0.0"
debug@^4.1.1, debug@^4.3.1:
version "4.3.2"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
dependencies:
ms "2.1.2"
decompress-response@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
dependencies:
mimic-response "^3.1.0"
defer-to-connect@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
end-of-stream@^1.1.0:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
dependencies:
once "^1.4.0"
find-up@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
dependencies:
locate-path "^6.0.0"
path-exists "^4.0.0"
fs-extra@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
get-stream@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
dependencies:
pump "^3.0.0"
got@^11.8.2:
version "11.8.2"
resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599"
integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==
dependencies:
"@sindresorhus/is" "^4.0.0"
"@szmarczak/http-timer" "^4.0.5"
"@types/cacheable-request" "^6.0.1"
"@types/responselike" "^1.0.0"
cacheable-lookup "^5.0.3"
cacheable-request "^7.0.1"
decompress-response "^6.0.0"
http2-wrapper "^1.0.0-beta.5.2"
lowercase-keys "^2.0.0"
p-cancelable "^2.0.0"
responselike "^2.0.0"
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.6"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
http-cache-semantics@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
http2-wrapper@^1.0.0-beta.5.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
dependencies:
quick-lru "^5.1.1"
resolve-alpn "^1.0.0"
json-buffer@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
dependencies:
universalify "^2.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
keyv@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254"
integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==
dependencies:
json-buffer "3.0.1"
locate-path@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
dependencies:
p-locate "^5.0.0"
lowercase-keys@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
luxon@^1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.27.0.tgz#ae10c69113d85dab8f15f5e8390d0cbeddf4f00f"
integrity sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==
mimic-response@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
mimic-response@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
normalize-url@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
p-cancelable@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
p-limit@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
dependencies:
yocto-queue "^0.1.0"
p-locate@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
dependencies:
p-limit "^3.0.2"
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
pkg-dir@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
dependencies:
find-up "^5.0.0"
prettier@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d"
integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
quick-lru@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
resolve-alpn@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.1.2.tgz#30b60cfbb0c0b8dc897940fe13fe255afcdd4d28"
integrity sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==
responselike@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723"
integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==
dependencies:
lowercase-keys "^2.0.0"
simple-git@^2.40.0:
version "2.40.0"
resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-2.40.0.tgz#1f9da964caa032290ec25cb06ccacc2c17d99d75"
integrity sha512-7IO/eQwrN5kvS38TTu9ljhG9tx2nn0BTqZOmqpPpp51TvE44YIvLA6fETqEVA8w/SeEfPaVv6mk7Tsk9Jns+ag==
dependencies:
"@kwsites/file-exists" "^1.1.1"
"@kwsites/promise-deferred" "^1.1.1"
debug "^4.3.1"
universalify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==