diff --git a/ops/buildkite/build-code b/ops/buildkite/build-code index 03272ba6821..4b4286d3c83 100755 --- a/ops/buildkite/build-code +++ b/ops/buildkite/build-code @@ -55,6 +55,12 @@ update_env() { else sed -i "s|^BAKED_SITE_DIR=.*$|BAKED_SITE_DIR=/home/owid/live-data/bakedSite|" owid-grapher/.env fi + # set GIT_REVISION based on current hash, used for Bugsnag + if ! grep -q "^GIT_REVISION=" owid-grapher/.env; then + echo "GIT_REVISION=$(git rev-parse HEAD)" >> owid-grapher/.env + else + sed -i "s|^GIT_REVISION=.*$|GIT_REVISION=$(git rev-parse HEAD)|" owid-grapher/.env + fi # redirect assets if ! grep -q "^BAKED_GRAPHER_EXPORTS_BASE_URL=" owid-grapher/.env; then echo "BAKED_GRAPHER_EXPORTS_BASE_URL=https://assets.ourworldindata.org/grapher/exports" >> owid-grapher/.env diff --git a/package.json b/package.json index e1cc7f51dbb..92bb7280ed5 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@algolia/autocomplete-plugin-recent-searches": "^1.17.2", "@algolia/autocomplete-theme-classic": "^1.17.2", "@aws-sdk/client-s3": "^3.626.0", + "@bugsnag/browser-performance": "^2.4.1", "@bugsnag/core": "^7.19.0", "@bugsnag/js": "^7.20.0", "@bugsnag/plugin-express": "^7.19.0", diff --git a/settings/clientSettings.ts b/settings/clientSettings.ts index 7e54564fdc2..80334519c53 100644 --- a/settings/clientSettings.ts +++ b/settings/clientSettings.ts @@ -17,7 +17,7 @@ import { parseIntOrUndefined } from "@ourworldindata/utils" export const ENV: "development" | "production" = process.env.ENV === "production" ? "production" : "development" - +export const GIT_REVISION = process.env.GIT_REVISION ?? "unknown" export const BUGSNAG_API_KEY: string | undefined = process.env.BUGSNAG_API_KEY export const ADMIN_SERVER_PORT: number = parseIntOrUndefined(process.env.ADMIN_SERVER_PORT) ?? 3030 diff --git a/site/owid.entry.ts b/site/owid.entry.ts index 06bbb7c8fea..a27484d4c85 100644 --- a/site/owid.entry.ts +++ b/site/owid.entry.ts @@ -17,6 +17,7 @@ import { ENV, BUGSNAG_API_KEY, ADMIN_BASE_URL, + GIT_REVISION, } from "../settings/clientSettings.js" import { Grapher, CookieKey } from "@ourworldindata/grapher" import { MultiEmbedderSingleton } from "../site/multiembedder/MultiEmbedder.js" @@ -24,6 +25,7 @@ import { CoreTable } from "@ourworldindata/core-table" import { SiteAnalytics } from "./SiteAnalytics.js" import Bugsnag, { BrowserConfig } from "@bugsnag/js" import BugsnagPluginReact from "@bugsnag/plugin-react" +import BugsnagPerformance from "@bugsnag/browser-performance" import { runMonkeyPatchForGoogleTranslate } from "./hacks.js" import { runSiteFooterScripts } from "./runSiteFooterScripts.js" import { @@ -74,11 +76,17 @@ if (BUGSNAG_API_KEY) { Bugsnag.start({ apiKey: BUGSNAG_API_KEY, + appVersion: GIT_REVISION, plugins: [new BugsnagPluginReact()], autoTrackSessions: false, collectUserIp: false, ...bugsnagUserInformation, }) + BugsnagPerformance.start({ + apiKey: BUGSNAG_API_KEY, + appVersion: GIT_REVISION, + ...bugsnagUserInformation, + }) } catch (error) { console.error("Failed to initialize Bugsnag") } diff --git a/yarn.lock b/yarn.lock index 933ce200e2f..11117c6414a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1437,6 +1437,18 @@ __metadata: languageName: node linkType: hard +"@bugsnag/browser-performance@npm:^2.4.1": + version: 2.4.1 + resolution: "@bugsnag/browser-performance@npm:2.4.1" + dependencies: + "@bugsnag/core-performance": "npm:^2.4.1" + "@bugsnag/cuid": "npm:^3.1.0" + "@bugsnag/delivery-fetch-performance": "npm:^2.4.1" + "@bugsnag/request-tracker-performance": "npm:^2.4.1" + checksum: 10/4cfd123d7f769b051b3d249be1d4a183790dcb801961c365330e62e3985af6a63e129363528d4e85dbee6ca91ca7747e00db51ce1c436d024ada75eadd6c7f42 + languageName: node + linkType: hard + "@bugsnag/browser@npm:^7.20.2": version: 7.20.2 resolution: "@bugsnag/browser@npm:7.20.2" @@ -1446,6 +1458,15 @@ __metadata: languageName: node linkType: hard +"@bugsnag/core-performance@npm:^2.4.1": + version: 2.4.1 + resolution: "@bugsnag/core-performance@npm:2.4.1" + dependencies: + "@bugsnag/cuid": "npm:^3.1.0" + checksum: 10/75bb2e23e0aae2623fff1aeee0e076d1c43ce4daf10df3c6f1a2ba60fb78bed5a1cd34273830828d77a7c2bf0d107202b1ecd98c7a49be78a146e9be2e7a5552 + languageName: node + linkType: hard + "@bugsnag/core@npm:^7.19.0": version: 7.19.0 resolution: "@bugsnag/core@npm:7.19.0" @@ -1466,6 +1487,22 @@ __metadata: languageName: node linkType: hard +"@bugsnag/cuid@npm:^3.1.0": + version: 3.1.1 + resolution: "@bugsnag/cuid@npm:3.1.1" + checksum: 10/7a556bd8a166079e71872244c13f206a7d7e08b47ffa06bb712c04897144ab776ba25aaa63ea8b8e8cf7b3e973d41982bd6ac5d3544af9c988f4ef96bc86f6a3 + languageName: node + linkType: hard + +"@bugsnag/delivery-fetch-performance@npm:^2.4.1": + version: 2.4.1 + resolution: "@bugsnag/delivery-fetch-performance@npm:2.4.1" + dependencies: + "@bugsnag/core-performance": "npm:^2.4.1" + checksum: 10/bacb5fb19c4d674fb7bba5be072c75887febe89c74e5dcd6bd7beb80e80bece9ebb441ec5a8b240964ed6cd559743ca278b07e60abfbf138600a20e4368352f9 + languageName: node + linkType: hard + "@bugsnag/js@npm:^7.20.0": version: 7.20.2 resolution: "@bugsnag/js@npm:7.20.2" @@ -1513,6 +1550,15 @@ __metadata: languageName: node linkType: hard +"@bugsnag/request-tracker-performance@npm:^2.4.1": + version: 2.4.1 + resolution: "@bugsnag/request-tracker-performance@npm:2.4.1" + dependencies: + "@bugsnag/core-performance": "npm:^2.4.1" + checksum: 10/5bb56218a9fc548af166ed3814d5a212e10a7d5d00e84e28ee809b1bbeab03bda829882ad0aea64aa4e5861955c86aa0cf712e09775ea15f81086ee15c1e21f8 + languageName: node + linkType: hard + "@bugsnag/safe-json-stringify@npm:^6.0.0": version: 6.0.0 resolution: "@bugsnag/safe-json-stringify@npm:6.0.0" @@ -1685,7 +1731,20 @@ __metadata: languageName: node linkType: hard -"@emotion/cache@npm:^11.10.0, @emotion/cache@npm:^11.11.0, @emotion/cache@npm:^11.4.0": +"@emotion/cache@npm:^11.10.0, @emotion/cache@npm:^11.4.0": + version: 11.10.3 + resolution: "@emotion/cache@npm:11.10.3" + dependencies: + "@emotion/memoize": "npm:^0.8.0" + "@emotion/sheet": "npm:^1.2.0" + "@emotion/utils": "npm:^1.2.0" + "@emotion/weak-memoize": "npm:^0.3.0" + stylis: "npm:4.0.13" + checksum: 10/76bbd0d11e94a6589fcd8063dfe5d3704c5e2b870091fd792a91371478ea8b4172cf06fe3ecd6a1febf03099f36c993661cce8c5b40d16d4dbbf78c1f7324eec + languageName: node + linkType: hard + +"@emotion/cache@npm:^11.11.0": version: 11.11.0 resolution: "@emotion/cache@npm:11.11.0" dependencies: @@ -1725,6 +1784,13 @@ __metadata: languageName: node linkType: hard +"@emotion/memoize@npm:^0.8.0": + version: 0.8.0 + resolution: "@emotion/memoize@npm:0.8.0" + checksum: 10/c87bb110b829edd8e1c13b90a6bc37cebc39af29c7599a1e66a48e06f9bec43e8e53495ba86278cc52e7589549492c8dfdc81d19f4fdec0cee6ba13d2ad2c928 + languageName: node + linkType: hard + "@emotion/memoize@npm:^0.8.1": version: 0.8.1 resolution: "@emotion/memoize@npm:0.8.1" @@ -1769,6 +1835,13 @@ __metadata: languageName: node linkType: hard +"@emotion/sheet@npm:^1.2.0": + version: 1.2.0 + resolution: "@emotion/sheet@npm:1.2.0" + checksum: 10/867d798daaac96c07ab831d49c6733eba3c393ec2ed281dd6ff6779d8fd16a3b399d4819eecbebc08fff24bf8a74945f583493483e48bd84fd0a2b42761831a2 + languageName: node + linkType: hard + "@emotion/sheet@npm:^1.2.2": version: 1.2.2 resolution: "@emotion/sheet@npm:1.2.2" @@ -2260,6 +2333,13 @@ __metadata: languageName: node linkType: hard +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 10/052dd232140fa60e81588000cbe729a40146579b361f1070bce63e2a761388a22a16d00beeffc504bd3601cb8e055c57b21a185448b3ed550cf50716f4fd442e + languageName: node + linkType: hard + "@handsontable/pikaday@npm:^1.0.0": version: 1.0.0 resolution: "@handsontable/pikaday@npm:1.0.0" @@ -2847,6 +2927,16 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^2.1.0": + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" + dependencies: + "@gar/promisify": "npm:^1.1.3" + semver: "npm:^7.3.5" + checksum: 10/c5d4dfee80de2236e1e4ed595d17e217aada72ebd8215183fc46096fa010f583dd2aaaa486758de7cc0b89440dbc31cfe8b276269d75d47af35c716e896f78ec + languageName: node + linkType: hard + "@npmcli/fs@npm:^3.1.0, @npmcli/fs@npm:^3.1.1": version: 3.1.1 resolution: "@npmcli/fs@npm:3.1.1" @@ -2909,6 +2999,16 @@ __metadata: languageName: node linkType: hard +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" + dependencies: + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10/52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 + languageName: node + linkType: hard + "@npmcli/name-from-folder@npm:^2.0.0": version: 2.0.0 resolution: "@npmcli/name-from-folder@npm:2.0.0" @@ -5881,7 +5981,7 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1": +"abbrev@npm:1, abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: 10/2d882941183c66aa665118bafdab82b7a177e9add5eb2776c33e960a4f3c89cff88a1b38aba13a456de01d0dd9d66a8bea7c903268b21ea91dd1097e1e2e8243 @@ -5956,7 +6056,7 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:6": +"agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" dependencies: @@ -6222,6 +6322,16 @@ __metadata: languageName: node linkType: hard +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10/390731720e1bf9ed5d0efc635ea7df8cbc4c90308b0645a932f06e8495a0bf1ecc7987d3b97e805f62a17d6c4b634074b25200aa4d149be2a7b17250b9744bc4 + languageName: node + linkType: hard + "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -6806,6 +6916,15 @@ __metadata: languageName: node linkType: hard +"braces@npm:^3.0.1": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: "npm:^7.0.1" + checksum: 10/966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1 + languageName: node + linkType: hard + "braces@npm:^3.0.2, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" @@ -6938,6 +7057,32 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" + dependencies: + "@npmcli/fs": "npm:^2.1.0" + "@npmcli/move-file": "npm:^2.0.0" + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.1.0" + glob: "npm:^8.0.1" + infer-owner: "npm:^1.0.4" + lru-cache: "npm:^7.7.1" + minipass: "npm:^3.1.6" + minipass-collect: "npm:^1.0.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + mkdirp: "npm:^1.0.4" + p-map: "npm:^4.0.0" + promise-inflight: "npm:^1.0.1" + rimraf: "npm:^3.0.2" + ssri: "npm:^9.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^2.0.0" + checksum: 10/a14524d90e377ee691d63a81173b33c473f8bc66eb299c64290b58e1d41b28842397f8d6c15a01b4c57ca340afcec019ae112a45c2f67a79f76130d326472e92 + languageName: node + linkType: hard + "cacache@npm:^18.0.0, cacache@npm:^18.0.3": version: 18.0.4 resolution: "cacache@npm:18.0.4" @@ -7468,7 +7613,7 @@ __metadata: languageName: node linkType: hard -"color-support@npm:1.1.3, color-support@npm:^1.1.2": +"color-support@npm:1.1.3, color-support@npm:^1.1.2, color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" bin: @@ -8490,7 +8635,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -8551,7 +8696,7 @@ __metadata: languageName: node linkType: hard -"dedent@npm:1.5.3, dedent@npm:^1.0.0": +"dedent@npm:1.5.3": version: 1.5.3 resolution: "dedent@npm:1.5.3" peerDependencies: @@ -8563,6 +8708,18 @@ __metadata: languageName: node linkType: hard +"dedent@npm:^1.0.0": + version: 1.5.1 + resolution: "dedent@npm:1.5.1" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10/fc00a8bc3dfb7c413a778dc40ee8151b6c6ff35159d641f36ecd839c1df5c6e0ec5f4992e658c82624a1a62aaecaffc23b9c965ceb0bbf4d698bfc16469ac27d + languageName: node + linkType: hard + "deep-extend@npm:^0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" @@ -8836,7 +8993,14 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.1, dotenv@npm:^16.0.3, dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": +"dotenv@npm:^16.0.1, dotenv@npm:^16.0.3": + version: 16.3.1 + resolution: "dotenv@npm:16.3.1" + checksum: 10/dbb778237ef8750e9e3cd1473d3c8eaa9cc3600e33a75c0e36415d0fa0848197f56c3800f77924c70e7828f0b03896818cd52f785b07b9ad4d88dba73fbba83f + languageName: node + linkType: hard + +"dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": version: 16.4.5 resolution: "dotenv@npm:16.4.5" checksum: 10/55a3134601115194ae0f924e54473459ed0d9fc340ae610b676e248cca45aa7c680d86365318ea964e6da4e2ea80c4514c1adab5adb43d6867fb57ff068f95c8 @@ -10104,6 +10268,15 @@ __metadata: languageName: node linkType: hard +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10/e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429 + languageName: node + linkType: hard + "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -10336,7 +10509,7 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -10430,6 +10603,22 @@ __metadata: languageName: node linkType: hard +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.3" + console-control-strings: "npm:^1.1.0" + has-unicode: "npm:^2.0.1" + signal-exit: "npm:^3.0.7" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.5" + checksum: 10/09535dd53b5ced6a34482b1fa9f3929efdeac02f9858569cde73cef3ed95050e0f3d095706c1689614059898924b7a74aa14042f51381a1ccc4ee5c29d2389c4 + languageName: node + linkType: hard + "gaxios@npm:^5.0.0, gaxios@npm:^5.0.1": version: 5.0.2 resolution: "gaxios@npm:5.0.2" @@ -10717,7 +10906,22 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.3": +"glob@npm:^10.2.2, glob@npm:^10.3.3": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.5" + minimatch: "npm:^9.0.1" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry: "npm:^1.10.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10/38bdb2c9ce75eb5ed168f309d4ed05b0798f640b637034800a6bf306f39d35409bf278b0eaaffaec07591085d3acb7184a201eae791468f0f617771c2486a6a8 + languageName: node + linkType: hard + +"glob@npm:^10.3.10": version: 10.3.12 resolution: "glob@npm:10.3.12" dependencies: @@ -10746,6 +10950,19 @@ __metadata: languageName: node linkType: hard +"glob@npm:^8.0.1": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10/9aab1c75eb087c35dbc41d1f742e51d0507aa2b14c910d96fb8287107a10a22f4bbdce26fc0a3da4c69a20f7b26d62f1640b346a4f6e6becfff47f335bb1dc5e + languageName: node + linkType: hard + "glob@npm:^9.2.0": version: 9.3.5 resolution: "glob@npm:9.3.5" @@ -10889,6 +11106,7 @@ __metadata: "@algolia/autocomplete-plugin-recent-searches": "npm:^1.17.2" "@algolia/autocomplete-theme-classic": "npm:^1.17.2" "@aws-sdk/client-s3": "npm:^3.626.0" + "@bugsnag/browser-performance": "npm:^2.4.1" "@bugsnag/core": "npm:^7.19.0" "@bugsnag/js": "npm:^7.20.0" "@bugsnag/plugin-express": "npm:^7.19.0" @@ -11373,7 +11591,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.1": +"http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f @@ -11635,6 +11853,13 @@ __metadata: languageName: node linkType: hard +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 10/181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -11784,6 +12009,13 @@ __metadata: languageName: node linkType: hard +"ip@npm:^2.0.0": + version: 2.0.1 + resolution: "ip@npm:2.0.1" + checksum: 10/d6dd154e1bc5e8725adfdd6fb92218635b9cbe6d873d051bd63b178f009777f751a5eea4c67021723a7056325fc3052f8b6599af0a2d56f042c93e684b4a0349 + languageName: node + linkType: hard + "ipaddr.js@npm:1.9.1": version: 1.9.1 resolution: "ipaddr.js@npm:1.9.1" @@ -12419,7 +12651,7 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.6": +"jackspeak@npm:^2.3.5, jackspeak@npm:^2.3.6": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" dependencies: @@ -13764,6 +13996,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^7.7.1": + version: 7.14.0 + resolution: "lru-cache@npm:7.14.0" + checksum: 10/f8e01009712d19e9da6001a9639188dc9a98f2686ed437a31432792c676e45a3ced8c4d28b117c18fd45eb49c7f8e676e5a5c31bf59c46a8ca0971c6b5280bc2 + languageName: node + linkType: hard + "lru-cache@npm:^8.0.0": version: 8.0.5 resolution: "lru-cache@npm:8.0.5" @@ -13771,6 +14010,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.0 + resolution: "lru-cache@npm:10.0.0" + checksum: 10/590e00d6ccd76a1ada056585be3fd6dbddda395fc9359390cff38669c69c3fa1792dd6c4c46a9b1b411f032cd2e979d9e664f1628163292ecdfeada98c3da1f3 + languageName: node + linkType: hard + "lz-string@npm:^1.4.4": version: 1.4.4 resolution: "lz-string@npm:1.4.4" @@ -13817,6 +14063,30 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^10.0.3": + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" + dependencies: + agentkeepalive: "npm:^4.2.1" + cacache: "npm:^16.1.0" + http-cache-semantics: "npm:^4.1.0" + http-proxy-agent: "npm:^5.0.0" + https-proxy-agent: "npm:^5.0.0" + is-lambda: "npm:^1.0.1" + lru-cache: "npm:^7.7.1" + minipass: "npm:^3.1.6" + minipass-collect: "npm:^1.0.2" + minipass-fetch: "npm:^2.0.3" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + socks-proxy-agent: "npm:^7.0.0" + ssri: "npm:^9.0.0" + checksum: 10/fef5acb865a46f25ad0b5ad7d979799125db5dbb24ea811ffa850fbb804bc8e495df2237a8ec3a4fc6250e73c2f95549cca6d6d36a73b1faa61224504eb1188f + languageName: node + linkType: hard + "make-fetch-happen@npm:^13.0.0, make-fetch-happen@npm:^13.0.1": version: 13.0.1 resolution: "make-fetch-happen@npm:13.0.1" @@ -14035,7 +14305,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:4.0.5, micromatch@npm:^4.0.4": +"micromatch@npm:4.0.5": version: 4.0.5 resolution: "micromatch@npm:4.0.5" dependencies: @@ -14045,6 +14315,16 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^4.0.4": + version: 4.0.4 + resolution: "micromatch@npm:4.0.4" + dependencies: + braces: "npm:^3.0.1" + picomatch: "npm:^2.2.3" + checksum: 10/c499da5aad38f3ba1a32a73a81f3dd9b631e12492133c503c14ce59aa5c631159c08f2c43d3a7e0ea3955c7921d41b7b97e662360fe3b28b2cfb0923949c176d + languageName: node + linkType: hard + "mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" @@ -14214,6 +14494,15 @@ __metadata: languageName: node linkType: hard +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + "minipass-collect@npm:^2.0.1": version: 2.0.1 resolution: "minipass-collect@npm:2.0.1" @@ -14223,6 +14512,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^2.0.3": + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^3.1.6" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10/8cfc589563ae2a11eebbf79121ef9a526fd078fca949ed3f1e4a51472ca4a4aad89fcea1738982ce9d7d833116ecc9c6ae9ebbd844832a94e3f4a3d4d1b9d3b9 + languageName: node + linkType: hard + "minipass-fetch@npm:^3.0.0": version: 3.0.4 resolution: "minipass-fetch@npm:3.0.4" @@ -14265,7 +14569,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0": +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": version: 3.3.4 resolution: "minipass@npm:3.3.4" dependencies: @@ -14288,7 +14592,14 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 10/e864bd02ceb5e0707696d58f7ce3a0b89233f0d686ef0d447a66db705c0846a8dc6f34865cd85256c1472ff623665f616b90b8ff58058b2ad996c5de747d2d18 + languageName: node + linkType: hard + +"minipass@npm:^7.0.2, minipass@npm:^7.0.4": version: 7.1.1 resolution: "minipass@npm:7.1.1" checksum: 10/6f4f920f1b5ea585d08fa3739b9bd81726cd85a0c972fb371c0fa6c1544d468813fb1694c7bc64ad81f138fd8abf665e2af0f406de9ba5741d8e4a377ed346b1 @@ -14330,7 +14641,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3": +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -14635,7 +14946,7 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^10.0.0, node-gyp@npm:latest": +"node-gyp@npm:^10.0.0": version: 10.1.0 resolution: "node-gyp@npm:10.1.0" dependencies: @@ -14655,6 +14966,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:latest": + version: 9.3.0 + resolution: "node-gyp@npm:9.3.0" + dependencies: + env-paths: "npm:^2.2.0" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^10.0.3" + nopt: "npm:^6.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: 10/b64c70a3984f9f23b9ae4606940e16c99edb93e7c455965afb0342ac961680efc4e553fed9f2654b9816072298da59fadfb832aeac6c625517cc228edb54c2c3 + languageName: node + linkType: hard + "node-int64@npm:^0.4.0": version: 0.4.0 resolution: "node-int64@npm:0.4.0" @@ -14767,6 +15098,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: "npm:^1.0.0" + bin: + nopt: bin/nopt.js + checksum: 10/3c1128e07cd0241ae66d6e6a472170baa9f3e84dd4203950ba8df5bafac4efa2166ce917a57ef02b01ba7c40d18b2cc64b29b225fd3640791fe07b24f0b33a32 + languageName: node + linkType: hard + "nopt@npm:^7.0.0, nopt@npm:^7.2.1": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -14931,6 +15273,18 @@ __metadata: languageName: node linkType: hard +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: "npm:^3.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^4.0.3" + set-blocking: "npm:^2.0.0" + checksum: 10/82b123677e62deb9e7472e27b92386c09e6e254ee6c8bcd720b3011013e4168bc7088e984f4fbd53cb6e12f8b4690e23e4fa6132689313e0d0dc4feea45489bb + languageName: node + linkType: hard + "nth-check@npm:^2.0.1": version: 2.0.1 resolution: "nth-check@npm:2.0.1" @@ -15638,6 +15992,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: "npm:^9.1.1 || ^10.0.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10/eebfb8304fef1d4f7e1486df987e4fd77413de4fce16508dea69fcf8eb318c09a6b15a7a2f4c22877cec1cb7ecbd3071d18ca9de79eeece0df874a00f1f0bdc8 + languageName: node + linkType: hard + "path-scurry@npm:^1.10.2, path-scurry@npm:^1.6.1": version: 1.10.2 resolution: "path-scurry@npm:1.10.2" @@ -18315,6 +18679,17 @@ __metadata: languageName: node linkType: hard +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: "npm:^6.0.2" + debug: "npm:^4.3.3" + socks: "npm:^2.6.2" + checksum: 10/26c75d9c62a9ed3fd494df60e65e88da442f78e0d4bc19bfd85ac37bd2c67470d6d4bba5202e804561cda6674db52864c9e2a2266775f879bc8d89c1445a5f4c + languageName: node + linkType: hard + "socks-proxy-agent@npm:^8.0.3": version: 8.0.3 resolution: "socks-proxy-agent@npm:8.0.3" @@ -18326,6 +18701,16 @@ __metadata: languageName: node linkType: hard +"socks@npm:^2.6.2": + version: 2.7.1 + resolution: "socks@npm:2.7.1" + dependencies: + ip: "npm:^2.0.0" + smart-buffer: "npm:^4.2.0" + checksum: 10/5074f7d6a13b3155fa655191df1c7e7a48ce3234b8ccf99afa2ccb56591c195e75e8bb78486f8e9ea8168e95a29573cbaad55b2b5e195160ae4d2ea6811ba833 + languageName: node + linkType: hard + "socks@npm:^2.7.1": version: 2.8.3 resolution: "socks@npm:2.8.3" @@ -18509,6 +18894,15 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" + dependencies: + minipass: "npm:^3.1.1" + checksum: 10/7638a61e91432510718e9265d48d0438a17d53065e5184f1336f234ef6aa3479663942e41e97df56cda06bb24d9d0b5ef342c10685add3cac7267a82d7fa6718 + languageName: node + linkType: hard + "stack-generator@npm:^2.0.3": version: 2.0.5 resolution: "stack-generator@npm:2.0.5" @@ -18827,6 +19221,13 @@ __metadata: languageName: node linkType: hard +"stylis@npm:4.0.13": + version: 4.0.13 + resolution: "stylis@npm:4.0.13" + checksum: 10/0b1c3437e36b8c11e1a1d4b9a3d9ddeb92d5138d867d8384e66aabbbd7f6ca483166db9f9f3a1639b937ac1c22c0049aeaea68e3255df1fbade5bc0284c210bf + languageName: node + linkType: hard + "stylis@npm:4.2.0, stylis@npm:^4.0.13": version: 4.2.0 resolution: "stylis@npm:4.2.0" @@ -18969,7 +19370,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:6.2.1, tar@npm:^6.1.11, tar@npm:^6.1.2": +"tar@npm:6.2.1": version: 6.2.1 resolution: "tar@npm:6.2.1" dependencies: @@ -18983,6 +19384,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.0 + resolution: "tar@npm:6.2.0" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10/2042bbb14830b5cd0d584007db0eb0a7e933e66d1397e72a4293768d2332449bc3e312c266a0887ec20156dea388d8965e53b4fc5097f42d78593549016da089 + languageName: node + linkType: hard + "tarn@npm:^3.0.2": version: 3.0.2 resolution: "tarn@npm:3.0.2" @@ -19736,6 +20151,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" + dependencies: + unique-slug: "npm:^3.0.0" + checksum: 10/807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -19745,6 +20169,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10/26fc5bc209a875956dd5e84ca39b89bc3be777b112504667c35c861f9547df95afc80439358d836b878b6d91f6ee21fe5ba1a966e9ec2e9f071ddf3fd67d45ee + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -20440,7 +20873,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^2.0.1": +"which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -20462,7 +20895,7 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:1.1.5, wide-align@npm:^1.1.2": +"wide-align@npm:1.1.5, wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" dependencies: