diff --git a/packages/cli/src/lib/inject.ts b/packages/cli/src/lib/inject.ts index 079a355..cbcc66b 100644 --- a/packages/cli/src/lib/inject.ts +++ b/packages/cli/src/lib/inject.ts @@ -22,7 +22,7 @@ export function trackerComponentSource(programId: string | number, useClientDire const idLiteral = typeof programId === "number" ? `${programId}` : JSON.stringify(programId); const prefix = useClientDirective ? "'use client';\n\n" : ""; return `${prefix}import { useEffect } from 'react'; -import { init } from '@affitor/sdk'; +import { loadAffitor } from '@affitor/sdk'; /** * Affitor affiliate tracking — auto-generated by \`affitor init\`. @@ -30,7 +30,7 @@ import { init } from '@affitor/sdk'; */ export function ${TRACKER_MARKER}() { useEffect(() => { - init({ programId: ${idLiteral} }); + void loadAffitor(${idLiteral}); }, []); return null; } diff --git a/packages/cli/tests/wizard.test.ts b/packages/cli/tests/wizard.test.ts index b42fcf0..ab854cc 100644 --- a/packages/cli/tests/wizard.test.ts +++ b/packages/cli/tests/wizard.test.ts @@ -188,13 +188,15 @@ describe("trackerComponentSource", () => { it("emits 'use client' for App Router and an unquoted numeric programId", () => { const src = trackerComponentSource(123, true); expect(src.startsWith("'use client';")).toBe(true); - expect(src).toContain("init({ programId: 123 })"); - expect(src).toContain("from '@affitor/sdk'"); + expect(src).toContain("loadAffitor(123)"); + expect(src).toContain("import { loadAffitor } from '@affitor/sdk';"); + // @affitor/sdk exports loadAffitor only; an `init` import does not compile. + expect(src).not.toMatch(/\binit\(|import \{ init \}/); }); it("omits 'use client' for Pages Router and quotes string ids", () => { const src = trackerComponentSource("prog_abc", false); expect(src.startsWith("'use client';")).toBe(false); - expect(src).toContain('init({ programId: "prog_abc" })'); + expect(src).toContain('loadAffitor("prog_abc")'); }); });