wrangler 0.0.0-e9ab55a → 0.0.0-ea7ee45

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.
Files changed (197) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +33 -14
  3. package/bin/wrangler.js +123 -25
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +4893 -0
  6. package/package.json +156 -125
  7. package/src/__tests__/config-cache.test.ts +36 -0
  8. package/src/__tests__/configuration.test.ts +3829 -0
  9. package/src/__tests__/dev.test.tsx +1155 -63
  10. package/src/__tests__/guess-worker-format.test.ts +85 -0
  11. package/src/__tests__/{clipboardy-mock.js → helpers/clipboardy-mock.js} +0 -0
  12. package/src/__tests__/helpers/cmd-shim.d.ts +11 -0
  13. package/src/__tests__/helpers/faye-websocket.d.ts +6 -0
  14. package/src/__tests__/helpers/mock-account-id.ts +48 -0
  15. package/src/__tests__/helpers/mock-bin.ts +36 -0
  16. package/src/__tests__/helpers/mock-cfetch.ts +211 -0
  17. package/src/__tests__/helpers/mock-console.ts +97 -0
  18. package/src/__tests__/helpers/mock-dialogs.ts +153 -0
  19. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  20. package/src/__tests__/helpers/mock-istty.ts +74 -0
  21. package/src/__tests__/helpers/mock-kv.ts +33 -0
  22. package/src/__tests__/helpers/mock-oauth-flow.ts +250 -0
  23. package/src/__tests__/helpers/mock-process.ts +39 -0
  24. package/src/__tests__/helpers/mock-stdin.ts +108 -0
  25. package/src/__tests__/helpers/mock-web-socket.ts +29 -0
  26. package/src/__tests__/helpers/run-in-tmp.ts +39 -0
  27. package/src/__tests__/helpers/run-wrangler.ts +16 -0
  28. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  29. package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
  30. package/src/__tests__/https-options.test.ts +130 -0
  31. package/src/__tests__/index.test.ts +259 -284
  32. package/src/__tests__/init.test.ts +1992 -0
  33. package/src/__tests__/jest.setup.ts +95 -10
  34. package/src/__tests__/kv.test.ts +1402 -909
  35. package/src/__tests__/logger.test.ts +141 -0
  36. package/src/__tests__/package-manager.test.ts +353 -0
  37. package/src/__tests__/pages.test.ts +1254 -0
  38. package/src/__tests__/parse.test.ts +330 -0
  39. package/src/__tests__/publish.test.ts +6504 -93
  40. package/src/__tests__/pubsub.test.ts +276 -0
  41. package/src/__tests__/r2.test.ts +233 -0
  42. package/src/__tests__/route.test.ts +45 -0
  43. package/src/__tests__/secret.test.ts +486 -0
  44. package/src/__tests__/tail.test.ts +690 -0
  45. package/src/__tests__/user.test.ts +143 -0
  46. package/src/__tests__/whoami.test.tsx +220 -0
  47. package/src/__tests__/worker-namespace.test.ts +327 -0
  48. package/src/abort.d.ts +3 -0
  49. package/src/api/dev.ts +39 -0
  50. package/src/api/index.ts +1 -0
  51. package/src/bundle-reporter.tsx +29 -0
  52. package/src/bundle.ts +212 -0
  53. package/src/cfetch/index.ts +88 -69
  54. package/src/cfetch/internal.ts +124 -44
  55. package/src/cli.ts +24 -6
  56. package/src/config/README.md +107 -0
  57. package/src/config/config.ts +243 -0
  58. package/src/config/diagnostics.ts +80 -0
  59. package/src/config/environment.ts +430 -0
  60. package/src/config/index.ts +225 -0
  61. package/src/config/validation-helpers.ts +584 -0
  62. package/src/config/validation.ts +1693 -0
  63. package/src/config-cache.ts +44 -0
  64. package/src/create-worker-preview.ts +255 -0
  65. package/src/create-worker-upload-form.ts +254 -0
  66. package/src/dev/dev-vars.ts +36 -0
  67. package/src/dev/dev.tsx +417 -0
  68. package/src/dev/local.tsx +350 -0
  69. package/src/dev/remote.tsx +367 -0
  70. package/src/dev/use-esbuild.ts +150 -0
  71. package/src/dev.tsx +515 -773
  72. package/src/dialogs.tsx +117 -59
  73. package/src/durable.ts +102 -0
  74. package/src/entry.ts +328 -0
  75. package/src/environment-variables.ts +35 -0
  76. package/src/errors.ts +11 -0
  77. package/src/generate.ts +33 -0
  78. package/src/git-client.ts +42 -0
  79. package/src/https-options.ts +123 -0
  80. package/src/index.tsx +1844 -1901
  81. package/src/init.ts +549 -0
  82. package/src/inspect.ts +615 -496
  83. package/src/intl-polyfill.d.ts +139 -0
  84. package/src/kv.ts +408 -0
  85. package/src/logger.ts +73 -0
  86. package/src/miniflare-cli/README.md +30 -0
  87. package/src/miniflare-cli/enum-keys.ts +17 -0
  88. package/src/miniflare-cli/index.ts +52 -0
  89. package/src/miniflare-cli/request-context.ts +40 -0
  90. package/src/module-collection.ts +247 -53
  91. package/src/open-in-browser.ts +17 -0
  92. package/src/package-manager.ts +174 -0
  93. package/src/pages/build.tsx +202 -0
  94. package/src/pages/constants.ts +7 -0
  95. package/src/pages/deployments.tsx +101 -0
  96. package/src/pages/dev.tsx +964 -0
  97. package/src/pages/functions/buildPlugin.ts +105 -0
  98. package/src/pages/functions/buildWorker.ts +151 -0
  99. package/src/pages/functions/filepath-routing.test.ts +234 -0
  100. package/src/pages/functions/filepath-routing.ts +189 -0
  101. package/src/pages/functions/identifiers.ts +78 -0
  102. package/src/pages/functions/routes.ts +151 -0
  103. package/src/pages/index.tsx +84 -0
  104. package/src/pages/projects.tsx +157 -0
  105. package/src/pages/publish.tsx +335 -0
  106. package/src/pages/types.ts +40 -0
  107. package/src/pages/upload.tsx +384 -0
  108. package/src/pages/utils.ts +12 -0
  109. package/src/parse.ts +286 -0
  110. package/src/paths.ts +26 -0
  111. package/src/preview.ts +31 -0
  112. package/src/proxy.ts +428 -254
  113. package/src/publish.ts +750 -366
  114. package/src/pubsub/index.ts +286 -0
  115. package/src/pubsub/pubsub-commands.tsx +594 -0
  116. package/src/r2.ts +50 -0
  117. package/src/selfsigned.d.ts +29 -0
  118. package/src/sites.tsx +357 -103
  119. package/src/tail/filters.ts +279 -0
  120. package/src/tail/index.ts +299 -0
  121. package/src/tail/printing.ts +67 -0
  122. package/src/update-check.ts +19 -0
  123. package/src/user/choose-account.tsx +60 -0
  124. package/src/user/env-vars.ts +46 -0
  125. package/src/user/generate-auth-url.ts +33 -0
  126. package/src/user/generate-random-state.ts +16 -0
  127. package/src/user/index.ts +3 -0
  128. package/src/user/user.tsx +1130 -0
  129. package/src/whoami.tsx +90 -0
  130. package/src/worker-namespace.ts +190 -0
  131. package/src/worker.ts +185 -0
  132. package/src/zones.ts +76 -0
  133. package/templates/checked-fetch.js +17 -0
  134. package/templates/gitignore +171 -0
  135. package/templates/new-worker-scheduled.js +17 -0
  136. package/templates/new-worker-scheduled.ts +32 -0
  137. package/templates/new-worker.js +15 -0
  138. package/templates/new-worker.ts +30 -0
  139. package/templates/no-op-worker.js +10 -0
  140. package/templates/pages-template-plugin.ts +155 -0
  141. package/templates/pages-template-worker.ts +161 -0
  142. package/templates/static-asset-facade.js +43 -0
  143. package/templates/tsconfig.json +105 -0
  144. package/wrangler-dist/cli.js +107117 -103435
  145. package/pages/functions/buildWorker.ts +0 -62
  146. package/pages/functions/filepath-routing.test.ts +0 -39
  147. package/pages/functions/filepath-routing.ts +0 -228
  148. package/pages/functions/identifiers.ts +0 -78
  149. package/pages/functions/routes.ts +0 -158
  150. package/pages/functions/template-worker.ts +0 -136
  151. package/src/__tests__/mock-cfetch.ts +0 -171
  152. package/src/__tests__/mock-dialogs.ts +0 -65
  153. package/src/__tests__/run-in-tmp.ts +0 -19
  154. package/src/__tests__/run-wrangler.ts +0 -32
  155. package/src/api/form_data.ts +0 -131
  156. package/src/api/preview.ts +0 -128
  157. package/src/api/worker.ts +0 -155
  158. package/src/config.ts +0 -646
  159. package/src/kv.tsx +0 -276
  160. package/src/pages.tsx +0 -1040
  161. package/src/tail.tsx +0 -73
  162. package/src/user.tsx +0 -1027
  163. package/static-asset-facade.js +0 -47
  164. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  165. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  166. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  167. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  168. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  169. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  170. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  171. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  172. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  173. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  174. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  175. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  176. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  177. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  178. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  179. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  180. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  181. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  182. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  183. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  184. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  185. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  186. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  187. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  188. package/vendor/wrangler-mime/LICENSE +0 -21
  189. package/vendor/wrangler-mime/Mime.js +0 -97
  190. package/vendor/wrangler-mime/README.md +0 -187
  191. package/vendor/wrangler-mime/cli.js +0 -46
  192. package/vendor/wrangler-mime/index.js +0 -4
  193. package/vendor/wrangler-mime/lite.js +0 -4
  194. package/vendor/wrangler-mime/package.json +0 -52
  195. package/vendor/wrangler-mime/types/other.js +0 -1
  196. package/vendor/wrangler-mime/types/standard.js +0 -1
  197. package/wrangler-dist/cli.js.map +0 -7
