better-ship 0.28.0 → 0.29.0

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.
@@ -14,7 +14,10 @@ export type PostHogClientConfig = {
14
14
  readonly enabled: true;
15
15
  readonly apiKey: string;
16
16
  });
17
- /** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */
17
+ /**
18
+ * Browser options from Typist and Porte. SDK option names and application overrides stay intact.
19
+ * Web Vitals are on. Pass `options.capture_performance` to turn them off.
20
+ */
18
21
  export declare function createPostHogClientOptions(config: PostHogClientOptionsConfig): Partial<PostHogConfig>;
19
22
  /** Initialize once in the browser entrypoint; pass the returned SDK client to PostHogProvider. */
20
23
  export declare function initializePostHog(config: PostHogClientConfig): PostHog;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../src/infrastructure/posthog/client.ts"],"mappings":";;;;iBAGiB;WACN;WACA;WACA,UAAU,QAAQ;;;YAIjB;WACG;KACV;WACU;WACA;;;wBAIC,2BACd,QAAQ,6BACP,QAAQ;;wBAkBK,kBAAkB,QAAQ,sBAAsB"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../src/infrastructure/posthog/client.ts"],"mappings":";;;;iBAGiB;WACN;WACA;WACA,UAAU,QAAQ;;;YAIjB;WACG;KACV;WACU;WACA;;;;;;wBAOC,2BACd,QAAQ,6BACP,QAAQ;;wBAmBK,kBAAkB,QAAQ,sBAAsB"}
@@ -2,7 +2,10 @@ import posthog from "posthog-js";
2
2
  import { PostHogProvider, usePostHog } from "@posthog/react";
3
3
 
4
4
  //#region src/infrastructure/posthog/client.ts
