posthog-node 4.16.0 → 4.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/edge/index.cjs +3919 -0
  3. package/lib/edge/index.cjs.map +1 -0
  4. package/lib/edge/index.mjs +3893 -0
  5. package/lib/edge/index.mjs.map +1 -0
  6. package/lib/index.d.ts +921 -859
  7. package/lib/{index.cjs.js → node/index.cjs} +3576 -3595
  8. package/lib/node/index.cjs.map +1 -0
  9. package/lib/{index.esm.js → node/index.mjs} +3577 -3593
  10. package/lib/node/index.mjs.map +1 -0
  11. package/package.json +31 -4
  12. package/index.ts +0 -3
  13. package/lib/index.cjs.js.map +0 -1
  14. package/lib/index.esm.js.map +0 -1
  15. package/lib/posthog-core/src/eventemitter.d.ts +0 -8
  16. package/lib/posthog-core/src/featureFlagUtils.d.ts +0 -34
  17. package/lib/posthog-core/src/index.d.ts +0 -259
  18. package/lib/posthog-core/src/lz-string.d.ts +0 -8
  19. package/lib/posthog-core/src/storage-memory.d.ts +0 -6
  20. package/lib/posthog-core/src/types.d.ts +0 -422
  21. package/lib/posthog-core/src/utils.d.ts +0 -20
  22. package/lib/posthog-core/src/vendor/uuidv7.d.ts +0 -179
  23. package/lib/posthog-node/index.d.ts +0 -3
  24. package/lib/posthog-node/src/crypto-helpers.d.ts +0 -3
  25. package/lib/posthog-node/src/crypto.d.ts +0 -2
  26. package/lib/posthog-node/src/error-tracking.d.ts +0 -12
  27. package/lib/posthog-node/src/extensions/error-tracking/autocapture.d.ts +0 -3
  28. package/lib/posthog-node/src/extensions/error-tracking/context-lines.d.ts +0 -6
  29. package/lib/posthog-node/src/extensions/error-tracking/error-conversion.d.ts +0 -2
  30. package/lib/posthog-node/src/extensions/error-tracking/reduceable-cache.d.ts +0 -12
  31. package/lib/posthog-node/src/extensions/error-tracking/stack-trace.d.ts +0 -15
  32. package/lib/posthog-node/src/extensions/error-tracking/type-checking.d.ts +0 -7
  33. package/lib/posthog-node/src/extensions/error-tracking/types.d.ts +0 -57
  34. package/lib/posthog-node/src/extensions/express.d.ts +0 -17
  35. package/lib/posthog-node/src/extensions/sentry-integration.d.ts +0 -51
  36. package/lib/posthog-node/src/feature-flags.d.ts +0 -84
  37. package/lib/posthog-node/src/fetch.d.ts +0 -11
  38. package/lib/posthog-node/src/lazy.d.ts +0 -23
  39. package/lib/posthog-node/src/posthog-node.d.ts +0 -98
  40. package/lib/posthog-node/src/types.d.ts +0 -229
  41. package/lib/posthog-node/test/test-utils.d.ts +0 -18
  42. package/src/crypto-helpers.ts +0 -36
  43. package/src/crypto.ts +0 -22
  44. package/src/error-tracking.ts +0 -67
  45. package/src/extensions/error-tracking/autocapture.ts +0 -65
  46. package/src/extensions/error-tracking/context-lines.ts +0 -425
  47. package/src/extensions/error-tracking/error-conversion.ts +0 -262
  48. package/src/extensions/error-tracking/reduceable-cache.ts +0 -39
  49. package/src/extensions/error-tracking/stack-trace.ts +0 -269
  50. package/src/extensions/error-tracking/type-checking.ts +0 -40
  51. package/src/extensions/error-tracking/types.ts +0 -65
  52. package/src/extensions/express.ts +0 -37
  53. package/src/extensions/sentry-integration.ts +0 -196
  54. package/src/feature-flags.ts +0 -864
  55. package/src/fetch.ts +0 -39
  56. package/src/lazy.ts +0 -55
  57. package/src/posthog-node.ts +0 -668
  58. package/src/types.ts +0 -257
  59. package/test/crypto.spec.ts +0 -36
  60. package/test/extensions/error-conversion.spec.ts +0 -44
  61. package/test/extensions/sentry-integration.spec.ts +0 -164
  62. package/test/feature-flags.decide.spec.ts +0 -380
  63. package/test/feature-flags.spec.ts +0 -4683
  64. package/test/lazy.spec.ts +0 -71
  65. package/test/posthog-node.spec.ts +0 -1341
  66. package/test/test-utils.ts +0 -111
  67. package/tsconfig.json +0 -7
