diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5fba6532c28..270d28d4223 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ -* @netlify/ecosystem-pod-developer-foundations -docs/ @netlify/ecosystem-pod-developer-foundations @netlify/department-docs -site/ @netlify/ecosystem-pod-developer-foundations @netlify/department-docs +* @netlify/ecosystem-pod-composable-tooling +docs/ @netlify/ecosystem-pod-composable-tooling @netlify/department-docs +site/ @netlify/ecosystem-pod-composable-tooling @netlify/department-docs diff --git a/CHANGELOG.md b/CHANGELOG.md index 465559841bf..c231845d4ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [16.2.0](https://github.com/netlify/cli/compare/v16.1.0...v16.2.0) (2023-08-29) + + +### Features + +* add support for `context.params` in edge functions ([#5964](https://github.com/netlify/cli/issues/5964)) ([ed14e05](https://github.com/netlify/cli/commit/ed14e051791cca585a52dce27258dcea64828371)) +* support custom function routes ([#5954](https://github.com/netlify/cli/issues/5954)) ([82b94b5](https://github.com/netlify/cli/commit/82b94b58ae39a86190829c777da35bc4b355409e)) + + +### Bug Fixes + +* **deps:** update dependency @netlify/edge-bundler to v8.18.0 ([#5953](https://github.com/netlify/cli/issues/5953)) ([016cdf9](https://github.com/netlify/cli/commit/016cdf9b9169eb2a413f8367e67aa67c2801a7f6)) +* **deps:** update dependency @netlify/edge-bundler to v8.19.0 ([#5971](https://github.com/netlify/cli/issues/5971)) ([42478fd](https://github.com/netlify/cli/commit/42478fd5b9d85f13628fc3effb83bf7affe4a8c9)) +* **deps:** update dependency @netlify/serverless-functions-api to v1.6.0 ([#5935](https://github.com/netlify/cli/issues/5935)) ([1d68354](https://github.com/netlify/cli/commit/1d683549caee458e5850fed829f5f1900704b3f3)) +* **deps:** update dependency @netlify/serverless-functions-api to v1.7.3 ([#5957](https://github.com/netlify/cli/issues/5957)) ([57d6627](https://github.com/netlify/cli/commit/57d662749ea23370744f39645b95a866aa20bb57)) +* **deps:** update dependency lambda-local to v2.1.2 ([#5967](https://github.com/netlify/cli/issues/5967)) ([e592944](https://github.com/netlify/cli/commit/e592944008c20f5cf03c1a27bbe8adea9489e4dc)) +* **deps:** update netlify packages ([#5915](https://github.com/netlify/cli/issues/5915)) ([1ad27ac](https://github.com/netlify/cli/commit/1ad27ac2298858d3b04f35dcd8d3899d9a2b03d2)) +* **deps:** update netlify packages ([#5965](https://github.com/netlify/cli/issues/5965)) ([654c366](https://github.com/netlify/cli/commit/654c366e8f3ea1023bd3ea79d3044ccfb4e15a42)) + ## [16.1.0](https://github.com/netlify/cli/compare/v16.0.3...v16.1.0) (2023-08-17) diff --git a/package-lock.json b/package-lock.json index a076f382f87..9d9ba58e657 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,24 @@ { "name": "netlify-cli", - "version": "16.1.0", + "version": "16.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "netlify-cli", - "version": "16.1.0", + "version": "16.2.0", "hasInstallScript": true, "license": "MIT", "dependencies": { "@bugsnag/js": "7.20.2", "@fastify/static": "6.10.2", - "@netlify/build": "29.20.4", - "@netlify/build-info": "7.7.3", + "@netlify/build": "29.20.8", + "@netlify/build-info": "7.7.4", "@netlify/config": "20.8.0", - "@netlify/edge-bundler": "8.17.1", + "@netlify/edge-bundler": "8.19.0", "@netlify/local-functions-proxy": "1.1.1", - "@netlify/serverless-functions-api": "1.5.2", - "@netlify/zip-it-and-ship-it": "9.15.1", + "@netlify/serverless-functions-api": "1.7.3", + "@netlify/zip-it-and-ship-it": "9.17.0", "@octokit/rest": "19.0.13", "ansi-escapes": "6.2.0", "ansi-styles": "6.2.1", @@ -74,7 +74,7 @@ "isexe": "2.0.0", "jsonwebtoken": "9.0.1", "jwt-decode": "3.1.2", - "lambda-local": "2.1.1", + "lambda-local": "2.1.2", "listr": "0.14.3", "locate-path": "7.2.0", "lodash": "4.17.21", @@ -84,7 +84,7 @@ "multiparty": "4.2.3", "netlify": "13.1.10", "netlify-headers-parser": "7.1.2", - "netlify-redirect-parser": "14.1.3", + "netlify-redirect-parser": "14.2.0", "netlify-redirector": "0.4.0", "node-fetch": "2.6.12", "node-version-alias": "3.4.1", @@ -125,7 +125,7 @@ "devDependencies": { "@babel/preset-react": "7.22.5", "@netlify/eslint-config-node": "7.0.0", - "@netlify/functions": "1.6.0", + "@netlify/functions": "2.0.2", "@types/fs-extra": "11.0.1", "@types/prettyjson": "0.0.30", "@types/semver": "7.5.0", @@ -152,7 +152,7 @@ "tomlify-j0.4": "3.0.0", "tree-kill": "1.2.2", "typescript": "5.1.6", - "verdaccio": "5.26.0", + "verdaccio": "5.26.2", "vitest": "0.33.0" }, "engines": { @@ -182,11 +182,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "engines": { @@ -527,9 +527,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -1378,9 +1378,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", - "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", "cpu": [ "arm" ], @@ -1394,9 +1394,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", - "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", "cpu": [ "arm64" ], @@ -1410,9 +1410,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", - "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", "cpu": [ "x64" ], @@ -1426,9 +1426,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", - "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", "cpu": [ "arm64" ], @@ -1442,9 +1442,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", - "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", "cpu": [ "x64" ], @@ -1458,9 +1458,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", - "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", "cpu": [ "arm64" ], @@ -1474,9 +1474,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", - "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", "cpu": [ "x64" ], @@ -1490,9 +1490,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", - "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", "cpu": [ "arm" ], @@ -1506,9 +1506,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", - "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", "cpu": [ "arm64" ], @@ -1522,9 +1522,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", - "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", "cpu": [ "ia32" ], @@ -1538,9 +1538,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", - "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", "cpu": [ "loong64" ], @@ -1554,9 +1554,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", - "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", "cpu": [ "mips64el" ], @@ -1570,9 +1570,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", - "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", "cpu": [ "ppc64" ], @@ -1586,9 +1586,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", - "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", "cpu": [ "riscv64" ], @@ -1602,9 +1602,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", - "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", "cpu": [ "s390x" ], @@ -1618,9 +1618,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", - "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", "cpu": [ "x64" ], @@ -1634,9 +1634,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", - "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", "cpu": [ "x64" ], @@ -1650,9 +1650,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", - "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", "cpu": [ "x64" ], @@ -1666,9 +1666,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", - "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", "cpu": [ "x64" ], @@ -1682,9 +1682,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", - "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", "cpu": [ "arm64" ], @@ -1698,9 +1698,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", - "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", "cpu": [ "ia32" ], @@ -1714,9 +1714,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", - "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "cpu": [ "x64" ], @@ -1750,9 +1750,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2088,9 +2088,9 @@ } }, "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -2256,21 +2256,21 @@ "integrity": "sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==" }, "node_modules/@netlify/build": { - "version": "29.20.4", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.20.4.tgz", - "integrity": "sha512-qXht5lWE0RThGhhB5ILQv4/2Jp+p0muTDp9n+KtlqpinO1SvXicVPw+D2o3iWMsz3vQak6yX09oEvumP2Q+TVQ==", + "version": "29.20.8", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.20.8.tgz", + "integrity": "sha512-dPO62SIzn4KkaVDLC9UPzOs8vyBD36wz4DcjSNFhxJ0ASp51HneJaWFQi0vZon4nizCob7iBKVm4QpgqAkeTjA==", "dependencies": { "@bugsnag/js": "^7.0.0", "@honeycombio/opentelemetry-node": "^0.4.0", "@netlify/cache-utils": "^5.1.5", "@netlify/config": "^20.8.0", - "@netlify/edge-bundler": "8.17.1", + "@netlify/edge-bundler": "8.19.0", "@netlify/framework-info": "^9.8.10", - "@netlify/functions-utils": "^5.2.22", + "@netlify/functions-utils": "^5.2.24", "@netlify/git-utils": "^5.1.1", "@netlify/plugins-list": "^6.71.0", "@netlify/run-utils": "^5.1.1", - "@netlify/zip-it-and-ship-it": "9.15.1", + "@netlify/zip-it-and-ship-it": "9.17.0", "@opentelemetry/api": "^1.4.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", @@ -2324,9 +2324,9 @@ } }, "node_modules/@netlify/build-info": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.7.3.tgz", - "integrity": "sha512-/X07WiTl8RMA148QkEqVOvWyntiew0dCGeMZLmciUkgsL7r3oncPcuzKbwt+XIEktsf2gJlcOhtuNsrd/tTc4Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.7.4.tgz", + "integrity": "sha512-dJt4looPD2UuGprGB29Y/tXAHKKV05gWOIsY71gByv7fs2DQ3LqXYXy4qdGcrGAAeEKRHBwXOMfAn1TAq4hgMQ==", "dependencies": { "@bugsnag/js": "^7.20.0", "dot-prop": "^7.2.0", @@ -2396,9 +2396,9 @@ } }, "node_modules/@netlify/build-info/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", "engines": { "node": ">= 14" } @@ -2946,21 +2946,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@netlify/config/node_modules/netlify-redirect-parser": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.2.0.tgz", - "integrity": "sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==", - "dependencies": { - "fast-safe-stringify": "^2.1.1", - "filter-obj": "^5.0.0", - "is-plain-obj": "^4.0.0", - "path-exists": "^5.0.0", - "toml": "^3.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, "node_modules/@netlify/config/node_modules/node-fetch": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", @@ -3034,14 +3019,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@netlify/config/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/@netlify/config/node_modules/path-type": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", @@ -3076,9 +3053,9 @@ } }, "node_modules/@netlify/edge-bundler": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.17.1.tgz", - "integrity": "sha512-46FvSx/Bguy12IGj2g2W9J/1P7btfSOp/+mpde3VBCLX/sOmd5nYC2i0v3UTbz0yH02qpxTZaEdepPnDLIueCw==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.19.0.tgz", + "integrity": "sha512-blIZHLXlEXcjpAhd2TJ+Rw7H+WhNXSBfmFfRHn2pyzNiAbQa71eU0eNUE2+Nw58DGfvUC0unerbTlN2gd3iVdA==", "dependencies": { "@import-maps/resolve": "^1.0.1", "ajv": "^8.11.2", @@ -3089,7 +3066,6 @@ "execa": "^6.0.0", "find-up": "^6.3.0", "get-port": "^6.1.2", - "glob-to-regexp": "^0.4.1", "is-path-inside": "^4.0.0", "jsonc-parser": "^3.2.0", "node-fetch": "^3.1.1", @@ -3268,340 +3244,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@netlify/esbuild": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild/-/esbuild-0.14.39-1.tgz", - "integrity": "sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@netlify/esbuild-android-64": "0.14.39-1", - "@netlify/esbuild-android-arm64": "0.14.39-1", - "@netlify/esbuild-darwin-64": "0.14.39-1", - "@netlify/esbuild-darwin-arm64": "0.14.39-1", - "@netlify/esbuild-freebsd-64": "0.14.39-1", - "@netlify/esbuild-freebsd-arm64": "0.14.39-1", - "@netlify/esbuild-linux-32": "0.14.39-1", - "@netlify/esbuild-linux-64": "0.14.39-1", - "@netlify/esbuild-linux-arm": "0.14.39-1", - "@netlify/esbuild-linux-arm64": "0.14.39-1", - "@netlify/esbuild-linux-mips64le": "0.14.39-1", - "@netlify/esbuild-linux-ppc64le": "0.14.39-1", - "@netlify/esbuild-linux-riscv64": "0.14.39-1", - "@netlify/esbuild-linux-s390x": "0.14.39-1", - "@netlify/esbuild-netbsd-64": "0.14.39-1", - "@netlify/esbuild-openbsd-64": "0.14.39-1", - "@netlify/esbuild-sunos-64": "0.14.39-1", - "@netlify/esbuild-windows-32": "0.14.39-1", - "@netlify/esbuild-windows-64": "0.14.39-1", - "@netlify/esbuild-windows-arm64": "0.14.39-1" - } - }, - "node_modules/@netlify/esbuild-android-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-android-64/-/esbuild-android-64-0.14.39-1.tgz", - "integrity": "sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-android-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39-1.tgz", - "integrity": "sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-darwin-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39-1.tgz", - "integrity": "sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-darwin-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39-1.tgz", - "integrity": "sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-freebsd-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39-1.tgz", - "integrity": "sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-freebsd-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39-1.tgz", - "integrity": "sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-32": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-32/-/esbuild-linux-32-0.14.39-1.tgz", - "integrity": "sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-64/-/esbuild-linux-64-0.14.39-1.tgz", - "integrity": "sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-arm": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39-1.tgz", - "integrity": "sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39-1.tgz", - "integrity": "sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-mips64le": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39-1.tgz", - "integrity": "sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-ppc64le": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39-1.tgz", - "integrity": "sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-riscv64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39-1.tgz", - "integrity": "sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-linux-s390x": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39-1.tgz", - "integrity": "sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-netbsd-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39-1.tgz", - "integrity": "sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-openbsd-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39-1.tgz", - "integrity": "sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-sunos-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39-1.tgz", - "integrity": "sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-windows-32": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-windows-32/-/esbuild-windows-32-0.14.39-1.tgz", - "integrity": "sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-windows-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-windows-64/-/esbuild-windows-64-0.14.39-1.tgz", - "integrity": "sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@netlify/esbuild-windows-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39-1.tgz", - "integrity": "sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@netlify/eslint-config-node": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@netlify/eslint-config-node/-/eslint-config-node-7.0.0.tgz", @@ -3803,11 +3445,12 @@ } }, "node_modules/@netlify/functions": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-1.6.0.tgz", - "integrity": "sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.0.2.tgz", + "integrity": "sha512-goWRtaIPUK/q47qLYtfGGj7HgJIRaT0snw7zZ0yeoNTfQfCRwQwvRrMAsXkCsCtq2N2Oo81L26SpkMxEQMk9hg==", "dev": true, "dependencies": { + "@netlify/serverless-functions-api": "1.7.3", "is-promise": "^4.0.0" }, "engines": { @@ -3815,11 +3458,11 @@ } }, "node_modules/@netlify/functions-utils": { - "version": "5.2.22", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.22.tgz", - "integrity": "sha512-XflsfLLTqPILpurLuQ7vXPoB2OYOZP14kn9fpUZLcLfsOMa85+dPpLX3ADAspnHVCCrnNfvbvW0z0nXod+aO/g==", + "version": "5.2.24", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.24.tgz", + "integrity": "sha512-NjGaNsW8RHaiHMrS1WGsDlNfsRilj3lDczhGd6OB0SyLX4ElIYXYCFoDVmCOwI1xhSWC9G7tbgQMzaZomjj0EQ==", "dependencies": { - "@netlify/zip-it-and-ship-it": "9.15.1", + "@netlify/zip-it-and-ship-it": "9.17.0", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -4137,6 +3780,14 @@ "local-functions-proxy.exe": "bin/local-functions-proxy.exe" } }, + "node_modules/@netlify/node-cookies": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", + "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/@netlify/open-api": { "version": "2.19.1", "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.19.1.tgz", @@ -4231,27 +3882,31 @@ } }, "node_modules/@netlify/serverless-functions-api": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.5.2.tgz", - "integrity": "sha512-E9ZqnuWwGftXgO0JhGOl6h05bpnrH5EswQOuHIdTXBmhi4LedXjTNZ6xoSMgnhsE+x13WWq2P0yhaAl8Ly9lKw==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.7.3.tgz", + "integrity": "sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==", + "dependencies": { + "@netlify/node-cookies": "^0.1.0", + "urlpattern-polyfill": "8.0.2" + }, "engines": { "node": "^14.18.0 || >=16.0.0" } }, "node_modules/@netlify/zip-it-and-ship-it": { - "version": "9.15.1", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.15.1.tgz", - "integrity": "sha512-gYEZ8Rrl9dtME3syR3Uj+JabEWvEiFUKO0/84joriVIfWGrYPzu9WKBqOjy+huWIAYEWPbEJRmxFEJrYOmhDgw==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.17.0.tgz", + "integrity": "sha512-7wnrWxtczXzBMYh9QXmvG9WkCJSyK+abQGdhwSoZcFPQ0u0HZzY/9rU8jLcRnTodEK20lZPil60FRU/Nta5spg==", "dependencies": { "@babel/parser": "^7.22.5", "@netlify/binary-info": "^1.0.0", - "@netlify/esbuild": "0.14.39-1", - "@netlify/serverless-functions-api": "^1.6.0", + "@netlify/serverless-functions-api": "^1.7.3", "@vercel/nft": "^0.23.0", "archiver": "^5.3.0", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", + "esbuild": "0.19.2", "execa": "^6.0.0", "filter-obj": "^5.0.0", "find-up": "^6.0.0", @@ -4273,6 +3928,7 @@ "tmp-promise": "^3.0.2", "toml": "^3.0.0", "unixify": "^1.0.0", + "urlpattern-polyfill": "8.0.2", "yargs": "^17.0.0" }, "bin": { @@ -4282,12 +3938,334 @@ "node": "^14.18.0 || >=16.0.0" } }, - "node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.6.0.tgz", - "integrity": "sha512-Lr5mxLAvSZyJhigSc0zhvAuusNR6VdJNvOmsDkxIN6f9xzmRpWyAEecCGtBc+hoSZlIeLzI7oFcKhaTzXcO2JA==", + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-arm": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.2.tgz", + "integrity": "sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.2.tgz", + "integrity": "sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.2.tgz", + "integrity": "sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/darwin-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.2.tgz", + "integrity": "sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/darwin-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.2.tgz", + "integrity": "sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.2.tgz", + "integrity": "sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/freebsd-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.2.tgz", + "integrity": "sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-arm": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.2.tgz", + "integrity": "sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.2.tgz", + "integrity": "sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-ia32": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.2.tgz", + "integrity": "sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-loong64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.2.tgz", + "integrity": "sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-mips64el": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.2.tgz", + "integrity": "sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-ppc64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.2.tgz", + "integrity": "sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-riscv64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.2.tgz", + "integrity": "sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-s390x": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.2.tgz", + "integrity": "sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.2.tgz", + "integrity": "sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/netbsd-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.2.tgz", + "integrity": "sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/openbsd-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.2.tgz", + "integrity": "sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/sunos-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.2.tgz", + "integrity": "sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.2.tgz", + "integrity": "sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-ia32": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.2.tgz", + "integrity": "sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.2.tgz", + "integrity": "sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, "node_modules/@netlify/zip-it-and-ship-it/node_modules/brace-expansion": { @@ -4298,6 +4276,42 @@ "balanced-match": "^1.0.0" } }, + "node_modules/@netlify/zip-it-and-ship-it/node_modules/esbuild": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.2.tgz", + "integrity": "sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.2", + "@esbuild/android-arm64": "0.19.2", + "@esbuild/android-x64": "0.19.2", + "@esbuild/darwin-arm64": "0.19.2", + "@esbuild/darwin-x64": "0.19.2", + "@esbuild/freebsd-arm64": "0.19.2", + "@esbuild/freebsd-x64": "0.19.2", + "@esbuild/linux-arm": "0.19.2", + "@esbuild/linux-arm64": "0.19.2", + "@esbuild/linux-ia32": "0.19.2", + "@esbuild/linux-loong64": "0.19.2", + "@esbuild/linux-mips64el": "0.19.2", + "@esbuild/linux-ppc64": "0.19.2", + "@esbuild/linux-riscv64": "0.19.2", + "@esbuild/linux-s390x": "0.19.2", + "@esbuild/linux-x64": "0.19.2", + "@esbuild/netbsd-x64": "0.19.2", + "@esbuild/openbsd-x64": "0.19.2", + "@esbuild/sunos-x64": "0.19.2", + "@esbuild/win32-arm64": "0.19.2", + "@esbuild/win32-ia32": "0.19.2", + "@esbuild/win32-x64": "0.19.2" + } + }, "node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", @@ -5091,9 +5105,9 @@ } }, "node_modules/@pkgr/utils/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, "node_modules/@pnpm/config.env-replace": { @@ -5816,9 +5830,9 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5894,13 +5908,13 @@ } }, "node_modules/@verdaccio/config": { - "version": "6.0.0-6-next.74", - "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-6.0.0-6-next.74.tgz", - "integrity": "sha512-qpP3Hc6OCdUjJw17SQaEBPfTY/YFAGpWuiUizX5D9P46Xf/pEL99oViqA77xJPI0VZIlVue4kxcAO/zJ2oxNwA==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-7.0.0-next.1.tgz", + "integrity": "sha512-taFxO0KDajD71unzuQfiRDohW6PM/HeXodM4BcOzdx/k6zpYYzotll2f++0/zkfC2Lhy7KOd//CR8kk0VI628A==", "dev": true, "dependencies": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "debug": "4.3.4", "js-yaml": "4.1.0", "lodash": "4.17.21", @@ -5916,9 +5930,9 @@ } }, "node_modules/@verdaccio/core": { - "version": "6.0.0-6-next.74", - "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-6.0.0-6-next.74.tgz", - "integrity": "sha512-aXryZX2GyvWLvEn2pnxarTY6nOedrh9W7uGsXaW7uYOD7dq8lOQ4NH8Hhl/nw+Sswp3mE5JNl2P3nIoGyhOYiQ==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-7.0.0-next.1.tgz", + "integrity": "sha512-0cHibUcA7EFjMzBq06WEQ4CQxnds+OZX5jVY6MEpQMtWbSiH40pIi9lDiQFKs6lbXXqidNjvY4J19T1zevQLlw==", "dev": true, "dependencies": { "ajv": "8.12.0", @@ -6035,12 +6049,12 @@ } }, "node_modules/@verdaccio/logger-7": { - "version": "6.0.0-6-next.19", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-7/-/logger-7-6.0.0-6-next.19.tgz", - "integrity": "sha512-DQwmPPRWvrT4TMur4g4+c5dNr7WnoT6sXYpw0Yh6NgZpH2D6FMcaxpH1me0rklpfnnXZmV3/zs2MvLJaWmRl4w==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-7/-/logger-7-7.0.0-next.1.tgz", + "integrity": "sha512-gGAK8af/mgbVlJOqiFQtjQOOkG6PVhgMa44i3ghq+WAc76Szs/n6lzOoQaFNYGg+dWCYRooGWJLTdOlkkL/A+A==", "dev": true, "dependencies": { - "@verdaccio/logger-commons": "6.0.0-6-next.42", + "@verdaccio/logger-commons": "7.0.0-next.1", "pino": "7.11.0" }, "engines": { @@ -6052,13 +6066,13 @@ } }, "node_modules/@verdaccio/logger-commons": { - "version": "6.0.0-6-next.42", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-6.0.0-6-next.42.tgz", - "integrity": "sha512-ydp12CVXdYhkXPxJevGW38Qf9HJdOF/KWcDmCWo7pi9atfiMkUWoOuEC1nr+7Dx+S5dA7kDfTqFLdadAuyO93A==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-7.0.0-next.1.tgz", + "integrity": "sha512-Prjl9A/1jWDM78H6MuW5ZLx2S+JfZY3Bn0G51qiUG0xZUQqgTvcDJni3m9myCVoGw+0dTS+NhkED/jyjodjKcw==", "dev": true, "dependencies": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/logger-prettify": "6.0.0-6-next.10", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/logger-prettify": "7.0.0-next.0", "colorette": "2.0.20", "debug": "4.3.4" }, @@ -6071,9 +6085,9 @@ } }, "node_modules/@verdaccio/logger-prettify": { - "version": "6.0.0-6-next.10", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-6.0.0-6-next.10.tgz", - "integrity": "sha512-G9woGojHXoRg3W4fE2ZlNy2c25f5faqLWHxVdnDFbgbH6dieG+GzlyNwiOcrRC4LEkh7dWcgwuNMx1NZFojqhg==", + "version": "7.0.0-next.0", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-7.0.0-next.0.tgz", + "integrity": "sha512-6akvpkzt6ipkk7v3Non0M9KZq7xYF51QMhJPTFA7JU+hW5AqrAnoMsNAWOzoUMvRr/2Ri33U3VWAOwhmf109Pw==", "dev": true, "dependencies": { "colorette": "2.0.20", @@ -6091,15 +6105,15 @@ } }, "node_modules/@verdaccio/middleware": { - "version": "6.0.0-6-next.53", - "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-6.0.0-6-next.53.tgz", - "integrity": "sha512-shzf8+ww161TGOQA+Ee+JsWLgji07kkxLJr+YQSj3d9glbq4OE64sw51cV3BwpBbIALWziLTmIbYLaZgaRkZYg==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-7.0.0-next.1.tgz", + "integrity": "sha512-ccuMQGfvZjX6gI0+tSDVueB6qMZjzBUZxAI9tDgHaawlqcXrI4RK5QPDsWI9XeeClJJriGmdhVdommZnGYZmuw==", "dev": true, "dependencies": { - "@verdaccio/config": "6.0.0-6-next.74", - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/url": "11.0.0-6-next.40", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/config": "7.0.0-next.1", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/url": "12.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "debug": "4.3.4", "express": "4.18.2", "express-rate-limit": "5.5.1", @@ -6137,9 +6151,9 @@ } }, "node_modules/@verdaccio/search": { - "version": "6.0.0-6-next.2", - "resolved": "https://registry.npmjs.org/@verdaccio/search/-/search-6.0.0-6-next.2.tgz", - "integrity": "sha512-5Hkcxoj7crPn6Zth59I54af6KO5Ho7bzvCHCDbEwcmjewKcQJB4Kst4cEtpN/xA1ao0hqOSruEObl7/mqCq8hg==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/search/-/search-7.0.0-next.1.tgz", + "integrity": "sha512-LoWi4YVTFTbjEtyAPOfLKZy+neR5ldBzcVWgQJvg9e8fXS+UhQglvu6YWDr2j1yrQqbzzDVfV7YlXf4a3GG6mw==", "dev": true, "engines": { "node": ">=12", @@ -6151,9 +6165,9 @@ } }, "node_modules/@verdaccio/signature": { - "version": "6.0.0-6-next.2", - "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-6.0.0-6-next.2.tgz", - "integrity": "sha512-aFvMbxxHzJCpPmqSgVuQYvYN2RP11CoSEcTXikkyb1zF4Uf3cOy53zUZ1Y7iOKCRYTgWrmet9KP7+24e44GHxg==", + "version": "7.0.0-next.0", + "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-7.0.0-next.0.tgz", + "integrity": "sha512-9e28xxd/eH1qRd+I+U0QO0af7F+MEFMtcrRapcqYIayk8yGq03cEGoj18LIf+LXyAosu18Y5dTporPz/R6geHg==", "dev": true, "dependencies": { "debug": "4.3.4", @@ -6199,14 +6213,14 @@ } }, "node_modules/@verdaccio/tarball": { - "version": "11.0.0-6-next.43", - "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-11.0.0-6-next.43.tgz", - "integrity": "sha512-/cojl1+EWLhfu5FJh/dLBtwwC+vI6dR0xldJvE7BHJ5P79DnBUbzAqtwoWwsOR2FkGkWoReXZjPR4QVrUivhLA==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-12.0.0-next.1.tgz", + "integrity": "sha512-uEgeVUa434H2dg+a35Hm+fxxBRU97RblkIYmvvdb+FHMRmsQmlGTJkPqCQd5YM+hkVCWITr4YyAleaysl7cErQ==", "dev": true, "dependencies": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/url": "11.0.0-6-next.40", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/url": "12.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "debug": "4.3.4", "lodash": "4.17.21" }, @@ -6219,18 +6233,18 @@ } }, "node_modules/@verdaccio/ui-theme": { - "version": "6.0.0-6-next.74", - "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.74.tgz", - "integrity": "sha512-IoAl4bbLF9SFJsQvyEbJeubRs0O2WusOOgry6vsfp1w48+oarcnGkdOU/WZuIdlFhmPdhOJpYL0cFDUBRDvdOA==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-7.0.0-next.1.tgz", + "integrity": "sha512-0Bp2M5oejxjXNzzMBB4qsXIES74hFecHw+QhGswcpViNYi1nM2Yl4nENHE+h2BFOE0Lk4m8NKOijyRM8yKDneg==", "dev": true }, "node_modules/@verdaccio/url": { - "version": "11.0.0-6-next.40", - "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-11.0.0-6-next.40.tgz", - "integrity": "sha512-TGP+96QEgvQMIx+0WsFmxpeV/YJlX+os85zrBipioZDUm/JmNK6i9wCfYjA5Uncn+NGRsI6bUJhi05Ymoh10cA==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-12.0.0-next.1.tgz", + "integrity": "sha512-8XL0ZGSMLnquKv/xizjbClf3xGXWWnEyjhP5GZEgtjMdkvMhzzV5B9FdNOpTdxP7rcDnRqf78hO8urCz3+4E7g==", "dev": true, "dependencies": { - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/core": "7.0.0-next.1", "debug": "4.3.4", "lodash": "4.17.21", "validator": "13.9.0" @@ -6243,13 +6257,22 @@ "url": "https://opencollective.com/verdaccio" } }, + "node_modules/@verdaccio/url/node_modules/validator": { + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", + "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/@verdaccio/utils": { - "version": "6.0.0-6-next.42", - "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-6.0.0-6-next.42.tgz", - "integrity": "sha512-ckf1N0rlnWd07aQQx+K9/fvO1LtSVGAAls22Isdfb+dfBjUYalIha/EDIEr3mq7QTqm0zA6mLhP7m4Bv35FH6g==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-7.0.0-next.1.tgz", + "integrity": "sha512-cgDYNNjD0lWFMf06SRhizFb9qULVcE5Wq7Qm9HRbxqsLdSBWShvf4p9jvlk3PSzoSi/tRHym1VMq/DhoZfFATw==", "dev": true, "dependencies": { - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/core": "7.0.0-next.1", "lodash": "4.17.21", "minimatch": "3.1.2", "semver": "7.5.4" @@ -6369,12 +6392,12 @@ } }, "node_modules/@vitest/snapshot/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -6427,12 +6450,12 @@ } }, "node_modules/@vitest/utils/node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -8211,9 +8234,9 @@ } }, "node_modules/callsites": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz", - "integrity": "sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.1.0.tgz", + "integrity": "sha512-aBMbD1Xxay75ViYezwT40aQONfr+pSXTHwNKvIXhXD6+LY3F1dLIcceoC5OZKBVHbXcysz1hL9D2w0JJIMXpUw==", "dev": true, "engines": { "node": ">=12.20" @@ -10162,9 +10185,9 @@ } }, "node_modules/detective-typescript/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -10548,9 +10571,9 @@ "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" }, "node_modules/esbuild": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", - "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", "dev": true, "hasInstallScript": true, "bin": { @@ -10560,28 +10583,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.15", - "@esbuild/android-arm64": "0.17.15", - "@esbuild/android-x64": "0.17.15", - "@esbuild/darwin-arm64": "0.17.15", - "@esbuild/darwin-x64": "0.17.15", - "@esbuild/freebsd-arm64": "0.17.15", - "@esbuild/freebsd-x64": "0.17.15", - "@esbuild/linux-arm": "0.17.15", - "@esbuild/linux-arm64": "0.17.15", - "@esbuild/linux-ia32": "0.17.15", - "@esbuild/linux-loong64": "0.17.15", - "@esbuild/linux-mips64el": "0.17.15", - "@esbuild/linux-ppc64": "0.17.15", - "@esbuild/linux-riscv64": "0.17.15", - "@esbuild/linux-s390x": "0.17.15", - "@esbuild/linux-x64": "0.17.15", - "@esbuild/netbsd-x64": "0.17.15", - "@esbuild/openbsd-x64": "0.17.15", - "@esbuild/sunos-x64": "0.17.15", - "@esbuild/win32-arm64": "0.17.15", - "@esbuild/win32-ia32": "0.17.15", - "@esbuild/win32-x64": "0.17.15" + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" } }, "node_modules/escalade": { @@ -11716,9 +11739,9 @@ } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -11740,9 +11763,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -11805,9 +11828,9 @@ } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -13407,11 +13430,6 @@ "node": ">= 6" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "node_modules/global-cache-dir": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/global-cache-dir/-/global-cache-dir-4.4.0.tgz", @@ -15512,9 +15530,9 @@ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, "node_modules/lambda-local": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.1.1.tgz", - "integrity": "sha512-/bjvifTDx8mOfKwe3pHrmfHyy695Gj2Z++WFL+Sk7/nXjUcDWP/26vIV8Q0LVpyfaGCC47oCK6Y6d/8PNUSNJw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.1.2.tgz", + "integrity": "sha512-nGTJn2JxZWcLGpNwXFmXC7UEXL7QCLieQWDiXs46vIv9y/gSPm/uHygEMCaym+HIziniAw0XIm+1VTrXCvG1Zw==", "dependencies": { "commander": "^10.0.1", "dotenv": "^16.3.1", @@ -15524,7 +15542,7 @@ "lambda-local": "build/cli.js" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/lambda-local/node_modules/dotenv": { @@ -17446,9 +17464,9 @@ } }, "node_modules/netlify-redirect-parser": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.1.3.tgz", - "integrity": "sha512-23svKHdO2QUEJHo3knQV1EpAh8UX/+8zQmwxVMSby4/NRj5vPS+u/yKesY/uHAgcw/28HwvEUGQdbXsPPe7J/Q==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.2.0.tgz", + "integrity": "sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==", "dependencies": { "fast-safe-stringify": "^2.1.1", "filter-obj": "^5.0.0", @@ -21671,9 +21689,9 @@ } }, "node_modules/synckit/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, "node_modules/tabtab": { @@ -21860,9 +21878,9 @@ "dev": true }, "node_modules/thread-stream": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz", - "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.0.tgz", + "integrity": "sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==", "dependencies": { "real-require": "^0.2.0" } @@ -22753,9 +22771,9 @@ } }, "node_modules/validator": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", - "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", "dev": true, "engines": { "node": ">= 0.10" @@ -22770,23 +22788,23 @@ } }, "node_modules/verdaccio": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.26.0.tgz", - "integrity": "sha512-XuVUL5TYwMrky0w6wjgWhgviXmjbLluYy29vjJT9hByLa7TX3zBsqyBWIm+ncb5SxaiYLIEv8fJCrNXujpvUsA==", + "version": "5.26.2", + "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.26.2.tgz", + "integrity": "sha512-JWkjJn+m7WmIA8rEcJw3r/MVg6uFgOZKt6lX8/zveyHCjth+NCLMS7Zjt16dEWMKeSkTVRakifzBGv2IXipt5g==", "dev": true, "dependencies": { - "@verdaccio/config": "6.0.0-6-next.74", - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/config": "7.0.0-next.1", + "@verdaccio/core": "7.0.0-next.1", "@verdaccio/local-storage": "10.3.3", - "@verdaccio/logger-7": "6.0.0-6-next.19", - "@verdaccio/middleware": "6.0.0-6-next.53", - "@verdaccio/search": "6.0.0-6-next.2", - "@verdaccio/signature": "6.0.0-6-next.2", + "@verdaccio/logger-7": "7.0.0-next.1", + "@verdaccio/middleware": "7.0.0-next.1", + "@verdaccio/search": "7.0.0-next.1", + "@verdaccio/signature": "7.0.0-next.0", "@verdaccio/streams": "10.2.1", - "@verdaccio/tarball": "11.0.0-6-next.43", - "@verdaccio/ui-theme": "6.0.0-6-next.74", - "@verdaccio/url": "11.0.0-6-next.40", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/tarball": "12.0.0-next.1", + "@verdaccio/ui-theme": "7.0.0-next.1", + "@verdaccio/url": "12.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "async": "3.2.4", "clipanion": "3.2.1", "compression": "1.7.4", @@ -22810,9 +22828,9 @@ "pkginfo": "0.4.1", "request": "2.88.2", "semver": "7.5.4", - "validator": "13.9.0", - "verdaccio-audit": "11.0.0-6-next.37", - "verdaccio-htpasswd": "11.0.0-6-next.44" + "validator": "13.11.0", + "verdaccio-audit": "12.0.0-next.1", + "verdaccio-htpasswd": "12.0.0-next.1" }, "bin": { "verdaccio": "bin/verdaccio" @@ -22826,13 +22844,13 @@ } }, "node_modules/verdaccio-audit": { - "version": "11.0.0-6-next.37", - "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-11.0.0-6-next.37.tgz", - "integrity": "sha512-hzQq90HmKwy327PueS58V720MRDycSCmo7DNgOy+h8dvITG6XAQ6bSsiTgQScjmwImdp3tkl3bqu9kXh33bPxA==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-12.0.0-next.1.tgz", + "integrity": "sha512-5TJflIvZNZ10Dx5oD/RETjK6xVV/Shm9JbtpFmIqOhwnwhfHBVw/vI+BM1zvGkXuXmgbXa9qrsG30DI/58sIfQ==", "dev": true, "dependencies": { - "@verdaccio/config": "6.0.0-6-next.74", - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/config": "7.0.0-next.1", + "@verdaccio/core": "7.0.0-next.1", "express": "4.18.2", "https-proxy-agent": "5.0.1", "node-fetch": "cjs" @@ -22846,13 +22864,13 @@ } }, "node_modules/verdaccio-htpasswd": { - "version": "11.0.0-6-next.44", - "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-11.0.0-6-next.44.tgz", - "integrity": "sha512-ZKCpZ5KhcHXjAlYkCI6CM6O8KO/Pr/x5C89zqjRR7OMaPyOAu0psIJjvhTycn1efZub4pT6Tlj7rCRlmvIbR0w==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-12.0.0-next.1.tgz", + "integrity": "sha512-NNjltevHBJnZo6pKyZqe2THXM3RAFRbrCcTimlVSNL23MbSlcBXvbM4w8MCLzyC5kVixE+i4+ha5diPQLGVN2A==", "dev": true, "dependencies": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/file-locking": "11.0.0-6-next.7", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/file-locking": "12.0.0-next.0", "apache-md5": "1.1.8", "bcryptjs": "2.4.3", "core-js": "3.30.2", @@ -22870,9 +22888,9 @@ } }, "node_modules/verdaccio-htpasswd/node_modules/@verdaccio/file-locking": { - "version": "11.0.0-6-next.7", - "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-11.0.0-6-next.7.tgz", - "integrity": "sha512-S0GNoe2oBOgB7fKJN2vZqnl5qDEvdnTfKAfa47InXweJROeul6kjlE2/NlbNbK3zZID01VR1HFrFehMQO0Jyfw==", + "version": "12.0.0-next.0", + "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-12.0.0-next.0.tgz", + "integrity": "sha512-SsjciD/2UpMsUJsEAB4se6gWLnx7JCopdSVGXLvvlKDzHi+y/zQOz0gq2QVirzJ4C+gSRdYd8ts19MOuL1yHgA==", "dev": true, "dependencies": { "lockfile": "1.0.4" @@ -23668,11 +23686,11 @@ } }, "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "dependencies": { @@ -23926,9 +23944,9 @@ } }, "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "requires": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -24572,156 +24590,156 @@ } }, "@esbuild/android-arm": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", - "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", - "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", - "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", - "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", - "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", - "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", - "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", - "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", - "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", - "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", - "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", - "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", - "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", - "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", - "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", - "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", - "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", - "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", - "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", - "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", - "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", - "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "dev": true, "optional": true }, @@ -24743,9 +24761,9 @@ }, "dependencies": { "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -24997,9 +25015,9 @@ "dev": true }, "@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { "@sinclair/typebox": "^0.27.8" @@ -25128,21 +25146,21 @@ "integrity": "sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==" }, "@netlify/build": { - "version": "29.20.4", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.20.4.tgz", - "integrity": "sha512-qXht5lWE0RThGhhB5ILQv4/2Jp+p0muTDp9n+KtlqpinO1SvXicVPw+D2o3iWMsz3vQak6yX09oEvumP2Q+TVQ==", + "version": "29.20.8", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.20.8.tgz", + "integrity": "sha512-dPO62SIzn4KkaVDLC9UPzOs8vyBD36wz4DcjSNFhxJ0ASp51HneJaWFQi0vZon4nizCob7iBKVm4QpgqAkeTjA==", "requires": { "@bugsnag/js": "^7.0.0", "@honeycombio/opentelemetry-node": "^0.4.0", "@netlify/cache-utils": "^5.1.5", "@netlify/config": "^20.8.0", - "@netlify/edge-bundler": "8.17.1", + "@netlify/edge-bundler": "8.19.0", "@netlify/framework-info": "^9.8.10", - "@netlify/functions-utils": "^5.2.22", + "@netlify/functions-utils": "^5.2.24", "@netlify/git-utils": "^5.1.1", "@netlify/plugins-list": "^6.71.0", "@netlify/run-utils": "^5.1.1", - "@netlify/zip-it-and-ship-it": "9.15.1", + "@netlify/zip-it-and-ship-it": "9.17.0", "@opentelemetry/api": "^1.4.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", @@ -25412,9 +25430,9 @@ } }, "@netlify/build-info": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.7.3.tgz", - "integrity": "sha512-/X07WiTl8RMA148QkEqVOvWyntiew0dCGeMZLmciUkgsL7r3oncPcuzKbwt+XIEktsf2gJlcOhtuNsrd/tTc4Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.7.4.tgz", + "integrity": "sha512-dJt4looPD2UuGprGB29Y/tXAHKKV05gWOIsY71gByv7fs2DQ3LqXYXy4qdGcrGAAeEKRHBwXOMfAn1TAq4hgMQ==", "requires": { "@bugsnag/js": "^7.20.0", "dot-prop": "^7.2.0", @@ -25460,9 +25478,9 @@ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" }, "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==" } } }, @@ -25581,18 +25599,6 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==" }, - "netlify-redirect-parser": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.2.0.tgz", - "integrity": "sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==", - "requires": { - "fast-safe-stringify": "^2.1.1", - "filter-obj": "^5.0.0", - "is-plain-obj": "^4.0.0", - "path-exists": "^5.0.0", - "toml": "^3.0.0" - } - }, "node-fetch": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", @@ -25635,11 +25641,6 @@ "p-limit": "^4.0.0" } }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==" - }, "path-type": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", @@ -25658,9 +25659,9 @@ } }, "@netlify/edge-bundler": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.17.1.tgz", - "integrity": "sha512-46FvSx/Bguy12IGj2g2W9J/1P7btfSOp/+mpde3VBCLX/sOmd5nYC2i0v3UTbz0yH02qpxTZaEdepPnDLIueCw==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.19.0.tgz", + "integrity": "sha512-blIZHLXlEXcjpAhd2TJ+Rw7H+WhNXSBfmFfRHn2pyzNiAbQa71eU0eNUE2+Nw58DGfvUC0unerbTlN2gd3iVdA==", "requires": { "@import-maps/resolve": "^1.0.1", "ajv": "^8.11.2", @@ -25671,7 +25672,6 @@ "execa": "^6.0.0", "find-up": "^6.3.0", "get-port": "^6.1.2", - "glob-to-regexp": "^0.4.1", "is-path-inside": "^4.0.0", "jsonc-parser": "^3.2.0", "node-fetch": "^3.1.1", @@ -25785,153 +25785,6 @@ } } }, - "@netlify/esbuild": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild/-/esbuild-0.14.39-1.tgz", - "integrity": "sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==", - "requires": { - "@netlify/esbuild-android-64": "0.14.39-1", - "@netlify/esbuild-android-arm64": "0.14.39-1", - "@netlify/esbuild-darwin-64": "0.14.39-1", - "@netlify/esbuild-darwin-arm64": "0.14.39-1", - "@netlify/esbuild-freebsd-64": "0.14.39-1", - "@netlify/esbuild-freebsd-arm64": "0.14.39-1", - "@netlify/esbuild-linux-32": "0.14.39-1", - "@netlify/esbuild-linux-64": "0.14.39-1", - "@netlify/esbuild-linux-arm": "0.14.39-1", - "@netlify/esbuild-linux-arm64": "0.14.39-1", - "@netlify/esbuild-linux-mips64le": "0.14.39-1", - "@netlify/esbuild-linux-ppc64le": "0.14.39-1", - "@netlify/esbuild-linux-riscv64": "0.14.39-1", - "@netlify/esbuild-linux-s390x": "0.14.39-1", - "@netlify/esbuild-netbsd-64": "0.14.39-1", - "@netlify/esbuild-openbsd-64": "0.14.39-1", - "@netlify/esbuild-sunos-64": "0.14.39-1", - "@netlify/esbuild-windows-32": "0.14.39-1", - "@netlify/esbuild-windows-64": "0.14.39-1", - "@netlify/esbuild-windows-arm64": "0.14.39-1" - } - }, - "@netlify/esbuild-android-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-android-64/-/esbuild-android-64-0.14.39-1.tgz", - "integrity": "sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==", - "optional": true - }, - "@netlify/esbuild-android-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39-1.tgz", - "integrity": "sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==", - "optional": true - }, - "@netlify/esbuild-darwin-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39-1.tgz", - "integrity": "sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==", - "optional": true - }, - "@netlify/esbuild-darwin-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39-1.tgz", - "integrity": "sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==", - "optional": true - }, - "@netlify/esbuild-freebsd-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39-1.tgz", - "integrity": "sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==", - "optional": true - }, - "@netlify/esbuild-freebsd-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39-1.tgz", - "integrity": "sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==", - "optional": true - }, - "@netlify/esbuild-linux-32": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-32/-/esbuild-linux-32-0.14.39-1.tgz", - "integrity": "sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==", - "optional": true - }, - "@netlify/esbuild-linux-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-64/-/esbuild-linux-64-0.14.39-1.tgz", - "integrity": "sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==", - "optional": true - }, - "@netlify/esbuild-linux-arm": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39-1.tgz", - "integrity": "sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==", - "optional": true - }, - "@netlify/esbuild-linux-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39-1.tgz", - "integrity": "sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==", - "optional": true - }, - "@netlify/esbuild-linux-mips64le": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39-1.tgz", - "integrity": "sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==", - "optional": true - }, - "@netlify/esbuild-linux-ppc64le": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39-1.tgz", - "integrity": "sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==", - "optional": true - }, - "@netlify/esbuild-linux-riscv64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39-1.tgz", - "integrity": "sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==", - "optional": true - }, - "@netlify/esbuild-linux-s390x": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39-1.tgz", - "integrity": "sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==", - "optional": true - }, - "@netlify/esbuild-netbsd-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39-1.tgz", - "integrity": "sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==", - "optional": true - }, - "@netlify/esbuild-openbsd-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39-1.tgz", - "integrity": "sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==", - "optional": true - }, - "@netlify/esbuild-sunos-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39-1.tgz", - "integrity": "sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==", - "optional": true - }, - "@netlify/esbuild-windows-32": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-windows-32/-/esbuild-windows-32-0.14.39-1.tgz", - "integrity": "sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==", - "optional": true - }, - "@netlify/esbuild-windows-64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-windows-64/-/esbuild-windows-64-0.14.39-1.tgz", - "integrity": "sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==", - "optional": true - }, - "@netlify/esbuild-windows-arm64": { - "version": "0.14.39-1", - "resolved": "https://registry.npmjs.org/@netlify/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39-1.tgz", - "integrity": "sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==", - "optional": true - }, "@netlify/eslint-config-node": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@netlify/eslint-config-node/-/eslint-config-node-7.0.0.tgz", @@ -26077,20 +25930,21 @@ } }, "@netlify/functions": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-1.6.0.tgz", - "integrity": "sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.0.2.tgz", + "integrity": "sha512-goWRtaIPUK/q47qLYtfGGj7HgJIRaT0snw7zZ0yeoNTfQfCRwQwvRrMAsXkCsCtq2N2Oo81L26SpkMxEQMk9hg==", "dev": true, "requires": { + "@netlify/serverless-functions-api": "1.7.3", "is-promise": "^4.0.0" } }, "@netlify/functions-utils": { - "version": "5.2.22", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.22.tgz", - "integrity": "sha512-XflsfLLTqPILpurLuQ7vXPoB2OYOZP14kn9fpUZLcLfsOMa85+dPpLX3ADAspnHVCCrnNfvbvW0z0nXod+aO/g==", + "version": "5.2.24", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.24.tgz", + "integrity": "sha512-NjGaNsW8RHaiHMrS1WGsDlNfsRilj3lDczhGd6OB0SyLX4ElIYXYCFoDVmCOwI1xhSWC9G7tbgQMzaZomjj0EQ==", "requires": { - "@netlify/zip-it-and-ship-it": "9.15.1", + "@netlify/zip-it-and-ship-it": "9.17.0", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -26259,6 +26113,11 @@ "integrity": "sha512-VCBXBJWBujVxyo5f+3r8ovLc9I7wJqpmgDn3ixs1fvdrER5Ac+SzYwYH4mUug9HI08mzTSAKZErzKeuadSez3w==", "optional": true }, + "@netlify/node-cookies": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", + "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==" + }, "@netlify/open-api": { "version": "2.19.1", "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.19.1.tgz", @@ -26322,24 +26181,28 @@ } }, "@netlify/serverless-functions-api": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.5.2.tgz", - "integrity": "sha512-E9ZqnuWwGftXgO0JhGOl6h05bpnrH5EswQOuHIdTXBmhi4LedXjTNZ6xoSMgnhsE+x13WWq2P0yhaAl8Ly9lKw==" + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.7.3.tgz", + "integrity": "sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==", + "requires": { + "@netlify/node-cookies": "^0.1.0", + "urlpattern-polyfill": "8.0.2" + } }, "@netlify/zip-it-and-ship-it": { - "version": "9.15.1", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.15.1.tgz", - "integrity": "sha512-gYEZ8Rrl9dtME3syR3Uj+JabEWvEiFUKO0/84joriVIfWGrYPzu9WKBqOjy+huWIAYEWPbEJRmxFEJrYOmhDgw==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.17.0.tgz", + "integrity": "sha512-7wnrWxtczXzBMYh9QXmvG9WkCJSyK+abQGdhwSoZcFPQ0u0HZzY/9rU8jLcRnTodEK20lZPil60FRU/Nta5spg==", "requires": { "@babel/parser": "^7.22.5", "@netlify/binary-info": "^1.0.0", - "@netlify/esbuild": "0.14.39-1", - "@netlify/serverless-functions-api": "^1.6.0", + "@netlify/serverless-functions-api": "^1.7.3", "@vercel/nft": "^0.23.0", "archiver": "^5.3.0", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", + "esbuild": "0.19.2", "execa": "^6.0.0", "filter-obj": "^5.0.0", "find-up": "^6.0.0", @@ -26361,13 +26224,141 @@ "tmp-promise": "^3.0.2", "toml": "^3.0.0", "unixify": "^1.0.0", + "urlpattern-polyfill": "8.0.2", "yargs": "^17.0.0" }, "dependencies": { - "@netlify/serverless-functions-api": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.6.0.tgz", - "integrity": "sha512-Lr5mxLAvSZyJhigSc0zhvAuusNR6VdJNvOmsDkxIN6f9xzmRpWyAEecCGtBc+hoSZlIeLzI7oFcKhaTzXcO2JA==" + "@esbuild/android-arm": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.2.tgz", + "integrity": "sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.2.tgz", + "integrity": "sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.2.tgz", + "integrity": "sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.2.tgz", + "integrity": "sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.2.tgz", + "integrity": "sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.2.tgz", + "integrity": "sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.2.tgz", + "integrity": "sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.2.tgz", + "integrity": "sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.2.tgz", + "integrity": "sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.2.tgz", + "integrity": "sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.2.tgz", + "integrity": "sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.2.tgz", + "integrity": "sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.2.tgz", + "integrity": "sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.2.tgz", + "integrity": "sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.2.tgz", + "integrity": "sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.2.tgz", + "integrity": "sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.2.tgz", + "integrity": "sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.2.tgz", + "integrity": "sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.2.tgz", + "integrity": "sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.2.tgz", + "integrity": "sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.2.tgz", + "integrity": "sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.2.tgz", + "integrity": "sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==", + "optional": true }, "brace-expansion": { "version": "2.0.1", @@ -26377,6 +26368,35 @@ "balanced-match": "^1.0.0" } }, + "esbuild": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.2.tgz", + "integrity": "sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==", + "requires": { + "@esbuild/android-arm": "0.19.2", + "@esbuild/android-arm64": "0.19.2", + "@esbuild/android-x64": "0.19.2", + "@esbuild/darwin-arm64": "0.19.2", + "@esbuild/darwin-x64": "0.19.2", + "@esbuild/freebsd-arm64": "0.19.2", + "@esbuild/freebsd-x64": "0.19.2", + "@esbuild/linux-arm": "0.19.2", + "@esbuild/linux-arm64": "0.19.2", + "@esbuild/linux-ia32": "0.19.2", + "@esbuild/linux-loong64": "0.19.2", + "@esbuild/linux-mips64el": "0.19.2", + "@esbuild/linux-ppc64": "0.19.2", + "@esbuild/linux-riscv64": "0.19.2", + "@esbuild/linux-s390x": "0.19.2", + "@esbuild/linux-x64": "0.19.2", + "@esbuild/netbsd-x64": "0.19.2", + "@esbuild/openbsd-x64": "0.19.2", + "@esbuild/sunos-x64": "0.19.2", + "@esbuild/win32-arm64": "0.19.2", + "@esbuild/win32-ia32": "0.19.2", + "@esbuild/win32-x64": "0.19.2" + } + }, "execa": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", @@ -26935,9 +26955,9 @@ }, "dependencies": { "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true } } @@ -27523,9 +27543,9 @@ }, "dependencies": { "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true } } @@ -27580,13 +27600,13 @@ } }, "@verdaccio/config": { - "version": "6.0.0-6-next.74", - "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-6.0.0-6-next.74.tgz", - "integrity": "sha512-qpP3Hc6OCdUjJw17SQaEBPfTY/YFAGpWuiUizX5D9P46Xf/pEL99oViqA77xJPI0VZIlVue4kxcAO/zJ2oxNwA==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/config/-/config-7.0.0-next.1.tgz", + "integrity": "sha512-taFxO0KDajD71unzuQfiRDohW6PM/HeXodM4BcOzdx/k6zpYYzotll2f++0/zkfC2Lhy7KOd//CR8kk0VI628A==", "dev": true, "requires": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "debug": "4.3.4", "js-yaml": "4.1.0", "lodash": "4.17.21", @@ -27595,9 +27615,9 @@ } }, "@verdaccio/core": { - "version": "6.0.0-6-next.74", - "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-6.0.0-6-next.74.tgz", - "integrity": "sha512-aXryZX2GyvWLvEn2pnxarTY6nOedrh9W7uGsXaW7uYOD7dq8lOQ4NH8Hhl/nw+Sswp3mE5JNl2P3nIoGyhOYiQ==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/core/-/core-7.0.0-next.1.tgz", + "integrity": "sha512-0cHibUcA7EFjMzBq06WEQ4CQxnds+OZX5jVY6MEpQMtWbSiH40pIi9lDiQFKs6lbXXqidNjvY4J19T1zevQLlw==", "dev": true, "requires": { "ajv": "8.12.0", @@ -27681,31 +27701,31 @@ } }, "@verdaccio/logger-7": { - "version": "6.0.0-6-next.19", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-7/-/logger-7-6.0.0-6-next.19.tgz", - "integrity": "sha512-DQwmPPRWvrT4TMur4g4+c5dNr7WnoT6sXYpw0Yh6NgZpH2D6FMcaxpH1me0rklpfnnXZmV3/zs2MvLJaWmRl4w==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-7/-/logger-7-7.0.0-next.1.tgz", + "integrity": "sha512-gGAK8af/mgbVlJOqiFQtjQOOkG6PVhgMa44i3ghq+WAc76Szs/n6lzOoQaFNYGg+dWCYRooGWJLTdOlkkL/A+A==", "dev": true, "requires": { - "@verdaccio/logger-commons": "6.0.0-6-next.42", + "@verdaccio/logger-commons": "7.0.0-next.1", "pino": "7.11.0" } }, "@verdaccio/logger-commons": { - "version": "6.0.0-6-next.42", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-6.0.0-6-next.42.tgz", - "integrity": "sha512-ydp12CVXdYhkXPxJevGW38Qf9HJdOF/KWcDmCWo7pi9atfiMkUWoOuEC1nr+7Dx+S5dA7kDfTqFLdadAuyO93A==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-commons/-/logger-commons-7.0.0-next.1.tgz", + "integrity": "sha512-Prjl9A/1jWDM78H6MuW5ZLx2S+JfZY3Bn0G51qiUG0xZUQqgTvcDJni3m9myCVoGw+0dTS+NhkED/jyjodjKcw==", "dev": true, "requires": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/logger-prettify": "6.0.0-6-next.10", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/logger-prettify": "7.0.0-next.0", "colorette": "2.0.20", "debug": "4.3.4" } }, "@verdaccio/logger-prettify": { - "version": "6.0.0-6-next.10", - "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-6.0.0-6-next.10.tgz", - "integrity": "sha512-G9woGojHXoRg3W4fE2ZlNy2c25f5faqLWHxVdnDFbgbH6dieG+GzlyNwiOcrRC4LEkh7dWcgwuNMx1NZFojqhg==", + "version": "7.0.0-next.0", + "resolved": "https://registry.npmjs.org/@verdaccio/logger-prettify/-/logger-prettify-7.0.0-next.0.tgz", + "integrity": "sha512-6akvpkzt6ipkk7v3Non0M9KZq7xYF51QMhJPTFA7JU+hW5AqrAnoMsNAWOzoUMvRr/2Ri33U3VWAOwhmf109Pw==", "dev": true, "requires": { "colorette": "2.0.20", @@ -27716,15 +27736,15 @@ } }, "@verdaccio/middleware": { - "version": "6.0.0-6-next.53", - "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-6.0.0-6-next.53.tgz", - "integrity": "sha512-shzf8+ww161TGOQA+Ee+JsWLgji07kkxLJr+YQSj3d9glbq4OE64sw51cV3BwpBbIALWziLTmIbYLaZgaRkZYg==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/middleware/-/middleware-7.0.0-next.1.tgz", + "integrity": "sha512-ccuMQGfvZjX6gI0+tSDVueB6qMZjzBUZxAI9tDgHaawlqcXrI4RK5QPDsWI9XeeClJJriGmdhVdommZnGYZmuw==", "dev": true, "requires": { - "@verdaccio/config": "6.0.0-6-next.74", - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/url": "11.0.0-6-next.40", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/config": "7.0.0-next.1", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/url": "12.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "debug": "4.3.4", "express": "4.18.2", "express-rate-limit": "5.5.1", @@ -27748,15 +27768,15 @@ } }, "@verdaccio/search": { - "version": "6.0.0-6-next.2", - "resolved": "https://registry.npmjs.org/@verdaccio/search/-/search-6.0.0-6-next.2.tgz", - "integrity": "sha512-5Hkcxoj7crPn6Zth59I54af6KO5Ho7bzvCHCDbEwcmjewKcQJB4Kst4cEtpN/xA1ao0hqOSruEObl7/mqCq8hg==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/search/-/search-7.0.0-next.1.tgz", + "integrity": "sha512-LoWi4YVTFTbjEtyAPOfLKZy+neR5ldBzcVWgQJvg9e8fXS+UhQglvu6YWDr2j1yrQqbzzDVfV7YlXf4a3GG6mw==", "dev": true }, "@verdaccio/signature": { - "version": "6.0.0-6-next.2", - "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-6.0.0-6-next.2.tgz", - "integrity": "sha512-aFvMbxxHzJCpPmqSgVuQYvYN2RP11CoSEcTXikkyb1zF4Uf3cOy53zUZ1Y7iOKCRYTgWrmet9KP7+24e44GHxg==", + "version": "7.0.0-next.0", + "resolved": "https://registry.npmjs.org/@verdaccio/signature/-/signature-7.0.0-next.0.tgz", + "integrity": "sha512-9e28xxd/eH1qRd+I+U0QO0af7F+MEFMtcrRapcqYIayk8yGq03cEGoj18LIf+LXyAosu18Y5dTporPz/R6geHg==", "dev": true, "requires": { "debug": "4.3.4", @@ -27785,43 +27805,51 @@ "dev": true }, "@verdaccio/tarball": { - "version": "11.0.0-6-next.43", - "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-11.0.0-6-next.43.tgz", - "integrity": "sha512-/cojl1+EWLhfu5FJh/dLBtwwC+vI6dR0xldJvE7BHJ5P79DnBUbzAqtwoWwsOR2FkGkWoReXZjPR4QVrUivhLA==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/tarball/-/tarball-12.0.0-next.1.tgz", + "integrity": "sha512-uEgeVUa434H2dg+a35Hm+fxxBRU97RblkIYmvvdb+FHMRmsQmlGTJkPqCQd5YM+hkVCWITr4YyAleaysl7cErQ==", "dev": true, "requires": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/url": "11.0.0-6-next.40", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/url": "12.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "debug": "4.3.4", "lodash": "4.17.21" } }, "@verdaccio/ui-theme": { - "version": "6.0.0-6-next.74", - "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.74.tgz", - "integrity": "sha512-IoAl4bbLF9SFJsQvyEbJeubRs0O2WusOOgry6vsfp1w48+oarcnGkdOU/WZuIdlFhmPdhOJpYL0cFDUBRDvdOA==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-7.0.0-next.1.tgz", + "integrity": "sha512-0Bp2M5oejxjXNzzMBB4qsXIES74hFecHw+QhGswcpViNYi1nM2Yl4nENHE+h2BFOE0Lk4m8NKOijyRM8yKDneg==", "dev": true }, "@verdaccio/url": { - "version": "11.0.0-6-next.40", - "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-11.0.0-6-next.40.tgz", - "integrity": "sha512-TGP+96QEgvQMIx+0WsFmxpeV/YJlX+os85zrBipioZDUm/JmNK6i9wCfYjA5Uncn+NGRsI6bUJhi05Ymoh10cA==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/url/-/url-12.0.0-next.1.tgz", + "integrity": "sha512-8XL0ZGSMLnquKv/xizjbClf3xGXWWnEyjhP5GZEgtjMdkvMhzzV5B9FdNOpTdxP7rcDnRqf78hO8urCz3+4E7g==", "dev": true, "requires": { - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/core": "7.0.0-next.1", "debug": "4.3.4", "lodash": "4.17.21", "validator": "13.9.0" + }, + "dependencies": { + "validator": { + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", + "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", + "dev": true + } } }, "@verdaccio/utils": { - "version": "6.0.0-6-next.42", - "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-6.0.0-6-next.42.tgz", - "integrity": "sha512-ckf1N0rlnWd07aQQx+K9/fvO1LtSVGAAls22Isdfb+dfBjUYalIha/EDIEr3mq7QTqm0zA6mLhP7m4Bv35FH6g==", + "version": "7.0.0-next.1", + "resolved": "https://registry.npmjs.org/@verdaccio/utils/-/utils-7.0.0-next.1.tgz", + "integrity": "sha512-cgDYNNjD0lWFMf06SRhizFb9qULVcE5Wq7Qm9HRbxqsLdSBWShvf4p9jvlk3PSzoSi/tRHym1VMq/DhoZfFATw==", "dev": true, "requires": { - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/core": "7.0.0-next.1", "lodash": "4.17.21", "minimatch": "3.1.2", "semver": "7.5.4" @@ -27903,12 +27931,12 @@ "dev": true }, "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } @@ -27948,12 +27976,12 @@ "dev": true }, "pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, "requires": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } @@ -29257,9 +29285,9 @@ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" }, "callsites": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz", - "integrity": "sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.1.0.tgz", + "integrity": "sha512-aBMbD1Xxay75ViYezwT40aQONfr+pSXTHwNKvIXhXD6+LY3F1dLIcceoC5OZKBVHbXcysz1hL9D2w0JJIMXpUw==", "dev": true }, "camelcase": { @@ -30704,9 +30732,9 @@ } }, "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" } } }, @@ -30994,33 +31022,33 @@ "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" }, "esbuild": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", - "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.17.15", - "@esbuild/android-arm64": "0.17.15", - "@esbuild/android-x64": "0.17.15", - "@esbuild/darwin-arm64": "0.17.15", - "@esbuild/darwin-x64": "0.17.15", - "@esbuild/freebsd-arm64": "0.17.15", - "@esbuild/freebsd-x64": "0.17.15", - "@esbuild/linux-arm": "0.17.15", - "@esbuild/linux-arm64": "0.17.15", - "@esbuild/linux-ia32": "0.17.15", - "@esbuild/linux-loong64": "0.17.15", - "@esbuild/linux-mips64el": "0.17.15", - "@esbuild/linux-ppc64": "0.17.15", - "@esbuild/linux-riscv64": "0.17.15", - "@esbuild/linux-s390x": "0.17.15", - "@esbuild/linux-x64": "0.17.15", - "@esbuild/netbsd-x64": "0.17.15", - "@esbuild/openbsd-x64": "0.17.15", - "@esbuild/sunos-x64": "0.17.15", - "@esbuild/win32-arm64": "0.17.15", - "@esbuild/win32-ia32": "0.17.15", - "@esbuild/win32-x64": "0.17.15" + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" } }, "escalade": { @@ -31187,9 +31215,9 @@ } }, "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "glob-parent": { @@ -31202,9 +31230,9 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -31901,9 +31929,9 @@ }, "dependencies": { "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true } } @@ -33112,11 +33140,6 @@ "is-glob": "^4.0.1" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "global-cache-dir": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/global-cache-dir/-/global-cache-dir-4.4.0.tgz", @@ -34612,9 +34635,9 @@ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, "lambda-local": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.1.1.tgz", - "integrity": "sha512-/bjvifTDx8mOfKwe3pHrmfHyy695Gj2Z++WFL+Sk7/nXjUcDWP/26vIV8Q0LVpyfaGCC47oCK6Y6d/8PNUSNJw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.1.2.tgz", + "integrity": "sha512-nGTJn2JxZWcLGpNwXFmXC7UEXL7QCLieQWDiXs46vIv9y/gSPm/uHygEMCaym+HIziniAw0XIm+1VTrXCvG1Zw==", "requires": { "commander": "^10.0.1", "dotenv": "^16.3.1", @@ -36071,9 +36094,9 @@ } }, "netlify-redirect-parser": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.1.3.tgz", - "integrity": "sha512-23svKHdO2QUEJHo3knQV1EpAh8UX/+8zQmwxVMSby4/NRj5vPS+u/yKesY/uHAgcw/28HwvEUGQdbXsPPe7J/Q==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.2.0.tgz", + "integrity": "sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==", "requires": { "fast-safe-stringify": "^2.1.1", "filter-obj": "^5.0.0", @@ -39158,9 +39181,9 @@ }, "dependencies": { "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true } } @@ -39298,9 +39321,9 @@ "dev": true }, "thread-stream": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz", - "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.0.tgz", + "integrity": "sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==", "requires": { "real-require": "^0.2.0" } @@ -40004,9 +40027,9 @@ } }, "validator": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", - "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", "dev": true }, "vary": { @@ -40015,23 +40038,23 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "verdaccio": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.26.0.tgz", - "integrity": "sha512-XuVUL5TYwMrky0w6wjgWhgviXmjbLluYy29vjJT9hByLa7TX3zBsqyBWIm+ncb5SxaiYLIEv8fJCrNXujpvUsA==", + "version": "5.26.2", + "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.26.2.tgz", + "integrity": "sha512-JWkjJn+m7WmIA8rEcJw3r/MVg6uFgOZKt6lX8/zveyHCjth+NCLMS7Zjt16dEWMKeSkTVRakifzBGv2IXipt5g==", "dev": true, "requires": { - "@verdaccio/config": "6.0.0-6-next.74", - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/config": "7.0.0-next.1", + "@verdaccio/core": "7.0.0-next.1", "@verdaccio/local-storage": "10.3.3", - "@verdaccio/logger-7": "6.0.0-6-next.19", - "@verdaccio/middleware": "6.0.0-6-next.53", - "@verdaccio/search": "6.0.0-6-next.2", - "@verdaccio/signature": "6.0.0-6-next.2", + "@verdaccio/logger-7": "7.0.0-next.1", + "@verdaccio/middleware": "7.0.0-next.1", + "@verdaccio/search": "7.0.0-next.1", + "@verdaccio/signature": "7.0.0-next.0", "@verdaccio/streams": "10.2.1", - "@verdaccio/tarball": "11.0.0-6-next.43", - "@verdaccio/ui-theme": "6.0.0-6-next.74", - "@verdaccio/url": "11.0.0-6-next.40", - "@verdaccio/utils": "6.0.0-6-next.42", + "@verdaccio/tarball": "12.0.0-next.1", + "@verdaccio/ui-theme": "7.0.0-next.1", + "@verdaccio/url": "12.0.0-next.1", + "@verdaccio/utils": "7.0.0-next.1", "async": "3.2.4", "clipanion": "3.2.1", "compression": "1.7.4", @@ -40055,9 +40078,9 @@ "pkginfo": "0.4.1", "request": "2.88.2", "semver": "7.5.4", - "validator": "13.9.0", - "verdaccio-audit": "11.0.0-6-next.37", - "verdaccio-htpasswd": "11.0.0-6-next.44" + "validator": "13.11.0", + "verdaccio-audit": "12.0.0-next.1", + "verdaccio-htpasswd": "12.0.0-next.1" }, "dependencies": { "envinfo": { @@ -40087,26 +40110,26 @@ } }, "verdaccio-audit": { - "version": "11.0.0-6-next.37", - "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-11.0.0-6-next.37.tgz", - "integrity": "sha512-hzQq90HmKwy327PueS58V720MRDycSCmo7DNgOy+h8dvITG6XAQ6bSsiTgQScjmwImdp3tkl3bqu9kXh33bPxA==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/verdaccio-audit/-/verdaccio-audit-12.0.0-next.1.tgz", + "integrity": "sha512-5TJflIvZNZ10Dx5oD/RETjK6xVV/Shm9JbtpFmIqOhwnwhfHBVw/vI+BM1zvGkXuXmgbXa9qrsG30DI/58sIfQ==", "dev": true, "requires": { - "@verdaccio/config": "6.0.0-6-next.74", - "@verdaccio/core": "6.0.0-6-next.74", + "@verdaccio/config": "7.0.0-next.1", + "@verdaccio/core": "7.0.0-next.1", "express": "4.18.2", "https-proxy-agent": "5.0.1", "node-fetch": "cjs" } }, "verdaccio-htpasswd": { - "version": "11.0.0-6-next.44", - "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-11.0.0-6-next.44.tgz", - "integrity": "sha512-ZKCpZ5KhcHXjAlYkCI6CM6O8KO/Pr/x5C89zqjRR7OMaPyOAu0psIJjvhTycn1efZub4pT6Tlj7rCRlmvIbR0w==", + "version": "12.0.0-next.1", + "resolved": "https://registry.npmjs.org/verdaccio-htpasswd/-/verdaccio-htpasswd-12.0.0-next.1.tgz", + "integrity": "sha512-NNjltevHBJnZo6pKyZqe2THXM3RAFRbrCcTimlVSNL23MbSlcBXvbM4w8MCLzyC5kVixE+i4+ha5diPQLGVN2A==", "dev": true, "requires": { - "@verdaccio/core": "6.0.0-6-next.74", - "@verdaccio/file-locking": "11.0.0-6-next.7", + "@verdaccio/core": "7.0.0-next.1", + "@verdaccio/file-locking": "12.0.0-next.0", "apache-md5": "1.1.8", "bcryptjs": "2.4.3", "core-js": "3.30.2", @@ -40116,9 +40139,9 @@ }, "dependencies": { "@verdaccio/file-locking": { - "version": "11.0.0-6-next.7", - "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-11.0.0-6-next.7.tgz", - "integrity": "sha512-S0GNoe2oBOgB7fKJN2vZqnl5qDEvdnTfKAfa47InXweJROeul6kjlE2/NlbNbK3zZID01VR1HFrFehMQO0Jyfw==", + "version": "12.0.0-next.0", + "resolved": "https://registry.npmjs.org/@verdaccio/file-locking/-/file-locking-12.0.0-next.0.tgz", + "integrity": "sha512-SsjciD/2UpMsUJsEAB4se6gWLnx7JCopdSVGXLvvlKDzHi+y/zQOz0gq2QVirzJ4C+gSRdYd8ts19MOuL1yHgA==", "dev": true, "requires": { "lockfile": "1.0.4" diff --git a/package.json b/package.json index 01f93801a73..0e5cc490579 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "netlify-cli", "description": "Netlify command line tool", - "version": "16.1.0", + "version": "16.2.0", "author": "Netlify Inc.", "type": "module", "engines": { @@ -78,13 +78,13 @@ "dependencies": { "@bugsnag/js": "7.20.2", "@fastify/static": "6.10.2", - "@netlify/build": "29.20.4", - "@netlify/build-info": "7.7.3", + "@netlify/build": "29.20.8", + "@netlify/build-info": "7.7.4", "@netlify/config": "20.8.0", - "@netlify/edge-bundler": "8.17.1", + "@netlify/edge-bundler": "8.19.0", "@netlify/local-functions-proxy": "1.1.1", - "@netlify/serverless-functions-api": "1.5.2", - "@netlify/zip-it-and-ship-it": "9.15.1", + "@netlify/serverless-functions-api": "1.7.3", + "@netlify/zip-it-and-ship-it": "9.17.0", "@octokit/rest": "19.0.13", "ansi-escapes": "6.2.0", "ansi-styles": "6.2.1", @@ -140,7 +140,7 @@ "isexe": "2.0.0", "jsonwebtoken": "9.0.1", "jwt-decode": "3.1.2", - "lambda-local": "2.1.1", + "lambda-local": "2.1.2", "listr": "0.14.3", "locate-path": "7.2.0", "lodash": "4.17.21", @@ -150,7 +150,7 @@ "multiparty": "4.2.3", "netlify": "13.1.10", "netlify-headers-parser": "7.1.2", - "netlify-redirect-parser": "14.1.3", + "netlify-redirect-parser": "14.2.0", "netlify-redirector": "0.4.0", "node-fetch": "2.6.12", "node-version-alias": "3.4.1", @@ -187,7 +187,7 @@ "devDependencies": { "@babel/preset-react": "7.22.5", "@netlify/eslint-config-node": "7.0.0", - "@netlify/functions": "1.6.0", + "@netlify/functions": "2.0.2", "@types/fs-extra": "11.0.1", "@types/prettyjson": "0.0.30", "@types/semver": "7.5.0", @@ -214,7 +214,7 @@ "tomlify-j0.4": "3.0.0", "tree-kill": "1.2.2", "typescript": "5.1.6", - "verdaccio": "5.26.0", + "verdaccio": "5.26.2", "vitest": "0.33.0" }, "ava": { diff --git a/site/package-lock.json b/site/package-lock.json index 13e4bcc0a8c..9e3d981361b 100644 --- a/site/package-lock.json +++ b/site/package-lock.json @@ -14016,9 +14016,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "engines": { "node": ">=0.10.0" } @@ -25565,9 +25565,9 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" }, "worker-farm": { "version": "1.7.0", diff --git a/src/commands/dev/dev.mjs b/src/commands/dev/dev.mjs index 8c879ea099b..dc06dfca8d3 100644 --- a/src/commands/dev/dev.mjs +++ b/src/commands/dev/dev.mjs @@ -161,7 +161,7 @@ const dev = async (options, command) => { }, }) - await startFunctionsServer({ + const functionsRegistry = await startFunctionsServer({ api, command, config, @@ -217,6 +217,7 @@ const dev = async (options, command) => { geolocationMode: options.geo, geoCountry: options.country, accountId, + functionsRegistry, }) if (devConfig.autoLaunch !== false) { diff --git a/src/commands/serve/serve.mjs b/src/commands/serve/serve.mjs index f8333661197..2cbc6bbbfb4 100644 --- a/src/commands/serve/serve.mjs +++ b/src/commands/serve/serve.mjs @@ -93,7 +93,7 @@ const serve = async (options, command) => { options, }) - await startFunctionsServer({ + const functionsRegistry = await startFunctionsServer({ api, command, config, @@ -132,7 +132,9 @@ const serve = async (options, command) => { addonsUrls, config, configPath: configPathOverride, + debug: options.debug, env, + functionsRegistry, geolocationMode: options.geo, geoCountry: options.country, getUpdatedConfig, diff --git a/src/lib/edge-functions/bootstrap.mjs b/src/lib/edge-functions/bootstrap.mjs index c21a26268cf..d37be10b591 100644 --- a/src/lib/edge-functions/bootstrap.mjs +++ b/src/lib/edge-functions/bootstrap.mjs @@ -1,5 +1,5 @@ import { env } from 'process' -const latestBootstrapURL = 'https://64c264287e9cbb0008621df3--edge.netlify.com/bootstrap/index-combined.ts' +const latestBootstrapURL = 'https://64e7783fce8cfe0008496c72--edge.netlify.com/bootstrap/index-combined.ts' export const getBootstrapURL = () => env.NETLIFY_EDGE_BOOTSTRAP || latestBootstrapURL diff --git a/src/lib/edge-functions/registry.mjs b/src/lib/edge-functions/registry.mjs index 22325f0049d..cae41fc5100 100644 --- a/src/lib/edge-functions/registry.mjs +++ b/src/lib/edge-functions/registry.mjs @@ -318,23 +318,38 @@ export class EdgeFunctionsRegistry { functions: this.#functions, featureFlags, }) - const invocationMetadata = { - function_config: manifest.function_config, - routes: manifest.routes.map((route) => ({ function: route.function, pattern: route.pattern })), - } const routes = [...manifest.routes, ...manifest.post_cache_routes].map((route) => ({ ...route, pattern: new RegExp(route.pattern), })) - const functionNames = routes - .filter(({ pattern }) => pattern.test(urlPath)) - .filter(({ function: name }) => { - const isExcluded = manifest.function_config[name]?.excluded_patterns?.some((pattern) => - new RegExp(pattern).test(urlPath), - ) - return !isExcluded - }) - .map((route) => route.function) + + /** @type string[] */ + const functionNames = [] + + /** @type number[] */ + const routeIndexes = [] + + routes.forEach((route, index) => { + if (!route.pattern.test(urlPath)) { + return + } + + const isExcluded = manifest.function_config[route.function]?.excluded_patterns?.some((pattern) => + new RegExp(pattern).test(urlPath), + ) + + if (isExcluded) { + return + } + + functionNames.push(route.function) + routeIndexes.push(index) + }) + const invocationMetadata = { + function_config: manifest.function_config, + req_routes: routeIndexes, + routes: manifest.routes.map((route) => ({ function: route.function, path: route.path, pattern: route.pattern })), + } const orphanedDeclarations = this.#matchURLPathAgainstOrphanedDeclarations(urlPath) return { functionNames, invocationMetadata, orphanedDeclarations } diff --git a/src/lib/functions/netlify-function.mjs b/src/lib/functions/netlify-function.mjs index 16db091bf52..baa7d1ce32c 100644 --- a/src/lib/functions/netlify-function.mjs +++ b/src/lib/functions/netlify-function.mjs @@ -158,6 +158,28 @@ export default class NetlifyFunction { } } + async matchURLPath(rawPath) { + await this.buildQueue + + const path = (rawPath.endsWith('/') ? rawPath.slice(0, -1) : rawPath).toLowerCase() + const { routes = [] } = this.buildData + const isMatch = routes.some(({ expression, literal }) => { + if (literal !== undefined) { + return path === literal + } + + if (expression !== undefined) { + const regex = new RegExp(expression) + + return regex.test(path) + } + + return false + }) + + return isMatch + } + get url() { // This line fixes the issue here https://github.com/netlify/cli/issues/4116 // Not sure why `settings.port` was used here nor does a valid reference exist. diff --git a/src/lib/functions/registry.mjs b/src/lib/functions/registry.mjs index 8a9b84d0b22..1c55deafaf1 100644 --- a/src/lib/functions/registry.mjs +++ b/src/lib/functions/registry.mjs @@ -122,6 +122,16 @@ export class FunctionsRegistry { return this.functions.get(name) } + async getFunctionForURLPath(urlPath) { + for (const func of this.functions.values()) { + const isMatch = await func.matchURLPath(urlPath) + + if (isMatch) { + return func + } + } + } + async registerFunction(name, funcBeforeHook) { const { runtime } = funcBeforeHook diff --git a/src/lib/functions/runtimes/js/builders/zisi.mjs b/src/lib/functions/runtimes/js/builders/zisi.mjs index 1e2c4884581..1023344c21a 100644 --- a/src/lib/functions/runtimes/js/builders/zisi.mjs +++ b/src/lib/functions/runtimes/js/builders/zisi.mjs @@ -58,6 +58,7 @@ const buildFunction = async ({ includedFiles, inputs, path: functionPath, + routes, runtimeAPIVersion, schedule, } = await memoizedBuild({ @@ -81,7 +82,7 @@ const buildFunction = async ({ clearFunctionsCache(targetDirectory) - return { buildPath, includedFiles, runtimeAPIVersion, srcFiles, schedule } + return { buildPath, includedFiles, routes, runtimeAPIVersion, srcFiles, schedule } } /** diff --git a/src/lib/functions/server.mjs b/src/lib/functions/server.mjs index 9fedd0ddf29..8be9717d570 100644 --- a/src/lib/functions/server.mjs +++ b/src/lib/functions/server.mjs @@ -7,6 +7,7 @@ import jwtDecode from 'jwt-decode' import { NETLIFYDEVERR, NETLIFYDEVLOG, error as errorExit, log } from '../../utils/command-helpers.mjs' import { CLOCKWORK_USERAGENT, getFunctionsDistPath, getInternalFunctionsDir } from '../../utils/functions/index.mjs' +import { NFFunctionName } from '../../utils/headers.mjs' import { headers as efHeaders } from '../edge-functions/headers.mjs' import { getGeoLocation } from '../geo-location.mjs' @@ -55,9 +56,20 @@ export const createHandler = function (options) { const { functionsRegistry } = options return async function handler(request, response) { - // handle proxies without path re-writes (http-servr) - const cleanPath = request.path.replace(/^\/.netlify\/(functions|builders)/, '') - const functionName = cleanPath.split('/').find(Boolean) + // If this header is set, it means we've already matched a function and we + // can just grab its name directly. We delete the header from the request + // because we don't want to expose it to user code. + let functionName = request.header(NFFunctionName) + delete request.headers[NFFunctionName] + + // If we didn't match a function with a custom route, let's try to match + // using the fixed URL format. + if (!functionName) { + const cleanPath = request.path.replace(/^\/.netlify\/(functions|builders)/, '') + + functionName = cleanPath.split('/').find(Boolean) + } + const func = functionsRegistry.get(functionName) if (func === undefined) { @@ -231,7 +243,7 @@ const getFunctionsServer = (options) => { * @param {*} options.site * @param {string} options.siteUrl * @param {*} options.timeouts - * @returns + * @returns {Promise} */ export const startFunctionsServer = async (options) => { const { capabilities, command, config, debug, loadDistFunctions, settings, site, siteUrl, timeouts } = options @@ -272,9 +284,11 @@ export const startFunctionsServer = async (options) => { await functionsRegistry.scan(functionsDirectories) - const server = await getFunctionsServer(Object.assign(options, { functionsRegistry })) + const server = getFunctionsServer(Object.assign(options, { functionsRegistry })) await startWebServer({ server, settings, debug }) + + return functionsRegistry } /** diff --git a/src/utils/headers.mjs b/src/utils/headers.mjs index d0eb68bcd75..c570fe705aa 100644 --- a/src/utils/headers.mjs +++ b/src/utils/headers.mjs @@ -46,4 +46,5 @@ const getErrorMessage = function ({ message }) { return message } +export const NFFunctionName = 'x-nf-function-name' export const NFRequestID = 'x-nf-request-id' diff --git a/src/utils/proxy-server.mjs b/src/utils/proxy-server.mjs index 07f0460793c..e2a64ec3d3a 100644 --- a/src/utils/proxy-server.mjs +++ b/src/utils/proxy-server.mjs @@ -52,6 +52,7 @@ export const generateInspectSettings = (edgeInspect, edgeInspectBrk) => { * @param {*} params.siteInfo * @param {string} params.projectDir * @param {import('./state-config.mjs').default} params.state + * @param {import('../lib/functions/registry.mjs').FunctionsRegistry=} params.functionsRegistry * @returns */ export const startProxyServer = async ({ @@ -61,6 +62,7 @@ export const startProxyServer = async ({ configPath, debug, env, + functionsRegistry, geoCountry, geolocationMode, getUpdatedConfig, @@ -78,6 +80,7 @@ export const startProxyServer = async ({ configPath: configPath || site.configPath, debug, env, + functionsRegistry, geolocationMode, geoCountry, getUpdatedConfig, diff --git a/src/utils/proxy.mjs b/src/utils/proxy.mjs index 4c1c5fe6fbc..54968fe48dc 100644 --- a/src/utils/proxy.mjs +++ b/src/utils/proxy.mjs @@ -31,7 +31,7 @@ import renderErrorTemplate from '../lib/render-error-template.mjs' import { NETLIFYDEVLOG, NETLIFYDEVWARN, log, chalk } from './command-helpers.mjs' import createStreamPromise from './create-stream-promise.mjs' -import { headersForPath, parseHeaders, NFRequestID } from './headers.mjs' +import { headersForPath, parseHeaders, NFFunctionName, NFRequestID } from './headers.mjs' import { generateRequestID } from './request-id.mjs' import { createRewriter, onChanges } from './rules-proxy.mjs' import { signRedirect } from './sign-redirect.mjs' @@ -181,7 +181,7 @@ const alternativePathsFor = function (url) { return paths } -const serveRedirect = async function ({ env, match, options, proxy, req, res, siteInfo }) { +const serveRedirect = async function ({ env, functionsRegistry, match, options, proxy, req, res, siteInfo }) { if (!match) return proxy.web(req, res, options) options = options || req.proxyOptions || {} @@ -214,6 +214,7 @@ const serveRedirect = async function ({ env, match, options, proxy, req, res, si if (isFunction(options.functionsPort, req.url)) { return proxy.web(req, res, { target: options.functionsServer }) } + const urlForAddons = getAddonUrl(options.addonsUrls, req) if (urlForAddons) { return handleAddonUrl({ req, res, addonUrl: urlForAddons }) @@ -327,22 +328,28 @@ const serveRedirect = async function ({ env, match, options, proxy, req, res, si return proxy.web(req, res, { target: options.functionsServer }) } + const functionWithCustomRoute = functionsRegistry && (await functionsRegistry.getFunctionForURLPath(destURL)) const destStaticFile = await getStatic(dest.pathname, options.publicFolder) let statusValue - if (match.force || (!staticFile && ((!options.framework && destStaticFile) || isInternal(destURL)))) { + if ( + match.force || + (!staticFile && ((!options.framework && destStaticFile) || isInternal(destURL) || functionWithCustomRoute)) + ) { req.url = destStaticFile ? destStaticFile + dest.search : destURL const { status } = match statusValue = status console.log(`${NETLIFYDEVLOG} Rewrote URL to`, req.url) } - if (isFunction(options.functionsPort, req.url)) { + if (isFunction(options.functionsPort, req.url) || functionWithCustomRoute) { + const functionHeaders = functionWithCustomRoute ? { [NFFunctionName]: functionWithCustomRoute.name } : {} const url = reqToURL(req, originalURL) req.headers['x-netlify-original-pathname'] = url.pathname req.headers['x-netlify-original-search'] = url.search - return proxy.web(req, res, { target: options.functionsServer }) + return proxy.web(req, res, { headers: functionHeaders, target: options.functionsServer }) } + const addonUrl = getAddonUrl(options.addonsUrls, req) if (addonUrl) { return handleAddonUrl({ req, res, addonUrl }) @@ -434,12 +441,22 @@ const initializeProxy = async function ({ configPath, distDir, env, host, port, } if (proxyRes.statusCode === 404 || proxyRes.statusCode === 403) { + // If a request for `/path` has failed, we'll a few variations like + // `/path/index.html` to mimic the CDN behavior. if (req.alternativePaths && req.alternativePaths.length !== 0) { req.url = req.alternativePaths.shift() return proxy.web(req, res, req.proxyOptions) } + + // The request has failed but we might still have a matching redirect + // rule (without `force`) that should kick in. This is how we mimic the + // file shadowing behavior from the CDN. if (req.proxyOptions && req.proxyOptions.match) { return serveRedirect({ + // We don't want to match functions at this point because any redirects + // to functions will have already been processed, so we don't supply a + // functions registry to `serveRedirect`. + functionsRegistry: null, req, res, proxy: handlers, @@ -453,7 +470,19 @@ const initializeProxy = async function ({ configPath, distDir, env, host, port, if (req.proxyOptions.staticFile && isRedirect({ status: proxyRes.statusCode }) && proxyRes.headers.location) { req.url = proxyRes.headers.location - return serveRedirect({ req, res, proxy: handlers, match: null, options: req.proxyOptions, siteInfo, env }) + return serveRedirect({ + // We don't want to match functions at this point because any redirects + // to functions will have already been processed, so we don't supply a + // functions registry to `serveRedirect`. + functionsRegistry: null, + req, + res, + proxy: handlers, + match: null, + options: req.proxyOptions, + siteInfo, + env, + }) } const responseData = [] @@ -551,7 +580,7 @@ const initializeProxy = async function ({ configPath, distDir, env, host, port, } const onRequest = async ( - { addonsUrls, edgeFunctionsProxy, env, functionsServer, proxy, rewriter, settings, siteInfo }, + { addonsUrls, edgeFunctionsProxy, env, functionsRegistry, functionsServer, proxy, rewriter, settings, siteInfo }, req, res, ) => { @@ -565,9 +594,22 @@ const onRequest = async ( return proxy.web(req, res, { target: edgeFunctionsProxyURL }) } + // Does the request match a function on the fixed URL path? if (isFunction(settings.functionsPort, req.url)) { return proxy.web(req, res, { target: functionsServer }) } + + // Does the request match a function on a custom URL path? + const functionMatch = functionsRegistry ? await functionsRegistry.getFunctionForURLPath(req.url) : null + + if (functionMatch) { + // Setting an internal header with the function name so that we don't + // have to match the URL again in the functions server. + const headers = { [NFFunctionName]: functionMatch.name } + + return proxy.web(req, res, { headers, target: functionsServer }) + } + const addonUrl = getAddonUrl(addonsUrls, req) if (addonUrl) { return handleAddonUrl({ req, res, addonUrl }) @@ -591,7 +633,7 @@ const onRequest = async ( // We don't want to generate an ETag for 3xx redirects. req[shouldGenerateETag] = ({ statusCode }) => statusCode < 300 || statusCode >= 400 - return serveRedirect({ req, res, proxy, match, options, siteInfo, env }) + return serveRedirect({ req, res, proxy, match, options, siteInfo, env, functionsRegistry }) } // The request will be served by the framework server, which means we want to @@ -628,6 +670,7 @@ export const startProxy = async function ({ configPath, debug, env, + functionsRegistry, geoCountry, geolocationMode, getUpdatedConfig, @@ -681,6 +724,7 @@ export const startProxy = async function ({ rewriter, settings, addonsUrls, + functionsRegistry, functionsServer, edgeFunctionsProxy, siteInfo, diff --git a/tests/integration/__fixtures__/dev-server-with-edge-functions/netlify/edge-functions/context-with-params.ts b/tests/integration/__fixtures__/dev-server-with-edge-functions/netlify/edge-functions/context-with-params.ts new file mode 100644 index 00000000000..d32e5662390 --- /dev/null +++ b/tests/integration/__fixtures__/dev-server-with-edge-functions/netlify/edge-functions/context-with-params.ts @@ -0,0 +1,7 @@ +import { Config, Context } from 'https://edge.netlify.com' + +export default (_, context: Context) => Response.json(context) + +export const config: Config = { + path: '/categories/:category/products/:product', +} diff --git a/tests/integration/__fixtures__/dev-server-with-v2-functions/functions/custom-path-expression.mjs b/tests/integration/__fixtures__/dev-server-with-v2-functions/functions/custom-path-expression.mjs new file mode 100644 index 00000000000..16f01d3c7a7 --- /dev/null +++ b/tests/integration/__fixtures__/dev-server-with-v2-functions/functions/custom-path-expression.mjs @@ -0,0 +1,5 @@ +export default async (req) => new Response(`With expression path: ${req.url}`) + +export const config = { + path: '/products/:sku', +} diff --git a/tests/integration/__fixtures__/dev-server-with-v2-functions/functions/custom-path-literal.mjs b/tests/integration/__fixtures__/dev-server-with-v2-functions/functions/custom-path-literal.mjs new file mode 100644 index 00000000000..52952eafdc0 --- /dev/null +++ b/tests/integration/__fixtures__/dev-server-with-v2-functions/functions/custom-path-literal.mjs @@ -0,0 +1,5 @@ +export default async (req) => new Response(`With literal path: ${req.url}`) + +export const config = { + path: '/products', +} diff --git a/tests/integration/__fixtures__/dev-server-with-v2-functions/netlify.toml b/tests/integration/__fixtures__/dev-server-with-v2-functions/netlify.toml index 5ae964ac10f..e0c108ee3b4 100644 --- a/tests/integration/__fixtures__/dev-server-with-v2-functions/netlify.toml +++ b/tests/integration/__fixtures__/dev-server-with-v2-functions/netlify.toml @@ -1,2 +1,27 @@ +[build] +publish = "public" + [functions] directory = "functions" + +[[redirects]] +force = true +from = "/v2-to-legacy-with-force" +status = 200 +to = "/.netlify/functions/custom-path-literal" + +[[redirects]] +from = "/v2-to-legacy-without-force" +status = 200 +to = "/.netlify/functions/custom-path-literal" + +[[redirects]] +force = true +from = "/v2-to-custom-with-force" +status = 200 +to = "/products" + +[[redirects]] +from = "/v2-to-custom-without-force" +status = 200 +to = "/products" diff --git a/tests/integration/__fixtures__/dev-server-with-v2-functions/public/products.html b/tests/integration/__fixtures__/dev-server-with-v2-functions/public/products.html new file mode 100644 index 00000000000..17079e343d5 --- /dev/null +++ b/tests/integration/__fixtures__/dev-server-with-v2-functions/public/products.html @@ -0,0 +1 @@ +/products from origin diff --git a/tests/integration/__fixtures__/dev-server-with-v2-functions/public/v2-to-custom-without-force.html b/tests/integration/__fixtures__/dev-server-with-v2-functions/public/v2-to-custom-without-force.html new file mode 100644 index 00000000000..2a18639f48a --- /dev/null +++ b/tests/integration/__fixtures__/dev-server-with-v2-functions/public/v2-to-custom-without-force.html @@ -0,0 +1 @@ +/v2-to-custom-without-force from origin \ No newline at end of file diff --git a/tests/integration/__fixtures__/dev-server-with-v2-functions/public/v2-to-legacy-without-force.html b/tests/integration/__fixtures__/dev-server-with-v2-functions/public/v2-to-legacy-without-force.html new file mode 100644 index 00000000000..3242a10f669 --- /dev/null +++ b/tests/integration/__fixtures__/dev-server-with-v2-functions/public/v2-to-legacy-without-force.html @@ -0,0 +1 @@ +/v2-to-legacy-without-force from origin \ No newline at end of file diff --git a/tests/integration/commands/dev/dev-miscellaneous.test.mjs b/tests/integration/commands/dev/dev-miscellaneous.test.mjs index fb73884c332..2310534d1b6 100644 --- a/tests/integration/commands/dev/dev-miscellaneous.test.mjs +++ b/tests/integration/commands/dev/dev-miscellaneous.test.mjs @@ -459,7 +459,6 @@ describe.concurrent('commands/dev-miscellaneous', () => { }) .withEdgeFunction({ handler: async () => { - // eslint-disable-next-line no-undef -- `ReadableStream` is a global in Deno const body = new ReadableStream({ async start(controller) { setInterval(() => { diff --git a/tests/integration/commands/dev/edge-functions.test.ts b/tests/integration/commands/dev/edge-functions.test.ts index 8d86f71a05c..7dd769ba168 100644 --- a/tests/integration/commands/dev/edge-functions.test.ts +++ b/tests/integration/commands/dev/edge-functions.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from 'vitest' +import { describe, expect, expectTypeOf, test } from 'vitest' import { FixtureTestContext, setupFixtureTests } from '../../utils/fixture.js' import got from '../../utils/got.cjs' @@ -16,15 +16,34 @@ describe('edge functions', () => { expect(response.body).toMatchSnapshot() }) - test('should provide geo location', async ({ devServer }) => { + test('should provide context properties', async ({ devServer }) => { const response = await got(`http://localhost:${devServer.port}/context`, { throwHttpErrors: false, retry: { limit: 0 }, }) - const { geo } = JSON.parse(response.body) + const { deploy, geo, ip, params, requestId, server, site } = JSON.parse(response.body) expect(geo.city).toEqual('Mock City') expect(geo.country.code).toEqual('DE') + expect(deploy).toEqual({ id: '0' }) + expectTypeOf(ip).toBeString() + expect(params).toEqual({}) + expectTypeOf(requestId).toBeString() + expect(server).toEqual({ region: 'local' }) + expect(site).toEqual({ id: 'foo' }) + }) + + test('should expose URL parameters', async ({ devServer }) => { + const response = await got(`http://localhost:${devServer.port}/categories/foo/products/bar`, { + throwHttpErrors: false, + retry: { limit: 0 }, + }) + + const { params } = JSON.parse(response.body) + expect(params).toEqual({ + category: 'foo', + product: 'bar', + }) }) }) diff --git a/tests/integration/commands/dev/v2-api.test.ts b/tests/integration/commands/dev/v2-api.test.ts index 976a52c5e05..c40a01d57cf 100644 --- a/tests/integration/commands/dev/v2-api.test.ts +++ b/tests/integration/commands/dev/v2-api.test.ts @@ -6,8 +6,23 @@ import { describe, expect, test } from 'vitest' import { FixtureTestContext, setupFixtureTests } from '../../utils/fixture.js' import got from '../../utils/got.cjs' +const siteInfo = { + account_id: 'mock-account-id', + account_slug: 'mock-account', + id: 'mock-site-id', + name: 'mock-site-name', +} +const routes = [ + { path: 'sites/*/service-instances', response: [] }, + { path: 'sites/*', response: siteInfo }, + { + path: 'accounts', + response: [{ id: siteInfo.account_id, slug: siteInfo.account_slug }], + }, +] + describe.runIf(gte(version, '18.13.0'))('v2 api', () => { - setupFixtureTests('dev-server-with-v2-functions', { devServer: true }, () => { + setupFixtureTests('dev-server-with-v2-functions', { devServer: true, mockApi: { routes } }, () => { test('should successfully be able to run v2 functions', async ({ devServer }) => { const response = await got(`http://localhost:${devServer.port}/.netlify/functions/ping`, { throwHttpErrors: false, @@ -54,6 +69,8 @@ describe.runIf(gte(version, '18.13.0'))('v2 api', () => { expect(context.geo.city).toEqual('Mock City') expect(context.cookies).toEqual({ foo: 'bar' }) + + expect(context.account.id).toEqual('mock-account-id') }) test('logging works', async ({ devServer }) => { @@ -87,5 +104,49 @@ describe.runIf(gte(version, '18.13.0'))('v2 api', () => { expect(response.headers.get('content-type')).toBe('text/html') expect(await response.text()).toContain('') }) + + test('supports custom URLs using a literal path', async ({ devServer }) => { + const url = `http://localhost:${devServer.port}/products` + const response = await fetch(url) + expect(response.status).toBe(200) + expect(await response.text()).toBe(`With literal path: ${url}`) + }) + + test('supports custom URLs using an expression path', async ({ devServer }) => { + const url = `http://localhost:${devServer.port}/products/netlify` + const response = await fetch(url) + expect(response.status).toBe(200) + expect(await response.text()).toBe(`With expression path: ${url}`) + }) + + describe('handles rewrites to a function', () => { + test('rewrite to legacy URL format with `force: true`', async ({ devServer }) => { + const url = `http://localhost:${devServer.port}/v2-to-legacy-with-force` + const response = await fetch(url) + expect(response.status).toBe(200) + expect(await response.text()).toBe(`With literal path: ${url}`) + }) + + test('rewrite to legacy URL format with `force: false`', async ({ devServer }) => { + const url = `http://localhost:${devServer.port}/v2-to-legacy-without-force` + const response = await fetch(url) + expect(response.status).toBe(200) + expect(await response.text()).toBe('/v2-to-legacy-without-force from origin') + }) + + test('rewrite to custom URL format with `force: true`', async ({ devServer }) => { + const url = `http://localhost:${devServer.port}/v2-to-custom-with-force` + const response = await fetch(url) + expect(response.status).toBe(200) + expect(await response.text()).toBe(`With literal path: ${url}`) + }) + + test('rewrite to custom URL format with `force: false`', async ({ devServer }) => { + const url = `http://localhost:${devServer.port}/v2-to-custom-without-force` + const response = await fetch(url) + expect(response.status).toBe(200) + expect(await response.text()).toBe('/v2-to-custom-without-force from origin') + }) + }) }) }) diff --git a/tests/integration/snapshots/600.framework-detection.test.cjs.md b/tests/integration/snapshots/600.framework-detection.test.cjs.md index 0ca0ed1b5f2..e87bc042ebe 100644 --- a/tests/integration/snapshots/600.framework-detection.test.cjs.md +++ b/tests/integration/snapshots/600.framework-detection.test.cjs.md @@ -251,7 +251,6 @@ Generated by [AVA](https://avajs.dev). ​␊ > Flags␊ configPath:/file/path␊ - edgeFunctionsBootstrapURL: https://64c888887e9cbb8888821df3--edge.netlify.com/bootstrap/index-combined.ts␊ offline: true␊ outputConfigPath:/file/path␊ ​␊ diff --git a/tests/integration/snapshots/600.framework-detection.test.cjs.snap b/tests/integration/snapshots/600.framework-detection.test.cjs.snap index e4f1bc25578..e604422a50f 100644 Binary files a/tests/integration/snapshots/600.framework-detection.test.cjs.snap and b/tests/integration/snapshots/600.framework-detection.test.cjs.snap differ diff --git a/tests/integration/utils/fixture.ts b/tests/integration/utils/fixture.ts index 72b7fcdb25a..296bd714456 100644 --- a/tests/integration/utils/fixture.ts +++ b/tests/integration/utils/fixture.ts @@ -144,8 +144,18 @@ export async function setupFixtureTests( if (options.mockApi) mockApi = await startMockApi(options.mockApi) fixture = await Fixture.create(fixturePath, { apiUrl: mockApi?.apiUrl }) - if (options.devServer) - devServer = await startDevServer({ cwd: fixture.directory, args: ['--offline', '--country', 'DE'] }) + if (options.devServer) { + devServer = await startDevServer({ + cwd: fixture.directory, + offline: !mockApi, + args: ['--country', 'DE'], + env: { + NETLIFY_API_URL: mockApi?.apiUrl, + NETLIFY_SITE_ID: 'foo', + NETLIFY_AUTH_TOKEN: 'fake-token', + }, + }) + } await options.setup?.({ devServer, fixture, mockApi }) }, HOOK_TIMEOUT)