@@ -0,0 +1,130 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import { resolve } from "node:path";
4
+ import { getHttpsOptions } from "../https-options";
5
+ import { mockConsoleMethods } from "./helpers/mock-console";
6
+ import { runInTempDir } from "./helpers/run-in-tmp";
7
+
8
+ describe("getHttpsOptions()", () => {
9
+ runInTempDir({ homedir: "./home" });
10
+ const std = mockConsoleMethods();
11
+
12
+ it("should use cached values if they have not expired", async () => {
13
+ fs.mkdirSync(resolve(os.homedir(), ".wrangler/local-cert"), {
14
+ recursive: true,
15
+ });
16
+ fs.writeFileSync(
17
+ resolve(os.homedir(), ".wrangler/local-cert/key.pem"),
18
+ "PRIVATE KEY"
19
+ );
20
+ fs.writeFileSync(
21
+ resolve(os.homedir(), ".wrangler/local-cert/cert.pem"),
22
+ "PUBLIC KEY"
23
+ );
24
+ const result = await getHttpsOptions();
25
+ expect(result.key).toEqual("PRIVATE KEY");
26
+ expect(result.cert).toEqual("PUBLIC KEY");
27
+ expect(std.out).toMatchInlineSnapshot(`""`);
28
+ expect(std.warn).toMatchInlineSnapshot(`""`);
29
+ expect(std.err).toMatchInlineSnapshot(`""`);
30
+ });
31
+
32
+ it("should generate and cache new keys if none are cached", async () => {
33
+ const result = await getHttpsOptions();
34
+ const key = fs.readFileSync(
35
+ resolve(os.homedir(), ".wrangler/local-cert/key.pem"),
36
+ "utf8"
37
+ );
38
+ const cert = fs.readFileSync(
39
+ resolve(os.homedir(), ".wrangler/local-cert/cert.pem"),
40
+ "utf8"
41
+ );
42
+ expect(result.key).toEqual(key);
43
+ expect(result.cert).toEqual(cert);
44
+ expect(std.out).toMatchInlineSnapshot(
45
+ `"Generating new self-signed certificate..."`
46
+ );
47
+ expect(std.warn).toMatchInlineSnapshot(`""`);
48
+ expect(std.err).toMatchInlineSnapshot(`""`);
49
+ });
50
+
51
+ it("should generate and cache new keys if cached files have expired", async () => {
52
+ fs.mkdirSync(resolve(os.homedir(), ".wrangler/local-cert"), {
53
+ recursive: true,
54
+ });
55
+ const ORIGINAL_KEY = "EXPIRED PRIVATE KEY";
56
+ const ORIGINAL_CERT = "EXPIRED PUBLIC KEY";
57
+ fs.writeFileSync(
58
+ resolve(os.homedir(), ".wrangler/local-cert/key.pem"),
59
+ ORIGINAL_KEY
60
+ );
61
+ fs.writeFileSync(
62
+ resolve(os.homedir(), ".wrangler/local-cert/cert.pem"),
63
+ ORIGINAL_CERT
64
+ );
65
+ mockStatSync(/\.pem$/, { mtimeMs: new Date(2000).valueOf() });
66
+
67
+ const result = await getHttpsOptions();
68
+ const key = fs.readFileSync(
69
+ resolve(os.homedir(), ".wrangler/local-cert/key.pem"),
70
+ "utf8"
71
+ );
72
+ const cert = fs.readFileSync(
73
+ resolve(os.homedir(), ".wrangler/local-cert/cert.pem"),
74
+ "utf8"
75
+ );
76
+ expect(key).not.toEqual(ORIGINAL_KEY);
77
+ expect(cert).not.toEqual(ORIGINAL_CERT);
78
+ expect(result.key).toEqual(key);
79
+ expect(result.cert).toEqual(cert);
80
+ expect(std.out).toMatchInlineSnapshot(
81
+ `"Generating new self-signed certificate..."`
82
+ );
83
+ expect(std.warn).toMatchInlineSnapshot(`""`);
84
+ expect(std.err).toMatchInlineSnapshot(`""`);
85
+ });
86
+
87
+ it("should warn if not able to write to the cache", async () => {
88
+ mockWriteFileSyncThrow(/\.pem$/);
89
+ await getHttpsOptions();
90
+ expect(
91
+ fs.existsSync(resolve(os.homedir(), ".wrangler/local-cert/key.pem"))
92
+ ).toBe(false);
93
+ expect(
94
+ fs.existsSync(resolve(os.homedir(), ".wrangler/local-cert/cert.pem"))
95
+ ).toBe(false);
96
+ expect(std.out).toMatchInlineSnapshot(
97
+ `"Generating new self-signed certificate..."`
98
+ );
99
+ expect(std.warn).toMatchInlineSnapshot(`
100
+ "▲ [WARNING] Unable to cache generated self-signed certificate in home/.wrangler/local-cert.
101
+
102
+ ERROR: Cannot write file
103
+
104
+ "
105
+ `);
106
+ expect(std.err).toMatchInlineSnapshot(`""`);
107
+ });
108
+ });
109
+
110
+ function mockStatSync(matcher: RegExp, stats: Partial<fs.Stats>) {
111
+ const originalStatSync = jest.requireActual("node:fs").statSync;
112
+ jest.spyOn(fs, "statSync").mockImplementation((statPath, options) => {
113
+ return matcher.test(statPath.toString())
114
+ ? (stats as fs.Stats)
115
+ : originalStatSync(statPath, options);
116
+ });
117
+ }
118
+
119
+ function mockWriteFileSyncThrow(matcher: RegExp) {
120
+ const originalWriteFileSync = jest.requireActual("node:fs").writeFileSync;
121
+ jest
122
+ .spyOn(fs, "writeFileSync")
123
+ .mockImplementation((filePath, data, options) => {
124
+ if (matcher.test(filePath.toString())) {
125
+ throw new Error("ERROR: Cannot write file");
126
+ } else {
127
+ return originalWriteFileSync(filePath, data, options);
128
+ }
129
+ });
130
+ }