@@ -1,111 +0,0 @@
1
- import { PostHogV4DecideResponse } from 'posthog-core/src/types'
2
- import util from 'util'
3
-
4
- type ErrorResponse = {
5
- status: number
6
- json: () => Promise<any>
7
- }
8
-
9
- export const apiImplementationV4 = (decideResponse: PostHogV4DecideResponse | ErrorResponse) => {
10
- return (url: any): Promise<any> => {
11
- if ((url as any).includes('/flags/?v=2')) {
12
- // Check if the response is a decide response or an error response
13
- return 'flags' in decideResponse
14
- ? Promise.resolve({
15
- status: 200,
16
- text: () => Promise.resolve('ok'),
17
- json: () => Promise.resolve(decideResponse),
18
- })
19
- : Promise.resolve({
20
- status: decideResponse.status,
21
- text: () => Promise.resolve('not-ok'),
22
- json: decideResponse.json,
23
- })
24
- }
25
-
26
- return Promise.resolve({
27
- status: 400,
28
- text: () => Promise.resolve('ok'),
29
- json: () =>
30
- Promise.resolve({
31
- status: 'ok',
32
- }),
33
- }) as any
34
- }
35
- }
36
-
37
- export const apiImplementation = ({
38
- localFlags,
39
- decideFlags,
40
- decideFlagPayloads,
41
- decideStatus = 200,
42
- localFlagsStatus = 200,
43
- errorsWhileComputingFlags = false,
44
- }: {
45
- localFlags?: any
46
- decideFlags?: any
47
- decideFlagPayloads?: any
48
- decideStatus?: number
49
- localFlagsStatus?: number
50
- errorsWhileComputingFlags?: boolean
51
- }) => {
52
- return (url: any): Promise<any> => {
53
- if ((url as any).includes('/flags/')) {
54
- return Promise.resolve({
55
- status: decideStatus,
56
- text: () => Promise.resolve('ok'),
57
- json: () => {
58
- if (decideStatus !== 200) {
59
- return Promise.resolve(decideFlags)
60
- } else {
61
- return Promise.resolve({
62
- featureFlags: decideFlags,
63
- featureFlagPayloads: Object.fromEntries(
64
- Object.entries(decideFlagPayloads || {}).map(([k, v]) => [k, JSON.stringify(v)])
65
- ),
66
- errorsWhileComputingFlags,
67
- })
68
- }
69
- },
70
- }) as any
71
- }
72
-
73
- if ((url as any).includes('api/feature_flag/local_evaluation?token=TEST_API_KEY&send_cohorts')) {
74
- return Promise.resolve({
75
- status: localFlagsStatus,
76
- text: () => Promise.resolve('ok'),
77
- json: () => Promise.resolve(localFlags),
78
- }) as any
79
- }
80
-
81
- if ((url as any).includes('batch/')) {
82
- return Promise.resolve({
83
- status: 200,
84
- text: () => Promise.resolve('ok'),
85
- json: () =>
86
- Promise.resolve({
87
- status: 'ok',
88
- }),
89
- }) as any
90
- }
91
-
92
- return Promise.resolve({
93
- status: 400,
94
- text: () => Promise.resolve('ok'),
95
- json: () =>
96
- Promise.resolve({
97
- status: 'ok',
98
- }),
99
- }) as any
100
- }
101
- }
102
-
103
- export const anyLocalEvalCall = [
104
- 'http://example.com/api/feature_flag/local_evaluation?token=TEST_API_KEY&send_cohorts',
105
- expect.any(Object),
106
- ]
107
- export const anyDecideCall = ['http://example.com/flags/?v=2', expect.any(Object)]
108
-
109
- export const isPending = (promise: Promise<any>): boolean => {
110
- return util.inspect(promise).includes('pending')
111
- }
package/tsconfig.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "../tsconfig.json",
3
- "compilerOptions": {
4
- "types": ["node"],
5
- "typeRoots": ["./node_modules/@types", "../node_modules/@types"]
6
- }
7
- }