package.json208 lines · main
| 1 | { |
| 2 | "name": "studio", |
| 3 | "version": "0.0.9", |
| 4 | "private": true, |
| 5 | "type": "module", |
| 6 | "scripts": { |
| 7 | "preinstall": "npx only-allow pnpm", |
| 8 | "predev": "node scripts/clean-turbopack-cache.mjs", |
| 9 | "dev": "next dev -p ${STUDIO_PORT:-8082}", |
| 10 | "build": "next build && if [ \"$SKIP_ASSET_UPLOAD\" != \"1\" ]; then ./../../scripts/upload-static-assets.sh; fi", |
| 11 | "start": "next start -p 8082", |
| 12 | "lint": "eslint .", |
| 13 | "lint:ratchet": "tsx scripts/ratchet-eslint-rules.ts --rule react-hooks/exhaustive-deps --rule import/no-anonymous-default-export --rule @tanstack/query/exhaustive-deps --rule @typescript-eslint/no-explicit-any --rule no-restricted-imports --rule no-restricted-exports --rule react/no-unstable-nested-components", |
| 14 | "clean": "rimraf node_modules tsconfig.tsbuildinfo .next .turbo", |
| 15 | "test": "vitest --run --coverage", |
| 16 | "test:watch": "vitest watch", |
| 17 | "test:ui": "vitest --ui", |
| 18 | "test:update": "vitest --run --update", |
| 19 | "test:ci": "vitest --run --coverage", |
| 20 | "test:report": "open coverage/lcov-report/index.html", |
| 21 | "deploy:staging": "VERCEL_ORG_ID=team_E6KJ1W561hMTjon1QSwOh0WO VERCEL_PROJECT_ID=QmcmhbiAtCMFTAHCuGgQscNbke4TzgWULECctNcKmxWCoT vercel --prod -A .vercel/staging.json", |
| 22 | "pretypecheck": "next typegen", |
| 23 | "typecheck": "tsc --noEmit", |
| 24 | "build:deno-types": "tsx scripts/deno-types.ts", |
| 25 | "build:graphql-types": "tsx scripts/download-graphql-schema.mts && pnpm graphql-codegen --config scripts/codegen.ts", |
| 26 | "build:graphql-types:watch": "pnpm graphql-codegen --config scripts/codegen.ts --watch", |
| 27 | "evals:setup": "cp node_modules/libpg-query/wasm/libpg-query.wasm evals/libpg-query.wasm", |
| 28 | "evals:run": "braintrust eval --no-send-logs evals/assistant.eval.ts", |
| 29 | "evals:upload": "braintrust eval evals/assistant.eval.ts", |
| 30 | "scorers:deploy": "IS_BRAINTRUST_PUSH=true braintrust push evals/scorer-online.ts" |
| 31 | }, |
| 32 | "dependencies": { |
| 33 | "@ai-sdk/amazon-bedrock": "^4.0.81", |
| 34 | "@ai-sdk/mcp": "^1.0.25", |
| 35 | "@ai-sdk/openai": "^3.0.41", |
| 36 | "@ai-sdk/provider": "^3.0.8", |
| 37 | "@ai-sdk/provider-utils": "^4.0.19", |
| 38 | "@ai-sdk/react": "^3.0.118", |
| 39 | "@aws-sdk/credential-providers": "^3.1041.0", |
| 40 | "@dagrejs/dagre": "^1.0.4", |
| 41 | "@dnd-kit/core": "^6.1.0", |
| 42 | "@dnd-kit/modifiers": "^9.0.0", |
| 43 | "@dnd-kit/sortable": "^8.0.0", |
| 44 | "@dnd-kit/utilities": "^3.2.2", |
| 45 | "@electric-sql/pglite": "0.4.5", |
| 46 | "@electric-sql/pglite-tools": "^0.3.4", |
| 47 | "@graphiql/react": "^0.37.3", |
| 48 | "@graphiql/toolkit": "^0.11.3", |
| 49 | "@hcaptcha/react-hcaptcha": "^1.12.0", |
| 50 | "@heroicons/react": "^2.1.3", |
| 51 | "@hookform/resolvers": "^3.1.1", |
| 52 | "@mjackson/multipart-parser": "^0.10.1", |
| 53 | "@modelcontextprotocol/sdk": "^1.29.0", |
| 54 | "@monaco-editor/react": "^4.6.0", |
| 55 | "@next/bundle-analyzer": "16.2.3", |
| 56 | "@number-flow/react": "^0.3.2", |
| 57 | "@sentry/nextjs": "catalog:", |
| 58 | "@std/path": "npm:@jsr/std__path@^1.0.8", |
| 59 | "@stripe/react-stripe-js": "6.1.0", |
| 60 | "@stripe/stripe-js": "9.1.0", |
| 61 | "@supabase/auth-js": "catalog:", |
| 62 | "@supabase/mcp-server-supabase": "^0.7.0", |
| 63 | "@supabase/pg-meta": "workspace:*", |
| 64 | "@supabase/realtime-js": "catalog:", |
| 65 | "@supabase/shared-types": "0.1.88", |
| 66 | "@supabase/sql-to-rest": "^0.1.6", |
| 67 | "@supabase/supabase-js": "catalog:", |
| 68 | "@tanstack/react-hotkeys": "^0.9.1", |
| 69 | "@tanstack/react-query": "^5.0.0", |
| 70 | "@tanstack/react-query-devtools": "^5.0.0", |
| 71 | "@tanstack/react-table": "^8.21.3", |
| 72 | "@tanstack/react-virtual": "^3.13.12", |
| 73 | "@types/d3-geo": "^3.1.0", |
| 74 | "@uidotdev/usehooks": "^2.4.1", |
| 75 | "@vercel/functions": "^2.1.0", |
| 76 | "@xyflow/react": "^12.10.1", |
| 77 | "@zip.js/zip.js": "^2.7.29", |
| 78 | "ai": "^6.0.174", |
| 79 | "ai-commands": "workspace:*", |
| 80 | "awesome-debounce-promise": "^2.1.0", |
| 81 | "common": "workspace:*", |
| 82 | "common-tags": "^1.8.2", |
| 83 | "config": "workspace:*", |
| 84 | "cron-parser": "^4.9.0", |
| 85 | "cronstrue": "^2.50.0", |
| 86 | "crypto-js": "^4.2.0", |
| 87 | "d3-geo": "^3.1.1", |
| 88 | "dayjs": "^1.11.10", |
| 89 | "dev-tools": "workspace:*", |
| 90 | "file-saver": "^2.0.5", |
| 91 | "framer-motion": "^11.18.2", |
| 92 | "generate-password-browser": "^1.1.0", |
| 93 | "graphiql": "^5.2.2", |
| 94 | "html-to-image": "^1.11.13", |
| 95 | "http-status": "^2.1.0", |
| 96 | "icons": "workspace:*", |
| 97 | "idb": "^8.0.2", |
| 98 | "immutability-helper": "^3.1.1", |
| 99 | "ip-num": "^1.5.1", |
| 100 | "json-logic-js": "^2.0.2", |
| 101 | "lodash": "catalog:", |
| 102 | "lucide-react": "^0.436.0", |
| 103 | "markdown-table": "^3.0.3", |
| 104 | "memoize-one": "^5.0.1", |
| 105 | "mime-db": "^1.53.0", |
| 106 | "monaco-editor": "0.52.2", |
| 107 | "next": "catalog:", |
| 108 | "next-themes": "catalog:", |
| 109 | "nuqs": "2.7.1", |
| 110 | "openai": "^4.104.0", |
| 111 | "openapi-fetch": "0.12.4", |
| 112 | "papaparse": "^5.3.1", |
| 113 | "path-to-regexp": "^8.0.0", |
| 114 | "pg-minify": "^1.6.3", |
| 115 | "radix-ui": "catalog:", |
| 116 | "randombytes": "^2.1.0", |
| 117 | "react": "catalog:", |
| 118 | "react-data-grid": "7.0.0-beta.47", |
| 119 | "react-day-picker": "^9.11.1", |
| 120 | "react-dom": "catalog:", |
| 121 | "react-error-boundary": "^4.0.13", |
| 122 | "react-grid-layout": "^1.4.2", |
| 123 | "react-hook-form": "^7.71.2", |
| 124 | "react-inlinesvg": "^4.0.4", |
| 125 | "react-intersection-observer": "^9.5.3", |
| 126 | "react-markdown": "^10.1.0", |
| 127 | "react-resizable": "3.0.5", |
| 128 | "react-simple-maps": "4.0.0-beta.6", |
| 129 | "react-use": "^17.5.0", |
| 130 | "recharts": "catalog:", |
| 131 | "remark-gfm": "^4.0.0", |
| 132 | "shared-data": "workspace:*", |
| 133 | "sonner": "^1.5.0", |
| 134 | "sql-formatter": "^15.0.0", |
| 135 | "sqlstring": "^2.3.2", |
| 136 | "streamdown": "^1.3.0", |
| 137 | "stripe-experiment-sync": "1.0.31", |
| 138 | "tus-js-client": "^4.1.0", |
| 139 | "ui": "workspace:*", |
| 140 | "ui-patterns": "workspace:*", |
| 141 | "use-debounce": "^7.0.1", |
| 142 | "use-stick-to-bottom": "^1.1.1", |
| 143 | "uuid": "^14.0.0", |
| 144 | "valtio": "catalog:", |
| 145 | "zod": "catalog:", |
| 146 | "zxcvbn": "^4.4.2" |
| 147 | }, |
| 148 | "devDependencies": { |
| 149 | "@babel/core": "*", |
| 150 | "@faker-js/faker": "^9.9.0", |
| 151 | "@graphql-codegen/cli": "5.0.5", |
| 152 | "@graphql-typed-document-node/core": "^3.2.0", |
| 153 | "@radix-ui/react-use-escape-keydown": "^1.1.1", |
| 154 | "@smithy/property-provider": "^4.0.4", |
| 155 | "@testing-library/dom": "^10.0.0", |
| 156 | "@testing-library/jest-dom": "^6.6.0", |
| 157 | "@testing-library/react": "^16.0.0", |
| 158 | "@testing-library/user-event": "^14.0.0", |
| 159 | "@types/common-tags": "^1.8.1", |
| 160 | "@types/crypto-js": "^4.2.2", |
| 161 | "@types/file-saver": "^2.0.2", |
| 162 | "@types/json-logic-js": "^1.2.1", |
| 163 | "@types/lodash": "^4.14.172", |
| 164 | "@types/markdown-table": "^3.0.0", |
| 165 | "@types/mime-db": "^1.43.5", |
| 166 | "@types/node": "catalog:", |
| 167 | "@types/papaparse": "^5.3.1", |
| 168 | "@types/randombytes": "^2.0.3", |
| 169 | "@types/react": "catalog:", |
| 170 | "@types/react-beautiful-dnd": "^13.1.2", |
| 171 | "@types/react-datepicker": "^4.3.4", |
| 172 | "@types/react-dom": "catalog:", |
| 173 | "@types/react-grid-layout": "^1.3.0", |
| 174 | "@types/react-simple-maps": "^3.0.1", |
| 175 | "@types/recharts": "^1.8.23", |
| 176 | "@types/sqlstring": "^2.3.0", |
| 177 | "@types/zxcvbn": "^4.4.1", |
| 178 | "@vitejs/plugin-react": "catalog:", |
| 179 | "@vitest/coverage-v8": "catalog:", |
| 180 | "@vitest/ui": "catalog:", |
| 181 | "api-types": "workspace:*", |
| 182 | "autoevals": "^0.0.132", |
| 183 | "braintrust": "^3.9.0", |
| 184 | "common": "workspace:*", |
| 185 | "config": "workspace:*", |
| 186 | "date-fns": "^2.30.0", |
| 187 | "eslint-config-briven": "workspace:*", |
| 188 | "eslint-plugin-barrel-files": "^2.0.7", |
| 189 | "eslint-plugin-jsx-a11y": "^6.10.2", |
| 190 | "graphql-ws": "5.14.1", |
| 191 | "import-in-the-middle": "^2.0.0", |
| 192 | "jsdom-testing-mocks": "^1.13.1", |
| 193 | "libpg-query": "17.6.0", |
| 194 | "msw": "^2.3.0", |
| 195 | "next-router-mock": "^0.9.13", |
| 196 | "node-mocks-http": "^1.17.2", |
| 197 | "postcss": "catalog:", |
| 198 | "raw-loader": "^4.0.2", |
| 199 | "require-in-the-middle": "^8.0.0", |
| 200 | "tailwindcss": "catalog:", |
| 201 | "tsconfig": "workspace:*", |
| 202 | "tsx": "catalog:", |
| 203 | "typescript": "catalog:", |
| 204 | "vite": "catalog:", |
| 205 | "vite-tsconfig-paths": "catalog:", |
| 206 | "vitest": "catalog:" |
| 207 | } |
| 208 | } |