wrangler 0.0.0-e2f9bb2 → 0.0.0-e305903a

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 (258) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +30 -4
  3. package/bin/wrangler.js +154 -34
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +1437 -21
  6. package/package.json +185 -148
  7. package/src/__tests__/api-dev.test.ts +209 -0
  8. package/src/__tests__/api-devregistry.test.js +56 -0
  9. package/src/__tests__/api.test.ts +80 -0
  10. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  11. package/src/__tests__/config-cache.test.ts +30 -24
  12. package/src/__tests__/configuration.test.ts +4121 -3114
  13. package/src/__tests__/dev.test.tsx +1331 -738
  14. package/src/__tests__/dialogs.test.tsx +40 -0
  15. package/src/__tests__/generate.test.ts +91 -0
  16. package/src/__tests__/guess-worker-format.test.ts +68 -68
  17. package/src/__tests__/helpers/cmd-shim.d.ts +6 -6
  18. package/src/__tests__/helpers/mock-account-id.ts +24 -24
  19. package/src/__tests__/helpers/mock-bin.ts +20 -20
  20. package/src/__tests__/helpers/mock-cfetch.ts +199 -94
  21. package/src/__tests__/helpers/mock-console.ts +58 -39
  22. package/src/__tests__/helpers/mock-dialogs.ts +115 -51
  23. package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -0
  24. package/src/__tests__/helpers/mock-http-server.ts +30 -30
  25. package/src/__tests__/helpers/mock-istty.ts +65 -18
  26. package/src/__tests__/helpers/mock-known-routes.ts +7 -0
  27. package/src/__tests__/helpers/mock-kv.ts +26 -26
  28. package/src/__tests__/helpers/mock-oauth-flow.ts +225 -228
  29. package/src/__tests__/helpers/mock-process.ts +39 -0
  30. package/src/__tests__/helpers/mock-stdin.ts +82 -77
  31. package/src/__tests__/helpers/mock-web-socket.ts +21 -21
  32. package/src/__tests__/helpers/msw/handlers/index.ts +13 -0
  33. package/src/__tests__/helpers/msw/handlers/namespaces.ts +104 -0
  34. package/src/__tests__/helpers/msw/handlers/oauth.ts +36 -0
  35. package/src/__tests__/helpers/msw/handlers/r2.ts +80 -0
  36. package/src/__tests__/helpers/msw/handlers/user.ts +63 -0
  37. package/src/__tests__/helpers/msw/index.ts +4 -0
  38. package/src/__tests__/helpers/run-in-tmp.ts +27 -28
  39. package/src/__tests__/helpers/run-wrangler.ts +8 -8
  40. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +1 -0
  41. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +5 -0
  42. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +1 -0
  43. package/src/__tests__/helpers/worker-scripts/parent-worker.js +8 -0
  44. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +5 -0
  45. package/src/__tests__/helpers/write-worker-source.ts +16 -16
  46. package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
  47. package/src/__tests__/https-options.test.ts +142 -109
  48. package/src/__tests__/index.test.ts +231 -231
  49. package/src/__tests__/init.test.ts +2689 -1014
  50. package/src/__tests__/jest.setup.ts +147 -30
  51. package/src/__tests__/kv.test.ts +1311 -1094
  52. package/src/__tests__/logger.test.ts +100 -74
  53. package/src/__tests__/metrics.test.ts +450 -0
  54. package/src/__tests__/middleware.scheduled.test.ts +135 -0
  55. package/src/__tests__/middleware.test.ts +726 -0
  56. package/src/__tests__/package-manager.test.ts +312 -165
  57. package/src/__tests__/pages.test.ts +1988 -322
  58. package/src/__tests__/parse.test.ts +253 -245
  59. package/src/__tests__/paths.test.ts +39 -0
  60. package/src/__tests__/publish.test.ts +6955 -4743
  61. package/src/__tests__/pubsub.test.ts +367 -0
  62. package/src/__tests__/r2.test.ts +363 -206
  63. package/src/__tests__/route.test.ts +18 -18
  64. package/src/__tests__/secret.test.ts +624 -426
  65. package/src/__tests__/tail.test.ts +650 -565
  66. package/src/__tests__/test-old-node-version.js +31 -0
  67. package/src/__tests__/user.test.ts +140 -116
  68. package/src/__tests__/validate-dev-props.test.ts +56 -0
  69. package/src/__tests__/version.test.ts +35 -0
  70. package/src/__tests__/whoami.test.tsx +259 -91
  71. package/src/__tests__/worker-namespace.test.ts +319 -0
  72. package/src/abort.d.ts +3 -0
  73. package/src/api/dev.ts +206 -0
  74. package/src/api/index.ts +2 -0
  75. package/src/bundle-reporter.tsx +29 -0
  76. package/src/bundle.ts +721 -134
  77. package/src/cfetch/index.ts +83 -66
  78. package/src/cfetch/internal.ts +267 -90
  79. package/src/cli.ts +23 -7
  80. package/src/config/config.ts +236 -195
  81. package/src/config/diagnostics.ts +61 -61
  82. package/src/config/environment.ts +450 -339
  83. package/src/config/index.ts +258 -38
  84. package/src/config/validation-helpers.ts +379 -357
  85. package/src/config/validation.ts +1769 -1263
  86. package/src/config-cache.ts +81 -41
  87. package/src/create-worker-preview.ts +232 -132
  88. package/src/create-worker-upload-form.ts +285 -224
  89. package/src/d1/backups.tsx +212 -0
  90. package/src/d1/create.tsx +54 -0
  91. package/src/d1/delete.tsx +56 -0
  92. package/src/d1/execute.tsx +294 -0
  93. package/src/d1/formatTimeAgo.ts +14 -0
  94. package/src/d1/index.ts +75 -0
  95. package/src/d1/list.tsx +48 -0
  96. package/src/d1/options.ts +12 -0
  97. package/src/d1/types.tsx +14 -0
  98. package/src/d1/utils.ts +39 -0
  99. package/src/dev/dev-vars.ts +13 -13
  100. package/src/dev/dev.tsx +500 -353
  101. package/src/dev/get-local-persistence-path.tsx +31 -0
  102. package/src/dev/local.tsx +628 -290
  103. package/src/dev/remote.tsx +397 -197
  104. package/src/dev/start-server.ts +443 -0
  105. package/src/dev/use-esbuild.ts +173 -94
  106. package/src/dev/validate-dev-props.ts +31 -0
  107. package/src/dev-registry.tsx +190 -0
  108. package/src/dev.tsx +869 -0
  109. package/src/dialogs.tsx +134 -63
  110. package/src/dispatch-namespace.ts +206 -0
  111. package/src/durable.ts +102 -0
  112. package/src/entry.ts +248 -186
  113. package/src/environment-variables.ts +38 -23
  114. package/src/errors.ts +6 -6
  115. package/src/faye-websocket.d.ts +6 -0
  116. package/src/generate.ts +131 -0
  117. package/src/git-client.ts +42 -0
  118. package/src/global-wrangler-config-path.ts +26 -0
  119. package/src/https-options.ts +84 -80
  120. package/src/index.tsx +2288 -2534
  121. package/src/init.ts +967 -0
  122. package/src/inspect.ts +686 -562
  123. package/src/intl-polyfill.d.ts +123 -123
  124. package/src/is-ci.ts +14 -0
  125. package/src/is-interactive.ts +12 -0
  126. package/src/kv.ts +353 -242
  127. package/src/logger.ts +53 -39
  128. package/src/metrics/index.ts +5 -0
  129. package/src/metrics/metrics-config.ts +239 -0
  130. package/src/metrics/metrics-dispatcher.ts +96 -0
  131. package/src/metrics/metrics-usage-headers.ts +24 -0
  132. package/src/metrics/send-event.ts +93 -0
  133. package/src/miniflare-cli/assets.ts +215 -0
  134. package/src/miniflare-cli/index.ts +200 -33
  135. package/src/miniflare-cli/request-context.ts +18 -18
  136. package/src/module-collection.ts +212 -212
  137. package/src/open-in-browser.ts +5 -14
  138. package/src/package-manager.ts +182 -90
  139. package/src/pages/build.tsx +238 -0
  140. package/src/pages/constants.ts +16 -0
  141. package/src/pages/deployments.tsx +106 -0
  142. package/src/pages/dev.tsx +684 -0
  143. package/src/pages/errors.ts +66 -0
  144. package/src/pages/functions/buildPlugin.ts +110 -0
  145. package/src/pages/functions/buildWorker.ts +156 -0
  146. package/{pages → src/pages}/functions/filepath-routing.test.ts +113 -113
  147. package/src/pages/functions/filepath-routing.ts +189 -0
  148. package/src/pages/functions/identifiers.ts +78 -0
  149. package/src/pages/functions/routes-consolidation.test.ts +250 -0
  150. package/src/pages/functions/routes-consolidation.ts +73 -0
  151. package/src/pages/functions/routes-transformation.test.ts +282 -0
  152. package/src/pages/functions/routes-transformation.ts +115 -0
  153. package/src/pages/functions/routes-validation.test.ts +403 -0
  154. package/src/pages/functions/routes-validation.ts +202 -0
  155. package/src/pages/functions/routes.ts +151 -0
  156. package/src/pages/functions.tsx +82 -0
  157. package/src/pages/hash.tsx +13 -0
  158. package/src/pages/index.tsx +94 -0
  159. package/src/pages/projects.tsx +169 -0
  160. package/src/pages/publish.tsx +419 -0
  161. package/src/pages/types.ts +49 -0
  162. package/src/pages/upload.tsx +398 -0
  163. package/src/pages/utils.ts +12 -0
  164. package/src/parse.ts +223 -120
  165. package/src/paths.ts +53 -8
  166. package/src/preview.ts +31 -0
  167. package/src/proxy.ts +435 -383
  168. package/src/publish.ts +837 -441
  169. package/src/pubsub/index.ts +286 -0
  170. package/src/pubsub/pubsub-commands.tsx +623 -0
  171. package/src/r2.ts +100 -19
  172. package/src/selfsigned.d.ts +23 -23
  173. package/src/sites.tsx +279 -200
  174. package/src/tail/filters.ts +108 -110
  175. package/src/tail/index.ts +234 -218
  176. package/src/tail/printing.ts +86 -46
  177. package/src/update-check.ts +11 -11
  178. package/src/user/choose-account.tsx +69 -0
  179. package/src/user/env-vars.ts +46 -0
  180. package/src/user/generate-auth-url.ts +33 -0
  181. package/src/user/generate-random-state.ts +16 -0
  182. package/src/user/index.ts +3 -0
  183. package/src/user/user.tsx +1192 -0
  184. package/src/whoami.tsx +141 -42
  185. package/src/worker.ts +163 -101
  186. package/src/zones.ts +167 -0
  187. package/templates/checked-fetch.js +17 -0
  188. package/templates/d1-beta-facade.js +174 -0
  189. package/templates/experimental-local-cache-stubs.js +27 -0
  190. package/templates/first-party-worker-module-facade.ts +18 -0
  191. package/templates/format-dev-errors.ts +32 -0
  192. package/templates/init-tests/test-jest-new-worker.js +25 -0
  193. package/templates/init-tests/test-vitest-new-worker.js +26 -0
  194. package/templates/middleware/common.ts +62 -0
  195. package/templates/middleware/loader-modules.ts +84 -0
  196. package/templates/middleware/loader-sw.ts +213 -0
  197. package/templates/middleware/middleware-pretty-error.ts +40 -0
  198. package/templates/middleware/middleware-scheduled.ts +15 -0
  199. package/templates/new-worker-scheduled.js +17 -0
  200. package/templates/new-worker-scheduled.ts +32 -0
  201. package/templates/new-worker.js +3 -3
  202. package/templates/new-worker.ts +18 -3
  203. package/templates/no-op-worker.js +10 -0
  204. package/templates/pages-dev-pipeline.ts +35 -0
  205. package/templates/pages-shim.ts +9 -0
  206. package/templates/pages-template-plugin.ts +167 -0
  207. package/templates/pages-template-worker.ts +172 -0
  208. package/templates/serve-static-assets.ts +63 -0
  209. package/templates/service-bindings-module-facade.js +54 -0
  210. package/templates/service-bindings-sw-facade.js +42 -0
  211. package/templates/tsconfig.json +95 -95
  212. package/wrangler-dist/cli.d.ts +841 -0
  213. package/wrangler-dist/cli.js +120834 -70331
  214. package/pages/functions/buildPlugin.ts +0 -92
  215. package/pages/functions/buildWorker.ts +0 -138
  216. package/pages/functions/filepath-routing.ts +0 -189
  217. package/pages/functions/identifiers.ts +0 -78
  218. package/pages/functions/routes.ts +0 -156
  219. package/pages/functions/template-plugin.ts +0 -146
  220. package/pages/functions/template-worker.ts +0 -143
  221. package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
  222. package/src/miniflare-cli/enum-keys.ts +0 -17
  223. package/src/pages.tsx +0 -1866
  224. package/src/user.tsx +0 -1193
  225. package/templates/static-asset-facade.js +0 -47
  226. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  227. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  228. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  229. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  230. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  231. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  232. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  233. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  234. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  235. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  236. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  237. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  238. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  239. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  240. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  241. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  242. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  243. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  244. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  245. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  246. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  247. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  248. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  249. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  250. package/vendor/wrangler-mime/LICENSE +0 -21
  251. package/vendor/wrangler-mime/Mime.js +0 -97
  252. package/vendor/wrangler-mime/README.md +0 -187
  253. package/vendor/wrangler-mime/cli.js +0 -46
  254. package/vendor/wrangler-mime/index.js +0 -4
  255. package/vendor/wrangler-mime/lite.js +0 -4
  256. package/vendor/wrangler-mime/package.json +0 -52
  257. package/vendor/wrangler-mime/types/other.js +0 -1
  258. package/vendor/wrangler-mime/types/standard.js +0 -1
