-
Notifications
You must be signed in to change notification settings - Fork 709
Expand file tree
/
Copy pathpackage.json
More file actions
145 lines (145 loc) · 6.49 KB
/
Copy pathpackage.json
File metadata and controls
145 lines (145 loc) · 6.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
{
"name": "open-seo",
"private": true,
"sideEffects": false,
"version": "0.1.1",
"type": "module",
"packageManager": "pnpm@10.30.1",
"scripts": {
"dev": "vite dev",
"dev:clear-chat": "rm -rf .wrangler/state/v3/do/open-seo-OnboardingChatAgent",
"dev:agents": "mkdir -p .logs && portless run vite dev 2>&1 | tee .logs/dev-server.log",
"dev:agents:force": "mkdir -p .logs && portless --force run vite dev 2>&1 | tee .logs/dev-server.log",
"build": "vite build && tsc --noEmit",
"lint": "oxlint . --type-aware",
"lint:fix": "oxlint . --type-aware --fix",
"preview": "npm run build && vite preview --port 3001",
"deploy": "npm run db:migrate:prod && npm run build && wrangler deploy",
"deploy:postgres": "npm run db:migrate:pg && npm run build && pnpm alchemy deploy --env-file .env.production --stage hosted-prod --adopt",
"deploy:preview": "vite build --mode preview && pnpm alchemy deploy --env-file .env.preview",
"preview:access": "pnpm alchemy deploy alchemy.preview-access.run.ts --env-file .env.preview --stage preview-access --adopt",
"alchemy": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-strip-types\" alchemy",
"destroy:preview": "pnpm alchemy destroy --env-file .env.preview",
"sourcemaps:upload": "POSTHOG_SOURCEMAPS=true NODE_OPTIONS=--max-old-space-size=8192 npm run build && pnpm dlx @posthog/cli sourcemap inject --directory ./dist-sourcemaps && pnpm dlx @posthog/cli sourcemap upload --directory ./dist-sourcemaps",
"cf-typegen": "wrangler types",
"types:check": "tsc --noEmit",
"format:check": "prettier --check .",
"format:write": "prettier . --write",
"auth:generate": "npm run auth:generate:d1 && npm run auth:generate:pg",
"auth:generate:d1": "pnpm dlx auth@latest generate --config ./cli-auth.ts --adapter drizzle --dialect sqlite --output ./src/db/better-auth-schema.ts && prettier --write ./src/db/better-auth-schema.ts",
"auth:generate:pg": "pnpm dlx auth@latest generate --config ./cli-auth.ts --adapter drizzle --dialect pg --output ./src/db/pg/better-auth-schema.ts && prettier --write ./src/db/pg/better-auth-schema.ts",
"db:generate": "npm run db:generate:d1 && npm run db:generate:pg",
"db:generate:d1": "drizzle-kit generate",
"db:generate:pg": "drizzle-kit generate --config drizzle-pg.config.ts",
"db:migrate:local": "wrangler d1 migrations apply DB --local",
"db:migrate:prod": "wrangler d1 migrations apply DB --remote",
"db:migrate:pg": "drizzle-kit migrate --config drizzle-pg.config.ts",
"knip": "knip",
"release:notes": "node scripts/release-notes.mjs",
"release:publish": "node scripts/publish-release.mjs",
"test": "vitest run",
"test:watch": "vitest",
"test:ci": "vitest run --reporter=dot",
"test:e2e": "playwright test",
"test:e2e:domain": "playwright test e2e/domain-overview-filters.spec.ts",
"test:e2e:domain:perf": "playwright test e2e/domain-overview-filters.perf.spec.ts",
"test:e2e:keywords": "playwright test e2e/keyword-research-navigation.spec.ts",
"billing:backlinks": "tsx scripts/backlinks-cost-profile.ts",
"billing:brand-lookup": "tsx scripts/brand-lookup-cost-profile.ts",
"billing:usage": "tsx scripts/dataforseo-account-usage.ts",
"cleanup:default-projects:d1": "tsx scripts/d1-default-project-cleanup.ts",
"seed:rank-tracking": "tsx scripts/seed-rank-tracking.ts",
"ci:check": "prettier --check . && knip && tsc --noEmit && tsc --noEmit -p badseo/tsconfig.json && oxlint . --type-aware"
},
"cloudflare": {
"bindings": {
"AUTH_MODE": {
"description": "Set to `cloudflare_access` for secured deployments behind Cloudflare Access, or `local_noauth` for trusted local self-host mode only."
},
"TEAM_DOMAIN": {
"description": "Cloudflare Access team domain (for example `https://your-team.cloudflareaccess.com`) used to validate `cf-access-jwt-assertion` JWTs."
},
"POLICY_AUD": {
"description": "Cloudflare Access Application Audience (AUD) tag for this Worker route/domain."
},
"DATAFORSEO_API_KEY": {
"description": "Base64-encoded `login:password` for DataForSEO API access."
},
"OAUTH_KV": {
"description": "KV namespace used by the Cloudflare Workers OAuth provider for MCP client registrations, grants, and tokens."
}
}
},
"dependencies": {
"@ai-sdk/react": "^3.0.211",
"@cloudflare/ai-chat": "^0.8.4",
"@cloudflare/think": "0.12.1",
"@cloudflare/workers-oauth-provider": "^0.4.0",
"@every-app/sdk": "^0.1.14",
"@modelcontextprotocol/sdk": "1.29.0",
"@openrouter/ai-sdk-provider": "^2.9.0",
"@tanstack/query-core": "^5.101.2",
"@tanstack/react-form": "^1.33.0",
"@tanstack/react-query": "^5.101.2",
"@tanstack/react-router": "^1.170.16",
"@tanstack/react-router-devtools": "^1.167.0",
"@tanstack/react-start": "^1.168.26",
"@tanstack/react-table": "^8.21.3",
"agents": "0.17.3",
"ai": "^6.0.199",
"autumn-js": "^1.2.33",
"better-auth": "^1.6.22",
"cheerio": "^1.2.0",
"cloudflare": "^5.2.0",
"daisyui": "^5.5.5",
"dataforseo-client": "^2.0.19",
"drizzle-orm": "^0.45.2",
"fast-xml-parser": "^5.4.1",
"jose": "^6.0.12",
"lucide-react": "^0.542.0",
"papaparse": "^5.5.3",
"postgres": "^3.4.9",
"posthog-js": "^1.395.0",
"posthog-node": "^5.38.6",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-markdown": "^10.1.0",
"recharts": "^3.7.0",
"remark-gfm": "^4.0.1",
"remeda": "^2.33.6",
"robots-parser": "^3.0.1",
"sonner": "^2.0.7",
"tailwindcss": "^4.1.16",
"tldts": "^7.0.25",
"zod": "^4.1.12"
},
"devDependencies": {
"@cloudflare/vite-plugin": "^1.42.3",
"@cloudflare/workers-types": "^4.20260611.1",
"@effect/platform-node": "4.0.0-beta.93",
"@libsql/client": "^0.15.15",
"@playwright/test": "^1.59.1",
"@tailwindcss/vite": "^4.1.11",
"@tanstack/devtools-vite": "^0.6.1",
"@tanstack/react-devtools": "^0.10.8",
"@types/node": "^22.18.13",
"@types/papaparse": "^5.5.2",
"@types/react": "^19.0.8",
"@types/react-dom": "^19.0.3",
"@vitejs/plugin-react": "^4.6.0",
"alchemy": "2.0.0-beta.61",
"drizzle-kit": "^0.31.10",
"effect": "4.0.0-beta.93",
"knip": "^5.88.1",
"oxlint": "^1.50.0",
"oxlint-tsgolint": "^0.15.0",
"portless": "^0.5.2",
"prettier": "^3.6.2",
"tsx": "^4.22.4",
"typescript": "^5.9.3",
"vite": "^7.3.6",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.6",
"wrangler": "^4.105.0"
}
}