{ "name": "opik-frontend", "description": "This is Front End part of Comet Opik", "version": "0.0.1", "private": true, "type": "module", "author": { "name": "Comet", "email": "support@comet.com", "url": "https://github.com/comet-ml" }, "bugs": { "url": "https://github.com/comet-ml/opik/issues", "email": "support@comet.com" }, "scripts": { "start": "vite", "build": "tsc && vite build", "serve": "vite preview", "test": "vitest", "test:ui": "vitest --ui", "lint": "eslint src --max-warnings=0 && stylelint src/**/*.{css,scss,sass}", "lint:fix": "eslint src --fix --max-warnings=0 && stylelint src/**/*.{css,scss,sass} --fix", "typecheck": "tsc --project tsconfig.json --noEmit", "e2e": "playwright test && playwright show-report", "e2e:debug": "playwright test --debug", "postinstall": "patch-package", "deps:validate": "depcruise src --config --ignore-known .dependency-cruiser-known-violations.json", "deps:baseline": "depcruise src --config --output-type baseline > .dependency-cruiser-known-violations.json" }, "dependencies": { "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-python": "^6.1.6", "@codemirror/lang-yaml": "^6.1.1", "@codemirror/language": "^6.0.0", "@codemirror/legacy-modes": "^6.5.3", "@codemirror/search": "^6.5.10", "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^8.0.0", "@dnd-kit/sortable": "^8.0.0", "@hookform/resolvers": "^3.10.0", "@lezer/common": "^1.2.1", "@lezer/highlight": "^1.2.1", "@radix-ui/react-accordion": "^1.2.0", "@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-checkbox": "^1.1.1", "@radix-ui/react-dialog": "^1.1.0", "@radix-ui/react-dropdown-menu": "2.1.1", "@radix-ui/react-hover-card": "^1.1.6", "@radix-ui/react-label": "^2.1.1", "@radix-ui/react-popover": "1.1.1", "@radix-ui/react-radio-group": "^1.3.8", "@radix-ui/react-select": "^2.1.1", "@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-slider": "^1.2.1", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-switch": "^1.1.0", "@radix-ui/react-tabs": "^1.1.0", "@radix-ui/react-toast": "^1.2.1", "@radix-ui/react-toggle": "^1.1.0", "@radix-ui/react-toggle-group": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.2", "@sentry/react": "^9.1.0", "@tanstack/react-query": "^5.45.0", "@tanstack/react-router": "^1.36.3", "@tanstack/react-table": "^8.17.3", "@tanstack/react-virtual": "^3.13.4", "@types/diff": "^5.2.2", "@types/md5": "^2.3.5", "@types/react-grid-layout": "^1.3.6", "@types/segment-analytics": "^0.0.38", "@uiw/codemirror-extensions-hyper-link": "^4.25.1", "@uiw/codemirror-theme-github": "^4.23.3", "@uiw/react-codemirror": "^4.23.10", "ansi-to-html": "^0.7.2", "async": "^3.2.6", "axios": "^1.13.4", "class-variance-authority": "^0.7.0", "clipboard-copy": "^4.0.1", "clsx": "^2.1.1", "cmdk": "^1.0.0", "codemirror": "^6.0.1", "date-fns": "^3.6.0", "dayjs": "^1.11.11", "diff": "^7.0.0", "file-saver": "^2.0.5", "flattie": "^1.1.1", "js-yaml": "^4.1.0", "json-2-csv": "^5.5.6", "jsonpath-plus": "^10.3.0", "linkify-react": "^4.3.2", "linkifyjs": "^4.3.2", "lodash": "^4.17.21", "lucide-react": "^0.461.0", "md5": "^2.3.0", "mermaid": "^11.4.1", "mustache": "^4.2.0", "patch-package": "^8.0.0", "posthog-js": "^1.341.0", "re-resizable": "^6.10.3", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", "react-grid-layout": "^1.5.2", "react-h5-audio-player": "^3.10.1", "react-hook-form": "^7.54.2", "react-hotkeys-hook": "^4.5.1", "react-intersection-observer": "^10.0.0", "react-markdown": "^9.0.1", "react-pdf": "^10.3.0", "react-player": "^2.16.0", "react-resizable-panels": "^2.0.20", "react-textarea-autosize": "^8.5.7", "react18-json-view": "^0.2.8", "recharts": "^2.15.1", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-breaks": "^4.0.0", "remark-gfm": "^4.0.1", "sanitize-html": "^2.17.0", "slugify": "^1.6.6", "stylelint-scss": "^6.4.1", "tailwind-merge": "^2.3.0", "tailwindcss-animate": "^1.0.7", "uniqid": "^5.4.0", "unist-util-visit": "^5.0.0", "use-local-storage-state": "^19.3.1", "use-query-params": "^2.2.1", "uuid": "^10.0.0", "zod": "^3.24.1", "zustand": "^4.5.2" }, "devDependencies": { "@playwright/test": "^1.58.1", "@tailwindcss/typography": "^0.5.16", "@tanstack/react-query-devtools": "^5.45.0", "@tanstack/router-devtools": "^1.36.3", "@tanstack/router-vite-plugin": "^1.37.0", "@testing-library/jest-dom": "^6.4.5", "@testing-library/react": "^14.3.1", "@types/async": "^3.2.24", "@types/file-saver": "^2.0.7", "@types/js-yaml": "^4.0.9", "@types/jsonpath-plus": "^5.0.5", "@types/lodash": "^4.17.5", "@types/mustache": "^4.2.5", "@types/node": "^20.14.13", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/sanitize-html": "^2.16.0", "@types/uniqid": "^5.3.4", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/ui": "^3.0.5", "autoprefixer": "^10.4.19", "dependency-cruiser": "^17.3.6", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-tailwindcss": "^3.17.0", "happy-dom": "^20.5.0", "lint-staged": "^15.2.7", "postcss": "^8.4.38", "prettier": "^3.1.1", "sass": "^1.77.5", "stylelint": "^16.8.0", "stylelint-config-recommended-scss": "^14.1.0", "stylelint-prettier": "^5.0.0", "tailwindcss": "^3.4.17", "typescript": "^5.4.5", "vite": "^5.2.11", "vite-plugin-svgr": "^4.3.0", "vite-tsconfig-paths": "^4.3.2", "vitest": "^3.0.5" } }