social bookmarking for atproto

[appview] minor lint changes

diddyfo.id babfc59a d1bea1e4

verified
+269 -58
+2 -1
backend/.gitignore
··· 2 2 node_modules/ 3 3 config.toml 4 4 *.db 5 - dist/ 5 + dist/ 6 + clippr-*.log
+15 -2
backend/config.example.toml
··· 1 1 ## This is a configuration file for Clippr. 2 - ## Please copy to "config.example.toml" before starting the server, otherwise it will not start. 3 - ## Modify as necessary. 2 + ## Please copy to "config.example.toml" before starting the server, 3 + ## otherwise it will not start. Modify as necessary. 4 4 5 5 hostname = "localhost" 6 6 port = 9090 7 + 8 + ## For most deployments, you will want to keep the log level at "info". 9 + ## If you are debugging the software, move it down to "debug". 10 + ## 11 + ## List of all recognized log levels, sorted by importance: 12 + ## "error" - Critical errors, typically leading to a crash or a degraded state. 13 + ## "warn" - General errors that do not inhibit the server's performance. 14 + ## "info" - Information about the server. Recommended. 15 + ## "http" - Include routing information from the web server. 16 + ## "verbose" - Details more of the server's operations. 17 + ## "debug" - Information for developers, meant for debugging. 18 + ## "silly" - Anything goes. 19 + log-level = "info" 7 20 8 21 ## How the SQLite database is stored. 9 22 ## For testing, you can store the database in memory with ":memory:"
+3 -2
backend/eslint.config.ts
··· 14 14 const compat = new FlatCompat({ baseDirectory: import.meta.dirname }); 15 15 16 16 export default tseslint.config( 17 - eslint.configs.recommended, 18 - tseslint.configs.recommended, 19 17 eslintPluginPrettierRecommended, 20 18 compat.extends("plugin:drizzle/recommended"), 19 + tseslint.configs.recommended, 20 + tseslint.configs.stylistic, 21 + eslint.configs.recommended, 21 22 );
+50 -51
backend/package.json
··· 1 1 { 2 - "name": "@clipprjs/server", 3 - "version": "0.1.0", 4 - "repository": "https://tangled.sh/@hexmani.ac/clippr", 5 - "license": "AGPL-3.0-only", 6 - "scripts": { 7 - "dev": "tsx watch src/main.ts", 8 - "build": "tsc", 9 - "start": "node dist/index.js", 10 - "lint": "npx eslint .", 11 - "lint-write": "npx eslint . --fix", 12 - "fmt": "npx prettier --write .", 13 - "db:push": "npx drizzle-kit push" 14 - }, 15 - "type": "module", 16 - "main": "src/main.ts", 17 - "engines": { 18 - "node": ">=24" 19 - }, 20 - "dependencies": { 21 - "@atcute/atproto": "^3.1.0", 22 - "@atcute/lexicon-doc": "^1.0.3", 23 - "@atcute/lexicons": "^1.1.0", 24 - "@clipprjs/lexicons": "^0.1.1", 25 - "@eslint/eslintrc": "^3.3.1", 26 - "@hono/node-server": "^1.15.0", 27 - "@libsql/client": "^0.15.9", 28 - "@skyware/jetstream": "^0.2.2", 29 - "drizzle-orm": "^0.44.2", 30 - "hono": "^4.8.4", 31 - "hono-pino": "^0.9.1", 32 - "pino": "^9.7.0", 33 - "toml": "^3.0.0" 34 - }, 35 - "devDependencies": { 36 - "@atcute/lex-cli": "^2.1.1", 37 - "@eslint/js": "^9.30.1", 38 - "@typescript-eslint/eslint-plugin": "^8.35.1", 39 - "@typescript-eslint/parser": "^8.35.1", 40 - "drizzle-kit": "^0.31.4", 41 - "eslint": "^9.30.1", 42 - "eslint-config-prettier": "^10.1.5", 43 - "eslint-plugin-drizzle": "^0.2.3", 44 - "eslint-plugin-import": "^2.32.0", 45 - "eslint-plugin-prettier": "^5.5.1", 46 - "globals": "^16.3.0", 47 - "jiti": "^2.4.2", 48 - "prettier": "^3.6.2", 49 - "tsx": "^4.20.3", 50 - "typescript": "^5.8.3", 51 - "typescript-eslint": "^8.35.1" 52 - } 2 + "name": "@clipprjs/server", 3 + "version": "0.1.0", 4 + "repository": "https://tangled.sh/@hexmani.ac/clippr", 5 + "license": "AGPL-3.0-only", 6 + "scripts": { 7 + "dev": "tsx watch src/main.ts", 8 + "build": "tsc", 9 + "start": "node dist/index.js", 10 + "lint": "npx eslint .", 11 + "lint-write": "npx eslint . --fix", 12 + "fmt": "npx prettier --write .", 13 + "db:push": "npx drizzle-kit push" 14 + }, 15 + "type": "module", 16 + "main": "src/main.ts", 17 + "engines": { 18 + "node": ">=24" 19 + }, 20 + "dependencies": { 21 + "@atcute/atproto": "^3.1.0", 22 + "@atcute/lexicon-doc": "^1.0.3", 23 + "@atcute/lexicons": "^1.1.0", 24 + "@clipprjs/lexicons": "^0.1.1", 25 + "@eslint/eslintrc": "^3.3.1", 26 + "@hono/node-server": "^1.15.0", 27 + "@libsql/client": "^0.15.9", 28 + "@skyware/jetstream": "^0.2.2", 29 + "drizzle-orm": "^0.44.2", 30 + "hono": "^4.8.4", 31 + "toml": "^3.0.0", 32 + "winston": "^3.17.0" 33 + }, 34 + "devDependencies": { 35 + "@atcute/lex-cli": "^2.1.1", 36 + "@eslint/js": "^9.30.1", 37 + "@typescript-eslint/eslint-plugin": "^8.35.1", 38 + "@typescript-eslint/parser": "^8.35.1", 39 + "drizzle-kit": "^0.31.4", 40 + "eslint": "^9.30.1", 41 + "eslint-config-prettier": "^10.1.5", 42 + "eslint-plugin-drizzle": "^0.2.3", 43 + "eslint-plugin-import": "^2.32.0", 44 + "eslint-plugin-prettier": "^5.5.1", 45 + "globals": "^16.3.0", 46 + "jiti": "^2.4.2", 47 + "prettier": "^3.6.2", 48 + "tsx": "^4.20.3", 49 + "typescript": "^5.8.3", 50 + "typescript-eslint": "^8.35.1" 51 + } 53 52 }
+198
backend/pnpm-lock.yaml
··· 47 47 toml: 48 48 specifier: ^3.0.0 49 49 version: 3.0.0 50 + winston: 51 + specifier: ^3.17.0 52 + version: 3.17.0 50 53 devDependencies: 51 54 '@atcute/lex-cli': 52 55 specifier: ^2.1.1 ··· 126 129 127 130 '@clipprjs/lexicons@0.1.1': 128 131 resolution: {integrity: sha512-/TONuKi8ASHJe5ycg4wKj9m9paAQCcufEB+XJcnvSCLMM3MArAJpg4bmU1epRE3xuSLtkLnOTsmv8xJm8fjSpg==} 132 + 133 + '@colors/colors@1.6.0': 134 + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} 135 + engines: {node: '>=0.1.90'} 136 + 137 + '@dabh/diagnostics@2.0.3': 138 + resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} 129 139 130 140 '@drizzle-team/brocli@0.10.2': 131 141 resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} ··· 591 601 '@types/node@24.0.10': 592 602 resolution: {integrity: sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==} 593 603 604 + '@types/triple-beam@1.3.5': 605 + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} 606 + 594 607 '@types/ws@8.18.1': 595 608 resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} 596 609 ··· 701 714 resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 702 715 engines: {node: '>= 0.4'} 703 716 717 + async@3.2.6: 718 + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} 719 + 704 720 atomic-sleep@1.0.0: 705 721 resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 706 722 engines: {node: '>=8.0.0'} ··· 748 764 resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 749 765 engines: {node: '>=10'} 750 766 767 + color-convert@1.9.3: 768 + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 769 + 751 770 color-convert@2.0.1: 752 771 resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 753 772 engines: {node: '>=7.0.0'} 754 773 774 + color-name@1.1.3: 775 + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 776 + 755 777 color-name@1.1.4: 756 778 resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 757 779 780 + color-string@1.9.1: 781 + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 782 + 783 + color@3.2.1: 784 + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} 785 + 786 + colorspace@1.1.4: 787 + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} 788 + 758 789 concat-map@0.0.1: 759 790 resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 760 791 ··· 917 948 resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 918 949 engines: {node: '>= 0.4'} 919 950 951 + enabled@2.0.0: 952 + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} 953 + 920 954 es-abstract@1.24.0: 921 955 resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} 922 956 engines: {node: '>= 0.4'} ··· 1094 1128 fastq@1.19.1: 1095 1129 resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1096 1130 1131 + fecha@4.2.3: 1132 + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} 1133 + 1097 1134 fetch-blob@3.2.0: 1098 1135 resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 1099 1136 engines: {node: ^12.20 || >= 14.13} ··· 1117 1154 flatted@3.3.3: 1118 1155 resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1119 1156 1157 + fn.name@1.1.0: 1158 + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} 1159 + 1120 1160 for-each@0.3.5: 1121 1161 resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1122 1162 engines: {node: '>= 0.4'} ··· 1236 1276 resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1237 1277 engines: {node: '>=0.8.19'} 1238 1278 1279 + inherits@2.0.4: 1280 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1281 + 1239 1282 internal-slot@1.1.0: 1240 1283 resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1241 1284 engines: {node: '>= 0.4'} ··· 1243 1286 is-array-buffer@3.0.5: 1244 1287 resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1245 1288 engines: {node: '>= 0.4'} 1289 + 1290 + is-arrayish@0.3.2: 1291 + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 1246 1292 1247 1293 is-async-function@2.1.1: 1248 1294 resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} ··· 1315 1361 is-shared-array-buffer@1.0.4: 1316 1362 resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1317 1363 engines: {node: '>= 0.4'} 1364 + 1365 + is-stream@2.0.1: 1366 + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1367 + engines: {node: '>=8'} 1318 1368 1319 1369 is-string@1.1.1: 1320 1370 resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} ··· 1373 1423 keyv@4.5.4: 1374 1424 resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1375 1425 1426 + kuler@2.0.0: 1427 + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} 1428 + 1376 1429 levn@0.4.1: 1377 1430 resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1378 1431 engines: {node: '>= 0.8.0'} ··· 1388 1441 1389 1442 lodash.merge@4.6.2: 1390 1443 resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1444 + 1445 + logform@2.7.0: 1446 + resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} 1447 + engines: {node: '>= 12.0.0'} 1391 1448 1392 1449 math-intrinsics@1.1.0: 1393 1450 resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} ··· 1454 1511 resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} 1455 1512 engines: {node: '>=14.0.0'} 1456 1513 1514 + one-time@1.0.0: 1515 + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} 1516 + 1457 1517 optionator@0.9.4: 1458 1518 resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1459 1519 engines: {node: '>= 0.8.0'} ··· 1538 1598 quick-format-unescaped@4.0.4: 1539 1599 resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 1540 1600 1601 + readable-stream@3.6.2: 1602 + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1603 + engines: {node: '>= 6'} 1604 + 1541 1605 real-require@0.2.0: 1542 1606 resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 1543 1607 engines: {node: '>= 12.13.0'} ··· 1572 1636 safe-array-concat@1.1.3: 1573 1637 resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 1574 1638 engines: {node: '>=0.4'} 1639 + 1640 + safe-buffer@5.2.1: 1641 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1575 1642 1576 1643 safe-push-apply@1.0.0: 1577 1644 resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} ··· 1630 1697 resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1631 1698 engines: {node: '>= 0.4'} 1632 1699 1700 + simple-swizzle@0.2.2: 1701 + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 1702 + 1633 1703 sonic-boom@4.2.0: 1634 1704 resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} 1635 1705 ··· 1644 1714 resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 1645 1715 engines: {node: '>= 10.x'} 1646 1716 1717 + stack-trace@0.0.10: 1718 + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} 1719 + 1647 1720 stop-iteration-iterator@1.1.0: 1648 1721 resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} 1649 1722 engines: {node: '>= 0.4'} ··· 1660 1733 resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1661 1734 engines: {node: '>= 0.4'} 1662 1735 1736 + string_decoder@1.3.0: 1737 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1738 + 1663 1739 strip-bom@3.0.0: 1664 1740 resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1665 1741 engines: {node: '>=4'} ··· 1680 1756 resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} 1681 1757 engines: {node: ^14.18.0 || >=16.0.0} 1682 1758 1759 + text-hex@1.0.0: 1760 + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} 1761 + 1683 1762 thread-stream@3.1.0: 1684 1763 resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} 1685 1764 ··· 1690 1769 toml@3.0.0: 1691 1770 resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} 1692 1771 1772 + triple-beam@1.4.1: 1773 + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} 1774 + engines: {node: '>= 14.0.0'} 1775 + 1693 1776 ts-api-utils@2.1.0: 1694 1777 resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1695 1778 engines: {node: '>=18.12'} ··· 1746 1829 uri-js@4.4.1: 1747 1830 resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1748 1831 1832 + util-deprecate@1.0.2: 1833 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1834 + 1749 1835 web-streams-polyfill@3.3.3: 1750 1836 resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 1751 1837 engines: {node: '>= 8'} ··· 1771 1857 engines: {node: '>= 8'} 1772 1858 hasBin: true 1773 1859 1860 + winston-transport@4.9.0: 1861 + resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} 1862 + engines: {node: '>= 12.0.0'} 1863 + 1864 + winston@3.17.0: 1865 + resolution: {integrity: sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==} 1866 + engines: {node: '>= 12.0.0'} 1867 + 1774 1868 word-wrap@1.2.5: 1775 1869 resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1776 1870 engines: {node: '>=0.10.0'} ··· 1826 1920 '@atcute/atproto': 3.1.0 1827 1921 '@atcute/lexicons': 1.1.0 1828 1922 1923 + '@colors/colors@1.6.0': {} 1924 + 1925 + '@dabh/diagnostics@2.0.3': 1926 + dependencies: 1927 + colorspace: 1.1.4 1928 + enabled: 2.0.0 1929 + kuler: 2.0.0 1930 + 1829 1931 '@drizzle-team/brocli@0.10.2': {} 1830 1932 1831 1933 '@esbuild-kit/core-utils@3.3.2': ··· 2145 2247 dependencies: 2146 2248 undici-types: 7.8.0 2147 2249 2250 + '@types/triple-beam@1.3.5': {} 2251 + 2148 2252 '@types/ws@8.18.1': 2149 2253 dependencies: 2150 2254 '@types/node': 24.0.10 ··· 2312 2416 2313 2417 async-function@1.0.0: {} 2314 2418 2419 + async@3.2.6: {} 2420 + 2315 2421 atomic-sleep@1.0.0: {} 2316 2422 2317 2423 available-typed-arrays@1.0.7: ··· 2364 2470 ansi-styles: 4.3.0 2365 2471 supports-color: 7.2.0 2366 2472 2473 + color-convert@1.9.3: 2474 + dependencies: 2475 + color-name: 1.1.3 2476 + 2367 2477 color-convert@2.0.1: 2368 2478 dependencies: 2369 2479 color-name: 1.1.4 2370 2480 2481 + color-name@1.1.3: {} 2482 + 2371 2483 color-name@1.1.4: {} 2372 2484 2485 + color-string@1.9.1: 2486 + dependencies: 2487 + color-name: 1.1.4 2488 + simple-swizzle: 0.2.2 2489 + 2490 + color@3.2.1: 2491 + dependencies: 2492 + color-convert: 1.9.3 2493 + color-string: 1.9.1 2494 + 2495 + colorspace@1.1.4: 2496 + dependencies: 2497 + color: 3.2.1 2498 + text-hex: 1.0.0 2499 + 2373 2500 concat-map@0.0.1: {} 2374 2501 2375 2502 cross-spawn@7.0.6: ··· 2447 2574 call-bind-apply-helpers: 1.0.2 2448 2575 es-errors: 1.3.0 2449 2576 gopd: 1.2.0 2577 + 2578 + enabled@2.0.0: {} 2450 2579 2451 2580 es-abstract@1.24.0: 2452 2581 dependencies: ··· 2751 2880 dependencies: 2752 2881 reusify: 1.1.0 2753 2882 2883 + fecha@4.2.3: {} 2884 + 2754 2885 fetch-blob@3.2.0: 2755 2886 dependencies: 2756 2887 node-domexception: 1.0.0 ··· 2775 2906 keyv: 4.5.4 2776 2907 2777 2908 flatted@3.3.3: {} 2909 + 2910 + fn.name@1.1.0: {} 2778 2911 2779 2912 for-each@0.3.5: 2780 2913 dependencies: ··· 2890 3023 2891 3024 imurmurhash@0.1.4: {} 2892 3025 3026 + inherits@2.0.4: {} 3027 + 2893 3028 internal-slot@1.1.0: 2894 3029 dependencies: 2895 3030 es-errors: 1.3.0 ··· 2901 3036 call-bind: 1.0.8 2902 3037 call-bound: 1.0.4 2903 3038 get-intrinsic: 1.3.0 3039 + 3040 + is-arrayish@0.3.2: {} 2904 3041 2905 3042 is-async-function@2.1.1: 2906 3043 dependencies: ··· 2977 3114 dependencies: 2978 3115 call-bound: 1.0.4 2979 3116 3117 + is-stream@2.0.1: {} 3118 + 2980 3119 is-string@1.1.1: 2981 3120 dependencies: 2982 3121 call-bound: 1.0.4 ··· 3029 3168 dependencies: 3030 3169 json-buffer: 3.0.1 3031 3170 3171 + kuler@2.0.0: {} 3172 + 3032 3173 levn@0.4.1: 3033 3174 dependencies: 3034 3175 prelude-ls: 1.2.1 ··· 3055 3196 3056 3197 lodash.merge@4.6.2: {} 3057 3198 3199 + logform@2.7.0: 3200 + dependencies: 3201 + '@colors/colors': 1.6.0 3202 + '@types/triple-beam': 1.3.5 3203 + fecha: 4.2.3 3204 + ms: 2.1.3 3205 + safe-stable-stringify: 2.5.0 3206 + triple-beam: 1.4.1 3207 + 3058 3208 math-intrinsics@1.1.0: {} 3059 3209 3060 3210 merge2@1.4.1: {} ··· 3120 3270 es-object-atoms: 1.1.1 3121 3271 3122 3272 on-exit-leak-free@2.1.2: {} 3273 + 3274 + one-time@1.0.0: 3275 + dependencies: 3276 + fn.name: 1.1.0 3123 3277 3124 3278 optionator@0.9.4: 3125 3279 dependencies: ··· 3202 3356 3203 3357 quick-format-unescaped@4.0.4: {} 3204 3358 3359 + readable-stream@3.6.2: 3360 + dependencies: 3361 + inherits: 2.0.4 3362 + string_decoder: 1.3.0 3363 + util-deprecate: 1.0.2 3364 + 3205 3365 real-require@0.2.0: {} 3206 3366 3207 3367 reflect.getprototypeof@1.0.10: ··· 3247 3407 get-intrinsic: 1.3.0 3248 3408 has-symbols: 1.1.0 3249 3409 isarray: 2.0.5 3410 + 3411 + safe-buffer@5.2.1: {} 3250 3412 3251 3413 safe-push-apply@1.0.0: 3252 3414 dependencies: ··· 3321 3483 side-channel-map: 1.0.1 3322 3484 side-channel-weakmap: 1.0.2 3323 3485 3486 + simple-swizzle@0.2.2: 3487 + dependencies: 3488 + is-arrayish: 0.3.2 3489 + 3324 3490 sonic-boom@4.2.0: 3325 3491 dependencies: 3326 3492 atomic-sleep: 1.0.0 ··· 3333 3499 source-map@0.6.1: {} 3334 3500 3335 3501 split2@4.2.0: {} 3502 + 3503 + stack-trace@0.0.10: {} 3336 3504 3337 3505 stop-iteration-iterator@1.1.0: 3338 3506 dependencies: ··· 3362 3530 define-properties: 1.2.1 3363 3531 es-object-atoms: 1.1.1 3364 3532 3533 + string_decoder@1.3.0: 3534 + dependencies: 3535 + safe-buffer: 5.2.1 3536 + 3365 3537 strip-bom@3.0.0: {} 3366 3538 3367 3539 strip-json-comments@3.1.1: {} ··· 3375 3547 synckit@0.11.8: 3376 3548 dependencies: 3377 3549 '@pkgr/core': 0.2.7 3550 + 3551 + text-hex@1.0.0: {} 3378 3552 3379 3553 thread-stream@3.1.0: 3380 3554 dependencies: ··· 3386 3560 3387 3561 toml@3.0.0: {} 3388 3562 3563 + triple-beam@1.4.1: {} 3564 + 3389 3565 ts-api-utils@2.1.0(typescript@5.8.3): 3390 3566 dependencies: 3391 3567 typescript: 5.8.3 ··· 3466 3642 dependencies: 3467 3643 punycode: 2.3.1 3468 3644 3645 + util-deprecate@1.0.2: {} 3646 + 3469 3647 web-streams-polyfill@3.3.3: {} 3470 3648 3471 3649 which-boxed-primitive@1.1.1: ··· 3512 3690 which@2.0.2: 3513 3691 dependencies: 3514 3692 isexe: 2.0.0 3693 + 3694 + winston-transport@4.9.0: 3695 + dependencies: 3696 + logform: 2.7.0 3697 + readable-stream: 3.6.2 3698 + triple-beam: 1.4.1 3699 + 3700 + winston@3.17.0: 3701 + dependencies: 3702 + '@colors/colors': 1.6.0 3703 + '@dabh/diagnostics': 2.0.3 3704 + async: 3.2.6 3705 + is-stream: 2.0.1 3706 + logform: 2.7.0 3707 + one-time: 1.0.0 3708 + readable-stream: 3.6.2 3709 + safe-stable-stringify: 2.5.0 3710 + stack-trace: 0.0.10 3711 + triple-beam: 1.4.1 3712 + winston-transport: 4.9.0 3515 3713 3516 3714 word-wrap@1.2.5: {} 3517 3715
+1 -2
backend/src/network/commit.ts
··· 45 45 }; 46 46 47 47 await db.insert(clipsTable).values({ 48 - // @ts-ignore 48 + // @ts-expect-error Weird type error despite being a normal string. 49 49 did: convertDidToString(event.did), 50 50 timestamp: convertMicroToDate(event.time_us), 51 51 recordKey: event.commit.rkey, ··· 79 79 }; 80 80 81 81 await db.insert(tagsTable).values({ 82 - // @ts-ignore 83 82 did: convertDidToString(event.did), 84 83 timestamp: convertMicroToDate(event.time_us), 85 84 recordKey: event.commit.rkey,