wrangler 0.0.0-dccba450 → 0.0.0-dcce2ecf2

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 (299) hide show
  1. package/README.md +35 -45
  2. package/bin/wrangler.js +15 -110
  3. package/config-schema.json +2333 -0
  4. package/package.json +182 -194
  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 -3
  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-miniflare3-json-error.ts +17 -5
  16. package/templates/middleware/middleware-mock-analytics-engine.d.ts +3 -0
  17. package/templates/middleware/middleware-mock-analytics-engine.ts +30 -0
  18. package/templates/middleware/middleware-patch-console-prefix.d.ts +3 -0
  19. package/templates/middleware/middleware-patch-console-prefix.ts +21 -0
  20. package/templates/middleware/middleware-scheduled.ts +15 -1
  21. package/templates/modules-watch-stub.js +4 -0
  22. package/templates/new-worker-scheduled.ts +1 -1
  23. package/templates/new-worker.ts +4 -1
  24. package/templates/pages-dev-pipeline.ts +5 -3
  25. package/templates/pages-dev-util.ts +4 -1
  26. package/templates/pages-shim.ts +0 -3
  27. package/templates/pages-template-plugin.ts +21 -7
  28. package/templates/pages-template-worker.ts +12 -3
  29. package/templates/startDevWorker/InspectorProxyWorker.ts +679 -0
  30. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  31. package/templates/tsconfig.init.json +5 -89
  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 +26097 -405
  39. package/wrangler-dist/cli.js +143508 -133663
  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 -6364
  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.js +0 -64
  50. package/src/__tests__/api.test.ts +0 -80
  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 -4163
  54. package/src/__tests__/d1/d1.test.ts +0 -85
  55. package/src/__tests__/d1/migrate.test.ts +0 -48
  56. package/src/__tests__/d1/splitter.test.ts +0 -255
  57. package/src/__tests__/delete.test.ts +0 -266
  58. package/src/__tests__/deployments.test.ts +0 -105
  59. package/src/__tests__/dev.test.tsx +0 -1587
  60. package/src/__tests__/generate.test.ts +0 -238
  61. package/src/__tests__/get-host-from-url.test.ts +0 -16
  62. package/src/__tests__/guess-worker-format.test.ts +0 -85
  63. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  64. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  65. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  66. package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
  67. package/src/__tests__/helpers/mock-bin.ts +0 -36
  68. package/src/__tests__/helpers/mock-console.ts +0 -106
  69. package/src/__tests__/helpers/mock-dialogs.ts +0 -139
  70. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -11
  71. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  72. package/src/__tests__/helpers/mock-istty.ts +0 -74
  73. package/src/__tests__/helpers/mock-known-routes.ts +0 -12
  74. package/src/__tests__/helpers/mock-kv.ts +0 -46
  75. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -263
  76. package/src/__tests__/helpers/mock-process.ts +0 -34
  77. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  78. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  79. package/src/__tests__/helpers/msw/blob-worker.cjs +0 -19
  80. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  81. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -69
  82. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -81
  83. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  84. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -60
  85. package/src/__tests__/helpers/msw/handlers/script.ts +0 -56
  86. package/src/__tests__/helpers/msw/handlers/user.ts +0 -52
  87. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -20
  88. package/src/__tests__/helpers/msw/index.ts +0 -50
  89. package/src/__tests__/helpers/msw/read-file-sync.js +0 -61
  90. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  91. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  92. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  93. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  94. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  95. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  96. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  97. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  98. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  99. package/src/__tests__/https-options.test.ts +0 -163
  100. package/src/__tests__/index.test.ts +0 -275
  101. package/src/__tests__/init.test.ts +0 -3164
  102. package/src/__tests__/jest.setup.ts +0 -175
  103. package/src/__tests__/kv.test.ts +0 -1799
  104. package/src/__tests__/logger.test.ts +0 -141
  105. package/src/__tests__/logout.test.ts +0 -47
  106. package/src/__tests__/metrics.test.ts +0 -493
  107. package/src/__tests__/middleware.scheduled.test.ts +0 -145
  108. package/src/__tests__/middleware.test.ts +0 -750
  109. package/src/__tests__/package-manager.test.ts +0 -353
  110. package/src/__tests__/pages-deployment-tail.test.ts +0 -955
  111. package/src/__tests__/pages.test.ts +0 -2905
  112. package/src/__tests__/parse.test.ts +0 -436
  113. package/src/__tests__/paths.test.ts +0 -39
  114. package/src/__tests__/publish.test.ts +0 -8117
  115. package/src/__tests__/pubsub.test.ts +0 -493
  116. package/src/__tests__/queues.test.ts +0 -529
  117. package/src/__tests__/r2.test.ts +0 -374
  118. package/src/__tests__/route.test.ts +0 -45
  119. package/src/__tests__/secret.test.ts +0 -693
  120. package/src/__tests__/tail.test.ts +0 -958
  121. package/src/__tests__/test-old-node-version.js +0 -31
  122. package/src/__tests__/tsconfig-sanity.ts +0 -12
  123. package/src/__tests__/tsconfig.json +0 -8
  124. package/src/__tests__/tsconfig.tsbuildinfo +0 -1
  125. package/src/__tests__/type-generation.test.ts +0 -233
  126. package/src/__tests__/user.test.ts +0 -118
  127. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  128. package/src/__tests__/validate-dev-props.test.ts +0 -56
  129. package/src/__tests__/version.test.ts +0 -35
  130. package/src/__tests__/whoami.test.tsx +0 -172
  131. package/src/__tests__/worker-namespace.test.ts +0 -339
  132. package/src/abort.d.ts +0 -3
  133. package/src/api/dev.ts +0 -328
  134. package/src/api/index.ts +0 -3
  135. package/src/api/pages/index.ts +0 -5
  136. package/src/api/pages/publish.tsx +0 -324
  137. package/src/bundle-reporter.ts +0 -68
  138. package/src/bundle.ts +0 -875
  139. package/src/cfetch/index.ts +0 -158
  140. package/src/cfetch/internal.ts +0 -258
  141. package/src/cli.ts +0 -28
  142. package/src/config/README.md +0 -107
  143. package/src/config/config.ts +0 -282
  144. package/src/config/diagnostics.ts +0 -80
  145. package/src/config/environment.ts +0 -579
  146. package/src/config/index.ts +0 -362
  147. package/src/config/validation-helpers.ts +0 -597
  148. package/src/config/validation.ts +0 -2151
  149. package/src/config-cache.ts +0 -85
  150. package/src/create-worker-preview.ts +0 -282
  151. package/src/create-worker-upload-form.ts +0 -325
  152. package/src/d1/backups.tsx +0 -215
  153. package/src/d1/constants.ts +0 -2
  154. package/src/d1/create.tsx +0 -64
  155. package/src/d1/delete.ts +0 -53
  156. package/src/d1/execute.tsx +0 -321
  157. package/src/d1/formatTimeAgo.ts +0 -14
  158. package/src/d1/index.ts +0 -100
  159. package/src/d1/list.tsx +0 -60
  160. package/src/d1/migrations/apply.tsx +0 -199
  161. package/src/d1/migrations/create.tsx +0 -74
  162. package/src/d1/migrations/helpers.ts +0 -147
  163. package/src/d1/migrations/index.ts +0 -3
  164. package/src/d1/migrations/list.tsx +0 -81
  165. package/src/d1/migrations/options.ts +0 -18
  166. package/src/d1/options.ts +0 -22
  167. package/src/d1/splitter.ts +0 -161
  168. package/src/d1/types.ts +0 -24
  169. package/src/d1/utils.ts +0 -48
  170. package/src/delete.ts +0 -100
  171. package/src/deployments.ts +0 -93
  172. package/src/deprecated/index.ts +0 -144
  173. package/src/dev/dev-vars.ts +0 -39
  174. package/src/dev/dev.tsx +0 -614
  175. package/src/dev/get-local-persistence-path.ts +0 -31
  176. package/src/dev/local.tsx +0 -923
  177. package/src/dev/remote.tsx +0 -632
  178. package/src/dev/start-server.ts +0 -538
  179. package/src/dev/use-esbuild.ts +0 -205
  180. package/src/dev/validate-dev-props.ts +0 -31
  181. package/src/dev-registry.ts +0 -201
  182. package/src/dev.tsx +0 -911
  183. package/src/dialogs.ts +0 -136
  184. package/src/dispatch-namespace.ts +0 -211
  185. package/src/docs/index.ts +0 -97
  186. package/src/durable.ts +0 -102
  187. package/src/entry.ts +0 -328
  188. package/src/environment-variables/factory.ts +0 -88
  189. package/src/environment-variables/misc-variables.ts +0 -30
  190. package/src/errors.ts +0 -11
  191. package/src/generate/index.ts +0 -298
  192. package/src/git-client.ts +0 -135
  193. package/src/global-wrangler-config-path.ts +0 -26
  194. package/src/https-options.ts +0 -127
  195. package/src/index.ts +0 -695
  196. package/src/init.ts +0 -1022
  197. package/src/inspect.ts +0 -767
  198. package/src/intl-polyfill.d.ts +0 -139
  199. package/src/is-ci.ts +0 -14
  200. package/src/is-interactive.ts +0 -16
  201. package/src/jest.d.ts +0 -4
  202. package/src/kv/helpers.ts +0 -430
  203. package/src/kv/index.ts +0 -594
  204. package/src/logger.ts +0 -104
  205. package/src/metrics/index.ts +0 -5
  206. package/src/metrics/metrics-config.ts +0 -239
  207. package/src/metrics/metrics-dispatcher.ts +0 -96
  208. package/src/metrics/metrics-usage-headers.ts +0 -24
  209. package/src/metrics/send-event.ts +0 -98
  210. package/src/miniflare-cli/README.md +0 -30
  211. package/src/miniflare-cli/assets.ts +0 -250
  212. package/src/miniflare-cli/index.ts +0 -210
  213. package/src/miniflare-cli/request-context.ts +0 -40
  214. package/src/miniflare-cli/tsconfig.json +0 -9
  215. package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
  216. package/src/miniflare-cli/types.ts +0 -11
  217. package/src/module-collection.ts +0 -267
  218. package/src/open-in-browser.ts +0 -17
  219. package/src/package-manager.ts +0 -219
  220. package/src/pages/build.ts +0 -152
  221. package/src/pages/buildFunctions.ts +0 -129
  222. package/src/pages/constants.ts +0 -18
  223. package/src/pages/deployment-tails.ts +0 -281
  224. package/src/pages/deployments.tsx +0 -86
  225. package/src/pages/dev.ts +0 -714
  226. package/src/pages/errors.ts +0 -66
  227. package/src/pages/functions/buildPlugin.ts +0 -90
  228. package/src/pages/functions/buildWorker.ts +0 -288
  229. package/src/pages/functions/filepath-routing.test.ts +0 -234
  230. package/src/pages/functions/filepath-routing.ts +0 -189
  231. package/src/pages/functions/identifiers.ts +0 -78
  232. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  233. package/src/pages/functions/routes-consolidation.ts +0 -73
  234. package/src/pages/functions/routes-transformation.test.ts +0 -282
  235. package/src/pages/functions/routes-transformation.ts +0 -115
  236. package/src/pages/functions/routes-validation.test.ts +0 -403
  237. package/src/pages/functions/routes-validation.ts +0 -202
  238. package/src/pages/functions/routes.ts +0 -151
  239. package/src/pages/functions/tsconfig.json +0 -8
  240. package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
  241. package/src/pages/functions.ts +0 -86
  242. package/src/pages/hash.ts +0 -13
  243. package/src/pages/index.ts +0 -102
  244. package/src/pages/projects.tsx +0 -162
  245. package/src/pages/prompt-select-project.tsx +0 -31
  246. package/src/pages/publish.tsx +0 -265
  247. package/src/pages/types.ts +0 -46
  248. package/src/pages/upload.tsx +0 -449
  249. package/src/pages/utils.ts +0 -23
  250. package/src/parse.ts +0 -308
  251. package/src/paths.ts +0 -71
  252. package/src/proxy.ts +0 -694
  253. package/src/publish/index.ts +0 -274
  254. package/src/publish/publish.ts +0 -1064
  255. package/src/pubsub/index.ts +0 -286
  256. package/src/pubsub/pubsub-commands.ts +0 -623
  257. package/src/queues/cli/commands/consumer/add.ts +0 -65
  258. package/src/queues/cli/commands/consumer/index.ts +0 -19
  259. package/src/queues/cli/commands/consumer/remove.ts +0 -31
  260. package/src/queues/cli/commands/create.ts +0 -25
  261. package/src/queues/cli/commands/delete.ts +0 -26
  262. package/src/queues/cli/commands/index.ts +0 -35
  263. package/src/queues/cli/commands/list.ts +0 -25
  264. package/src/queues/client.ts +0 -135
  265. package/src/queues/utils.ts +0 -18
  266. package/src/r2/constants.ts +0 -4
  267. package/src/r2/helpers.ts +0 -131
  268. package/src/r2/index.ts +0 -289
  269. package/src/routes.ts +0 -140
  270. package/src/secret/index.ts +0 -374
  271. package/src/selfsigned.d.ts +0 -29
  272. package/src/sites.ts +0 -372
  273. package/src/tail/createTail.ts +0 -406
  274. package/src/tail/filters.ts +0 -277
  275. package/src/tail/index.ts +0 -211
  276. package/src/tail/printing.ts +0 -122
  277. package/src/tsconfig-sanity.ts +0 -16
  278. package/src/type-generation.ts +0 -181
  279. package/src/update-check.ts +0 -19
  280. package/src/user/access.ts +0 -68
  281. package/src/user/auth-variables.ts +0 -113
  282. package/src/user/choose-account.tsx +0 -39
  283. package/src/user/generate-auth-url.ts +0 -33
  284. package/src/user/generate-random-state.ts +0 -16
  285. package/src/user/index.ts +0 -2
  286. package/src/user/user.ts +0 -1232
  287. package/src/utils/collectKeyValues.ts +0 -14
  288. package/src/whoami.ts +0 -135
  289. package/src/worker.ts +0 -251
  290. package/src/yargs-types.ts +0 -37
  291. package/src/zones.ts +0 -191
  292. package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
  293. package/templates/d1-beta-facade.js +0 -241
  294. package/templates/first-party-worker-module-facade.ts +0 -19
  295. package/templates/format-dev-errors.ts +0 -33
  296. package/templates/serve-static-assets.ts +0 -65
  297. package/templates/service-bindings-module-facade.js +0 -54
  298. package/templates/service-bindings-sw-facade.js +0 -42
  299. package/wrangler-dist/wasm-sync.wasm +0 -0
package/README.md CHANGED
@@ -1,84 +1,74 @@
1
1
  <h1 align="center"> ⛅️ wrangler </h1>
2
2
  <section align="center" id="shieldio-badges">
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
- <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/wrangler2?style=flat-square">
5
- <img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/wrangler2/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>
4
+ <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/workers-sdk?style=flat-square">
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.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.
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,14 +1,8 @@
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
4
 
7
- const MIN_NODE_VERSION = "16.13.0";
8
- const debug =
9
- process.env["WRANGLER_LOG"] === "debug"
10
- ? (...args) => console.log(...args)
11
- : () => {};
5
+ const MIN_NODE_VERSION = "18.0.0";
12
6
 
13
7
  let wranglerProcess;
14
8
 
@@ -20,7 +14,7 @@ function runWrangler() {
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(
23
- `Wrangler requires at least node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of node.js.
17
+ `Wrangler requires at least Node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of Node.js.
24
18
 
25
19
  Consider using a Node.js version manager such as https://volta.sh/ or https://github.com/nvm-sh/nvm.`
26
20
  );
@@ -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
+ }