diff --git a/package-lock.json b/package-lock.json index 1c53959a1b..ba771c9f70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,6 +46,50 @@ "node": ">=6.0.0" } }, + "node_modules/@archiver/archiver": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@archiver/archiver/-/archiver-0.0.5.tgz", + "integrity": "sha512-AYO1mGRa3P2U+xZtrMmL7zDnD9IEeQjKnnWyWYcMH223uLtG+DHpOty99ufNwkEfgZfRZbcQJvECFYy6aFnbYA==", + "license": "MIT", + "dependencies": { + "@archiver/tar-stream": "0.0.5", + "@archiver/zip-stream": "0.0.5", + "readdir-glob": "^1.1.3" + }, + "engines": { + "node": ">=24" + } + }, + "node_modules/@archiver/compress-commons": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@archiver/compress-commons/-/compress-commons-0.0.5.tgz", + "integrity": "sha512-Pk8RjXiDKONbbnB/UsHjESR7BDe0x4FGnNRS56GOES5CHPTtwYtIn+Dx9ZYJA9+oMkpZHxgoHfEyoj6Cf76MzA==", + "license": "MIT", + "engines": { + "node": ">=24" + } + }, + "node_modules/@archiver/tar-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@archiver/tar-stream/-/tar-stream-0.0.5.tgz", + "integrity": "sha512-khtJp0HqaS40lqFKnT+ro2y0gfzA/bDVq2FKIr6saKjioCwI5NQXmeR1GoN6p5AYn0g9OB1FZ9hNdB06F4y4WQ==", + "license": "MIT", + "engines": { + "node": ">=24" + } + }, + "node_modules/@archiver/zip-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@archiver/zip-stream/-/zip-stream-0.0.5.tgz", + "integrity": "sha512-xTYyP7MsC6NDrvXt+rxPuidRgBIEARptwTJ0LcFfa/pmBXty+7dTvAkbSMCU8syebIOZF3bIDz/VMXbi0b8Vyw==", + "license": "MIT", + "dependencies": { + "@archiver/compress-commons": "0.0.5" + }, + "engines": { + "node": ">=24" + } + }, "node_modules/@babel/code-frame": { "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -5357,16 +5401,6 @@ "tslib": "^2.4.0" } }, - "node_modules/@types/archiver": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.4.tgz", - "integrity": "sha512-ULdQpARQ3sz9WH4nb98mJDYA0ft2A8C4f4fovvUcFwINa1cgGjY36JCAYuP5YypRq4mco1lJp1/7jEMS2oR0Hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/readdir-glob": "*" - } - }, "node_modules/@types/chai": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", @@ -5504,23 +5538,6 @@ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "license": "MIT" }, - "node_modules/@types/normalize-path": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/normalize-path/-/normalize-path-3.0.2.tgz", - "integrity": "sha512-DO++toKYPaFn0Z8hQ7Tx+3iT9t77IJo/nDiqTXilgEP+kPNIYdpS9kh3fXuc53ugqwp9pxC1PVjCpV1tQDyqMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/readdir-glob": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.5.tgz", - "integrity": "sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/resolve": { "version": "1.20.6", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", @@ -6360,18 +6377,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -6631,71 +6636,6 @@ "dev": true, "license": "ISC" }, - "node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^5.0.2", - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/archiver-utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", - "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", - "license": "MIT", - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", - "lazystream": "^1.0.0", - "lodash": "^4.17.15", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/archiver-utils/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -6943,6 +6883,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, "license": "MIT" }, "node_modules/async-function": { @@ -7250,6 +7191,7 @@ "version": "1.6.7", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "dev": true, "license": "Apache-2.0" }, "node_modules/balanced-match": { @@ -7331,6 +7273,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, "funding": [ { "type": "github", @@ -7608,15 +7551,6 @@ "dev": true, "license": "MIT" }, - "node_modules/buffer-crc32": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", - "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -8799,22 +8733,6 @@ "node": ">=8" } }, - "node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -9278,6 +9196,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, "license": "MIT" }, "node_modules/cosmiconfig": { @@ -9569,31 +9488,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -12291,24 +12185,6 @@ "node": ">=0.10.0" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", @@ -12411,6 +12287,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -13960,6 +13837,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { "type": "github", @@ -14227,6 +14105,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -14972,6 +14851,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -15749,54 +15629,6 @@ "node": ">=8" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/lerna": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/lerna/-/lerna-8.2.4.tgz", @@ -16476,6 +16308,7 @@ "version": "4.17.23", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, "license": "MIT" }, "node_modules/lodash-es": { @@ -18036,6 +17869,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -20075,15 +19909,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-exists": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/process-exists/-/process-exists-5.0.0.tgz", @@ -20104,6 +19929,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, "license": "MIT" }, "node_modules/proggy": { @@ -20656,46 +20482,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/readable-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/readdir-glob": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", @@ -21145,6 +20931,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, "funding": [ { "type": "github", @@ -21872,6 +21659,7 @@ "version": "2.22.0", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "dev": true, "license": "MIT", "dependencies": { "fast-fifo": "^1.3.2", @@ -21892,6 +21680,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -22288,6 +22077,7 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, "license": "MIT", "dependencies": { "b4a": "^1.6.4", @@ -22438,6 +22228,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, "license": "Apache-2.0", "dependencies": { "b4a": "^1.6.4" @@ -23470,6 +23261,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, "license": "MIT" }, "node_modules/uuid": { @@ -24635,20 +24427,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", @@ -25034,11 +24812,11 @@ "uuid": "^11.0.0" }, "devDependencies": { + "@archiver/archiver": "^0.0.5", "@netlify/edge-functions-bootstrap": "^3.1.0", "@types/node": "^18.19.111", "@types/semver": "^7.3.9", "@vitest/coverage-v8": "^3.0.0", - "archiver": "^7.0.0", "chalk": "^5.4.0", "cpy": "^11.1.0", "nock": "^14.0.0", @@ -25539,12 +25317,12 @@ "version": "14.4.1", "license": "MIT", "dependencies": { + "@archiver/archiver": "^0.0.5", "@babel/parser": "^7.22.5", "@babel/types": "^7.28.5", "@netlify/binary-info": "^1.0.0", "@netlify/serverless-functions-api": "^2.10.0", "@vercel/nft": "0.29.4", - "archiver": "^7.0.0", "common-path-prefix": "^3.0.0", "copy-file": "^11.0.0", "es-module-lexer": "^1.0.0", @@ -25558,7 +25336,6 @@ "locate-path": "^7.0.0", "merge-options": "^3.0.4", "minimatch": "^10.2.4", - "normalize-path": "^3.0.0", "p-map": "^7.0.0", "path-exists": "^5.0.0", "precinct": "^12.0.0", @@ -25576,10 +25353,8 @@ "zip-it-and-ship-it": "bin.js" }, "devDependencies": { - "@types/archiver": "6.0.4", "@types/is-ci": "3.0.4", "@types/node": "20.19.33", - "@types/normalize-path": "3.0.2", "@types/resolve": "1.20.6", "@types/semver": "7.7.1", "@types/unixify": "1.0.2", diff --git a/packages/edge-bundler/node/bridge.test.ts b/packages/edge-bundler/node/bridge.test.ts index 8e51893be1..632654ce02 100644 --- a/packages/edge-bundler/node/bridge.test.ts +++ b/packages/edge-bundler/node/bridge.test.ts @@ -1,9 +1,9 @@ import { Buffer } from 'buffer' import { rm } from 'fs/promises' -import { createRequire } from 'module' import { platform, env } from 'process' import { PassThrough } from 'stream' +import { ZipArchive } from '@archiver/archiver' import nock from 'nock' import semver from 'semver' import tmp, { DirectoryResult } from 'tmp-promise' @@ -12,13 +12,10 @@ import { test, expect } from 'vitest' import { DenoBridge, DENO_VERSION_RANGE } from './bridge.js' import { getPlatformTarget } from './platform.js' -const require = createRequire(import.meta.url) -const archiver = require('archiver') - const getMockDenoBridge = function (tmpDir: DirectoryResult, mockBinaryOutput: string) { const latestVersion = semver.minVersion(DENO_VERSION_RANGE)?.version ?? '' const data = new PassThrough() - const archive = archiver('zip', { zlib: { level: 9 } }) + const archive = new ZipArchive({ zlib: { level: 9 } }) archive.pipe(data) archive.append(Buffer.from(mockBinaryOutput.replace(/@@@latestVersion@@@/g, latestVersion)), { @@ -141,7 +138,7 @@ test('Provides actionable error message when downloaded binary cannot be execute const tmpDir = await tmp.dir() const latestVersion = semver.minVersion(DENO_VERSION_RANGE)?.version ?? '' const data = new PassThrough() - const archive = archiver('zip', { zlib: { level: 9 } }) + const archive = new ZipArchive({ zlib: { level: 9 } }) archive.pipe(data) // Create a binary that will fail to execute (invalid content) diff --git a/packages/edge-bundler/node/main.test.ts b/packages/edge-bundler/node/main.test.ts index b530bc6b1f..6991b39575 100644 --- a/packages/edge-bundler/node/main.test.ts +++ b/packages/edge-bundler/node/main.test.ts @@ -1,9 +1,9 @@ import { Buffer } from 'buffer' import { rm } from 'fs/promises' -import { createRequire } from 'module' import { platform } from 'process' import { PassThrough } from 'stream' +import { ZipArchive } from '@archiver/archiver' import nock from 'nock' import semver from 'semver' import tmp from 'tmp-promise' @@ -12,14 +12,11 @@ import { test, expect, vi } from 'vitest' import { DenoBridge, DENO_VERSION_RANGE } from './bridge.js' import { getPlatformTarget } from './platform.js' -const require = createRequire(import.meta.url) -const archiver = require('archiver') - test('Downloads the Deno CLI on demand and caches it for subsequent calls', async () => { const latestVersion = semver.minVersion(DENO_VERSION_RANGE)?.version ?? '' const mockBinaryOutput = `#!/usr/bin/env sh\n\necho "deno ${latestVersion}"` const data = new PassThrough() - const archive = archiver('zip', { zlib: { level: 9 } }) + const archive = new ZipArchive({ zlib: { level: 9 } }) archive.pipe(data) archive.append(Buffer.from(mockBinaryOutput), { name: platform === 'win32' ? 'deno.exe' : 'deno' }) diff --git a/packages/edge-bundler/package.json b/packages/edge-bundler/package.json index 790432eff4..b6991d1123 100644 --- a/packages/edge-bundler/package.json +++ b/packages/edge-bundler/package.json @@ -46,7 +46,7 @@ "@types/node": "^18.19.111", "@types/semver": "^7.3.9", "@vitest/coverage-v8": "^3.0.0", - "archiver": "^7.0.0", + "@archiver/archiver": "^0.0.5", "chalk": "^5.4.0", "cpy": "^11.1.0", "nock": "^14.0.0", diff --git a/packages/zip-it-and-ship-it/package.json b/packages/zip-it-and-ship-it/package.json index 2a849f4390..c25ddefe41 100644 --- a/packages/zip-it-and-ship-it/package.json +++ b/packages/zip-it-and-ship-it/package.json @@ -46,7 +46,7 @@ "@netlify/binary-info": "^1.0.0", "@netlify/serverless-functions-api": "^2.10.0", "@vercel/nft": "0.29.4", - "archiver": "^7.0.0", + "@archiver/archiver": "^0.0.5", "common-path-prefix": "^3.0.0", "copy-file": "^11.0.0", "es-module-lexer": "^1.0.0", @@ -60,7 +60,6 @@ "locate-path": "^7.0.0", "merge-options": "^3.0.4", "minimatch": "^10.2.4", - "normalize-path": "^3.0.0", "p-map": "^7.0.0", "path-exists": "^5.0.0", "precinct": "^12.0.0", @@ -75,10 +74,8 @@ "zod": "^3.23.8" }, "devDependencies": { - "@types/archiver": "6.0.4", "@types/is-ci": "3.0.4", "@types/node": "20.19.33", - "@types/normalize-path": "3.0.2", "@types/resolve": "1.20.6", "@types/semver": "7.7.1", "@types/unixify": "1.0.2", diff --git a/packages/zip-it-and-ship-it/src/archive.ts b/packages/zip-it-and-ship-it/src/archive.ts index d6ebca3dc0..eac9f6c8dc 100644 --- a/packages/zip-it-and-ship-it/src/archive.ts +++ b/packages/zip-it-and-ship-it/src/archive.ts @@ -2,11 +2,11 @@ import { Buffer } from 'buffer' import { createWriteStream, Stats, readlinkSync } from 'fs' import { Writable } from 'stream' -import archiver, { Archiver } from 'archiver' +import { Archiver, ZipArchive as ZipArchiveClass, TarArchive } from '@archiver/archiver' import { ObjectValues } from './types/utils.js' -export { Archiver as ZipArchive } from 'archiver' +export { Archiver as ZipArchive } from '@archiver/archiver' export const ARCHIVE_FORMAT = { NONE: 'none', @@ -19,7 +19,7 @@ export type ArchiveFormat = ObjectValues // Start zipping files export const startZip = function (destPath: string): { archive: Archiver; output: Writable } { const output = createWriteStream(destPath) - const archive = archiver('zip') + const archive = new ZipArchiveClass() archive.pipe(output) @@ -62,7 +62,7 @@ export const endZip = async function (archive: Archiver, output: Writable): Prom export const startTar = function (destPath: string): { archive: Archiver; output: Writable } { const output = createWriteStream(destPath) - const archive = archiver('tar', { gzip: true }) + const archive = new TarArchive({ gzip: true }) archive.pipe(output) diff --git a/packages/zip-it-and-ship-it/src/utils/matching.ts b/packages/zip-it-and-ship-it/src/utils/matching.ts index 08665faf3e..04aa274fd0 100644 --- a/packages/zip-it-and-ship-it/src/utils/matching.ts +++ b/packages/zip-it-and-ship-it/src/utils/matching.ts @@ -1,6 +1,6 @@ import originalGlob from 'fast-glob' import { minimatch as minimatchFunction, type MinimatchOptions } from 'minimatch' -import normalizePath from 'normalize-path' +import { normalizePath } from '@archiver/archiver/utils' /** * Both glob and minimatch only support unix style slashes in patterns @@ -8,10 +8,10 @@ import normalizePath from 'normalize-path' * We use `normalize-path` here instead of `unixify` because we do not want to remove drive letters */ export const glob = function (pattern: string, options: originalGlob.Options): Promise { - const normalizedIgnore = options.ignore?.map((expression) => normalizePath(expression)) - return originalGlob(normalizePath(pattern), { ...options, ignore: normalizedIgnore }) + const normalizedIgnore = options.ignore?.map((expression) => normalizePath(expression, false)) + return originalGlob(normalizePath(pattern, false), { ...options, ignore: normalizedIgnore }) } export const minimatch = function (target: string, pattern: string, options?: MinimatchOptions): boolean { - return minimatchFunction(target, normalizePath(pattern), options) + return minimatchFunction(target, normalizePath(pattern, false), options) }