{ "name": "posthog", "description": "", "version": "0.0.0", "repository": { "type": "git", "url": "https://github.com/posthog/posthog.git" }, "author": "PostHog Inc.", "bugs": { "url": "https://github.com/posthog/posthog/issues" }, "homepage": "https://github.com/posthog/posthog#readme", "license": "MIT", "engines": { "node": ">=16 <17" }, "scripts": { "copy-scripts": "mkdir -p frontend/dist/ && yarn copy-scripts:array && yarn copy-scripts:recorder", "copy-scripts:array": "cp node_modules/posthog-js/dist/array.js* frontend/dist/", "copy-scripts:recorder": "cp node_modules/rrweb/dist/record/rrweb-record.min.js frontend/dist/recorder.js && cp node_modules/rrweb/dist/record/rrweb-record.min.js.map frontend/dist/recorder.js.map && cat node_modules/rrweb/dist/plugins/console-record.min.js >> frontend/dist/recorder.js && sed -i -e s/rrweb-record.min.js.map/recorder.js.map/ frontend/dist/recorder.js && sed -i -e 's/\\/\\/\\# sourceMappingURL=recorder/window.rrweb = {record: rrwebRecord}\\n\\/\\/# sourceMappingURL=recorder/g' frontend/dist/recorder.js", "test": "jest", "test:sequential": "yarn test:chunk:1 && yarn test:chunk:2", "test:chunk:1": "jest --testPathPattern='./frontend/src/scenes/.*'", "test:chunk:2": "jest ----testPathIgnorePatterns='./frontend/src/scenes/.*'", "start": "concurrently -n ESBUILD,TYPEGEN -c yellow,green \"yarn start-http\" \"yarn run typegen:watch\"", "start-http": "yarn start-http:esbuild", "start-http:esbuild": "yarn clean && yarn copy-scripts && node frontend/build.mjs --dev", "start-http:webpack": "mkdir -p frontend/dist/ && cp -a frontend/public/* frontend/dist/ && npm run copy-scripts && webpack serve", "start-https": "yarn start-https:webpack", "start-https:webpack": "yarn start-http:webpack --https", "start-docker": "yarn start-docker:esbuild", "start-docker:esbuild": "yarn start-http:esbuild --host 0.0.0.0", "start-docker:webpack": "yarn start-http:webpack --host 0.0.0.0", "start-ch-dev": "concurrently -n DOCKER,ESBUILD,TYPEGEN -c red,blue,green \"docker-compose -f docker-compose.dev.yml pull && CH_WEB_SCRIPT=./ee/bin/docker-ch-dev-backend docker-compose -f docker-compose.dev.yml up\" \"yarn run start-http --host 0.0.0.0\" \"yarn run typegen:watch\"", "clear-ch-dev": "docker compose -f docker-compose.dev.yml stop && docker compose -f docker-compose.dev.yml rm -v && docker compose -f docker-compose.dev.yml down", "clean": "rm -rf frontend/dist && mkdir frontend/dist", "build": "yarn copy-scripts && yarn build:esbuild", "build:webpack": "echo \"Building Webpack\" && NODE_ENV=production webpack --config webpack.config.js && cp -a frontend/public/* frontend/dist/", "build:esbuild": "node frontend/build.mjs", "prettier": "prettier --write \"./**/*.{js,mjs,ts,tsx,json,yaml,yml,css,scss}\"", "prettier:check": "prettier --check \"./**/*.{js,mjs,ts,tsx,json,yaml,yml,css,scss}\"", "typescript:check": "tsc", "typescript:clean": "tsc --build --clean", "eslint": "eslint frontend/src", "typegen:write": "kea-typegen write", "typegen:check": "kea-typegen check", "typegen:watch": "kea-typegen watch", "typegen:clean": "find frontend/src -type f -name '*Type.ts' -delete", "format:python": "black . && isort .", "format:js": "yarn prettier && yarn eslint --fix", "format": "yarn format:python && yarn format:js", "storybook": "start-storybook -p 6006", "build-storybook": "build-storybook", "arm64:ch-dev:start": "concurrently -n DOCKER,ESBUILD,TYPEGEN -c red,blue,green \"docker-compose -f docker-compose.arm64.yml pull && CH_WEB_SCRIPT=./ee/bin/docker-ch-dev-backend docker-compose -f docker-compose.arm64.yml up\" \"yarn run start-http --host 0.0.0.0\" \"yarn run typegen:watch\"", "arm64:ch-dev:clear": "docker compose -f docker-compose.arm64.yml stop && docker compose -f docker-compose.arm64.yml rm -v && docker compose -f docker-compose.arm64.yml down", "arm64:services": "yarn arm64:services:stop && yarn arm64:services:clean && yarn arm64:services:start", "arm64:services:start": "docker-compose -f docker-compose.arm64.yml up zookeeper kafka clickhouse", "arm64:services:stop": "docker-compose -f docker-compose.arm64.yml down", "arm64:services:clean": "docker-compose -f docker-compose.arm64.yml rm -v zookeeper kafka clickhouse", "dev:migrate:postgres": "export DEBUG=1 PRIMARY_DB=clickhouse && source env/bin/activate && python manage.py migrate", "dev:migrate:clickhouse": "export DEBUG=1 PRIMARY_DB=clickhouse && source env/bin/activate && python manage.py migrate_clickhouse" }, "dependencies": { "@babel/core": "^7.10.4", "@babel/runtime": "^7.10.4", "@monaco-editor/react": "^4.1.3", "@popperjs/core": "^2.9.2", "@posthog/chart.js": "^2.9.6", "@posthog/plugin-scaffold": "0.12.10", "@posthog/react-rrweb-player": "^1.1.3", "@posthog/simmerjs": "0.7.4", "@react-hook/size": "^2.1.2", "@sentry/react": "^6.18.0", "@types/d3-sankey": "^0.11.2", "@types/md5": "^2.3.0", "@types/react-input-autosize": "^2.2.1", "@types/react-transition-group": "^4.4.4", "@types/react-virtualized": "^9.21.14", "antd": "^4.17.1", "antd-dayjs-webpack-plugin": "^1.0.6", "babel-preset-nano-react-app": "^0.1.0", "chart.js": "^3.6.2", "chartjs-adapter-dayjs": "^1.0.0", "chartjs-plugin-crosshair": "^1.2.0", "clsx": "^1.1.1", "core-js": "3.15.2", "d3": "^5.15.0", "d3-sankey": "^0.12.3", "dayjs": "^1.10.7", "expr-eval": "^2.0.2", "fast-deep-equal": "^3.1.3", "fuse.js": "^6.4.1", "kea": "^2.5.9", "kea-forms": "^0.2.2", "kea-loaders": "^0.5.1", "kea-localstorage": "^1.1.1", "kea-router": "^1.0.7", "kea-waitfor": "^0.2.1", "kea-window-values": "^0.1.0", "md5": "^2.3.0", "posthog-js": "1.18.0", "posthog-js-lite": "^0.0.3", "prop-types": "^15.7.2", "query-selector-shadow-dom": "0.8.0", "rc-trigger": "^5.2.5", "react": "^16.13.1", "react-dom": "^16.12.0", "react-draggable": "^4.2.0", "react-grid-layout": "^1.3.0", "react-input-autosize": "^3.0.0", "react-markdown": "^5.0.3", "react-popper": "^2.2.5", "react-redux": "^7.2.0", "react-resizable": "^1.11.1", "react-shadow": "^18.4.2", "react-sortable-hoc": "^1.11.0", "react-syntax-highlighter": "^13.5.1", "react-textarea-autosize": "^8.3.3", "react-toastify": "^8.2.0", "react-transition-group": "^4.4.2", "react-virtualized": "^9.22.3", "redux": "^4.0.5", "reselect": "^4.0.0", "resize-observer-polyfill": "^1.5.1", "rrweb": "^1.1.2", "sass": "^1.26.2", "use-debounce": "^6.0.1", "use-resize-observer": "^8.0.0", "zxcvbn": "^4.4.2" }, "devDependencies": { "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/plugin-proposal-private-property-in-object": "^7.14.5", "@babel/plugin-transform-react-jsx": "^7.10.4", "@babel/plugin-transform-runtime": "^7.10.4", "@babel/preset-env": "7.10.4", "@babel/preset-typescript": "^7.10.4", "@hot-loader/react-dom": "^16.13.0", "@storybook/addon-actions": "^6.4.19", "@storybook/addon-essentials": "^6.4.19", "@storybook/addon-links": "^6.4.19", "@storybook/addon-storysource": "^6.4.19", "@storybook/react": "^6.4.19", "@testing-library/react": "^12.1.2", "@testing-library/user-event": "^13.5.0", "@types/chart.js": "^2.9.34", "@types/chartjs-plugin-crosshair": "^1.1.1", "@types/clone": "^2.1.1", "@types/d3": "^7.0.0", "@types/jest": "^26.0.15", "@types/query-selector-shadow-dom": "^1.0.0", "@types/react": "^16.14.2", "@types/react-dom": "^16.9.8", "@types/react-grid-layout": "^1.1.2", "@types/react-redux": "^7.1.9", "@types/react-resizable": "^1.7.2", "@types/react-syntax-highlighter": "^11.0.4", "@types/zxcvbn": "^4.4.0", "@typescript-eslint/eslint-plugin": "^3.6.0", "@typescript-eslint/parser": "^3.6.0", "autoprefixer": "^9.7.4", "babel-eslint": "^10.1.0", "babel-jest": "^27.0.6", "babel-loader": "^8.0.6", "babel-plugin-import": "^1.13.0", "babel-plugin-kea": "^0.1.0", "concurrently": "^5.3.0", "cors": "^2.8.5", "css-loader": "^3.4.2", "cssnano": "^4.1.10", "esbuild": "^0.14.25", "esbuild-plugin-less": "^1.1.6", "esbuild-sass-plugin": "^1.8.2", "eslint": "^7.8.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-cypress": "^2.11.2", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-react": "^7.20.3", "eslint-plugin-storybook": "^0.5.7", "express": "^4.17.1", "file-loader": "^6.1.0", "fs-extra": "^10.0.0", "givens": "^1.3.6", "history": "^5.0.1", "html-webpack-harddisk-plugin": "^1.0.2", "html-webpack-plugin": "^4.5.2", "husky": "^4.3.8", "jest": "^26.6.3", "kea-test-utils": "^0.2.2", "kea-typegen": "^1.4.3", "less": "^3.12.2", "less-loader": "^7.0.2", "lint-staged": "~10.2.13", "msw": "^0.35.0", "path-browserify": "^1.0.1", "postcss-loader": "^3.0.0", "prettier": "^2.3.1", "raw-loader": "^4.0.2", "sass-extended-importer": "^0.4.2", "sass-loader": "^10.0.1", "storybook-addon-turbo-build": "^1.0.1", "style-loader": "^2.0.0", "timekeeper": "^2.2.0", "ts-node": "^9.1.1", "typescript": "^4.3.2", "webpack": "^4.46.0", "webpack-cli": "^4.5.0", "webpack-dev-server": "^3.11.2", "whatwg-fetch": "^3.6.2" }, "optionalDependencies": { "fsevents": "^2.1.2" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "*.{js,jsx,mjs,ts,tsx,json,yaml,yml,css,scss}": "prettier --write", "(frontend/**).{js,jsx,mjs,ts,tsx}": "eslint -c .eslintrc.js --fix", "(plugin-server/**).{js,jsx,mjs,ts,tsx}": "eslint -c plugin-server/.eslintrc.js --fix", "*.{py,pyi}": [ "black", "flake8", "isort" ] }, "browserslist": { "development": [ "last 2 chrome versions", "last 2 firefox versions", "last 2 edge versions" ], "production": [ "defaults" ] }, "browser": { "path": "path-browserify" } }