From 7ebe1a832203538d9c5011ffdc8b4e5c139ad697 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 15:56:42 +0000 Subject: [PATCH 1/5] chore(deps): update dependency @netlify/build to ^29.12.1 (#2153) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 146 +++++++++++++++++----------------- package.json | 2 +- packages/runtime/package.json | 2 +- 3 files changed, 75 insertions(+), 75 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83fba70902..f8a4bb0a32 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.11.8", + "@netlify/build": "^29.12.1", "@netlify/eslint-config-node": "^7.0.1", "@testing-library/cypress": "^9.0.0", "@types/fs-extra": "^9.0.13", @@ -849,9 +849,9 @@ }, "node_modules/@babel/parser_latest": { "name": "@babel/parser", - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -3462,21 +3462,21 @@ "dev": true }, "node_modules/@netlify/build": { - "version": "29.11.8", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.11.8.tgz", - "integrity": "sha512-XuhYcx3qCIU+/mTX7wRWL5xIFYi4d5pbp4zEvWbcOKapr8PK0RP76dPCiEhgyBHvhnqbok/EDufk0U12Fny2Cg==", + "version": "29.12.1", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.12.1.tgz", + "integrity": "sha512-ywXdJsCV/C+uBFTRM8Tc22gxd6E8cq0qbLMOAbID6N3BYKx6AFMaL8DkMFNmQOAYgb9AEfecRTAHmoFLBo/tVg==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/cache-utils": "^5.1.5", "@netlify/config": "^20.4.4", - "@netlify/edge-bundler": "8.16.0", - "@netlify/framework-info": "^9.8.8", - "@netlify/functions-utils": "^5.2.9", + "@netlify/edge-bundler": "8.16.1", + "@netlify/framework-info": "^9.8.9", + "@netlify/functions-utils": "^5.2.10", "@netlify/git-utils": "^5.1.1", "@netlify/plugins-list": "^6.68.0", - "@netlify/run-utils": "^5.1.0", - "@netlify/zip-it-and-ship-it": "9.7.0", + "@netlify/run-utils": "^5.1.1", + "@netlify/zip-it-and-ship-it": "9.8.0", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -3510,7 +3510,7 @@ "resolve": "^2.0.0-next.1", "rfdc": "^1.3.0", "safe-json-stringify": "^1.2.0", - "semver": "^7.0.0", + "semver": "^7.3.8", "string-width": "^5.0.0", "strip-ansi": "^7.0.0", "supports-color": "^9.0.0", @@ -3529,9 +3529,9 @@ } }, "node_modules/@netlify/build/node_modules/@sindresorhus/is": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.0.tgz", - "integrity": "sha512-Ggh6E9AnMpiNXlbXfFUcWE9qm408rL8jDi7+PMBBx7TMbwEmiqAiSmZ+zydYwxcJLqPGNDoLc9mXDuMDBZg0sA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.1.tgz", + "integrity": "sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==", "dev": true, "engines": { "node": ">=14.16" @@ -4156,9 +4156,9 @@ } }, "node_modules/@netlify/edge-bundler": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.0.tgz", - "integrity": "sha512-kDUDUHr8nLOsi7YGqBBIOkvrua9NjE6cuwPnI0/d3zzbBYb7D0RUrbq4bdLTXynAdkUDLXwF2kuX0FsGJbPKWw==", + "version": "8.16.1", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.1.tgz", + "integrity": "sha512-nLwQchCruBwjr2bgptxisoa+i182PwNc9eu1NTqwVZCIwDJhdBPJQVH251VunT0NJEchnpqJ4nZdTce3y1G6zQ==", "dev": true, "dependencies": { "@import-maps/resolve": "^1.0.1", @@ -4179,7 +4179,7 @@ "p-wait-for": "^4.1.0", "path-key": "^4.0.0", "regexp-tree": "^0.1.24", - "semver": "^7.3.5", + "semver": "^7.3.8", "tmp-promise": "^3.0.3", "uuid": "^9.0.0" }, @@ -4822,9 +4822,9 @@ } }, "node_modules/@netlify/framework-info": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.8.tgz", - "integrity": "sha512-oX+6U5g3KeRhMYaCQwzeKHZW9U/eRKnHZ8bWMiLhjB423QRllL/fVKnyTOBOnCnghi3Xc0xbp8nx2IXYoPNeDA==", + "version": "9.8.9", + "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.9.tgz", + "integrity": "sha512-2ihT5SQk4eqspjyjr3VCpf2PZDimLbZuBpvh8GkK6eW2j6X8clq1Mz3fxoHrLcA0r32IwPskRPUgnJrSIvoPuw==", "dev": true, "dependencies": { "ajv": "^8.12.0", @@ -4836,7 +4836,7 @@ "p-locate": "^6.0.0", "process": "^0.11.10", "read-pkg-up": "^9.0.0", - "semver": "^7.3.4" + "semver": "^7.3.8" }, "engines": { "node": "^14.14.0 || >=16.0.0" @@ -4869,12 +4869,12 @@ } }, "node_modules/@netlify/functions-utils": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.9.tgz", - "integrity": "sha512-jOarqiCP2uxWloE6clabTZtgPBtHIRO7GLta2tELJTKCxCLIVyToqFhuhOkfbb4blaIwGQl/LbR1b3xVI4UVmg==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.10.tgz", + "integrity": "sha512-b9sddm8jwYf7YCb9F3bIKS6FfxiDe5j9sMlOPZXpVOoyJxbLj8kDW+1VWfiiRS8xS/8s4VPvmYDuLZUTLFLPlA==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "9.7.0", + "@netlify/zip-it-and-ship-it": "9.8.0", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -5171,9 +5171,9 @@ } }, "node_modules/@netlify/run-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-5.1.0.tgz", - "integrity": "sha512-fHBXEW35QmKB2MiSRXVBZ4t29t+QhvTClUfXsxLHLEPkEi9tE9N+d55ycZha/b5U8Tc1ZeyzzDFjjnKk+XHWbA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-5.1.1.tgz", + "integrity": "sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==", "dev": true, "dependencies": { "execa": "^6.0.0" @@ -5278,13 +5278,13 @@ } }, "node_modules/@netlify/zip-it-and-ship-it": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.7.0.tgz", - "integrity": "sha512-ZY2rNkw6jq/Gg8gS1lT0vE1e73VnZgaXYkl0pNt6qSA3AyRofKm6ADpLxoM+2iHGYs/vEYfgnnvh7emddUazjw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.8.0.tgz", + "integrity": "sha512-p7CJwd2Wy6yFcT5cb7g7+JUZk0kASRIev1lcLk0oeCuDjZAJ/LsFtzFwFEZkfkKn/NUu4TF8bdUha/PeoIXiPQ==", "dev": true, "dependencies": { "@babel/parser": "7.16.8", - "@babel/parser_latest": "npm:@babel/parser@7.21.8", + "@babel/parser_latest": "npm:@babel/parser@7.22.4", "@netlify/binary-info": "^1.0.0", "@netlify/esbuild": "0.14.39", "@netlify/serverless-functions-api": "^1.5.0", @@ -5309,7 +5309,7 @@ "precinct": "^11.0.0", "require-package-name": "^2.0.1", "resolve": "^2.0.0-next.1", - "semver": "^7.0.0", + "semver": "^7.3.8", "tmp-promise": "^3.0.2", "toml": "^3.0.0", "unixify": "^1.0.0", @@ -24473,7 +24473,7 @@ }, "devDependencies": { "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.11.8", + "@netlify/build": "^29.12.1", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.4.1", "@types/merge-stream": "^1.1.2", @@ -24961,9 +24961,9 @@ "dev": true }, "@babel/parser_latest": { - "version": "npm:@babel/parser@7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "version": "npm:@babel/parser@7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -26891,21 +26891,21 @@ "dev": true }, "@netlify/build": { - "version": "29.11.8", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.11.8.tgz", - "integrity": "sha512-XuhYcx3qCIU+/mTX7wRWL5xIFYi4d5pbp4zEvWbcOKapr8PK0RP76dPCiEhgyBHvhnqbok/EDufk0U12Fny2Cg==", + "version": "29.12.1", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.12.1.tgz", + "integrity": "sha512-ywXdJsCV/C+uBFTRM8Tc22gxd6E8cq0qbLMOAbID6N3BYKx6AFMaL8DkMFNmQOAYgb9AEfecRTAHmoFLBo/tVg==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", "@netlify/cache-utils": "^5.1.5", "@netlify/config": "^20.4.4", - "@netlify/edge-bundler": "8.16.0", - "@netlify/framework-info": "^9.8.8", - "@netlify/functions-utils": "^5.2.9", + "@netlify/edge-bundler": "8.16.1", + "@netlify/framework-info": "^9.8.9", + "@netlify/functions-utils": "^5.2.10", "@netlify/git-utils": "^5.1.1", "@netlify/plugins-list": "^6.68.0", - "@netlify/run-utils": "^5.1.0", - "@netlify/zip-it-and-ship-it": "9.7.0", + "@netlify/run-utils": "^5.1.1", + "@netlify/zip-it-and-ship-it": "9.8.0", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -26939,7 +26939,7 @@ "resolve": "^2.0.0-next.1", "rfdc": "^1.3.0", "safe-json-stringify": "^1.2.0", - "semver": "^7.0.0", + "semver": "^7.3.8", "string-width": "^5.0.0", "strip-ansi": "^7.0.0", "supports-color": "^9.0.0", @@ -26952,9 +26952,9 @@ }, "dependencies": { "@sindresorhus/is": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.0.tgz", - "integrity": "sha512-Ggh6E9AnMpiNXlbXfFUcWE9qm408rL8jDi7+PMBBx7TMbwEmiqAiSmZ+zydYwxcJLqPGNDoLc9mXDuMDBZg0sA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.1.tgz", + "integrity": "sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==", "dev": true }, "@szmarczak/http-timer": { @@ -27360,9 +27360,9 @@ } }, "@netlify/edge-bundler": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.0.tgz", - "integrity": "sha512-kDUDUHr8nLOsi7YGqBBIOkvrua9NjE6cuwPnI0/d3zzbBYb7D0RUrbq4bdLTXynAdkUDLXwF2kuX0FsGJbPKWw==", + "version": "8.16.1", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.1.tgz", + "integrity": "sha512-nLwQchCruBwjr2bgptxisoa+i182PwNc9eu1NTqwVZCIwDJhdBPJQVH251VunT0NJEchnpqJ4nZdTce3y1G6zQ==", "dev": true, "requires": { "@import-maps/resolve": "^1.0.1", @@ -27383,7 +27383,7 @@ "p-wait-for": "^4.1.0", "path-key": "^4.0.0", "regexp-tree": "^0.1.24", - "semver": "^7.3.5", + "semver": "^7.3.8", "tmp-promise": "^3.0.3", "uuid": "^9.0.0" }, @@ -27732,9 +27732,9 @@ } }, "@netlify/framework-info": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.8.tgz", - "integrity": "sha512-oX+6U5g3KeRhMYaCQwzeKHZW9U/eRKnHZ8bWMiLhjB423QRllL/fVKnyTOBOnCnghi3Xc0xbp8nx2IXYoPNeDA==", + "version": "9.8.9", + "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.9.tgz", + "integrity": "sha512-2ihT5SQk4eqspjyjr3VCpf2PZDimLbZuBpvh8GkK6eW2j6X8clq1Mz3fxoHrLcA0r32IwPskRPUgnJrSIvoPuw==", "dev": true, "requires": { "ajv": "^8.12.0", @@ -27746,7 +27746,7 @@ "p-locate": "^6.0.0", "process": "^0.11.10", "read-pkg-up": "^9.0.0", - "semver": "^7.3.4" + "semver": "^7.3.8" }, "dependencies": { "semver": { @@ -27769,12 +27769,12 @@ } }, "@netlify/functions-utils": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.9.tgz", - "integrity": "sha512-jOarqiCP2uxWloE6clabTZtgPBtHIRO7GLta2tELJTKCxCLIVyToqFhuhOkfbb4blaIwGQl/LbR1b3xVI4UVmg==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.10.tgz", + "integrity": "sha512-b9sddm8jwYf7YCb9F3bIKS6FfxiDe5j9sMlOPZXpVOoyJxbLj8kDW+1VWfiiRS8xS/8s4VPvmYDuLZUTLFLPlA==", "dev": true, "requires": { - "@netlify/zip-it-and-ship-it": "9.7.0", + "@netlify/zip-it-and-ship-it": "9.8.0", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -27985,7 +27985,7 @@ "version": "file:packages/runtime", "requires": { "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.11.8", + "@netlify/build": "^29.12.1", "@netlify/esbuild": "0.14.39", "@netlify/functions": "^1.6.0", "@netlify/ipx": "^1.4.0", @@ -28050,9 +28050,9 @@ "dev": true }, "@netlify/run-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-5.1.0.tgz", - "integrity": "sha512-fHBXEW35QmKB2MiSRXVBZ4t29t+QhvTClUfXsxLHLEPkEi9tE9N+d55ycZha/b5U8Tc1ZeyzzDFjjnKk+XHWbA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-5.1.1.tgz", + "integrity": "sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==", "dev": true, "requires": { "execa": "^6.0.0" @@ -28120,13 +28120,13 @@ "dev": true }, "@netlify/zip-it-and-ship-it": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.7.0.tgz", - "integrity": "sha512-ZY2rNkw6jq/Gg8gS1lT0vE1e73VnZgaXYkl0pNt6qSA3AyRofKm6ADpLxoM+2iHGYs/vEYfgnnvh7emddUazjw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.8.0.tgz", + "integrity": "sha512-p7CJwd2Wy6yFcT5cb7g7+JUZk0kASRIev1lcLk0oeCuDjZAJ/LsFtzFwFEZkfkKn/NUu4TF8bdUha/PeoIXiPQ==", "dev": true, "requires": { "@babel/parser": "7.16.8", - "@babel/parser_latest": "npm:@babel/parser@7.21.8", + "@babel/parser_latest": "npm:@babel/parser@7.22.4", "@netlify/binary-info": "^1.0.0", "@netlify/esbuild": "0.14.39", "@netlify/serverless-functions-api": "^1.5.0", @@ -28151,7 +28151,7 @@ "precinct": "^11.0.0", "require-package-name": "^2.0.1", "resolve": "^2.0.0-next.1", - "semver": "^7.0.0", + "semver": "^7.3.8", "tmp-promise": "^3.0.2", "toml": "^3.0.0", "unixify": "^1.0.0", diff --git a/package.json b/package.json index 395c5f9c72..77abd80ed9 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.11.8", + "@netlify/build": "^29.12.1", "@netlify/eslint-config-node": "^7.0.1", "@testing-library/cypress": "^9.0.0", "@types/fs-extra": "^9.0.13", diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 40c7642ffb..d4da6ea00c 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.11.8", + "@netlify/build": "^29.12.1", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.4.1", "@types/merge-stream": "^1.1.2", From 6bdaec1d6d68549939c65608d37d59b3a925a3ef Mon Sep 17 00:00:00 2001 From: Zach Leatherman Date: Wed, 7 Jun 2023 01:30:08 -0500 Subject: [PATCH 2/5] fix: ensure next-server patches only run on Netlify (#2117) this keeps previous behavior for standalone next server Co-authored-by: Lennart Co-authored-by: Rob Stanford --- packages/runtime/src/helpers/files.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/runtime/src/helpers/files.ts b/packages/runtime/src/helpers/files.ts index 93bf733ade..cda8b13dc8 100644 --- a/packages/runtime/src/helpers/files.ts +++ b/packages/runtime/src/helpers/files.ts @@ -404,19 +404,19 @@ const baseServerReplacements: Array<[string, string]> = [ const nextServerReplacements: Array<[string, string]> = [ [ `getMiddlewareManifest() {\n if (this.minimalMode) return null;`, - `getMiddlewareManifest() {\n if (this.minimalMode || (process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1')) return null;`, + `getMiddlewareManifest() {\n if (this.minimalMode || (process.env.NETLIFY && process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1')) return null;`, ], [ `generateCatchAllMiddlewareRoute(devReady) {\n if (this.minimalMode) return []`, - `generateCatchAllMiddlewareRoute(devReady) {\n if (this.minimalMode || (process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1')) return [];`, + `generateCatchAllMiddlewareRoute(devReady) {\n if (this.minimalMode || (process.env.NETLIFY && process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1')) return [];`, ], [ `generateCatchAllMiddlewareRoute() {\n if (this.minimalMode) return undefined;`, - `generateCatchAllMiddlewareRoute() {\n if (this.minimalMode || (process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1')) return undefined;`, + `generateCatchAllMiddlewareRoute() {\n if (this.minimalMode || (process.env.NETLIFY && process.env.NEXT_DISABLE_NETLIFY_EDGE !== 'true' && process.env.NEXT_DISABLE_NETLIFY_EDGE !== '1')) return undefined;`, ], [ `getMiddlewareManifest() {\n if (this.minimalMode) {`, - `getMiddlewareManifest() {\n if (!this.minimalMode && (process.env.NEXT_DISABLE_NETLIFY_EDGE === 'true' || process.env.NEXT_DISABLE_NETLIFY_EDGE === '1')) {`, + `getMiddlewareManifest() {\n if (!this.minimalMode && (process.env.NETLIFY && process.env.NEXT_DISABLE_NETLIFY_EDGE === 'true' || process.env.NEXT_DISABLE_NETLIFY_EDGE === '1')) {`, ], ] From eb30624f281a17c628733a38c11585b3ca8d266b Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Thu, 8 Jun 2023 14:10:35 +0200 Subject: [PATCH 3/5] refactor: use LAMBDA_WARNING_SIZE as packing threshold (#2156) * refactor: use LAMBDA_WARNING_SIZE as packing threshold * chore: remove leftover test * Update test/helpers/functionsMetaData.spec.ts Co-authored-by: Nick Taylor --------- Co-authored-by: Nick Taylor --- packages/runtime/src/helpers/functions.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/runtime/src/helpers/functions.ts b/packages/runtime/src/helpers/functions.ts index 283b86a9fc..fdf9752d91 100644 --- a/packages/runtime/src/helpers/functions.ts +++ b/packages/runtime/src/helpers/functions.ts @@ -16,6 +16,7 @@ import { HANDLER_FUNCTION_TITLE, ODB_FUNCTION_TITLE, IMAGE_FUNCTION_TITLE, + LAMBDA_WARNING_SIZE, } from '../constants' import { getApiHandler } from '../templates/getApiHandler' import { getHandler } from '../templates/getHandler' @@ -314,8 +315,6 @@ const getBundleWeight = async (patterns: string[]) => { return sum(sizes.flat(1)) } -const MB = 1024 * 1024 - export const getAPILambdas = async ( publish: string, baseDir: string, @@ -323,7 +322,7 @@ export const getAPILambdas = async ( ): Promise => { const commonDependencies = await getAPIPRouteCommonDependencies(publish) - const threshold = 50 * MB - (await getBundleWeight(commonDependencies)) + const threshold = LAMBDA_WARNING_SIZE - (await getBundleWeight(commonDependencies)) const apiRoutes = await getApiRouteConfigs(publish, baseDir, pageExtensions) From 10250a01cc422a36a53c079872b5cd84b62be3dd Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Mon, 12 Jun 2023 14:35:34 +0200 Subject: [PATCH 4/5] feat: provide display name for split api routes (#2155) * feat: provide display name for split api routes * fix: functions test --- packages/runtime/src/constants.ts | 2 + packages/runtime/src/helpers/functions.ts | 58 +++++++++++++++++++---- test/__snapshots__/index.spec.ts.snap | 12 ++--- test/helpers/functions.spec.ts | 13 ++++- test/index.spec.ts | 17 +++++++ 5 files changed, 85 insertions(+), 17 deletions(-) diff --git a/packages/runtime/src/constants.ts b/packages/runtime/src/constants.ts index 998f25ea34..2a9fd1d9c6 100644 --- a/packages/runtime/src/constants.ts +++ b/packages/runtime/src/constants.ts @@ -2,11 +2,13 @@ import destr from 'destr' export const HANDLER_FUNCTION_NAME = '___netlify-handler' export const ODB_FUNCTION_NAME = '___netlify-odb-handler' +export const API_FUNCTION_NAME = '___netlify-api-handler' export const IMAGE_FUNCTION_NAME = '_ipx' export const NEXT_PLUGIN_NAME = '@netlify/next-runtime' export const NEXT_PLUGIN = '@netlify/plugin-nextjs' export const HANDLER_FUNCTION_TITLE = 'Next.js SSR handler' export const ODB_FUNCTION_TITLE = 'Next.js ISR handler' +export const API_FUNCTION_TITLE = 'Next.js API handler' export const IMAGE_FUNCTION_TITLE = 'next/image handler' // These are paths in .next that shouldn't be publicly accessible export const HIDDEN_PATHS = destr(process.env.NEXT_KEEP_METADATA_FILES) diff --git a/packages/runtime/src/helpers/functions.ts b/packages/runtime/src/helpers/functions.ts index fdf9752d91..424bf22399 100644 --- a/packages/runtime/src/helpers/functions.ts +++ b/packages/runtime/src/helpers/functions.ts @@ -16,6 +16,8 @@ import { HANDLER_FUNCTION_TITLE, ODB_FUNCTION_TITLE, IMAGE_FUNCTION_TITLE, + API_FUNCTION_TITLE, + API_FUNCTION_NAME, LAMBDA_WARNING_SIZE, } from '../constants' import { getApiHandler } from '../templates/getApiHandler' @@ -32,6 +34,7 @@ import { getFunctionNameForPage } from './utils' export interface ApiRouteConfig { functionName: string + functionTitle?: string route: string config: ApiConfig compiled: string @@ -40,6 +43,7 @@ export interface ApiRouteConfig { export interface APILambda { functionName: string + functionTitle: string routes: ApiRouteConfig[] includedFiles: string[] type?: ApiRouteType @@ -61,7 +65,7 @@ export const generateFunctions = async ( : undefined for (const apiLambda of apiLambdas) { - const { functionName, routes, type, includedFiles } = apiLambda + const { functionName, functionTitle, routes, type, includedFiles } = apiLambda const apiHandlerSource = getApiHandler({ // most api lambdas serve multiple routes, but scheduled functions need to be in separate lambdas. @@ -103,6 +107,8 @@ export const generateFunctions = async ( }) await writeFile(join(functionsDir, functionName, 'pages.js'), resolverSource) + await writeFunctionConfiguration({ functionName, functionTitle, functionsDir }) + const nfInternalFiles = await glob(join(functionsDir, functionName, '**')) includedFiles.push(...nfInternalFiles) } @@ -129,7 +135,7 @@ export const generateFunctions = async ( join(__dirname, '..', '..', 'lib', 'templates', 'handlerUtils.js'), join(functionsDir, functionName, 'handlerUtils.js'), ) - writeFunctionConfiguration({ functionName, functionTitle, functionsDir }) + await writeFunctionConfiguration({ functionName, functionTitle, functionsDir }) } await writeHandler(HANDLER_FUNCTION_NAME, HANDLER_FUNCTION_TITLE, false) @@ -333,12 +339,41 @@ export const getAPILambdas = async ( const bins = pack(weighedRoutes, threshold) - return bins.map((bin, index) => ({ - functionName: bin.length === 1 ? bin[0].functionName : `api-${index}`, - routes: bin, - includedFiles: [...commonDependencies, ...routes.flatMap((route) => route.includedFiles)], - type, - })) + return bins.map((bin) => { + if (bin.length === 1) { + const [func] = bin + const { functionName, functionTitle, config, includedFiles } = func + return { + functionName, + functionTitle, + routes: [func], + includedFiles: [...commonDependencies, ...includedFiles], + type: config.type, + } + } + + const includedFiles = [...commonDependencies, ...bin.flatMap((route) => route.includedFiles)] + const nonSingletonBins = bins.filter((b) => b.length > 1) + if (nonSingletonBins.length === 1) { + return { + functionName: API_FUNCTION_NAME, + functionTitle: API_FUNCTION_TITLE, + includedFiles, + routes: bin, + type, + } + } + + const indexInNonSingletonBins = nonSingletonBins.indexOf(bin) + + return { + functionName: `${API_FUNCTION_NAME}-${indexInNonSingletonBins + 1}`, + functionTitle: `${API_FUNCTION_TITLE} ${indexInNonSingletonBins + 1}/${nonSingletonBins.length}`, + includedFiles, + routes: bin, + type, + } + }) } const standardFunctions = apiRoutes.filter( @@ -365,7 +400,7 @@ export const getAPILambdas = async ( export const getApiRouteConfigs = async ( publish: string, appDir: string, - pageExtensions: string[], + pageExtensions?: string[], ): Promise> => { const pages = await readJSON(join(publish, 'server', 'pages-manifest.json')) const apiRoutes = Object.keys(pages).filter((page) => page.startsWith('/api/')) @@ -380,6 +415,7 @@ export const getApiRouteConfigs = async ( const config = await extractConfigFromFile(filePath, appDir) const functionName = getFunctionNameForPage(apiRoute, config.type === ApiRouteType.BACKGROUND) + const functionTitle = `${API_FUNCTION_TITLE} ${apiRoute}` const compiled = pages[apiRoute] const compiledPath = join(publish, 'server', compiled) @@ -389,6 +425,7 @@ export const getApiRouteConfigs = async ( return { functionName, + functionTitle, route: apiRoute, config, compiled, @@ -404,7 +441,7 @@ export const getApiRouteConfigs = async ( export const getExtendedApiRouteConfigs = async ( publish: string, appDir: string, - pageExtensions: string[], + pageExtensions?: string[], ): Promise> => { const settledApiRoutes = await getApiRouteConfigs(publish, appDir, pageExtensions) @@ -414,6 +451,7 @@ export const getExtendedApiRouteConfigs = async ( export const packSingleFunction = (func: ApiRouteConfig): APILambda => ({ functionName: func.functionName, + functionTitle: func.functionTitle, includedFiles: func.includedFiles, routes: [func], type: func.config.type, diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index a322148a33..2252736986 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -2109,17 +2109,17 @@ Array [ Object { "from": "/api/enterPreview", "status": 200, - "to": "/.netlify/functions/api-0", + "to": "/.netlify/functions/___netlify-api-handler", }, Object { "from": "/api/exitPreview", "status": 200, - "to": "/.netlify/functions/api-0", + "to": "/.netlify/functions/___netlify-api-handler", }, Object { "from": "/api/hello", "status": 200, - "to": "/.netlify/functions/api-0", + "to": "/.netlify/functions/___netlify-api-handler", }, Object { "from": "/api/hello-background", @@ -2134,17 +2134,17 @@ Array [ Object { "from": "/api/revalidate", "status": 200, - "to": "/.netlify/functions/api-0", + "to": "/.netlify/functions/___netlify-api-handler", }, Object { "from": "/api/shows/:id", "status": 200, - "to": "/.netlify/functions/api-0", + "to": "/.netlify/functions/___netlify-api-handler", }, Object { "from": "/api/shows/:params/*", "status": 200, - "to": "/.netlify/functions/api-0", + "to": "/.netlify/functions/___netlify-api-handler", }, Object { "force": false, diff --git a/test/helpers/functions.spec.ts b/test/helpers/functions.spec.ts index c2083602fb..5dc08f66ca 100644 --- a/test/helpers/functions.spec.ts +++ b/test/helpers/functions.spec.ts @@ -4,12 +4,13 @@ import { describeCwdTmpDir, moveNextDist } from '../test-utils' describeCwdTmpDir('api route file analysis', () => { it('extracts correct route configs from source files', async () => { await moveNextDist() - const configs = await getApiRouteConfigs('.next', process.cwd(), ['js', 'jsx', 'ts', 'tsx']) + const configs = await getApiRouteConfigs('.next', process.cwd()) // Using a Set means the order doesn't matter expect(new Set(configs.map(({ includedFiles, ...rest }) => rest))).toEqual( new Set([ { functionName: '_api_og-handler', + functionTitle: 'Next.js API handler /api/og', compiled: 'pages/api/og.js', config: { runtime: 'edge', @@ -18,48 +19,56 @@ describeCwdTmpDir('api route file analysis', () => { }, { functionName: '_api_enterPreview-handler', + functionTitle: 'Next.js API handler /api/enterPreview', compiled: 'pages/api/enterPreview.js', config: {}, route: '/api/enterPreview', }, { functionName: '_api_exitPreview-handler', + functionTitle: 'Next.js API handler /api/exitPreview', compiled: 'pages/api/exitPreview.js', config: {}, route: '/api/exitPreview', }, { functionName: '_api_hello-handler', + functionTitle: 'Next.js API handler /api/hello', compiled: 'pages/api/hello.js', config: {}, route: '/api/hello', }, { functionName: '_api_shows_params-SPLAT-handler', + functionTitle: 'Next.js API handler /api/shows/[...params]', compiled: 'pages/api/shows/[...params].js', config: {}, route: '/api/shows/[...params]', }, { functionName: '_api_shows_id-PARAM-handler', + functionTitle: 'Next.js API handler /api/shows/[id]', compiled: 'pages/api/shows/[id].js', config: {}, route: '/api/shows/[id]', }, { functionName: '_api_hello-background-background', + functionTitle: 'Next.js API handler /api/hello-background', compiled: 'pages/api/hello-background.js', config: { type: 'experimental-background' }, route: '/api/hello-background', }, { functionName: '_api_hello-scheduled-handler', + functionTitle: 'Next.js API handler /api/hello-scheduled', compiled: 'pages/api/hello-scheduled.js', config: { schedule: '@hourly', type: 'experimental-scheduled' }, route: '/api/hello-scheduled', }, { functionName: '_api_revalidate-handler', + functionTitle: 'Next.js API handler /api/revalidate', compiled: 'pages/api/revalidate.js', config: {}, route: '/api/revalidate', @@ -76,12 +85,14 @@ describeCwdTmpDir('api route file analysis', () => { new Set([ { functionName: '_api_hello-background-background', + functionTitle: 'Next.js API handler /api/hello-background', compiled: 'pages/api/hello-background.js', config: { type: 'experimental-background' }, route: '/api/hello-background', }, { functionName: '_api_hello-scheduled-handler', + functionTitle: 'Next.js API handler /api/hello-scheduled', compiled: 'pages/api/hello-scheduled.js', config: { schedule: '@hourly', type: 'experimental-scheduled' }, route: '/api/hello-scheduled', diff --git a/test/index.spec.ts b/test/index.spec.ts index 565e8428d4..038dfbde64 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -738,6 +738,23 @@ describe('onBuild()', () => { expect(netlifyConfig.functions['_api_*'].node_bundler).toEqual('nft') }) + it('provides displayname for split api routes', async () => { + await moveNextDist() + await nextRuntime.onBuild(defaultArgs) + + const functionsManifest = await readJson( + path.join('.netlify', 'functions-internal', '___netlify-api-handler', '___netlify-api-handler.json'), + ) + + expect(functionsManifest).toEqual({ + config: { + generator: '@netlify/next-runtime@unknown', + name: 'Next.js API handler', + }, + version: 1, + }) + }) + // eslint-disable-next-line jest/expect-expect it('works when `relativeAppDir` is undefined', async () => { await moveNextDist() From 9195192a6919ad1cad5af6c2e3ba88389c9104ce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 12:41:22 +0000 Subject: [PATCH 5/5] chore(deps): update dependency @netlify/build to ^29.12.3 (#2158) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 510 +++++++++++++++++++++------------- package.json | 2 +- packages/runtime/package.json | 2 +- 3 files changed, 326 insertions(+), 188 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8a4bb0a32..750dbcaacc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.12.1", + "@netlify/build": "^29.12.3", "@netlify/eslint-config-node": "^7.0.1", "@testing-library/cypress": "^9.0.0", "@types/fs-extra": "^9.0.13", @@ -836,22 +836,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.3.tgz", - "integrity": "sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/parser_latest": { - "name": "@babel/parser", - "version": "7.22.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", - "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -3462,30 +3449,30 @@ "dev": true }, "node_modules/@netlify/build": { - "version": "29.12.1", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.12.1.tgz", - "integrity": "sha512-ywXdJsCV/C+uBFTRM8Tc22gxd6E8cq0qbLMOAbID6N3BYKx6AFMaL8DkMFNmQOAYgb9AEfecRTAHmoFLBo/tVg==", + "version": "29.12.3", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.12.3.tgz", + "integrity": "sha512-5aWHYK9vyv/NDFaMk/ZKuUZgj3HbRXIMToH5JI4HRJC9Xd7FJzGJFJg4juFOkGXV2n/7CKQOIo0q94cG3DPjcw==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/cache-utils": "^5.1.5", - "@netlify/config": "^20.4.4", - "@netlify/edge-bundler": "8.16.1", - "@netlify/framework-info": "^9.8.9", - "@netlify/functions-utils": "^5.2.10", + "@netlify/config": "^20.4.6", + "@netlify/edge-bundler": "8.16.2", + "@netlify/framework-info": "^9.8.10", + "@netlify/functions-utils": "^5.2.11", "@netlify/git-utils": "^5.1.1", "@netlify/plugins-list": "^6.68.0", "@netlify/run-utils": "^5.1.1", - "@netlify/zip-it-and-ship-it": "9.8.0", + "@netlify/zip-it-and-ship-it": "9.8.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", "clean-stack": "^4.0.0", "execa": "^6.0.0", - "figures": "^4.0.0", - "filter-obj": "^3.0.0", + "figures": "^5.0.0", + "filter-obj": "^5.0.0", "got": "^12.0.0", - "hot-shots": "9.3.0", + "hot-shots": "10.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", @@ -3502,7 +3489,7 @@ "p-reduce": "^3.0.0", "path-exists": "^5.0.0", "path-type": "^5.0.0", - "pkg-dir": "^6.0.0", + "pkg-dir": "^7.0.0", "pretty-ms": "^8.0.0", "ps-list": "^8.0.0", "read-pkg-up": "^9.0.0", @@ -3518,7 +3505,7 @@ "tmp-promise": "^3.0.2", "ts-node": "^10.9.1", "typescript": "^5.0.0", - "uuid": "^8.0.0", + "uuid": "^9.0.0", "yargs": "^17.6.0" }, "bin": { @@ -3618,6 +3605,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@netlify/build/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@netlify/build/node_modules/execa": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", @@ -3641,6 +3640,34 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/@netlify/build/node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@netlify/build/node_modules/filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@netlify/build/node_modules/got": { "version": "12.6.1", "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", @@ -3860,6 +3887,15 @@ "node": ">=14.17" } }, + "node_modules/@netlify/build/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@netlify/cache-utils": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-5.1.5.tgz", @@ -4021,9 +4057,9 @@ } }, "node_modules/@netlify/config": { - "version": "20.4.4", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-20.4.4.tgz", - "integrity": "sha512-vwYRrEJFWAgUM+gbIkXzIifxq3XfPGhp9JXyI8MnV9ZztI2ZVslhVA2oq6Y0pbzmLh+d1PmimoCZYFllpDyDLA==", + "version": "20.4.6", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-20.4.6.tgz", + "integrity": "sha512-kf3UyCUs3VdlFSSekYdzEybkF7IBh/WRQpGEwLNUzjwtRlDSfB9YQvAc+eKarxUeklaxflLxnDSThaQpSI2yMQ==", "dev": true, "dependencies": { "chalk": "^5.0.0", @@ -4032,16 +4068,16 @@ "dot-prop": "^7.0.0", "execa": "^6.0.0", "fast-safe-stringify": "^2.0.7", - "figures": "^4.0.0", - "filter-obj": "^3.0.0", + "figures": "^5.0.0", + "filter-obj": "^5.0.0", "find-up": "^6.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.1.7", + "netlify": "^13.1.9", "netlify-headers-parser": "^7.1.2", - "netlify-redirect-parser": "^14.1.2", + "netlify-redirect-parser": "^14.1.3", "omit.js": "^2.0.2", "p-locate": "^6.0.0", "path-type": "^5.0.0", @@ -4069,6 +4105,18 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@netlify/config/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@netlify/config/node_modules/execa": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", @@ -4092,6 +4140,34 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/@netlify/config/node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@netlify/config/node_modules/filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@netlify/config/node_modules/human-signals": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", @@ -4156,9 +4232,9 @@ } }, "node_modules/@netlify/edge-bundler": { - "version": "8.16.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.1.tgz", - "integrity": "sha512-nLwQchCruBwjr2bgptxisoa+i182PwNc9eu1NTqwVZCIwDJhdBPJQVH251VunT0NJEchnpqJ4nZdTce3y1G6zQ==", + "version": "8.16.2", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.2.tgz", + "integrity": "sha512-/deN9mBWXqm5s7SCYsdQCy95VgPeg16tw8Lm6buUoOxFThX9WLOf3+5YOiwjxTvzqpbMvO4ALmXn7pdXvuWCtQ==", "dev": true, "dependencies": { "@import-maps/resolve": "^1.0.1", @@ -4822,13 +4898,13 @@ } }, "node_modules/@netlify/framework-info": { - "version": "9.8.9", - "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.9.tgz", - "integrity": "sha512-2ihT5SQk4eqspjyjr3VCpf2PZDimLbZuBpvh8GkK6eW2j6X8clq1Mz3fxoHrLcA0r32IwPskRPUgnJrSIvoPuw==", + "version": "9.8.10", + "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.10.tgz", + "integrity": "sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==", "dev": true, "dependencies": { "ajv": "^8.12.0", - "filter-obj": "^3.0.0", + "filter-obj": "^5.0.0", "find-up": "^6.3.0", "is-plain-obj": "^4.0.0", "locate-path": "^7.0.0", @@ -4842,6 +4918,18 @@ "node": "^14.14.0 || >=16.0.0" } }, + "node_modules/@netlify/framework-info/node_modules/filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@netlify/framework-info/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -4869,12 +4957,12 @@ } }, "node_modules/@netlify/functions-utils": { - "version": "5.2.10", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.10.tgz", - "integrity": "sha512-b9sddm8jwYf7YCb9F3bIKS6FfxiDe5j9sMlOPZXpVOoyJxbLj8kDW+1VWfiiRS8xS/8s4VPvmYDuLZUTLFLPlA==", + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.11.tgz", + "integrity": "sha512-yl386ADN7I5ZjBPJlIxQefrpg8dPxgEzSfxtH82uu5DUrQ4mNAcN9UnKMU/6+2Y0ivIc2JUBk9sxlFxHFEjAfQ==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "9.8.0", + "@netlify/zip-it-and-ship-it": "9.8.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -5152,9 +5240,9 @@ "link": true }, "node_modules/@netlify/open-api": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.18.0.tgz", - "integrity": "sha512-2spMBZxvK9KocIXr1Mpj+LrKAGHNZ0es6/tCFekFS89bIfC+He8VGi7j0bk49eVbLeC9IuZed5K27k692dHAcg==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.19.0.tgz", + "integrity": "sha512-Mx5oo3Ts90nRV3lsuQ+wrALpxCMrqWmRowJylbHsxmuMEemdihUPN0m86Ed6kpJyoVMvmtiJpmMaNUbOJMwLCA==", "dev": true }, "node_modules/@netlify/plugin-nextjs": { @@ -5278,13 +5366,12 @@ } }, "node_modules/@netlify/zip-it-and-ship-it": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.8.0.tgz", - "integrity": "sha512-p7CJwd2Wy6yFcT5cb7g7+JUZk0kASRIev1lcLk0oeCuDjZAJ/LsFtzFwFEZkfkKn/NUu4TF8bdUha/PeoIXiPQ==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.8.1.tgz", + "integrity": "sha512-g/GCHAchrIaKjx0DfT7xvvhU1gmR1fhIdq+Z3Bm8ii8v6lyps9q1UqTwGbnJ3yWilUwyxmyadc/I4ARtc/d8Bw==", "dev": true, "dependencies": { - "@babel/parser": "7.16.8", - "@babel/parser_latest": "npm:@babel/parser@7.22.4", + "@babel/parser": "^7.22.5", "@netlify/binary-info": "^1.0.0", "@netlify/esbuild": "0.14.39", "@netlify/serverless-functions-api": "^1.5.0", @@ -5322,18 +5409,6 @@ "node": "^14.18.0 || >=16.0.0" } }, - "node_modules/@netlify/zip-it-and-ship-it/node_modules/@babel/parser": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", - "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@netlify/zip-it-and-ship-it/node_modules/aggregate-error": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", @@ -10534,9 +10609,9 @@ } }, "node_modules/detective-typescript/node_modules/@typescript-eslint/types": { - "version": "5.59.8", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz", - "integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==", + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", + "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -10547,13 +10622,13 @@ } }, "node_modules/detective-typescript/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.8", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz", - "integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==", + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", + "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.8", - "@typescript-eslint/visitor-keys": "5.59.8", + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/visitor-keys": "5.59.9", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -10574,12 +10649,12 @@ } }, "node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.8", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz", - "integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==", + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", + "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/types": "5.59.9", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -11006,9 +11081,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, "node_modules/es-shim-unscopables": { @@ -14022,12 +14097,12 @@ } }, "node_modules/hot-shots": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-9.3.0.tgz", - "integrity": "sha512-e4tgWptiBvlIMnAX0ORe+dNEt0HznD+T2ckzXDUwCBsU7uWr2mwq5UtoT+Df5r9hD5S/DuP8rTxJUQvqAFSFKA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.0.0.tgz", + "integrity": "sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==", "dev": true, "engines": { - "node": ">=6.0.0" + "node": ">=10.0.0" }, "optionalDependencies": { "unix-dgram": "2.x" @@ -18437,12 +18512,12 @@ "dev": true }, "node_modules/netlify": { - "version": "13.1.7", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.1.7.tgz", - "integrity": "sha512-4gFiuDxFIV2UhgxelPNwXf56XJ+KSaOdokt65I+y1/ShOwUgDeKOUBUmXsBg5JhqIg20SWtgbbx2HmhiDGDn3Q==", + "version": "13.1.9", + "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.1.9.tgz", + "integrity": "sha512-sG4e25tI1Nv8az3y4d+P6vESTeS0RYMwUCgimLJkOn+rdphNGohGnvAb6mGCMUJ3SsMlfItF5Zr8GrG21ePdeA==", "dev": true, "dependencies": { - "@netlify/open-api": "^2.18.0", + "@netlify/open-api": "^2.19.0", "lodash-es": "^4.17.21", "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", @@ -18520,13 +18595,13 @@ } }, "node_modules/netlify-redirect-parser": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.1.2.tgz", - "integrity": "sha512-o60UH53BdypS3Z8frk/vQjscwHxRFGAxZJ3XAFCK3mPURnIlQAseiprvnuGphbbaM1zMzWa/Y4wKf0rloz7dyA==", + "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==", "dev": true, "dependencies": { "fast-safe-stringify": "^2.1.1", - "filter-obj": "^3.0.0", + "filter-obj": "^5.0.0", "is-plain-obj": "^4.0.0", "path-exists": "^5.0.0", "toml": "^3.0.0" @@ -18535,6 +18610,18 @@ "node": "^14.16.0 || >=16.0.0" } }, + "node_modules/netlify-redirect-parser/node_modules/filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify/node_modules/node-fetch": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", @@ -20032,15 +20119,15 @@ } }, "node_modules/pkg-dir": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-6.0.1.tgz", - "integrity": "sha512-C9R+PTCKGA32HG0n5I4JMYkdLL58ZpayVuncQHQrGeKa8o26A4o2x0u6BKekHG+Au0jv5ZW7Xfq1Cj6lm9Ag4w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, "dependencies": { - "find-up": "^6.1.0" + "find-up": "^6.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -24473,7 +24560,7 @@ }, "devDependencies": { "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.12.1", + "@netlify/build": "^29.12.3", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.4.1", "@types/merge-stream": "^1.1.2", @@ -24955,15 +25042,9 @@ } }, "@babel/parser": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.3.tgz", - "integrity": "sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==", - "dev": true - }, - "@babel/parser_latest": { - "version": "npm:@babel/parser@7.22.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", - "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -26891,30 +26972,30 @@ "dev": true }, "@netlify/build": { - "version": "29.12.1", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.12.1.tgz", - "integrity": "sha512-ywXdJsCV/C+uBFTRM8Tc22gxd6E8cq0qbLMOAbID6N3BYKx6AFMaL8DkMFNmQOAYgb9AEfecRTAHmoFLBo/tVg==", + "version": "29.12.3", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.12.3.tgz", + "integrity": "sha512-5aWHYK9vyv/NDFaMk/ZKuUZgj3HbRXIMToH5JI4HRJC9Xd7FJzGJFJg4juFOkGXV2n/7CKQOIo0q94cG3DPjcw==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", "@netlify/cache-utils": "^5.1.5", - "@netlify/config": "^20.4.4", - "@netlify/edge-bundler": "8.16.1", - "@netlify/framework-info": "^9.8.9", - "@netlify/functions-utils": "^5.2.10", + "@netlify/config": "^20.4.6", + "@netlify/edge-bundler": "8.16.2", + "@netlify/framework-info": "^9.8.10", + "@netlify/functions-utils": "^5.2.11", "@netlify/git-utils": "^5.1.1", "@netlify/plugins-list": "^6.68.0", "@netlify/run-utils": "^5.1.1", - "@netlify/zip-it-and-ship-it": "9.8.0", + "@netlify/zip-it-and-ship-it": "9.8.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", "clean-stack": "^4.0.0", "execa": "^6.0.0", - "figures": "^4.0.0", - "filter-obj": "^3.0.0", + "figures": "^5.0.0", + "filter-obj": "^5.0.0", "got": "^12.0.0", - "hot-shots": "9.3.0", + "hot-shots": "10.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", @@ -26931,7 +27012,7 @@ "p-reduce": "^3.0.0", "path-exists": "^5.0.0", "path-type": "^5.0.0", - "pkg-dir": "^6.0.0", + "pkg-dir": "^7.0.0", "pretty-ms": "^8.0.0", "ps-list": "^8.0.0", "read-pkg-up": "^9.0.0", @@ -26947,7 +27028,7 @@ "tmp-promise": "^3.0.2", "ts-node": "^10.9.1", "typescript": "^5.0.0", - "uuid": "^8.0.0", + "uuid": "^9.0.0", "yargs": "^17.6.0" }, "dependencies": { @@ -27010,6 +27091,12 @@ } } }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + }, "execa": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", @@ -27027,6 +27114,22 @@ "strip-final-newline": "^3.0.0" } }, + "figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "requires": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + } + }, + "filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true + }, "got": { "version": "12.6.1", "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", @@ -27156,6 +27259,12 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true } } }, @@ -27268,9 +27377,9 @@ } }, "@netlify/config": { - "version": "20.4.4", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-20.4.4.tgz", - "integrity": "sha512-vwYRrEJFWAgUM+gbIkXzIifxq3XfPGhp9JXyI8MnV9ZztI2ZVslhVA2oq6Y0pbzmLh+d1PmimoCZYFllpDyDLA==", + "version": "20.4.6", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-20.4.6.tgz", + "integrity": "sha512-kf3UyCUs3VdlFSSekYdzEybkF7IBh/WRQpGEwLNUzjwtRlDSfB9YQvAc+eKarxUeklaxflLxnDSThaQpSI2yMQ==", "dev": true, "requires": { "chalk": "^5.0.0", @@ -27279,16 +27388,16 @@ "dot-prop": "^7.0.0", "execa": "^6.0.0", "fast-safe-stringify": "^2.0.7", - "figures": "^4.0.0", - "filter-obj": "^3.0.0", + "figures": "^5.0.0", + "filter-obj": "^5.0.0", "find-up": "^6.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.1.7", + "netlify": "^13.1.9", "netlify-headers-parser": "^7.1.2", - "netlify-redirect-parser": "^14.1.2", + "netlify-redirect-parser": "^14.1.3", "omit.js": "^2.0.2", "p-locate": "^6.0.0", "path-type": "^5.0.0", @@ -27304,6 +27413,12 @@ "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", "dev": true }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + }, "execa": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", @@ -27321,6 +27436,22 @@ "strip-final-newline": "^3.0.0" } }, + "figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "dev": true, + "requires": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + } + }, + "filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true + }, "human-signals": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", @@ -27360,9 +27491,9 @@ } }, "@netlify/edge-bundler": { - "version": "8.16.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.1.tgz", - "integrity": "sha512-nLwQchCruBwjr2bgptxisoa+i182PwNc9eu1NTqwVZCIwDJhdBPJQVH251VunT0NJEchnpqJ4nZdTce3y1G6zQ==", + "version": "8.16.2", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-8.16.2.tgz", + "integrity": "sha512-/deN9mBWXqm5s7SCYsdQCy95VgPeg16tw8Lm6buUoOxFThX9WLOf3+5YOiwjxTvzqpbMvO4ALmXn7pdXvuWCtQ==", "dev": true, "requires": { "@import-maps/resolve": "^1.0.1", @@ -27732,13 +27863,13 @@ } }, "@netlify/framework-info": { - "version": "9.8.9", - "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.9.tgz", - "integrity": "sha512-2ihT5SQk4eqspjyjr3VCpf2PZDimLbZuBpvh8GkK6eW2j6X8clq1Mz3fxoHrLcA0r32IwPskRPUgnJrSIvoPuw==", + "version": "9.8.10", + "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.10.tgz", + "integrity": "sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==", "dev": true, "requires": { "ajv": "^8.12.0", - "filter-obj": "^3.0.0", + "filter-obj": "^5.0.0", "find-up": "^6.3.0", "is-plain-obj": "^4.0.0", "locate-path": "^7.0.0", @@ -27749,6 +27880,12 @@ "semver": "^7.3.8" }, "dependencies": { + "filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true + }, "semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -27769,12 +27906,12 @@ } }, "@netlify/functions-utils": { - "version": "5.2.10", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.10.tgz", - "integrity": "sha512-b9sddm8jwYf7YCb9F3bIKS6FfxiDe5j9sMlOPZXpVOoyJxbLj8kDW+1VWfiiRS8xS/8s4VPvmYDuLZUTLFLPlA==", + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.11.tgz", + "integrity": "sha512-yl386ADN7I5ZjBPJlIxQefrpg8dPxgEzSfxtH82uu5DUrQ4mNAcN9UnKMU/6+2Y0ivIc2JUBk9sxlFxHFEjAfQ==", "dev": true, "requires": { - "@netlify/zip-it-and-ship-it": "9.8.0", + "@netlify/zip-it-and-ship-it": "9.8.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -27976,16 +28113,16 @@ } }, "@netlify/open-api": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.18.0.tgz", - "integrity": "sha512-2spMBZxvK9KocIXr1Mpj+LrKAGHNZ0es6/tCFekFS89bIfC+He8VGi7j0bk49eVbLeC9IuZed5K27k692dHAcg==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.19.0.tgz", + "integrity": "sha512-Mx5oo3Ts90nRV3lsuQ+wrALpxCMrqWmRowJylbHsxmuMEemdihUPN0m86Ed6kpJyoVMvmtiJpmMaNUbOJMwLCA==", "dev": true }, "@netlify/plugin-nextjs": { "version": "file:packages/runtime", "requires": { "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.12.1", + "@netlify/build": "^29.12.3", "@netlify/esbuild": "0.14.39", "@netlify/functions": "^1.6.0", "@netlify/ipx": "^1.4.0", @@ -28120,13 +28257,12 @@ "dev": true }, "@netlify/zip-it-and-ship-it": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.8.0.tgz", - "integrity": "sha512-p7CJwd2Wy6yFcT5cb7g7+JUZk0kASRIev1lcLk0oeCuDjZAJ/LsFtzFwFEZkfkKn/NUu4TF8bdUha/PeoIXiPQ==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.8.1.tgz", + "integrity": "sha512-g/GCHAchrIaKjx0DfT7xvvhU1gmR1fhIdq+Z3Bm8ii8v6lyps9q1UqTwGbnJ3yWilUwyxmyadc/I4ARtc/d8Bw==", "dev": true, "requires": { - "@babel/parser": "7.16.8", - "@babel/parser_latest": "npm:@babel/parser@7.22.4", + "@babel/parser": "^7.22.5", "@netlify/binary-info": "^1.0.0", "@netlify/esbuild": "0.14.39", "@netlify/serverless-functions-api": "^1.5.0", @@ -28158,12 +28294,6 @@ "yargs": "^17.0.0" }, "dependencies": { - "@babel/parser": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", - "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", - "dev": true - }, "aggregate-error": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", @@ -32134,19 +32264,19 @@ }, "dependencies": { "@typescript-eslint/types": { - "version": "5.59.8", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz", - "integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==", + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", + "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.8", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz", - "integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==", + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", + "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.8", - "@typescript-eslint/visitor-keys": "5.59.8", + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/visitor-keys": "5.59.9", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -32155,12 +32285,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.8", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz", - "integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==", + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", + "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/types": "5.59.9", "eslint-visitor-keys": "^3.3.0" } }, @@ -32479,9 +32609,9 @@ } }, "es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, "es-shim-unscopables": { @@ -34721,9 +34851,9 @@ } }, "hot-shots": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-9.3.0.tgz", - "integrity": "sha512-e4tgWptiBvlIMnAX0ORe+dNEt0HznD+T2ckzXDUwCBsU7uWr2mwq5UtoT+Df5r9hD5S/DuP8rTxJUQvqAFSFKA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.0.0.tgz", + "integrity": "sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==", "dev": true, "requires": { "unix-dgram": "2.x" @@ -38111,12 +38241,12 @@ "dev": true }, "netlify": { - "version": "13.1.7", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.1.7.tgz", - "integrity": "sha512-4gFiuDxFIV2UhgxelPNwXf56XJ+KSaOdokt65I+y1/ShOwUgDeKOUBUmXsBg5JhqIg20SWtgbbx2HmhiDGDn3Q==", + "version": "13.1.9", + "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.1.9.tgz", + "integrity": "sha512-sG4e25tI1Nv8az3y4d+P6vESTeS0RYMwUCgimLJkOn+rdphNGohGnvAb6mGCMUJ3SsMlfItF5Zr8GrG21ePdeA==", "dev": true, "requires": { - "@netlify/open-api": "^2.18.0", + "@netlify/open-api": "^2.19.0", "lodash-es": "^4.17.21", "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", @@ -38201,16 +38331,24 @@ } }, "netlify-redirect-parser": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.1.2.tgz", - "integrity": "sha512-o60UH53BdypS3Z8frk/vQjscwHxRFGAxZJ3XAFCK3mPURnIlQAseiprvnuGphbbaM1zMzWa/Y4wKf0rloz7dyA==", + "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==", "dev": true, "requires": { "fast-safe-stringify": "^2.1.1", - "filter-obj": "^3.0.0", + "filter-obj": "^5.0.0", "is-plain-obj": "^4.0.0", "path-exists": "^5.0.0", "toml": "^3.0.0" + }, + "dependencies": { + "filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "dev": true + } } }, "next": { @@ -39295,12 +39433,12 @@ "dev": true }, "pkg-dir": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-6.0.1.tgz", - "integrity": "sha512-C9R+PTCKGA32HG0n5I4JMYkdLL58ZpayVuncQHQrGeKa8o26A4o2x0u6BKekHG+Au0jv5ZW7Xfq1Cj6lm9Ag4w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, "requires": { - "find-up": "^6.1.0" + "find-up": "^6.3.0" } }, "playwright-chromium": { diff --git a/package.json b/package.json index 77abd80ed9..806ab4d542 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.12.1", + "@netlify/build": "^29.12.3", "@netlify/eslint-config-node": "^7.0.1", "@testing-library/cypress": "^9.0.0", "@types/fs-extra": "^9.0.13", diff --git a/packages/runtime/package.json b/packages/runtime/package.json index d4da6ea00c..1efbc2475c 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@delucis/if-env": "^1.1.2", - "@netlify/build": "^29.12.1", + "@netlify/build": "^29.12.3", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.4.1", "@types/merge-stream": "^1.1.2",