mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-21 21:49:51 +01:00
302 lines
13 KiB
JSON
302 lines
13 KiB
JSON
{
|
|
"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": ">=18 <19"
|
|
},
|
|
"packageManager": "pnpm@8.3.1",
|
|
"scripts": {
|
|
"copy-scripts": "mkdir -p frontend/dist/ && ./bin/copy-posthog-js",
|
|
"test": "pnpm test:unit && pnpm test:visual-regression",
|
|
"test:unit": "jest --testPathPattern=frontend/",
|
|
"test:visual-regression": "docker compose -f docker-compose.playwright.yml run --rm -it --build playwright pnpm test:visual-regression:legacy:docker && pnpm test:visual-regression:stories:docker",
|
|
"test:visual-regression:legacy": "docker compose -f docker-compose.playwright.yml run --rm -it --build playwright pnpm test:visual-regression:legacy:docker",
|
|
"test:visual-regression:legacy:docker": "STORYBOOK_URL=http://host.docker.internal:6006 playwright test -u",
|
|
"test:visual-regression:legacy:ci:update": "playwright test -u",
|
|
"test:visual-regression:legacy:ci:verify": "playwright test",
|
|
"test:visual-regression:stories": "docker compose -f docker-compose.playwright.yml run --rm -it --build playwright pnpm test:visual-regression:stories:docker",
|
|
"test:visual-regression:stories:docker": "NODE_OPTIONS=--max-old-space-size=6144 test-storybook -u --no-index-json --browsers chromium firefox webkit --url http://host.docker.internal:6006",
|
|
"test:visual-regression:stories:ci:update": "test-storybook -u --no-index-json --maxWorkers=2",
|
|
"test:visual-regression:stories:ci:verify": "test-storybook --ci --no-index-json --maxWorkers=2",
|
|
"start": "concurrently -n ESBUILD,TYPEGEN -c yellow,green \"pnpm start-http\" \"pnpm run typegen:watch\"",
|
|
"start-http": "pnpm clean && pnpm copy-scripts && node frontend/build.mjs --dev",
|
|
"start-docker": "pnpm start-http --host 0.0.0.0",
|
|
"clean": "rm -rf frontend/dist && mkdir frontend/dist",
|
|
"build": "pnpm copy-scripts && pnpm build:esbuild",
|
|
"build:esbuild": "node frontend/build.mjs",
|
|
"schema:build": "pnpm run schema:build:json && pnpm run schema:build:python",
|
|
"schema:build:json": "ts-json-schema-generator -f tsconfig.json --path 'frontend/src/*.ts' --type 'QuerySchema' --no-type-check > frontend/src/queries/schema.json && prettier --write frontend/src/queries/schema.json",
|
|
"schema:build:python": "datamodel-codegen --collapse-root-models --disable-timestamp --use-subclass-enum --input frontend/src/queries/schema.json --input-file-type jsonschema --output posthog/schema.py && black posthog/schema.py",
|
|
"grammar:build": "cd posthog/hogql/grammar && antlr -Dlanguage=Python3 HogQLLexer.g4 && antlr -visitor -no-listener -Dlanguage=Python3 HogQLParser.g4",
|
|
"packages:build": "pnpm packages:build:apps-common && pnpm packages:build:lemon-ui",
|
|
"packages:build:apps-common": "cd frontend/@posthog/apps-common && pnpm i && pnpm build",
|
|
"packages:build:lemon-ui": "cd frontend/@posthog/lemon-ui && pnpm i && pnpm build",
|
|
"editor:update-tsd": "pnpm packages:build && node frontend/editor-update-tsd.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 --noEmit && echo \"No errors reported by tsc.\"",
|
|
"eslint": "eslint frontend/src",
|
|
"typegen:write": "kea-typegen write",
|
|
"typegen:check": "kea-typegen check",
|
|
"typegen:watch": "kea-typegen watch --show-ts-errors > /dev/null",
|
|
"typegen:clean": "find frontend/src -type f -name '*Type.ts' -delete",
|
|
"format:python": "black . && isort .",
|
|
"format:js": "pnpm prettier && pnpm eslint --fix",
|
|
"format": "pnpm format:python && pnpm format:js",
|
|
"storybook": "export NODE_OPTIONS=--openssl-legacy-provider; start-storybook -p 6006",
|
|
"build-storybook": "export NODE_OPTIONS=--openssl-legacy-provider; build-storybook",
|
|
"dev:migrate:postgres": "export DEBUG=1 && source env/bin/activate && python manage.py migrate",
|
|
"dev:migrate:clickhouse": "export DEBUG=1 && source env/bin/activate && python manage.py migrate_clickhouse",
|
|
"prepare": "husky install"
|
|
},
|
|
"dependencies": {
|
|
"@ant-design/icons": "^4.7.0",
|
|
"@floating-ui/react": "^0.16.0",
|
|
"@lottiefiles/react-lottie-player": "^3.4.7",
|
|
"@medv/finder": "^2.1.0",
|
|
"@monaco-editor/react": "^4.1.3",
|
|
"@posthog/plugin-scaffold": "^1.3.2",
|
|
"@react-hook/size": "^2.1.2",
|
|
"@rrweb/types": "^2.0.0-alpha.8",
|
|
"@sentry/react": "7.22.0",
|
|
"@testing-library/dom": ">=7.21.4",
|
|
"@tiptap/core": "2.0.0-beta.220",
|
|
"@tiptap/pm": "2.0.0-beta.220",
|
|
"@tiptap/react": "2.0.0-beta.220",
|
|
"@tiptap/starter-kit": "2.0.0-beta.220",
|
|
"@tiptap/suggestion": "2.0.0-beta.220",
|
|
"@types/md5": "^2.3.0",
|
|
"@types/react-input-autosize": "^2.2.1",
|
|
"@types/react-textfit": "^1.1.0",
|
|
"@types/react-transition-group": "^4.4.5",
|
|
"@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.9.1",
|
|
"chartjs-adapter-dayjs-3": "^1.2.3",
|
|
"chartjs-plugin-crosshair": "^1.2.0",
|
|
"chartjs-plugin-datalabels": "^2.2.0",
|
|
"chokidar": "^3.5.3",
|
|
"clsx": "^1.1.1",
|
|
"core-js": "3.15.2",
|
|
"cors": "^2.8.5",
|
|
"d3": "^7.8.2",
|
|
"d3-sankey": "^0.12.3",
|
|
"dayjs": "^1.10.7",
|
|
"esbuild": "^0.14.54",
|
|
"esbuild-plugin-less": "^1.1.7",
|
|
"esbuild-sass-plugin": "^1.8.2",
|
|
"expr-eval": "^2.0.2",
|
|
"express": "^4.17.1",
|
|
"fast-deep-equal": "^3.1.3",
|
|
"fflate": "^0.7.4",
|
|
"fs-extra": "^10.0.0",
|
|
"fuse.js": "^6.6.2",
|
|
"husky": "^7.0.4",
|
|
"image-blob-reduce": "^4.1.0",
|
|
"kea": "^3.1.5",
|
|
"kea-forms": "^3.0.3",
|
|
"kea-loaders": "^3.0.0",
|
|
"kea-localstorage": "^3.1.0",
|
|
"kea-router": "^3.1.3",
|
|
"kea-subscriptions": "^3.0.0",
|
|
"kea-test-utils": "^0.2.4",
|
|
"kea-waitfor": "^0.2.1",
|
|
"kea-window-values": "^3.0.0",
|
|
"md5": "^2.3.0",
|
|
"monaco-editor": "^0.23.0",
|
|
"posthog-js": "1.57.1",
|
|
"posthog-js-lite": "2.0.0-alpha5",
|
|
"prettier": "^2.8.8",
|
|
"prop-types": "^15.7.2",
|
|
"query-selector-shadow-dom": "^1.0.0",
|
|
"rc-field-form": "~1.21.0",
|
|
"rc-picker": "~2.5.17",
|
|
"rc-select": "~13.1.0-alpha.0",
|
|
"rc-table": "~7.19.0",
|
|
"rc-trigger": "^5.2.5",
|
|
"react": "^16.14.0",
|
|
"react-dom": "^16.14.0",
|
|
"react-draggable": "^4.2.0",
|
|
"react-grid-layout": "^1.3.0",
|
|
"react-input-autosize": "^3.0.0",
|
|
"react-json-view": "^1.21.3",
|
|
"react-markdown": "^5.0.3",
|
|
"react-modal": "^3.15.1",
|
|
"react-resizable": "^1.11.1",
|
|
"react-shadow": "^18.4.2",
|
|
"react-sortable-hoc": "^1.11.0",
|
|
"react-syntax-highlighter": "^15.5.0",
|
|
"react-textarea-autosize": "^8.3.3",
|
|
"react-textfit": "^1.1.1",
|
|
"react-toastify": "^8.2.0",
|
|
"react-transition-group": "^4.4.5",
|
|
"react-virtualized": "^9.22.3",
|
|
"require-from-string": "^2.0.2",
|
|
"resize-observer-polyfill": "^1.5.1",
|
|
"rrweb": "^2.0.0-alpha.8",
|
|
"sass": "^1.26.2",
|
|
"use-debounce": "^9.0.3",
|
|
"use-resize-observer": "^8.0.0",
|
|
"wildcard-match": "^5.1.2",
|
|
"zxcvbn": "^4.4.2"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.17.10",
|
|
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
|
"@babel/plugin-proposal-private-property-in-object": "^7.16.7",
|
|
"@babel/plugin-transform-react-jsx": "^7.17.3",
|
|
"@babel/plugin-transform-runtime": "^7.17.10",
|
|
"@babel/preset-env": "^7.17.10",
|
|
"@babel/preset-react": "^7.17.10",
|
|
"@babel/preset-typescript": "^7.21.0",
|
|
"@babel/runtime": "^7.17.9",
|
|
"@cypress/webpack-preprocessor": "^5.17.1",
|
|
"@hot-loader/react-dom": "^16.14.0",
|
|
"@playwright/test": "1.29.2",
|
|
"@sentry/types": "7.22.0",
|
|
"@storybook/addon-a11y": "^6.5.16",
|
|
"@storybook/addon-actions": "^6.5.16",
|
|
"@storybook/addon-essentials": "^6.5.16",
|
|
"@storybook/addon-links": "^6.5.16",
|
|
"@storybook/addon-storysource": "^6.5.16",
|
|
"@storybook/addons": "^6.5.16",
|
|
"@storybook/api": "^6.5.16",
|
|
"@storybook/components": "^6.5.16",
|
|
"@storybook/core-events": "^6.5.16",
|
|
"@storybook/react": "^6.5.16",
|
|
"@storybook/source-loader": "^6.5.16",
|
|
"@storybook/test-runner": "^0.9.4",
|
|
"@storybook/theming": "^6.5.16",
|
|
"@sucrase/jest-plugin": "^3.0.0",
|
|
"@testing-library/dom": ">=7.21.4",
|
|
"@testing-library/jest-dom": "^5.16.2",
|
|
"@testing-library/react": "^12.1.2",
|
|
"@testing-library/user-event": "^13.5.0",
|
|
"@types/chartjs-plugin-crosshair": "^1.1.1",
|
|
"@types/clone": "^2.1.1",
|
|
"@types/d3": "^7.4.0",
|
|
"@types/d3-sankey": "^0.12.1",
|
|
"@types/image-blob-reduce": "^4.1.1",
|
|
"@types/jest": "^29.2.3",
|
|
"@types/jest-image-snapshot": "^6.1.0",
|
|
"@types/md5": "^2.3.0",
|
|
"@types/node": "^18.11.9",
|
|
"@types/pixelmatch": "^5.2.4",
|
|
"@types/pngjs": "^6.0.1",
|
|
"@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-input-autosize": "^2.2.1",
|
|
"@types/react-modal": "^3.13.1",
|
|
"@types/react-resizable": "^1.7.2",
|
|
"@types/react-syntax-highlighter": "^11.0.4",
|
|
"@types/react-textfit": "^1.1.0",
|
|
"@types/react-transition-group": "^4.4.4",
|
|
"@types/react-virtualized": "^9.21.14",
|
|
"@types/testing-library__jest-dom": "^5.14.5",
|
|
"@types/zxcvbn": "^4.4.0",
|
|
"@typescript-eslint/eslint-plugin": "^5.54.1",
|
|
"@typescript-eslint/parser": "^5.54.1",
|
|
"autoprefixer": "^10.4.7",
|
|
"axe-core": "^4.4.3",
|
|
"babel-loader": "^8.0.6",
|
|
"babel-plugin-import": "^1.13.0",
|
|
"concurrently": "^5.3.0",
|
|
"css-loader": "^3.4.2",
|
|
"cssnano": "^4.1.10",
|
|
"cypress": "^12.12.0",
|
|
"cypress-axe": "^1.4.0",
|
|
"cypress-terminal-report": "^5.1.1",
|
|
"eslint": "^7.8.0",
|
|
"eslint-config-prettier": "^8.8.0",
|
|
"eslint-plugin-cypress": "^2.13.3",
|
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
"eslint-plugin-no-only-tests": "^3.0.0",
|
|
"eslint-plugin-prettier": "^3.1.4",
|
|
"eslint-plugin-react": "^7.32.2",
|
|
"eslint-plugin-storybook": "^0.6.11",
|
|
"file-loader": "^6.1.0",
|
|
"givens": "^1.3.6",
|
|
"history": "^5.0.1",
|
|
"html-webpack-harddisk-plugin": "^1.0.2",
|
|
"html-webpack-plugin": "^4.5.2",
|
|
"jest": "^29.3.1",
|
|
"jest-canvas-mock": "^2.4.0",
|
|
"jest-environment-jsdom": "^29.3.1",
|
|
"jest-image-snapshot": "^6.1.0",
|
|
"kea-typegen": "^3.1.6",
|
|
"less": "^3.12.2",
|
|
"less-loader": "^7.0.2",
|
|
"lint-staged": "~10.2.13",
|
|
"mockdate": "^3.0.5",
|
|
"msw": "^0.49.0",
|
|
"path-browserify": "^1.0.1",
|
|
"pixelmatch": "^5.3.0",
|
|
"playwright-core": "1.29.2",
|
|
"pngjs": "^6.0.0",
|
|
"postcss": "^8.4.14",
|
|
"postcss-loader": "^4.3.0",
|
|
"raw-loader": "^4.0.2",
|
|
"sass-loader": "^10.0.1",
|
|
"storybook-addon-pseudo-states": "1.15.1",
|
|
"style-loader": "^2.0.0",
|
|
"sucrase": "^3.29.0",
|
|
"timekeeper": "^2.2.0",
|
|
"ts-json-schema-generator": "^1.2.0",
|
|
"ts-node": "^10.9.1",
|
|
"typescript": "~4.9.5",
|
|
"webpack": "^4.46.0",
|
|
"webpack-cli": "^4.5.0",
|
|
"whatwg-fetch": "^3.6.2"
|
|
},
|
|
"optionalDependencies": {
|
|
"fsevents": "^2.1.2"
|
|
},
|
|
"lint-staged": {
|
|
"*.{json,yaml,yml,css,scss}": "prettier --write",
|
|
"(!(plugin-server)/**).{js,jsx,mjs,ts,tsx}": [
|
|
"eslint -c .eslintrc.js --fix",
|
|
"prettier --write"
|
|
],
|
|
"(plugin-server/**).{js,jsx,mjs,ts,tsx}": [
|
|
"pnpm --dir plugin-server exec eslint --fix",
|
|
"pnpm --dir plugin-server exec prettier --write"
|
|
],
|
|
"!(posthog/hogql/grammar/*)*.{py,pyi}": [
|
|
"black",
|
|
"ruff"
|
|
],
|
|
"*.png": [
|
|
"optipng -clobber -o4 -strip all"
|
|
]
|
|
},
|
|
"browserslist": {
|
|
"development": [
|
|
"last 2 chrome versions",
|
|
"last 2 firefox versions",
|
|
"last 2 edge versions"
|
|
],
|
|
"production": [
|
|
"defaults"
|
|
]
|
|
},
|
|
"browser": {
|
|
"path": "path-browserify"
|
|
}
|
|
}
|