5
- /** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */
5
+ /**
6
+ * Browser options from Typist and Porte. SDK option names and application overrides stay intact.
7
+ * Web Vitals are on. Pass `options.capture_performance` to turn them off.
8
+ */
6
9
  function createPostHogClientOptions(config) {
7
10
  return {
8
11
  api_host: "/relay",
@@ -11,7 +14,7 @@ function createPostHogClientOptions(config) {
11
14
  defaults: "2026-08-29",
12
15
  disable_surveys: true,
13
16
  advanced_disable_feature_flags: true,
14
- capture_performance: { web_vitals: false },
17
+ capture_performance: { web_vitals: true },
15
18
  ...config.options,
16
19
  loaded: (client) => {
17
20
  client.register({
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":[],"sources":["../../src/infrastructure/posthog/client.ts"],"sourcesContent":["import posthog, { type PostHog, type PostHogConfig } from 'posthog-js'\n\n/** Application properties and native SDK options for browser initialization. */\nexport interface PostHogClientOptionsConfig {\n readonly environment: string\n readonly source: string\n readonly options?: Partial<PostHogConfig>\n}\n\n/** The application controls enablement; disabled initialization needs no project key. */\nexport type PostHogClientConfig =\n | { readonly enabled: false }\n | (PostHogClientOptionsConfig & {\n readonly enabled: true\n readonly apiKey: string\n })\n\n/** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */\nexport function createPostHogClientOptions(\n config: PostHogClientOptionsConfig,\n): Partial<PostHogConfig> {\n return {\n api_host: '/relay',\n ui_host: 'https://us.posthog.com',\n person_profiles: 'identified_only',\n defaults: '2026-08-29',\n disable_surveys: true,\n advanced_disable_feature_flags: true,\n capture_performance: { web_vitals: false },\n ...config.options,\n loaded: (client) => {\n client.register({ environment: config.environment, source: config.source })\n config.options?.loaded?.(client)\n },\n }\n}\n\n/** Initialize once in the browser entrypoint; pass the returned SDK client to PostHogProvider. */\nexport function initializePostHog(config: PostHogClientConfig): PostHog {\n if (!config.enabled) return posthog\n posthog.init(config.apiKey, createPostHogClientOptions(config))\n return posthog\n}\n\nexport { PostHogProvider, usePostHog } from '@posthog/react'\n"],"mappings":";;;;;AAkBA,SAAgB,2BACd,QACwB;CACxB,OAAO;EACL,UAAU;EACV,SAAS;EACT,iBAAiB;EACjB,UAAU;EACV,iBAAiB;EACjB,gCAAgC;EAChC,qBAAqB,EAAE,YAAY,MAAM;EACzC,GAAG,OAAO;EACV,SAAS,WAAW;GAClB,OAAO,SAAS;IAAE,aAAa,OAAO;IAAa,QAAQ,OAAO;GAAO,CAAC;GAC1E,OAAO,SAAS,SAAS,MAAM;EACjC;CACF;AACF;;AAGA,SAAgB,kBAAkB,QAAsC;CACtE,IAAI,CAAC,OAAO,SAAS,OAAO;CAC5B,QAAQ,KAAK,OAAO,QAAQ,2BAA2B,MAAM,CAAC;CAC9D,OAAO;AACT"}
1
+ {"version":3,"file":"client.js","names":[],"sources":["../../src/infrastructure/posthog/client.ts"],"sourcesContent":["import posthog, { type PostHog, type PostHogConfig } from 'posthog-js'\n\n/** Application properties and native SDK options for browser initialization. */\nexport interface PostHogClientOptionsConfig {\n readonly environment: string\n readonly source: string\n readonly options?: Partial<PostHogConfig>\n}\n\n/** The application controls enablement; disabled initialization needs no project key. */\nexport type PostHogClientConfig =\n | { readonly enabled: false }\n | (PostHogClientOptionsConfig & {\n readonly enabled: true\n readonly apiKey: string\n })\n\n/**\n * Browser options from Typist and Porte. SDK option names and application overrides stay intact.\n * Web Vitals are on. Pass `options.capture_performance` to turn them off.\n */\nexport function createPostHogClientOptions(\n config: PostHogClientOptionsConfig,\n): Partial<PostHogConfig> {\n return {\n api_host: '/relay',\n ui_host: 'https://us.posthog.com',\n person_profiles: 'identified_only',\n defaults: '2026-08-29',\n disable_surveys: true,\n advanced_disable_feature_flags: true,\n // An absent network_timing key leaves session replay on the project setting.\n capture_performance: { web_vitals: true },\n ...config.options,\n loaded: (client) => {\n client.register({ environment: config.environment, source: config.source })\n config.options?.loaded?.(client)\n },\n }\n}\n\n/** Initialize once in the browser entrypoint; pass the returned SDK client to PostHogProvider. */\nexport function initializePostHog(config: PostHogClientConfig): PostHog {\n if (!config.enabled) return posthog\n posthog.init(config.apiKey, createPostHogClientOptions(config))\n return posthog\n}\n\nexport { PostHogProvider, usePostHog } from '@posthog/react'\n"],"mappings":";;;;;;;;AAqBA,SAAgB,2BACd,QACwB;CACxB,OAAO;EACL,UAAU;EACV,SAAS;EACT,iBAAiB;EACjB,UAAU;EACV,iBAAiB;EACjB,gCAAgC;EAEhC,qBAAqB,EAAE,YAAY,KAAK;EACxC,GAAG,OAAO;EACV,SAAS,WAAW;GAClB,OAAO,SAAS;IAAE,aAAa,OAAO;IAAa,QAAQ,OAAO;GAAO,CAAC;GAC1E,OAAO,SAAS,SAAS,MAAM;EACjC;CACF;AACF;;AAGA,SAAgB,kBAAkB,QAAsC;CACtE,IAAI,CAAC,OAAO,SAAS,OAAO;CAC5B,QAAQ,KAAK,OAAO,QAAQ,2BAA2B,MAAM,CAAC;CAC9D,OAAO;AACT"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://www.schemastore.org/package.json",
3
3
  "name": "better-ship",
4
- "version": "0.28.0",
4
+ "version": "0.29.0",
5
5
  "description": "Foundation for applications on Cloudflare Workers: logger, errors, message bus, infrastructure adapters, and UI primitives",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -15,7 +15,10 @@ export type PostHogClientConfig =
15
15
  readonly apiKey: string
16
16
  })
17
17
 
18
- /** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */
18
+ /**
19
+ * Browser options from Typist and Porte. SDK option names and application overrides stay intact.
20
+ * Web Vitals are on. Pass `options.capture_performance` to turn them off.
21
+ */
19
22
  export function createPostHogClientOptions(
20
23
  config: PostHogClientOptionsConfig,
21
24
  ): Partial<PostHogConfig> {
@@ -26,7 +29,8 @@ export function createPostHogClientOptions(
26
29
  defaults: '2026-08-29',
27
30
  disable_surveys: true,
28
31
  advanced_disable_feature_flags: true,
29
- capture_performance: { web_vitals: false },
32
+ // An absent network_timing key leaves session replay on the project setting.
33
+ capture_performance: { web_vitals: true },
30
34
  ...config.options,
31
35
  loaded: (client) => {
32
36
  client.register({ environment: config.environment, source: config.source })