@@ -0,0 +1,80 @@
1
+ import { Request } from "undici";
2
+ import { parseRequestInput } from "../api/dev";
3
+
4
+ describe("parseRequestInput for fetch on unstable dev", () => {
5
+ it("should allow no input to be passed in", () => {
6
+ const [input, _] = parseRequestInput("0.0.0.0", 8080);
7
+
8
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080"`);
9
+ });
10
+
11
+ it("should allow string of pathname to be passed in", () => {
12
+ const [input, _] = parseRequestInput("0.0.0.0", 8080, "/test");
13
+
14
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080/test"`);
15
+ });
16
+
17
+ it("should allow full url to be passed in as string and stripped", () => {
18
+ const [input, _] = parseRequestInput(
19
+ "0.0.0.0",
20
+ 8080,
21
+ "http://cloudflare.com/test"
22
+ );
23
+
24
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080/test"`);
25
+ });
26
+
27
+ it("should allow URL object without pathname to be passed in and stripped", () => {
28
+ const [input, _] = parseRequestInput(
29
+ "0.0.0.0",
30
+ 8080,
31
+ new URL("http://cloudflare.com")
32
+ );
33
+
34
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080/"`);
35
+ });
36
+
37
+ it("should allow URL object with pathname to be passed in and stripped", () => {
38
+ const [input, _] = parseRequestInput(
39
+ "0.0.0.0",
40
+ 8080,
41
+ new URL("http://cloudflare.com/test")
42
+ );
43
+
44
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080/test"`);
45
+ });
46
+
47
+ it("should allow request object to be passed in", () => {
48
+ const [input, init] = parseRequestInput(
49
+ "0.0.0.0",
50
+ 8080,
51
+ new Request("http://cloudflare.com/test", { method: "POST" })
52
+ );
53
+
54
+ expect(init).toBeUndefined();
55
+ expect(input).toBeInstanceOf(Request);
56
+ // We don't expect the request to be modified
57
+ expect((input as Request).url).toMatchInlineSnapshot(
58
+ `"http://cloudflare.com/test"`
59
+ );
60
+ expect((input as Request).method).toMatchInlineSnapshot(`"POST"`);
61
+ });
62
+
63
+ it("should parse to give https url with localProtocol = https", () => {
64
+ const [input, _] = parseRequestInput("0.0.0.0", 8080, "/test", {}, "https");
65
+
66
+ expect(input).toMatchInlineSnapshot(`"https://0.0.0.0:8080/test"`);
67
+ });
68
+
69
+ it("should parse to give http url with localProtocol = http", () => {
70
+ const [input, _] = parseRequestInput("0.0.0.0", 8080, "/test", {}, "http");
71
+
72
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080/test"`);
73
+ });
74
+
75
+ it("should parse to give http url with localProtocol not set", () => {
76
+ const [input, _] = parseRequestInput("0.0.0.0", 8080, "/test", {});
77
+
78
+ expect(input).toMatchInlineSnapshot(`"http://0.0.0.0:8080/test"`);
79
+ });
80
+ });
@@ -0,0 +1,38 @@
1
+ import { getConfigCache, saveToConfigCache } from "../config-cache";
2
+ import { mockConsoleMethods } from "./helpers/mock-console";
3
+ import { runInTempDir } from "./helpers/run-in-tmp";
4
+
5
+ interface PagesConfigCache {
6
+ account_id: string;
7
+ pages_project_name: string;
8
+ }
9
+
10
+ describe("config cache", () => {
11
+ runInTempDir();
12
+ mockConsoleMethods();
13
+ // In this set of tests, we don't create a node_modules folder
14
+ const pagesConfigCacheFilename = "pages-config-cache.json";
15
+
16
+ it("should return an empty config if no file exists", () => {
17
+ expect(
18
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)
19
+ ).toMatchInlineSnapshot(`Object {}`);
20
+ });
21
+
22
+ it("should ignore attempts to cache values ", () => {
23
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
24
+ account_id: "some-account-id",
25
+ pages_project_name: "foo",
26
+ });
27
+ expect(getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)).toEqual(
28
+ {}
29
+ );
30
+
31
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
32
+ pages_project_name: "bar",
33
+ });
34
+ expect(getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)).toEqual(
35
+ {}
36
+ );
37
+ });
38
+ });
@@ -1,36 +1,42 @@
1
+ import { mkdirSync } from "node:fs";
1
2
  import { getConfigCache, saveToConfigCache } from "../config-cache";
