fix(webapp): upgrade posthog-node to v5, drop axios + stale override (#3801)

Follow-up to #3796, which bumped the slack-client axios paths but left
posthog-node's transitive `axios@1.15.1` in place.

`posthog-node` 4.17.1 → 5.35.6. v5 drops the axios dependency entirely
(it's now fetch-based via `@posthog/core`), so posthog's old axios path
disappears. With #3796 already on main (webapp + d3 references on
`@slack/web-api@7.16.0`), nothing else pins the old line, so the
now-dead `axios@>=1.0.0 <1.15.0` override is removed and axios resolves
to a single patched `1.16.1` repo-wide. This closes the remaining axios
advisories.

Compat: the webapp's usage in `telemetry.server.ts` (`new PostHog(key, {
host })`, `.identify`, `.groupIdentify`, `.capture`) is all object-form
API that v5 preserves; `pnpm run typecheck --filter webapp` passes.

Node: posthog-node v5 requires Node `^20.20.0 || >=22.22.0`. We run
20.20.0 in dev (`.nvmrc`), CI, and the published Docker image
(`node:20.20-bullseye-slim`), so we're compliant.
This commit is contained in:
nicktrn
2026-06-02 09:33:44 +01:00
committed by GitHub
parent 952139d492
commit e35f5742d4
4 changed files with 33 additions and 23 deletions
+6
View File
@@ -0,0 +1,6 @@
---
area: webapp
type: fix
---
Upgrade posthog-node to v5 (drops its axios dependency) and remove the now-stale axios override so axios resolves to patched 1.16.1
+1 -1
View File
@@ -183,7 +183,7 @@
"p-retry": "^4.6.1",
"parse-duration": "^2.1.0",
"posthog-js": "^1.93.3",
"posthog-node": "4.17.1",
"posthog-node": "5.35.6",
"prism-react-renderer": "^2.3.1",
"prismjs": "^1.30.0",
"prom-client": "^15.1.0",
-1
View File
@@ -96,7 +96,6 @@
"form-data@^2": "2.5.4",
"form-data@^3": "3.0.4",
"form-data@^4": "4.0.4",
"axios@>=1.0.0 <1.15.0": "^1.15.0",
"js-yaml@>=3.0.0 <3.14.2": "3.14.2",
"js-yaml@>=4.0.0 <4.1.1": "4.1.1",
"jws@<3.2.3": "3.2.3",
+26 -21
View File
@@ -13,7 +13,6 @@ overrides:
form-data@^2: 2.5.4
form-data@^3: 3.0.4
form-data@^4: 4.0.4
axios@>=1.0.0 <1.15.0: ^1.15.0
js-yaml@>=3.0.0 <3.14.2: 3.14.2
js-yaml@>=4.0.0 <4.1.1: 4.1.1
jws@<3.2.3: 3.2.3
@@ -714,8 +713,8 @@ importers:
specifier: ^1.93.3
version: 1.93.3
posthog-node:
specifier: 4.17.1
version: 4.17.1
specifier: 5.35.6
version: 5.35.6(rxjs@7.8.2)
prism-react-renderer:
specifier: ^2.3.1
version: 2.3.1(react@18.2.0)
@@ -7076,6 +7075,12 @@ packages:
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
'@posthog/core@1.29.13':
resolution: {integrity: sha512-7Me5zaeAue/wmA364Go8ChYbsVAfNAHbtDxXopWu3D6hq9PVScUcauRgjD1njgvP8NzN91SrIllE+pri3XvJVw==}
'@posthog/types@1.376.4':
resolution: {integrity: sha512-EoDEvA925lf6yxPpbP4wozlXgu4b9WEqxZlFBUDd4k2akP5R/RWyHpvQT8aYyfY6BtSLn8TnVwxPQOM4b90isA==}
'@prisma/adapter-pg@6.16.0':
resolution: {integrity: sha512-zNMQyIrkcVFMYFuVeO9GhK9dc5kMSvqwqL+pNMM9oK4+mj7HcKws780ZXhAgV149kcg2kDisHPHO5nE4gkG+oA==}
@@ -11690,9 +11695,6 @@ packages:
resolution: {integrity: sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==}
engines: {node: '>=4'}
axios@1.15.1:
resolution: {integrity: sha512-WOG+Jj8ZOvR0a3rAn+Tuf1UQJRxw5venr6DgdbJzngJE3qG7X0kL83CZGpdHMxEm+ZK3seAbvFsw4FfOfP9vxg==}
axios@1.16.1:
resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==}
@@ -17340,9 +17342,14 @@ packages:
resolution: {integrity: sha512-jEOWwaQpTRbqLPrDLY6eZr7t95h+LyXqN7Yq1/K6u3V0Y1C9xHtYhpuGzYamirVnCDTbVq22RM++OBUaIpp9Wg==}
deprecated: This version of posthog-js is deprecated, please update posthog-js, and do not use this version! Check out our JS docs at https://posthog.com/docs/libraries/js
posthog-node@4.17.1:
resolution: {integrity: sha512-cVlQPOwOPjakUnrueKRCQe1m2Ku+XzKaOos7Tn/zDZkkZFeBT/byP7tbNf7LiwhaBRWFBRowZZb/MsTtSRaorg==}
engines: {node: '>=15.0.0'}
posthog-node@5.35.6:
resolution: {integrity: sha512-LwoXnR89A0l75jvFrXjtsAs0BbpyCjnwY8YIUkZT91rt1YnIUfBYiLj7qoUYApdNgesgWQQHqLXxLYX59a6ZYw==}
engines: {node: ^20.20.0 || >=22.22.0}
peerDependencies:
rxjs: ^7.0.0
peerDependenciesMeta:
rxjs:
optional: true
prebuild-install@7.1.3:
resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
@@ -25591,6 +25598,12 @@ snapshots:
'@popperjs/core@2.11.8': {}
'@posthog/core@1.29.13':
dependencies:
'@posthog/types': 1.376.4
'@posthog/types@1.376.4': {}
'@prisma/adapter-pg@6.16.0':
dependencies:
'@prisma/driver-adapter-utils': 6.16.0
@@ -31917,14 +31930,6 @@ snapshots:
axe-core@4.6.2: {}
axios@1.15.1:
dependencies:
follow-redirects: 1.16.0
form-data: 4.0.4
proxy-from-env: 2.1.0
transitivePeerDependencies:
- debug
axios@1.16.1:
dependencies:
follow-redirects: 1.16.0
@@ -38575,11 +38580,11 @@ snapshots:
dependencies:
fflate: 0.4.8
posthog-node@4.17.1:
posthog-node@5.35.6(rxjs@7.8.2):
dependencies:
axios: 1.15.1
transitivePeerDependencies:
- debug
'@posthog/core': 1.29.13
optionalDependencies:
rxjs: 7.8.2
prebuild-install@7.1.3:
dependencies: