an atproto based link aggregator

Remove better-sqlite3, use libsql/turso dialect everywhere

- Switch drizzle configs from sqlite to turso dialect
- Remove better-sqlite3 dependency (was only needed for sqlite dialect)
- Fixes CI: libsql doesn't require native compilation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+50 -23
+2 -2
drizzle.content.config.ts
··· 3 3 export default defineConfig({ 4 4 schema: './src/lib/server/db/content-schema.ts', 5 5 out: './drizzle/content', 6 - dialect: 'sqlite', 6 + dialect: 'turso', 7 7 dbCredentials: { 8 - url: process.env.CONTENT_DB_PATH || './data/content.db' 8 + url: `file:${process.env.CONTENT_DB_PATH || './data/content.db'}` 9 9 } 10 10 });
+2 -2
drizzle.local.config.ts
··· 3 3 export default defineConfig({ 4 4 schema: './src/lib/server/db/local-schema.ts', 5 5 out: './drizzle/local', 6 - dialect: 'sqlite', 6 + dialect: 'turso', 7 7 dbCredentials: { 8 - url: process.env.LOCAL_DB_PATH || './data/local.db' 8 + url: `file:${process.env.LOCAL_DB_PATH || './data/local.db'}` 9 9 } 10 10 });
-1
package.json
··· 49 49 "@types/node": "^22", 50 50 "@types/ws": "^8.18.0", 51 51 "@vitest/browser-playwright": "^4.0.10", 52 - "better-sqlite3": "^12.5.0", 53 52 "drizzle-kit": "^0.31.7", 54 53 "drizzle-orm": "^0.44.7", 55 54 "eslint": "^9.39.1",
+46 -18
pnpm-lock.yaml
··· 102 102 '@vitest/browser-playwright': 103 103 specifier: ^4.0.10 104 104 version: 4.0.14(playwright@1.57.0)(vite@7.2.4(@types/node@22.19.1)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0))(vitest@4.0.14) 105 - better-sqlite3: 106 - specifier: ^12.5.0 107 - version: 12.5.0 108 105 drizzle-kit: 109 106 specifier: ^0.31.7 110 107 version: 0.31.7 ··· 5109 5106 dependencies: 5110 5107 bindings: 1.5.0 5111 5108 prebuild-install: 7.1.3 5109 + optional: true 5112 5110 5113 5111 bignumber.js@9.3.1: {} 5114 5112 5115 5113 bindings@1.5.0: 5116 5114 dependencies: 5117 5115 file-uri-to-path: 1.0.0 5116 + optional: true 5118 5117 5119 5118 bl@4.1.0: 5120 5119 dependencies: 5121 5120 buffer: 5.7.1 5122 5121 inherits: 2.0.4 5123 5122 readable-stream: 3.6.2 5123 + optional: true 5124 5124 5125 5125 brace-expansion@1.1.12: 5126 5126 dependencies: ··· 5137 5137 dependencies: 5138 5138 base64-js: 1.5.1 5139 5139 ieee754: 1.2.1 5140 + optional: true 5140 5141 5141 5142 buffer@6.0.3: 5142 5143 dependencies: ··· 5158 5159 dependencies: 5159 5160 readdirp: 4.1.2 5160 5161 5161 - chownr@1.1.4: {} 5162 + chownr@1.1.4: 5163 + optional: true 5162 5164 5163 5165 cjs-module-lexer@1.4.3: {} 5164 5166 ··· 5205 5207 decompress-response@6.0.0: 5206 5208 dependencies: 5207 5209 mimic-response: 3.1.0 5210 + optional: true 5208 5211 5209 - deep-extend@0.6.0: {} 5212 + deep-extend@0.6.0: 5213 + optional: true 5210 5214 5211 5215 deep-is@0.1.4: {} 5212 5216 ··· 5240 5244 end-of-stream@1.4.5: 5241 5245 dependencies: 5242 5246 once: 1.4.0 5247 + optional: true 5243 5248 5244 5249 enhanced-resolve@5.18.3: 5245 5250 dependencies: ··· 5448 5453 5449 5454 events@3.3.0: {} 5450 5455 5451 - expand-template@2.0.3: {} 5456 + expand-template@2.0.3: 5457 + optional: true 5452 5458 5453 5459 expect-type@1.2.2: {} 5454 5460 ··· 5475 5481 dependencies: 5476 5482 flat-cache: 4.0.1 5477 5483 5478 - file-uri-to-path@1.0.0: {} 5484 + file-uri-to-path@1.0.0: 5485 + optional: true 5479 5486 5480 5487 find-up@5.0.0: 5481 5488 dependencies: ··· 5495 5502 5496 5503 forwarded-parse@2.1.2: {} 5497 5504 5498 - fs-constants@1.0.0: {} 5505 + fs-constants@1.0.0: 5506 + optional: true 5499 5507 5500 5508 fsevents@2.3.2: 5501 5509 optional: true ··· 5531 5539 dependencies: 5532 5540 resolve-pkg-maps: 1.0.0 5533 5541 5534 - github-from-package@0.0.0: {} 5542 + github-from-package@0.0.0: 5543 + optional: true 5535 5544 5536 5545 glob-parent@6.0.2: 5537 5546 dependencies: ··· 5580 5589 5581 5590 imurmurhash@0.1.4: {} 5582 5591 5583 - inherits@2.0.4: {} 5592 + inherits@2.0.4: 5593 + optional: true 5584 5594 5585 - ini@1.3.8: {} 5595 + ini@1.3.8: 5596 + optional: true 5586 5597 5587 5598 ipaddr.js@2.3.0: {} 5588 5599 ··· 5739 5750 dependencies: 5740 5751 '@jridgewell/sourcemap-codec': 1.5.5 5741 5752 5742 - mimic-response@3.1.0: {} 5753 + mimic-response@3.1.0: 5754 + optional: true 5743 5755 5744 5756 minimatch@10.1.1: 5745 5757 dependencies: ··· 5753 5765 dependencies: 5754 5766 brace-expansion: 2.0.2 5755 5767 5756 - minimist@1.2.8: {} 5768 + minimist@1.2.8: 5769 + optional: true 5757 5770 5758 - mkdirp-classic@0.5.3: {} 5771 + mkdirp-classic@0.5.3: 5772 + optional: true 5759 5773 5760 5774 module-details-from-path@1.0.4: {} 5761 5775 ··· 5769 5783 5770 5784 nanoid@3.3.11: {} 5771 5785 5772 - napi-build-utils@2.0.0: {} 5786 + napi-build-utils@2.0.0: 5787 + optional: true 5773 5788 5774 5789 natural-compare@1.4.0: {} 5775 5790 5776 5791 node-abi@3.85.0: 5777 5792 dependencies: 5778 5793 semver: 7.7.3 5794 + optional: true 5779 5795 5780 5796 node-domexception@1.0.0: {} 5781 5797 ··· 5796 5812 once@1.4.0: 5797 5813 dependencies: 5798 5814 wrappy: 1.0.2 5815 + optional: true 5799 5816 5800 5817 optionator@0.9.4: 5801 5818 dependencies: ··· 5929 5946 simple-get: 4.0.1 5930 5947 tar-fs: 2.1.4 5931 5948 tunnel-agent: 0.6.0 5949 + optional: true 5932 5950 5933 5951 prelude-ls@1.2.1: {} 5934 5952 ··· 5964 5982 dependencies: 5965 5983 end-of-stream: 1.4.5 5966 5984 once: 1.4.0 5985 + optional: true 5967 5986 5968 5987 punycode@2.3.1: {} 5969 5988 ··· 5975 5994 ini: 1.3.8 5976 5995 minimist: 1.2.8 5977 5996 strip-json-comments: 2.0.1 5997 + optional: true 5978 5998 5979 5999 readable-stream@3.6.2: 5980 6000 dependencies: 5981 6001 inherits: 2.0.4 5982 6002 string_decoder: 1.3.0 5983 6003 util-deprecate: 1.0.2 6004 + optional: true 5984 6005 5985 6006 readable-stream@4.7.0: 5986 6007 dependencies: ··· 6061 6082 6062 6083 siginfo@2.0.0: {} 6063 6084 6064 - simple-concat@1.0.1: {} 6085 + simple-concat@1.0.1: 6086 + optional: true 6065 6087 6066 6088 simple-get@4.0.1: 6067 6089 dependencies: 6068 6090 decompress-response: 6.0.0 6069 6091 once: 1.4.0 6070 6092 simple-concat: 1.0.1 6093 + optional: true 6071 6094 6072 6095 sirv@3.0.2: 6073 6096 dependencies: ··· 6108 6131 dependencies: 6109 6132 ansi-regex: 5.0.1 6110 6133 6111 - strip-json-comments@2.0.1: {} 6134 + strip-json-comments@2.0.1: 6135 + optional: true 6112 6136 6113 6137 strip-json-comments@3.1.1: {} 6114 6138 ··· 6169 6193 mkdirp-classic: 0.5.3 6170 6194 pump: 3.0.3 6171 6195 tar-stream: 2.2.0 6196 + optional: true 6172 6197 6173 6198 tar-stream@2.2.0: 6174 6199 dependencies: ··· 6177 6202 fs-constants: 1.0.0 6178 6203 inherits: 2.0.4 6179 6204 readable-stream: 3.6.2 6205 + optional: true 6180 6206 6181 6207 thread-stream@2.7.0: 6182 6208 dependencies: ··· 6218 6244 tunnel-agent@0.6.0: 6219 6245 dependencies: 6220 6246 safe-buffer: 5.2.1 6247 + optional: true 6221 6248 6222 6249 type-check@0.4.0: 6223 6250 dependencies: ··· 6347 6374 string-width: 4.2.3 6348 6375 strip-ansi: 6.0.1 6349 6376 6350 - wrappy@1.0.2: {} 6377 + wrappy@1.0.2: 6378 + optional: true 6351 6379 6352 6380 ws@8.18.3: {} 6353 6381