wrangler 0.0.0-ece06ea → 0.0.0-ed4f2ef
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bin/wrangler.js +12 -3
- package/miniflare-dist/index.mjs +79 -0
- package/miniflare-dist/index.mjs.map +7 -0
- package/package.json +49 -22
- package/pages/functions/buildWorker.ts +62 -0
- package/pages/functions/filepath-routing.test.ts +223 -0
- package/pages/functions/filepath-routing.ts +181 -0
- package/pages/functions/identifiers.ts +78 -0
- package/pages/functions/routes.ts +151 -0
- package/pages/functions/template-worker.ts +130 -0
- package/src/__tests__/configuration.test.ts +2874 -0
- package/src/__tests__/dev.test.tsx +588 -0
- package/src/__tests__/guess-worker-format.test.ts +83 -0
- package/src/__tests__/{clipboardy-mock.js → helpers/clipboardy-mock.js} +0 -0
- package/src/__tests__/helpers/cmd-shim.d.ts +11 -0
- package/src/__tests__/helpers/faye-websocket.d.ts +6 -0
- package/src/__tests__/helpers/mock-account-id.ts +48 -0
- package/src/__tests__/helpers/mock-bin.ts +36 -0
- package/src/__tests__/helpers/mock-cfetch.ts +207 -0
- package/src/__tests__/helpers/mock-console.ts +70 -0
- package/src/__tests__/helpers/mock-dialogs.ts +65 -0
- package/src/__tests__/helpers/mock-kv.ts +33 -0
- package/src/__tests__/helpers/mock-oauth-flow.ts +178 -0
- package/src/__tests__/helpers/mock-stdin.ts +103 -0
- package/src/__tests__/helpers/mock-web-socket.ts +29 -0
- package/src/__tests__/helpers/run-in-tmp.ts +32 -0
- package/src/__tests__/helpers/run-wrangler.ts +16 -0
- package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
- package/src/__tests__/https-options.test.ts +127 -0
- package/src/__tests__/index.test.ts +953 -119
- package/src/__tests__/jest.setup.ts +74 -0
- package/src/__tests__/kv.test.ts +1380 -0
- package/src/__tests__/package-manager.test.ts +206 -0
- package/src/__tests__/pages.test.ts +180 -0
- package/src/__tests__/parse.test.ts +322 -0
- package/src/__tests__/publish.test.ts +3946 -0
- package/src/__tests__/r2.test.ts +198 -0
- package/src/__tests__/route.test.ts +45 -0
- package/src/__tests__/secret.test.ts +425 -0
- package/src/__tests__/sentry.test.ts +146 -0
- package/src/__tests__/tail.test.ts +638 -0
- package/src/__tests__/user.test.ts +83 -0
- package/src/__tests__/whoami.test.tsx +95 -0
- package/src/bundle.ts +155 -0
- package/src/cfetch/index.ts +104 -0
- package/src/cfetch/internal.ts +139 -0
- package/src/cli.ts +18 -7
- package/src/config/README.md +107 -0
- package/src/config/config.ts +229 -0
- package/src/config/diagnostics.ts +80 -0
- package/src/config/environment.ts +371 -0
- package/src/config/index.ts +62 -0
- package/src/config/validation-helpers.ts +557 -0
- package/src/config/validation.ts +1240 -0
- package/src/create-worker-preview.ts +173 -0
- package/src/create-worker-upload-form.ts +240 -0
- package/src/dev/dev.tsx +413 -0
- package/src/dev/local.tsx +287 -0
- package/src/dev/remote.tsx +209 -0
- package/src/dev/use-esbuild.ts +109 -0
- package/src/dialogs.tsx +6 -14
- package/src/entry.ts +256 -0
- package/src/environment-variables.ts +33 -0
- package/src/errors.ts +11 -0
- package/src/https-options.ts +122 -0
- package/src/index.tsx +1503 -959
- package/src/inspect.ts +624 -0
- package/src/intl-polyfill.d.ts +139 -0
- package/src/kv.ts +319 -0
- package/src/miniflare-cli/README.md +30 -0
- package/src/miniflare-cli/enum-keys.ts +17 -0
- package/src/miniflare-cli/index.ts +38 -0
- package/src/module-collection.ts +257 -0
- package/src/open-in-browser.ts +25 -0
- package/src/package-manager.ts +126 -0
- package/src/pages.tsx +1074 -212
- package/src/parse.ts +183 -0
- package/src/paths.ts +26 -0
- package/src/proxy.ts +455 -0
- package/src/publish.ts +326 -295
- package/src/r2.ts +50 -0
- package/src/reporting.ts +131 -0
- package/src/selfsigned.d.ts +29 -0
- package/src/sites.tsx +224 -59
- package/src/tail/filters.ts +279 -0
- package/src/tail/index.ts +299 -0
- package/src/tail/printing.ts +62 -0
- package/src/user.tsx +340 -203
- package/src/whoami.tsx +69 -0
- package/src/worker.ts +172 -0
- package/templates/new-worker.js +15 -0
- package/templates/new-worker.ts +15 -0
- package/{static-asset-facade.js → templates/static-asset-facade.js} +1 -1
- package/templates/tsconfig.json +105 -0
- package/wrangler-dist/cli.js +136988 -131174
- package/wrangler-dist/cli.js.map +3 -3
- package/src/__tests__/fixtures/init/.gitkeep +0 -0
- package/src/__tests__/mock-cfetch.js +0 -46
- package/src/api/form_data.ts +0 -158
- package/src/api/inspect.ts +0 -441
- package/src/api/preview.ts +0 -123
- package/src/api/worker.ts +0 -161
- package/src/cfetch.ts +0 -72
- package/src/config.ts +0 -124
- package/src/dev.tsx +0 -736
- package/src/kv.tsx +0 -211
- package/src/tail.tsx +0 -71
- package/src/util/fetch.ts +0 -74
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as fsp from "node:fs/promises";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import * as TOML from "@iarna/toml";
|
|
6
|
+
import * as Sentry from "@sentry/node";
|
|
7
|
+
import prompts from "prompts";
|
|
8
|
+
|
|
9
|
+
import { mockConsoleMethods } from "./helpers/mock-console";
|
|
10
|
+
import { runInTempDir } from "./helpers/run-in-tmp";
|
|
11
|
+
import { runWrangler } from "./helpers/run-wrangler";
|
|
12
|
+
const { reportError } = jest.requireActual("../reporting");
|
|
13
|
+
|
|
14
|
+
describe("Error Reporting", () => {
|
|
15
|
+
runInTempDir({ homedir: "./home" });
|
|
16
|
+
mockConsoleMethods();
|
|
17
|
+
const reportingTOMLPath = ".wrangler/config/reporting.toml";
|
|
18
|
+
|
|
19
|
+
const originalTTY = process.stdout.isTTY;
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
jest.mock("@sentry/node");
|
|
22
|
+
jest.spyOn(Sentry, "captureException");
|
|
23
|
+
process.stdout.isTTY = true;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
afterEach(() => {
|
|
27
|
+
jest.unmock("@sentry/node");
|
|
28
|
+
jest.clearAllMocks();
|
|
29
|
+
process.stdout.isTTY = originalTTY;
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("should confirm user will allow error reporting usage", async () => {
|
|
33
|
+
jest.spyOn(prompts, "prompt").mockResolvedValue({ sentryDecision: true });
|
|
34
|
+
|
|
35
|
+
await reportError(new Error("test error"), "testFalse");
|
|
36
|
+
|
|
37
|
+
const { error_tracking_opt, error_tracking_opt_date } = TOML.parse(
|
|
38
|
+
await fsp.readFile(path.join(os.homedir(), reportingTOMLPath), "utf-8")
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
expect(error_tracking_opt).toBe(true);
|
|
42
|
+
expect(error_tracking_opt_date).toBeTruthy();
|
|
43
|
+
|
|
44
|
+
expect(Sentry.captureException).toHaveBeenCalledWith(
|
|
45
|
+
new Error("test error")
|
|
46
|
+
);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it("should confirm user will disallow error reporting usage", async () => {
|
|
50
|
+
jest.spyOn(prompts, "prompt").mockResolvedValue({ sentryDecision: false });
|
|
51
|
+
await reportError(new Error("test error"), "testFalse");
|
|
52
|
+
|
|
53
|
+
const { error_tracking_opt, error_tracking_opt_date } = TOML.parse(
|
|
54
|
+
await fsp.readFile(path.join(os.homedir(), reportingTOMLPath), "utf-8")
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
expect(error_tracking_opt).toBe(false);
|
|
58
|
+
expect(error_tracking_opt_date).toBeTruthy();
|
|
59
|
+
|
|
60
|
+
expect(Sentry.captureException).not.toHaveBeenCalledWith(
|
|
61
|
+
new Error("test error"),
|
|
62
|
+
"testFalse"
|
|
63
|
+
);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("should confirm user will allow 'once' error reporting usage", async () => {
|
|
67
|
+
jest.spyOn(prompts, "prompt").mockResolvedValue({ sentryDecision: "once" });
|
|
68
|
+
await runWrangler();
|
|
69
|
+
await reportError(new Error("test error"), "testFalse");
|
|
70
|
+
|
|
71
|
+
expect(fs.existsSync(path.join(os.homedir(), reportingTOMLPath))).toBe(
|
|
72
|
+
false
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
expect(Sentry.captureException).not.toHaveBeenCalledWith(
|
|
76
|
+
new Error("test error"),
|
|
77
|
+
"testFalse"
|
|
78
|
+
);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("should not prompt w/ subsequent Errors after user disallows error reporting", async () => {
|
|
82
|
+
jest.spyOn(prompts, "prompt").mockResolvedValue({ sentryDecision: false });
|
|
83
|
+
await reportError(new Error("test error"), "testFalse");
|
|
84
|
+
|
|
85
|
+
expect(Sentry.captureException).not.toHaveBeenCalledWith(
|
|
86
|
+
new Error("test error"),
|
|
87
|
+
"testFalse"
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
await reportError(new Error("second test error"), "testFalse");
|
|
91
|
+
expect(Sentry.captureException).not.toHaveBeenCalledWith(
|
|
92
|
+
new Error("second test error"),
|
|
93
|
+
"testFalse"
|
|
94
|
+
);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it("should not prompt w/ subsequent Errors after user Always allows error reporting", async () => {
|
|
98
|
+
jest.spyOn(prompts, "prompt").mockResolvedValue({ sentryDecision: true });
|
|
99
|
+
await reportError(new Error("test error"), "testFalse");
|
|
100
|
+
|
|
101
|
+
expect(Sentry.captureException).toHaveBeenCalledWith(
|
|
102
|
+
new Error("test error")
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
await reportError(new Error("second test error"), "testFalse");
|
|
106
|
+
expect(Sentry.captureException).toHaveBeenCalledWith(
|
|
107
|
+
new Error("second test error")
|
|
108
|
+
);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it("should prompt w/ subsequent Errors after user allows error reporting once", async () => {
|
|
112
|
+
const promptSpy = jest
|
|
113
|
+
.spyOn(prompts, "prompt")
|
|
114
|
+
.mockResolvedValue({ sentryDecision: "once" });
|
|
115
|
+
await reportError(new Error("test error"), "testFalse");
|
|
116
|
+
|
|
117
|
+
expect(Sentry.captureException).toHaveBeenCalledWith(
|
|
118
|
+
new Error("test error")
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
await reportError(new Error("second test error"), "testFalse");
|
|
122
|
+
expect(Sentry.captureException).toHaveBeenCalledWith(
|
|
123
|
+
new Error("second test error")
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
expect(promptSpy).toBeCalledTimes(2);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it("should not prompt in non-TTY environment", async () => {
|
|
130
|
+
process.stdout.isTTY = false;
|
|
131
|
+
|
|
132
|
+
await reportError(new Error("test error"), "testFalse");
|
|
133
|
+
|
|
134
|
+
const { error_tracking_opt, error_tracking_opt_date } = TOML.parse(
|
|
135
|
+
await fsp.readFile(path.join(os.homedir(), reportingTOMLPath), "utf-8")
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
expect(error_tracking_opt).toBe(false);
|
|
139
|
+
expect(error_tracking_opt_date).toBeTruthy();
|
|
140
|
+
|
|
141
|
+
expect(Sentry.captureException).not.toHaveBeenCalledWith(
|
|
142
|
+
new Error("test error")
|
|
143
|
+
);
|
|
144
|
+
process.stdout.isTTY = originalTTY;
|
|
145
|
+
});
|
|
146
|
+
});
|