wrangler 0.0.0-e7cf0caa → 0.0.0-e7fce2523

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 (317) hide show
  1. package/README.md +33 -43
  2. package/bin/wrangler.js +16 -111
  3. package/config-schema.json +2431 -0
  4. package/package.json +181 -199
  5. package/templates/__tests__/tsconfig.json +1 -1
  6. package/templates/checked-fetch.js +11 -4
  7. package/templates/facade.d.ts +7 -2
  8. package/templates/gitignore +2 -4
  9. package/templates/init-tests/test-vitest-new-worker.js +1 -1
  10. package/templates/init-tests/test-vitest-new-worker.ts +3 -3
  11. package/templates/middleware/common.ts +9 -4
  12. package/templates/middleware/loader-modules.ts +94 -44
  13. package/templates/middleware/loader-sw.ts +6 -10
  14. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  15. package/templates/middleware/middleware-patch-console-prefix.d.ts +3 -0
  16. package/templates/middleware/middleware-patch-console-prefix.ts +21 -0
  17. package/templates/middleware/middleware-scheduled.ts +15 -1
  18. package/templates/mixedMode/proxyServerWorker/index.ts +40 -0
  19. package/templates/mixedMode/proxyServerWorker/wrangler.jsonc +4 -0
  20. package/templates/modules-watch-stub.js +4 -0
  21. package/templates/new-worker-scheduled.ts +1 -1
  22. package/templates/new-worker.ts +1 -1
  23. package/templates/pages-dev-pipeline.ts +5 -3
  24. package/templates/pages-dev-util.ts +4 -1
  25. package/templates/pages-shim.ts +0 -3
  26. package/templates/pages-template-plugin.ts +14 -4
  27. package/templates/pages-template-worker.ts +12 -3
  28. package/templates/startDevWorker/InspectorProxyWorker.ts +679 -0
  29. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  30. package/templates/strip-cf-connecting-ip-header.js +13 -0
  31. package/templates/tsconfig.init.json +4 -87
  32. package/templates/tsconfig.json +9 -2
  33. package/templates/tsconfig.tsbuildinfo +1 -1
  34. package/wrangler-dist/InspectorProxyWorker.js +471 -0
  35. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  36. package/wrangler-dist/ProxyWorker.js +238 -0
  37. package/wrangler-dist/ProxyWorker.js.map +6 -0
  38. package/wrangler-dist/cli.d.ts +25620 -358
  39. package/wrangler-dist/cli.js +171460 -148091
  40. package/wrangler-dist/cli.js.map +7 -0
  41. package/Cloudflare_CA.pem +0 -18
  42. package/import_meta_url.js +0 -3
  43. package/miniflare-config-stubs/.env.empty +0 -0
  44. package/miniflare-config-stubs/package.empty.json +0 -1
  45. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  46. package/miniflare-dist/index.mjs +0 -6368
  47. package/src/__tests__/access.test.ts +0 -25
  48. package/src/__tests__/api-dev.test.ts +0 -238
  49. package/src/__tests__/api-devregistry.test.ts +0 -121
  50. package/src/__tests__/api.test.ts +0 -102
  51. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  52. package/src/__tests__/config-cache.test.ts +0 -42
  53. package/src/__tests__/configuration.test.ts +0 -4509
  54. package/src/__tests__/d1/d1.test.ts +0 -82
  55. package/src/__tests__/d1/execute.test.ts +0 -66
  56. package/src/__tests__/d1/migrate.test.ts +0 -157
  57. package/src/__tests__/d1/splitter.test.ts +0 -255
  58. package/src/__tests__/delete.test.ts +0 -272
  59. package/src/__tests__/deployments.test.ts +0 -369
  60. package/src/__tests__/dev.test.tsx +0 -1617
  61. package/src/__tests__/generate.test.ts +0 -237
  62. package/src/__tests__/get-host-from-url.test.ts +0 -16
  63. package/src/__tests__/guess-worker-format.test.ts +0 -120
  64. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  65. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  66. package/src/__tests__/helpers/end-event-loop.ts +0 -6
  67. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  68. package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
  69. package/src/__tests__/helpers/mock-bin.ts +0 -36
  70. package/src/__tests__/helpers/mock-console.ts +0 -112
  71. package/src/__tests__/helpers/mock-dialogs.ts +0 -139
  72. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +0 -25
  73. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -11
  74. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  75. package/src/__tests__/helpers/mock-istty.ts +0 -74
  76. package/src/__tests__/helpers/mock-known-routes.ts +0 -12
  77. package/src/__tests__/helpers/mock-kv.ts +0 -46
  78. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -263
  79. package/src/__tests__/helpers/mock-process.ts +0 -34
  80. package/src/__tests__/helpers/mock-set-timeout.ts +0 -16
  81. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  82. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  83. package/src/__tests__/helpers/msw/blob-worker.cjs +0 -19
  84. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  85. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -160
  86. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -81
  87. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  88. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -60
  89. package/src/__tests__/helpers/msw/handlers/script.ts +0 -56
  90. package/src/__tests__/helpers/msw/handlers/user.ts +0 -52
  91. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -20
  92. package/src/__tests__/helpers/msw/index.ts +0 -52
  93. package/src/__tests__/helpers/msw/read-file-sync.js +0 -61
  94. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  95. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  96. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +0 -28
  97. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  98. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  99. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  100. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -11
  101. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  102. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  103. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  104. package/src/__tests__/https-options.test.ts +0 -163
  105. package/src/__tests__/index.test.ts +0 -280
  106. package/src/__tests__/init.test.ts +0 -3196
  107. package/src/__tests__/jest.setup.ts +0 -179
  108. package/src/__tests__/kv.test.ts +0 -1799
  109. package/src/__tests__/logger.test.ts +0 -207
  110. package/src/__tests__/logout.test.ts +0 -47
  111. package/src/__tests__/metrics.test.ts +0 -493
  112. package/src/__tests__/middleware.scheduled.test.ts +0 -145
  113. package/src/__tests__/middleware.test.ts +0 -816
  114. package/src/__tests__/mtls-certificates.test.ts +0 -588
  115. package/src/__tests__/package-manager.test.ts +0 -353
  116. package/src/__tests__/pages/deployment-list.test.ts +0 -80
  117. package/src/__tests__/pages/functions-build.test.ts +0 -452
  118. package/src/__tests__/pages/pages.test.ts +0 -81
  119. package/src/__tests__/pages/project-create.test.ts +0 -63
  120. package/src/__tests__/pages/project-list.test.ts +0 -110
  121. package/src/__tests__/pages/project-upload.test.ts +0 -500
  122. package/src/__tests__/pages/publish.test.ts +0 -2864
  123. package/src/__tests__/pages-deployment-tail.test.ts +0 -955
  124. package/src/__tests__/parse.test.ts +0 -436
  125. package/src/__tests__/paths.test.ts +0 -39
  126. package/src/__tests__/publish.test.ts +0 -8423
  127. package/src/__tests__/pubsub.test.ts +0 -496
  128. package/src/__tests__/queues.test.ts +0 -532
  129. package/src/__tests__/r2.test.ts +0 -374
  130. package/src/__tests__/route.test.ts +0 -45
  131. package/src/__tests__/secret.test.ts +0 -693
  132. package/src/__tests__/tail.test.ts +0 -958
  133. package/src/__tests__/test-old-node-version.js +0 -31
  134. package/src/__tests__/traverse-module-graph.test.ts +0 -220
  135. package/src/__tests__/tsconfig-sanity.ts +0 -12
  136. package/src/__tests__/tsconfig.json +0 -8
  137. package/src/__tests__/tsconfig.tsbuildinfo +0 -1
  138. package/src/__tests__/type-generation.test.ts +0 -234
  139. package/src/__tests__/user.test.ts +0 -118
  140. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  141. package/src/__tests__/validate-dev-props.test.ts +0 -56
  142. package/src/__tests__/version.test.ts +0 -35
  143. package/src/__tests__/whoami.test.tsx +0 -172
  144. package/src/__tests__/worker-namespace.test.ts +0 -340
  145. package/src/abort.d.ts +0 -3
  146. package/src/api/dev.ts +0 -316
  147. package/src/api/index.ts +0 -11
  148. package/src/api/mtls-certificate.ts +0 -148
  149. package/src/api/pages/create-worker-bundle-contents.ts +0 -76
  150. package/src/api/pages/index.ts +0 -5
  151. package/src/api/pages/publish.tsx +0 -355
  152. package/src/bundle-reporter.ts +0 -68
  153. package/src/bundle.ts +0 -908
  154. package/src/cfetch/index.ts +0 -158
  155. package/src/cfetch/internal.ts +0 -258
  156. package/src/cli.ts +0 -28
  157. package/src/config/README.md +0 -107
  158. package/src/config/config.ts +0 -282
  159. package/src/config/diagnostics.ts +0 -80
  160. package/src/config/environment.ts +0 -618
  161. package/src/config/index.ts +0 -403
  162. package/src/config/validation-helpers.ts +0 -597
  163. package/src/config/validation.ts +0 -2342
  164. package/src/config-cache.ts +0 -85
  165. package/src/create-worker-preview.ts +0 -293
  166. package/src/create-worker-upload-form.ts +0 -359
  167. package/src/d1/backups.tsx +0 -219
  168. package/src/d1/constants.ts +0 -2
  169. package/src/d1/create.tsx +0 -68
  170. package/src/d1/delete.ts +0 -53
  171. package/src/d1/execute.tsx +0 -357
  172. package/src/d1/formatTimeAgo.ts +0 -14
  173. package/src/d1/index.ts +0 -100
  174. package/src/d1/list.tsx +0 -60
  175. package/src/d1/migrations/apply.tsx +0 -212
  176. package/src/d1/migrations/create.tsx +0 -79
  177. package/src/d1/migrations/helpers.ts +0 -172
  178. package/src/d1/migrations/index.ts +0 -3
  179. package/src/d1/migrations/list.tsx +0 -95
  180. package/src/d1/migrations/options.ts +0 -23
  181. package/src/d1/options.ts +0 -22
  182. package/src/d1/splitter.ts +0 -161
  183. package/src/d1/types.ts +0 -25
  184. package/src/d1/utils.ts +0 -49
  185. package/src/delete.ts +0 -100
  186. package/src/deployments.ts +0 -368
  187. package/src/deprecated/index.ts +0 -144
  188. package/src/dev/dev-vars.ts +0 -39
  189. package/src/dev/dev.tsx +0 -600
  190. package/src/dev/get-local-persistence-path.ts +0 -31
  191. package/src/dev/local.tsx +0 -920
  192. package/src/dev/remote.tsx +0 -632
  193. package/src/dev/start-server.ts +0 -534
  194. package/src/dev/use-esbuild.ts +0 -203
  195. package/src/dev/validate-dev-props.ts +0 -40
  196. package/src/dev-registry.ts +0 -202
  197. package/src/dev.tsx +0 -929
  198. package/src/dialogs.ts +0 -136
  199. package/src/dispatch-namespace.ts +0 -211
  200. package/src/docs/index.ts +0 -97
  201. package/src/durable.ts +0 -102
  202. package/src/entry.ts +0 -337
  203. package/src/environment-variables/factory.ts +0 -88
  204. package/src/environment-variables/misc-variables.ts +0 -30
  205. package/src/errors.ts +0 -11
  206. package/src/generate/index.ts +0 -298
  207. package/src/git-client.ts +0 -135
  208. package/src/global-wrangler-config-path.ts +0 -26
  209. package/src/https-options.ts +0 -127
  210. package/src/index.ts +0 -758
  211. package/src/init.ts +0 -1032
  212. package/src/inspect.ts +0 -782
  213. package/src/intl-polyfill.d.ts +0 -139
  214. package/src/is-ci.ts +0 -14
  215. package/src/is-interactive.ts +0 -16
  216. package/src/jest.d.ts +0 -4
  217. package/src/kv/helpers.ts +0 -430
  218. package/src/kv/index.ts +0 -594
  219. package/src/logger.ts +0 -119
  220. package/src/metrics/index.ts +0 -5
  221. package/src/metrics/metrics-config.ts +0 -239
  222. package/src/metrics/metrics-dispatcher.ts +0 -96
  223. package/src/metrics/metrics-usage-headers.ts +0 -24
  224. package/src/metrics/send-event.ts +0 -99
  225. package/src/miniflare-cli/README.md +0 -30
  226. package/src/miniflare-cli/assets.ts +0 -251
  227. package/src/miniflare-cli/index.ts +0 -210
  228. package/src/miniflare-cli/request-context.ts +0 -40
  229. package/src/miniflare-cli/tsconfig.json +0 -9
  230. package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
  231. package/src/miniflare-cli/types.ts +0 -11
  232. package/src/module-collection.ts +0 -333
  233. package/src/mtls-certificate/cli.ts +0 -155
  234. package/src/open-in-browser.ts +0 -17
  235. package/src/package-manager.ts +0 -219
  236. package/src/pages/build.ts +0 -410
  237. package/src/pages/buildFunctions.ts +0 -140
  238. package/src/pages/constants.ts +0 -18
  239. package/src/pages/deployment-tails.ts +0 -281
  240. package/src/pages/deployments.tsx +0 -84
  241. package/src/pages/dev.ts +0 -716
  242. package/src/pages/errors.ts +0 -67
  243. package/src/pages/functions/buildPlugin.ts +0 -113
  244. package/src/pages/functions/buildWorker.ts +0 -291
  245. package/src/pages/functions/filepath-routing.test.ts +0 -234
  246. package/src/pages/functions/filepath-routing.ts +0 -189
  247. package/src/pages/functions/identifiers.ts +0 -78
  248. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  249. package/src/pages/functions/routes-consolidation.ts +0 -73
  250. package/src/pages/functions/routes-transformation.test.ts +0 -282
  251. package/src/pages/functions/routes-transformation.ts +0 -115
  252. package/src/pages/functions/routes-validation.test.ts +0 -403
  253. package/src/pages/functions/routes-validation.ts +0 -202
  254. package/src/pages/functions/routes.ts +0 -151
  255. package/src/pages/functions/tsconfig.json +0 -8
  256. package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
  257. package/src/pages/functions.ts +0 -86
  258. package/src/pages/hash.ts +0 -13
  259. package/src/pages/index.ts +0 -102
  260. package/src/pages/projects.tsx +0 -159
  261. package/src/pages/prompt-select-project.tsx +0 -31
  262. package/src/pages/publish.tsx +0 -267
  263. package/src/pages/types.ts +0 -46
  264. package/src/pages/upload.tsx +0 -469
  265. package/src/pages/utils.ts +0 -23
  266. package/src/parse.ts +0 -308
  267. package/src/paths.ts +0 -71
  268. package/src/proxy.ts +0 -694
  269. package/src/publish/index.ts +0 -274
  270. package/src/publish/publish.ts +0 -1060
  271. package/src/pubsub/index.ts +0 -286
  272. package/src/pubsub/pubsub-commands.ts +0 -623
  273. package/src/queues/cli/commands/consumer/add.ts +0 -71
  274. package/src/queues/cli/commands/consumer/index.ts +0 -19
  275. package/src/queues/cli/commands/consumer/remove.ts +0 -31
  276. package/src/queues/cli/commands/create.ts +0 -25
  277. package/src/queues/cli/commands/delete.ts +0 -26
  278. package/src/queues/cli/commands/index.ts +0 -35
  279. package/src/queues/cli/commands/list.ts +0 -25
  280. package/src/queues/client.ts +0 -136
  281. package/src/queues/utils.ts +0 -18
  282. package/src/r2/constants.ts +0 -4
  283. package/src/r2/helpers.ts +0 -132
  284. package/src/r2/index.ts +0 -289
  285. package/src/routes.ts +0 -140
  286. package/src/secret/index.ts +0 -376
  287. package/src/selfsigned.d.ts +0 -29
  288. package/src/sites.ts +0 -372
  289. package/src/tail/createTail.ts +0 -406
  290. package/src/tail/filters.ts +0 -277
  291. package/src/tail/index.ts +0 -211
  292. package/src/tail/printing.ts +0 -122
  293. package/src/traverse-module-graph.ts +0 -53
  294. package/src/tsconfig-sanity.ts +0 -16
  295. package/src/type-generation.ts +0 -181
  296. package/src/update-check.ts +0 -19
  297. package/src/user/access.ts +0 -68
  298. package/src/user/auth-variables.ts +0 -113
  299. package/src/user/choose-account.tsx +0 -39
  300. package/src/user/generate-auth-url.ts +0 -33
  301. package/src/user/generate-random-state.ts +0 -16
  302. package/src/user/index.ts +0 -2
  303. package/src/user/user.ts +0 -1233
  304. package/src/utils/collectKeyValues.ts +0 -14
  305. package/src/utils/render.ts +0 -93
  306. package/src/whoami.ts +0 -135
  307. package/src/worker.ts +0 -274
  308. package/src/yargs-types.ts +0 -37
  309. package/src/zones.ts +0 -191
  310. package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
  311. package/templates/d1-beta-facade.js +0 -244
  312. package/templates/first-party-worker-module-facade.ts +0 -19
  313. package/templates/format-dev-errors.ts +0 -34
  314. package/templates/serve-static-assets.ts +0 -66
  315. package/templates/service-bindings-module-facade.js +0 -55
  316. package/templates/service-bindings-sw-facade.js +0 -42
  317. package/wrangler-dist/wasm-sync.wasm +0 -0
