A simple tool which lets you scrape twitter accounts and crosspost them to bluesky accounts! Comes with a CLI and a webapp for managing profiles! Works with images/videos/link embeds/threads.
1{
2 "name": "tweets-2-bsky",
3 "version": "2.0.0",
4 "description": "A powerful tool to crosspost Tweets to Bluesky, supporting threads, videos, and high-quality images.",
5 "type": "module",
6 "main": "dist/index.js",
7 "scripts": {
8 "setup": "npm install && npm run build",
9 "build": "npm run build:server && npm run build:web",
10 "build:server": "tsc",
11 "build:web": "vite build",
12 "rebuild:native": "bash scripts/rebuild-native.sh",
13 "postinstall": "bash scripts/rebuild-native.sh",
14 "run:once": "node dist/index.js --run-once --no-web",
15 "start": "node dist/index.js",
16 "cli": "tsx src/cli.ts",
17 "dev": "tsx src/index.ts",
18 "dev:web": "vite",
19 "import": "tsx src/index.ts --import-history",
20 "lint": "biome check --write .",
21 "preview:web": "vite preview",
22 "format": "biome format --write .",
23 "typecheck": "tsc --noEmit"
24 },
25 "keywords": [
26 "bluesky",
27 "twitter",
28 "crosspost",
29 "migration",
30 "thread",
31 "video"
32 ],
33 "author": "",
34 "license": "MIT",
35 "dependencies": {
36 "@atproto/api": "^0.18.9",
37 "@google/generative-ai": "^0.24.1",
38 "@the-convocation/twitter-scraper": "^0.21.1",
39 "axios": "^1.13.2",
40 "bcryptjs": "^3.0.3",
41 "better-sqlite3": "^12.5.0",
42 "cheerio": "^1.1.2",
43 "class-variance-authority": "^0.7.1",
44 "clsx": "^2.1.1",
45 "commander": "^14.0.2",
46 "cors": "^2.8.5",
47 "dotenv": "^17.2.3",
48 "express": "^5.2.1",
49 "franc-min": "^6.2.0",
50 "inquirer": "^13.1.0",
51 "iso-639-1": "^3.1.2",
52 "jsonwebtoken": "^9.0.3",
53 "lucide-react": "^0.553.0",
54 "node-cron": "^4.2.1",
55 "puppeteer-core": "^24.34.0",
56 "react": "^19.2.0",
57 "react-dom": "^19.2.0",
58 "sharp": "^0.34.5",
59 "tailwind-merge": "^3.3.1"
60 },
61 "devDependencies": {
62 "@types/react": "^19.2.6",
63 "@types/react-dom": "^19.2.3",
64 "@vitejs/plugin-react": "^5.1.0",
65 "@biomejs/biome": "^1.9.4",
66 "@types/bcryptjs": "^2.4.6",
67 "@types/better-sqlite3": "^7.6.13",
68 "@types/cheerio": "^0.22.35",
69 "@types/cors": "^2.8.19",
70 "@types/express": "^5.0.6",
71 "@types/inquirer": "^9.0.9",
72 "@types/jsonwebtoken": "^9.0.10",
73 "@types/node": "^22.10.2",
74 "@types/sharp": "^0.31.1",
75 "autoprefixer": "^10.4.21",
76 "postcss": "^8.5.6",
77 "tailwindcss": "^3.4.18",
78 "tsx": "^4.19.2",
79 "typescript": "^5.7.2",
80 "vite": "^7.1.12"
81 }
82}