Skip to content

Commit 429acd1

Browse files
committed
docs: refine DO_NOT_TRACK release notes
1 parent 34c6964 commit 429acd1

10 files changed

Lines changed: 43 additions & 22 deletions

File tree

.changeset/nine-taxis-shave.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
---
22
"create-cloudflare": minor
3-
"@cloudflare/workers-utils": minor
4-
"wrangler": minor
53
---
64

7-
Support the `DO_NOT_TRACK` environment variable as a telemetry opt-out
5+
Honor `DO_NOT_TRACK=1` as a telemetry opt-out
86

9-
Setting `DO_NOT_TRACK=1` (see https://donottrack.sh/) disables telemetry in both Wrangler and `create-cloudflare`. The tool-specific variables `WRANGLER_SEND_METRICS` and `CREATE_CLOUDFLARE_TELEMETRY_DISABLED` still take precedence.
7+
Create Cloudflare now disables telemetry when `DO_NOT_TRACK=1` is set, regardless of other telemetry settings.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@cloudflare/workers-utils": minor
3+
---
4+
5+
Add shared support for the `DO_NOT_TRACK` environment variable
6+
7+
Add utilities for recognizing `DO_NOT_TRACK=1` and incorporating it when resolving Wrangler's telemetry preference.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"wrangler": minor
3+
---
4+
5+
Honor `DO_NOT_TRACK=1` as a telemetry opt-out
6+
7+
Wrangler now disables telemetry when `DO_NOT_TRACK=1` is set, regardless of other telemetry settings.

packages/create-cloudflare/src/__tests__/metrics.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,15 @@ describe("createReporter", () => {
286286
expect(sendEvent).toHaveBeenCalledTimes(0);
287287
});
288288

289+
test("DO_NOT_TRACK='1' takes precedence over CREATE_CLOUDFLARE_TELEMETRY_DISABLED='0'", ({
290+
expect,
291+
}) => {
292+
vi.stubEnv("DO_NOT_TRACK", "1");
293+
vi.stubEnv("CREATE_CLOUDFLARE_TELEMETRY_DISABLED", "0");
294+
295+
expect(createReporter().isEnabled).toBe(false);
296+
});
297+
289298
test("sends started and cancelled event to sparrow if the promise reject with a CancelError", async ({
290299
expect,
291300
}) => {

packages/create-cloudflare/src/metrics.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ export function createReporter() {
112112

113113
function isTelemetryEnabled() {
114114
if (
115-
process.env.CREATE_CLOUDFLARE_TELEMETRY_DISABLED === "1" ||
116-
isDoNotTrackEnabled()
115+
isDoNotTrackEnabled() ||
116+
process.env.CREATE_CLOUDFLARE_TELEMETRY_DISABLED === "1"
117117
) {
118118
return false;
119119
}

packages/create-cloudflare/telemetry.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,14 @@ Alternatively, you can set an environment variable:
8282
export CREATE_CLOUDFLARE_TELEMETRY_DISABLED=1
8383
```
8484

85-
Create-Cloudflare also honors [`DO_NOT_TRACK`](https://donottrack.sh/), a shared opt-out convention supported across many CLI tools. If you already have it set, telemetry is disabled with no further configuration:
85+
Create Cloudflare also honors the `DO_NOT_TRACK` environment variable. Set it to `1` to disable telemetry:
8686

8787
```sh
8888
export DO_NOT_TRACK=1
8989
```
9090

91+
`DO_NOT_TRACK=1` takes precedence over all other telemetry settings.
92+
9193
If you would like to re-enable telemetry, you can run:
9294

9395
```sh

packages/workers-utils/src/environment-variables/factory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ type VariableNames =
142142
/** Disable config watching in ConfigController. */
143143
| "WRANGLER_CI_DISABLE_CONFIG_WATCHING"
144144

145-
/** https://donottrack.sh/ */
145+
/** Disable telemetry when set to an opt-out value. */
146146
| "DO_NOT_TRACK"
147147

148148
// ## Docker Configuration

packages/workers-utils/src/environment-variables/misc-variables.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ const getDoNotTrackFromEnv = getEnvironmentVariableFactory({
4141
variableName: "DO_NOT_TRACK",
4242
});
4343

44-
/**
45-
* `DO_NOT_TRACK` is a shared telemetry opt-out convention: https://donottrack.sh/
46-
*/
44+
/** Whether `DO_NOT_TRACK` is set to a supported telemetry opt-out value. */
4745
export function isDoNotTrackEnabled(): boolean {
4846
const value = getDoNotTrackFromEnv()?.toLowerCase();
4947
return value === "1" || value === "true";
@@ -55,15 +53,15 @@ const getWranglerSendMetricsVariableFromEnv =
5553
});
5654

5755
/**
58-
* `WRANGLER_SEND_METRICS` can override whether we attempt to send metrics information to Sparrow.
59-
*
60-
* When it is unset, `DO_NOT_TRACK` opts out of sending metrics.
56+
* `WRANGLER_SEND_METRICS` controls whether we attempt to send metrics information to Sparrow.
57+
* `DO_NOT_TRACK` takes precedence when it is set to an opt-out value.
6158
*/
6259
export function getWranglerSendMetricsFromEnv(): boolean | undefined {
63-
return (
64-
getWranglerSendMetricsVariableFromEnv() ??
65-
(isDoNotTrackEnabled() ? false : undefined)
66-
);
60+
if (isDoNotTrackEnabled()) {
61+
return false;
62+
}
63+
64+
return getWranglerSendMetricsVariableFromEnv();
6765
}
6866

6967
/**

packages/wrangler/src/__tests__/metrics.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -688,13 +688,13 @@ describe("metrics", () => {
688688
});
689689
});
690690

691-
it("should let the WRANGLER_SEND_METRICS environment variable override DO_NOT_TRACK", async ({
691+
it("should let DO_NOT_TRACK override the WRANGLER_SEND_METRICS environment variable", async ({
692692
expect,
693693
}) => {
694694
vi.stubEnv("DO_NOT_TRACK", "1");
695695
vi.stubEnv("WRANGLER_SEND_METRICS", "true");
696696
expect(await getMetricsConfig({})).toMatchObject({
697-
enabled: true,
697+
enabled: false,
698698
});
699699
});
700700

packages/wrangler/telemetry.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ Alternatively, you may set an environment variable to disable telemetry.
7575

7676
`WRANGLER_SEND_METRICS=false`
7777

78-
Wrangler also honors [`DO_NOT_TRACK`](https://donottrack.sh/), a shared opt-out convention supported across many CLI tools. If you already have it set, telemetry is disabled with no further configuration:
78+
Wrangler also honors the `DO_NOT_TRACK` environment variable. Set it to `1` to disable telemetry:
7979

8080
```sh
8181
export DO_NOT_TRACK=1
8282
```
8383

84-
Setting `WRANGLER_SEND_METRICS` takes precedence, so `WRANGLER_SEND_METRICS=true` re-enables Wrangler telemetry even when `DO_NOT_TRACK` is set.
84+
`DO_NOT_TRACK=1` takes precedence over all other telemetry settings.
8585

8686
If you would like to re-enable telemetry globally, you can run:
8787

0 commit comments

Comments
 (0)