Skip to content

Commit e417a7c

Browse files
committed
better referrer tracking
1 parent a4bb401 commit e417a7c

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

packages/neondb/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ Create a claimable Neon Postgres database and save credentials to your .env:
3939
await instantNeon({
4040
dotEnvFile: ".env",
4141
dotEnvKey: "DATABASE_URL",
42-
referrer: "my-scaffolder-cli",
42+
// This below is to help us understand where usage comes from.
43+
// If you're publishing a library, we'd love that you re-expose a
44+
// referrer parameter in your lib and set this to `npm:your-lib-package-name|${referrer}`
45+
// So we can understand the chain better and give you all the credit you deserve!
46+
referrer: "npm:your-cli-package-name",
4347
});
4448
```
4549

packages/neondb/src/cli.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ async function main() {
102102
await instantNeon({
103103
dotEnvFile: userInput.dotEnvPath,
104104
dotEnvKey: userInput.dotEnvKey,
105-
referrer: "neondb-cli",
105+
referrer: "npm:neondb/cli",
106106
});
107107
}
108108
s.stop("Database generated!");

packages/neondb/src/lib/instant-neon.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ export const instantNeon = async ({
2020
const dbId = randomUUID();
2121
const claimExpiresAt = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);
2222
const createDbUrl = new URL(
23-
LAUNCHPAD_URLS.CREATE_CLAIMABLE_DATABASE(dbId, referrer),
23+
LAUNCHPAD_URLS.CREATE_CLAIMABLE_DATABASE(
24+
dbId,
25+
`npm:neondb|${referrer}`,
26+
),
2427
);
2528
const claimUrl = new URL(LAUNCHPAD_URLS.CLAIM_DATABASE(dbId));
2629
log.step(messages.botCheck(createDbUrl.href));

packages/vite-plugin-postgres/src/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,21 @@ import { loadEnv, type Plugin as VitePlugin } from "vite";
66
interface PostgresPluginOptions {
77
env: string;
88
envKey: string;
9+
referrer: string;
910
}
1011

1112
const DEFAULTS: PostgresPluginOptions = {
1213
env: ".env",
1314
envKey: "DATABASE_URL",
15+
referrer: "unknown",
1416
};
1517

1618
let claimProcessStarted = false;
1719

1820
export default function postgresPlugin(
1921
options?: Partial<PostgresPluginOptions>,
2022
): VitePlugin {
21-
const { env: envPath, envKey } = { ...DEFAULTS, ...options };
23+
const { env: envPath, envKey, referrer } = { ...DEFAULTS, ...options };
2224
return {
2325
name: "@neondatabase/vite-plugin-postgres",
2426

@@ -52,7 +54,7 @@ export default function postgresPlugin(
5254
await instantNeon({
5355
dotEnvFile: envPath,
5456
dotEnvKey: envKey,
55-
referrer: "@neondatabase/vite-plugin-postgres",
57+
referrer: `npm:@neondatabase/vite-plugin-postgres|${referrer}`,
5658
});
5759
outro("Neon database created successfully.");
5860
},

0 commit comments

Comments
 (0)