package/README.md CHANGED
@@ -3,82 +3,72 @@
3
3
  <a href="https://www.npmjs.com/package/wrangler"><img alt="npm" src="https://img.shields.io/npm/dw/wrangler?style=flat-square"></a>
4
4
  <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/workers-sdk?style=flat-square">
5
5
  <img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/workers-sdk/main?style=flat-square">
6
- <a href="https://discord.gg/CloudflareDev"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
6
+ <a href="https://discord.cloudflare.com"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
7
7
  </section>
8
8
 
9
- > This package is for wrangler v2.x, released first in May 2022. If you're looking for v1.x of the `@cloudflare/wrangler` package, visit https://www.npmjs.com/package/@cloudflare/wrangler / https://github.com/cloudflare/wrangler-legacy.
10
-
11
9
  `wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
12
10
 
13
11
  ## Quick Start
14
12
 
13
+ To get started quickly with a Hello World worker, run the command below:
14
+
15
15
  ```bash
16
- # Make a javascript file
17
- echo "export default { fetch() { return new Response('hello world') } }" > index.js
18
- # try it out
19
- npx wrangler dev index.js
20
- # and then publish it
21
- npx wrangler publish index.js --name my-worker
22
- # visit https://my-worker.<your workers subdomain>.workers.dev
16
+ npx wrangler init my-worker -y
23
17
  ```
24
18
 
25
- ## Create a Project
19
+ For more info, visit our [Getting Started](https://developers.cloudflare.com/workers/get-started/guide/) guide.
26
20
 
27
- ```bash
28
- # Generate a new project
29
- npx wrangler init my-worker
30
- # try it out
31
- cd my-worker && npm run start
32
- # and then publish it
33
- npm run deploy
34
- ```
21
+ <details><summary>Wrangler System Requirements</summary>
35
22
 
36
- ## Installation:
23
+ We support running the Wrangler CLI with the [Current, Active, and Maintenance](https://nodejs.org/en/about/previous-releases) versions of Node.js. Your Worker will always be executed in `workerd`, the open source Cloudflare Workers runtime.
37
24
 
38
- ```bash
39
- $ npm install wrangler --save-dev
40
- ```
25
+ Wrangler is only supported on macOS 13.5+, Windows 11, and Linux distros that support glib 2.35. This follows [`workerd`'s OS support policy](https://github.com/cloudflare/workerd?tab=readme-ov-file#running-workerd).
26
+
27
+ </details>
41
28
 
42
- ## Configuration:
29
+ ## Documentation
43
30
 
44
- Wrangler is configured via a `wrangler.toml` file in the project root. When utilizing the `wrangler init` command, a `wrangler.toml` file will be created for you.
31
+ For the latest Wrangler documentation, [click here](https://developers.cloudflare.com/workers/wrangler/).
45
32
 
46
- example:
33
+ To read more about Workers in general:
34
+
35
+ - [Getting Started](https://developers.cloudflare.com/workers/get-started/guide/)
36
+ - [How Workers works](https://developers.cloudflare.com/workers/reference/how-workers-works/)
37
+ - [Observability](https://developers.cloudflare.com/workers/observability/)
38
+ - [Platform](https://developers.cloudflare.com/workers/platform/)
39
+
40
+ ## Configuration
41
+
42
+ Wrangler is configured via a `wrangler.toml` or `wrangler.json` file in the project root. An example configuration generated by `npx wrangler init` or `npx create cloudflare` is as follows:
47
43
 
48
44
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
45
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
46
+ main = "./src/index.ts"
47
+ compatibility_date = "YYYY-MM-DD"
52
48
  ```
