{ "name": "cameron-site", "private": true, "type": "module", "scripts": { "dev": "tsx --conditions source --watch src/index.tsx", "start": "tsx --conditions source src/index.tsx", "about:sync": "tsx scripts/sync-about-atproto.ts", "knowledge:stage": "tsx scripts/stage-knowledge.ts", "knowledge:check": "tsx scripts/check-knowledge.ts", "knowledge:promote": "tsx scripts/promote-knowledge.ts", "knowledge:sync": "tsx scripts/sync-knowledge-atproto.ts", "test:markdown": "tsx --test src/markdown.test.ts", "test:content": "tsx --test src/about-content.test.ts src/blog-data.test.ts src/pds-data.test.ts src/profile-data.test.ts src/knowledge.test.ts src/knowledge-landing.test.tsx src/services.test.tsx src/links.test.tsx src/tide-pool.test.tsx src/brinewake.test.tsx src/mindco.test.ts src/code-activity.test.ts scripts/tide-pool.test.mjs", "test:charts": "tsx --test src/charts/charts.test.ts src/knowledge-charts/knowledge-charts.test.tsx", "test:worker": "bash scripts/test-content-sync-worker.sh", "test:code-loading": "tsx --test src/code-loading.test.tsx", "test": "pnpm test:markdown && pnpm test:content && pnpm test:code-loading && pnpm test:charts && pnpm test:worker && pnpm knowledge:check", "typecheck": "tsc --noEmit" }, "dependencies": { "@atproto/api": "^0.18.17", "@atproto/common-web": "^0.4.19", "@atproto/lex-resolver": "^0.0.15", "@atproto/syntax": "^0.3.0", "@hono/node-server": "^1.19.9", "cheerio": "1.0.0", "dotenv": "^16.5.0", "gray-matter": "^4.0.3", "hono": "^4.12.2", "ioredis": "^5.6.0", "katex": "^0.17.0", "marked": "^15.0.0", "marked-footnote": "^1.4.0", "marked-katex-extension": "^5.1.10", "shiki": "^3.0.0", "three": "0.180.0", "zod": "^3.25.76" }, "devDependencies": { "@types/node": "^22.0.0", "tsx": "^4.0.0", "typescript": "^5.9.0" }, "engines": { "node": ">=22.0.0" }, "packageManager": "pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd" }