133 lines
6.9 KiB
JSON
133 lines
6.9 KiB
JSON
{
|
|
"name": "clawhub",
|
|
"private": true,
|
|
"workspaces": [
|
|
"packages/*"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "vite build && bun scripts/copy-og-assets.ts",
|
|
"check": "bun run lint",
|
|
"check:peers": "bun scripts/check-peer-deps.ts",
|
|
"check:secrets": "bun scripts/check-staged-secrets.mjs",
|
|
"ci:e2e-http": "bun run test:e2e:prod-http && bunx vitest run -c vitest.e2e.config.ts e2e/clawhub.e2e.test.ts --testNamePattern \"prints CLI version|search endpoint returns a results array|cli search does not error|package publish --dry-run from a GitHub repo|package publish --dry-run --json|package publish help shows\"",
|
|
"ci:packages": "bun run --cwd packages/schema build && bun run --cwd packages/clawhub verify && bun run --cwd packages/clawhub-mod verify",
|
|
"ci:playwright": "VITE_CONVEX_URL=https://wry-manatee-359.convex.cloud VITE_CONVEX_SITE_URL=https://wry-manatee-359.convex.site bun run build && VITE_CONVEX_URL=https://wry-manatee-359.convex.cloud VITE_CONVEX_SITE_URL=https://wry-manatee-359.convex.site bun run test:pw",
|
|
"ci:playwright-smoke": "VITE_CONVEX_URL=https://wry-manatee-359.convex.cloud VITE_CONVEX_SITE_URL=https://wry-manatee-359.convex.site bun run build && VITE_CONVEX_URL=https://wry-manatee-359.convex.cloud VITE_CONVEX_SITE_URL=https://wry-manatee-359.convex.site bun run test:pw -- --project=chromium e2e/ci-smoke.pw.test.ts",
|
|
"ci:pr": "bun run ci:static && bun run ci:unit && bun run ci:packages && bun run ci:types-build && bun run ci:e2e-http",
|
|
"ci:static": "bun run check:peers && bun audit && bun run format:check && bun run lint && bun run deadcode:ci",
|
|
"ci:types-build": "bunx tsc --noEmit && bunx tsc -p packages/schema/tsconfig.json --noEmit && bunx tsc -p packages/clawhub/tsconfig.json --noEmit && bun run --cwd packages/clawhub-mod typecheck && VITE_CONVEX_URL=https://example.invalid bun run build",
|
|
"ci:unit": "VITE_CONVEX_URL=https://example.invalid bun run coverage",
|
|
"convex:deploy": "bunx convex deploy --typecheck=disable --yes",
|
|
"coverage": "vitest run --coverage",
|
|
"dataset:snapshot": "bun scripts/security-dataset/export-snapshot.ts",
|
|
"dataset:snapshot:prod:dry-run": "bun scripts/security-dataset/export-snapshot.ts --prod --limit 10 --dry-run",
|
|
"deadcode:ci": "bun run deadcode:knip",
|
|
"deadcode:dependencies": "bunx knip@6.8.0 --config knip.config.ts --production --no-progress --reporter compact --dependencies --no-config-hints",
|
|
"deadcode:exports": "KNIP_INCLUDE_TESTS=1 bunx knip@6.8.0 --config knip.config.ts --no-progress --reporter compact --exports --no-config-hints",
|
|
"deadcode:files": "bunx knip@6.8.0 --config knip.config.ts --production --no-progress --reporter compact --files --no-config-hints",
|
|
"deadcode:knip": "bun run deadcode:files && bun run deadcode:dependencies && bun run deadcode:exports",
|
|
"dev": "bun --bun vite dev --port 3000",
|
|
"dev:worktree": "bun run setup:worktree -- --quiet && bun scripts/dev-worktree.ts",
|
|
"docs:list": "bun scripts/docs-list.ts",
|
|
"eval:clawscan:security-signals": "bun scripts/eval/clawscan-security-signals.ts",
|
|
"format": "oxfmt --write",
|
|
"format:check": "oxfmt --check",
|
|
"install:local-hooks": "bun scripts/install-git-hooks.mjs",
|
|
"lint": "bun run lint:oxlint",
|
|
"lint:fix": "oxlint --type-aware --tsconfig ./tsconfig.oxlint.json ./src ./convex ./packages/clawhub/src ./packages/clawhub-mod/src ./packages/schema/src --fix && bun run format",
|
|
"lint:oxlint": "oxlint --type-aware --tsconfig ./tsconfig.oxlint.json ./src ./convex ./packages/clawhub/src ./packages/clawhub-mod/src ./packages/schema/src",
|
|
"preinstall": "bunx only-allow bun",
|
|
"preview": "bun --bun vite preview",
|
|
"release:clawhub:cli:npm:check": "node scripts/clawhub-cli-npm-release-check.mjs",
|
|
"seed:dev": "bun run setup:worktree -- --quiet && bun scripts/dev-worktree.ts --seed-only",
|
|
"setup:worktree": "bun scripts/setup-worktree.ts",
|
|
"test": "vitest run",
|
|
"test:e2e": "vitest run -c vitest.e2e.config.ts",
|
|
"test:e2e:local": "bash scripts/run-playwright-local.sh",
|
|
"test:e2e:prod-http": "vitest run -c vitest.e2e.config.ts e2e/prod-http-smoke.e2e.test.ts",
|
|
"test:pw": "playwright test",
|
|
"test:ui-contract": "vitest run src/__tests__/ui-design-contract.test.ts src/__tests__/header.test.tsx src/__tests__/home-route.test.tsx src/components/Footer.test.tsx src/lib/theme.test.tsx src/routes/-settings.test.tsx",
|
|
"test:watch": "vitest",
|
|
"testbox:claim": "node scripts/blacksmith-testbox-runner.mjs --claim",
|
|
"testbox:run": "node scripts/blacksmith-testbox-runner.mjs",
|
|
"testbox:sanity": "node scripts/testbox-sync-sanity.mjs",
|
|
"verify:convex-contract": "bun scripts/verify-convex-contract.ts"
|
|
},
|
|
"dependencies": {
|
|
"@auth/core": "^0.37.4",
|
|
"@convex-dev/auth": "0.0.92",
|
|
"@fontsource/bricolage-grotesque": "^5.2.10",
|
|
"@fontsource/ibm-plex-mono": "^5.2.7",
|
|
"@fontsource/manrope": "^5.2.8",
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"@radix-ui/react-avatar": "^1.1.11",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-label": "^2.1.8",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-separator": "^1.1.8",
|
|
"@radix-ui/react-slot": "^1.2.4",
|
|
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
"@shikijs/rehype": "^4.0.2",
|
|
"@tanstack/react-router": "1.168.26",
|
|
"@tanstack/react-start": "1.167.52",
|
|
"@vercel/analytics": "^2.0.1",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clawhub-schema": "workspace:*",
|
|
"clsx": "^2.1.1",
|
|
"convex": "^1.36.1",
|
|
"convex-helpers": "^0.1.115",
|
|
"fflate": "^0.8.2",
|
|
"h3": "2.0.1-rc.21",
|
|
"ignore": "^7.0.5",
|
|
"lucide-react": "1.14.0",
|
|
"monaco-editor": "^0.55.1",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"react-markdown": "^10.1.0",
|
|
"rehype-raw": "^7.0.0",
|
|
"rehype-sanitize": "^6.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"semver": "^7.7.4",
|
|
"shiki": "^4.0.2",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.5.0",
|
|
"tailwindcss": "^4.2.4",
|
|
"tw-animate-css": "^1.4.0",
|
|
"unified": "^11.0.5",
|
|
"unist-util-visit": "^5.1.0",
|
|
"yaml": "^2.8.3",
|
|
"zod": "^4.4.1"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.59.1",
|
|
"@tailwindcss/vite": "^4.2.4",
|
|
"@tanstack/devtools-vite": "0.6.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/node": "^25.5.2",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/semver": "^7.7.1",
|
|
"@vitejs/plugin-react": "6.0.1",
|
|
"@vitest/coverage-v8": "^4.1.5",
|
|
"jsdom": "^29.1.0",
|
|
"nitro": "3.0.260429-beta",
|
|
"only-allow": "^1.2.2",
|
|
"oxfmt": "0.47.0",
|
|
"oxlint": "^1.62.0",
|
|
"oxlint-tsgolint": "0.22.1",
|
|
"typescript": "6.0.3",
|
|
"undici": "7.25.0",
|
|
"vite": "8.0.10",
|
|
"vitest": "^4.1.5"
|
|
},
|
|
"overrides": {
|
|
"dompurify": "3.4.1",
|
|
"postcss": "8.5.12"
|
|
}
|
|
}
|