{ "name": "@hyperdx/app", "version": "2.43.1", "private": true, "license": "MIT", "engines": { "node": ">=22.16.0" }, "//bundler": "dev/dev:local run on Turbopack for fast local iteration; build/build:clickhouse run on Webpack (--webpack) for production parity. The two bundlers can diverge on CSS Modules/loaders/module resolution, so build failures may not reproduce in dev. See next.config.mjs for rationale.", "scripts": { "dev": "npx dotenv -e .env.development -- next dev --turbopack", "dev:local": "NEXT_PUBLIC_IS_LOCAL_MODE=true npx dotenv -e .env.development -- next dev --turbopack", "build": "next build --webpack", "build:clickhouse": "NEXT_PUBLIC_IS_LOCAL_MODE=true NEXT_PUBLIC_CLICKHOUSE_BUILD=true next build --webpack && node scripts/prepare-clickhouse-build-export.js", "run:clickhouse": "test -d out && npx rimraf tmp && mkdir tmp && cp -r out tmp/clickstack && echo 'visit http://localhost:3000/clickstack to start' && npx serve tmp -l 3000 || echo 'run build:clickhouse first'", "start": "next start", "lint": "npx eslint . --ext .ts,.tsx --max-warnings 568", "lint:fix": "npx eslint . --ext .ts,.tsx --fix", "lint:styles": "stylelint **/*/*.{css,scss}", "ci:lint": "yarn lint && yarn tsc --noEmit && yarn lint:styles --quiet", "ci:unit": "jest --ci --coverage", "dev:unit": "jest --watchAll", "test:e2e": "node scripts/run-e2e.js", "test:e2e:ci": "../../scripts/test-e2e-ci.sh", "storybook": "storybook dev -p 6006", "storybook:build": "storybook build" }, "dependencies": { "@clickhouse/click-ui": "^0.12.0", "@clickhouse/clickstack-browser": "^1.2.1", "@clickhouse/clickstack-node": "^1.0.2", "@codemirror/autocomplete": "^6.0.0", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-sql": "^6.7.0", "@codemirror/lint": "^6.0.0", "@codemirror/state": "^6.0.0", "@dagrejs/dagre": "^1.1.5", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@hookform/resolvers": "^3.9.0", "@hyperdx/api": "workspace:*", "@hyperdx/common-utils": "^0.33.0", "@mantine/core": "^9.0.0", "@mantine/dates": "^9.0.0", "@mantine/dropzone": "^9.0.0", "@mantine/form": "^9.0.0", "@mantine/hooks": "^9.0.0", "@mantine/notifications": "^9.0.0", "@mantine/spotlight": "^9.0.0", "@opentelemetry/api": "~1.9.1", "@opentelemetry/browser-sdk": "^0.6.0", "@prometheus-io/codemirror-promql": "^0.311.3", "@rrweb/replay": "2.1.1", "@tabler/icons-react": "^3.39.0", "@tanstack/react-query": "^5.56.2", "@tanstack/react-query-devtools": "^5.56.2", "@tanstack/react-table": "^8.7.9", "@tanstack/react-virtual": "^3.0.1", "@uiw/react-codemirror": "^4.23.3", "@xyflow/react": "^12.9.0", "chrono-node": "^2.7.8", "classnames": "^2.3.1", "crypto-js": "^4.2.0", "crypto-randomuuid": "^1.0.0", "date-fns": "^2.28.0", "dayjs": "^1.11.19", "flat": "^5.0.2", "fuse.js": "^6.6.2", "http-proxy-middleware": "^4.0.0", "immer": "^9.0.21", "jotai": "^2.5.1", "ky": "^0.30.0", "ky-universal": "^0.10.1", "lodash": "^4.18.1", "ms": "^2.1.3", "next": "^16.4.3", "next-runtime-env": "1", "next-seo": "^4.28.1", "numbro": "^2.4.0", "nuqs": "1.17.0", "object-hash": "^3.0.0", "papaparse": "^5.4.1", "react": "^19.2.3", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^19.2.3", "react-error-boundary": "^3.1.4", "react-grid-layout": "^1.3.4", "react-hook-form": "^7.43.8", "react-hotkeys-hook": "^4.3.7", "react-is": "^19.0.0", "react-json-tree": "^0.20.0", "react-markdown": "^10.1.0", "react-resizable": "^3.0.4", "recharts": "^3.2.1", "remark-gfm": "^4.0.1", "sass": "^1.54.8", "sql-formatter": "^15.7.2", "sqlstring": "^2.3.3", "store2": "^2.14.3", "strip-ansi": "^6.0.1", "timestamp-nano": "^1.0.1", "uplot": "patch:uplot@npm%3A1.6.32#~/.yarn/patches/uplot-npm-1.6.32-350d2da00d.patch", "uplot-react": "^1.2.2", "zod": "3.25" }, "devDependencies": { "@chromatic-com/storybook": "^4.1.3", "@eslint-react/eslint-plugin": "^3.0.0", "@eslint/compat": "^2.0.0", "@next/eslint-plugin-next": "^16.3.4", "@playwright/test": "^1.57.0", "@storybook/addon-docs": "^10.1.4", "@storybook/addon-links": "^10.1.4", "@storybook/addon-styling-webpack": "^3.0.0", "@storybook/addon-themes": "^10.1.4", "@storybook/nextjs": "^10.1.4", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.5.2", "@types/crypto-js": "^4", "@types/flat": "^5.0.5", "@types/identity-obj-proxy": "^3", "@types/intercom-web": "^2.8.18", "@types/jest": "^29.5.14", "@types/lodash": "^4.14.186", "@types/ms": "^0.7.31", "@types/object-hash": "^2.2.1", "@types/papaparse": "^5.3.16", "@types/react": "^19.2.7", "@types/react-copy-to-clipboard": "^5.0.2", "@types/react-dom": "^19.2.3", "@types/react-grid-layout": "^1.3.2", "@types/sqlstring": "^2.3.2", "eslint-config-next": "^16.3.4", "eslint-plugin-playwright": "^2.4.0", "eslint-plugin-react-hook-form": "^0.3.1", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-storybook": "10.1.4", "identity-obj-proxy": "^3.0.0", "jest": "^30.2.0", "jest-environment-jsdom": "^30.2.0", "msw": "^2.3.0", "msw-storybook-addon": "^2.0.2", "postcss": "^8.5.23", "postcss-preset-mantine": "^1.18.0", "postcss-simple-vars": "^7.0.0", "prettier": "^3.3.2", "rimraf": "^4.4.1", "serve": "^14.0.0", "storybook": "^10.6.2", "stylelint": "^16.26.1", "stylelint-config-standard-scss": "^16.0.0", "stylelint-prettier": "^5.0.3", "ts-jest": "^29.4.11", "typescript": "^6.0.3" }, "nx": { "targets": { "build": { "outputs": [ "{projectRoot}/.next" ] } } } }