├── .gitignore ├── README.md ├── cljs-worker ├── .editorconfig ├── .gitignore ├── .prettierrc ├── package.json └── wrangler.toml ├── package-lock.json ├── package.json ├── shadow-cljs.edn └── src └── main └── my └── app └── demo_worker.cljs /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | public/js 3 | 4 | /target 5 | /checkouts 6 | /src/gen 7 | 8 | pom.xml 9 | pom.xml.asc 10 | *.iml 11 | *.jar 12 | *.log 13 | .shadow-cljs 14 | .idea 15 | .lein-* 16 | .nrepl-* 17 | .DS_Store 18 | 19 | .hgignore 20 | .hg/ 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cljs cloudflare worker 2 | 3 | Example for using CLJS to create a Cloudflare worker. 4 | 5 | The `cljs-worker` dir was created via `npx wrangler generate my-project worker` and the `wranger.toml` updated to use the `out/main.js` file instead of `index.js`. `out/main.js` is the file created by `shadow-cljs` as per the `shadow-cljs.edn` `:worker` build config. 6 | 7 | 8 | ## Development 9 | 10 | ```sh 11 | npx shadow-cljs watch worker 12 | npx wranger -c cljs-worker/wranger.toml dev 13 | ``` 14 | 15 | The runtime doesn't seem to allow IO outside of request handlers, thus a websocket connection for the REPL is not supported. If you still want a REPL while development you can run `npx shadow-cljs node-repl` to get one. It won't be in the wrangler runtime though. I have never used this in anger, so I'm not sure how useful a REPL into the process would be. It seems to be reset for every request anyway. 16 | 17 | ## Deploy 18 | ```sh 19 | rm -rf cljs-worker/out 20 | npx shadow-cljs release worker 21 | npx wranger ... 22 | ``` 23 | 24 | I did not test the deploy part, since I do not have a cloudflare account. I'm confident it'll just work though. 25 | -------------------------------------------------------------------------------- /cljs-worker/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = tab 6 | tab_width = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.yml] 13 | indent_style = space 14 | -------------------------------------------------------------------------------- /cljs-worker/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules 3 | *-lock.* 4 | *.lock 5 | *.log 6 | 7 | /.wrangler 8 | /dist 9 | /out 10 | -------------------------------------------------------------------------------- /cljs-worker/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "printWidth": 100, 4 | "singleQuote": true, 5 | "bracketSpacing": true, 6 | "insertPragma": false, 7 | "requirePragma": false, 8 | "jsxSingleQuote": false, 9 | "bracketSameLine": false, 10 | "embeddedLanguageFormatting": "auto", 11 | "htmlWhitespaceSensitivity": "css", 12 | "vueIndentScriptAndStyle": true, 13 | "quoteProps": "consistent", 14 | "proseWrap": "preserve", 15 | "trailingComma": "es5", 16 | "arrowParens": "avoid", 17 | "useTabs": true, 18 | "tabWidth": 2 19 | } 20 | -------------------------------------------------------------------------------- /cljs-worker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "template-worker", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "deploy": "wrangler deploy index.js", 7 | "dev": "wrangler dev index.js", 8 | "test": "vitest" 9 | }, 10 | "devDependencies": { 11 | "vitest": "^0.31.0", 12 | "wrangler": "^3.0.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /cljs-worker/wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "" # todo 2 | main = "./out/main.js" 3 | compatibility_date = "2022-10-10" 4 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cljs-cf-worker", 3 | "version": "0.0.1", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "cljs-cf-worker", 9 | "version": "0.0.1", 10 | "dependencies": { 11 | "wrangler": "^3.15.0" 12 | }, 13 | "devDependencies": { 14 | "shadow-cljs": "2.25.10" 15 | } 16 | }, 17 | "node_modules/@cloudflare/kv-asset-handler": { 18 | "version": "0.2.0", 19 | "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz", 20 | "integrity": "sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==", 21 | "dependencies": { 22 | "mime": "^3.0.0" 23 | } 24 | }, 25 | "node_modules/@cloudflare/workerd-darwin-64": { 26 | "version": "1.20231025.0", 27 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20231025.0.tgz", 28 | "integrity": "sha512-MYRYTbSl+tjGg6su7savlLIb8cOcKJfdGpA+WdtgqT2OF7O+89Lag0l1SA/iyVlUkT31Jc6OLHqvzsXgmg+niQ==", 29 | "cpu": [ 30 | "x64" 31 | ], 32 | "optional": true, 33 | "os": [ 34 | "darwin" 35 | ], 36 | "engines": { 37 | "node": ">=16" 38 | } 39 | }, 40 | "node_modules/@cloudflare/workerd-darwin-arm64": { 41 | "version": "1.20231025.0", 42 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20231025.0.tgz", 43 | "integrity": "sha512-BszjtBDR84TVa6oWe74dePJSAukWlTmLw9zR4KeWuwZLJGV7RMm6AmwGStetjnwZrecZaaOFELfBCAHtsebV0Q==", 44 | "cpu": [ 45 | "arm64" 46 | ], 47 | "optional": true, 48 | "os": [ 49 | "darwin" 50 | ], 51 | "engines": { 52 | "node": ">=16" 53 | } 54 | }, 55 | "node_modules/@cloudflare/workerd-linux-64": { 56 | "version": "1.20231025.0", 57 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231025.0.tgz", 58 | "integrity": "sha512-AT9dxgKXOa9xZxZ3k2a432axPJJ58KpoNWnPiPYGpuAuLoWnfcYwwh6mr9sZVcTdAdTAK9Xu9c81tp0YABanUw==", 59 | "cpu": [ 60 | "x64" 61 | ], 62 | "optional": true, 63 | "os": [ 64 | "linux" 65 | ], 66 | "engines": { 67 | "node": ">=16" 68 | } 69 | }, 70 | "node_modules/@cloudflare/workerd-linux-arm64": { 71 | "version": "1.20231025.0", 72 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20231025.0.tgz", 73 | "integrity": "sha512-EIjex5o2k80YZWPix1btGybL/vNZ3o6vqKX9ptS0JcFkHV5aFX5/kcMwSBRjiIC+w04zVjmGQx3N1Vh3njuncg==", 74 | "cpu": [ 75 | "arm64" 76 | ], 77 | "optional": true, 78 | "os": [ 79 | "linux" 80 | ], 81 | "engines": { 82 | "node": ">=16" 83 | } 84 | }, 85 | "node_modules/@cloudflare/workerd-windows-64": { 86 | "version": "1.20231025.0", 87 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20231025.0.tgz", 88 | "integrity": "sha512-7vtq0mO22A2v0OOsKXa760r9a84Gg8CK0gDu5uNWlj6hojmt011iz7jJt76I7oo/XrVwVlVfu69GnA3ljx6U8w==", 89 | "cpu": [ 90 | "x64" 91 | ], 92 | "optional": true, 93 | "os": [ 94 | "win32" 95 | ], 96 | "engines": { 97 | "node": ">=16" 98 | } 99 | }, 100 | "node_modules/@esbuild-plugins/node-globals-polyfill": { 101 | "version": "0.2.3", 102 | "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz", 103 | "integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==", 104 | "peerDependencies": { 105 | "esbuild": "*" 106 | } 107 | }, 108 | "node_modules/@esbuild-plugins/node-modules-polyfill": { 109 | "version": "0.2.2", 110 | "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz", 111 | "integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==", 112 | "dependencies": { 113 | "escape-string-regexp": "^4.0.0", 114 | "rollup-plugin-node-polyfills": "^0.2.1" 115 | }, 116 | "peerDependencies": { 117 | "esbuild": "*" 118 | } 119 | }, 120 | "node_modules/@esbuild/android-arm": { 121 | "version": "0.17.19", 122 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", 123 | "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", 124 | "cpu": [ 125 | "arm" 126 | ], 127 | "optional": true, 128 | "os": [ 129 | "android" 130 | ], 131 | "engines": { 132 | "node": ">=12" 133 | } 134 | }, 135 | "node_modules/@esbuild/android-arm64": { 136 | "version": "0.17.19", 137 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", 138 | "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", 139 | "cpu": [ 140 | "arm64" 141 | ], 142 | "optional": true, 143 | "os": [ 144 | "android" 145 | ], 146 | "engines": { 147 | "node": ">=12" 148 | } 149 | }, 150 | "node_modules/@esbuild/android-x64": { 151 | "version": "0.17.19", 152 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", 153 | "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", 154 | "cpu": [ 155 | "x64" 156 | ], 157 | "optional": true, 158 | "os": [ 159 | "android" 160 | ], 161 | "engines": { 162 | "node": ">=12" 163 | } 164 | }, 165 | "node_modules/@esbuild/darwin-arm64": { 166 | "version": "0.17.19", 167 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", 168 | "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", 169 | "cpu": [ 170 | "arm64" 171 | ], 172 | "optional": true, 173 | "os": [ 174 | "darwin" 175 | ], 176 | "engines": { 177 | "node": ">=12" 178 | } 179 | }, 180 | "node_modules/@esbuild/darwin-x64": { 181 | "version": "0.17.19", 182 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", 183 | "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", 184 | "cpu": [ 185 | "x64" 186 | ], 187 | "optional": true, 188 | "os": [ 189 | "darwin" 190 | ], 191 | "engines": { 192 | "node": ">=12" 193 | } 194 | }, 195 | "node_modules/@esbuild/freebsd-arm64": { 196 | "version": "0.17.19", 197 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", 198 | "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", 199 | "cpu": [ 200 | "arm64" 201 | ], 202 | "optional": true, 203 | "os": [ 204 | "freebsd" 205 | ], 206 | "engines": { 207 | "node": ">=12" 208 | } 209 | }, 210 | "node_modules/@esbuild/freebsd-x64": { 211 | "version": "0.17.19", 212 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", 213 | "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", 214 | "cpu": [ 215 | "x64" 216 | ], 217 | "optional": true, 218 | "os": [ 219 | "freebsd" 220 | ], 221 | "engines": { 222 | "node": ">=12" 223 | } 224 | }, 225 | "node_modules/@esbuild/linux-arm": { 226 | "version": "0.17.19", 227 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", 228 | "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", 229 | "cpu": [ 230 | "arm" 231 | ], 232 | "optional": true, 233 | "os": [ 234 | "linux" 235 | ], 236 | "engines": { 237 | "node": ">=12" 238 | } 239 | }, 240 | "node_modules/@esbuild/linux-arm64": { 241 | "version": "0.17.19", 242 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", 243 | "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", 244 | "cpu": [ 245 | "arm64" 246 | ], 247 | "optional": true, 248 | "os": [ 249 | "linux" 250 | ], 251 | "engines": { 252 | "node": ">=12" 253 | } 254 | }, 255 | "node_modules/@esbuild/linux-ia32": { 256 | "version": "0.17.19", 257 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", 258 | "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", 259 | "cpu": [ 260 | "ia32" 261 | ], 262 | "optional": true, 263 | "os": [ 264 | "linux" 265 | ], 266 | "engines": { 267 | "node": ">=12" 268 | } 269 | }, 270 | "node_modules/@esbuild/linux-loong64": { 271 | "version": "0.17.19", 272 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", 273 | "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", 274 | "cpu": [ 275 | "loong64" 276 | ], 277 | "optional": true, 278 | "os": [ 279 | "linux" 280 | ], 281 | "engines": { 282 | "node": ">=12" 283 | } 284 | }, 285 | "node_modules/@esbuild/linux-mips64el": { 286 | "version": "0.17.19", 287 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", 288 | "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", 289 | "cpu": [ 290 | "mips64el" 291 | ], 292 | "optional": true, 293 | "os": [ 294 | "linux" 295 | ], 296 | "engines": { 297 | "node": ">=12" 298 | } 299 | }, 300 | "node_modules/@esbuild/linux-ppc64": { 301 | "version": "0.17.19", 302 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", 303 | "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", 304 | "cpu": [ 305 | "ppc64" 306 | ], 307 | "optional": true, 308 | "os": [ 309 | "linux" 310 | ], 311 | "engines": { 312 | "node": ">=12" 313 | } 314 | }, 315 | "node_modules/@esbuild/linux-riscv64": { 316 | "version": "0.17.19", 317 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", 318 | "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", 319 | "cpu": [ 320 | "riscv64" 321 | ], 322 | "optional": true, 323 | "os": [ 324 | "linux" 325 | ], 326 | "engines": { 327 | "node": ">=12" 328 | } 329 | }, 330 | "node_modules/@esbuild/linux-s390x": { 331 | "version": "0.17.19", 332 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", 333 | "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", 334 | "cpu": [ 335 | "s390x" 336 | ], 337 | "optional": true, 338 | "os": [ 339 | "linux" 340 | ], 341 | "engines": { 342 | "node": ">=12" 343 | } 344 | }, 345 | "node_modules/@esbuild/linux-x64": { 346 | "version": "0.17.19", 347 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", 348 | "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", 349 | "cpu": [ 350 | "x64" 351 | ], 352 | "optional": true, 353 | "os": [ 354 | "linux" 355 | ], 356 | "engines": { 357 | "node": ">=12" 358 | } 359 | }, 360 | "node_modules/@esbuild/netbsd-x64": { 361 | "version": "0.17.19", 362 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", 363 | "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", 364 | "cpu": [ 365 | "x64" 366 | ], 367 | "optional": true, 368 | "os": [ 369 | "netbsd" 370 | ], 371 | "engines": { 372 | "node": ">=12" 373 | } 374 | }, 375 | "node_modules/@esbuild/openbsd-x64": { 376 | "version": "0.17.19", 377 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", 378 | "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", 379 | "cpu": [ 380 | "x64" 381 | ], 382 | "optional": true, 383 | "os": [ 384 | "openbsd" 385 | ], 386 | "engines": { 387 | "node": ">=12" 388 | } 389 | }, 390 | "node_modules/@esbuild/sunos-x64": { 391 | "version": "0.17.19", 392 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", 393 | "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", 394 | "cpu": [ 395 | "x64" 396 | ], 397 | "optional": true, 398 | "os": [ 399 | "sunos" 400 | ], 401 | "engines": { 402 | "node": ">=12" 403 | } 404 | }, 405 | "node_modules/@esbuild/win32-arm64": { 406 | "version": "0.17.19", 407 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", 408 | "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", 409 | "cpu": [ 410 | "arm64" 411 | ], 412 | "optional": true, 413 | "os": [ 414 | "win32" 415 | ], 416 | "engines": { 417 | "node": ">=12" 418 | } 419 | }, 420 | "node_modules/@esbuild/win32-ia32": { 421 | "version": "0.17.19", 422 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", 423 | "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", 424 | "cpu": [ 425 | "ia32" 426 | ], 427 | "optional": true, 428 | "os": [ 429 | "win32" 430 | ], 431 | "engines": { 432 | "node": ">=12" 433 | } 434 | }, 435 | "node_modules/@esbuild/win32-x64": { 436 | "version": "0.17.19", 437 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", 438 | "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", 439 | "cpu": [ 440 | "x64" 441 | ], 442 | "optional": true, 443 | "os": [ 444 | "win32" 445 | ], 446 | "engines": { 447 | "node": ">=12" 448 | } 449 | }, 450 | "node_modules/@fastify/busboy": { 451 | "version": "2.0.0", 452 | "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", 453 | "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", 454 | "engines": { 455 | "node": ">=14" 456 | } 457 | }, 458 | "node_modules/@types/node": { 459 | "version": "20.9.0", 460 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", 461 | "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", 462 | "dependencies": { 463 | "undici-types": "~5.26.4" 464 | } 465 | }, 466 | "node_modules/@types/node-forge": { 467 | "version": "1.3.9", 468 | "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.9.tgz", 469 | "integrity": "sha512-meK88cx/sTalPSLSoCzkiUB4VPIFHmxtXm5FaaqRDqBX2i/Sy8bJ4odsan0b20RBjPh06dAQ+OTTdnyQyhJZyQ==", 470 | "dependencies": { 471 | "@types/node": "*" 472 | } 473 | }, 474 | "node_modules/acorn": { 475 | "version": "8.11.2", 476 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", 477 | "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", 478 | "bin": { 479 | "acorn": "bin/acorn" 480 | }, 481 | "engines": { 482 | "node": ">=0.4.0" 483 | } 484 | }, 485 | "node_modules/acorn-walk": { 486 | "version": "8.3.0", 487 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", 488 | "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", 489 | "engines": { 490 | "node": ">=0.4.0" 491 | } 492 | }, 493 | "node_modules/anymatch": { 494 | "version": "3.1.3", 495 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 496 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 497 | "dependencies": { 498 | "normalize-path": "^3.0.0", 499 | "picomatch": "^2.0.4" 500 | }, 501 | "engines": { 502 | "node": ">= 8" 503 | } 504 | }, 505 | "node_modules/as-table": { 506 | "version": "1.0.55", 507 | "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", 508 | "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", 509 | "dependencies": { 510 | "printable-characters": "^1.0.42" 511 | } 512 | }, 513 | "node_modules/asn1.js": { 514 | "version": "5.4.1", 515 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", 516 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", 517 | "dev": true, 518 | "dependencies": { 519 | "bn.js": "^4.0.0", 520 | "inherits": "^2.0.1", 521 | "minimalistic-assert": "^1.0.0", 522 | "safer-buffer": "^2.1.0" 523 | } 524 | }, 525 | "node_modules/asn1.js/node_modules/bn.js": { 526 | "version": "4.12.0", 527 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 528 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 529 | "dev": true 530 | }, 531 | "node_modules/assert": { 532 | "version": "1.5.1", 533 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", 534 | "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", 535 | "dev": true, 536 | "dependencies": { 537 | "object.assign": "^4.1.4", 538 | "util": "^0.10.4" 539 | } 540 | }, 541 | "node_modules/assert/node_modules/inherits": { 542 | "version": "2.0.3", 543 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 544 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", 545 | "dev": true 546 | }, 547 | "node_modules/assert/node_modules/util": { 548 | "version": "0.10.4", 549 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", 550 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", 551 | "dev": true, 552 | "dependencies": { 553 | "inherits": "2.0.3" 554 | } 555 | }, 556 | "node_modules/base64-js": { 557 | "version": "1.5.1", 558 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 559 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 560 | "dev": true, 561 | "funding": [ 562 | { 563 | "type": "github", 564 | "url": "https://github.com/sponsors/feross" 565 | }, 566 | { 567 | "type": "patreon", 568 | "url": "https://www.patreon.com/feross" 569 | }, 570 | { 571 | "type": "consulting", 572 | "url": "https://feross.org/support" 573 | } 574 | ] 575 | }, 576 | "node_modules/binary-extensions": { 577 | "version": "2.2.0", 578 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 579 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 580 | "engines": { 581 | "node": ">=8" 582 | } 583 | }, 584 | "node_modules/blake3-wasm": { 585 | "version": "2.1.5", 586 | "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", 587 | "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==" 588 | }, 589 | "node_modules/bn.js": { 590 | "version": "5.2.1", 591 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", 592 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", 593 | "dev": true 594 | }, 595 | "node_modules/braces": { 596 | "version": "3.0.2", 597 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 598 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 599 | "dependencies": { 600 | "fill-range": "^7.0.1" 601 | }, 602 | "engines": { 603 | "node": ">=8" 604 | } 605 | }, 606 | "node_modules/brorand": { 607 | "version": "1.1.0", 608 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 609 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", 610 | "dev": true 611 | }, 612 | "node_modules/browserify-aes": { 613 | "version": "1.2.0", 614 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 615 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 616 | "dev": true, 617 | "dependencies": { 618 | "buffer-xor": "^1.0.3", 619 | "cipher-base": "^1.0.0", 620 | "create-hash": "^1.1.0", 621 | "evp_bytestokey": "^1.0.3", 622 | "inherits": "^2.0.1", 623 | "safe-buffer": "^5.0.1" 624 | } 625 | }, 626 | "node_modules/browserify-cipher": { 627 | "version": "1.0.1", 628 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 629 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 630 | "dev": true, 631 | "dependencies": { 632 | "browserify-aes": "^1.0.4", 633 | "browserify-des": "^1.0.0", 634 | "evp_bytestokey": "^1.0.0" 635 | } 636 | }, 637 | "node_modules/browserify-des": { 638 | "version": "1.0.2", 639 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 640 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 641 | "dev": true, 642 | "dependencies": { 643 | "cipher-base": "^1.0.1", 644 | "des.js": "^1.0.0", 645 | "inherits": "^2.0.1", 646 | "safe-buffer": "^5.1.2" 647 | } 648 | }, 649 | "node_modules/browserify-rsa": { 650 | "version": "4.1.0", 651 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", 652 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", 653 | "dev": true, 654 | "dependencies": { 655 | "bn.js": "^5.0.0", 656 | "randombytes": "^2.0.1" 657 | } 658 | }, 659 | "node_modules/browserify-sign": { 660 | "version": "4.2.2", 661 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", 662 | "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", 663 | "dev": true, 664 | "dependencies": { 665 | "bn.js": "^5.2.1", 666 | "browserify-rsa": "^4.1.0", 667 | "create-hash": "^1.2.0", 668 | "create-hmac": "^1.1.7", 669 | "elliptic": "^6.5.4", 670 | "inherits": "^2.0.4", 671 | "parse-asn1": "^5.1.6", 672 | "readable-stream": "^3.6.2", 673 | "safe-buffer": "^5.2.1" 674 | }, 675 | "engines": { 676 | "node": ">= 4" 677 | } 678 | }, 679 | "node_modules/browserify-sign/node_modules/readable-stream": { 680 | "version": "3.6.2", 681 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 682 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 683 | "dev": true, 684 | "dependencies": { 685 | "inherits": "^2.0.3", 686 | "string_decoder": "^1.1.1", 687 | "util-deprecate": "^1.0.1" 688 | }, 689 | "engines": { 690 | "node": ">= 6" 691 | } 692 | }, 693 | "node_modules/browserify-zlib": { 694 | "version": "0.2.0", 695 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", 696 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", 697 | "dev": true, 698 | "dependencies": { 699 | "pako": "~1.0.5" 700 | } 701 | }, 702 | "node_modules/buffer": { 703 | "version": "4.9.2", 704 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", 705 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", 706 | "dev": true, 707 | "dependencies": { 708 | "base64-js": "^1.0.2", 709 | "ieee754": "^1.1.4", 710 | "isarray": "^1.0.0" 711 | } 712 | }, 713 | "node_modules/buffer-from": { 714 | "version": "1.1.2", 715 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 716 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" 717 | }, 718 | "node_modules/buffer-xor": { 719 | "version": "1.0.3", 720 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 721 | "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", 722 | "dev": true 723 | }, 724 | "node_modules/builtin-status-codes": { 725 | "version": "3.0.0", 726 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", 727 | "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", 728 | "dev": true 729 | }, 730 | "node_modules/call-bind": { 731 | "version": "1.0.5", 732 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", 733 | "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", 734 | "dev": true, 735 | "dependencies": { 736 | "function-bind": "^1.1.2", 737 | "get-intrinsic": "^1.2.1", 738 | "set-function-length": "^1.1.1" 739 | }, 740 | "funding": { 741 | "url": "https://github.com/sponsors/ljharb" 742 | } 743 | }, 744 | "node_modules/capnp-ts": { 745 | "version": "0.7.0", 746 | "resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz", 747 | "integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==", 748 | "dependencies": { 749 | "debug": "^4.3.1", 750 | "tslib": "^2.2.0" 751 | } 752 | }, 753 | "node_modules/chokidar": { 754 | "version": "3.5.3", 755 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 756 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 757 | "funding": [ 758 | { 759 | "type": "individual", 760 | "url": "https://paulmillr.com/funding/" 761 | } 762 | ], 763 | "dependencies": { 764 | "anymatch": "~3.1.2", 765 | "braces": "~3.0.2", 766 | "glob-parent": "~5.1.2", 767 | "is-binary-path": "~2.1.0", 768 | "is-glob": "~4.0.1", 769 | "normalize-path": "~3.0.0", 770 | "readdirp": "~3.6.0" 771 | }, 772 | "engines": { 773 | "node": ">= 8.10.0" 774 | }, 775 | "optionalDependencies": { 776 | "fsevents": "~2.3.2" 777 | } 778 | }, 779 | "node_modules/cipher-base": { 780 | "version": "1.0.4", 781 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 782 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 783 | "dev": true, 784 | "dependencies": { 785 | "inherits": "^2.0.1", 786 | "safe-buffer": "^5.0.1" 787 | } 788 | }, 789 | "node_modules/console-browserify": { 790 | "version": "1.2.0", 791 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", 792 | "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", 793 | "dev": true 794 | }, 795 | "node_modules/constants-browserify": { 796 | "version": "1.0.0", 797 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", 798 | "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", 799 | "dev": true 800 | }, 801 | "node_modules/cookie": { 802 | "version": "0.5.0", 803 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 804 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", 805 | "engines": { 806 | "node": ">= 0.6" 807 | } 808 | }, 809 | "node_modules/core-util-is": { 810 | "version": "1.0.3", 811 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 812 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 813 | "dev": true 814 | }, 815 | "node_modules/create-ecdh": { 816 | "version": "4.0.4", 817 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", 818 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", 819 | "dev": true, 820 | "dependencies": { 821 | "bn.js": "^4.1.0", 822 | "elliptic": "^6.5.3" 823 | } 824 | }, 825 | "node_modules/create-ecdh/node_modules/bn.js": { 826 | "version": "4.12.0", 827 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 828 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 829 | "dev": true 830 | }, 831 | "node_modules/create-hash": { 832 | "version": "1.2.0", 833 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 834 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 835 | "dev": true, 836 | "dependencies": { 837 | "cipher-base": "^1.0.1", 838 | "inherits": "^2.0.1", 839 | "md5.js": "^1.3.4", 840 | "ripemd160": "^2.0.1", 841 | "sha.js": "^2.4.0" 842 | } 843 | }, 844 | "node_modules/create-hmac": { 845 | "version": "1.1.7", 846 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 847 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 848 | "dev": true, 849 | "dependencies": { 850 | "cipher-base": "^1.0.3", 851 | "create-hash": "^1.1.0", 852 | "inherits": "^2.0.1", 853 | "ripemd160": "^2.0.0", 854 | "safe-buffer": "^5.0.1", 855 | "sha.js": "^2.4.8" 856 | } 857 | }, 858 | "node_modules/crypto-browserify": { 859 | "version": "3.12.0", 860 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", 861 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", 862 | "dev": true, 863 | "dependencies": { 864 | "browserify-cipher": "^1.0.0", 865 | "browserify-sign": "^4.0.0", 866 | "create-ecdh": "^4.0.0", 867 | "create-hash": "^1.1.0", 868 | "create-hmac": "^1.1.0", 869 | "diffie-hellman": "^5.0.0", 870 | "inherits": "^2.0.1", 871 | "pbkdf2": "^3.0.3", 872 | "public-encrypt": "^4.0.0", 873 | "randombytes": "^2.0.0", 874 | "randomfill": "^1.0.3" 875 | }, 876 | "engines": { 877 | "node": "*" 878 | } 879 | }, 880 | "node_modules/data-uri-to-buffer": { 881 | "version": "2.0.2", 882 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", 883 | "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==" 884 | }, 885 | "node_modules/debug": { 886 | "version": "4.3.4", 887 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 888 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 889 | "dependencies": { 890 | "ms": "2.1.2" 891 | }, 892 | "engines": { 893 | "node": ">=6.0" 894 | }, 895 | "peerDependenciesMeta": { 896 | "supports-color": { 897 | "optional": true 898 | } 899 | } 900 | }, 901 | "node_modules/define-data-property": { 902 | "version": "1.1.1", 903 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", 904 | "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", 905 | "dev": true, 906 | "dependencies": { 907 | "get-intrinsic": "^1.2.1", 908 | "gopd": "^1.0.1", 909 | "has-property-descriptors": "^1.0.0" 910 | }, 911 | "engines": { 912 | "node": ">= 0.4" 913 | } 914 | }, 915 | "node_modules/define-properties": { 916 | "version": "1.2.1", 917 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", 918 | "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", 919 | "dev": true, 920 | "dependencies": { 921 | "define-data-property": "^1.0.1", 922 | "has-property-descriptors": "^1.0.0", 923 | "object-keys": "^1.1.1" 924 | }, 925 | "engines": { 926 | "node": ">= 0.4" 927 | }, 928 | "funding": { 929 | "url": "https://github.com/sponsors/ljharb" 930 | } 931 | }, 932 | "node_modules/des.js": { 933 | "version": "1.1.0", 934 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", 935 | "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", 936 | "dev": true, 937 | "dependencies": { 938 | "inherits": "^2.0.1", 939 | "minimalistic-assert": "^1.0.0" 940 | } 941 | }, 942 | "node_modules/diffie-hellman": { 943 | "version": "5.0.3", 944 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 945 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 946 | "dev": true, 947 | "dependencies": { 948 | "bn.js": "^4.1.0", 949 | "miller-rabin": "^4.0.0", 950 | "randombytes": "^2.0.0" 951 | } 952 | }, 953 | "node_modules/diffie-hellman/node_modules/bn.js": { 954 | "version": "4.12.0", 955 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 956 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 957 | "dev": true 958 | }, 959 | "node_modules/domain-browser": { 960 | "version": "1.2.0", 961 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", 962 | "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", 963 | "dev": true, 964 | "engines": { 965 | "node": ">=0.4", 966 | "npm": ">=1.2" 967 | } 968 | }, 969 | "node_modules/elliptic": { 970 | "version": "6.5.4", 971 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 972 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 973 | "dev": true, 974 | "dependencies": { 975 | "bn.js": "^4.11.9", 976 | "brorand": "^1.1.0", 977 | "hash.js": "^1.0.0", 978 | "hmac-drbg": "^1.0.1", 979 | "inherits": "^2.0.4", 980 | "minimalistic-assert": "^1.0.1", 981 | "minimalistic-crypto-utils": "^1.0.1" 982 | } 983 | }, 984 | "node_modules/elliptic/node_modules/bn.js": { 985 | "version": "4.12.0", 986 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 987 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 988 | "dev": true 989 | }, 990 | "node_modules/esbuild": { 991 | "version": "0.17.19", 992 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", 993 | "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", 994 | "hasInstallScript": true, 995 | "bin": { 996 | "esbuild": "bin/esbuild" 997 | }, 998 | "engines": { 999 | "node": ">=12" 1000 | }, 1001 | "optionalDependencies": { 1002 | "@esbuild/android-arm": "0.17.19", 1003 | "@esbuild/android-arm64": "0.17.19", 1004 | "@esbuild/android-x64": "0.17.19", 1005 | "@esbuild/darwin-arm64": "0.17.19", 1006 | "@esbuild/darwin-x64": "0.17.19", 1007 | "@esbuild/freebsd-arm64": "0.17.19", 1008 | "@esbuild/freebsd-x64": "0.17.19", 1009 | "@esbuild/linux-arm": "0.17.19", 1010 | "@esbuild/linux-arm64": "0.17.19", 1011 | "@esbuild/linux-ia32": "0.17.19", 1012 | "@esbuild/linux-loong64": "0.17.19", 1013 | "@esbuild/linux-mips64el": "0.17.19", 1014 | "@esbuild/linux-ppc64": "0.17.19", 1015 | "@esbuild/linux-riscv64": "0.17.19", 1016 | "@esbuild/linux-s390x": "0.17.19", 1017 | "@esbuild/linux-x64": "0.17.19", 1018 | "@esbuild/netbsd-x64": "0.17.19", 1019 | "@esbuild/openbsd-x64": "0.17.19", 1020 | "@esbuild/sunos-x64": "0.17.19", 1021 | "@esbuild/win32-arm64": "0.17.19", 1022 | "@esbuild/win32-ia32": "0.17.19", 1023 | "@esbuild/win32-x64": "0.17.19" 1024 | } 1025 | }, 1026 | "node_modules/escape-string-regexp": { 1027 | "version": "4.0.0", 1028 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1029 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1030 | "engines": { 1031 | "node": ">=10" 1032 | }, 1033 | "funding": { 1034 | "url": "https://github.com/sponsors/sindresorhus" 1035 | } 1036 | }, 1037 | "node_modules/estree-walker": { 1038 | "version": "0.6.1", 1039 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", 1040 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" 1041 | }, 1042 | "node_modules/events": { 1043 | "version": "3.3.0", 1044 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 1045 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 1046 | "dev": true, 1047 | "engines": { 1048 | "node": ">=0.8.x" 1049 | } 1050 | }, 1051 | "node_modules/evp_bytestokey": { 1052 | "version": "1.0.3", 1053 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 1054 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 1055 | "dev": true, 1056 | "dependencies": { 1057 | "md5.js": "^1.3.4", 1058 | "safe-buffer": "^5.1.1" 1059 | } 1060 | }, 1061 | "node_modules/exit-hook": { 1062 | "version": "2.2.1", 1063 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 1064 | "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 1065 | "engines": { 1066 | "node": ">=6" 1067 | }, 1068 | "funding": { 1069 | "url": "https://github.com/sponsors/sindresorhus" 1070 | } 1071 | }, 1072 | "node_modules/fill-range": { 1073 | "version": "7.0.1", 1074 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1075 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1076 | "dependencies": { 1077 | "to-regex-range": "^5.0.1" 1078 | }, 1079 | "engines": { 1080 | "node": ">=8" 1081 | } 1082 | }, 1083 | "node_modules/fsevents": { 1084 | "version": "2.3.3", 1085 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1086 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1087 | "hasInstallScript": true, 1088 | "optional": true, 1089 | "os": [ 1090 | "darwin" 1091 | ], 1092 | "engines": { 1093 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1094 | } 1095 | }, 1096 | "node_modules/function-bind": { 1097 | "version": "1.1.2", 1098 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1099 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1100 | "dev": true, 1101 | "funding": { 1102 | "url": "https://github.com/sponsors/ljharb" 1103 | } 1104 | }, 1105 | "node_modules/get-intrinsic": { 1106 | "version": "1.2.2", 1107 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", 1108 | "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", 1109 | "dev": true, 1110 | "dependencies": { 1111 | "function-bind": "^1.1.2", 1112 | "has-proto": "^1.0.1", 1113 | "has-symbols": "^1.0.3", 1114 | "hasown": "^2.0.0" 1115 | }, 1116 | "funding": { 1117 | "url": "https://github.com/sponsors/ljharb" 1118 | } 1119 | }, 1120 | "node_modules/get-source": { 1121 | "version": "2.0.12", 1122 | "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", 1123 | "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", 1124 | "dependencies": { 1125 | "data-uri-to-buffer": "^2.0.0", 1126 | "source-map": "^0.6.1" 1127 | } 1128 | }, 1129 | "node_modules/get-source/node_modules/source-map": { 1130 | "version": "0.6.1", 1131 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1132 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1133 | "engines": { 1134 | "node": ">=0.10.0" 1135 | } 1136 | }, 1137 | "node_modules/glob-parent": { 1138 | "version": "5.1.2", 1139 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1140 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1141 | "dependencies": { 1142 | "is-glob": "^4.0.1" 1143 | }, 1144 | "engines": { 1145 | "node": ">= 6" 1146 | } 1147 | }, 1148 | "node_modules/glob-to-regexp": { 1149 | "version": "0.4.1", 1150 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1151 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 1152 | }, 1153 | "node_modules/gopd": { 1154 | "version": "1.0.1", 1155 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 1156 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 1157 | "dev": true, 1158 | "dependencies": { 1159 | "get-intrinsic": "^1.1.3" 1160 | }, 1161 | "funding": { 1162 | "url": "https://github.com/sponsors/ljharb" 1163 | } 1164 | }, 1165 | "node_modules/has-property-descriptors": { 1166 | "version": "1.0.1", 1167 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", 1168 | "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", 1169 | "dev": true, 1170 | "dependencies": { 1171 | "get-intrinsic": "^1.2.2" 1172 | }, 1173 | "funding": { 1174 | "url": "https://github.com/sponsors/ljharb" 1175 | } 1176 | }, 1177 | "node_modules/has-proto": { 1178 | "version": "1.0.1", 1179 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 1180 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", 1181 | "dev": true, 1182 | "engines": { 1183 | "node": ">= 0.4" 1184 | }, 1185 | "funding": { 1186 | "url": "https://github.com/sponsors/ljharb" 1187 | } 1188 | }, 1189 | "node_modules/has-symbols": { 1190 | "version": "1.0.3", 1191 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1192 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 1193 | "dev": true, 1194 | "engines": { 1195 | "node": ">= 0.4" 1196 | }, 1197 | "funding": { 1198 | "url": "https://github.com/sponsors/ljharb" 1199 | } 1200 | }, 1201 | "node_modules/hash-base": { 1202 | "version": "3.1.0", 1203 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", 1204 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", 1205 | "dev": true, 1206 | "dependencies": { 1207 | "inherits": "^2.0.4", 1208 | "readable-stream": "^3.6.0", 1209 | "safe-buffer": "^5.2.0" 1210 | }, 1211 | "engines": { 1212 | "node": ">=4" 1213 | } 1214 | }, 1215 | "node_modules/hash-base/node_modules/readable-stream": { 1216 | "version": "3.6.2", 1217 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1218 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 1219 | "dev": true, 1220 | "dependencies": { 1221 | "inherits": "^2.0.3", 1222 | "string_decoder": "^1.1.1", 1223 | "util-deprecate": "^1.0.1" 1224 | }, 1225 | "engines": { 1226 | "node": ">= 6" 1227 | } 1228 | }, 1229 | "node_modules/hash.js": { 1230 | "version": "1.1.7", 1231 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 1232 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 1233 | "dev": true, 1234 | "dependencies": { 1235 | "inherits": "^2.0.3", 1236 | "minimalistic-assert": "^1.0.1" 1237 | } 1238 | }, 1239 | "node_modules/hasown": { 1240 | "version": "2.0.0", 1241 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", 1242 | "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", 1243 | "dev": true, 1244 | "dependencies": { 1245 | "function-bind": "^1.1.2" 1246 | }, 1247 | "engines": { 1248 | "node": ">= 0.4" 1249 | } 1250 | }, 1251 | "node_modules/hmac-drbg": { 1252 | "version": "1.0.1", 1253 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1254 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", 1255 | "dev": true, 1256 | "dependencies": { 1257 | "hash.js": "^1.0.3", 1258 | "minimalistic-assert": "^1.0.0", 1259 | "minimalistic-crypto-utils": "^1.0.1" 1260 | } 1261 | }, 1262 | "node_modules/https-browserify": { 1263 | "version": "1.0.0", 1264 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", 1265 | "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", 1266 | "dev": true 1267 | }, 1268 | "node_modules/ieee754": { 1269 | "version": "1.2.1", 1270 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1271 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1272 | "dev": true, 1273 | "funding": [ 1274 | { 1275 | "type": "github", 1276 | "url": "https://github.com/sponsors/feross" 1277 | }, 1278 | { 1279 | "type": "patreon", 1280 | "url": "https://www.patreon.com/feross" 1281 | }, 1282 | { 1283 | "type": "consulting", 1284 | "url": "https://feross.org/support" 1285 | } 1286 | ] 1287 | }, 1288 | "node_modules/inherits": { 1289 | "version": "2.0.4", 1290 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1291 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1292 | "dev": true 1293 | }, 1294 | "node_modules/is-binary-path": { 1295 | "version": "2.1.0", 1296 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1297 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1298 | "dependencies": { 1299 | "binary-extensions": "^2.0.0" 1300 | }, 1301 | "engines": { 1302 | "node": ">=8" 1303 | } 1304 | }, 1305 | "node_modules/is-extglob": { 1306 | "version": "2.1.1", 1307 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1308 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1309 | "engines": { 1310 | "node": ">=0.10.0" 1311 | } 1312 | }, 1313 | "node_modules/is-glob": { 1314 | "version": "4.0.3", 1315 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1316 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1317 | "dependencies": { 1318 | "is-extglob": "^2.1.1" 1319 | }, 1320 | "engines": { 1321 | "node": ">=0.10.0" 1322 | } 1323 | }, 1324 | "node_modules/is-number": { 1325 | "version": "7.0.0", 1326 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1327 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1328 | "engines": { 1329 | "node": ">=0.12.0" 1330 | } 1331 | }, 1332 | "node_modules/isarray": { 1333 | "version": "1.0.0", 1334 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1335 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 1336 | "dev": true 1337 | }, 1338 | "node_modules/isexe": { 1339 | "version": "2.0.0", 1340 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1341 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1342 | "dev": true 1343 | }, 1344 | "node_modules/magic-string": { 1345 | "version": "0.25.9", 1346 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1347 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1348 | "dependencies": { 1349 | "sourcemap-codec": "^1.4.8" 1350 | } 1351 | }, 1352 | "node_modules/md5.js": { 1353 | "version": "1.3.5", 1354 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 1355 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 1356 | "dev": true, 1357 | "dependencies": { 1358 | "hash-base": "^3.0.0", 1359 | "inherits": "^2.0.1", 1360 | "safe-buffer": "^5.1.2" 1361 | } 1362 | }, 1363 | "node_modules/miller-rabin": { 1364 | "version": "4.0.1", 1365 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 1366 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 1367 | "dev": true, 1368 | "dependencies": { 1369 | "bn.js": "^4.0.0", 1370 | "brorand": "^1.0.1" 1371 | }, 1372 | "bin": { 1373 | "miller-rabin": "bin/miller-rabin" 1374 | } 1375 | }, 1376 | "node_modules/miller-rabin/node_modules/bn.js": { 1377 | "version": "4.12.0", 1378 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1379 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 1380 | "dev": true 1381 | }, 1382 | "node_modules/mime": { 1383 | "version": "3.0.0", 1384 | "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", 1385 | "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", 1386 | "bin": { 1387 | "mime": "cli.js" 1388 | }, 1389 | "engines": { 1390 | "node": ">=10.0.0" 1391 | } 1392 | }, 1393 | "node_modules/miniflare": { 1394 | "version": "3.20231025.0", 1395 | "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20231025.0.tgz", 1396 | "integrity": "sha512-pFcr2BRaGIQ26UfdDo8BMJ6kkd/Jo/FkQ/4K7UG/eORlDepsLrR/sTJddcSSIGl07MA+MGjhzopFTPpFskkS+g==", 1397 | "dependencies": { 1398 | "acorn": "^8.8.0", 1399 | "acorn-walk": "^8.2.0", 1400 | "capnp-ts": "^0.7.0", 1401 | "exit-hook": "^2.2.1", 1402 | "glob-to-regexp": "^0.4.1", 1403 | "source-map-support": "0.5.21", 1404 | "stoppable": "^1.1.0", 1405 | "undici": "^5.22.1", 1406 | "workerd": "1.20231025.0", 1407 | "ws": "^8.11.0", 1408 | "youch": "^3.2.2", 1409 | "zod": "^3.20.6" 1410 | }, 1411 | "engines": { 1412 | "node": ">=16.13" 1413 | } 1414 | }, 1415 | "node_modules/miniflare/node_modules/source-map": { 1416 | "version": "0.6.1", 1417 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1418 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1419 | "engines": { 1420 | "node": ">=0.10.0" 1421 | } 1422 | }, 1423 | "node_modules/miniflare/node_modules/source-map-support": { 1424 | "version": "0.5.21", 1425 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1426 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1427 | "dependencies": { 1428 | "buffer-from": "^1.0.0", 1429 | "source-map": "^0.6.0" 1430 | } 1431 | }, 1432 | "node_modules/miniflare/node_modules/ws": { 1433 | "version": "8.14.2", 1434 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", 1435 | "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", 1436 | "engines": { 1437 | "node": ">=10.0.0" 1438 | }, 1439 | "peerDependencies": { 1440 | "bufferutil": "^4.0.1", 1441 | "utf-8-validate": ">=5.0.2" 1442 | }, 1443 | "peerDependenciesMeta": { 1444 | "bufferutil": { 1445 | "optional": true 1446 | }, 1447 | "utf-8-validate": { 1448 | "optional": true 1449 | } 1450 | } 1451 | }, 1452 | "node_modules/minimalistic-assert": { 1453 | "version": "1.0.1", 1454 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 1455 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", 1456 | "dev": true 1457 | }, 1458 | "node_modules/minimalistic-crypto-utils": { 1459 | "version": "1.0.1", 1460 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1461 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", 1462 | "dev": true 1463 | }, 1464 | "node_modules/ms": { 1465 | "version": "2.1.2", 1466 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1467 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1468 | }, 1469 | "node_modules/mustache": { 1470 | "version": "4.2.0", 1471 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", 1472 | "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", 1473 | "bin": { 1474 | "mustache": "bin/mustache" 1475 | } 1476 | }, 1477 | "node_modules/nanoid": { 1478 | "version": "3.3.7", 1479 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 1480 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 1481 | "funding": [ 1482 | { 1483 | "type": "github", 1484 | "url": "https://github.com/sponsors/ai" 1485 | } 1486 | ], 1487 | "bin": { 1488 | "nanoid": "bin/nanoid.cjs" 1489 | }, 1490 | "engines": { 1491 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1492 | } 1493 | }, 1494 | "node_modules/node-forge": { 1495 | "version": "1.3.1", 1496 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", 1497 | "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", 1498 | "engines": { 1499 | "node": ">= 6.13.0" 1500 | } 1501 | }, 1502 | "node_modules/node-libs-browser": { 1503 | "version": "2.2.1", 1504 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", 1505 | "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", 1506 | "dev": true, 1507 | "dependencies": { 1508 | "assert": "^1.1.1", 1509 | "browserify-zlib": "^0.2.0", 1510 | "buffer": "^4.3.0", 1511 | "console-browserify": "^1.1.0", 1512 | "constants-browserify": "^1.0.0", 1513 | "crypto-browserify": "^3.11.0", 1514 | "domain-browser": "^1.1.1", 1515 | "events": "^3.0.0", 1516 | "https-browserify": "^1.0.0", 1517 | "os-browserify": "^0.3.0", 1518 | "path-browserify": "0.0.1", 1519 | "process": "^0.11.10", 1520 | "punycode": "^1.2.4", 1521 | "querystring-es3": "^0.2.0", 1522 | "readable-stream": "^2.3.3", 1523 | "stream-browserify": "^2.0.1", 1524 | "stream-http": "^2.7.2", 1525 | "string_decoder": "^1.0.0", 1526 | "timers-browserify": "^2.0.4", 1527 | "tty-browserify": "0.0.0", 1528 | "url": "^0.11.0", 1529 | "util": "^0.11.0", 1530 | "vm-browserify": "^1.0.1" 1531 | } 1532 | }, 1533 | "node_modules/normalize-path": { 1534 | "version": "3.0.0", 1535 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1536 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1537 | "engines": { 1538 | "node": ">=0.10.0" 1539 | } 1540 | }, 1541 | "node_modules/object-inspect": { 1542 | "version": "1.13.1", 1543 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 1544 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 1545 | "dev": true, 1546 | "funding": { 1547 | "url": "https://github.com/sponsors/ljharb" 1548 | } 1549 | }, 1550 | "node_modules/object-keys": { 1551 | "version": "1.1.1", 1552 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1553 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1554 | "dev": true, 1555 | "engines": { 1556 | "node": ">= 0.4" 1557 | } 1558 | }, 1559 | "node_modules/object.assign": { 1560 | "version": "4.1.4", 1561 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", 1562 | "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", 1563 | "dev": true, 1564 | "dependencies": { 1565 | "call-bind": "^1.0.2", 1566 | "define-properties": "^1.1.4", 1567 | "has-symbols": "^1.0.3", 1568 | "object-keys": "^1.1.1" 1569 | }, 1570 | "engines": { 1571 | "node": ">= 0.4" 1572 | }, 1573 | "funding": { 1574 | "url": "https://github.com/sponsors/ljharb" 1575 | } 1576 | }, 1577 | "node_modules/os-browserify": { 1578 | "version": "0.3.0", 1579 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", 1580 | "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", 1581 | "dev": true 1582 | }, 1583 | "node_modules/pako": { 1584 | "version": "1.0.11", 1585 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 1586 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", 1587 | "dev": true 1588 | }, 1589 | "node_modules/parse-asn1": { 1590 | "version": "5.1.6", 1591 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", 1592 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", 1593 | "dev": true, 1594 | "dependencies": { 1595 | "asn1.js": "^5.2.0", 1596 | "browserify-aes": "^1.0.0", 1597 | "evp_bytestokey": "^1.0.0", 1598 | "pbkdf2": "^3.0.3", 1599 | "safe-buffer": "^5.1.1" 1600 | } 1601 | }, 1602 | "node_modules/path-browserify": { 1603 | "version": "0.0.1", 1604 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", 1605 | "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", 1606 | "dev": true 1607 | }, 1608 | "node_modules/path-to-regexp": { 1609 | "version": "6.2.1", 1610 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", 1611 | "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" 1612 | }, 1613 | "node_modules/pbkdf2": { 1614 | "version": "3.1.2", 1615 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", 1616 | "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", 1617 | "dev": true, 1618 | "dependencies": { 1619 | "create-hash": "^1.1.2", 1620 | "create-hmac": "^1.1.4", 1621 | "ripemd160": "^2.0.1", 1622 | "safe-buffer": "^5.0.1", 1623 | "sha.js": "^2.4.8" 1624 | }, 1625 | "engines": { 1626 | "node": ">=0.12" 1627 | } 1628 | }, 1629 | "node_modules/picomatch": { 1630 | "version": "2.3.1", 1631 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1632 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1633 | "engines": { 1634 | "node": ">=8.6" 1635 | }, 1636 | "funding": { 1637 | "url": "https://github.com/sponsors/jonschlinkert" 1638 | } 1639 | }, 1640 | "node_modules/printable-characters": { 1641 | "version": "1.0.42", 1642 | "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", 1643 | "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==" 1644 | }, 1645 | "node_modules/process": { 1646 | "version": "0.11.10", 1647 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1648 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1649 | "dev": true, 1650 | "engines": { 1651 | "node": ">= 0.6.0" 1652 | } 1653 | }, 1654 | "node_modules/process-nextick-args": { 1655 | "version": "2.0.1", 1656 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1657 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 1658 | "dev": true 1659 | }, 1660 | "node_modules/public-encrypt": { 1661 | "version": "4.0.3", 1662 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 1663 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 1664 | "dev": true, 1665 | "dependencies": { 1666 | "bn.js": "^4.1.0", 1667 | "browserify-rsa": "^4.0.0", 1668 | "create-hash": "^1.1.0", 1669 | "parse-asn1": "^5.0.0", 1670 | "randombytes": "^2.0.1", 1671 | "safe-buffer": "^5.1.2" 1672 | } 1673 | }, 1674 | "node_modules/public-encrypt/node_modules/bn.js": { 1675 | "version": "4.12.0", 1676 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1677 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", 1678 | "dev": true 1679 | }, 1680 | "node_modules/punycode": { 1681 | "version": "1.4.1", 1682 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1683 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", 1684 | "dev": true 1685 | }, 1686 | "node_modules/qs": { 1687 | "version": "6.11.2", 1688 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", 1689 | "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", 1690 | "dev": true, 1691 | "dependencies": { 1692 | "side-channel": "^1.0.4" 1693 | }, 1694 | "engines": { 1695 | "node": ">=0.6" 1696 | }, 1697 | "funding": { 1698 | "url": "https://github.com/sponsors/ljharb" 1699 | } 1700 | }, 1701 | "node_modules/querystring-es3": { 1702 | "version": "0.2.1", 1703 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", 1704 | "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", 1705 | "dev": true, 1706 | "engines": { 1707 | "node": ">=0.4.x" 1708 | } 1709 | }, 1710 | "node_modules/randombytes": { 1711 | "version": "2.1.0", 1712 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1713 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1714 | "dev": true, 1715 | "dependencies": { 1716 | "safe-buffer": "^5.1.0" 1717 | } 1718 | }, 1719 | "node_modules/randomfill": { 1720 | "version": "1.0.4", 1721 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 1722 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 1723 | "dev": true, 1724 | "dependencies": { 1725 | "randombytes": "^2.0.5", 1726 | "safe-buffer": "^5.1.0" 1727 | } 1728 | }, 1729 | "node_modules/readable-stream": { 1730 | "version": "2.3.8", 1731 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 1732 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 1733 | "dev": true, 1734 | "dependencies": { 1735 | "core-util-is": "~1.0.0", 1736 | "inherits": "~2.0.3", 1737 | "isarray": "~1.0.0", 1738 | "process-nextick-args": "~2.0.0", 1739 | "safe-buffer": "~5.1.1", 1740 | "string_decoder": "~1.1.1", 1741 | "util-deprecate": "~1.0.1" 1742 | } 1743 | }, 1744 | "node_modules/readable-stream/node_modules/safe-buffer": { 1745 | "version": "5.1.2", 1746 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1747 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1748 | "dev": true 1749 | }, 1750 | "node_modules/readable-stream/node_modules/string_decoder": { 1751 | "version": "1.1.1", 1752 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1753 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1754 | "dev": true, 1755 | "dependencies": { 1756 | "safe-buffer": "~5.1.0" 1757 | } 1758 | }, 1759 | "node_modules/readdirp": { 1760 | "version": "3.6.0", 1761 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1762 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1763 | "dependencies": { 1764 | "picomatch": "^2.2.1" 1765 | }, 1766 | "engines": { 1767 | "node": ">=8.10.0" 1768 | } 1769 | }, 1770 | "node_modules/readline-sync": { 1771 | "version": "1.4.10", 1772 | "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", 1773 | "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", 1774 | "dev": true, 1775 | "engines": { 1776 | "node": ">= 0.8.0" 1777 | } 1778 | }, 1779 | "node_modules/resolve.exports": { 1780 | "version": "2.0.2", 1781 | "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", 1782 | "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", 1783 | "engines": { 1784 | "node": ">=10" 1785 | } 1786 | }, 1787 | "node_modules/ripemd160": { 1788 | "version": "2.0.2", 1789 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 1790 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 1791 | "dev": true, 1792 | "dependencies": { 1793 | "hash-base": "^3.0.0", 1794 | "inherits": "^2.0.1" 1795 | } 1796 | }, 1797 | "node_modules/rollup-plugin-inject": { 1798 | "version": "3.0.2", 1799 | "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", 1800 | "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", 1801 | "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", 1802 | "dependencies": { 1803 | "estree-walker": "^0.6.1", 1804 | "magic-string": "^0.25.3", 1805 | "rollup-pluginutils": "^2.8.1" 1806 | } 1807 | }, 1808 | "node_modules/rollup-plugin-node-polyfills": { 1809 | "version": "0.2.1", 1810 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", 1811 | "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", 1812 | "dependencies": { 1813 | "rollup-plugin-inject": "^3.0.0" 1814 | } 1815 | }, 1816 | "node_modules/rollup-pluginutils": { 1817 | "version": "2.8.2", 1818 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 1819 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 1820 | "dependencies": { 1821 | "estree-walker": "^0.6.1" 1822 | } 1823 | }, 1824 | "node_modules/safe-buffer": { 1825 | "version": "5.2.1", 1826 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1827 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1828 | "dev": true, 1829 | "funding": [ 1830 | { 1831 | "type": "github", 1832 | "url": "https://github.com/sponsors/feross" 1833 | }, 1834 | { 1835 | "type": "patreon", 1836 | "url": "https://www.patreon.com/feross" 1837 | }, 1838 | { 1839 | "type": "consulting", 1840 | "url": "https://feross.org/support" 1841 | } 1842 | ] 1843 | }, 1844 | "node_modules/safer-buffer": { 1845 | "version": "2.1.2", 1846 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1847 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1848 | "dev": true 1849 | }, 1850 | "node_modules/selfsigned": { 1851 | "version": "2.4.1", 1852 | "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", 1853 | "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", 1854 | "dependencies": { 1855 | "@types/node-forge": "^1.3.0", 1856 | "node-forge": "^1" 1857 | }, 1858 | "engines": { 1859 | "node": ">=10" 1860 | } 1861 | }, 1862 | "node_modules/set-function-length": { 1863 | "version": "1.1.1", 1864 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", 1865 | "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", 1866 | "dev": true, 1867 | "dependencies": { 1868 | "define-data-property": "^1.1.1", 1869 | "get-intrinsic": "^1.2.1", 1870 | "gopd": "^1.0.1", 1871 | "has-property-descriptors": "^1.0.0" 1872 | }, 1873 | "engines": { 1874 | "node": ">= 0.4" 1875 | } 1876 | }, 1877 | "node_modules/setimmediate": { 1878 | "version": "1.0.5", 1879 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 1880 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 1881 | "dev": true 1882 | }, 1883 | "node_modules/sha.js": { 1884 | "version": "2.4.11", 1885 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 1886 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 1887 | "dev": true, 1888 | "dependencies": { 1889 | "inherits": "^2.0.1", 1890 | "safe-buffer": "^5.0.1" 1891 | }, 1892 | "bin": { 1893 | "sha.js": "bin.js" 1894 | } 1895 | }, 1896 | "node_modules/shadow-cljs": { 1897 | "version": "2.25.10", 1898 | "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.25.10.tgz", 1899 | "integrity": "sha512-EjqAEVc+YALo9w4zDPL4wBIECmpO4L7cvd1ppSziRySsOEo4u2HKg3nPqe7xo0WzHE53woGGLLNcygM6sxtUxg==", 1900 | "dev": true, 1901 | "dependencies": { 1902 | "node-libs-browser": "^2.2.1", 1903 | "readline-sync": "^1.4.7", 1904 | "shadow-cljs-jar": "1.3.4", 1905 | "source-map-support": "^0.4.15", 1906 | "which": "^1.3.1", 1907 | "ws": "^7.4.6" 1908 | }, 1909 | "bin": { 1910 | "shadow-cljs": "cli/runner.js" 1911 | }, 1912 | "engines": { 1913 | "node": ">=6.0.0" 1914 | } 1915 | }, 1916 | "node_modules/shadow-cljs-jar": { 1917 | "version": "1.3.4", 1918 | "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz", 1919 | "integrity": "sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA==", 1920 | "dev": true 1921 | }, 1922 | "node_modules/side-channel": { 1923 | "version": "1.0.4", 1924 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1925 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1926 | "dev": true, 1927 | "dependencies": { 1928 | "call-bind": "^1.0.0", 1929 | "get-intrinsic": "^1.0.2", 1930 | "object-inspect": "^1.9.0" 1931 | }, 1932 | "funding": { 1933 | "url": "https://github.com/sponsors/ljharb" 1934 | } 1935 | }, 1936 | "node_modules/source-map": { 1937 | "version": "0.5.7", 1938 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1939 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", 1940 | "dev": true, 1941 | "engines": { 1942 | "node": ">=0.10.0" 1943 | } 1944 | }, 1945 | "node_modules/source-map-support": { 1946 | "version": "0.4.18", 1947 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 1948 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 1949 | "dev": true, 1950 | "dependencies": { 1951 | "source-map": "^0.5.6" 1952 | } 1953 | }, 1954 | "node_modules/sourcemap-codec": { 1955 | "version": "1.4.8", 1956 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1957 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 1958 | "deprecated": "Please use @jridgewell/sourcemap-codec instead" 1959 | }, 1960 | "node_modules/stacktracey": { 1961 | "version": "2.1.8", 1962 | "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz", 1963 | "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==", 1964 | "dependencies": { 1965 | "as-table": "^1.0.36", 1966 | "get-source": "^2.0.12" 1967 | } 1968 | }, 1969 | "node_modules/stoppable": { 1970 | "version": "1.1.0", 1971 | "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", 1972 | "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", 1973 | "engines": { 1974 | "node": ">=4", 1975 | "npm": ">=6" 1976 | } 1977 | }, 1978 | "node_modules/stream-browserify": { 1979 | "version": "2.0.2", 1980 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", 1981 | "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", 1982 | "dev": true, 1983 | "dependencies": { 1984 | "inherits": "~2.0.1", 1985 | "readable-stream": "^2.0.2" 1986 | } 1987 | }, 1988 | "node_modules/stream-http": { 1989 | "version": "2.8.3", 1990 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", 1991 | "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", 1992 | "dev": true, 1993 | "dependencies": { 1994 | "builtin-status-codes": "^3.0.0", 1995 | "inherits": "^2.0.1", 1996 | "readable-stream": "^2.3.6", 1997 | "to-arraybuffer": "^1.0.0", 1998 | "xtend": "^4.0.0" 1999 | } 2000 | }, 2001 | "node_modules/string_decoder": { 2002 | "version": "1.3.0", 2003 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2004 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2005 | "dev": true, 2006 | "dependencies": { 2007 | "safe-buffer": "~5.2.0" 2008 | } 2009 | }, 2010 | "node_modules/timers-browserify": { 2011 | "version": "2.0.12", 2012 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", 2013 | "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", 2014 | "dev": true, 2015 | "dependencies": { 2016 | "setimmediate": "^1.0.4" 2017 | }, 2018 | "engines": { 2019 | "node": ">=0.6.0" 2020 | } 2021 | }, 2022 | "node_modules/to-arraybuffer": { 2023 | "version": "1.0.1", 2024 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", 2025 | "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", 2026 | "dev": true 2027 | }, 2028 | "node_modules/to-regex-range": { 2029 | "version": "5.0.1", 2030 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2031 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2032 | "dependencies": { 2033 | "is-number": "^7.0.0" 2034 | }, 2035 | "engines": { 2036 | "node": ">=8.0" 2037 | } 2038 | }, 2039 | "node_modules/tslib": { 2040 | "version": "2.6.2", 2041 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 2042 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 2043 | }, 2044 | "node_modules/tty-browserify": { 2045 | "version": "0.0.0", 2046 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", 2047 | "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", 2048 | "dev": true 2049 | }, 2050 | "node_modules/undici": { 2051 | "version": "5.27.2", 2052 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", 2053 | "integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==", 2054 | "dependencies": { 2055 | "@fastify/busboy": "^2.0.0" 2056 | }, 2057 | "engines": { 2058 | "node": ">=14.0" 2059 | } 2060 | }, 2061 | "node_modules/undici-types": { 2062 | "version": "5.26.5", 2063 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 2064 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" 2065 | }, 2066 | "node_modules/url": { 2067 | "version": "0.11.3", 2068 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", 2069 | "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", 2070 | "dev": true, 2071 | "dependencies": { 2072 | "punycode": "^1.4.1", 2073 | "qs": "^6.11.2" 2074 | } 2075 | }, 2076 | "node_modules/util": { 2077 | "version": "0.11.1", 2078 | "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", 2079 | "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", 2080 | "dev": true, 2081 | "dependencies": { 2082 | "inherits": "2.0.3" 2083 | } 2084 | }, 2085 | "node_modules/util-deprecate": { 2086 | "version": "1.0.2", 2087 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2088 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2089 | "dev": true 2090 | }, 2091 | "node_modules/util/node_modules/inherits": { 2092 | "version": "2.0.3", 2093 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 2094 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", 2095 | "dev": true 2096 | }, 2097 | "node_modules/vm-browserify": { 2098 | "version": "1.1.2", 2099 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", 2100 | "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", 2101 | "dev": true 2102 | }, 2103 | "node_modules/which": { 2104 | "version": "1.3.1", 2105 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2106 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2107 | "dev": true, 2108 | "dependencies": { 2109 | "isexe": "^2.0.0" 2110 | }, 2111 | "bin": { 2112 | "which": "bin/which" 2113 | } 2114 | }, 2115 | "node_modules/workerd": { 2116 | "version": "1.20231025.0", 2117 | "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20231025.0.tgz", 2118 | "integrity": "sha512-W1PFtpMFfvmm+ozBf+u70TE3Pviv7WA4qzDeejHDC4z+PFDq4+3KJCkgffaGBO86h+akWO0hSsc0uXL2zAqofQ==", 2119 | "hasInstallScript": true, 2120 | "bin": { 2121 | "workerd": "bin/workerd" 2122 | }, 2123 | "engines": { 2124 | "node": ">=16" 2125 | }, 2126 | "optionalDependencies": { 2127 | "@cloudflare/workerd-darwin-64": "1.20231025.0", 2128 | "@cloudflare/workerd-darwin-arm64": "1.20231025.0", 2129 | "@cloudflare/workerd-linux-64": "1.20231025.0", 2130 | "@cloudflare/workerd-linux-arm64": "1.20231025.0", 2131 | "@cloudflare/workerd-windows-64": "1.20231025.0" 2132 | } 2133 | }, 2134 | "node_modules/wrangler": { 2135 | "version": "3.15.0", 2136 | "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.15.0.tgz", 2137 | "integrity": "sha512-kxzK62rD+LRrDeZZzw8cP6FBub71vJCbfAAb594XobXajgXYh3pFjv18Vm8YLxHzoGMhmAOJPA5b4DHq4HEUCw==", 2138 | "dependencies": { 2139 | "@cloudflare/kv-asset-handler": "^0.2.0", 2140 | "@esbuild-plugins/node-globals-polyfill": "^0.2.3", 2141 | "@esbuild-plugins/node-modules-polyfill": "^0.2.2", 2142 | "blake3-wasm": "^2.1.5", 2143 | "chokidar": "^3.5.3", 2144 | "esbuild": "0.17.19", 2145 | "miniflare": "3.20231025.0", 2146 | "nanoid": "^3.3.3", 2147 | "path-to-regexp": "^6.2.0", 2148 | "resolve.exports": "^2.0.2", 2149 | "selfsigned": "^2.0.1", 2150 | "source-map": "0.6.1", 2151 | "source-map-support": "0.5.21", 2152 | "xxhash-wasm": "^1.0.1" 2153 | }, 2154 | "bin": { 2155 | "wrangler": "bin/wrangler.js", 2156 | "wrangler2": "bin/wrangler.js" 2157 | }, 2158 | "engines": { 2159 | "node": ">=16.17.0" 2160 | }, 2161 | "optionalDependencies": { 2162 | "fsevents": "~2.3.2" 2163 | } 2164 | }, 2165 | "node_modules/wrangler/node_modules/source-map": { 2166 | "version": "0.6.1", 2167 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2168 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2169 | "engines": { 2170 | "node": ">=0.10.0" 2171 | } 2172 | }, 2173 | "node_modules/wrangler/node_modules/source-map-support": { 2174 | "version": "0.5.21", 2175 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2176 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2177 | "dependencies": { 2178 | "buffer-from": "^1.0.0", 2179 | "source-map": "^0.6.0" 2180 | } 2181 | }, 2182 | "node_modules/ws": { 2183 | "version": "7.5.9", 2184 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", 2185 | "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", 2186 | "dev": true, 2187 | "engines": { 2188 | "node": ">=8.3.0" 2189 | }, 2190 | "peerDependencies": { 2191 | "bufferutil": "^4.0.1", 2192 | "utf-8-validate": "^5.0.2" 2193 | }, 2194 | "peerDependenciesMeta": { 2195 | "bufferutil": { 2196 | "optional": true 2197 | }, 2198 | "utf-8-validate": { 2199 | "optional": true 2200 | } 2201 | } 2202 | }, 2203 | "node_modules/xtend": { 2204 | "version": "4.0.2", 2205 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 2206 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 2207 | "dev": true, 2208 | "engines": { 2209 | "node": ">=0.4" 2210 | } 2211 | }, 2212 | "node_modules/xxhash-wasm": { 2213 | "version": "1.0.2", 2214 | "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", 2215 | "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==" 2216 | }, 2217 | "node_modules/youch": { 2218 | "version": "3.3.3", 2219 | "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz", 2220 | "integrity": "sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==", 2221 | "dependencies": { 2222 | "cookie": "^0.5.0", 2223 | "mustache": "^4.2.0", 2224 | "stacktracey": "^2.1.8" 2225 | } 2226 | }, 2227 | "node_modules/zod": { 2228 | "version": "3.22.4", 2229 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", 2230 | "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", 2231 | "funding": { 2232 | "url": "https://github.com/sponsors/colinhacks" 2233 | } 2234 | } 2235 | } 2236 | } 2237 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cljs-cf-worker", 3 | "version": "0.0.1", 4 | "private": true, 5 | "devDependencies": { 6 | "shadow-cljs": "2.25.10" 7 | }, 8 | "dependencies": { 9 | "wrangler": "^3.15.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /shadow-cljs.edn: -------------------------------------------------------------------------------- 1 | ;; shadow-cljs configuration 2 | {:source-paths 3 | ["src/dev" 4 | "src/main" 5 | "src/test"] 6 | 7 | :dependencies 8 | [] 9 | 10 | :builds 11 | {:worker 12 | {:target :esm 13 | :output-dir "cljs-worker/out" 14 | :modules 15 | {:main 16 | {:exports {default my.app.demo-worker/example}}} 17 | 18 | ;; runtime doesn't allow creation of websockets outside of request handler 19 | ;; also complains about eval 20 | :devtools 21 | {:enabled false} 22 | }}} 23 | -------------------------------------------------------------------------------- /src/main/my/app/demo_worker.cljs: -------------------------------------------------------------------------------- 1 | (ns my.app.demo-worker) 2 | 3 | (def example 4 | #js {:fetch 5 | (fn [] 6 | (js/Response. "Hello from CLJS!" 7 | (clj->js 8 | {:headers 9 | {:content-type "text/plain"}})))}) 10 | --------------------------------------------------------------------------------