A social knowledge tool for researchers built on ATProto
1{
2 "name": "annos",
3 "version": "1.0.0",
4 "description": "",
5 "main": "index.js",
6 "directories": {
7 "doc": "docs"
8 },
9 "scripts": {
10 "start": "node dist/index.js",
11 "worker:feeds": "node dist/workers/feed-worker.js",
12 "test": "jest",
13 "test:unit": "jest --testPathIgnorePatterns='.integration.test.' --testPathIgnorePatterns='.e2e.test.'",
14 "test:integration": "jest --testPathPattern='.integration.test.'",
15 "test:integration:db": "jest --testPathPattern='.integration.test.' --testNamePattern='Drizzle'",
16 "test:integration:db:watch": "jest --watch --testPathPattern='.integration.test.' --testNamePattern='Drizzle'",
17 "test:integration:redis": "jest --testPathPattern='.integration.test.' --testNamePattern='BullMQ'",
18 "test:integration:redis:watch": "jest --watch --testPathPattern='.integration.test.' --testNamePattern='BullMQ'",
19 "test:e2e": "jest --testPathPattern='.e2e.test.' --testTimeout=300000",
20 "test:watch": "jest --watch",
21 "test:unit:watch": "jest --watch --testPathIgnorePatterns='.integration.test.' --testPathIgnorePatterns='.e2e.test.'",
22 "test:integration:watch": "jest --watch --testPathPattern='.integration.test.'",
23 "build": "tsup",
24 "build:watch": "tsc --watch",
25 "dev:app:inner": "dotenv -e .env.local -- concurrently -k -n TYPE,APP -c red,blue \"tsc --noEmit --watch\" \"tsup --watch --onSuccess='node dist/index.js'\"",
26 "dev:worker:feeds:inner": "dotenv -e .env.local -- concurrently -k -n WORKER -c green \"tsup --watch --onSuccess='node dist/workers/feed-worker.js'\"",
27 "dev:mock": "USE_MOCK_REPOS=true USE_FAKE_PUBLISHERS=true USE_IN_MEMORY_EVENTS=true USE_MOCK_AUTH=true npm run dev:app:inner",
28 "dev:mock:pub:auth": "USE_FAKE_PUBLISHERS=true USE_MOCK_AUTH=true npm run dev",
29 "dev": "bash ./scripts/dev-combined.sh",
30 "migrate": "node dist/scripts/migrate.js",
31 "lexgen": "lex gen-server ./src/modules/atproto/infrastructure/lexicon ./src/modules/atproto/infrastructure/lexicons/*",
32 "db:start": "docker run --name annos-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=annotations -p 5432:5432 -d postgres:14",
33 "db:stop": "docker stop annos-postgres",
34 "db:remove": "docker rm annos-postgres",
35 "redis:start": "docker run --name annos-redis -p 6379:6379 -d redis:7-alpine",
36 "redis:stop": "docker stop annos-redis",
37 "redis:remove": "docker rm annos-redis",
38 "db:generate": "drizzle-kit generate --schema=./src/modules/**/*.sql.ts --out=./src/shared/infrastructure/database/migrations --dialect=postgresql",
39 "webapp:dev": "cd src/webapp && npm run dev",
40 "webapp:extension:dev": "cd src/webapp && npm run dev:extension",
41 "webapp:build": "cd src/webapp && npm run build",
42 "webapp:start": "cd src/webapp && npm run start",
43 "webapp:storybook": "cd src/webapp && npm run storybook",
44 "format": "prettier --write .",
45 "format:check": "prettier --check .",
46 "lint": "eslint .",
47 "lint:fix": "eslint . --fix"
48 },
49 "keywords": [],
50 "author": "",
51 "license": "ISC",
52 "dependencies": {
53 "@atproto/api": "^0.15.2",
54 "@atproto/common": "^0.4.10",
55 "@atproto/identity": "^0.4.7",
56 "@atproto/lexicon": "^0.4.10",
57 "@atproto/oauth-client-node": "^0.2.15",
58 "@atproto/sync": "^0.1.20",
59 "@atproto/syntax": "^0.4.0",
60 "@atproto/xrpc-server": "^0.7.15",
61 "bullmq": "^5.56.8",
62 "cors": "^2.8.5",
63 "dotenv": "^16.5.0",
64 "express": "^5.1.0",
65 "ioredis": "^5.6.1",
66 "jsonwebtoken": "^9.0.2",
67 "postgres": "^3.4.5",
68 "uuid": "^11.1.0"
69 },
70 "devDependencies": {
71 "@atproto/lex-cli": "^0.8.0",
72 "@flydotio/dockerfile": "^0.7.10",
73 "@testcontainers/postgresql": "^11.0.3",
74 "@testcontainers/redis": "^11.4.0",
75 "@types/cors": "^2.8.18",
76 "@types/express": "^5.0.1",
77 "@types/ioredis": "^5.0.0",
78 "@types/jest": "^29.5.14",
79 "@types/jsdom": "^21.1.7",
80 "@types/jsonwebtoken": "^9.0.9",
81 "@types/pg": "^8.11.13",
82 "@types/supertest": "^6.0.3",
83 "@typescript-eslint/eslint-plugin": "^8.37.0",
84 "@typescript-eslint/parser": "^8.37.0",
85 "concurrently": "^9.1.2",
86 "dotenv-cli": "^8.0.0",
87 "drizzle-kit": "^0.31.1",
88 "drizzle-orm": "^0.43.1",
89 "eslint": "^9.31.0",
90 "eslint-config-prettier": "^10.1.5",
91 "eslint-plugin-prettier": "^5.5.1",
92 "eslint-plugin-storybook": "^9.1.2",
93 "jest": "^29.7.0",
94 "jsdom": "^26.1.0",
95 "pg": "^8.14.1",
96 "playwright": "^1.40.0",
97 "prettier": "^3.6.2",
98 "supertest": "^7.1.0",
99 "testcontainers": "^11.0.3",
100 "ts-jest": "^29.3.2",
101 "tsconfig-paths": "^4.2.0",
102 "tsup": "^8.4.0",
103 "typescript": "^5.8.3"
104 }
105}