Create your Link in Bio for Bluesky
1{
2 "name": "linkat",
3 "type": "module",
4 "private": true,
5 "packageManager": "pnpm@10.31.0+sha512.e3927388bfaa8078ceb79b748ffc1e8274e84d75163e67bc22e06c0d3aed43dd153151cbf11d7f8301ff4acb98c68bdc5cadf6989532801ffafe3b3e4a63c268",
6 "engines": {
7 "node": ">=22.0.0"
8 },
9 "scripts": {
10 "_eslint": "eslint --cache --cache-location ./node_modules/.cache/eslint",
11 "all": "run-s typecheck format test",
12 "build": "run-p -s build:*",
13 "build:remix": "react-router build",
14 "build:server": "node ./scripts/build-server.js",
15 "dev": "./scripts/dev.sh | pino-pretty",
16 "dev-atproto": "./scripts/dev-atproto.sh",
17 "e2e": "playwright test",
18 "format": "pnpm _eslint --fix && prettier . --write",
19 "lint": "pnpm _eslint && prettier . --check",
20 "postinstall": "./scripts/postinstall.sh",
21 "prepare": "husky",
22 "setup-dev": "./scripts/setup-dev.sh",
23 "start": "NODE_ENV=production node ./dist/server.js",
24 "start:local": "NODE_ENV=development E2E=1 node --env-file .env ./dist/server.js",
25 "test": "vitest run",
26 "typecheck": "react-router typegen && tsc"
27 },
28 "dependencies": {
29 "@atproto/api": "0.19.3",
30 "@atproto/did": "0.3.0",
31 "@atproto/identity": "0.4.12",
32 "@atproto/jwk-jose": "0.1.11",
33 "@atproto/lexicon": "0.6.2",
34 "@atproto/oauth-client-node": "0.3.17",
35 "@atproto/repo": "0.8.12",
36 "@atproto/syntax": "0.5.0",
37 "@atproto/xrpc": "0.7.7",
38 "@atproto/xrpc-server": "0.10.15",
39 "@conform-to/react": "1.17.1",
40 "@conform-to/zod": "1.17.1",
41 "@emoji-mart/data": "1.2.1",
42 "@emoji-mart/react": "1.1.1",
43 "@heroicons/react": "2.2.0",
44 "@prisma/client": "6.19.2",
45 "@react-router/express": "^7.12.0",
46 "@react-router/fs-routes": "7.12.0",
47 "@react-router/node": "^7.12.0",
48 "@resvg/resvg-js": "2.6.2",
49 "@skyware/jetstream": "0.2.5",
50 "@t3-oss/env-core": "0.13.10",
51 "clsx": "2.1.1",
52 "emoji-mart": "5.6.0",
53 "emoji-regex": "10.6.0",
54 "express": "5.2.1",
55 "i18next": "25.8.17",
56 "i18next-browser-languagedetector": "8.2.1",
57 "isbot": "5.1.35",
58 "jotai": "2.18.1",
59 "lru-cache": "11.2.6",
60 "markdown-it": "14.1.1",
61 "markdown-it-link-attributes": "4.0.1",
62 "pino": "10.3.1",
63 "pino-http": "11.0.0",
64 "pino-pretty": "13.1.3",
65 "prisma": "6.19.2",
66 "react": "19.2.4",
67 "react-dom": "19.2.4",
68 "react-github-btn": "1.4.0",
69 "react-i18next": "16.5.6",
70 "react-movable": "3.4.1",
71 "react-router": "^7.12.0",
72 "remix-i18next": "7.4.2",
73 "remix-utils": "9.2.0",
74 "satori": "0.25.0",
75 "tailwind-merge": "3.5.0",
76 "ws": "8.19.0",
77 "zod": "4.3.6",
78 "zod-validation-error": "5.0.0"
79 },
80 "devDependencies": {
81 "@atproto/lex-cli": "0.9.9",
82 "@mkizka/eslint-config": "8.0.0",
83 "@mkizka/eslint-plugin-aaa": "1.0.2",
84 "@playwright/test": "1.57.0",
85 "@quramy/prisma-fabbrica": "2.3.3",
86 "@react-router/dev": "7.12.0",
87 "@tailwindcss/typography": "0.5.19",
88 "@types/express": "5.0.6",
89 "@types/markdown-it": "14.1.2",
90 "@types/markdown-it-link-attributes": "3.0.5",
91 "@types/node": "24.12.0",
92 "@types/react": "19.2.14",
93 "@types/react-dom": "19.2.3",
94 "@types/umami": "2.10.1",
95 "@types/ws": "8.18.1",
96 "@vitest/coverage-v8": "3.2.4",
97 "autoprefixer": "10.4.27",
98 "daisyui": "4.12.24",
99 "esbuild": "0.27.3",
100 "eslint": "9.39.4",
101 "giget": "2.0.0",
102 "husky": "9.1.7",
103 "lint-staged": "16.3.2",
104 "msw": "2.12.10",
105 "npm-run-all2": "8.0.4",
106 "postcss": "8.5.8",
107 "prettier": "3.8.1",
108 "prettier-plugin-pkg": "0.21.2",
109 "tailwindcss": "3.4.19",
110 "tailwindcss-animate": "1.0.7",
111 "tsx": "4.21.0",
112 "typescript": "5.9.3",
113 "vite": "7.3.1",
114 "vite-tsconfig-paths": "6.1.1",
115 "vitest": "3.2.4",
116 "vitest-environment-vprisma": "1.3.0",
117 "vitest-mock-extended": "3.1.0",
118 "wait-on": "9.0.4"
119 },
120 "sideEffects": false,
121 "lint-staged": {
122 "*.{js,mjs,ts,tsx}": "eslint --cache --cache-location ./node_modules/.cache/eslint --fix",
123 "*": "prettier --ignore-unknown --write"
124 },
125 "prettier": {
126 "plugins": [
127 "prettier-plugin-pkg"
128 ]
129 }
130}