mirror of
https://github.com/openclaw/clawhub.git
synced 2026-07-22 19:55:49 -04:00
197 lines
11 KiB
JSON
197 lines
11 KiB
JSON
{
|
|
"name": "clawhub",
|
|
"private": true,
|
|
"workspaces": [
|
|
"packages/clawhub",
|
|
"packages/clawhub-admin",
|
|
"packages/schema"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"admin": "bun packages/clawhub-admin/src/cli.ts",
|
|
"build": "bun run llms:generate && vite build && bun scripts/copy-og-assets.ts",
|
|
"build:vercel": "bun scripts/vercel-build.ts",
|
|
"check": "bun run lint",
|
|
"check:peers": "bun scripts/check-peer-deps.ts",
|
|
"check:release-workflow-action-pins": "node scripts/check-release-workflow-action-pins.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|cli scan rejects local folders|cli scan download fetches a stored submitted-version scan report|package publish --dry-run from a GitHub repo|package publish --dry-run --json|package publish exits non-zero when Plugin Inspector hard errors block publish|package publish exits zero and prints Plugin Inspector warnings|package publish help shows|skill verify help omits the redundant json flag|skill verify accepts the legacy json flag\" && bunx vitest run -c vitest.e2e.config.ts e2e/permissions.e2e.test.ts",
|
|
"ci:packages": "bun run --cwd packages/schema build && bun run --cwd packages/clawhub verify && bun run --cwd packages/clawhub-admin 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 e2e/public-routes-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 --ignore GHSA-rmmr-r34h-pfm5 --ignore GHSA-gv7w-rqvm-qjhr --ignore GHSA-g7r4-m6w7-qqqr --ignore GHSA-x4vx-rjvf-j5p4 --ignore GHSA-76mc-f452-cxcm --ignore GHSA-hpcv-96wg-7vj8 --ignore GHSA-r47g-fvhr-h676 --ignore GHSA-vxr8-fq34-vvx9 --ignore GHSA-gvmj-g25r-r7wr --ignore GHSA-rp9w-3fw7-7cwq --ignore GHSA-cmwh-pvxp-8882 --ignore GHSA-vmh5-mc38-953g --ignore GHSA-pr7r-676h-xcf6 && bun run llms:check && bun run format:check && bun run lint && bun run deadcode:ci && bun run check:release-workflow-action-pins",
|
|
"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-admin typecheck && VITE_CONVEX_URL=https://example.invalid bun run build",
|
|
"ci:unit": "SITE_URL= VITE_SITE_URL= VITE_CONVEX_URL=https://example.invalid bun run coverage",
|
|
"clawscan:local": "bun scripts/local-clawscan-dry-run.ts",
|
|
"convex:deploy": "bunx convex deploy --typecheck=disable --yes",
|
|
"coverage": "vitest run --coverage",
|
|
"crabbox:hydrate": "node scripts/crabbox-wrapper.mjs actions hydrate",
|
|
"crabbox:run": "node scripts/crabbox-wrapper.mjs run",
|
|
"crabbox:stop": "node scripts/crabbox-wrapper.mjs stop",
|
|
"crabbox:warmup": "node scripts/crabbox-wrapper.mjs warmup",
|
|
"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",
|
|
"design:audit:browser": "bun scripts/design-audit/browser-check.ts",
|
|
"design:audit:codex": "bun scripts/design-audit/run-codex.ts",
|
|
"design:audit:finalize": "bun scripts/design-audit/finalize.ts",
|
|
"design:audit:source": "bun scripts/design-audit/source-check.ts",
|
|
"dev": "bun run llms:generate && bun --bun vite dev --port 3000",
|
|
"dev:workers": "bun scripts/dev-workers.ts",
|
|
"dev:worktree": "wt --yes dev",
|
|
"docs:list": "bun scripts/docs-list.ts",
|
|
"docs:run": "bun scripts/docs-run.ts",
|
|
"email:dev": "email dev --dir emails --port 8765",
|
|
"format": "oxfmt --write",
|
|
"format:check": "oxfmt --check",
|
|
"lint": "bun run lint:oxlint",
|
|
"lint:fix": "oxlint --type-aware --tsconfig ./tsconfig.oxlint.json ./src ./convex ./packages/clawhub/src ./packages/clawhub-admin/src ./packages/schema/src --fix && bun run format",
|
|
"lint:oxlint": "oxlint --type-aware --tsconfig ./tsconfig.oxlint.json ./src ./convex ./packages/clawhub/src ./packages/clawhub-admin/src ./packages/schema/src",
|
|
"llms:check": "bun scripts/generate-llms-txt.ts --check",
|
|
"llms:generate": "bun scripts/generate-llms-txt.ts",
|
|
"preinstall": "bunx --bun only-allow@1.2.2 bun",
|
|
"preview": "bun --bun vite preview",
|
|
"proof:publish": "node scripts/ui-proof-publish.mjs",
|
|
"proof:ui": "node scripts/ui-proof.mjs",
|
|
"publish:prepublication-worker": "bun scripts/security/run-prepublication-worker.ts",
|
|
"release:clawhub:cli:changelog": "node scripts/extract-changelog-release.mjs",
|
|
"release:clawhub:cli:npm:check": "node scripts/clawhub-cli-npm-release-check.mjs",
|
|
"security:codex-worker": "bun scripts/security/run-codex-scan-worker.ts",
|
|
"seed": "bun scripts/seed.ts",
|
|
"seed:dev": "bun run setup:worktree -- --quiet && bun scripts/dev-worktree.ts --seed-only",
|
|
"seed:public-corpus": "bun run setup:worktree -- --quiet && bunx convex dev --once --typecheck=disable && bun scripts/public-corpus/seed-public-corpus.ts",
|
|
"seed:test": "bun scripts/seed-test.ts",
|
|
"seed:test:import-snapshot": "bun scripts/staging-seed/import-test-snapshot.ts",
|
|
"seed:test:sanitize-snapshot": "bun scripts/staging-seed/sanitize-prod-snapshot.ts",
|
|
"seed:test:validate-snapshot": "bun scripts/staging-seed/validate-sanitized-snapshot.ts",
|
|
"setup:worktree": "bun scripts/setup-worktree.ts",
|
|
"skill-cards:worker": "bun scripts/skill-cards/run-skill-card-worker.ts",
|
|
"skills-sh:capture-500": "bun scripts/skills-sh-catalog/capture-frozen-snapshot.ts",
|
|
"skills-sh:prove-500": "bun scripts/skills-sh-catalog/prove-500.ts",
|
|
"skills-sh:prove-canary": "CLAWHUB_TEST_CATALOG_MODE=controlled-canary bun scripts/skills-sh-catalog/run-test-gate.ts",
|
|
"skills:install": "npx --yes skills@1.5.16 add openclaw/design-system --skill openclaw-design openclaw-brand openclaw-design-system openclaw-marketing-pages openclaw-design-audit --agent codex --copy --yes",
|
|
"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:pw:local-auth": "bun scripts/run-playwright-local-auth.ts",
|
|
"test:pw:publish-lifecycle": "bun run test:pw:local-auth -- --project=chromium e2e/local-auth/publish-skill-lifecycle.pw.test.ts",
|
|
"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",
|
|
"validate:public-corpus": "bun scripts/public-corpus/validate-public-corpus.ts",
|
|
"verify:convex-contract": "bun scripts/verify-convex-contract.ts"
|
|
},
|
|
"dependencies": {
|
|
"@auth/core": "0.41.2",
|
|
"@convex-dev/auth": "0.0.94",
|
|
"@convex-dev/migrations": "0.3.5",
|
|
"@convex-dev/rate-limiter": "0.3.2",
|
|
"@fontsource/bricolage-grotesque": "5.3.0",
|
|
"@fontsource/ibm-plex-mono": "5.3.0",
|
|
"@fontsource/manrope": "5.3.0",
|
|
"@fontsource/noto-sans-sc": "5.3.0",
|
|
"@monaco-editor/react": "4.7.0",
|
|
"@openclaw/design-system": "git+https://github.com/openclaw/design-system.git#7b097d79eef6e9a0a4632f72727ac7450f07a1f2",
|
|
"@openclaw/plugin-inspector": "0.3.17",
|
|
"@radix-ui/react-avatar": "1.2.3",
|
|
"@radix-ui/react-dialog": "1.1.20",
|
|
"@radix-ui/react-dropdown-menu": "2.1.21",
|
|
"@radix-ui/react-label": "2.1.12",
|
|
"@radix-ui/react-select": "2.3.4",
|
|
"@radix-ui/react-separator": "1.1.12",
|
|
"@radix-ui/react-slot": "1.3.0",
|
|
"@radix-ui/react-toggle-group": "1.1.16",
|
|
"@radix-ui/react-tooltip": "1.2.13",
|
|
"@react-email/components": "^1.0.12",
|
|
"@react-email/render": "^2.1.0",
|
|
"@resvg/resvg-wasm": "2.6.2",
|
|
"@shikijs/rehype": "4.3.1",
|
|
"@tanstack/react-router": "1.170.18",
|
|
"@tanstack/react-start": "1.168.32",
|
|
"@vercel/analytics": "2.0.1",
|
|
"@vercel/oidc": "^3.8.0",
|
|
"@vercel/speed-insights": "2.0.0",
|
|
"class-variance-authority": "0.7.1",
|
|
"clawhub-schema": "workspace:0.0.2",
|
|
"clsx": "2.1.1",
|
|
"convex": "1.42.3",
|
|
"convex-helpers": "0.1.120",
|
|
"fflate": "0.8.3",
|
|
"h3": "2.0.1-rc.25",
|
|
"ignore": "7.0.6",
|
|
"lucide-react": "1.25.0",
|
|
"mermaid": "^11.16.0",
|
|
"mime": "4.1.0",
|
|
"monaco-editor": "0.56.0",
|
|
"pino": "10.3.1",
|
|
"react": "19.2.7",
|
|
"react-dom": "19.2.7",
|
|
"react-markdown": "10.1.0",
|
|
"rehype-raw": "7.0.0",
|
|
"rehype-sanitize": "6.0.0",
|
|
"remark-gfm": "4.0.1",
|
|
"resend": "6.17.2",
|
|
"semver": "7.8.5",
|
|
"sharp": "0.35.3",
|
|
"shiki": "4.3.1",
|
|
"sonner": "2.0.7",
|
|
"tailwind-merge": "3.6.0",
|
|
"tailwindcss": "4.3.3",
|
|
"tw-animate-css": "1.4.0",
|
|
"unified": "11.0.5",
|
|
"unist-util-visit": "5.1.0",
|
|
"yaml": "2.9.0",
|
|
"yauzl": "3.4.0",
|
|
"zod": "4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@edge-runtime/vm": "^5.0.0",
|
|
"@faker-js/faker": "^10.5.0",
|
|
"@playwright/test": "^1.61.1",
|
|
"@react-email/ui": "^6.9.0",
|
|
"@tailwindcss/vite": "^4.3.3",
|
|
"@tanstack/devtools-vite": "0.8.1",
|
|
"@testing-library/dom": "10.4.1",
|
|
"@testing-library/react": "16.3.2",
|
|
"@types/node": "26.1.1",
|
|
"@types/react": "19.2.17",
|
|
"@types/react-dom": "19.2.3",
|
|
"@types/semver": "7.7.1",
|
|
"@types/yauzl": "3.4.0",
|
|
"@typescript/native": "npm:typescript@7.0.2",
|
|
"@vitejs/plugin-react": "6.0.3",
|
|
"@vitest/coverage-v8": "4.1.10",
|
|
"convex-test": "^0.0.54",
|
|
"jsdom": "29.1.1",
|
|
"nitro": "3.0.260610-beta",
|
|
"only-allow": "1.2.2",
|
|
"oxfmt": "0.59.0",
|
|
"oxlint": "1.74.0",
|
|
"oxlint-tsgolint": "0.25.0",
|
|
"react-email": "^6.9.0",
|
|
"typescript": "6.0.3",
|
|
"undici": "7.28.0",
|
|
"vite": "8.1.5",
|
|
"vitest": "4.1.10"
|
|
},
|
|
"overrides": {
|
|
"ast-v8-to-istanbul": "1.0.4",
|
|
"brace-expansion": "5.0.7",
|
|
"dompurify": "3.4.12",
|
|
"esbuild": "0.28.1",
|
|
"fast-uri": "3.1.4",
|
|
"js-yaml": "4.3.0",
|
|
"next": "16.2.6",
|
|
"postcss": "8.5.12",
|
|
"sharp": "0.35.3",
|
|
"shell-quote": "1.10.0",
|
|
"undici": "7.28.0",
|
|
"ws": "8.21.0"
|
|
}
|
|
}
|