performance comparisons of edge compute platforms
edge performance benchmark cloud-provider compute function edge-function compute-at-edge comparison
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fastly

+2126
+1
.tangled/workflows/default.yaml
··· 39 39 dependencies: 40 40 nixpkgs: 41 41 - bun 42 + - fastly 42 43 43 44 steps: 44 45 - name: "bun run"
+1
mise.toml
··· 1 1 [tools] 2 2 bun = "latest" 3 + node = "lts"
+3
services/fastly/express-basic/.fastlyignore
··· 1 + /node_modules 2 + /bin 3 + /pkg
+3
services/fastly/express-basic/.gitignore
··· 1 + /node_modules 2 + /bin 3 + /pkg
+46
services/fastly/express-basic/README.md
··· 1 + # Default Starter Kit For TypeScript 2 + 3 + [![Deploy to Fastly](https://deploy.edgecompute.app/button)](https://deploy.edgecompute.app/deploy) 4 + 5 + Get to know the Fastly Compute environment with a basic starter in TypeScript that demonstrates routing, simple synthetic responses and code comments that cover common patterns. 6 + 7 + **For more details about other starter kits for Compute, see the [Fastly Documentation Hub](https://www.fastly.com/documentation/solutions/starters)** 8 + 9 + ## Features 10 + * TypeScript source files 11 + * `tsconfig.json` file to use as a starting point 12 + * Allow only requests with particular HTTP methods 13 + * Match request URL path and methods for routing 14 + * Build synthetic responses at the edge 15 + 16 + ## Understanding the code 17 + 18 + This starter kit is written in TypeScript and illustrates the same features as the [Compute JavaScript default starter kit](https://github.com/fastly/compute-starter-kit-typescript-default). It is intentionally lightweight, and requires no dependencies aside from the [`@fastly/js-compute`](https://www.npmjs.com/package/@fastly/js-compute) npm package. It will help you understand the basics of processing requests at the edge using Fastly. This starter includes implementations of common patterns explained in our [using Compute](https://www.fastly.com/documentation/guides/compute/javascript/) and [VCL migration](https://www.fastly.com/documentation/guides/compute/migrate/) guides. The starter doesn't require the use of any backends. Once deployed, you will have a Fastly service running on Compute that can generate synthetic responses at the edge. 19 + 20 + The Compute JavaScript SDK [has built-in support](https://www.fastly.com/documentation/guides/compute/developer-guides/javascript/#built-in-typescript) for executing TypeScript source files that contain only erasable TypeScript syntax. In this mode, type checking is not performed. 21 + 22 + The SDK does not directly refer to the `tsconfig.json` file, but one is included to aid your IDE in coding support as well as to illustrate the recommended practice of running `tsc --noEmit` in a `prebuild` script to check for TypeScript errors, since the SDK does not perform type checking. 23 + 24 + ## Running the application 25 + 26 + To create an application using this starter kit, create a new directory for your application and switch to it, and then type the following command: 27 + 28 + ```shell 29 + npm create @fastly/compute@latest -- --language=typescript --default-starter-kit 30 + ``` 31 + 32 + To build and run your new application in the local development environment, type the following command: 33 + 34 + ```shell 35 + npm run start 36 + ``` 37 + 38 + To build and deploy your application to your Fastly account, type the following command. The first time you deploy the application, you will be prompted to create a new service in your account. 39 + 40 + ```shell 41 + npm run deploy 42 + ``` 43 + 44 + ## Security issues 45 + 46 + Please see our [SECURITY.md](SECURITY.md) for guidance on reporting security-related issues.
+16
services/fastly/express-basic/fastly.toml
··· 1 + # This file describes a Fastly Compute package. To learn more visit: 2 + # https://www.fastly.com/documentation/reference/compute/fastly-toml 3 + 4 + authors = [""] 5 + cloned_from = "https://github.com/fastly/compute-starter-kit-typescript" 6 + description = "" 7 + language = "javascript" 8 + manifest_version = 3 9 + name = "express-basic" 10 + service_id = "" 11 + 12 + [local_server] 13 + 14 + [scripts] 15 + build = "npm run build" 16 + post_init = "npm install"
+18
services/fastly/express-basic/package.json
··· 1 + { 2 + "type": "module", 3 + "private": true, 4 + "dependencies": { 5 + "@fastly/js-compute": "^3.33.2" 6 + }, 7 + "devDependencies": { 8 + "@fastly/cli": "^13.0.0", 9 + "typescript": "^5.2.2" 10 + }, 11 + "scripts": { 12 + "prebuild": "tsc --noEmit", 13 + "build": "js-compute-runtime src/index.ts bin/main.wasm", 14 + "start": "fastly compute serve", 15 + "deploy": "fastly compute publish" 16 + }, 17 + "packageManager": "pnpm@10.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc" 18 + }
+1907
services/fastly/express-basic/pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + dependencies: 11 + '@fastly/js-compute': 12 + specifier: ^3.33.2 13 + version: 3.39.4(typescript@5.9.3) 14 + devDependencies: 15 + '@fastly/cli': 16 + specifier: ^13.0.0 17 + version: 13.3.0 18 + typescript: 19 + specifier: ^5.2.2 20 + version: 5.9.3 21 + 22 + packages: 23 + 24 + '@bytecodealliance/componentize-js@0.19.3': 25 + resolution: {integrity: sha512-ju7Y4WeF0B9uMkSPHJgmT6ouEfSwbe9M1uR/YOnYZjBpxJjH9qzxIkJg/kf8NycVDyFJ2/lscmJ1E1uPiDQVRQ==} 26 + hasBin: true 27 + 28 + '@bytecodealliance/jco@1.17.0': 29 + resolution: {integrity: sha512-+8cLL6p++K+KKJiG+xqRDyKcjoWvAB1cwH+diIvuUf8O0AEN+QfzW7GdZJ0zzvfpCfGYX+uO7ylmPFvn+pWxCA==} 30 + hasBin: true 31 + 32 + '@bytecodealliance/preview2-shim@0.17.8': 33 + resolution: {integrity: sha512-wS5kg8u0KCML1UeHQPJ1IuOI24x/XLentCzsqPER1+gDNC5Cz2hG4G2blLOZap+3CEGhIhnJ9mmZYj6a2W0Lww==} 34 + 35 + '@bytecodealliance/weval@0.3.4': 36 + resolution: {integrity: sha512-+GCKtZXhPj7qyDl5pR0F3PTEk8tWINV8dv1tUbKMjMXvqjHIkvzalkWo5ZL2kCKwh8Bwn8rWpSmyvRC/Nlu9nQ==} 37 + engines: {node: '>=16'} 38 + 39 + '@bytecodealliance/wizer-darwin-arm64@10.0.0': 40 + resolution: {integrity: sha512-dhZTWel+xccGTKSJtI9A7oM4yyP20FWflsT+AoqkOqkCY7kCNrj4tmMtZ6GXZFRDkrPY5+EnOh62sfShEibAMA==} 41 + cpu: [arm64] 42 + os: [darwin] 43 + hasBin: true 44 + 45 + '@bytecodealliance/wizer-darwin-arm64@7.0.5': 46 + resolution: {integrity: sha512-Tp0SgVQR568SVPvSfyWDT00yL4ry/w9FS2qy8ZwaP0EauYyjFSZojj6mESX6x9fpYkEnQdprgfdvhw5h1hTwCQ==} 47 + cpu: [arm64] 48 + os: [darwin] 49 + hasBin: true 50 + 51 + '@bytecodealliance/wizer-darwin-x64@10.0.0': 52 + resolution: {integrity: sha512-r/LUIZw6Q3Hf4htd46mD+EBxfwjBkxVIrTM1r+B2pTCddoBYQnKVdVsI4UFyy7NoBxzEg8F8BwmTNoSLmFRjpw==} 53 + cpu: [x64] 54 + os: [darwin] 55 + hasBin: true 56 + 57 + '@bytecodealliance/wizer-darwin-x64@7.0.5': 58 + resolution: {integrity: sha512-HYmG5Q9SpQJnqR7kimb5J3VAh6E62b30GLG/E+6doS/UwNhSpSmYjaggVfuJvgFDbUxsnD1l36qZny0xMwxikA==} 59 + cpu: [x64] 60 + os: [darwin] 61 + hasBin: true 62 + 63 + '@bytecodealliance/wizer-linux-arm64@10.0.0': 64 + resolution: {integrity: sha512-pGSfFWXzeTqHm6z1PtVaEn+7Fm3QGC8YnHrzBV4sQDVS3N1NwmuHZAc8kslmlFPNdu61ycEvdOsSgCny8JPQvg==} 65 + cpu: [arm64] 66 + os: [linux] 67 + hasBin: true 68 + 69 + '@bytecodealliance/wizer-linux-arm64@7.0.5': 70 + resolution: {integrity: sha512-01qqaiIWrYXPt2bjrfiluSSOmUL/PMjPtJlYa/XqZgK75g3RVn3sRkSflwoCXtXMRbHdb03qNrJ9w81+F17kvA==} 71 + cpu: [arm64] 72 + os: [linux] 73 + hasBin: true 74 + 75 + '@bytecodealliance/wizer-linux-s390x@10.0.0': 76 + resolution: {integrity: sha512-O8vHxRTAdb1lUnVXMIMTcp/9q4pq1D4iIKigJCipg2JN15taV9uFAWh0fO88wylXwuSlO7dOE1AwQl54fMKXQg==} 77 + cpu: [s390x] 78 + os: [linux] 79 + hasBin: true 80 + 81 + '@bytecodealliance/wizer-linux-s390x@7.0.5': 82 + resolution: {integrity: sha512-smGfD4eJou81g6yDlV7MCRoKgKlqd4SQL00pHxQGrNfUPnfYKhZ4z80N9J9T2B++uo2FM14BFilsRrV5UevKlA==} 83 + cpu: [s390x] 84 + os: [linux] 85 + hasBin: true 86 + 87 + '@bytecodealliance/wizer-linux-x64@10.0.0': 88 + resolution: {integrity: sha512-fJtM1sy43FBMnp+xpapFX6U1YdTBKA/1T4CYfG/qeE8jn0SXk2EuiYoY/EnC2uyNy9hjTrvfdYO5n4MXW0EIdQ==} 89 + cpu: [x64] 90 + os: [linux] 91 + hasBin: true 92 + 93 + '@bytecodealliance/wizer-linux-x64@7.0.5': 94 + resolution: {integrity: sha512-lxMb25jLd6n+hhjPhlqRBnBdGRumKkcEavqJ3p4OAtjr6pEPdbSfSVmYDt9LnvtqmqQSnUCtFRRr5J2BmQ3SkQ==} 95 + cpu: [x64] 96 + os: [linux] 97 + hasBin: true 98 + 99 + '@bytecodealliance/wizer-win32-x64@10.0.0': 100 + resolution: {integrity: sha512-55BPLfGT7iT7gH5M69NpTM16QknJZ7OxJ0z73VOEoeGA9CT8QPKMRzFKsPIvLs+W8G28fdudFA94nElrdkp3Kg==} 101 + cpu: [x64] 102 + os: [win32] 103 + hasBin: true 104 + 105 + '@bytecodealliance/wizer-win32-x64@7.0.5': 106 + resolution: {integrity: sha512-eUY9a82HR20qIfyEffWdJZj7k4GH2wGaZpr70dinDy8Q648LeQayL0Z6FW5nApoezjy+CIBj0Mv+rHUASV9Jzw==} 107 + cpu: [x64] 108 + os: [win32] 109 + hasBin: true 110 + 111 + '@bytecodealliance/wizer@10.0.0': 112 + resolution: {integrity: sha512-ziWmovyu1jQl9TsKlfC2bwuUZwxVPFHlX4fOqTzxhgS76jITIo45nzODEwPgU+jjmOr8F3YX2V2wAChC5NKujg==} 113 + engines: {node: '>=16'} 114 + hasBin: true 115 + 116 + '@bytecodealliance/wizer@7.0.5': 117 + resolution: {integrity: sha512-xIbLzKxmUNaPwDWorcGtdxh1mcgDiXI8fe9KiDaSICKfCl9VtUKVyXIc3ix+VpwFczBbdhek+TlMiiCf+9lpOQ==} 118 + engines: {node: '>=16'} 119 + hasBin: true 120 + 121 + '@emnapi/core@1.8.1': 122 + resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} 123 + 124 + '@emnapi/runtime@1.8.1': 125 + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} 126 + 127 + '@emnapi/wasi-threads@1.1.0': 128 + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} 129 + 130 + '@esbuild/aix-ppc64@0.25.12': 131 + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} 132 + engines: {node: '>=18'} 133 + cpu: [ppc64] 134 + os: [aix] 135 + 136 + '@esbuild/android-arm64@0.25.12': 137 + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} 138 + engines: {node: '>=18'} 139 + cpu: [arm64] 140 + os: [android] 141 + 142 + '@esbuild/android-arm@0.25.12': 143 + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} 144 + engines: {node: '>=18'} 145 + cpu: [arm] 146 + os: [android] 147 + 148 + '@esbuild/android-x64@0.25.12': 149 + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} 150 + engines: {node: '>=18'} 151 + cpu: [x64] 152 + os: [android] 153 + 154 + '@esbuild/darwin-arm64@0.25.12': 155 + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} 156 + engines: {node: '>=18'} 157 + cpu: [arm64] 158 + os: [darwin] 159 + 160 + '@esbuild/darwin-x64@0.25.12': 161 + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} 162 + engines: {node: '>=18'} 163 + cpu: [x64] 164 + os: [darwin] 165 + 166 + '@esbuild/freebsd-arm64@0.25.12': 167 + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} 168 + engines: {node: '>=18'} 169 + cpu: [arm64] 170 + os: [freebsd] 171 + 172 + '@esbuild/freebsd-x64@0.25.12': 173 + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} 174 + engines: {node: '>=18'} 175 + cpu: [x64] 176 + os: [freebsd] 177 + 178 + '@esbuild/linux-arm64@0.25.12': 179 + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} 180 + engines: {node: '>=18'} 181 + cpu: [arm64] 182 + os: [linux] 183 + 184 + '@esbuild/linux-arm@0.25.12': 185 + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} 186 + engines: {node: '>=18'} 187 + cpu: [arm] 188 + os: [linux] 189 + 190 + '@esbuild/linux-ia32@0.25.12': 191 + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} 192 + engines: {node: '>=18'} 193 + cpu: [ia32] 194 + os: [linux] 195 + 196 + '@esbuild/linux-loong64@0.25.12': 197 + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} 198 + engines: {node: '>=18'} 199 + cpu: [loong64] 200 + os: [linux] 201 + 202 + '@esbuild/linux-mips64el@0.25.12': 203 + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} 204 + engines: {node: '>=18'} 205 + cpu: [mips64el] 206 + os: [linux] 207 + 208 + '@esbuild/linux-ppc64@0.25.12': 209 + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} 210 + engines: {node: '>=18'} 211 + cpu: [ppc64] 212 + os: [linux] 213 + 214 + '@esbuild/linux-riscv64@0.25.12': 215 + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} 216 + engines: {node: '>=18'} 217 + cpu: [riscv64] 218 + os: [linux] 219 + 220 + '@esbuild/linux-s390x@0.25.12': 221 + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} 222 + engines: {node: '>=18'} 223 + cpu: [s390x] 224 + os: [linux] 225 + 226 + '@esbuild/linux-x64@0.25.12': 227 + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} 228 + engines: {node: '>=18'} 229 + cpu: [x64] 230 + os: [linux] 231 + 232 + '@esbuild/netbsd-arm64@0.25.12': 233 + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} 234 + engines: {node: '>=18'} 235 + cpu: [arm64] 236 + os: [netbsd] 237 + 238 + '@esbuild/netbsd-x64@0.25.12': 239 + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} 240 + engines: {node: '>=18'} 241 + cpu: [x64] 242 + os: [netbsd] 243 + 244 + '@esbuild/openbsd-arm64@0.25.12': 245 + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} 246 + engines: {node: '>=18'} 247 + cpu: [arm64] 248 + os: [openbsd] 249 + 250 + '@esbuild/openbsd-x64@0.25.12': 251 + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} 252 + engines: {node: '>=18'} 253 + cpu: [x64] 254 + os: [openbsd] 255 + 256 + '@esbuild/openharmony-arm64@0.25.12': 257 + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} 258 + engines: {node: '>=18'} 259 + cpu: [arm64] 260 + os: [openharmony] 261 + 262 + '@esbuild/sunos-x64@0.25.12': 263 + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} 264 + engines: {node: '>=18'} 265 + cpu: [x64] 266 + os: [sunos] 267 + 268 + '@esbuild/win32-arm64@0.25.12': 269 + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} 270 + engines: {node: '>=18'} 271 + cpu: [arm64] 272 + os: [win32] 273 + 274 + '@esbuild/win32-ia32@0.25.12': 275 + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} 276 + engines: {node: '>=18'} 277 + cpu: [ia32] 278 + os: [win32] 279 + 280 + '@esbuild/win32-x64@0.25.12': 281 + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} 282 + engines: {node: '>=18'} 283 + cpu: [x64] 284 + os: [win32] 285 + 286 + '@fastly/cli-darwin-arm64@13.3.0': 287 + resolution: {integrity: sha512-Qe5SUmWdXY7uXggpmNhtWmZHEnwzKp1nA6WVAX04biuNoujwCwjoODL0yZYUmUFN7hjWyOwctXUCbdhPXr1BzA==} 288 + cpu: [arm64] 289 + os: [darwin] 290 + hasBin: true 291 + 292 + '@fastly/cli-darwin-x64@13.3.0': 293 + resolution: {integrity: sha512-ADRc90fVC00gGuIihQFrronVOuiFadN0aKyn9JKu8IxPM/HmbQg2RqjWJ9lPKSwWm0dw4Zb9Xl/Tfr+VYFzOXg==} 294 + cpu: [x64] 295 + os: [darwin] 296 + hasBin: true 297 + 298 + '@fastly/cli-linux-arm64@13.3.0': 299 + resolution: {integrity: sha512-hnTIsoj23r+eVOZK3eUqAcSwJY0ZJjQCMP5uHITJJFZ1AKTJun78h1AcOE7Q1qaFM1L25aNTvWfDBZqXVb5G8w==} 300 + cpu: [arm64] 301 + os: [linux] 302 + hasBin: true 303 + 304 + '@fastly/cli-linux-x32@13.3.0': 305 + resolution: {integrity: sha512-vqhP9jpRsUCKNwK2Yvm7V1yY+iQ6ic99BNDbPObPEHg5x+ANrZsGxb91tZOD0iZB/C38Z1R9GoLusjw4TfE3/w==} 306 + cpu: [x32] 307 + os: [linux] 308 + hasBin: true 309 + 310 + '@fastly/cli-linux-x64@13.3.0': 311 + resolution: {integrity: sha512-0idqeCYsIyvf41+PjsOZAW6U+RzntPMK5TtOqiAFugLof5t6HjXDhZuti6zZFKOozcD6U5/bQT6LrhRoTc7sog==} 312 + cpu: [x64] 313 + os: [linux] 314 + hasBin: true 315 + 316 + '@fastly/cli-win32-arm64@13.3.0': 317 + resolution: {integrity: sha512-5EJfquTxPiYQYGX863I15u1iDsOZnKPr5WIcJL7IjiMhNVPu1i0daaz75FXD7JaRPk6s/BwgvRdhWeeKLWcITw==} 318 + cpu: [arm64] 319 + os: [win32] 320 + hasBin: true 321 + 322 + '@fastly/cli-win32-x32@13.3.0': 323 + resolution: {integrity: sha512-udQmXpi0rrBz4K8G7iUI2oDb+23WXxr0EFPxGmDS2i3MXBw2wh87BpJRkXHX/MFJtf9gcCD5GIqZCddKfk/UVg==} 324 + cpu: [x32] 325 + os: [win32] 326 + hasBin: true 327 + 328 + '@fastly/cli-win32-x64@13.3.0': 329 + resolution: {integrity: sha512-QXaR2z6XGXJfV1Gxig+YoTIOSsOByTcA+IgHoVIDq30vA2FnmxY6YKS/tI0CrYJv2aMX/cGzAgtawvU5U/cnGg==} 330 + cpu: [x64] 331 + os: [win32] 332 + hasBin: true 333 + 334 + '@fastly/cli@13.3.0': 335 + resolution: {integrity: sha512-Y/RahOhqOzBs4cD7E0sGkeQrIwYSdAtoBS9u7lnOqzMKA30lIEkB22ex+bjrEK+EyPrtY2kSDcDIZVHDlMn4Bg==} 336 + engines: {node: '>=16'} 337 + hasBin: true 338 + 339 + '@fastly/js-compute@3.39.4': 340 + resolution: {integrity: sha512-Rh66n9hRaB3t5yCZnGMnt7lW8WDow43A65oRgBWVdkfC1YErcmOYBLD+wK/LIgeocTlgvMW/yHfP1XQjVDUzQA==} 341 + hasBin: true 342 + peerDependencies: 343 + typescript: ^5.9.0 344 + peerDependenciesMeta: 345 + typescript: 346 + optional: true 347 + 348 + '@jridgewell/gen-mapping@0.3.13': 349 + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 350 + 351 + '@jridgewell/remapping@2.3.5': 352 + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} 353 + 354 + '@jridgewell/resolve-uri@3.1.2': 355 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 356 + engines: {node: '>=6.0.0'} 357 + 358 + '@jridgewell/source-map@0.3.11': 359 + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} 360 + 361 + '@jridgewell/sourcemap-codec@1.5.5': 362 + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 363 + 364 + '@jridgewell/trace-mapping@0.3.31': 365 + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 366 + 367 + '@napi-rs/lzma-android-arm-eabi@1.4.5': 368 + resolution: {integrity: sha512-Up4gpyw2SacmyKWWEib06GhiDdF+H+CCU0LAV8pnM4aJIDqKKd5LHSlBht83Jut6frkB0vwEPmAkv4NjQ5u//Q==} 369 + engines: {node: '>= 10'} 370 + cpu: [arm] 371 + os: [android] 372 + 373 + '@napi-rs/lzma-android-arm64@1.4.5': 374 + resolution: {integrity: sha512-uwa8sLlWEzkAM0MWyoZJg0JTD3BkPknvejAFG2acUA1raXM8jLrqujWCdOStisXhqQjZ2nDMp3FV6cs//zjfuQ==} 375 + engines: {node: '>= 10'} 376 + cpu: [arm64] 377 + os: [android] 378 + 379 + '@napi-rs/lzma-darwin-arm64@1.4.5': 380 + resolution: {integrity: sha512-0Y0TQLQ2xAjVabrMDem1NhIssOZzF/y/dqetc6OT8mD3xMTDtF8u5BqZoX3MyPc9FzpsZw4ksol+w7DsxHrpMA==} 381 + engines: {node: '>= 10'} 382 + cpu: [arm64] 383 + os: [darwin] 384 + 385 + '@napi-rs/lzma-darwin-x64@1.4.5': 386 + resolution: {integrity: sha512-vR2IUyJY3En+V1wJkwmbGWcYiT8pHloTAWdW4pG24+51GIq+intst6Uf6D/r46citObGZrlX0QvMarOkQeHWpw==} 387 + engines: {node: '>= 10'} 388 + cpu: [x64] 389 + os: [darwin] 390 + 391 + '@napi-rs/lzma-freebsd-x64@1.4.5': 392 + resolution: {integrity: sha512-XpnYQC5SVovO35tF0xGkbHYjsS6kqyNCjuaLQ2dbEblFRr5cAZVvsJ/9h7zj/5FluJPJRDojVNxGyRhTp4z2lw==} 393 + engines: {node: '>= 10'} 394 + cpu: [x64] 395 + os: [freebsd] 396 + 397 + '@napi-rs/lzma-linux-arm-gnueabihf@1.4.5': 398 + resolution: {integrity: sha512-ic1ZZMoRfRMwtSwxkyw4zIlbDZGC6davC9r+2oX6x9QiF247BRqqT94qGeL5ZP4Vtz0Hyy7TEViWhx5j6Bpzvw==} 399 + engines: {node: '>= 10'} 400 + cpu: [arm] 401 + os: [linux] 402 + 403 + '@napi-rs/lzma-linux-arm64-gnu@1.4.5': 404 + resolution: {integrity: sha512-asEp7FPd7C1Yi6DQb45a3KPHKOFBSfGuJWXcAd4/bL2Fjetb2n/KK2z14yfW8YC/Fv6x3rBM0VAZKmJuz4tysg==} 405 + engines: {node: '>= 10'} 406 + cpu: [arm64] 407 + os: [linux] 408 + libc: [glibc] 409 + 410 + '@napi-rs/lzma-linux-arm64-musl@1.4.5': 411 + resolution: {integrity: sha512-yWjcPDgJ2nIL3KNvi4536dlT/CcCWO0DUyEOlBs/SacG7BeD6IjGh6yYzd3/X1Y3JItCbZoDoLUH8iB1lTXo3w==} 412 + engines: {node: '>= 10'} 413 + cpu: [arm64] 414 + os: [linux] 415 + libc: [musl] 416 + 417 + '@napi-rs/lzma-linux-ppc64-gnu@1.4.5': 418 + resolution: {integrity: sha512-0XRhKuIU/9ZjT4WDIG/qnX7Xz7mSQHYZo9Gb3MP2gcvBgr6BA4zywQ9k3gmQaPn9ECE+CZg2V7DV7kT+x2pUMQ==} 419 + engines: {node: '>= 10'} 420 + cpu: [ppc64] 421 + os: [linux] 422 + libc: [glibc] 423 + 424 + '@napi-rs/lzma-linux-riscv64-gnu@1.4.5': 425 + resolution: {integrity: sha512-QrqDIPEUUB23GCpyQj/QFyMlr8SGxxyExeZz9OWFnHfb70kXdTLWrHS/hEI1Ru+lSbQ/6xRqeoGyQ4Aqdg+/RA==} 426 + engines: {node: '>= 10'} 427 + cpu: [riscv64] 428 + os: [linux] 429 + libc: [glibc] 430 + 431 + '@napi-rs/lzma-linux-s390x-gnu@1.4.5': 432 + resolution: {integrity: sha512-k8RVM5aMhW86E9H0QXdquwojew4H3SwPxbRVbl49/COJQWCUjGi79X6mYruMnMPEznZinUiT1jgKbFo2A00NdA==} 433 + engines: {node: '>= 10'} 434 + cpu: [s390x] 435 + os: [linux] 436 + libc: [glibc] 437 + 438 + '@napi-rs/lzma-linux-x64-gnu@1.4.5': 439 + resolution: {integrity: sha512-6rMtBgnIq2Wcl1rQdZsnM+rtCcVCbws1nF8S2NzaUsVaZv8bjrPiAa0lwg4Eqnn1d9lgwqT+cZgm5m+//K08Kw==} 440 + engines: {node: '>= 10'} 441 + cpu: [x64] 442 + os: [linux] 443 + libc: [glibc] 444 + 445 + '@napi-rs/lzma-linux-x64-musl@1.4.5': 446 + resolution: {integrity: sha512-eiadGBKi7Vd0bCArBUOO/qqRYPHt/VQVvGyYvDFt6C2ZSIjlD+HuOl+2oS1sjf4CFjK4eDIog6EdXnL0NE6iyQ==} 447 + engines: {node: '>= 10'} 448 + cpu: [x64] 449 + os: [linux] 450 + libc: [musl] 451 + 452 + '@napi-rs/lzma-wasm32-wasi@1.4.5': 453 + resolution: {integrity: sha512-+VyHHlr68dvey6fXc2hehw9gHVFIW3TtGF1XkcbAu65qVXsA9D/T+uuoRVqhE+JCyFHFrO0ixRbZDRK1XJt1sA==} 454 + engines: {node: '>=14.0.0'} 455 + cpu: [wasm32] 456 + 457 + '@napi-rs/lzma-win32-arm64-msvc@1.4.5': 458 + resolution: {integrity: sha512-eewnqvIyyhHi3KaZtBOJXohLvwwN27gfS2G/YDWdfHlbz1jrmfeHAmzMsP5qv8vGB+T80TMHNkro4kYjeh6Deg==} 459 + engines: {node: '>= 10'} 460 + cpu: [arm64] 461 + os: [win32] 462 + 463 + '@napi-rs/lzma-win32-ia32-msvc@1.4.5': 464 + resolution: {integrity: sha512-OeacFVRCJOKNU/a0ephUfYZ2Yt+NvaHze/4TgOwJ0J0P4P7X1mHzN+ig9Iyd74aQDXYqc7kaCXA2dpAOcH87Cg==} 465 + engines: {node: '>= 10'} 466 + cpu: [ia32] 467 + os: [win32] 468 + 469 + '@napi-rs/lzma-win32-x64-msvc@1.4.5': 470 + resolution: {integrity: sha512-T4I1SamdSmtyZgDXGAGP+y5LEK5vxHUFwe8mz6D4R7Sa5/WCxTcCIgPJ9BD7RkpO17lzhlaM2vmVvMy96Lvk9Q==} 471 + engines: {node: '>= 10'} 472 + cpu: [x64] 473 + os: [win32] 474 + 475 + '@napi-rs/lzma@1.4.5': 476 + resolution: {integrity: sha512-zS5LuN1OBPAyZpda2ZZgYOEDC+xecUdAGnrvbYzjnLXkrq/OBC3B9qcRvlxbDR3k5H/gVfvef1/jyUqPknqjbg==} 477 + engines: {node: '>= 10'} 478 + 479 + '@napi-rs/wasm-runtime@0.2.12': 480 + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} 481 + 482 + '@napi-rs/wasm-runtime@1.1.1': 483 + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} 484 + 485 + '@oxc-parser/binding-android-arm64@0.76.0': 486 + resolution: {integrity: sha512-1XJW/16CDmF5bHE7LAyPPmEEVnxSadDgdJz+xiLqBrmC4lfAeuAfRw3HlOygcPGr+AJsbD4Z5sFJMkwjbSZlQg==} 487 + engines: {node: '>=20.0.0'} 488 + cpu: [arm64] 489 + os: [android] 490 + 491 + '@oxc-parser/binding-darwin-arm64@0.76.0': 492 + resolution: {integrity: sha512-yoQwSom8xsB+JdGsPUU0xxmxLKiF2kdlrK7I56WtGKZilixuBf/TmOwNYJYLRWkBoW5l2/pDZOhBm2luwmLiLw==} 493 + engines: {node: '>=20.0.0'} 494 + cpu: [arm64] 495 + os: [darwin] 496 + 497 + '@oxc-parser/binding-darwin-x64@0.76.0': 498 + resolution: {integrity: sha512-uRIopPLvr3pf2Xj7f5LKyCuqzIU6zOS+zEIR8UDYhcgJyZHnvBkfrYnfcztyIcrGdQehrFUi3uplmI09E7RdiQ==} 499 + engines: {node: '>=20.0.0'} 500 + cpu: [x64] 501 + os: [darwin] 502 + 503 + '@oxc-parser/binding-freebsd-x64@0.76.0': 504 + resolution: {integrity: sha512-a0EOFvnOd2FqmDSvH6uWLROSlU6KV/JDKbsYDA/zRLyKcG6HCsmFnPsp8iV7/xr9WMbNgyJi6R5IMpePQlUq7Q==} 505 + engines: {node: '>=20.0.0'} 506 + cpu: [x64] 507 + os: [freebsd] 508 + 509 + '@oxc-parser/binding-linux-arm-gnueabihf@0.76.0': 510 + resolution: {integrity: sha512-ikRYDHL3fOdZwfJKmcdqjlLgkeNZ3Ez0qM8wAev5zlHZ+lY/Ig7qG5SCqPlvuTu+nNQ6zrFFaKvvt69EBKXU/g==} 511 + engines: {node: '>=20.0.0'} 512 + cpu: [arm] 513 + os: [linux] 514 + 515 + '@oxc-parser/binding-linux-arm-musleabihf@0.76.0': 516 + resolution: {integrity: sha512-dtRv5J5MRCLR7x39K8ufIIW4svIc7gYFUaI0YFXmmeOBhK/K2t/CkguPnDroKtsmXIPHDRtmJ1JJYzNcgJl6Wg==} 517 + engines: {node: '>=20.0.0'} 518 + cpu: [arm] 519 + os: [linux] 520 + 521 + '@oxc-parser/binding-linux-arm64-gnu@0.76.0': 522 + resolution: {integrity: sha512-IE4iiiggFH2snagQxHrY5bv6dDpRMMat+vdlMN/ibonA65eOmRLp8VLTXnDiNrcla/itJ1L9qGABHNKU+SnE8g==} 523 + engines: {node: '>=20.0.0'} 524 + cpu: [arm64] 525 + os: [linux] 526 + libc: [glibc] 527 + 528 + '@oxc-parser/binding-linux-arm64-musl@0.76.0': 529 + resolution: {integrity: sha512-wi9zQPMDHrBuRuT7Iurfidc9qlZh7cKa5vfYzOWNBCaqJdgxmNOFzvYen02wVUxSWGKhpiPHxrPX0jdRyJ8Npg==} 530 + engines: {node: '>=20.0.0'} 531 + cpu: [arm64] 532 + os: [linux] 533 + libc: [musl] 534 + 535 + '@oxc-parser/binding-linux-riscv64-gnu@0.76.0': 536 + resolution: {integrity: sha512-0tqqu1pqPee2lLGY8vtYlX1L415fFn89e0a3yp4q5N9f03j1rRs0R31qesTm3bt/UK8HYjECZ+56FCVPs2MEMQ==} 537 + engines: {node: '>=20.0.0'} 538 + cpu: [riscv64] 539 + os: [linux] 540 + libc: [glibc] 541 + 542 + '@oxc-parser/binding-linux-s390x-gnu@0.76.0': 543 + resolution: {integrity: sha512-y36Hh1a5TA+oIGtlc8lT7N9vdHXBlhBetQJW0p457KbiVQ7jF7AZkaPWhESkjHWAsTVKD2OjCa9ZqfaqhSI0FQ==} 544 + engines: {node: '>=20.0.0'} 545 + cpu: [s390x] 546 + os: [linux] 547 + libc: [glibc] 548 + 549 + '@oxc-parser/binding-linux-x64-gnu@0.76.0': 550 + resolution: {integrity: sha512-7/acaG9htovp3gp/J0kHgbItQTuHctl+rbqPPqZ9DRBYTz8iV8kv3QN8t8Or8i/hOmOjfZp9McDoSU1duoR4/A==} 551 + engines: {node: '>=20.0.0'} 552 + cpu: [x64] 553 + os: [linux] 554 + libc: [glibc] 555 + 556 + '@oxc-parser/binding-linux-x64-musl@0.76.0': 557 + resolution: {integrity: sha512-AxFt0reY6Q2rfudABmMTFGR8tFFr58NlH2rRBQgcj+F+iEwgJ+jMwAPhXd2y1I2zaI8GspuahedUYQinqxWqjA==} 558 + engines: {node: '>=20.0.0'} 559 + cpu: [x64] 560 + os: [linux] 561 + libc: [musl] 562 + 563 + '@oxc-parser/binding-wasm32-wasi@0.76.0': 564 + resolution: {integrity: sha512-wHdkHdhf6AWBoO8vs5cpoR6zEFY1rB+fXWtq6j/xb9j/lu1evlujRVMkh8IM/M/pOUIrNkna3nzST/mRImiveQ==} 565 + engines: {node: '>=14.0.0'} 566 + cpu: [wasm32] 567 + 568 + '@oxc-parser/binding-win32-arm64-msvc@0.76.0': 569 + resolution: {integrity: sha512-G7ZlEWcb2hNwCK3qalzqJoyB6HaTigQ/GEa7CU8sAJ/WwMdG/NnPqiC9IqpEAEy1ARSo4XMALfKbKNuqbSs5mg==} 570 + engines: {node: '>=20.0.0'} 571 + cpu: [arm64] 572 + os: [win32] 573 + 574 + '@oxc-parser/binding-win32-x64-msvc@0.76.0': 575 + resolution: {integrity: sha512-0jLzzmnu8/mqNhKBnNS2lFUbPEzRdj5ReiZwHGHpjma0+ullmmwP2AqSEqx3ssHDK9CpcEMdKOK2LsbCfhHKIA==} 576 + engines: {node: '>=20.0.0'} 577 + cpu: [x64] 578 + os: [win32] 579 + 580 + '@oxc-project/types@0.76.0': 581 + resolution: {integrity: sha512-CH3THIrSViKal8yV/Wh3FK0pFhp40nzW1MUDCik9fNuid2D/7JJXKJnfFOAvMxInGXDlvmgT6ACAzrl47TqzkQ==} 582 + 583 + '@tybys/wasm-util@0.10.1': 584 + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} 585 + 586 + acorn-walk@8.3.4: 587 + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} 588 + engines: {node: '>=0.4.0'} 589 + 590 + acorn@8.15.0: 591 + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 592 + engines: {node: '>=0.4.0'} 593 + hasBin: true 594 + 595 + ansi-regex@6.2.2: 596 + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} 597 + engines: {node: '>=12'} 598 + 599 + available-typed-arrays@1.0.7: 600 + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 601 + engines: {node: '>= 0.4'} 602 + 603 + base64-js@1.5.1: 604 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 605 + 606 + binaryen@123.0.0: 607 + resolution: {integrity: sha512-/hls/a309aZCc0itqP6uhoR+5DsKSlJVfB8Opd2BY9Ndghs84IScTunlyidyF4r2Xe3lQttnfBNIDjaNpj6mTw==} 608 + hasBin: true 609 + 610 + bl@1.2.3: 611 + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} 612 + 613 + buffer-alloc-unsafe@1.1.0: 614 + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} 615 + 616 + buffer-alloc@1.2.0: 617 + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} 618 + 619 + buffer-crc32@0.2.13: 620 + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 621 + 622 + buffer-fill@1.0.0: 623 + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} 624 + 625 + buffer-from@1.1.2: 626 + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 627 + 628 + buffer@5.7.1: 629 + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 630 + 631 + call-bind-apply-helpers@1.0.2: 632 + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 633 + engines: {node: '>= 0.4'} 634 + 635 + call-bind@1.0.8: 636 + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 637 + engines: {node: '>= 0.4'} 638 + 639 + call-bound@1.0.4: 640 + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 641 + engines: {node: '>= 0.4'} 642 + 643 + chalk@5.6.2: 644 + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} 645 + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 646 + 647 + cli-cursor@5.0.0: 648 + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} 649 + engines: {node: '>=18'} 650 + 651 + cli-spinners@2.9.2: 652 + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 653 + engines: {node: '>=6'} 654 + 655 + commander@14.0.3: 656 + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} 657 + engines: {node: '>=20'} 658 + 659 + commander@2.20.3: 660 + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 661 + 662 + core-util-is@1.0.3: 663 + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 664 + 665 + decompress-tar@4.1.1: 666 + resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} 667 + engines: {node: '>=4'} 668 + 669 + decompress-tarbz2@4.1.1: 670 + resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} 671 + engines: {node: '>=4'} 672 + 673 + decompress-targz@4.1.1: 674 + resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} 675 + engines: {node: '>=4'} 676 + 677 + decompress-unzip@4.0.1: 678 + resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} 679 + engines: {node: '>=4'} 680 + 681 + decompress@4.2.1: 682 + resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} 683 + engines: {node: '>=4'} 684 + 685 + define-data-property@1.1.4: 686 + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 687 + engines: {node: '>= 0.4'} 688 + 689 + dunder-proto@1.0.1: 690 + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 691 + engines: {node: '>= 0.4'} 692 + 693 + emoji-regex@10.6.0: 694 + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} 695 + 696 + end-of-stream@1.4.5: 697 + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} 698 + 699 + es-define-property@1.0.1: 700 + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 701 + engines: {node: '>= 0.4'} 702 + 703 + es-errors@1.3.0: 704 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 705 + engines: {node: '>= 0.4'} 706 + 707 + es-module-lexer@1.7.0: 708 + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 709 + 710 + es-object-atoms@1.1.1: 711 + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 712 + engines: {node: '>= 0.4'} 713 + 714 + esbuild@0.25.12: 715 + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} 716 + engines: {node: '>=18'} 717 + hasBin: true 718 + 719 + fd-slicer@1.1.0: 720 + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 721 + 722 + file-type@3.9.0: 723 + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} 724 + engines: {node: '>=0.10.0'} 725 + 726 + file-type@5.2.0: 727 + resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} 728 + engines: {node: '>=4'} 729 + 730 + file-type@6.2.0: 731 + resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} 732 + engines: {node: '>=4'} 733 + 734 + for-each@0.3.5: 735 + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 736 + engines: {node: '>= 0.4'} 737 + 738 + fs-constants@1.0.0: 739 + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 740 + 741 + function-bind@1.1.2: 742 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 743 + 744 + get-east-asian-width@1.4.0: 745 + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} 746 + engines: {node: '>=18'} 747 + 748 + get-intrinsic@1.3.0: 749 + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 750 + engines: {node: '>= 0.4'} 751 + 752 + get-proto@1.0.1: 753 + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 754 + engines: {node: '>= 0.4'} 755 + 756 + get-stream@2.3.1: 757 + resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} 758 + engines: {node: '>=0.10.0'} 759 + 760 + gopd@1.2.0: 761 + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 762 + engines: {node: '>= 0.4'} 763 + 764 + graceful-fs@4.2.11: 765 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 766 + 767 + has-property-descriptors@1.0.2: 768 + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 769 + 770 + has-symbols@1.1.0: 771 + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 772 + engines: {node: '>= 0.4'} 773 + 774 + has-tostringtag@1.0.2: 775 + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 776 + engines: {node: '>= 0.4'} 777 + 778 + hasown@2.0.2: 779 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 780 + engines: {node: '>= 0.4'} 781 + 782 + ieee754@1.2.1: 783 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 784 + 785 + inherits@2.0.4: 786 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 787 + 788 + is-callable@1.2.7: 789 + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 790 + engines: {node: '>= 0.4'} 791 + 792 + is-interactive@2.0.0: 793 + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 794 + engines: {node: '>=12'} 795 + 796 + is-natural-number@4.0.1: 797 + resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} 798 + 799 + is-stream@1.1.0: 800 + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} 801 + engines: {node: '>=0.10.0'} 802 + 803 + is-typed-array@1.1.15: 804 + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 805 + engines: {node: '>= 0.4'} 806 + 807 + is-unicode-supported@1.3.0: 808 + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 809 + engines: {node: '>=12'} 810 + 811 + is-unicode-supported@2.1.0: 812 + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 813 + engines: {node: '>=18'} 814 + 815 + isarray@1.0.0: 816 + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 817 + 818 + isarray@2.0.5: 819 + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 820 + 821 + jsesc@3.1.0: 822 + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 823 + engines: {node: '>=6'} 824 + hasBin: true 825 + 826 + log-symbols@6.0.0: 827 + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} 828 + engines: {node: '>=18'} 829 + 830 + magic-string@0.30.21: 831 + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} 832 + 833 + make-dir@1.3.0: 834 + resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} 835 + engines: {node: '>=4'} 836 + 837 + math-intrinsics@1.1.0: 838 + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 839 + engines: {node: '>= 0.4'} 840 + 841 + mimic-function@5.0.1: 842 + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} 843 + engines: {node: '>=18'} 844 + 845 + mkdirp@3.0.1: 846 + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} 847 + engines: {node: '>=10'} 848 + hasBin: true 849 + 850 + object-assign@4.1.1: 851 + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 852 + engines: {node: '>=0.10.0'} 853 + 854 + once@1.4.0: 855 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 856 + 857 + onetime@7.0.0: 858 + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} 859 + engines: {node: '>=18'} 860 + 861 + ora@8.2.0: 862 + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} 863 + engines: {node: '>=18'} 864 + 865 + oxc-parser@0.76.0: 866 + resolution: {integrity: sha512-l98B2e9evuhES7zN99rb1QGhbzx25829TJFaKi2j0ib3/K/G5z1FdGYz6HZkrU3U8jdH7v2FC8mX1j2l9JrOUg==} 867 + engines: {node: '>=20.0.0'} 868 + 869 + pend@1.2.0: 870 + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 871 + 872 + picomatch@4.0.3: 873 + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 874 + engines: {node: '>=12'} 875 + 876 + pify@2.3.0: 877 + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 878 + engines: {node: '>=0.10.0'} 879 + 880 + pify@3.0.0: 881 + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 882 + engines: {node: '>=4'} 883 + 884 + pinkie-promise@2.0.1: 885 + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} 886 + engines: {node: '>=0.10.0'} 887 + 888 + pinkie@2.0.4: 889 + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} 890 + engines: {node: '>=0.10.0'} 891 + 892 + possible-typed-array-names@1.1.0: 893 + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 894 + engines: {node: '>= 0.4'} 895 + 896 + process-nextick-args@2.0.1: 897 + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 898 + 899 + readable-stream@2.3.8: 900 + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 901 + 902 + regenerate-unicode-properties@10.2.2: 903 + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} 904 + engines: {node: '>=4'} 905 + 906 + regenerate@1.4.2: 907 + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} 908 + 909 + regexpu-core@6.4.0: 910 + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} 911 + engines: {node: '>=4'} 912 + 913 + regjsgen@0.8.0: 914 + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} 915 + 916 + regjsparser@0.13.0: 917 + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} 918 + hasBin: true 919 + 920 + restore-cursor@5.1.0: 921 + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 922 + engines: {node: '>=18'} 923 + 924 + safe-buffer@5.1.2: 925 + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 926 + 927 + safe-buffer@5.2.1: 928 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 929 + 930 + seek-bzip@1.0.6: 931 + resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} 932 + hasBin: true 933 + 934 + set-function-length@1.2.2: 935 + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 936 + engines: {node: '>= 0.4'} 937 + 938 + signal-exit@4.1.0: 939 + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 940 + engines: {node: '>=14'} 941 + 942 + source-map-support@0.5.21: 943 + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 944 + 945 + source-map@0.6.1: 946 + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 947 + engines: {node: '>=0.10.0'} 948 + 949 + stdin-discarder@0.2.2: 950 + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} 951 + engines: {node: '>=18'} 952 + 953 + string-width@7.2.0: 954 + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 955 + engines: {node: '>=18'} 956 + 957 + string_decoder@1.1.1: 958 + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 959 + 960 + strip-ansi@7.1.2: 961 + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} 962 + engines: {node: '>=12'} 963 + 964 + strip-dirs@2.1.0: 965 + resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} 966 + 967 + tar-stream@1.6.2: 968 + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} 969 + engines: {node: '>= 0.8.0'} 970 + 971 + terser@5.46.0: 972 + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} 973 + engines: {node: '>=10'} 974 + hasBin: true 975 + 976 + through@2.3.8: 977 + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 978 + 979 + to-buffer@1.2.2: 980 + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} 981 + engines: {node: '>= 0.4'} 982 + 983 + tslib@2.8.1: 984 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 985 + 986 + typed-array-buffer@1.0.3: 987 + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 988 + engines: {node: '>= 0.4'} 989 + 990 + typescript@5.9.3: 991 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 992 + engines: {node: '>=14.17'} 993 + hasBin: true 994 + 995 + unbzip2-stream@1.4.3: 996 + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} 997 + 998 + unicode-canonical-property-names-ecmascript@2.0.1: 999 + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} 1000 + engines: {node: '>=4'} 1001 + 1002 + unicode-match-property-ecmascript@2.0.0: 1003 + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} 1004 + engines: {node: '>=4'} 1005 + 1006 + unicode-match-property-value-ecmascript@2.2.1: 1007 + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} 1008 + engines: {node: '>=4'} 1009 + 1010 + unicode-property-aliases-ecmascript@2.2.0: 1011 + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} 1012 + engines: {node: '>=4'} 1013 + 1014 + util-deprecate@1.0.2: 1015 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1016 + 1017 + which-typed-array@1.1.20: 1018 + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} 1019 + engines: {node: '>= 0.4'} 1020 + 1021 + wrappy@1.0.2: 1022 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1023 + 1024 + xtend@4.0.2: 1025 + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 1026 + engines: {node: '>=0.4'} 1027 + 1028 + yauzl@2.10.0: 1029 + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 1030 + 1031 + snapshots: 1032 + 1033 + '@bytecodealliance/componentize-js@0.19.3': 1034 + dependencies: 1035 + '@bytecodealliance/jco': 1.17.0 1036 + '@bytecodealliance/wizer': 10.0.0 1037 + es-module-lexer: 1.7.0 1038 + oxc-parser: 0.76.0 1039 + 1040 + '@bytecodealliance/jco@1.17.0': 1041 + dependencies: 1042 + '@bytecodealliance/componentize-js': 0.19.3 1043 + '@bytecodealliance/preview2-shim': 0.17.8 1044 + binaryen: 123.0.0 1045 + commander: 14.0.3 1046 + mkdirp: 3.0.1 1047 + ora: 8.2.0 1048 + terser: 5.46.0 1049 + 1050 + '@bytecodealliance/preview2-shim@0.17.8': {} 1051 + 1052 + '@bytecodealliance/weval@0.3.4': 1053 + dependencies: 1054 + '@napi-rs/lzma': 1.4.5 1055 + decompress: 4.2.1 1056 + decompress-tar: 4.1.1 1057 + decompress-unzip: 4.0.1 1058 + 1059 + '@bytecodealliance/wizer-darwin-arm64@10.0.0': 1060 + optional: true 1061 + 1062 + '@bytecodealliance/wizer-darwin-arm64@7.0.5': 1063 + optional: true 1064 + 1065 + '@bytecodealliance/wizer-darwin-x64@10.0.0': 1066 + optional: true 1067 + 1068 + '@bytecodealliance/wizer-darwin-x64@7.0.5': 1069 + optional: true 1070 + 1071 + '@bytecodealliance/wizer-linux-arm64@10.0.0': 1072 + optional: true 1073 + 1074 + '@bytecodealliance/wizer-linux-arm64@7.0.5': 1075 + optional: true 1076 + 1077 + '@bytecodealliance/wizer-linux-s390x@10.0.0': 1078 + optional: true 1079 + 1080 + '@bytecodealliance/wizer-linux-s390x@7.0.5': 1081 + optional: true 1082 + 1083 + '@bytecodealliance/wizer-linux-x64@10.0.0': 1084 + optional: true 1085 + 1086 + '@bytecodealliance/wizer-linux-x64@7.0.5': 1087 + optional: true 1088 + 1089 + '@bytecodealliance/wizer-win32-x64@10.0.0': 1090 + optional: true 1091 + 1092 + '@bytecodealliance/wizer-win32-x64@7.0.5': 1093 + optional: true 1094 + 1095 + '@bytecodealliance/wizer@10.0.0': 1096 + optionalDependencies: 1097 + '@bytecodealliance/wizer-darwin-arm64': 10.0.0 1098 + '@bytecodealliance/wizer-darwin-x64': 10.0.0 1099 + '@bytecodealliance/wizer-linux-arm64': 10.0.0 1100 + '@bytecodealliance/wizer-linux-s390x': 10.0.0 1101 + '@bytecodealliance/wizer-linux-x64': 10.0.0 1102 + '@bytecodealliance/wizer-win32-x64': 10.0.0 1103 + 1104 + '@bytecodealliance/wizer@7.0.5': 1105 + optionalDependencies: 1106 + '@bytecodealliance/wizer-darwin-arm64': 7.0.5 1107 + '@bytecodealliance/wizer-darwin-x64': 7.0.5 1108 + '@bytecodealliance/wizer-linux-arm64': 7.0.5 1109 + '@bytecodealliance/wizer-linux-s390x': 7.0.5 1110 + '@bytecodealliance/wizer-linux-x64': 7.0.5 1111 + '@bytecodealliance/wizer-win32-x64': 7.0.5 1112 + 1113 + '@emnapi/core@1.8.1': 1114 + dependencies: 1115 + '@emnapi/wasi-threads': 1.1.0 1116 + tslib: 2.8.1 1117 + optional: true 1118 + 1119 + '@emnapi/runtime@1.8.1': 1120 + dependencies: 1121 + tslib: 2.8.1 1122 + optional: true 1123 + 1124 + '@emnapi/wasi-threads@1.1.0': 1125 + dependencies: 1126 + tslib: 2.8.1 1127 + optional: true 1128 + 1129 + '@esbuild/aix-ppc64@0.25.12': 1130 + optional: true 1131 + 1132 + '@esbuild/android-arm64@0.25.12': 1133 + optional: true 1134 + 1135 + '@esbuild/android-arm@0.25.12': 1136 + optional: true 1137 + 1138 + '@esbuild/android-x64@0.25.12': 1139 + optional: true 1140 + 1141 + '@esbuild/darwin-arm64@0.25.12': 1142 + optional: true 1143 + 1144 + '@esbuild/darwin-x64@0.25.12': 1145 + optional: true 1146 + 1147 + '@esbuild/freebsd-arm64@0.25.12': 1148 + optional: true 1149 + 1150 + '@esbuild/freebsd-x64@0.25.12': 1151 + optional: true 1152 + 1153 + '@esbuild/linux-arm64@0.25.12': 1154 + optional: true 1155 + 1156 + '@esbuild/linux-arm@0.25.12': 1157 + optional: true 1158 + 1159 + '@esbuild/linux-ia32@0.25.12': 1160 + optional: true 1161 + 1162 + '@esbuild/linux-loong64@0.25.12': 1163 + optional: true 1164 + 1165 + '@esbuild/linux-mips64el@0.25.12': 1166 + optional: true 1167 + 1168 + '@esbuild/linux-ppc64@0.25.12': 1169 + optional: true 1170 + 1171 + '@esbuild/linux-riscv64@0.25.12': 1172 + optional: true 1173 + 1174 + '@esbuild/linux-s390x@0.25.12': 1175 + optional: true 1176 + 1177 + '@esbuild/linux-x64@0.25.12': 1178 + optional: true 1179 + 1180 + '@esbuild/netbsd-arm64@0.25.12': 1181 + optional: true 1182 + 1183 + '@esbuild/netbsd-x64@0.25.12': 1184 + optional: true 1185 + 1186 + '@esbuild/openbsd-arm64@0.25.12': 1187 + optional: true 1188 + 1189 + '@esbuild/openbsd-x64@0.25.12': 1190 + optional: true 1191 + 1192 + '@esbuild/openharmony-arm64@0.25.12': 1193 + optional: true 1194 + 1195 + '@esbuild/sunos-x64@0.25.12': 1196 + optional: true 1197 + 1198 + '@esbuild/win32-arm64@0.25.12': 1199 + optional: true 1200 + 1201 + '@esbuild/win32-ia32@0.25.12': 1202 + optional: true 1203 + 1204 + '@esbuild/win32-x64@0.25.12': 1205 + optional: true 1206 + 1207 + '@fastly/cli-darwin-arm64@13.3.0': 1208 + optional: true 1209 + 1210 + '@fastly/cli-darwin-x64@13.3.0': 1211 + optional: true 1212 + 1213 + '@fastly/cli-linux-arm64@13.3.0': 1214 + optional: true 1215 + 1216 + '@fastly/cli-linux-x32@13.3.0': 1217 + optional: true 1218 + 1219 + '@fastly/cli-linux-x64@13.3.0': 1220 + optional: true 1221 + 1222 + '@fastly/cli-win32-arm64@13.3.0': 1223 + optional: true 1224 + 1225 + '@fastly/cli-win32-x32@13.3.0': 1226 + optional: true 1227 + 1228 + '@fastly/cli-win32-x64@13.3.0': 1229 + optional: true 1230 + 1231 + '@fastly/cli@13.3.0': 1232 + optionalDependencies: 1233 + '@fastly/cli-darwin-arm64': 13.3.0 1234 + '@fastly/cli-darwin-x64': 13.3.0 1235 + '@fastly/cli-linux-arm64': 13.3.0 1236 + '@fastly/cli-linux-x32': 13.3.0 1237 + '@fastly/cli-linux-x64': 13.3.0 1238 + '@fastly/cli-win32-arm64': 13.3.0 1239 + '@fastly/cli-win32-x32': 13.3.0 1240 + '@fastly/cli-win32-x64': 13.3.0 1241 + 1242 + '@fastly/js-compute@3.39.4(typescript@5.9.3)': 1243 + dependencies: 1244 + '@bytecodealliance/jco': 1.17.0 1245 + '@bytecodealliance/weval': 0.3.4 1246 + '@bytecodealliance/wizer': 7.0.5 1247 + '@jridgewell/remapping': 2.3.5 1248 + '@jridgewell/trace-mapping': 0.3.31 1249 + acorn: 8.15.0 1250 + acorn-walk: 8.3.4 1251 + esbuild: 0.25.12 1252 + magic-string: 0.30.21 1253 + picomatch: 4.0.3 1254 + regexpu-core: 6.4.0 1255 + optionalDependencies: 1256 + typescript: 5.9.3 1257 + 1258 + '@jridgewell/gen-mapping@0.3.13': 1259 + dependencies: 1260 + '@jridgewell/sourcemap-codec': 1.5.5 1261 + '@jridgewell/trace-mapping': 0.3.31 1262 + 1263 + '@jridgewell/remapping@2.3.5': 1264 + dependencies: 1265 + '@jridgewell/gen-mapping': 0.3.13 1266 + '@jridgewell/trace-mapping': 0.3.31 1267 + 1268 + '@jridgewell/resolve-uri@3.1.2': {} 1269 + 1270 + '@jridgewell/source-map@0.3.11': 1271 + dependencies: 1272 + '@jridgewell/gen-mapping': 0.3.13 1273 + '@jridgewell/trace-mapping': 0.3.31 1274 + 1275 + '@jridgewell/sourcemap-codec@1.5.5': {} 1276 + 1277 + '@jridgewell/trace-mapping@0.3.31': 1278 + dependencies: 1279 + '@jridgewell/resolve-uri': 3.1.2 1280 + '@jridgewell/sourcemap-codec': 1.5.5 1281 + 1282 + '@napi-rs/lzma-android-arm-eabi@1.4.5': 1283 + optional: true 1284 + 1285 + '@napi-rs/lzma-android-arm64@1.4.5': 1286 + optional: true 1287 + 1288 + '@napi-rs/lzma-darwin-arm64@1.4.5': 1289 + optional: true 1290 + 1291 + '@napi-rs/lzma-darwin-x64@1.4.5': 1292 + optional: true 1293 + 1294 + '@napi-rs/lzma-freebsd-x64@1.4.5': 1295 + optional: true 1296 + 1297 + '@napi-rs/lzma-linux-arm-gnueabihf@1.4.5': 1298 + optional: true 1299 + 1300 + '@napi-rs/lzma-linux-arm64-gnu@1.4.5': 1301 + optional: true 1302 + 1303 + '@napi-rs/lzma-linux-arm64-musl@1.4.5': 1304 + optional: true 1305 + 1306 + '@napi-rs/lzma-linux-ppc64-gnu@1.4.5': 1307 + optional: true 1308 + 1309 + '@napi-rs/lzma-linux-riscv64-gnu@1.4.5': 1310 + optional: true 1311 + 1312 + '@napi-rs/lzma-linux-s390x-gnu@1.4.5': 1313 + optional: true 1314 + 1315 + '@napi-rs/lzma-linux-x64-gnu@1.4.5': 1316 + optional: true 1317 + 1318 + '@napi-rs/lzma-linux-x64-musl@1.4.5': 1319 + optional: true 1320 + 1321 + '@napi-rs/lzma-wasm32-wasi@1.4.5': 1322 + dependencies: 1323 + '@napi-rs/wasm-runtime': 1.1.1 1324 + optional: true 1325 + 1326 + '@napi-rs/lzma-win32-arm64-msvc@1.4.5': 1327 + optional: true 1328 + 1329 + '@napi-rs/lzma-win32-ia32-msvc@1.4.5': 1330 + optional: true 1331 + 1332 + '@napi-rs/lzma-win32-x64-msvc@1.4.5': 1333 + optional: true 1334 + 1335 + '@napi-rs/lzma@1.4.5': 1336 + optionalDependencies: 1337 + '@napi-rs/lzma-android-arm-eabi': 1.4.5 1338 + '@napi-rs/lzma-android-arm64': 1.4.5 1339 + '@napi-rs/lzma-darwin-arm64': 1.4.5 1340 + '@napi-rs/lzma-darwin-x64': 1.4.5 1341 + '@napi-rs/lzma-freebsd-x64': 1.4.5 1342 + '@napi-rs/lzma-linux-arm-gnueabihf': 1.4.5 1343 + '@napi-rs/lzma-linux-arm64-gnu': 1.4.5 1344 + '@napi-rs/lzma-linux-arm64-musl': 1.4.5 1345 + '@napi-rs/lzma-linux-ppc64-gnu': 1.4.5 1346 + '@napi-rs/lzma-linux-riscv64-gnu': 1.4.5 1347 + '@napi-rs/lzma-linux-s390x-gnu': 1.4.5 1348 + '@napi-rs/lzma-linux-x64-gnu': 1.4.5 1349 + '@napi-rs/lzma-linux-x64-musl': 1.4.5 1350 + '@napi-rs/lzma-wasm32-wasi': 1.4.5 1351 + '@napi-rs/lzma-win32-arm64-msvc': 1.4.5 1352 + '@napi-rs/lzma-win32-ia32-msvc': 1.4.5 1353 + '@napi-rs/lzma-win32-x64-msvc': 1.4.5 1354 + 1355 + '@napi-rs/wasm-runtime@0.2.12': 1356 + dependencies: 1357 + '@emnapi/core': 1.8.1 1358 + '@emnapi/runtime': 1.8.1 1359 + '@tybys/wasm-util': 0.10.1 1360 + optional: true 1361 + 1362 + '@napi-rs/wasm-runtime@1.1.1': 1363 + dependencies: 1364 + '@emnapi/core': 1.8.1 1365 + '@emnapi/runtime': 1.8.1 1366 + '@tybys/wasm-util': 0.10.1 1367 + optional: true 1368 + 1369 + '@oxc-parser/binding-android-arm64@0.76.0': 1370 + optional: true 1371 + 1372 + '@oxc-parser/binding-darwin-arm64@0.76.0': 1373 + optional: true 1374 + 1375 + '@oxc-parser/binding-darwin-x64@0.76.0': 1376 + optional: true 1377 + 1378 + '@oxc-parser/binding-freebsd-x64@0.76.0': 1379 + optional: true 1380 + 1381 + '@oxc-parser/binding-linux-arm-gnueabihf@0.76.0': 1382 + optional: true 1383 + 1384 + '@oxc-parser/binding-linux-arm-musleabihf@0.76.0': 1385 + optional: true 1386 + 1387 + '@oxc-parser/binding-linux-arm64-gnu@0.76.0': 1388 + optional: true 1389 + 1390 + '@oxc-parser/binding-linux-arm64-musl@0.76.0': 1391 + optional: true 1392 + 1393 + '@oxc-parser/binding-linux-riscv64-gnu@0.76.0': 1394 + optional: true 1395 + 1396 + '@oxc-parser/binding-linux-s390x-gnu@0.76.0': 1397 + optional: true 1398 + 1399 + '@oxc-parser/binding-linux-x64-gnu@0.76.0': 1400 + optional: true 1401 + 1402 + '@oxc-parser/binding-linux-x64-musl@0.76.0': 1403 + optional: true 1404 + 1405 + '@oxc-parser/binding-wasm32-wasi@0.76.0': 1406 + dependencies: 1407 + '@napi-rs/wasm-runtime': 0.2.12 1408 + optional: true 1409 + 1410 + '@oxc-parser/binding-win32-arm64-msvc@0.76.0': 1411 + optional: true 1412 + 1413 + '@oxc-parser/binding-win32-x64-msvc@0.76.0': 1414 + optional: true 1415 + 1416 + '@oxc-project/types@0.76.0': {} 1417 + 1418 + '@tybys/wasm-util@0.10.1': 1419 + dependencies: 1420 + tslib: 2.8.1 1421 + optional: true 1422 + 1423 + acorn-walk@8.3.4: 1424 + dependencies: 1425 + acorn: 8.15.0 1426 + 1427 + acorn@8.15.0: {} 1428 + 1429 + ansi-regex@6.2.2: {} 1430 + 1431 + available-typed-arrays@1.0.7: 1432 + dependencies: 1433 + possible-typed-array-names: 1.1.0 1434 + 1435 + base64-js@1.5.1: {} 1436 + 1437 + binaryen@123.0.0: {} 1438 + 1439 + bl@1.2.3: 1440 + dependencies: 1441 + readable-stream: 2.3.8 1442 + safe-buffer: 5.2.1 1443 + 1444 + buffer-alloc-unsafe@1.1.0: {} 1445 + 1446 + buffer-alloc@1.2.0: 1447 + dependencies: 1448 + buffer-alloc-unsafe: 1.1.0 1449 + buffer-fill: 1.0.0 1450 + 1451 + buffer-crc32@0.2.13: {} 1452 + 1453 + buffer-fill@1.0.0: {} 1454 + 1455 + buffer-from@1.1.2: {} 1456 + 1457 + buffer@5.7.1: 1458 + dependencies: 1459 + base64-js: 1.5.1 1460 + ieee754: 1.2.1 1461 + 1462 + call-bind-apply-helpers@1.0.2: 1463 + dependencies: 1464 + es-errors: 1.3.0 1465 + function-bind: 1.1.2 1466 + 1467 + call-bind@1.0.8: 1468 + dependencies: 1469 + call-bind-apply-helpers: 1.0.2 1470 + es-define-property: 1.0.1 1471 + get-intrinsic: 1.3.0 1472 + set-function-length: 1.2.2 1473 + 1474 + call-bound@1.0.4: 1475 + dependencies: 1476 + call-bind-apply-helpers: 1.0.2 1477 + get-intrinsic: 1.3.0 1478 + 1479 + chalk@5.6.2: {} 1480 + 1481 + cli-cursor@5.0.0: 1482 + dependencies: 1483 + restore-cursor: 5.1.0 1484 + 1485 + cli-spinners@2.9.2: {} 1486 + 1487 + commander@14.0.3: {} 1488 + 1489 + commander@2.20.3: {} 1490 + 1491 + core-util-is@1.0.3: {} 1492 + 1493 + decompress-tar@4.1.1: 1494 + dependencies: 1495 + file-type: 5.2.0 1496 + is-stream: 1.1.0 1497 + tar-stream: 1.6.2 1498 + 1499 + decompress-tarbz2@4.1.1: 1500 + dependencies: 1501 + decompress-tar: 4.1.1 1502 + file-type: 6.2.0 1503 + is-stream: 1.1.0 1504 + seek-bzip: 1.0.6 1505 + unbzip2-stream: 1.4.3 1506 + 1507 + decompress-targz@4.1.1: 1508 + dependencies: 1509 + decompress-tar: 4.1.1 1510 + file-type: 5.2.0 1511 + is-stream: 1.1.0 1512 + 1513 + decompress-unzip@4.0.1: 1514 + dependencies: 1515 + file-type: 3.9.0 1516 + get-stream: 2.3.1 1517 + pify: 2.3.0 1518 + yauzl: 2.10.0 1519 + 1520 + decompress@4.2.1: 1521 + dependencies: 1522 + decompress-tar: 4.1.1 1523 + decompress-tarbz2: 4.1.1 1524 + decompress-targz: 4.1.1 1525 + decompress-unzip: 4.0.1 1526 + graceful-fs: 4.2.11 1527 + make-dir: 1.3.0 1528 + pify: 2.3.0 1529 + strip-dirs: 2.1.0 1530 + 1531 + define-data-property@1.1.4: 1532 + dependencies: 1533 + es-define-property: 1.0.1 1534 + es-errors: 1.3.0 1535 + gopd: 1.2.0 1536 + 1537 + dunder-proto@1.0.1: 1538 + dependencies: 1539 + call-bind-apply-helpers: 1.0.2 1540 + es-errors: 1.3.0 1541 + gopd: 1.2.0 1542 + 1543 + emoji-regex@10.6.0: {} 1544 + 1545 + end-of-stream@1.4.5: 1546 + dependencies: 1547 + once: 1.4.0 1548 + 1549 + es-define-property@1.0.1: {} 1550 + 1551 + es-errors@1.3.0: {} 1552 + 1553 + es-module-lexer@1.7.0: {} 1554 + 1555 + es-object-atoms@1.1.1: 1556 + dependencies: 1557 + es-errors: 1.3.0 1558 + 1559 + esbuild@0.25.12: 1560 + optionalDependencies: 1561 + '@esbuild/aix-ppc64': 0.25.12 1562 + '@esbuild/android-arm': 0.25.12 1563 + '@esbuild/android-arm64': 0.25.12 1564 + '@esbuild/android-x64': 0.25.12 1565 + '@esbuild/darwin-arm64': 0.25.12 1566 + '@esbuild/darwin-x64': 0.25.12 1567 + '@esbuild/freebsd-arm64': 0.25.12 1568 + '@esbuild/freebsd-x64': 0.25.12 1569 + '@esbuild/linux-arm': 0.25.12 1570 + '@esbuild/linux-arm64': 0.25.12 1571 + '@esbuild/linux-ia32': 0.25.12 1572 + '@esbuild/linux-loong64': 0.25.12 1573 + '@esbuild/linux-mips64el': 0.25.12 1574 + '@esbuild/linux-ppc64': 0.25.12 1575 + '@esbuild/linux-riscv64': 0.25.12 1576 + '@esbuild/linux-s390x': 0.25.12 1577 + '@esbuild/linux-x64': 0.25.12 1578 + '@esbuild/netbsd-arm64': 0.25.12 1579 + '@esbuild/netbsd-x64': 0.25.12 1580 + '@esbuild/openbsd-arm64': 0.25.12 1581 + '@esbuild/openbsd-x64': 0.25.12 1582 + '@esbuild/openharmony-arm64': 0.25.12 1583 + '@esbuild/sunos-x64': 0.25.12 1584 + '@esbuild/win32-arm64': 0.25.12 1585 + '@esbuild/win32-ia32': 0.25.12 1586 + '@esbuild/win32-x64': 0.25.12 1587 + 1588 + fd-slicer@1.1.0: 1589 + dependencies: 1590 + pend: 1.2.0 1591 + 1592 + file-type@3.9.0: {} 1593 + 1594 + file-type@5.2.0: {} 1595 + 1596 + file-type@6.2.0: {} 1597 + 1598 + for-each@0.3.5: 1599 + dependencies: 1600 + is-callable: 1.2.7 1601 + 1602 + fs-constants@1.0.0: {} 1603 + 1604 + function-bind@1.1.2: {} 1605 + 1606 + get-east-asian-width@1.4.0: {} 1607 + 1608 + get-intrinsic@1.3.0: 1609 + dependencies: 1610 + call-bind-apply-helpers: 1.0.2 1611 + es-define-property: 1.0.1 1612 + es-errors: 1.3.0 1613 + es-object-atoms: 1.1.1 1614 + function-bind: 1.1.2 1615 + get-proto: 1.0.1 1616 + gopd: 1.2.0 1617 + has-symbols: 1.1.0 1618 + hasown: 2.0.2 1619 + math-intrinsics: 1.1.0 1620 + 1621 + get-proto@1.0.1: 1622 + dependencies: 1623 + dunder-proto: 1.0.1 1624 + es-object-atoms: 1.1.1 1625 + 1626 + get-stream@2.3.1: 1627 + dependencies: 1628 + object-assign: 4.1.1 1629 + pinkie-promise: 2.0.1 1630 + 1631 + gopd@1.2.0: {} 1632 + 1633 + graceful-fs@4.2.11: {} 1634 + 1635 + has-property-descriptors@1.0.2: 1636 + dependencies: 1637 + es-define-property: 1.0.1 1638 + 1639 + has-symbols@1.1.0: {} 1640 + 1641 + has-tostringtag@1.0.2: 1642 + dependencies: 1643 + has-symbols: 1.1.0 1644 + 1645 + hasown@2.0.2: 1646 + dependencies: 1647 + function-bind: 1.1.2 1648 + 1649 + ieee754@1.2.1: {} 1650 + 1651 + inherits@2.0.4: {} 1652 + 1653 + is-callable@1.2.7: {} 1654 + 1655 + is-interactive@2.0.0: {} 1656 + 1657 + is-natural-number@4.0.1: {} 1658 + 1659 + is-stream@1.1.0: {} 1660 + 1661 + is-typed-array@1.1.15: 1662 + dependencies: 1663 + which-typed-array: 1.1.20 1664 + 1665 + is-unicode-supported@1.3.0: {} 1666 + 1667 + is-unicode-supported@2.1.0: {} 1668 + 1669 + isarray@1.0.0: {} 1670 + 1671 + isarray@2.0.5: {} 1672 + 1673 + jsesc@3.1.0: {} 1674 + 1675 + log-symbols@6.0.0: 1676 + dependencies: 1677 + chalk: 5.6.2 1678 + is-unicode-supported: 1.3.0 1679 + 1680 + magic-string@0.30.21: 1681 + dependencies: 1682 + '@jridgewell/sourcemap-codec': 1.5.5 1683 + 1684 + make-dir@1.3.0: 1685 + dependencies: 1686 + pify: 3.0.0 1687 + 1688 + math-intrinsics@1.1.0: {} 1689 + 1690 + mimic-function@5.0.1: {} 1691 + 1692 + mkdirp@3.0.1: {} 1693 + 1694 + object-assign@4.1.1: {} 1695 + 1696 + once@1.4.0: 1697 + dependencies: 1698 + wrappy: 1.0.2 1699 + 1700 + onetime@7.0.0: 1701 + dependencies: 1702 + mimic-function: 5.0.1 1703 + 1704 + ora@8.2.0: 1705 + dependencies: 1706 + chalk: 5.6.2 1707 + cli-cursor: 5.0.0 1708 + cli-spinners: 2.9.2 1709 + is-interactive: 2.0.0 1710 + is-unicode-supported: 2.1.0 1711 + log-symbols: 6.0.0 1712 + stdin-discarder: 0.2.2 1713 + string-width: 7.2.0 1714 + strip-ansi: 7.1.2 1715 + 1716 + oxc-parser@0.76.0: 1717 + dependencies: 1718 + '@oxc-project/types': 0.76.0 1719 + optionalDependencies: 1720 + '@oxc-parser/binding-android-arm64': 0.76.0 1721 + '@oxc-parser/binding-darwin-arm64': 0.76.0 1722 + '@oxc-parser/binding-darwin-x64': 0.76.0 1723 + '@oxc-parser/binding-freebsd-x64': 0.76.0 1724 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.76.0 1725 + '@oxc-parser/binding-linux-arm-musleabihf': 0.76.0 1726 + '@oxc-parser/binding-linux-arm64-gnu': 0.76.0 1727 + '@oxc-parser/binding-linux-arm64-musl': 0.76.0 1728 + '@oxc-parser/binding-linux-riscv64-gnu': 0.76.0 1729 + '@oxc-parser/binding-linux-s390x-gnu': 0.76.0 1730 + '@oxc-parser/binding-linux-x64-gnu': 0.76.0 1731 + '@oxc-parser/binding-linux-x64-musl': 0.76.0 1732 + '@oxc-parser/binding-wasm32-wasi': 0.76.0 1733 + '@oxc-parser/binding-win32-arm64-msvc': 0.76.0 1734 + '@oxc-parser/binding-win32-x64-msvc': 0.76.0 1735 + 1736 + pend@1.2.0: {} 1737 + 1738 + picomatch@4.0.3: {} 1739 + 1740 + pify@2.3.0: {} 1741 + 1742 + pify@3.0.0: {} 1743 + 1744 + pinkie-promise@2.0.1: 1745 + dependencies: 1746 + pinkie: 2.0.4 1747 + 1748 + pinkie@2.0.4: {} 1749 + 1750 + possible-typed-array-names@1.1.0: {} 1751 + 1752 + process-nextick-args@2.0.1: {} 1753 + 1754 + readable-stream@2.3.8: 1755 + dependencies: 1756 + core-util-is: 1.0.3 1757 + inherits: 2.0.4 1758 + isarray: 1.0.0 1759 + process-nextick-args: 2.0.1 1760 + safe-buffer: 5.1.2 1761 + string_decoder: 1.1.1 1762 + util-deprecate: 1.0.2 1763 + 1764 + regenerate-unicode-properties@10.2.2: 1765 + dependencies: 1766 + regenerate: 1.4.2 1767 + 1768 + regenerate@1.4.2: {} 1769 + 1770 + regexpu-core@6.4.0: 1771 + dependencies: 1772 + regenerate: 1.4.2 1773 + regenerate-unicode-properties: 10.2.2 1774 + regjsgen: 0.8.0 1775 + regjsparser: 0.13.0 1776 + unicode-match-property-ecmascript: 2.0.0 1777 + unicode-match-property-value-ecmascript: 2.2.1 1778 + 1779 + regjsgen@0.8.0: {} 1780 + 1781 + regjsparser@0.13.0: 1782 + dependencies: 1783 + jsesc: 3.1.0 1784 + 1785 + restore-cursor@5.1.0: 1786 + dependencies: 1787 + onetime: 7.0.0 1788 + signal-exit: 4.1.0 1789 + 1790 + safe-buffer@5.1.2: {} 1791 + 1792 + safe-buffer@5.2.1: {} 1793 + 1794 + seek-bzip@1.0.6: 1795 + dependencies: 1796 + commander: 2.20.3 1797 + 1798 + set-function-length@1.2.2: 1799 + dependencies: 1800 + define-data-property: 1.1.4 1801 + es-errors: 1.3.0 1802 + function-bind: 1.1.2 1803 + get-intrinsic: 1.3.0 1804 + gopd: 1.2.0 1805 + has-property-descriptors: 1.0.2 1806 + 1807 + signal-exit@4.1.0: {} 1808 + 1809 + source-map-support@0.5.21: 1810 + dependencies: 1811 + buffer-from: 1.1.2 1812 + source-map: 0.6.1 1813 + 1814 + source-map@0.6.1: {} 1815 + 1816 + stdin-discarder@0.2.2: {} 1817 + 1818 + string-width@7.2.0: 1819 + dependencies: 1820 + emoji-regex: 10.6.0 1821 + get-east-asian-width: 1.4.0 1822 + strip-ansi: 7.1.2 1823 + 1824 + string_decoder@1.1.1: 1825 + dependencies: 1826 + safe-buffer: 5.1.2 1827 + 1828 + strip-ansi@7.1.2: 1829 + dependencies: 1830 + ansi-regex: 6.2.2 1831 + 1832 + strip-dirs@2.1.0: 1833 + dependencies: 1834 + is-natural-number: 4.0.1 1835 + 1836 + tar-stream@1.6.2: 1837 + dependencies: 1838 + bl: 1.2.3 1839 + buffer-alloc: 1.2.0 1840 + end-of-stream: 1.4.5 1841 + fs-constants: 1.0.0 1842 + readable-stream: 2.3.8 1843 + to-buffer: 1.2.2 1844 + xtend: 4.0.2 1845 + 1846 + terser@5.46.0: 1847 + dependencies: 1848 + '@jridgewell/source-map': 0.3.11 1849 + acorn: 8.15.0 1850 + commander: 2.20.3 1851 + source-map-support: 0.5.21 1852 + 1853 + through@2.3.8: {} 1854 + 1855 + to-buffer@1.2.2: 1856 + dependencies: 1857 + isarray: 2.0.5 1858 + safe-buffer: 5.2.1 1859 + typed-array-buffer: 1.0.3 1860 + 1861 + tslib@2.8.1: 1862 + optional: true 1863 + 1864 + typed-array-buffer@1.0.3: 1865 + dependencies: 1866 + call-bound: 1.0.4 1867 + es-errors: 1.3.0 1868 + is-typed-array: 1.1.15 1869 + 1870 + typescript@5.9.3: {} 1871 + 1872 + unbzip2-stream@1.4.3: 1873 + dependencies: 1874 + buffer: 5.7.1 1875 + through: 2.3.8 1876 + 1877 + unicode-canonical-property-names-ecmascript@2.0.1: {} 1878 + 1879 + unicode-match-property-ecmascript@2.0.0: 1880 + dependencies: 1881 + unicode-canonical-property-names-ecmascript: 2.0.1 1882 + unicode-property-aliases-ecmascript: 2.2.0 1883 + 1884 + unicode-match-property-value-ecmascript@2.2.1: {} 1885 + 1886 + unicode-property-aliases-ecmascript@2.2.0: {} 1887 + 1888 + util-deprecate@1.0.2: {} 1889 + 1890 + which-typed-array@1.1.20: 1891 + dependencies: 1892 + available-typed-arrays: 1.0.7 1893 + call-bind: 1.0.8 1894 + call-bound: 1.0.4 1895 + for-each: 0.3.5 1896 + get-proto: 1.0.1 1897 + gopd: 1.2.0 1898 + has-tostringtag: 1.0.2 1899 + 1900 + wrappy@1.0.2: {} 1901 + 1902 + xtend@4.0.2: {} 1903 + 1904 + yauzl@2.10.0: 1905 + dependencies: 1906 + buffer-crc32: 0.2.13 1907 + fd-slicer: 1.1.0
+2
services/fastly/express-basic/pnpm-workspace.yaml
··· 1 + onlyBuiltDependencies: 2 + - esbuild
+82
services/fastly/express-basic/src/index.ts
··· 1 + //! Default Compute template program. 2 + 3 + /// <reference types="@fastly/js-compute" /> 4 + // import { CacheOverride } from "fastly:cache-override"; 5 + // import { Logger } from "fastly:logger"; 6 + import { env } from "fastly:env"; 7 + import { includeBytes } from "fastly:experimental"; 8 + 9 + // Load a static file as a Uint8Array at compile time. 10 + // File path is relative to root of project, not to this file 11 + const welcomePage = includeBytes("./src/welcome-to-compute.html"); 12 + 13 + // The entry point for your application. 14 + // 15 + // Use this fetch event listener to define your main request handling logic. It 16 + // could be used to route based on the request properties (such as method or 17 + // path), send the request to a backend, make completely new requests, and/or 18 + // generate synthetic responses. 19 + 20 + addEventListener("fetch", (event) => event.respondWith(handleRequest(event))); 21 + 22 + async function handleRequest(event: FetchEvent) { 23 + // Log service version 24 + console.log("FASTLY_SERVICE_VERSION:", env('FASTLY_SERVICE_VERSION') || 'local'); 25 + 26 + // Get the client request. 27 + let req = event.request; 28 + 29 + // Filter requests that have unexpected methods. 30 + if (!["HEAD", "GET", "PURGE"].includes(req.method)) { 31 + return new Response("This method is not allowed", { 32 + status: 405, 33 + }); 34 + } 35 + 36 + let url = new URL(req.url); 37 + 38 + // If request is to the `/` path... 39 + if (url.pathname == "/") { 40 + // Below are some common patterns for Fastly Compute services using JavaScript. 41 + // Head to https://developer.fastly.com/learning/compute/javascript/ to discover more. 42 + 43 + // Create a new request. 44 + // let bereq = new Request("http://example.com"); 45 + 46 + // Add request headers. 47 + // req.headers.set("X-Custom-Header", "Welcome to Fastly Compute!"); 48 + // req.headers.set( 49 + // "X-Another-Custom-Header", 50 + // "Recommended reading: https://developer.fastly.com/learning/compute" 51 + // ); 52 + 53 + // Create a cache override. 54 + // To use this, uncomment the import statement at the top of this file for CacheOverride. 55 + // let cacheOverride = new CacheOverride("override", { ttl: 60 }); 56 + 57 + // Forward the request to a backend. 58 + // let beresp = await fetch(req, { 59 + // backend: "backend_name", 60 + // cacheOverride, 61 + // }); 62 + 63 + // Remove response headers. 64 + // beresp.headers.delete("X-Another-Custom-Header"); 65 + 66 + // Log to a Fastly endpoint. 67 + // To use this, uncomment the import statement at the top of this file for Logger. 68 + // const logger = new Logger("my_endpoint"); 69 + // logger.log("Hello from the edge!"); 70 + 71 + // Send a default synthetic response. 72 + return new Response(welcomePage, { 73 + status: 200, 74 + headers: new Headers({ "Content-Type": "text/html; charset=utf-8" }), 75 + }); 76 + } 77 + 78 + // Catch all other requests and return a 404. 79 + return new Response("The page you requested could not be found", { 80 + status: 404, 81 + }); 82 + }
+30
services/fastly/express-basic/src/welcome-to-compute.html
··· 1 + <!DOCTYPE html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="utf-8" /> 5 + <meta http-equiv="x-ua-compatible" content="ie=edge" /> 6 + <meta 7 + name="viewport" 8 + content="width=device-width, initial-scale=1, shrink-to-fit=no" 9 + /> 10 + <title>Welcome to Fastly Compute</title> 11 + <link 12 + rel="icon" 13 + href="https://developer.fastly.com/favicon-32x32.png" 14 + type="image/png" 15 + /> 16 + </head> 17 + <body> 18 + <iframe 19 + src="https://developer.fastly.com/compute-welcome" 20 + style=" 21 + border: 0; 22 + position: absolute; 23 + top: 0; 24 + left: 0; 25 + width: 100%; 26 + height: 100%; 27 + " 28 + ></iframe> 29 + </body> 30 + </html>
+17
services/fastly/express-basic/tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "strict": true, 4 + "erasableSyntaxOnly": true, 5 + "skipLibCheck": true, 6 + "target": "ES2022", 7 + "lib": [ "ES2022" ], 8 + "module": "ESNext", 9 + "moduleResolution": "bundler", 10 + "customConditions": [ "fastly" ], 11 + "types": [ "@fastly/js-compute" ], 12 + "esModuleInterop": true, 13 + "isolatedModules": true, 14 + "verbatimModuleSyntax": true, 15 + "allowImportingTsExtensions": true 16 + } 17 + }