3
+ import { mockConsoleMethods } from "./helpers/mock-console";
2
4
  import { runInTempDir } from "./helpers/run-in-tmp";
3
5
 
4
6
  interface PagesConfigCache {
5
- account_id: string;
6
- pages_project_name: string;
7
+ account_id: string;
8
+ pages_project_name: string;
7
9
  }
8
10
 
9
11
  describe("config cache", () => {
10
- runInTempDir();
12
+ runInTempDir();
13
+ mockConsoleMethods();
14
+ beforeEach(() => {
15
+ mkdirSync("node_modules");
16
+ });
11
17
 
12
- const pagesConfigCacheFilename = "pages-config-cache.json";
18
+ const pagesConfigCacheFilename = "pages-config-cache.json";
13
19
 
14
- it("should return an empty config if no file exists", () => {
15
- expect(
16
- getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)
17
- ).toMatchInlineSnapshot(`Object {}`);
18
- });
20
+ it("should return an empty config if no file exists", () => {
21
+ expect(
22
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)
23
+ ).toMatchInlineSnapshot(`Object {}`);
24
+ });
19
25
 
20
- it("should read and write values without overriding old ones", () => {
21
- saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
22
- account_id: "some-account-id",
23
- pages_project_name: "foo",
24
- });
25
- expect(
26
- getConfigCache<PagesConfigCache>(pagesConfigCacheFilename).account_id
27
- ).toEqual("some-account-id");
26
+ it("should read and write values without overriding old ones", () => {
27
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
28
+ account_id: "some-account-id",
29
+ pages_project_name: "foo",
30
+ });
31
+ expect(
32
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename).account_id
33
+ ).toEqual("some-account-id");
28
34
 
29
- saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
30
- pages_project_name: "bar",
31
- });
32
- expect(
33
- getConfigCache<PagesConfigCache>(pagesConfigCacheFilename).account_id
34
- ).toEqual("some-account-id");
35
- });
35
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
36
+ pages_project_name: "bar",
37
+ });
38
+ expect(
39
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename).account_id
40
+ ).toEqual("some-account-id");
41
+ });
36
42
  });