A work-in-progress chat bot for Streamplace with chat overlay functionality
2
fork

Configure Feed

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

Updated to Fresh 2.2.0

+148 -106
+43 -42
deno.json
··· 1 1 { 2 - "nodeModulesDir": "auto", 3 - "tasks": { 4 - "check": "deno fmt --check . && deno lint . && deno check", 5 - "dev": "deno run -A --watch=static/,routes/ dev.ts", 6 - "build": "deno run -A dev.ts build", 7 - "start": "deno serve -A _fresh/server.js", 8 - "update": "deno run -A -r jsr:@fresh/update ." 9 - }, 10 - "lint": { "rules": { "tags": ["fresh", "recommended"] } }, 11 - "exclude": ["**/_fresh/*"], 12 - "imports": { 13 - "@atcute/atproto": "npm:@atcute/atproto@^3.1.4", 14 - "@atcute/client": "npm:@atcute/client@^4.0.3", 15 - "@atcute/identity-resolver": "npm:@atcute/identity-resolver@^1.1.3", 16 - "@atcute/lexicons": "npm:@atcute/lexicons@^1.1.1", 17 - "@std/dotenv": "jsr:@std/dotenv@^0.225.5", 18 - "fresh": "jsr:@fresh/core@^2.1.1", 19 - "preact": "npm:preact@^10.27.2", 20 - "@preact/signals": "npm:@preact/signals@^2.3.1" 21 - }, 22 - "compilerOptions": { 23 - "lib": ["dom", "dom.asynciterable", "dom.iterable", "deno.ns"], 24 - "jsx": "precompile", 25 - "jsxImportSource": "preact", 26 - "jsxPrecompileSkipElements": [ 27 - "a", 28 - "img", 29 - "source", 30 - "body", 31 - "html", 32 - "head", 33 - "title", 34 - "meta", 35 - "script", 36 - "link", 37 - "style", 38 - "base", 39 - "noscript", 40 - "template" 41 - ] 42 - }, 43 - "fmt": { "useTabs": true, "indentWidth": 4 } 2 + "nodeModulesDir": "auto", 3 + "tasks": { 4 + "check": "deno fmt --check . && deno lint . && deno check", 5 + "dev": "deno run -A --watch=static/,routes/ dev.ts", 6 + "build": "deno run -A dev.ts build", 7 + "start": "deno serve -A _fresh/server.js", 8 + "update": "deno run -A -r jsr:@fresh/update ." 9 + }, 10 + "lint": { "rules": { "tags": ["fresh", "recommended"] } }, 11 + "exclude": ["**/_fresh/*"], 12 + "imports": { 13 + "@atcute/atproto": "npm:@atcute/atproto@^3.1.4", 14 + "@atcute/bluesky-richtext-builder": "npm:@atcute/bluesky-richtext-builder@^2.0.4", 15 + "@atcute/client": "npm:@atcute/client@^4.0.3", 16 + "@atcute/identity-resolver": "npm:@atcute/identity-resolver@^1.1.3", 17 + "@atcute/lexicons": "npm:@atcute/lexicons@^1.1.1", 18 + "@std/dotenv": "jsr:@std/dotenv@^0.225.5", 19 + "fresh": "jsr:@fresh/core@^2.2.0", 20 + "preact": "npm:preact@^10.27.2", 21 + "@preact/signals": "npm:@preact/signals@^2.5.0" 22 + }, 23 + "compilerOptions": { 24 + "lib": ["dom", "dom.asynciterable", "dom.iterable", "deno.ns"], 25 + "jsx": "precompile", 26 + "jsxImportSource": "preact", 27 + "jsxPrecompileSkipElements": [ 28 + "a", 29 + "img", 30 + "source", 31 + "body", 32 + "html", 33 + "head", 34 + "title", 35 + "meta", 36 + "script", 37 + "link", 38 + "style", 39 + "base", 40 + "noscript", 41 + "template" 42 + ] 43 + }, 44 + "fmt": { "useTabs": true, "indentWidth": 4 } 44 45 }
+105 -64
deno.lock
··· 2 2 "version": "5", 3 3 "specifiers": { 4 4 "jsr:@deno/esbuild-plugin@^1.2.0": "1.2.0", 5 - "jsr:@deno/loader@~0.3.3": "0.3.5", 5 + "jsr:@deno/loader@~0.3.3": "0.3.6", 6 6 "jsr:@fresh/build-id@1": "1.0.1", 7 - "jsr:@fresh/core@^2.1.1": "2.1.1", 7 + "jsr:@fresh/core@^2.2.0": "2.2.0", 8 8 "jsr:@std/bytes@^1.0.6": "1.0.6", 9 9 "jsr:@std/dotenv@~0.225.5": "0.225.5", 10 - "jsr:@std/encoding@1": "1.0.10", 11 10 "jsr:@std/encoding@^1.0.10": "1.0.10", 12 - "jsr:@std/fmt@^1.0.8": "1.0.8", 13 - "jsr:@std/fs@1": "1.0.19", 14 - "jsr:@std/html@1": "1.0.4", 15 - "jsr:@std/http@^1.0.15": "1.0.20", 16 - "jsr:@std/internal@^1.0.10": "1.0.10", 11 + "jsr:@std/fmt@^1.0.8": "1.0.9", 12 + "jsr:@std/fs@^1.0.19": "1.0.21", 13 + "jsr:@std/html@^1.0.5": "1.0.5", 14 + "jsr:@std/http@^1.0.21": "1.0.24", 15 + "jsr:@std/internal@^1.0.12": "1.0.12", 17 16 "jsr:@std/json@^1.0.2": "1.0.2", 18 - "jsr:@std/jsonc@1": "1.0.2", 19 - "jsr:@std/media-types@1": "1.1.0", 20 - "jsr:@std/path@1": "1.1.2", 21 - "jsr:@std/path@^1.1.1": "1.1.2", 22 - "jsr:@std/semver@1": "1.0.5", 23 - "jsr:@std/uuid@^1.0.7": "1.0.9", 24 - "npm:@atcute/atproto@^3.1.4": "3.1.4", 17 + "jsr:@std/jsonc@^1.0.2": "1.0.2", 18 + "jsr:@std/media-types@^1.1.0": "1.1.0", 19 + "jsr:@std/path@^1.1.1": "1.1.4", 20 + "jsr:@std/path@^1.1.2": "1.1.4", 21 + "jsr:@std/path@^1.1.4": "1.1.4", 22 + "jsr:@std/semver@^1.0.6": "1.0.8", 23 + "jsr:@std/uuid@^1.0.9": "1.0.9", 24 + "npm:@atcute/atproto@^3.1.4": "3.1.10", 25 + "npm:@atcute/bluesky-richtext-builder@^2.0.4": "2.0.4", 25 26 "npm:@atcute/client@^4.0.3": "4.0.3", 26 27 "npm:@atcute/identity-resolver@^1.1.3": "1.1.3_@atcute+identity@1.1.0", 27 - "npm:@atcute/lexicons@^1.1.1": "1.1.1", 28 + "npm:@atcute/lexicons@^1.1.1": "1.2.7", 28 29 "npm:@opentelemetry/api@^1.9.0": "1.9.0", 29 - "npm:@preact/signals@^2.2.1": "2.3.1_preact@10.27.2", 30 - "npm:@preact/signals@^2.3.1": "2.3.1_preact@10.27.2", 30 + "npm:@preact/signals@^2.2.1": "2.6.2_preact@10.28.3", 31 + "npm:@preact/signals@^2.5.0": "2.6.2_preact@10.28.3", 31 32 "npm:@types/node@*": "22.15.15", 32 - "npm:esbuild-wasm@0.25.7": "0.25.7", 33 + "npm:esbuild-wasm@~0.25.11": "0.25.12", 33 34 "npm:esbuild@0.25.7": "0.25.7", 34 35 "npm:esbuild@~0.25.5": "0.25.7", 35 - "npm:preact-render-to-string@^6.5.11": "6.6.1_preact@10.27.2", 36 - "npm:preact@^10.27.0": "10.27.2", 37 - "npm:preact@^10.27.2": "10.27.2" 36 + "npm:preact-render-to-string@^6.6.3": "6.6.5_preact@10.28.3", 37 + "npm:preact@^10.27.0": "10.28.3", 38 + "npm:preact@^10.27.2": "10.28.3" 38 39 }, 39 40 "jsr": { 40 41 "@deno/esbuild-plugin@1.2.0": { ··· 45 46 "npm:esbuild@~0.25.5" 46 47 ] 47 48 }, 48 - "@deno/loader@0.3.5": { 49 - "integrity": "72f6ce9c6e7242c6e070705dbd8a838884dd236d5dd0bd907d08bece92db5722" 49 + "@deno/loader@0.3.6": { 50 + "integrity": "98f08d837c18ece5ba15122264fb29580967407c34e6552e152b8f453a60c2be" 50 51 }, 51 52 "@fresh/build-id@1.0.1": { 52 53 "integrity": "12a2ec25fd52ae9ec68c26848a5696cd1c9b537f7c983c7e56e4fb1e7e816c20", 53 54 "dependencies": [ 54 - "jsr:@std/encoding@^1.0.10" 55 + "jsr:@std/encoding" 55 56 ] 56 57 }, 57 - "@fresh/core@2.1.1": { 58 - "integrity": "8ec49ee86c54947faf965d67e206383c79333bee2b7e891594e87bbd31b16d52", 58 + "@fresh/core@2.2.0": { 59 + "integrity": "b3c00f82288a2c4c8ec85e4abb67b080b366ec5971860f2f2898eb281ea1a80f", 59 60 "dependencies": [ 60 61 "jsr:@deno/esbuild-plugin", 61 62 "jsr:@fresh/build-id", 62 - "jsr:@std/encoding@1", 63 + "jsr:@std/encoding", 63 64 "jsr:@std/fmt", 64 65 "jsr:@std/fs", 65 66 "jsr:@std/html", 66 67 "jsr:@std/http", 67 68 "jsr:@std/jsonc", 68 69 "jsr:@std/media-types", 69 - "jsr:@std/path@1", 70 + "jsr:@std/path@^1.1.2", 70 71 "jsr:@std/semver", 71 72 "jsr:@std/uuid", 72 73 "npm:@opentelemetry/api", ··· 74 75 "npm:esbuild-wasm", 75 76 "npm:esbuild@0.25.7", 76 77 "npm:preact-render-to-string", 77 - "npm:preact@^10.27.0" 78 + "npm:preact@^10.27.0", 79 + "npm:preact@^10.27.2" 78 80 ] 79 81 }, 80 82 "@std/bytes@1.0.6": { ··· 86 88 "@std/encoding@1.0.10": { 87 89 "integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1" 88 90 }, 89 - "@std/fmt@1.0.8": { 90 - "integrity": "71e1fc498787e4434d213647a6e43e794af4fd393ef8f52062246e06f7e372b7" 91 + "@std/fmt@1.0.9": { 92 + "integrity": "2487343e8899fb2be5d0e3d35013e54477ada198854e52dd05ed0422eddcabe0" 91 93 }, 92 - "@std/fs@1.0.19": { 93 - "integrity": "051968c2b1eae4d2ea9f79a08a3845740ef6af10356aff43d3e2ef11ed09fb06", 94 + "@std/fs@1.0.21": { 95 + "integrity": "d720fe1056d78d43065a4d6e0eeb2b19f34adb8a0bc7caf3a4dbf1d4178252cd", 94 96 "dependencies": [ 95 - "jsr:@std/path@^1.1.1" 97 + "jsr:@std/path@^1.1.4" 96 98 ] 97 99 }, 98 - "@std/html@1.0.4": { 99 - "integrity": "eff3497c08164e6ada49b7f81a28b5108087033823153d065e3f89467dd3d50e" 100 + "@std/html@1.0.5": { 101 + "integrity": "4e2d693f474cae8c16a920fa5e15a3b72267b94b84667f11a50c6dd1cb18d35e" 100 102 }, 101 - "@std/http@1.0.20": { 102 - "integrity": "b5cc33fc001bccce65ed4c51815668c9891c69ccd908295997e983d8f56070a1", 103 + "@std/http@1.0.24": { 104 + "integrity": "4dd59afd7cfd6e2e96e175b67a5a829b449ae55f08575721ec691e5d85d886d4", 103 105 "dependencies": [ 104 - "jsr:@std/encoding@^1.0.10" 106 + "jsr:@std/encoding" 105 107 ] 106 108 }, 107 - "@std/internal@1.0.10": { 108 - "integrity": "e3be62ce42cab0e177c27698e5d9800122f67b766a0bea6ca4867886cbde8cf7" 109 + "@std/internal@1.0.12": { 110 + "integrity": "972a634fd5bc34b242024402972cd5143eac68d8dffaca5eaa4dba30ce17b027" 109 111 }, 110 112 "@std/json@1.0.2": { 111 113 "integrity": "d9e5497801c15fb679f55a2c01c7794ad7a5dfda4dd1bebab5e409cb5e0d34d4" ··· 119 121 "@std/media-types@1.1.0": { 120 122 "integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4" 121 123 }, 122 - "@std/path@1.1.2": { 123 - "integrity": "c0b13b97dfe06546d5e16bf3966b1cadf92e1cc83e56ba5476ad8b498d9e3038", 124 + "@std/path@1.1.4": { 125 + "integrity": "1d2d43f39efb1b42f0b1882a25486647cb851481862dc7313390b2bb044314b5", 124 126 "dependencies": [ 125 127 "jsr:@std/internal" 126 128 ] 127 129 }, 128 - "@std/semver@1.0.5": { 129 - "integrity": "529f79e83705714c105ad0ba55bec0f9da0f24d2f726b6cc1c15e505cc2c0624" 130 + "@std/semver@1.0.8": { 131 + "integrity": "dc830e8b8b6a380c895d53fbfd1258dc253704ca57bbe1629ac65fd7830179b7" 130 132 }, 131 133 "@std/uuid@1.0.9": { 132 134 "integrity": "44b627bf2d372fe1bd099e2ad41b2be41a777fc94e62a3151006895a037f1642", ··· 136 138 } 137 139 }, 138 140 "npm": { 139 - "@atcute/atproto@3.1.4": { 140 - "integrity": "sha512-v0/ue7mZYtjYw4vWbtda51bLwW88mqsUQB8F/UZNO18ANAQWmKq1HDceVqjvruaLe2QPqE43XM3WkEyZ2FhOrA==", 141 + "@atcute/atproto@3.1.10": { 142 + "integrity": "sha512-+GKZpOc0PJcdWMQEkTfg/rSNDAAHxmAUGBl60g2az15etqJn5WaUPNGFE2sB7hKpwi5Ue2h/L0OacINcE/JDDQ==", 141 143 "dependencies": [ 142 - "@atcute/lexicons" 144 + "@atcute/lexicons@1.2.7" 145 + ] 146 + }, 147 + "@atcute/bluesky-richtext-builder@2.0.4": { 148 + "integrity": "sha512-ydA9VWBPsBE/gbu1vYbmh7AZ8FLfxp+LE4eH5GgOTCOxwhs7Mgy1oHrHY+Er6gu6PfdoUoGso0uI3Wl3ZF/Mxg==", 149 + "dependencies": [ 150 + "@atcute/bluesky", 151 + "@atcute/lexicons@1.2.7" 152 + ] 153 + }, 154 + "@atcute/bluesky@3.2.16": { 155 + "integrity": "sha512-phFAJNE+SCkIbCcgzjFxntS2KpGvzkLw0JA9qKIXlueF4wNreEt/D5HjnB5eRR9pV1/kcD94II9f7ZAwarf0lQ==", 156 + "dependencies": [ 157 + "@atcute/atproto", 158 + "@atcute/lexicons@1.2.7" 143 159 ] 144 160 }, 145 161 "@atcute/client@4.0.3": { 146 162 "integrity": "sha512-RIOZWFVLca/HiPAAUDqQPOdOreCxTbL5cb+WUf5yqQOKIu5yEAP3eksinmlLmgIrlr5qVOE7brazUUzaskFCfw==", 147 163 "dependencies": [ 148 164 "@atcute/identity", 149 - "@atcute/lexicons" 165 + "@atcute/lexicons@1.1.1" 150 166 ] 151 167 }, 152 168 "@atcute/identity-resolver@1.1.3_@atcute+identity@1.1.0": { 153 169 "integrity": "sha512-KZgGgg99CWaV7Df3+h3X/WMrDzTPQVfsaoIVbTNLx2B56BvCL2EmaxPSVw/7BFUJMZHlVU4rtoEB4lyvNyMswA==", 154 170 "dependencies": [ 155 171 "@atcute/identity", 156 - "@atcute/lexicons", 172 + "@atcute/lexicons@1.1.1", 157 173 "@atcute/util-fetch", 158 174 "@badrap/valita" 159 175 ] ··· 161 177 "@atcute/identity@1.1.0": { 162 178 "integrity": "sha512-6vRvRqJatDB+JUQsb+UswYmtBGQnSZcqC3a2y6H5DB/v5KcIh+6nFFtc17G0+3W9rxdk7k9M4KkgkdKf/YDNoQ==", 163 179 "dependencies": [ 164 - "@atcute/lexicons", 180 + "@atcute/lexicons@1.1.1", 165 181 "@badrap/valita" 166 182 ] 167 183 }, ··· 171 187 "esm-env" 172 188 ] 173 189 }, 190 + "@atcute/lexicons@1.2.7": { 191 + "integrity": "sha512-gCvkSMI1F1zx7xXa59iPiSKMH3L5Hga6iurGqQjaQbE2V/np/2QuDqQzt96TNbWfaFAXE9f9oY+0z3ljf/bweA==", 192 + "dependencies": [ 193 + "@atcute/uint8array", 194 + "@atcute/util-text", 195 + "@standard-schema/spec", 196 + "esm-env" 197 + ] 198 + }, 199 + "@atcute/uint8array@1.1.0": { 200 + "integrity": "sha512-JtHXIVW6LPU9FMWp7SgE4HbUs3uV2WdfkK/2RWdEGjr4EgMV50P3FdU6fPeGlTfDNBJVYMIsuD2wwaKRPV/Aqg==" 201 + }, 174 202 "@atcute/util-fetch@1.0.2": { 175 203 "integrity": "sha512-6kOwQzaoPu7ss0EwvgSOPVg/JIJdozbXva5d/g99bBg8RaSX8se//INOyr/nby/GwrpxCIZU9Wzm+pl7xerI0Q==", 176 204 "dependencies": [ 177 205 "@badrap/valita" 206 + ] 207 + }, 208 + "@atcute/util-text@1.1.0": { 209 + "integrity": "sha512-34G9KD5Z9f7oEdFpZOmqrMnU86p8ne6LlxJowfZzKNszRcl1GH+FtEPh3N1woelJT2SkPXMK2anwT8DESTluwA==", 210 + "dependencies": [ 211 + "unicode-segmenter" 178 212 ] 179 213 }, 180 214 "@badrap/valita@0.4.6": { ··· 313 347 "@opentelemetry/api@1.9.0": { 314 348 "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==" 315 349 }, 316 - "@preact/signals-core@1.12.1": { 317 - "integrity": "sha512-BwbTXpj+9QutoZLQvbttRg5x3l5468qaV2kufh+51yha1c53ep5dY4kTuZR35+3pAZxpfQerGJiQqg34ZNZ6uA==" 350 + "@preact/signals-core@1.12.2": { 351 + "integrity": "sha512-5Yf8h1Ke3SMHr15xl630KtwPTW4sYDFkkxS0vQ8UiQLWwZQnrF9IKaVG1mN5VcJz52EcWs2acsc/Npjha/7ysA==" 318 352 }, 319 - "@preact/signals@2.3.1_preact@10.27.2": { 320 - "integrity": "sha512-nyuRIGmcwM/HjvFHhN2xUWfyla9D4llHt+prWoxjQfD6b5prO7CFPlG/xjJkP31Oic4KQXfH9SIhJFP9cy4lmg==", 353 + "@preact/signals@2.6.2_preact@10.28.3": { 354 + "integrity": "sha512-80PMfNS3d8t/J3cRNEJP14zRioWnavgqzX/+tsNGiCX6rpD26+eLkUQpa1sIeOERZMink+dAi34y0MJhg11LKQ==", 321 355 "dependencies": [ 322 356 "@preact/signals-core", 323 357 "preact" 324 358 ] 325 359 }, 360 + "@standard-schema/spec@1.1.0": { 361 + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==" 362 + }, 326 363 "@types/node@22.15.15": { 327 364 "integrity": "sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==", 328 365 "dependencies": [ 329 366 "undici-types" 330 367 ] 331 368 }, 332 - "esbuild-wasm@0.25.7": { 333 - "integrity": "sha512-x3t1BlU59YOMtpwzayHxF4LPVujOvNKqm7y6jPvFKC13J8FmJRCdHPJwHq86er7ik+f7uwGcMbe+6KVzLGmsGw==", 369 + "esbuild-wasm@0.25.12": { 370 + "integrity": "sha512-rZqkjL3Y6FwLpSHzLnaEy8Ps6veCNo1kZa9EOfJvmWtBq5dJH4iVjfmOO6Mlkv9B0tt9WFPFmb/VxlgJOnueNg==", 334 371 "bin": true 335 372 }, 336 373 "esbuild@0.25.7": { ··· 369 406 "esm-env@1.2.2": { 370 407 "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==" 371 408 }, 372 - "preact-render-to-string@6.6.1_preact@10.27.2": { 373 - "integrity": "sha512-IIMfXRjmbSP9QmG18WJLQa4Z4yx3J0VC9QN5q9z2XYlWSzFlJ+bSm/AyLyyV/YFwjof1OXFX2Mz6Ao60LXudJg==", 409 + "preact-render-to-string@6.6.5_preact@10.28.3": { 410 + "integrity": "sha512-O6MHzYNIKYaiSX3bOw0gGZfEbOmlIDtDfWwN1JJdc/T3ihzRT6tGGSEWE088dWrEDGa1u7101q+6fzQnO9XCPA==", 374 411 "dependencies": [ 375 412 "preact" 376 413 ] 377 414 }, 378 - "preact@10.27.2": { 379 - "integrity": "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==" 415 + "preact@10.28.3": { 416 + "integrity": "sha512-tCmoRkPQLpBeWzpmbhryairGnhW9tKV6c6gr/w+RhoRoKEJwsjzipwp//1oCpGPOchvSLaAPlpcJi9MwMmoPyA==" 380 417 }, 381 418 "undici-types@6.21.0": { 382 419 "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==" 420 + }, 421 + "unicode-segmenter@0.14.5": { 422 + "integrity": "sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==" 383 423 } 384 424 }, 385 425 "workspace": { 386 426 "dependencies": [ 387 - "jsr:@fresh/core@^2.1.1", 427 + "jsr:@fresh/core@^2.2.0", 388 428 "jsr:@std/dotenv@~0.225.5", 389 429 "npm:@atcute/atproto@^3.1.4", 430 + "npm:@atcute/bluesky-richtext-builder@^2.0.4", 390 431 "npm:@atcute/client@^4.0.3", 391 432 "npm:@atcute/identity-resolver@^1.1.3", 392 433 "npm:@atcute/lexicons@^1.1.1", 393 - "npm:@preact/signals@^2.3.1", 434 + "npm:@preact/signals@^2.5.0", 394 435 "npm:preact@^10.27.2" 395 436 ] 396 437 }