mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-10-29 02:35:48 -04:00
node 16 is now LTS
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
},
|
||||
"features": {
|
||||
"git": "os-provided",
|
||||
"node": "14"
|
||||
"node": "16"
|
||||
},
|
||||
|
||||
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||
|
||||
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
fetch-depth: 1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14.x
|
||||
node-version: 16.x
|
||||
cache: yarn
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn build
|
||||
|
||||
2
.github/workflows/post-deploy.yml
vendored
2
.github/workflows/post-deploy.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
fetch-depth: 10
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14.x
|
||||
node-version: 16.x
|
||||
- uses: getsentry/action-release@v1
|
||||
if: github.event.deployment_status.environment == 'production'
|
||||
env:
|
||||
|
||||
@@ -15,4 +15,4 @@ _vendor/
|
||||
.vercel/
|
||||
.lighthouseci/
|
||||
.vscode/
|
||||
content/notes/dark-mode/example.html
|
||||
content/notes/dark-mode/example/
|
||||
|
||||
4
content/notes/dark-mode/example/example.js
Normal file
4
content/notes/dark-mode/example/example.js
Normal file
@@ -0,0 +1,4 @@
|
||||
/* eslint-disable */
|
||||
/*! Dark mode switcheroo | MIT License | jrvs.io/darkmode */
|
||||
// Note: Using sessionStorage instead of localStorage for the iframe'd example, since we're sandboxed from the parent window here.
|
||||
(function(){var e=window,t=e.document,i=t.body.classList,a=sessionStorage,c="dark_mode_pref_example",d=a.getItem(c),n="dark",o="light",r=o,s=t.querySelector(".dark-mode-toggle"),m=r===n,l=function(e){i.remove(n,o);i.add(e);m=e===n};d===n&&l(n);d===o&&l(o);if(!d){var f=function(e){return"(prefers-color-scheme: "+e+")"};e.matchMedia(f(n)).matches?l(n):e.matchMedia(f(o)).matches?l(o):l(r);e.matchMedia(f(n)).addListener((function(e){e.matches&&l(n)}));e.matchMedia(f(o)).addListener((function(e){e.matches&&l(o)}))}if(s){s.style.visibility="visible";s.addEventListener("click",(function(){if(m){l(o);a.setItem(c,o)}else{l(n);a.setItem(c,n)}}),!0)}})();
|
||||
@@ -42,10 +42,6 @@
|
||||
<h1>Welcome to the dark side 🌓</h1>
|
||||
<button class="dark-mode-toggle">💡 Click to see the light... or not.</button>
|
||||
<p><a href="https://github.com/jakejarvis/dark-mode" target="_blank" rel="noopener">View the source code</a> or <a href="https://jarv.is/notes/dark-mode/" target="_blank" rel="noopener">read the post</a>.</p>
|
||||
<script>
|
||||
/*! Dark mode switcheroo | MIT License | jrvs.io/darkmode */
|
||||
// Note: Using sessionStorage instead of localStorage for the iframe'd example, since we're sandboxed from the parent window here.
|
||||
(function(){var e=window,t=e.document,i=t.body.classList,a=sessionStorage,c="dark_mode_pref_example",d=a.getItem(c),n="dark",o="light",r=o,s=t.querySelector(".dark-mode-toggle"),m=r===n,l=function(e){i.remove(n,o);i.add(e);m=e===n};d===n&&l(n);d===o&&l(o);if(!d){var f=function(e){return"(prefers-color-scheme: "+e+")"};e.matchMedia(f(n)).matches?l(n):e.matchMedia(f(o)).matches?l(o):l(r);e.matchMedia(f(n)).addListener((function(e){e.matches&&l(n)}));e.matchMedia(f(o)).addListener((function(e){e.matches&&l(o)}))}if(s){s.style.visibility="visible";s.addEventListener("click",(function(){if(m){l(o);a.setItem(c,o)}else{l(n);a.setItem(c,n)}}),!0)}})();
|
||||
</script>
|
||||
<script async defer src="example.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -40,7 +40,7 @@ I've written a simple implementation below, which...
|
||||
|
||||
...meaning that any CSS selectors beginning with `body.dark` or `body.light` will only apply when the respective mode is active. A good place to start is by separating any color rules — your background, text, links, etc. — into a different section of your CSS. Using [SASS or SCSS](https://sass-lang.com/) makes this a whole lot [easier with nesting](https://sass-lang.com/guide#topic-3) but is not required; this was written with a [KISS](https://getyarn.io/yarn-clip/embed/eed08f4f-d1c9-4cc0-b041-f280a5dbf0a5?autoplay=false) mentality.
|
||||
|
||||
{{< iframe src="/notes/dark-mode/example.html" width="650" height="275" title="Dark Mode Example" sandbox="allow-same-origin allow-scripts allow-popups" >}}
|
||||
{{< iframe src="/notes/dark-mode/example/" width="650" height="275" title="Dark Mode Example" sandbox="allow-same-origin allow-scripts allow-popups" >}}
|
||||
|
||||
A _very_ barebones example is embedded above ([view the source here](https://github.com/jakejarvis/dark-mode-example), or [open in a new window](/notes/dark-mode/example.html) if your browser is blocking the frame) and you can try it out on this site by clicking the 💡 lightbulb in the upper right corner of this page. You'll notice that the dark theme sticks when refreshing this page, navigating between other pages, or if you were to return to this example weeks from now.
|
||||
|
||||
|
||||
12
package.json
12
package.json
@@ -38,7 +38,7 @@
|
||||
"fast-xml-parser": "^3.21.0",
|
||||
"faunadb": "^4.4.1",
|
||||
"get-canonical-url": "^1.0.1",
|
||||
"graphql": "^15.6.1",
|
||||
"graphql": "^15.7.0",
|
||||
"graphql-request": "^3.6.1",
|
||||
"graphql-tag": "^2.12.5",
|
||||
"html-entities": "^2.3.2",
|
||||
@@ -86,7 +86,7 @@
|
||||
"gulp-html-minifier-terser": "^6.0.1",
|
||||
"gulp-imagemin": "^8.0.0",
|
||||
"hugo-extended": "github:jakejarvis/hugo-extended#reinstall-on-error",
|
||||
"lint-staged": "^11.2.5",
|
||||
"lint-staged": "^11.2.6",
|
||||
"markdownlint-cli": "~0.29.0",
|
||||
"mini-css-extract-plugin": "^2.4.3",
|
||||
"npm-run-all": "^4.1.5",
|
||||
@@ -102,9 +102,9 @@
|
||||
"postcss-scss": "^4.0.1",
|
||||
"postcss-svgo": "^5.0.2",
|
||||
"prettier": "^2.4.1",
|
||||
"sass": "^1.43.3",
|
||||
"sass-loader": "^12.2.0",
|
||||
"simple-git-hooks": "^2.6.1",
|
||||
"sass": "^1.43.4",
|
||||
"sass-loader": "^12.3.0",
|
||||
"simple-git-hooks": "^2.7.0",
|
||||
"stylelint": "~14.0.1",
|
||||
"stylelint-config-prettier": "~9.0.3",
|
||||
"stylelint-config-sass-guidelines": "~8.0.0",
|
||||
@@ -146,7 +146,7 @@
|
||||
]
|
||||
},
|
||||
"volta": {
|
||||
"node": "14.18.1",
|
||||
"node": "16.13.0",
|
||||
"yarn": "1.22.17"
|
||||
}
|
||||
}
|
||||
|
||||
16
vercel.json
16
vercel.json
@@ -6,6 +6,7 @@
|
||||
"cleanUrls": false,
|
||||
"rewrites": [
|
||||
{ "source": "/favicon.ico", "destination": "/assets/images/favicon.ico" },
|
||||
{ "source": "/favicon.png", "destination": "/assets/images/favicon.png" },
|
||||
{ "source": "/apple-touch-icon.png", "destination": "/assets/images/apple-touch-icon.png" },
|
||||
{
|
||||
"source": "/apple-touch-icon-precomposed.png",
|
||||
@@ -21,6 +22,9 @@
|
||||
],
|
||||
"redirects": [
|
||||
{ "source": "/notes/:slug/amp.html", "destination": "/notes/:slug/", "statusCode": 301 },
|
||||
{ "source": "/resume/", "destination": "/resume.pdf" },
|
||||
{ "source": "/scrabble/(.*)", "destination": "https://jakejarvis.github.io/scrabble/$1" },
|
||||
{ "source": "/jarvis.asc", "destination": "/pubkey.asc", "permanent": true },
|
||||
{ "source": "/index.xml", "destination": "/feed.xml", "permanent": true },
|
||||
{ "source": "/feed/", "destination": "/feed.xml", "permanent": true },
|
||||
{ "source": "/rss/", "destination": "/feed.xml", "permanent": true },
|
||||
@@ -50,15 +54,7 @@
|
||||
"source": "/2018/12/10/cool-bash-tricks-for-your-terminal-dotfiles/",
|
||||
"destination": "/notes/cool-bash-tricks-for-your-terminal-dotfiles/",
|
||||
"permanent": true
|
||||
},
|
||||
{ "source": "/resume/", "destination": "/resume.pdf" },
|
||||
{ "source": "/jarvis.asc", "destination": "/pubkey.asc" },
|
||||
{
|
||||
"source": "/ios-trackers/(.*)",
|
||||
"destination": "https://jakejarvis.github.io/ios-trackers/$1"
|
||||
},
|
||||
{ "source": "/awesome/(.*)", "destination": "https://synonymsforawesome.com/" },
|
||||
{ "source": "/scrabble/(.*)", "destination": "https://jakejarvis.github.io/scrabble/$1" }
|
||||
}
|
||||
],
|
||||
"headers": [
|
||||
{
|
||||
@@ -92,7 +88,7 @@
|
||||
},
|
||||
{
|
||||
"key": "Content-Security-Policy",
|
||||
"value": "default-src 'self'; base-uri 'none'; connect-src 'self' api.github.com hcaptcha.com *.hcaptcha.com platform.twitter.com; font-src 'self'; form-action 'self'; frame-ancestors 'self'; frame-src 'self' jakejarvis.github.io buttons.github.io codepen.io hcaptcha.com *.hcaptcha.com platform.twitter.com www.youtube-nocookie.com; img-src 'self' data: https:; manifest-src 'self'; media-src 'self' data: https:; object-src 'none'; prefetch-src 'self'; script-src 'self' buttons.github.io gist.github.com hcaptcha.com *.hcaptcha.com syndication.twitter.com platform.twitter.com 'sha256-y3Xr/40/KQnUvqk/kZO5us6t3i/I49BsbYjsH8ELhVg='; style-src 'self' 'unsafe-inline' github.githubassets.com; worker-src 'self'; block-all-mixed-content; report-uri https://jarv.is/api/csp_wizard/; report-to default"
|
||||
"value": "default-src 'self'; base-uri 'none'; connect-src 'self' api.github.com hcaptcha.com *.hcaptcha.com platform.twitter.com; font-src 'self'; form-action 'self'; frame-ancestors 'self'; frame-src 'self' jakejarvis.github.io buttons.github.io codepen.io hcaptcha.com *.hcaptcha.com platform.twitter.com www.youtube-nocookie.com; img-src 'self' data: https:; manifest-src 'self'; media-src 'self' data: https:; object-src 'none'; prefetch-src 'self'; script-src 'self' buttons.github.io gist.github.com hcaptcha.com *.hcaptcha.com syndication.twitter.com platform.twitter.com; style-src 'self' 'unsafe-inline' github.githubassets.com; worker-src 'self'; block-all-mixed-content; report-uri https://jarv.is/api/csp_wizard/; report-to default"
|
||||
},
|
||||
{
|
||||
"key": "Report-To",
|
||||
|
||||
67
yarn.lock
67
yarn.lock
@@ -3444,9 +3444,9 @@ ee-first@1.1.1:
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
electron-to-chromium@^1.3.878:
|
||||
version "1.3.879"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.879.tgz#4aba9700cfb241fb95c6ed69e31785e3d1605a43"
|
||||
integrity sha512-zJo+D9GwbJvM31IdFmwcGvychhk4KKbKYo2GWlsn+C/dxz2NwmbhGJjWwTfFSF2+eFH7VvfA8MCZ8SOqTrlnpw==
|
||||
version "1.3.880"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.880.tgz#58d1a298c5267f2faf440683d038c50ab39a6401"
|
||||
integrity sha512-iwIP/6WoeSimzUKJIQtjtpVDsK8Ir8qQCMXsUBwg+rxJR2Uh3wTNSbxoYRfs+3UWx/9MAnPIxVZCyWkm8MT0uw==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
@@ -4724,9 +4724,9 @@ globals@^11.1.0:
|
||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||
|
||||
globals@^13.6.0, globals@^13.9.0:
|
||||
version "13.11.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7"
|
||||
integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==
|
||||
version "13.12.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e"
|
||||
integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==
|
||||
dependencies:
|
||||
type-fest "^0.20.2"
|
||||
|
||||
@@ -4854,10 +4854,10 @@ graphql-tag@^2.12.5:
|
||||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
graphql@^15.6.1:
|
||||
version "15.6.1"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.6.1.tgz#9125bdf057553525da251e19e96dab3d3855ddfc"
|
||||
integrity sha512-3i5lu0z6dRvJ48QP9kFxBkJ7h4Kso7PS8eahyTFz5Jm6CvQfLtNIE8LX9N6JLnXTuwR+sIYnXzaWp6anOg0QQw==
|
||||
graphql@^15.7.0:
|
||||
version "15.7.0"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.7.0.tgz#caace26caf9b875b80982c45db58765d8a060e3e"
|
||||
integrity sha512-1jvUsS5mSzcgXLTQNQyrP7eKkBZW+HUnmx2LYSnfvkyseVpij8wwO/sFBGgxbkZ+zzFwYQxrHsOana5oMXmMxg==
|
||||
|
||||
gulp-cache@^1.1.3:
|
||||
version "1.1.3"
|
||||
@@ -6159,9 +6159,9 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
|
||||
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
|
||||
|
||||
klona@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0"
|
||||
integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc"
|
||||
integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
|
||||
|
||||
known-css-properties@^0.23.0:
|
||||
version "0.23.0"
|
||||
@@ -6249,19 +6249,18 @@ linkify-it@^3.0.1:
|
||||
dependencies:
|
||||
uc.micro "^1.0.1"
|
||||
|
||||
lint-staged@^11.2.5:
|
||||
version "11.2.5"
|
||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.5.tgz#afa4c4740fbf874fab1531a846f14504e448e828"
|
||||
integrity sha512-bD6FeKyRtMA3jXcNg/J0fuJmwDN8yaoTdqliFcEl8pFTHiP9NYwQCeZwBoZ8FEXx4lj/pli3oFehr86XYvMNEA==
|
||||
lint-staged@^11.2.6:
|
||||
version "11.2.6"
|
||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.6.tgz#f477b1af0294db054e5937f171679df63baa4c43"
|
||||
integrity sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==
|
||||
dependencies:
|
||||
cli-truncate "2.1.0"
|
||||
colorette "^1.4.0"
|
||||
commander "^8.2.0"
|
||||
cosmiconfig "^7.0.1"
|
||||
debug "^4.3.2"
|
||||
enquirer "^2.3.6"
|
||||
execa "^5.1.1"
|
||||
js-yaml "^4.1.0"
|
||||
lilconfig "^2.0.3"
|
||||
listr2 "^3.12.2"
|
||||
micromatch "^4.0.4"
|
||||
normalize-path "^3.0.0"
|
||||
@@ -8821,18 +8820,18 @@ safe-regex@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
||||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
|
||||
|
||||
sass-loader@^12.2.0:
|
||||
version "12.2.0"
|
||||
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.2.0.tgz#b370010fb0ababae2ef9c6c89e05d6c6debc6042"
|
||||
integrity sha512-qducnp5vSV+8A8MZxuH6zV0MUg4MOVISScl2wDTCAn/2WJX+9Auxh92O/rnkdR2bvi5QxZBafnzkzRrWGZvm7w==
|
||||
sass-loader@^12.3.0:
|
||||
version "12.3.0"
|
||||
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.3.0.tgz#93278981c189c36a58cbfc37d4b9cef0cdc02871"
|
||||
integrity sha512-6l9qwhdOb7qSrtOu96QQ81LVl8v6Dp9j1w3akOm0aWHyrTYtagDt5+kS32N4yq4hHk3M+rdqoRMH+lIdqvW6HA==
|
||||
dependencies:
|
||||
klona "^2.0.4"
|
||||
neo-async "^2.6.2"
|
||||
|
||||
sass@^1.43.3:
|
||||
version "1.43.3"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.3.tgz#aa16a69131b84f0cd23189a242571e8905f1ce43"
|
||||
integrity sha512-BJnLngqWpMeS65UvlYYEuCb3/fLxDxhHtOB/gWPxs6NKrslTxGt3ZxwIvOe/0Jm4tWwM/+tIpE3wj4dLEhPDeQ==
|
||||
sass@^1.43.4:
|
||||
version "1.43.4"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f"
|
||||
integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg==
|
||||
dependencies:
|
||||
chokidar ">=3.0.0 <4.0.0"
|
||||
|
||||
@@ -9053,10 +9052,10 @@ simple-anchor@^1.0.3:
|
||||
resolved "https://registry.yarnpkg.com/simple-anchor/-/simple-anchor-1.0.3.tgz#9e23e3c53f6cd913e576e44a2b1cb666c4e553d1"
|
||||
integrity sha512-g2CrKyqfxRzEpDuuLWsGaDrN/WlU+oft1xGkiGTUB73SiG4MmqW0YMBibQ32pcu4jpL4fnEotggpMpa+ddVM3g==
|
||||
|
||||
simple-git-hooks@^2.6.1:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-git-hooks/-/simple-git-hooks-2.6.1.tgz#0843d7ad7d3be3bb877b86f218d0abea87611584"
|
||||
integrity sha512-nvqaNfgvcjN3cGSYJSdjwB+tP8YKRCyvuUvQ24luIjIpGhUCPpZDTJ+p+hcJiwc0lZlTCl0NayfBVDoIMG7Jpg==
|
||||
simple-git-hooks@^2.7.0:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.yarnpkg.com/simple-git-hooks/-/simple-git-hooks-2.7.0.tgz#121a5c3023663b8abcc5648c8bfe8619dc263705"
|
||||
integrity sha512-nQe6ASMO9zn5/htIrU37xEIHGr9E6wikXelLbOeTcfsX2O++DHaVug7RSQoq+kO7DvZTH37WA5gW49hN9HTDmQ==
|
||||
|
||||
slash@^3.0.0:
|
||||
version "3.0.0"
|
||||
@@ -10072,9 +10071,9 @@ type-fest@^1.0.1:
|
||||
integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
|
||||
|
||||
type-fest@^2.0.0, type-fest@^2.5.0:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.5.1.tgz#17ba4f36a6abfabf0a92005d045dca77564607b0"
|
||||
integrity sha512-JDcsxbLR6Z6OcL7TnGAAAGQrY4g7Q4EEALMT4Kp6FQuIc0JLQvOF3l7ejFvx8o5GmLlfMseTWUL++sYFP+o8kw==
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.5.2.tgz#d6a5247b8019716b300d9023fa7b1b02016dd864"
|
||||
integrity sha512-WMbytmAs5PUTqwGJRE+WoRrD2S0bYFtHX8k4Y/1l18CG5kqA3keJud9pPQ/r30FE9n8XRFCXF9BbccHIZzRYJw==
|
||||
|
||||
type-is@~1.6.17, type-is@~1.6.18:
|
||||
version "1.6.18"
|
||||
|
||||
Reference in New Issue
Block a user