53
49
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
50
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
51
 
56
52
  ## Commands
57
53
 
58
- ### `wrangler init [name]`
59
-
60
- Creates a Worker project. For details on configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/#init).
54
+ ### Workers
61
55
 
62
- ### `wrangler dev`
56
+ #### `wrangler dev`
63
57
 
64
58
  Start a local development server, with live reloading and devtools.
65
59
 
66
- ### `wrangler publish`
60
+ #### `wrangler deploy`
67
61
 
68
- Publish the given script to the worldwide Cloudflare network.
62
+ Publish the given script to Cloudflare's global network.
69
63
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
64
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
65
 
72
- ## Pages
66
+ ### Pages
73
67
 
74
- ### `wrangler pages dev [directory] [-- command]`
68
+ #### `wrangler pages dev [directory]`
75
69
 
76
- Either serves a static build asset directory, or proxies itself in front of a command.
70
+ Serves a static build asset directory.
77
71
 
78
72
  Builds and runs functions from a `./functions` directory or uses a `_worker.js` file inside the static build asset directory.
79
73
 
80
74
  For more commands and options, refer to the [documentation](https://developers.cloudflare.com/pages/platform/functions#develop-and-preview-locally) or run `wrangler pages dev --help`.
81
-
82
- ## Documentation
83
-
84
- For the latest Wrangler documentation, [click here](https://developers.cloudflare.com/workers/wrangler/).
package/bin/wrangler.js CHANGED
@@ -1,22 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  const { spawn } = require("child_process");
3
3
  const path = require("path");
4
- const fs = require("fs");
5
- const os = require("os");
6
-
7
- const MIN_NODE_VERSION = "16.13.0";
8
- const debug =
9
- process.env["WRANGLER_LOG"] === "debug"
10
- ? (...args) => console.log(...args)
11
- : () => {};
12
4
 
5
+ const ERR_NODE_VERSION = "18.0.0";
6
+ const MIN_NODE_VERSION = "20.0.0";
13
7
  let wranglerProcess;
14
8
 
15
9
  /**
16
10
  * Executes ../wrangler-dist/cli.js
17
11
  */
18
12
  function runWrangler() {
19
- if (semiver(process.versions.node, MIN_NODE_VERSION) < 0) {
13
+ if (semiver(process.versions.node, ERR_NODE_VERSION) < 0) {
20
14
  // Note Volta and nvm are also recommended in the official docs:
21
15
  // https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
22
16
  console.error(
@@ -28,30 +22,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
28
22
  return;
29
23
  }
30
24
 
31
- let pathToCACerts = process.env.NODE_EXTRA_CA_CERTS;
32
- if (pathToCACerts) {
33
- // TODO:
34
- // - should we log a warning here?
35
- // - maybe we can generate a certificate that concatenates with ours?
36
- //
37
- // I do think it'll be rare that someone wants to add a cert AND
38
- // use Cloudflare WARP, but let's wait till the situation actually
39
- // arises before we do anything about it
40
- } else {
41
- const osTempDir = os.tmpdir();
42
- const certDir = path.join(osTempDir, "wrangler-cert");
43
- const certPath = path.join(certDir, "Cloudflare_CA.pem");
44
- // copy cert to the system temp dir if needed
45
- if (!fs.existsSync(certPath)) {
46
- fs.mkdirSync(certDir, { recursive: true });
47
- fs.writeFileSync(
48
- certPath,
49
- fs.readFileSync(path.join(__dirname, "../Cloudflare_CA.pem"), "utf-8")
50
- );
51
- }
52
- pathToCACerts = certPath;
53
- }
54
-
55
25
  return spawn(
56
26
  process.execPath,
57
27
  [
@@ -63,10 +33,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
63
33
  ],
64
34
  {
65
35
  stdio: ["inherit", "inherit", "inherit", "ipc"],
66
- env: {
67
- ...process.env,
68
- NODE_EXTRA_CA_CERTS: pathToCACerts,
69
- },
70
36
  }
71
37
  )
72
38
  .on("exit", (code) =>
@@ -76,83 +42,14 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
76
42
  if (process.send) {
77
43
  process.send(message);
78
44
  }
79
- });
80
- }
81
-
82
- /**
83
- * Runs a locally-installed version of wrangler, delegating from this version.
84
- * @throws {MODULE_NOT_FOUND} if there isn't a locally installed version of wrangler.
85
- */
86
- function runDelegatedWrangler() {
87
- const packageJsonPath = require.resolve("wrangler/package.json", {
88
- paths: [process.cwd()],
89
- });
90
- const {
91
- bin: { wrangler: binaryPath },
92
- version,
93
- } = JSON.parse(fs.readFileSync(packageJsonPath));
94
- const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
95
-
96
- // Make sure the user knows we're delegating to a different installation
97
- const currentPackageJsonPath = path.resolve(__dirname, "..", "package.json");
98
- const currentPackage = JSON.parse(fs.readFileSync(currentPackageJsonPath));
99
- const argv = process.argv.slice(2).join(" ");
100
- console.log(
101
- `Delegating to locally-installed wrangler@${version} over global wrangler@${currentPackage.version}...
102
- Run \`npx wrangler ${argv}\` to use the local version directly.
103
- `
104
- );
105
-
106
- // this call to `spawn` is simpler because the delegated version will do all
107
- // of the other work.
108
- return spawn(
109
- process.execPath,
110
- [resolvedBinaryPath, ...process.argv.slice(2)],
111
- {
112
- stdio: ["inherit", "inherit", "inherit", "ipc"],
113
- }
114
- )
115
- .on("exit", (code) =>
116
- process.exit(code === undefined || code === null ? 0 : code)
117
- )
118
- .on("message", (message) => {
119
- if (process.send) {
120
- process.send(message);
45
+ })
46
+ .on("disconnect", () => {
47
+ if (process.disconnect) {
48
+ process.disconnect();
121
49
  }
122
50
  });
123
51
  }
124
52
 
125
- /**
126
- * Indicates if this invocation of `wrangler` should delegate
127
- * to a locally-installed version.
128
- */
129
- function shouldDelegate() {
130
- try {
131
- // `require.resolve` will throw if it can't find
132
- // a locally-installed version of `wrangler`
133
- const delegatedPackageJson = require.resolve("wrangler/package.json", {
134
- paths: [process.cwd()],
135
- });
136
- const thisPackageJson = path.resolve(__dirname, "..", "package.json");
137
- // if it's the same path, then we're already a local install -- no need to delegate
138
- return thisPackageJson !== delegatedPackageJson;
139
- } catch (e) {
140
- // there's no local version to delegate to -- `require.resolve` threw
141
- return false;
142
- }
143
- }
144
-
145
- async function main() {
146
- wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
147
- }
148
-
149
- process.on("SIGINT", () => {
150
- wranglerProcess && wranglerProcess.kill();
151
- });
152
- process.on("SIGTERM", () => {
153
- wranglerProcess && wranglerProcess.kill();
154
- });
155
-
156
53
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
157
54
 
158
55
  /**
@@ -185,4 +82,12 @@ function semiver(a, b, bool) {
185
82
 
186
83
  // end semiver implementation
187
84
 
188
- void main();
85
+ if (module === require.main) {
86
+ wranglerProcess = runWrangler();
87
+ process.on("SIGINT", () => {
88
+ wranglerProcess && wranglerProcess.kill();
89
+ });
90
+ process.on("SIGTERM", () => {
91
+ wranglerProcess && wranglerProcess.kill();
92
+ });
93
+ }