UNPKG

@reliverse/rse-sdk

Version:

@reliverse/rse-sdk without cli. @reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).

33 lines (32 loc) 977 B
import { PostHog } from "posthog-node"; import { getLatestCLIVersion } from "./get-latest-cli-version.js"; const POSTHOG_API_KEY = process.env.POSTHOG_API_KEY || ""; const POSTHOG_HOST = process.env.POSTHOG_HOST; export async function trackProjectCreation(config) { const posthog = new PostHog(POSTHOG_API_KEY, { host: POSTHOG_HOST, flushAt: 1, flushInterval: 0, privacyMode: true, disableGeoip: true, disabled: process.env.MODE !== "prod" }); try { const sessionId = `cli_${crypto.randomUUID().replace(/-/g, "")}`; const { projectName, projectDir, relativePath, ...safeConfig } = config; posthog.capture({ distinctId: sessionId, event: "project_created", properties: { ...safeConfig, cli_version: getLatestCLIVersion(), node_version: process.version, platform: process.platform, $ip: null } }); } catch (_error) { } finally { await posthog.shutdown(); } }