Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: netlify/netlify-ipx
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.3.2
Choose a base ref
...
head repository: netlify/netlify-ipx
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.3.3
Choose a head ref
  • 9 commits
  • 6 files changed
  • 4 contributors

Commits on Dec 12, 2022

  1. chore(deps): update dependency typescript to v4.9.4 (#99)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Dec 12, 2022
    Copy the full SHA
    b61b23b View commit details
  2. chore(deps): update dependency eslint to v8.29.0 (#100)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
    renovate[bot] and kodiakhq[bot] authored Dec 12, 2022
    Copy the full SHA
    424bbb6 View commit details

Commits on Dec 19, 2022

  1. chore(deps): update dependency eslint to v8.30.0 (#101)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Dec 19, 2022
    Copy the full SHA
    898bf5a View commit details

Commits on Jan 2, 2023

  1. chore(deps): update dependency eslint to v8.31.0 (#106)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jan 2, 2023
    Copy the full SHA
    cc9a867 View commit details

Commits on Jan 5, 2023

  1. fix(deps): update dependency @netlify/functions to ^1.4.0 (#107)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jan 5, 2023
    Copy the full SHA
    1a2009b View commit details
  2. Copy the full SHA
    e4101c0 View commit details
  3. fix(deps): update dependency unstorage to v1 (#105)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
    renovate[bot] and kodiakhq[bot] authored Jan 5, 2023
    Copy the full SHA
    752c47c View commit details
  4. fix(deps): update dependency fs-extra to v11 (#102)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
    renovate[bot] and kodiakhq[bot] authored Jan 5, 2023
    Copy the full SHA
    36326cf View commit details
  5. chore(main): release 1.3.3 (#108)

    Co-authored-by: token-generator-app[bot] <82042599+token-generator-app[bot]@users.noreply.github.com>
    token-generator-app[bot] authored Jan 5, 2023
    Copy the full SHA
    ee0fc34 View commit details
Showing with 103 additions and 72 deletions.
  1. +2 −1 .eslintrc
  2. +10 −0 CHANGELOG.md
  3. +5 −5 package.json
  4. +2 −1 src/http.ts
  5. +1 −1 src/index.ts
  6. +83 −64 yarn.lock
3 changes: 2 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
],
"ignorePatterns": "dist",
"rules": {
"import/named": "off"
"import/named": "off",
"vue/valid-attribute-name": "off"
}
}
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -2,6 +2,16 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [1.3.3](https://github.com/netlify/netlify-ipx/compare/v1.3.2...v1.3.3) (2023-01-05)


### Bug Fixes

* **deps:** update dependency @netlify/functions to ^1.4.0 ([#107](https://github.com/netlify/netlify-ipx/issues/107)) ([1a2009b](https://github.com/netlify/netlify-ipx/commit/1a2009bbd33be34970580f4959242b58aebf2c01))
* **deps:** update dependency fs-extra to v11 ([#102](https://github.com/netlify/netlify-ipx/issues/102)) ([36326cf](https://github.com/netlify/netlify-ipx/commit/36326cf4f8c5f4c1cb4a47701f6adb60af12978d))
* **deps:** update dependency unstorage to v1 ([#105](https://github.com/netlify/netlify-ipx/issues/105)) ([752c47c](https://github.com/netlify/netlify-ipx/commit/752c47cb2b48752ff9eb61b7034f3863e1eac0cb))
* remove quotes from etag ([#103](https://github.com/netlify/netlify-ipx/issues/103)) ([e4101c0](https://github.com/netlify/netlify-ipx/commit/e4101c01f5582543f7fe3b68f336f112bca7fe04))

## [1.3.2](https://github.com/netlify/netlify-ipx/compare/v1.3.1...v1.3.2) (2022-12-05)


10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@netlify/ipx",
"version": "1.3.2",
"version": "1.3.3",
"description": "on-demand image optimization for Netlify",
"repository": "netlify/netlify-ipx",
"license": "MIT",
@@ -17,16 +17,16 @@
"dev": "netlify dev"
},
"dependencies": {
"@netlify/functions": "^1.3.0",
"@netlify/functions": "^1.4.0",
"etag": "^1.8.1",
"fs-extra": "^10.0.0",
"fs-extra": "^11.0.0",
"ipx": "^0.9.11",
"micromatch": "^4.0.5",
"mkdirp": "^1.0.4",
"murmurhash": "^2.0.0",
"node-fetch": "^2.0.0",
"ufo": "^1.0.0",
"unstorage": "^0.6.0"
"unstorage": "^1.0.0"
},
"devDependencies": {
"@netlify/ipx": "link:.",
@@ -36,7 +36,7 @@
"@types/node-fetch": "^2.6.1",
"ava": "^5.0.0",
"esbuild-node-loader": "^0.8.0",
"eslint": "8.28.0",
"eslint": "8.31.0",
"jiti": "^1.13.0",
"ts-node": "^10.9.1",
"typescript": "^4.9.3"
3 changes: 2 additions & 1 deletion src/http.ts
Original file line number Diff line number Diff line change
@@ -90,7 +90,8 @@ export async function loadSourceImage ({ cacheDir, url, requestEtag, modifiers,
// either an etag or a last-modified date for the source image to do so.
let responseEtag
if (metadata.etag || metadata.lastModified) {
responseEtag = etag(`${cacheKey}${metadata.etag || metadata.lastModified}${modifiers}`)
// etag returns a quoted string for some reason
responseEtag = JSON.parse(etag(`${cacheKey}${metadata.etag || metadata.lastModified}${modifiers}`))
if (requestEtag && (requestEtag === responseEtag)) {
return {
response: {
2 changes: 1 addition & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
@@ -189,7 +189,7 @@ export function createIPXHandler ({
const body =
typeof res.body === 'string' ? res.body : res.body.toString('base64')

res.headers.etag = responseEtag || etag(body)
res.headers.etag = responseEtag || JSON.parse(etag(body))
delete res.headers['Last-Modified']

if (requestEtag && requestEtag === res.headers.etag) {
147 changes: 83 additions & 64 deletions yarn.lock
Original file line number Diff line number Diff line change
@@ -40,25 +40,25 @@
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933"
integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ==

"@eslint/eslintrc@^1.3.3":
version "1.3.3"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95"
integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==
"@eslint/eslintrc@^1.4.1":
version "1.4.1"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
espree "^9.4.0"
globals "^13.15.0"
globals "^13.19.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
js-yaml "^4.1.0"
minimatch "^3.1.2"
strip-json-comments "^3.1.1"

"@humanwhocodes/config-array@^0.11.6":
version "0.11.7"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f"
integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==
"@humanwhocodes/config-array@^0.11.8":
version "0.11.8"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
debug "^4.1.1"
@@ -97,10 +97,10 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"

"@netlify/functions@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.3.0.tgz#4305a3fb6b49caf56cd2be88d4b8534b1d5aff4f"
integrity sha512-hN/Fgpz8XIOBfsBPLYUMxVKBlCopgeqGB0popayicnmkFLnvKByTTMYgF01wcF9DBtBQdV0H2h1kPFpMl34I8w==
"@netlify/functions@^1.4.0":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.4.0.tgz#027a2e5d54df5519ccbd14cf450231e97bbbf93a"
integrity sha512-gy7ULTIRroc2/jyFVGx1djCmmBMVisIwrvkqggq5B6iDcInRSy2Tpkm+V5C63hKJVkNRskKWtLQKm9ecCaQTjA==
dependencies:
is-promise "^4.0.0"

@@ -910,7 +910,7 @@ define-properties@^1.1.3, define-properties@^1.1.4:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"

defu@^6.0.0, defu@^6.1.0:
defu@^6.0.0, defu@^6.1.0, defu@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.1.tgz#a12c712349197c545dc61d3cd3b607b4cc7ef0c1"
integrity sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==
@@ -944,6 +944,11 @@ destr@^1.1.1, destr@^1.2.0:
resolved "https://registry.yarnpkg.com/destr/-/destr-1.2.1.tgz#03f2e7cbcd01f9190938d05718948de9d7dfb71a"
integrity sha512-ud8w0qMLlci6iFG7CNgeRr8OcbUWMsbfjtWft1eJ5Luqrz/M8Ebqk/KCzne8rKUlIQWWfLv0wD6QHrqOf4GshA==

destr@^1.2.1, destr@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/destr/-/destr-1.2.2.tgz#7ba9befcafb645a50e76b260449c63927b51e22f"
integrity sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==

detect-libc@^2.0.0, detect-libc@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
@@ -1402,13 +1407,13 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==

eslint@8.28.0:
version "8.28.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.28.0.tgz#81a680732634677cc890134bcdd9fdfea8e63d6e"
integrity sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==
eslint@8.31.0:
version "8.31.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524"
integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==
dependencies:
"@eslint/eslintrc" "^1.3.3"
"@humanwhocodes/config-array" "^0.11.6"
"@eslint/eslintrc" "^1.4.1"
"@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
ajv "^6.10.0"
@@ -1427,7 +1432,7 @@ eslint@8.28.0:
file-entry-cache "^6.0.1"
find-up "^5.0.0"
glob-parent "^6.0.2"
globals "^13.15.0"
globals "^13.19.0"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
@@ -1641,10 +1646,10 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==

fs-extra@^10.0.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
fs-extra@^11.0.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed"
integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
@@ -1755,10 +1760,10 @@ glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"

globals@^13.15.0:
version "13.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.18.0.tgz#fb224daeeb2bb7d254cd2c640f003528b8d0c1dc"
integrity sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==
globals@^13.19.0:
version "13.19.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8"
integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==
dependencies:
type-fest "^0.20.2"

@@ -1805,15 +1810,15 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==

h3@^0.8.1:
version "0.8.6"
resolved "https://registry.yarnpkg.com/h3/-/h3-0.8.6.tgz#8095ef998fe14769b87170b7c8b68ba9c54973d5"
integrity sha512-CSWNOKa3QGo67rFU2PhbFTp0uPJtilNji2Z0pMiSRQt3+OkIW0u3E1WMJqIycLqaTgb9JyFqH/S4mcTyyGtvyQ==
h3@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/h3/-/h3-1.0.2.tgz#3a2992921a62de697bd4a3f449401f7600116df6"
integrity sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==
dependencies:
cookie-es "^0.5.0"
destr "^1.2.0"
radix3 "^0.2.1"
ufo "^0.8.6"
destr "^1.2.2"
radix3 "^1.0.0"
ufo "^1.0.1"

has-bigints@^1.0.1, has-bigints@^1.0.2:
version "1.0.2"
@@ -1941,7 +1946,7 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"

ioredis@^5.2.3:
ioredis@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.2.4.tgz#9e262a668bc29bae98f2054c1e0d7efd86996b96"
integrity sha512-qIpuAEt32lZJQ0XyrloCRdlEdUUNGG9i0UOk6zgzK6igyudNWqEBxfH6OlbnOOoBBvr1WB02mm8fR55CnikRng==
@@ -2265,19 +2270,19 @@ listhen@^0.2.15:
selfsigned "^2.0.1"
ufo "^0.8.5"

listhen@^0.3.4:
version "0.3.5"
resolved "https://registry.yarnpkg.com/listhen/-/listhen-0.3.5.tgz#04a0f6dbdab5bbac711992004a37c8306fad3e4e"
integrity sha512-suyt79hNmCFeBIyftcLqLPfYiXeB795gSUWOJT7nspl2IvREY0Q9xvchLhekxvQ0KiOPvWoyALnc9Mxoelm0Pw==
listhen@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.0.1.tgz#31054d08d850ad21473768085a50a8b34a635070"
integrity sha512-RBzBGHMCc5wP8J5Vf8WgF4CAJH8dWHi9LaKB7vfzZt54CiH/0dp01rudy2hFD9wCrTM+UfxFVnn5wTIiY+Qhiw==
dependencies:
clipboardy "^3.0.0"
colorette "^2.0.19"
defu "^6.1.0"
defu "^6.1.1"
get-port-please "^2.6.1"
http-shutdown "^1.2.2"
ip-regex "^5.0.0"
node-forge "^1.3.1"
ufo "^0.8.6"
ufo "^1.0.0"

load-json-file@^7.0.0:
version "7.0.1"
@@ -2510,6 +2515,11 @@ node-fetch-native@^0.1.8:
resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-0.1.8.tgz#19e2eaf6d86ac14e711ebd2612f40517c3468f2a"
integrity sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==

node-fetch-native@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.0.1.tgz#1dfe78f57545d07e07016b7df4c0cb9d2ff416c7"
integrity sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==

node-fetch@^2.0.0:
version "2.6.7"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
@@ -2594,7 +2604,16 @@ object.values@^1.1.5:
define-properties "^1.1.4"
es-abstract "^1.20.4"

ohmyfetch@^0.4.18, ohmyfetch@^0.4.19:
ofetch@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.0.0.tgz#5a2604cdcb33349900e4f73ffe44de449a61101a"
integrity sha512-d40aof8czZFSQKJa4+F7Ch3UC5D631cK1TTUoK+iNEut9NoiCL+u0vykl/puYVUS2df4tIQl5upQcolIcEzQjQ==
dependencies:
destr "^1.2.1"
node-fetch-native "^1.0.1"
ufo "^1.0.0"

ohmyfetch@^0.4.18:
version "0.4.21"
resolved "https://registry.yarnpkg.com/ohmyfetch/-/ohmyfetch-0.4.21.tgz#6850db751fc7bbf08153aa8b11ff1ef45fcfd963"
integrity sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw==
@@ -2853,10 +2872,10 @@ queue-microtask@^1.2.2:
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==

radix3@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/radix3/-/radix3-0.2.1.tgz#77e66a41c7ba5600a8bc137fd259ef661d314418"
integrity sha512-FnhArTl5Tq7dodiLeSPKrDUyCQuJqEncP8cKdyy399g8F/cz7GH6FmzA3Rkosu2IZMkpswFFwXfb2ERSiL06pg==
radix3@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.0.0.tgz#d1c760b850206a6bd5dfd26820c25903cb20eccc"
integrity sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==

rc@^1.2.7:
version "1.2.8"
@@ -3426,16 +3445,16 @@ type-fest@^0.8.1:
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==

typescript@^4.9.3:
version "4.9.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db"
integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==
version "4.9.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==

ufo@^0.8.5, ufo@^0.8.6:
version "0.8.6"
resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.8.6.tgz#c0ec89bc0e0c9fa59a683680feb0f28b55ec323b"
integrity sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==

ufo@^1.0.0:
ufo@^1.0.0, ufo@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.0.1.tgz#64ed43b530706bda2e4892f911f568cf4cf67d29"
integrity sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==
@@ -3462,22 +3481,22 @@ universalify@^2.0.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==

unstorage@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-0.6.0.tgz#9a70d770d08ed8dbb87f4aa5fbf7700baf4a641d"
integrity sha512-X05PIq28pVNA1BypX6Y00YNqAsHM25MGemvpjHeYvwJ8/wg936GoO1YD+VdWlqm3LmVX4fNJ5tlC7uhXsMPgeg==
unstorage@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.0.1.tgz#8cac09e435e727f68ac8ffdac10caa1a5b35883d"
integrity sha512-J1c4b8K2KeihHrQtdgl/ybIapArUbPaPb+TyJy/nGSauDwDYqciZsEKdkee568P3c8SSH4TIgnGRHDWMPGw+Lg==
dependencies:
anymatch "^3.1.2"
chokidar "^3.5.3"
destr "^1.1.1"
h3 "^0.8.1"
ioredis "^5.2.3"
listhen "^0.3.4"
destr "^1.2.1"
h3 "^1.0.1"
ioredis "^5.2.4"
listhen "^1.0.0"
mkdir "^0.0.2"
mri "^1.2.0"
ohmyfetch "^0.4.19"
ufo "^0.8.6"
ws "^8.9.0"
ofetch "^1.0.0"
ufo "^1.0.0"
ws "^8.11.0"

uri-js@^4.2.2:
version "4.4.1"
@@ -3585,7 +3604,7 @@ write-file-atomic@^5.0.0:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"

ws@^8.9.0:
ws@^8.11.0:
version "8.11.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==