A Bluesky labeler that labels accounts hosted on PDSes operated by entities other than Bluesky PBC
3
fork

Configure Feed

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

Remove unnecessary dependencies

gbl08ma 94f1950b 68af5933

+3 -17
-4
bun.lock
··· 10 10 "@atcute/identity-resolver-node": "^1.0.2", 11 11 "@atcute/jetstream": "^1.1.0", 12 12 "@skyware/labeler": "^0.2.0", 13 - "cache-manager": "^7.2.0", 14 13 "cacheable": "^2.0.1", 15 - "keyv": "^5.5.2", 16 14 }, 17 15 "devDependencies": { 18 16 "@types/bun": "latest", ··· 141 139 "avvio": ["avvio@8.4.0", "", { "dependencies": { "@fastify/error": "^3.3.0", "fastq": "^1.17.1" } }, "sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA=="], 142 140 143 141 "bun-types": ["bun-types@1.2.22", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-hwaAu8tct/Zn6Zft4U9BsZcXkYomzpHJX28ofvx7k0Zz2HNz54n1n+tDgxoWFGB4PcFvJXJQloPhaV2eP3Q6EA=="], 144 - 145 - "cache-manager": ["cache-manager@7.2.0", "", { "dependencies": { "keyv": "^5.5.0" } }, "sha512-GRv0Ji8Xgqtrg1Mmi4ygYpIt+SOApQNjJb5+rYIl+5y3u+tyBf+Csx79LL4wQjKLio63A6x1OpuBzhMzRv9jJg=="], 146 142 147 143 "cacheable": ["cacheable@2.0.1", "", { "dependencies": { "@cacheable/memoize": "^2.0.1", "@cacheable/memory": "^2.0.1", "@cacheable/utils": "^2.0.1", "hookified": "^1.12.0", "keyv": "^5.5.1" } }, "sha512-MSKxcybpxB5kcWKpj+1tPBm2os4qKKGxDovsZmLhZmWIDYp8EgtC45C5zk1fLe1IC9PpI4ZE4eyryQH0N10PKA=="], 148 144
+1 -3
package.json
··· 16 16 "@atcute/identity-resolver-node": "^1.0.2", 17 17 "@atcute/jetstream": "^1.1.0", 18 18 "@skyware/labeler": "^0.2.0", 19 - "cache-manager": "^7.2.0", 20 - "cacheable": "^2.0.1", 21 - "keyv": "^5.5.2" 19 + "cacheable": "^2.0.1" 22 20 }, 23 21 "overrides": { 24 22 "@atcute/ozone": "^3.1.6",
+2 -10
pdsCrawler.ts
··· 2 2 // import lexicons 3 3 import type { } from '@atcute/atproto'; 4 4 import type { } from '@atcute/bluesky'; 5 - import { CompositeDidDocumentResolver, CompositeHandleResolver, DohJsonHandleResolver, PlcDidDocumentResolver, WebDidDocumentResolver, WellKnownHandleResolver } from "@atcute/identity-resolver"; 6 - import { createCache } from "cache-manager"; 7 - import Keyv from "keyv"; 5 + import { CompositeDidDocumentResolver, PlcDidDocumentResolver, WebDidDocumentResolver } from "@atcute/identity-resolver"; 8 6 import { CacheableMemory } from "cacheable"; 9 7 10 8 export class PDSCrawler { ··· 20 18 }, 21 19 }); 22 20 23 - private pdsCache = createCache({ 24 - stores: [ 25 - new Keyv({ 26 - store: new CacheableMemory({ ttl: 12*60*60*1000, lruSize: 1000000 }), 27 - }), 28 - ], 29 - }); 21 + private pdsCache = new CacheableMemory({ ttl: '12h', lruSize: 1000000 }); 30 22 private cacheHits = 0; 31 23 private cacheMisses = 0; 32 24