{ "name": "talivia", "version": "3.1.0", "description": "Self-hosted product analytics and revenue attribution.", "author": "Talivia", "license": "MIT", "type": "module", "packageManager": "pnpm@10.10.0", "engines": { "node": "^22.12.0 || >=24.0.0", "pnpm": "^10.10.0 <11" }, "scripts": { "predev": "npm-run-all check-env update-db build-db", "dev": "dotenv -- next dev --turbo", "build": "npm-run-all check-env build-db check-db build-tracker build-recorder build-app", "start": "next start", "build-docker": "npm-run-all build-db build-tracker build-recorder build-app-docker", "start-docker": "npm-run-all check-env check-db start-server", "start-env": "node scripts/start-env.js", "start-server": "node server.js", "build-app": "next build --webpack", "build-app-docker": "next build --webpack", "build-icons": "svgr ./src/assets --out-dir src/components/svg --typescript", "build-components": "node scripts/bump-components.js && tsup", "build-tracker": "rollup -c rollup.tracker.config.js", "build-recorder": "rollup -c rollup.recorder.config.js", "build-prisma-client": "node scripts/build-prisma-client.js", "build-db": "npm-run-all build-db-client build-prisma-client", "build-db-schema": "prisma db pull", "build-db-client": "prisma generate", "update-db": "npm-run-all update-db-prisma update-db-clickhouse", "update-db-prisma": "prisma migrate deploy", "update-db-clickhouse": "tsx scripts/migrate-clickhouse.ts", "check-db": "node scripts/check-db.js", "check-env": "node scripts/check-env.js", "copy-db-files": "node scripts/copy-db-files.js", "postbuild": "node scripts/postbuild.js", "test": "vitest run", "test:watch": "vitest", "worker:attribution": "tsx scripts/talivia-attribution-worker.ts", "proxy:lemonsqueezy-webhook": "tsx scripts/local-lemonsqueezy-webhook-proxy.ts", "lint": "biome lint .", "format": "biome format --write .", "check": "biome check --write" }, "cacheDirectories": [ ".next/cache" ], "dependencies": { "@clickhouse/client": "^1.18.2", "@date-fns/utc": "^1.2.0", "@dicebear/collection": "^9.4.2", "@dicebear/core": "^9.4.2", "@hello-pangea/dnd": "^17.0.0", "@prisma/adapter-pg": "^7.6.0", "@prisma/client": "^7.6.0", "@prisma/extension-read-replicas": "^0.5.0", "@react-spring/web": "^10.0.3", "@svgr/cli": "^8.1.0", "@talivia/react-zen": "npm:@umami/react-zen@^0.245.0", "@tanstack/react-query": "^5.96.0", "bcryptjs": "^3.0.2", "chalk": "^5.6.2", "chart.js": "^4.5.1", "chartjs-adapter-date-fns": "^3.0.0", "classnames": "^2.3.1", "colord": "^2.9.2", "cors": "^2.8.6", "croner": "^10.0.1", "cross-spawn": "^7.0.3", "date-fns": "^2.23.0", "date-fns-tz": "^1.1.4", "debug": "^4.4.3", "del": "^6.0.0", "detect-browser": "^5.2.0", "dodopayments": "^2.42.2", "dotenv": "^17.3.1", "esbuild": "^0.27.4", "immer": "^11.1.4", "ipaddr.js": "^2.3.0", "is-ci": "^3.0.1", "is-docker": "^3.0.0", "is-localhost-ip": "^2.0.0", "isbot": "^5.1.37", "jsonwebtoken": "^9.0.3", "jszip": "^3.10.1", "kafkajs": "^2.1.0", "lucide-react": "^1.7.0", "maxmind": "^5.0.5", "next": "16.2.6", "next-intl": "4.9.2", "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", "papaparse": "^5.5.3", "pg": "^8.20.0", "prisma": "^7.6.0", "pure-rand": "^7.0.1", "react": "^19.2.5", "react-dom": "^19.2.5", "react-error-boundary": "^4.0.4", "react-resizable-panels": "^4.8.0", "react-simple-maps": "^2.3.0", "react-use-measure": "^2.0.4", "react-window": "^1.8.6", "redis": "^4.5.1", "request-ip": "^3.3.0", "rrweb": "2.0.0-alpha.4", "rrweb-player": "1.0.0-alpha.4", "semver": "^7.7.4", "serialize-error": "^12.0.0", "sharp": "^0.34.5", "stripe": "^22.3.0", "thenby": "^1.3.4", "ua-parser-js": "^2.0.9", "uuid": "^14.0.0", "zod": "^4.3.6", "zustand": "^5.0.12" }, "devDependencies": { "@biomejs/biome": "^2.4.10", "@rollup/plugin-alias": "^5.0.0", "@rollup/plugin-commonjs": "^25.0.4", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.2.0", "@rollup/plugin-replace": "^5.0.2", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^12.3.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^24.12.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.2", "babel-plugin-react-compiler": "19.1.0-rc.2", "cross-env": "^10.1.0", "dotenv-cli": "^11.0.0", "jsdom": "^29.1.1", "postcss": "^8.5.10", "postcss-flexbugs-fixes": "^5.0.2", "postcss-import": "^15.1.0", "postcss-preset-env": "7.8.3", "prompts": "2.4.2", "rollup": "^4.60.1", "rollup-plugin-copy": "^3.4.0", "rollup-plugin-delete": "^3.0.2", "rollup-plugin-dts": "^6.4.1", "rollup-plugin-node-externals": "^8.1.1", "rollup-plugin-peer-deps-external": "^2.2.4", "rollup-plugin-postcss": "^4.0.2", "ts-morph": "^27.0.2", "ts-node": "^10.9.1", "tsup": "^8.5.0", "tsx": "^4.19.0", "typescript": "^5.9.3", "vitest": "^4.1.6" } }