Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto

updooting drizzle stuff (b/c i updated the library)

+444 -77
+2 -2
README.md
··· 9 9 To get started with this template, simply paste this command into your terminal: 10 10 11 11 ```bash 12 - bun install && bun install -g turbo && cp apps/aqua/.env.example apps/aqua/.env && 13 - bun run db:migrate 12 + pnpm install && pnpm install -g turbo && cp apps/aqua/.env.example apps/aqua/.env && 13 + pnpm run db:migrate 14 14 ``` 15 15 Running on a Mac may also require adding @libsql/darwin-x64 dependency 16 16
+1 -5
apps/aqua/package.json
··· 7 7 "dev": "tsx watch --clear-screen=false src/index.ts | pino-pretty", 8 8 "build": "tsup && cp -r public dist/", 9 9 "start": "node dist/index.cjs | pino-pretty", 10 - "lexgen": "lex gen-server ./src/lexicon ./lexicons/*", 11 10 "clean": "rimraf dist coverage", 12 - "check-types": "tsc --noEmit", 13 - "db:migrate": "drizzle-kit migrate", 14 - "db:seed": "drizzle-kit seed", 15 - "db:studio": "drizzle-kit studio" 11 + "check-types": "tsc --noEmit" 16 12 }, 17 13 "dependencies": { 18 14 "@atproto/api": "^0.13.15",
+1 -1
packages/db/.drizzle/0004_exotic_ironclad.sql
··· 1 1 CREATE TABLE `follow` ( 2 2 `follower` text PRIMARY KEY NOT NULL, 3 - `followed` text PRIMARY KEY NOT NULL, 3 + `followed` text NOT NULL, 4 4 `created_at` text NOT NULL 5 5 ); 6 6 --> statement-breakpoint
+12
packages/db/.drizzle/0005_conscious_johnny_blaze.sql
··· 1 + PRAGMA foreign_keys=OFF;--> statement-breakpoint 2 + CREATE TABLE `__new_follow` ( 3 + `rel_id` text PRIMARY KEY NOT NULL, 4 + `follower` text NOT NULL, 5 + `followed` text NOT NULL, 6 + `created_at` text NOT NULL 7 + ); 8 + --> statement-breakpoint 9 + INSERT INTO `__new_follow`("rel_id", "follower", "followed", "created_at") SELECT '0', "follower", "followed", "created_at" FROM `follow`;--> statement-breakpoint 10 + DROP TABLE `follow`;--> statement-breakpoint 11 + ALTER TABLE `__new_follow` RENAME TO `follow`;--> statement-breakpoint 12 + PRAGMA foreign_keys=ON;
+354
packages/db/.drizzle/meta/0005_snapshot.json
··· 1 + { 2 + "version": "6", 3 + "dialect": "sqlite", 4 + "id": "42a94e7a-c4c2-4bd5-92d9-ba8a829c0704", 5 + "prevId": "639ec806-61a1-448d-a922-1935bf8f6cf3", 6 + "tables": { 7 + "atp_session": { 8 + "name": "atp_session", 9 + "columns": { 10 + "key": { 11 + "name": "key", 12 + "type": "text", 13 + "primaryKey": true, 14 + "notNull": true, 15 + "autoincrement": false 16 + }, 17 + "session": { 18 + "name": "session", 19 + "type": "text", 20 + "primaryKey": false, 21 + "notNull": true, 22 + "autoincrement": false 23 + } 24 + }, 25 + "indexes": {}, 26 + "foreignKeys": {}, 27 + "compositePrimaryKeys": {}, 28 + "uniqueConstraints": {}, 29 + "checkConstraints": {} 30 + }, 31 + "auth_state": { 32 + "name": "auth_state", 33 + "columns": { 34 + "key": { 35 + "name": "key", 36 + "type": "text", 37 + "primaryKey": true, 38 + "notNull": true, 39 + "autoincrement": false 40 + }, 41 + "state": { 42 + "name": "state", 43 + "type": "text", 44 + "primaryKey": false, 45 + "notNull": true, 46 + "autoincrement": false 47 + } 48 + }, 49 + "indexes": {}, 50 + "foreignKeys": {}, 51 + "compositePrimaryKeys": {}, 52 + "uniqueConstraints": {}, 53 + "checkConstraints": {} 54 + }, 55 + "follow": { 56 + "name": "follow", 57 + "columns": { 58 + "rel_id": { 59 + "name": "rel_id", 60 + "type": "text", 61 + "primaryKey": true, 62 + "notNull": true, 63 + "autoincrement": false 64 + }, 65 + "follower": { 66 + "name": "follower", 67 + "type": "text", 68 + "primaryKey": false, 69 + "notNull": true, 70 + "autoincrement": false 71 + }, 72 + "followed": { 73 + "name": "followed", 74 + "type": "text", 75 + "primaryKey": false, 76 + "notNull": true, 77 + "autoincrement": false 78 + }, 79 + "created_at": { 80 + "name": "created_at", 81 + "type": "text", 82 + "primaryKey": false, 83 + "notNull": true, 84 + "autoincrement": false 85 + } 86 + }, 87 + "indexes": {}, 88 + "foreignKeys": {}, 89 + "compositePrimaryKeys": {}, 90 + "uniqueConstraints": {}, 91 + "checkConstraints": {} 92 + }, 93 + "play": { 94 + "name": "play", 95 + "columns": { 96 + "uri": { 97 + "name": "uri", 98 + "type": "text", 99 + "primaryKey": true, 100 + "notNull": true, 101 + "autoincrement": false 102 + }, 103 + "author_did": { 104 + "name": "author_did", 105 + "type": "text", 106 + "primaryKey": false, 107 + "notNull": true, 108 + "autoincrement": false 109 + }, 110 + "created_at": { 111 + "name": "created_at", 112 + "type": "text", 113 + "primaryKey": false, 114 + "notNull": true, 115 + "autoincrement": false 116 + }, 117 + "indexed_at": { 118 + "name": "indexed_at", 119 + "type": "text", 120 + "primaryKey": false, 121 + "notNull": true, 122 + "autoincrement": false 123 + }, 124 + "track_name": { 125 + "name": "track_name", 126 + "type": "text", 127 + "primaryKey": false, 128 + "notNull": true, 129 + "autoincrement": false 130 + }, 131 + "track_mb_id": { 132 + "name": "track_mb_id", 133 + "type": "text", 134 + "primaryKey": false, 135 + "notNull": false, 136 + "autoincrement": false 137 + }, 138 + "recording_mb_id": { 139 + "name": "recording_mb_id", 140 + "type": "text", 141 + "primaryKey": false, 142 + "notNull": false, 143 + "autoincrement": false 144 + }, 145 + "duration": { 146 + "name": "duration", 147 + "type": "integer", 148 + "primaryKey": false, 149 + "notNull": false, 150 + "autoincrement": false 151 + }, 152 + "artist_name": { 153 + "name": "artist_name", 154 + "type": "text", 155 + "primaryKey": false, 156 + "notNull": true, 157 + "autoincrement": false 158 + }, 159 + "artist_mb_ids": { 160 + "name": "artist_mb_ids", 161 + "type": "text", 162 + "primaryKey": false, 163 + "notNull": false, 164 + "autoincrement": false 165 + }, 166 + "release_name": { 167 + "name": "release_name", 168 + "type": "text", 169 + "primaryKey": false, 170 + "notNull": false, 171 + "autoincrement": false 172 + }, 173 + "release_mb_id": { 174 + "name": "release_mb_id", 175 + "type": "text", 176 + "primaryKey": false, 177 + "notNull": false, 178 + "autoincrement": false 179 + }, 180 + "isrc": { 181 + "name": "isrc", 182 + "type": "text", 183 + "primaryKey": false, 184 + "notNull": false, 185 + "autoincrement": false 186 + }, 187 + "origin_url": { 188 + "name": "origin_url", 189 + "type": "text", 190 + "primaryKey": false, 191 + "notNull": false, 192 + "autoincrement": false 193 + }, 194 + "music_service_base_domain": { 195 + "name": "music_service_base_domain", 196 + "type": "text", 197 + "primaryKey": false, 198 + "notNull": false, 199 + "autoincrement": false 200 + }, 201 + "submission_client_agent": { 202 + "name": "submission_client_agent", 203 + "type": "text", 204 + "primaryKey": false, 205 + "notNull": false, 206 + "autoincrement": false 207 + }, 208 + "played_time": { 209 + "name": "played_time", 210 + "type": "text", 211 + "primaryKey": false, 212 + "notNull": false, 213 + "autoincrement": false 214 + } 215 + }, 216 + "indexes": {}, 217 + "foreignKeys": {}, 218 + "compositePrimaryKeys": {}, 219 + "uniqueConstraints": {}, 220 + "checkConstraints": {} 221 + }, 222 + "status": { 223 + "name": "status", 224 + "columns": { 225 + "uri": { 226 + "name": "uri", 227 + "type": "text", 228 + "primaryKey": true, 229 + "notNull": true, 230 + "autoincrement": false 231 + }, 232 + "author_did": { 233 + "name": "author_did", 234 + "type": "text", 235 + "primaryKey": false, 236 + "notNull": true, 237 + "autoincrement": false 238 + }, 239 + "status": { 240 + "name": "status", 241 + "type": "text", 242 + "primaryKey": false, 243 + "notNull": true, 244 + "autoincrement": false 245 + }, 246 + "created_at": { 247 + "name": "created_at", 248 + "type": "text", 249 + "primaryKey": false, 250 + "notNull": true, 251 + "autoincrement": false 252 + }, 253 + "indexed_at": { 254 + "name": "indexed_at", 255 + "type": "text", 256 + "primaryKey": false, 257 + "notNull": true, 258 + "autoincrement": false 259 + } 260 + }, 261 + "indexes": {}, 262 + "foreignKeys": {}, 263 + "compositePrimaryKeys": {}, 264 + "uniqueConstraints": {}, 265 + "checkConstraints": {} 266 + }, 267 + "teal_session": { 268 + "name": "teal_session", 269 + "columns": { 270 + "key": { 271 + "name": "key", 272 + "type": "text", 273 + "primaryKey": true, 274 + "notNull": true, 275 + "autoincrement": false 276 + }, 277 + "session": { 278 + "name": "session", 279 + "type": "text", 280 + "primaryKey": false, 281 + "notNull": true, 282 + "autoincrement": false 283 + }, 284 + "provider": { 285 + "name": "provider", 286 + "type": "text", 287 + "primaryKey": false, 288 + "notNull": true, 289 + "autoincrement": false 290 + } 291 + }, 292 + "indexes": {}, 293 + "foreignKeys": {}, 294 + "compositePrimaryKeys": {}, 295 + "uniqueConstraints": {}, 296 + "checkConstraints": {} 297 + }, 298 + "teal_user": { 299 + "name": "teal_user", 300 + "columns": { 301 + "did": { 302 + "name": "did", 303 + "type": "text", 304 + "primaryKey": true, 305 + "notNull": true, 306 + "autoincrement": false 307 + }, 308 + "handle": { 309 + "name": "handle", 310 + "type": "text", 311 + "primaryKey": false, 312 + "notNull": true, 313 + "autoincrement": false 314 + }, 315 + "avatar": { 316 + "name": "avatar", 317 + "type": "text", 318 + "primaryKey": false, 319 + "notNull": true, 320 + "autoincrement": false 321 + }, 322 + "bio": { 323 + "name": "bio", 324 + "type": "text", 325 + "primaryKey": false, 326 + "notNull": false, 327 + "autoincrement": false 328 + }, 329 + "created_at": { 330 + "name": "created_at", 331 + "type": "text", 332 + "primaryKey": false, 333 + "notNull": true, 334 + "autoincrement": false 335 + } 336 + }, 337 + "indexes": {}, 338 + "foreignKeys": {}, 339 + "compositePrimaryKeys": {}, 340 + "uniqueConstraints": {}, 341 + "checkConstraints": {} 342 + } 343 + }, 344 + "views": {}, 345 + "enums": {}, 346 + "_meta": { 347 + "schemas": {}, 348 + "tables": {}, 349 + "columns": {} 350 + }, 351 + "internal": { 352 + "indexes": {} 353 + } 354 + }
+7
packages/db/.drizzle/meta/_journal.json
··· 36 36 "when": 1735101894454, 37 37 "tag": "0004_exotic_ironclad", 38 38 "breakpoints": true 39 + }, 40 + { 41 + "idx": 5, 42 + "version": "6", 43 + "when": 1735497040757, 44 + "tag": "0005_conscious_johnny_blaze", 45 + "breakpoints": true 39 46 } 40 47 ] 41 48 }
+2 -2
packages/db/connect.ts
··· 4 4 import process from "node:process"; 5 5 import path from "node:path"; 6 6 7 - console.log("Loading SQLite file at", path.join(process.cwd(), "./db.sqlite")); 7 + console.log("Loading SQLite file at", path.join(process.cwd(), "./../../db.sqlite")); 8 8 9 9 const client = createClient({ 10 10 url: 11 11 process.env.DATABASE_URL ?? 12 - "file:" + path.join(process.cwd(), "./db.sqlite"), 12 + "file:" + path.join(process.cwd(), "./../../db.sqlite"), 13 13 }); 14 14 15 15 export const db = drizzle(client, {
+1 -1
packages/db/drizzle.config.ts
··· 6 6 out: "./.drizzle", 7 7 casing: "snake_case", 8 8 dbCredentials: { 9 - url: process.env.DATABASE_URL ?? "./db.sqlite", 9 + url: process.env.DATABASE_URL ?? "./../../db.sqlite", 10 10 }, 11 11 });
+3 -2
packages/db/schema.ts
··· 55 55 56 56 // follow relationship 57 57 export const follow = sqliteTable("follow", { 58 - follower: text().primaryKey(), 59 - followed: text().primaryKey(), 58 + relId: text().primaryKey(), 59 + follower: text().notNull(), 60 + followed: text().notNull(), 60 61 createdAt: text().notNull(), 61 62 }); 62 63
+1 -1
packages/jetstring/package.json
··· 9 9 "@teal/db": "workspace:*", 10 10 "@teal/lexicons": "workspace:*", 11 11 "@teal/tsconfig": "workspace:*", 12 - "pino-pretty": "^13.3.0" 12 + "pino-pretty": "^13.0.0" 13 13 }, 14 14 "devDependencies": { 15 15 "tsup": "^8.3.5",
+57 -63
pnpm-lock.yaml
··· 45 45 specifier: ^0.3.0 46 46 version: 0.3.1 47 47 '@atproto/xrpc-server': 48 - specifier: ^0.6.4 49 - version: 0.6.4 48 + specifier: ^0.7.4 49 + version: 0.7.4 50 50 '@braintree/sanitize-url': 51 51 specifier: ^7.1.0 52 52 version: 7.1.0 ··· 88 88 version: 4.7.0 89 89 devDependencies: 90 90 '@atproto/lex-cli': 91 - specifier: ^0.4.1 92 - version: 0.4.1 91 + specifier: ^0.5.4 92 + version: 0.5.4 93 93 '@teal/tsconfig': 94 94 specifier: workspace:* 95 95 version: link:../../packages/tsconfig ··· 97 97 specifier: ^20.17.6 98 98 version: 20.17.9 99 99 drizzle-kit: 100 - specifier: ^0.27.2 101 - version: 0.27.2 100 + specifier: ^0.30.1 101 + version: 0.30.1 102 102 pino-pretty: 103 - specifier: ^11.3.0 104 - version: 11.3.0 103 + specifier: ^13.0.0 104 + version: 13.0.0 105 105 rimraf: 106 106 specifier: ^6.0.1 107 107 version: 6.0.1 ··· 152 152 specifier: workspace:* 153 153 version: link:../tsconfig 154 154 pino-pretty: 155 - specifier: ^11.3.0 156 - version: 11.3.0 155 + specifier: ^13.0.0 156 + version: 13.0.0 157 157 devDependencies: 158 158 tsup: 159 159 specifier: ^8.3.5 ··· 168 168 packages/lexicons: 169 169 dependencies: 170 170 '@atproto/lex-cli': 171 - specifier: ^0.4.1 172 - version: 0.4.1 171 + specifier: ^0.5.4 172 + version: 0.5.4 173 173 '@atproto/lexicon': 174 174 specifier: ^0.4.2 175 175 version: 0.4.3 176 176 '@atproto/xrpc-server': 177 - specifier: ^0.6.4 178 - version: 0.6.4 177 + specifier: ^0.7.4 178 + version: 0.7.4 179 179 '@teal/tsconfig': 180 180 specifier: workspace:* 181 181 version: link:../tsconfig ··· 230 230 '@atproto/common@0.4.4': 231 231 resolution: {integrity: sha512-58tMbn6A1Zu296s/l3uIj8z9d7IRHpZvLOfsFRikaQaYrzhJpL2aPY4uFQ8GJcxnsxeUnxBCrQz9we5jVVJI5Q==} 232 232 233 + '@atproto/common@0.4.5': 234 + resolution: {integrity: sha512-LFAGqHcxCI5+b31Xgk+VQQtZU258iGPpHJzNeHVcdh6teIKZi4C2l6YV+m+3CEz+yYcfP7jjUmgqesx7l9Arsg==} 235 + 233 236 '@atproto/crypto@0.4.2': 234 237 resolution: {integrity: sha512-aeOfPQYCDbhn2hV06oBF2KXrWjf/BK4yL8lfANJKSmKl3tKWCkiW/moi643rUXXxSE72KtWtQeqvNFYnnFJ0ig==} 235 238 ··· 248 251 '@atproto/jwk@0.1.1': 249 252 resolution: {integrity: sha512-6h/bj1APUk7QcV9t/oA6+9DB5NZx9SZru9x+/pV5oHFI9Xz4ZuM5+dq1PfsJV54pZyqdnZ6W6M717cxoC7q7og==} 250 253 251 - '@atproto/lex-cli@0.4.1': 252 - resolution: {integrity: sha512-QP9mE8MYzXR2ydhCBb/mtGqKZjqpffqcpZCr7JM4mFOZPvXV8k7OqVP1h+T94JB/tGcGPhB750S6tqUH9VRLVg==} 254 + '@atproto/lex-cli@0.5.4': 255 + resolution: {integrity: sha512-mNEPeQLXl3iCXPO/FSo0BTfP00lx+9xEQpf9LEpDuKA6WCWjIB7WHzU2VLk26NSftzH3sf6zf+A2yZ+WWRbYpw==} 253 256 hasBin: true 254 257 255 258 '@atproto/lexicon@0.4.3': 256 259 resolution: {integrity: sha512-lFVZXe1S1pJP0dcxvJuHP3r/a+EAIBwwU7jUK+r8iLhIja+ml6NmYv8KeFHmIJATh03spEQ9s02duDmFVdCoXg==} 260 + 261 + '@atproto/lexicon@0.4.4': 262 + resolution: {integrity: sha512-QFEmr3rpj/RoAmfX9ALU/asBG/rsVtQZnw+9nOB1/AuIwoxXd+ZyndR6lVUc2+DL4GEjl6W2yvBru5xbQIZWyA==} 257 263 258 264 '@atproto/oauth-client-node@0.2.3': 259 265 resolution: {integrity: sha512-crHxZaP9T/i7O9fOhALcFtW1EP/tVblDnWoaIiZ3vL/hvVLwSUad/wvG2WPcVURzLSbigDInhn7rZZSzLxJacg==} ··· 273 279 '@atproto/syntax@0.3.1': 274 280 resolution: {integrity: sha512-fzW0Mg1QUOVCWUD3RgEsDt6d1OZ6DdFmbKcDdbzUfh0t4rhtRAC05KbZYmxuMPWDAiJ4BbbQ5dkAc/mNypMXkw==} 275 281 276 - '@atproto/xrpc-server@0.6.4': 277 - resolution: {integrity: sha512-AL9okOTpJpxh3wJjT27RiPkp2IWIxDPCyyvuO1SJu0E9URGfWZL26SlT7/IR/tadZTJezr5+ZNuxhV0uhI+s1A==} 278 - 279 - '@atproto/xrpc-server@0.7.3': 280 - resolution: {integrity: sha512-x0qegkN6snrbXJO3v9h2kuh9e90g6ZZkDXv3COiraGS3yRTzIm6i4bMvDSfCI50+0xCNtPKOkpn8taRoRgkyiw==} 282 + '@atproto/xrpc-server@0.7.4': 283 + resolution: {integrity: sha512-MrAwxfJBQm/kCol3D8qc+vpQzBMzLqvtUbauSSfVVJ10PlGtxg4LlXqcjkAuhrjyrqp3dQH9LHuhDpgVQK+G3w==} 281 284 282 285 '@atproto/xrpc@0.6.4': 283 286 resolution: {integrity: sha512-9ZAJ8nsXTqC4XFyS0E1Wlg7bAvonhXQNQ3Ocs1L1LIwFLXvsw/4fNpIHXxvXvqTCVeyHLbImOnE9UiO1c/qIYA==} 284 287 288 + '@atproto/xrpc@0.6.5': 289 + resolution: {integrity: sha512-t6u8iPEVbWge5RhzKZDahSzNDYIAxUtop6Q/X/apAZY1rgreVU0/1sSvvRoRFH19d3UIKjYdLuwFqMi9w8nY3Q==} 290 + 285 291 '@braintree/sanitize-url@7.1.0': 286 292 resolution: {integrity: sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==} 287 293 ··· 1424 1430 resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} 1425 1431 engines: {node: '>=12'} 1426 1432 1427 - drizzle-kit@0.27.2: 1428 - resolution: {integrity: sha512-F6cFZ1wxa9XzFyeeQsp/0/lIzUbDuQjS8/njpYBDWa+wdWmXuY+Z/X2hHFK/9PGHZkv3c9mER+mVWfKlp/B6Vw==} 1429 - hasBin: true 1430 - 1431 1433 drizzle-kit@0.30.1: 1432 1434 resolution: {integrity: sha512-HmA/NeewvHywhJ2ENXD3KvOuM/+K2dGLJfxVfIHsGwaqKICJnS+Ke2L6UcSrSrtMJLJaT0Im1Qv4TFXfaZShyw==} 1433 1435 hasBin: true ··· 1936 1938 1937 1939 libsql@0.4.7: 1938 1940 resolution: {integrity: sha512-T9eIRCs6b0J1SHKYIvD8+KCJMcWZ900iZyxdnSCdqxN12Z1ijzT+jY5nrk72Jw4B0HGzms2NgpryArlJqvc3Lw==} 1939 - cpu: [x64, arm64, wasm32] 1940 1941 os: [darwin, linux, win32] 1941 1942 1942 1943 lilconfig@3.1.3: ··· 2154 2155 pino-abstract-transport@2.0.0: 2155 2156 resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} 2156 2157 2157 - pino-pretty@11.3.0: 2158 - resolution: {integrity: sha512-oXwn7ICywaZPHmu3epHGU2oJX4nPmKvHvB/bwrJHlGcbEWaVcotkpyVHMKLKmiVryWYByNp0jpgAcXpFJDXJzA==} 2158 + pino-pretty@13.0.0: 2159 + resolution: {integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==} 2159 2160 hasBin: true 2160 2161 2161 2162 pino-std-serializers@6.2.2: ··· 2745 2746 multiformats: 9.9.0 2746 2747 pino: 8.21.0 2747 2748 2749 + '@atproto/common@0.4.5': 2750 + dependencies: 2751 + '@atproto/common-web': 0.3.1 2752 + '@ipld/dag-cbor': 7.0.3 2753 + cbor-x: 1.6.0 2754 + iso-datestring-validator: 2.2.2 2755 + multiformats: 9.9.0 2756 + pino: 8.21.0 2757 + 2748 2758 '@atproto/crypto@0.4.2': 2749 2759 dependencies: 2750 2760 '@noble/curves': 1.7.0 ··· 2778 2788 multiformats: 9.9.0 2779 2789 zod: 3.23.8 2780 2790 2781 - '@atproto/lex-cli@0.4.1': 2791 + '@atproto/lex-cli@0.5.4': 2782 2792 dependencies: 2783 - '@atproto/lexicon': 0.4.3 2793 + '@atproto/lexicon': 0.4.4 2784 2794 '@atproto/syntax': 0.3.1 2785 2795 chalk: 4.1.2 2786 2796 commander: 9.5.0 ··· 2797 2807 multiformats: 9.9.0 2798 2808 zod: 3.23.8 2799 2809 2810 + '@atproto/lexicon@0.4.4': 2811 + dependencies: 2812 + '@atproto/common-web': 0.3.1 2813 + '@atproto/syntax': 0.3.1 2814 + iso-datestring-validator: 2.2.2 2815 + multiformats: 9.9.0 2816 + zod: 3.23.8 2817 + 2800 2818 '@atproto/oauth-client-node@0.2.3': 2801 2819 dependencies: 2802 2820 '@atproto-labs/did-resolver': 0.1.6 ··· 2848 2866 '@atproto/lexicon': 0.4.3 2849 2867 '@atproto/repo': 0.5.5 2850 2868 '@atproto/syntax': 0.3.1 2851 - '@atproto/xrpc-server': 0.7.3 2869 + '@atproto/xrpc-server': 0.7.4 2852 2870 multiformats: 9.9.0 2853 2871 p-queue: 6.6.2 2854 2872 transitivePeerDependencies: ··· 2859 2877 2860 2878 '@atproto/syntax@0.3.1': {} 2861 2879 2862 - '@atproto/xrpc-server@0.6.4': 2880 + '@atproto/xrpc-server@0.7.4': 2863 2881 dependencies: 2864 - '@atproto/common': 0.4.4 2882 + '@atproto/common': 0.4.5 2865 2883 '@atproto/crypto': 0.4.2 2866 - '@atproto/lexicon': 0.4.3 2867 - '@atproto/xrpc': 0.6.4 2884 + '@atproto/lexicon': 0.4.4 2885 + '@atproto/xrpc': 0.6.5 2868 2886 cbor-x: 1.6.0 2869 2887 express: 4.21.2 2870 2888 http-errors: 2.0.0 ··· 2878 2896 - supports-color 2879 2897 - utf-8-validate 2880 2898 2881 - '@atproto/xrpc-server@0.7.3': 2899 + '@atproto/xrpc@0.6.4': 2882 2900 dependencies: 2883 - '@atproto/common': 0.4.4 2884 - '@atproto/crypto': 0.4.2 2885 2901 '@atproto/lexicon': 0.4.3 2886 - '@atproto/xrpc': 0.6.4 2887 - cbor-x: 1.6.0 2888 - express: 4.21.2 2889 - http-errors: 2.0.0 2890 - mime-types: 2.1.35 2891 - rate-limiter-flexible: 2.4.2 2892 - uint8arrays: 3.0.0 2893 - ws: 8.18.0 2894 2902 zod: 3.23.8 2895 - transitivePeerDependencies: 2896 - - bufferutil 2897 - - supports-color 2898 - - utf-8-validate 2899 2903 2900 - '@atproto/xrpc@0.6.4': 2904 + '@atproto/xrpc@0.6.5': 2901 2905 dependencies: 2902 - '@atproto/lexicon': 0.4.3 2906 + '@atproto/lexicon': 0.4.4 2903 2907 zod: 3.23.8 2904 2908 2905 2909 '@braintree/sanitize-url@7.1.0': {} ··· 3715 3719 3716 3720 dotenv@16.4.7: {} 3717 3721 3718 - drizzle-kit@0.27.2: 3719 - dependencies: 3720 - '@drizzle-team/brocli': 0.10.2 3721 - '@esbuild-kit/esm-loader': 2.6.5 3722 - esbuild: 0.19.12 3723 - esbuild-register: 3.6.0(esbuild@0.19.12) 3724 - transitivePeerDependencies: 3725 - - supports-color 3726 - 3727 3722 drizzle-kit@0.30.1: 3728 3723 dependencies: 3729 3724 '@drizzle-team/brocli': 0.10.2 ··· 4442 4437 dependencies: 4443 4438 split2: 4.2.0 4444 4439 4445 - pino-pretty@11.3.0: 4440 + pino-pretty@13.0.0: 4446 4441 dependencies: 4447 4442 colorette: 2.0.20 4448 4443 dateformat: 4.6.3 ··· 4454 4449 on-exit-leak-free: 2.1.2 4455 4450 pino-abstract-transport: 2.0.0 4456 4451 pump: 3.0.2 4457 - readable-stream: 4.5.2 4458 4452 secure-json-parse: 2.7.0 4459 4453 sonic-boom: 4.2.0 4460 4454 strip-json-comments: 3.1.1
+3
turbo.json
··· 14 14 "dev": { 15 15 "persistent": true, 16 16 "cache": false 17 + }, 18 + "db:migrate": { 19 + "cache": false 17 20 } 18 21 } 19 22 }