work-in-progress atproto PDS
typescript atproto pds atcute
4
fork

Configure Feed

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

initial commit

Mary c665a2b9

+510
+2
.gitignore
··· 1 + .research/ 2 + node_modules/
+1
.prettierignore
··· 1 + pnpm-lock.yaml
+25
.prettierrc
··· 1 + { 2 + "plugins": ["@prettier/plugin-oxc"], 3 + "trailingComma": "all", 4 + "useTabs": true, 5 + "tabWidth": 2, 6 + "printWidth": 110, 7 + "semi": true, 8 + "singleQuote": true, 9 + "bracketSpacing": true, 10 + "overrides": [ 11 + { 12 + "files": ["tsconfig.json", "jsconfig.json"], 13 + "options": { 14 + "parser": "jsonc" 15 + } 16 + }, 17 + { 18 + "files": ["*.md"], 19 + "options": { 20 + "printWidth": 100, 21 + "proseWrap": "always" 22 + } 23 + } 24 + ] 25 + }
+4
.vscode/settings.json
··· 1 + { 2 + "editor.defaultFormatter": "prettier.prettier-vscode", 3 + "typescript.tsdk": "node_modules/typescript/lib" 4 + }
+1
AGENTS.md
··· 1 + CLAUDE.md
+52
CLAUDE.md
··· 1 + danaus is an AT Protocol PDS (Personal Data Server) written in Bun. 2 + 3 + ## development notes 4 + 5 + ### project management 6 + 7 + - Bun and pnpm is managed by mise, to run commands, use `mise exec -- bun ...` 8 + - install dependencies with `pnpm install` 9 + - run tests via `bun test` (bun) 10 + - format via `bun run fmt` (prettier) 11 + - lint via `bun run lint` (oxlint) 12 + 13 + ### code writing 14 + 15 + - new files should be in kebab-case 16 + - use tabs for indentation, spaces allowed for diagrams in comments 17 + - use single quotes and add trailing commas 18 + - prefer arrow functions 19 + - use braces for control statements, even single-line bodies 20 + - use bare blocks `{ }` to group related code and limit variable scope 21 + - use template literals for user-facing strings and error messages 22 + 23 + ### documentation 24 + 25 + - documentations include README, code comments, commit messages 26 + - any writing should be in lowercase, except for proper nouns, acronyms and 'I' 27 + - only comment non-trivial code, focusing on _why_ rather than _what_ 28 + - write comments and JSDoc in lowercase (except proper nouns, acronyms, and 'I') 29 + - add JSDoc comments to new publicly exported functions, methods, classes, fields, and enums 30 + - JSDoc should include proper annotations: 31 + - use `@param` for parameters (no dashes after param names) 32 + - use `@returns` for return values 33 + - use `@throws` for exceptions when applicable 34 + - keep descriptions concise but informative 35 + 36 + ### working style 37 + 38 + - `.research/` directory serves as a workspace for temporary experiments, analysis, and planning 39 + materials. create if not present (it's gitignored). this directory may contain cloned repositories 40 + or other reference materials that can help inform implementation decisions 41 + - this document is intentionally incomplete; discover everything else in the repo 42 + - don't make assumptions or speculate about code, plans, or requirements without exploring first; 43 + pause and ask for clarification when you're still unsure after looking into it 44 + - in plan mode, present the plan for review before exiting to allow for feedback or follow-up 45 + questions 46 + 47 + ### Claude Code-specific 48 + 49 + - Bash tool persists directory changes (`cd`) across calls; keep track of your current working 50 + directory when writing relative paths or use absolute paths 51 + - Task tool (subagents for exploration, planning, etc.) may not always be accurate; verify subagent 52 + findings when needed
+4
mise.toml
··· 1 + [tools] 2 + bun = "1.2" 3 + node = "22" 4 + pnpm = "latest"
+16
package.json
··· 1 + { 2 + "name": "danaus", 3 + "type": "module", 4 + "private": true, 5 + "scripts": { 6 + "fmt": "PRETTIER_EXPERIMENTAL_CLI=1 prettier --cache --write .", 7 + "lint": "oxlint" 8 + }, 9 + "devDependencies": { 10 + "@prettier/plugin-oxc": "^0.1.3", 11 + "@types/bun": "^1.3.5", 12 + "oxlint": "^1.35.0", 13 + "prettier": "^3.7.4", 14 + "typescript": "^5.9.3" 15 + } 16 + }
+376
pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + devDependencies: 11 + '@prettier/plugin-oxc': 12 + specifier: ^0.1.3 13 + version: 0.1.3 14 + '@types/bun': 15 + specifier: ^1.3.5 16 + version: 1.3.5 17 + oxlint: 18 + specifier: ^1.35.0 19 + version: 1.35.0 20 + prettier: 21 + specifier: ^3.7.4 22 + version: 3.7.4 23 + typescript: 24 + specifier: ^5.9.3 25 + version: 5.9.3 26 + 27 + packages: 28 + 29 + '@emnapi/core@1.7.1': 30 + resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} 31 + 32 + '@emnapi/runtime@1.7.1': 33 + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} 34 + 35 + '@emnapi/wasi-threads@1.1.0': 36 + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} 37 + 38 + '@napi-rs/wasm-runtime@1.1.0': 39 + resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==} 40 + 41 + '@oxc-parser/binding-android-arm64@0.99.0': 42 + resolution: {integrity: sha512-V4jhmKXgQQdRnm73F+r3ZY4pUEsijQeSraFeaCGng7abSNJGs76X6l82wHnmjLGFAeY00LWtjcELs7ZmbJ9+lA==} 43 + engines: {node: ^20.19.0 || >=22.12.0} 44 + cpu: [arm64] 45 + os: [android] 46 + 47 + '@oxc-parser/binding-darwin-arm64@0.99.0': 48 + resolution: {integrity: sha512-Rp41nf9zD5FyLZciS9l1GfK8PhYqrD5kEGxyTOA2esTLeAy37rZxetG2E3xteEolAkeb2WDkVrlxPtibeAncMg==} 49 + engines: {node: ^20.19.0 || >=22.12.0} 50 + cpu: [arm64] 51 + os: [darwin] 52 + 53 + '@oxc-parser/binding-darwin-x64@0.99.0': 54 + resolution: {integrity: sha512-WVonp40fPPxo5Gs0POTI57iEFv485TvNKOHMwZRhigwZRhZY2accEAkYIhei9eswF4HN5B44Wybkz7Gd1Qr/5Q==} 55 + engines: {node: ^20.19.0 || >=22.12.0} 56 + cpu: [x64] 57 + os: [darwin] 58 + 59 + '@oxc-parser/binding-freebsd-x64@0.99.0': 60 + resolution: {integrity: sha512-H30bjOOttPmG54gAqu6+HzbLEzuNOYO2jZYrIq4At+NtLJwvNhXz28Hf5iEAFZIH/4hMpLkM4VN7uc+5UlNW3Q==} 61 + engines: {node: ^20.19.0 || >=22.12.0} 62 + cpu: [x64] 63 + os: [freebsd] 64 + 65 + '@oxc-parser/binding-linux-arm-gnueabihf@0.99.0': 66 + resolution: {integrity: sha512-0Z/Th0SYqzSRDPs6tk5lQdW0i73UCupnim3dgq2oW0//UdLonV/5wIZCArfKGC7w9y4h8TxgXpgtIyD1kKzzlQ==} 67 + engines: {node: ^20.19.0 || >=22.12.0} 68 + cpu: [arm] 69 + os: [linux] 70 + 71 + '@oxc-parser/binding-linux-arm-musleabihf@0.99.0': 72 + resolution: {integrity: sha512-xo0wqNd5bpbzQVNpAIFbHk1xa+SaS/FGBABCd942SRTnrpxl6GeDj/s1BFaGcTl8MlwlKVMwOcyKrw/2Kdfquw==} 73 + engines: {node: ^20.19.0 || >=22.12.0} 74 + cpu: [arm] 75 + os: [linux] 76 + 77 + '@oxc-parser/binding-linux-arm64-gnu@0.99.0': 78 + resolution: {integrity: sha512-u26I6LKoLTPTd4Fcpr0aoAtjnGf5/ulMllo+QUiBhupgbVCAlaj4RyXH/mvcjcsl2bVBv9E/gYJZz2JjxQWXBA==} 79 + engines: {node: ^20.19.0 || >=22.12.0} 80 + cpu: [arm64] 81 + os: [linux] 82 + 83 + '@oxc-parser/binding-linux-arm64-musl@0.99.0': 84 + resolution: {integrity: sha512-qhftDo2D37SqCEl3ZTa367NqWSZNb1Ddp34CTmShLKFrnKdNiUn55RdokLnHtf1AL5ssaQlYDwBECX7XiBWOhw==} 85 + engines: {node: ^20.19.0 || >=22.12.0} 86 + cpu: [arm64] 87 + os: [linux] 88 + 89 + '@oxc-parser/binding-linux-riscv64-gnu@0.99.0': 90 + resolution: {integrity: sha512-zxn/xkf519f12FKkpL5XwJipsylfSSnm36h6c1zBDTz4fbIDMGyIhHfWfwM7uUmHo9Aqw1pLxFpY39Etv398+Q==} 91 + engines: {node: ^20.19.0 || >=22.12.0} 92 + cpu: [riscv64] 93 + os: [linux] 94 + 95 + '@oxc-parser/binding-linux-s390x-gnu@0.99.0': 96 + resolution: {integrity: sha512-Y1eSDKDS5E4IVC7Oxw+NbYAKRmJPMJTIjW+9xOWwteDHkFqpocKe0USxog+Q1uhzalD9M0p9eXWEWdGQCMDBMQ==} 97 + engines: {node: ^20.19.0 || >=22.12.0} 98 + cpu: [s390x] 99 + os: [linux] 100 + 101 + '@oxc-parser/binding-linux-x64-gnu@0.99.0': 102 + resolution: {integrity: sha512-YVJMfk5cFWB8i2/nIrbk6n15bFkMHqWnMIWkVx7r2KwpTxHyFMfu2IpeVKo1ITDSmt5nBrGdLHD36QRlu2nDLg==} 103 + engines: {node: ^20.19.0 || >=22.12.0} 104 + cpu: [x64] 105 + os: [linux] 106 + 107 + '@oxc-parser/binding-linux-x64-musl@0.99.0': 108 + resolution: {integrity: sha512-2+SDPrie5f90A1b9EirtVggOgsqtsYU5raZwkDYKyS1uvJzjqHCDhG/f4TwQxHmIc5YkczdQfwvN91lwmjsKYQ==} 109 + engines: {node: ^20.19.0 || >=22.12.0} 110 + cpu: [x64] 111 + os: [linux] 112 + 113 + '@oxc-parser/binding-wasm32-wasi@0.99.0': 114 + resolution: {integrity: sha512-DKA4j0QerUWSMADziLM5sAyM7V53Fj95CV9SjP77bPfEfT7MnvFKnneaRMqPK1cpzjAGiQF52OBUIKyk0dwOQA==} 115 + engines: {node: '>=14.0.0'} 116 + cpu: [wasm32] 117 + 118 + '@oxc-parser/binding-win32-arm64-msvc@0.99.0': 119 + resolution: {integrity: sha512-EaB3AvsxqdNUhh9FOoAxRZ2L4PCRwDlDb//QXItwyOJrX7XS+uGK9B1KEUV4FZ/7rDhHsWieLt5e07wl2Ti5AQ==} 120 + engines: {node: ^20.19.0 || >=22.12.0} 121 + cpu: [arm64] 122 + os: [win32] 123 + 124 + '@oxc-parser/binding-win32-x64-msvc@0.99.0': 125 + resolution: {integrity: sha512-sJN1Q8h7ggFOyDn0zsHaXbP/MklAVUvhrbq0LA46Qum686P3SZQHjbATqJn9yaVEvaSKXCshgl0vQ1gWkGgpcQ==} 126 + engines: {node: ^20.19.0 || >=22.12.0} 127 + cpu: [x64] 128 + os: [win32] 129 + 130 + '@oxc-project/types@0.99.0': 131 + resolution: {integrity: sha512-LLDEhXB7g1m5J+woRSgfKsFPS3LhR9xRhTeIoEBm5WrkwMxn6eZ0Ld0c0K5eHB57ChZX6I3uSmmLjZ8pcjlRcw==} 132 + 133 + '@oxlint/darwin-arm64@1.35.0': 134 + resolution: {integrity: sha512-ieiYVHkNZPo77Hgrxav595wGS4rRNKuDNrljf+4xhwpJsddrxMpM64IQUf2IvR3MhK4FxdGzhhB6OVmGVHY5/w==} 135 + cpu: [arm64] 136 + os: [darwin] 137 + 138 + '@oxlint/darwin-x64@1.35.0': 139 + resolution: {integrity: sha512-1jNHu3j66X5jKySvgtE+jGtjx4ye+xioAucVTi2IuROZO6keK2YG74pnD+9FT+DpWZAtWRZGoW0r0x6aN9sEEg==} 140 + cpu: [x64] 141 + os: [darwin] 142 + 143 + '@oxlint/linux-arm64-gnu@1.35.0': 144 + resolution: {integrity: sha512-T1lc0UaYbTxZyqVpLfC7eipbauNG8pBpkaZEW4JGz8Y68rxTH7d9s+CF0zxUxNr5RCtcmT669RLVjQT7VrKVLg==} 145 + cpu: [arm64] 146 + os: [linux] 147 + 148 + '@oxlint/linux-arm64-musl@1.35.0': 149 + resolution: {integrity: sha512-7Wv5Pke9kwWKFycUziSHsmi3EM0389TLzraB0KE/MArrKxx30ycwfJ5PYoMj9ERoW+Ybs0txdaOF/xJy/XyYkg==} 150 + cpu: [arm64] 151 + os: [linux] 152 + 153 + '@oxlint/linux-x64-gnu@1.35.0': 154 + resolution: {integrity: sha512-HDMPOzyVVy+rQl3H7UOq8oGHt7m1yaiWCanlhAu4jciK8dvXeO9OG/OQd74lD/h05IcJh93pCLEJ3wWOG8hTiQ==} 155 + cpu: [x64] 156 + os: [linux] 157 + 158 + '@oxlint/linux-x64-musl@1.35.0': 159 + resolution: {integrity: sha512-kAPBBsUOM3HQQ6n3nnZauvFR9EoXqCSoj4O3OSXXarzsRTiItNrHabVUwxeswZEc+xMzQNR0FHEWg/d4QAAWLw==} 160 + cpu: [x64] 161 + os: [linux] 162 + 163 + '@oxlint/win32-arm64@1.35.0': 164 + resolution: {integrity: sha512-qrpBkkOASS0WT8ra9xmBRXOEliN6D/MV9JhI/68lFHrtLhfFuRwg4AjzjxrCWrQCnQ0WkvAVpJzu73F4ICLYZw==} 165 + cpu: [arm64] 166 + os: [win32] 167 + 168 + '@oxlint/win32-x64@1.35.0': 169 + resolution: {integrity: sha512-yPFcj6umrhusnG/kMS5wh96vblsqZ0kArQJS+7kEOSJDrH+DsFWaDCsSRF8U6gmSmZJ26KVMU3C3TMpqDN4M1g==} 170 + cpu: [x64] 171 + os: [win32] 172 + 173 + '@prettier/plugin-oxc@0.1.3': 174 + resolution: {integrity: sha512-aABz3zIRilpWMekbt1FL1JVBQrQLR8L4Td2SRctECrWSsXGTNn/G1BqNSKCdbvQS1LWstAXfqcXzDki7GAAJyg==} 175 + engines: {node: '>=14'} 176 + 177 + '@tybys/wasm-util@0.10.1': 178 + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} 179 + 180 + '@types/bun@1.3.5': 181 + resolution: {integrity: sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w==} 182 + 183 + '@types/node@25.0.3': 184 + resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} 185 + 186 + bun-types@1.3.5: 187 + resolution: {integrity: sha512-inmAYe2PFLs0SUbFOWSVD24sg1jFlMPxOjOSSCYqUgn4Hsc3rDc7dFvfVYjFPNHtov6kgUeulV4SxbuIV/stPw==} 188 + 189 + oxc-parser@0.99.0: 190 + resolution: {integrity: sha512-MpS1lbd2vR0NZn1v0drpgu7RUFu3x9Rd0kxExObZc2+F+DIrV0BOMval/RO3BYGwssIOerII6iS8EbbpCCZQpQ==} 191 + engines: {node: ^20.19.0 || >=22.12.0} 192 + 193 + oxlint@1.35.0: 194 + resolution: {integrity: sha512-QDX1aUgaiqznkGfTM2qHwva2wtKqhVoqPSVXrnPz+yLUhlNadikD3QRuRtppHl7WGuy3wG6nKAuR8lash3aWSg==} 195 + engines: {node: ^20.19.0 || >=22.12.0} 196 + hasBin: true 197 + peerDependencies: 198 + oxlint-tsgolint: '>=0.10.0' 199 + peerDependenciesMeta: 200 + oxlint-tsgolint: 201 + optional: true 202 + 203 + prettier@3.7.4: 204 + resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} 205 + engines: {node: '>=14'} 206 + hasBin: true 207 + 208 + tslib@2.8.1: 209 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 210 + 211 + typescript@5.9.3: 212 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 213 + engines: {node: '>=14.17'} 214 + hasBin: true 215 + 216 + undici-types@7.16.0: 217 + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 218 + 219 + snapshots: 220 + 221 + '@emnapi/core@1.7.1': 222 + dependencies: 223 + '@emnapi/wasi-threads': 1.1.0 224 + tslib: 2.8.1 225 + optional: true 226 + 227 + '@emnapi/runtime@1.7.1': 228 + dependencies: 229 + tslib: 2.8.1 230 + optional: true 231 + 232 + '@emnapi/wasi-threads@1.1.0': 233 + dependencies: 234 + tslib: 2.8.1 235 + optional: true 236 + 237 + '@napi-rs/wasm-runtime@1.1.0': 238 + dependencies: 239 + '@emnapi/core': 1.7.1 240 + '@emnapi/runtime': 1.7.1 241 + '@tybys/wasm-util': 0.10.1 242 + optional: true 243 + 244 + '@oxc-parser/binding-android-arm64@0.99.0': 245 + optional: true 246 + 247 + '@oxc-parser/binding-darwin-arm64@0.99.0': 248 + optional: true 249 + 250 + '@oxc-parser/binding-darwin-x64@0.99.0': 251 + optional: true 252 + 253 + '@oxc-parser/binding-freebsd-x64@0.99.0': 254 + optional: true 255 + 256 + '@oxc-parser/binding-linux-arm-gnueabihf@0.99.0': 257 + optional: true 258 + 259 + '@oxc-parser/binding-linux-arm-musleabihf@0.99.0': 260 + optional: true 261 + 262 + '@oxc-parser/binding-linux-arm64-gnu@0.99.0': 263 + optional: true 264 + 265 + '@oxc-parser/binding-linux-arm64-musl@0.99.0': 266 + optional: true 267 + 268 + '@oxc-parser/binding-linux-riscv64-gnu@0.99.0': 269 + optional: true 270 + 271 + '@oxc-parser/binding-linux-s390x-gnu@0.99.0': 272 + optional: true 273 + 274 + '@oxc-parser/binding-linux-x64-gnu@0.99.0': 275 + optional: true 276 + 277 + '@oxc-parser/binding-linux-x64-musl@0.99.0': 278 + optional: true 279 + 280 + '@oxc-parser/binding-wasm32-wasi@0.99.0': 281 + dependencies: 282 + '@napi-rs/wasm-runtime': 1.1.0 283 + optional: true 284 + 285 + '@oxc-parser/binding-win32-arm64-msvc@0.99.0': 286 + optional: true 287 + 288 + '@oxc-parser/binding-win32-x64-msvc@0.99.0': 289 + optional: true 290 + 291 + '@oxc-project/types@0.99.0': {} 292 + 293 + '@oxlint/darwin-arm64@1.35.0': 294 + optional: true 295 + 296 + '@oxlint/darwin-x64@1.35.0': 297 + optional: true 298 + 299 + '@oxlint/linux-arm64-gnu@1.35.0': 300 + optional: true 301 + 302 + '@oxlint/linux-arm64-musl@1.35.0': 303 + optional: true 304 + 305 + '@oxlint/linux-x64-gnu@1.35.0': 306 + optional: true 307 + 308 + '@oxlint/linux-x64-musl@1.35.0': 309 + optional: true 310 + 311 + '@oxlint/win32-arm64@1.35.0': 312 + optional: true 313 + 314 + '@oxlint/win32-x64@1.35.0': 315 + optional: true 316 + 317 + '@prettier/plugin-oxc@0.1.3': 318 + dependencies: 319 + oxc-parser: 0.99.0 320 + 321 + '@tybys/wasm-util@0.10.1': 322 + dependencies: 323 + tslib: 2.8.1 324 + optional: true 325 + 326 + '@types/bun@1.3.5': 327 + dependencies: 328 + bun-types: 1.3.5 329 + 330 + '@types/node@25.0.3': 331 + dependencies: 332 + undici-types: 7.16.0 333 + 334 + bun-types@1.3.5: 335 + dependencies: 336 + '@types/node': 25.0.3 337 + 338 + oxc-parser@0.99.0: 339 + dependencies: 340 + '@oxc-project/types': 0.99.0 341 + optionalDependencies: 342 + '@oxc-parser/binding-android-arm64': 0.99.0 343 + '@oxc-parser/binding-darwin-arm64': 0.99.0 344 + '@oxc-parser/binding-darwin-x64': 0.99.0 345 + '@oxc-parser/binding-freebsd-x64': 0.99.0 346 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.99.0 347 + '@oxc-parser/binding-linux-arm-musleabihf': 0.99.0 348 + '@oxc-parser/binding-linux-arm64-gnu': 0.99.0 349 + '@oxc-parser/binding-linux-arm64-musl': 0.99.0 350 + '@oxc-parser/binding-linux-riscv64-gnu': 0.99.0 351 + '@oxc-parser/binding-linux-s390x-gnu': 0.99.0 352 + '@oxc-parser/binding-linux-x64-gnu': 0.99.0 353 + '@oxc-parser/binding-linux-x64-musl': 0.99.0 354 + '@oxc-parser/binding-wasm32-wasi': 0.99.0 355 + '@oxc-parser/binding-win32-arm64-msvc': 0.99.0 356 + '@oxc-parser/binding-win32-x64-msvc': 0.99.0 357 + 358 + oxlint@1.35.0: 359 + optionalDependencies: 360 + '@oxlint/darwin-arm64': 1.35.0 361 + '@oxlint/darwin-x64': 1.35.0 362 + '@oxlint/linux-arm64-gnu': 1.35.0 363 + '@oxlint/linux-arm64-musl': 1.35.0 364 + '@oxlint/linux-x64-gnu': 1.35.0 365 + '@oxlint/linux-x64-musl': 1.35.0 366 + '@oxlint/win32-arm64': 1.35.0 367 + '@oxlint/win32-x64': 1.35.0 368 + 369 + prettier@3.7.4: {} 370 + 371 + tslib@2.8.1: 372 + optional: true 373 + 374 + typescript@5.9.3: {} 375 + 376 + undici-types@7.16.0: {}
+29
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + // Environment setup & latest features 4 + "lib": ["ESNext"], 5 + "target": "ESNext", 6 + "module": "Preserve", 7 + "moduleDetection": "force", 8 + "jsx": "react-jsx", 9 + "allowJs": true, 10 + 11 + // Bundler mode 12 + "moduleResolution": "bundler", 13 + "allowImportingTsExtensions": true, 14 + "verbatimModuleSyntax": true, 15 + "noEmit": true, 16 + 17 + // Best practices 18 + "strict": true, 19 + "skipLibCheck": true, 20 + "noFallthroughCasesInSwitch": true, 21 + "noUncheckedIndexedAccess": true, 22 + "noImplicitOverride": true, 23 + 24 + // Some stricter flags (disabled by default) 25 + "noUnusedLocals": false, 26 + "noUnusedParameters": false, 27 + "noPropertyAccessFromIndexSignature": false 28 + } 29 + }