UNPKG

@reliverse/rse

Version:

@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power

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(); } }