better-ship 0.19.0 → 0.20.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.
@@ -1,20 +1,21 @@
1
1
  import { PostHog, PostHogConfig } from "posthog-js";
2
2
  import { PostHogProvider, usePostHog } from "@posthog/react";
3
3
  //#region src/infrastructure/posthog/client.d.ts
4
+ /** Application properties and native SDK options for browser initialization. */
5
+ export interface PostHogClientOptionsConfig {
6
+ readonly environment: string;
7
+ readonly source: string;
8
+ readonly options?: Partial<PostHogConfig>;
9
+ }
4
10
  /** The application controls enablement; disabled initialization needs no project key. */
5
11
  export type PostHogClientConfig = {
6
12
  readonly enabled: false;
7
- } | {
13
+ } | (PostHogClientOptionsConfig & {
8
14
  readonly enabled: true;
9
15
  readonly apiKey: string;
10
- readonly environment: string;
11
- readonly source: string;
12
- readonly options?: Partial<PostHogConfig>;
13
- };
16
+ });
14
17
  /** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */
15
- export declare function createPostHogClientOptions(config: Extract<PostHogClientConfig, {
16
- enabled: true;
17
- }>): Partial<PostHogConfig>;
18
+ export declare function createPostHogClientOptions(config: PostHogClientOptionsConfig): Partial<PostHogConfig>;
18
19
  /** Initialize once in the browser entrypoint; pass the returned SDK client to PostHogProvider. */
19
20
  export declare function initializePostHog(config: PostHogClientConfig): PostHog;
20
21
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../src/infrastructure/posthog/client.ts"],"mappings":";;;;YAGY;WACG;;WAEA;WACA;WACA;WACA;WACA,UAAU,QAAQ;;;wBAIjB,2BACd,QAAQ,QAAQ;EAAuB;KACtC,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;;;wBAIC,2BACd,QAAQ,6BACP,QAAQ;;wBAkBK,kBAAkB,QAAQ,sBAAsB"}
@@ -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/** The application controls enablement; disabled initialization needs no project key. */\nexport type PostHogClientConfig =\n | { readonly enabled: false }\n | {\n readonly enabled: true\n readonly apiKey: string\n readonly environment: string\n readonly source: string\n readonly options?: Partial<PostHogConfig>\n }\n\n/** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */\nexport function createPostHogClientOptions(\n config: Extract<PostHogClientConfig, { enabled: true }>,\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":";;;;;AAcA,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/** 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"}
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.19.0",
4
+ "version": "0.20.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": {
@@ -1,19 +1,23 @@
1
1
  import posthog, { type PostHog, type PostHogConfig } from 'posthog-js'
2
2
 
3
+ /** Application properties and native SDK options for browser initialization. */
4
+ export interface PostHogClientOptionsConfig {
5
+ readonly environment: string
6
+ readonly source: string
7
+ readonly options?: Partial<PostHogConfig>
8
+ }
9
+
3
10
  /** The application controls enablement; disabled initialization needs no project key. */
4
11
  export type PostHogClientConfig =
5
12
  | { readonly enabled: false }
6
- | {
13
+ | (PostHogClientOptionsConfig & {
7
14
  readonly enabled: true
8
15
  readonly apiKey: string
9
- readonly environment: string
10
- readonly source: string
11
- readonly options?: Partial<PostHogConfig>
12
- }
16
+ })
13
17
 
14
18
  /** Browser options from Typist and Porte; SDK option names and application overrides stay intact. */
15
19
  export function createPostHogClientOptions(
16
- config: Extract<PostHogClientConfig, { enabled: true }>,
20
+ config: PostHogClientOptionsConfig,
17
21
  ): Partial<PostHogConfig> {
18
22
  return {
19
23
  api_host: '/relay',