wrangler 0.0.0-df9d5550 → 0.0.0-dfacbd46a

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 (281) hide show
  1. package/README.md +35 -45
  2. package/bin/wrangler.js +15 -102
  3. package/config-schema.json +2277 -0
  4. package/package.json +182 -192
  5. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  6. package/templates/__tests__/tsconfig.json +8 -0
  7. package/templates/checked-fetch.js +19 -6
  8. package/templates/facade.d.ts +19 -0
  9. package/templates/gitignore +2 -3
  10. package/templates/init-tests/test-jest-new-worker.js +3 -5
  11. package/templates/init-tests/test-vitest-new-worker.js +4 -6
  12. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  13. package/templates/middleware/common.ts +9 -4
  14. package/templates/middleware/loader-modules.ts +94 -44
  15. package/templates/middleware/loader-sw.ts +6 -4
  16. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  17. package/templates/middleware/middleware-miniflare3-json-error.ts +17 -5
  18. package/templates/middleware/middleware-mock-analytics-engine.d.ts +3 -0
  19. package/templates/middleware/middleware-mock-analytics-engine.ts +30 -0
  20. package/templates/middleware/middleware-patch-console-prefix.d.ts +3 -0
  21. package/templates/middleware/middleware-patch-console-prefix.ts +21 -0
  22. package/templates/middleware/middleware-scheduled.ts +15 -1
  23. package/templates/modules-watch-stub.js +4 -0
  24. package/templates/new-worker-scheduled.ts +1 -1
  25. package/templates/new-worker.ts +4 -1
  26. package/templates/pages-dev-pipeline.ts +8 -3
  27. package/templates/pages-dev-util.ts +4 -1
  28. package/templates/pages-shim.ts +1 -1
  29. package/templates/pages-template-plugin.ts +33 -14
  30. package/templates/pages-template-worker.ts +12 -3
  31. package/templates/startDevWorker/InspectorProxyWorker.ts +679 -0
  32. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  33. package/templates/tsconfig-sanity.ts +11 -0
  34. package/templates/tsconfig.init.json +22 -0
  35. package/templates/tsconfig.json +12 -103
  36. package/templates/tsconfig.tsbuildinfo +1 -0
  37. package/wrangler-dist/InspectorProxyWorker.js +471 -0
  38. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  39. package/wrangler-dist/ProxyWorker.js +238 -0
  40. package/wrangler-dist/ProxyWorker.js.map +6 -0
  41. package/wrangler-dist/cli.d.ts +26156 -371
  42. package/wrangler-dist/cli.js +150081 -160770
  43. package/Cloudflare_CA.pem +0 -18
  44. package/import_meta_url.js +0 -3
  45. package/miniflare-config-stubs/.env.empty +0 -0
  46. package/miniflare-config-stubs/package.empty.json +0 -1
  47. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  48. package/miniflare-dist/index.mjs +0 -6364
  49. package/src/__tests__/access.test.ts +0 -25
  50. package/src/__tests__/api-dev.test.ts +0 -209
  51. package/src/__tests__/api-devregistry.test.js +0 -56
  52. package/src/__tests__/api.test.ts +0 -80
  53. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  54. package/src/__tests__/config-cache.test.ts +0 -42
  55. package/src/__tests__/configuration.test.ts +0 -4192
  56. package/src/__tests__/d1.test.ts +0 -80
  57. package/src/__tests__/delete.test.ts +0 -263
  58. package/src/__tests__/deployments.test.ts +0 -105
  59. package/src/__tests__/dev.test.tsx +0 -1553
  60. package/src/__tests__/dialogs.test.tsx +0 -40
  61. package/src/__tests__/generate.test.ts +0 -235
  62. package/src/__tests__/get-host-from-url.test.ts +0 -16
  63. package/src/__tests__/guess-worker-format.test.ts +0 -85
  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/mock-account-id.ts +0 -48
  67. package/src/__tests__/helpers/mock-bin.ts +0 -36
  68. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  69. package/src/__tests__/helpers/mock-console.ts +0 -106
  70. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  71. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  72. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  73. package/src/__tests__/helpers/mock-istty.ts +0 -74
  74. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  75. package/src/__tests__/helpers/mock-kv.ts +0 -33
  76. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -256
  77. package/src/__tests__/helpers/mock-process.ts +0 -39
  78. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  79. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  80. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  81. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -59
  82. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  83. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  84. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  85. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  86. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  87. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -22
  88. package/src/__tests__/helpers/msw/index.ts +0 -21
  89. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  90. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  91. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  92. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  93. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  94. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  95. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  96. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  97. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  98. package/src/__tests__/https-options.test.ts +0 -163
  99. package/src/__tests__/index.test.ts +0 -268
  100. package/src/__tests__/init.test.ts +0 -2951
  101. package/src/__tests__/jest.setup.ts +0 -202
  102. package/src/__tests__/kv.test.ts +0 -1675
  103. package/src/__tests__/logger.test.ts +0 -141
  104. package/src/__tests__/logout.test.ts +0 -47
  105. package/src/__tests__/metrics.test.ts +0 -495
  106. package/src/__tests__/middleware.scheduled.test.ts +0 -135
  107. package/src/__tests__/middleware.test.ts +0 -726
  108. package/src/__tests__/package-manager.test.ts +0 -353
  109. package/src/__tests__/pages-deployment-tail.test.ts +0 -884
  110. package/src/__tests__/pages.test.ts +0 -2443
  111. package/src/__tests__/parse.test.ts +0 -330
  112. package/src/__tests__/paths.test.ts +0 -39
  113. package/src/__tests__/publish.test.ts +0 -7720
  114. package/src/__tests__/pubsub.test.ts +0 -490
  115. package/src/__tests__/queues.test.ts +0 -522
  116. package/src/__tests__/r2.test.ts +0 -393
  117. package/src/__tests__/route.test.ts +0 -45
  118. package/src/__tests__/secret.test.ts +0 -644
  119. package/src/__tests__/tail.test.ts +0 -899
  120. package/src/__tests__/test-old-node-version.js +0 -31
  121. package/src/__tests__/type-generation.test.ts +0 -233
  122. package/src/__tests__/user.test.ts +0 -129
  123. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  124. package/src/__tests__/validate-dev-props.test.ts +0 -56
  125. package/src/__tests__/version.test.ts +0 -35
  126. package/src/__tests__/whoami.test.tsx +0 -278
  127. package/src/__tests__/worker-namespace.test.ts +0 -326
  128. package/src/abort.d.ts +0 -3
  129. package/src/api/dev.ts +0 -210
  130. package/src/api/index.ts +0 -2
  131. package/src/bundle-reporter.tsx +0 -68
  132. package/src/bundle.ts +0 -823
  133. package/src/cfetch/index.ts +0 -160
  134. package/src/cfetch/internal.ts +0 -270
  135. package/src/cli.ts +0 -28
  136. package/src/config/README.md +0 -107
  137. package/src/config/config.ts +0 -275
  138. package/src/config/diagnostics.ts +0 -80
  139. package/src/config/environment.ts +0 -577
  140. package/src/config/index.ts +0 -358
  141. package/src/config/validation-helpers.ts +0 -597
  142. package/src/config/validation.ts +0 -2152
  143. package/src/config-cache.ts +0 -85
  144. package/src/create-worker-preview.ts +0 -282
  145. package/src/create-worker-upload-form.ts +0 -325
  146. package/src/d1/backups.tsx +0 -223
  147. package/src/d1/constants.ts +0 -2
  148. package/src/d1/create.tsx +0 -63
  149. package/src/d1/delete.tsx +0 -56
  150. package/src/d1/execute.tsx +0 -352
  151. package/src/d1/formatTimeAgo.ts +0 -14
  152. package/src/d1/index.ts +0 -101
  153. package/src/d1/list.tsx +0 -48
  154. package/src/d1/migrations/apply.tsx +0 -187
  155. package/src/d1/migrations/create.tsx +0 -77
  156. package/src/d1/migrations/helpers.ts +0 -147
  157. package/src/d1/migrations/index.tsx +0 -3
  158. package/src/d1/migrations/list.tsx +0 -79
  159. package/src/d1/migrations/options.ts +0 -18
  160. package/src/d1/options.ts +0 -22
  161. package/src/d1/types.tsx +0 -24
  162. package/src/d1/utils.ts +0 -48
  163. package/src/delete.ts +0 -108
  164. package/src/deployments.ts +0 -83
  165. package/src/deprecated/index.ts +0 -145
  166. package/src/dev/dev-vars.ts +0 -39
  167. package/src/dev/dev.tsx +0 -614
  168. package/src/dev/get-local-persistence-path.tsx +0 -31
  169. package/src/dev/local.tsx +0 -920
  170. package/src/dev/remote.tsx +0 -603
  171. package/src/dev/start-server.ts +0 -535
  172. package/src/dev/use-esbuild.ts +0 -204
  173. package/src/dev/validate-dev-props.ts +0 -31
  174. package/src/dev-registry.tsx +0 -201
  175. package/src/dev.tsx +0 -930
  176. package/src/dialogs.tsx +0 -168
  177. package/src/dispatch-namespace.ts +0 -207
  178. package/src/docs/index.ts +0 -97
  179. package/src/durable.ts +0 -102
  180. package/src/entry.ts +0 -329
  181. package/src/environment-variables.ts +0 -50
  182. package/src/errors.ts +0 -11
  183. package/src/generate/index.ts +0 -300
  184. package/src/git-client.ts +0 -135
  185. package/src/global-wrangler-config-path.ts +0 -26
  186. package/src/https-options.ts +0 -127
  187. package/src/index.tsx +0 -694
  188. package/src/init.ts +0 -990
  189. package/src/inspect.ts +0 -767
  190. package/src/intl-polyfill.d.ts +0 -139
  191. package/src/is-ci.ts +0 -14
  192. package/src/is-interactive.ts +0 -16
  193. package/src/kv/helpers.ts +0 -430
  194. package/src/kv/index.ts +0 -596
  195. package/src/logger.ts +0 -92
  196. package/src/metrics/index.ts +0 -5
  197. package/src/metrics/metrics-config.ts +0 -239
  198. package/src/metrics/metrics-dispatcher.ts +0 -96
  199. package/src/metrics/metrics-usage-headers.ts +0 -24
  200. package/src/metrics/send-event.ts +0 -97
  201. package/src/miniflare-cli/README.md +0 -30
  202. package/src/miniflare-cli/assets.ts +0 -246
  203. package/src/miniflare-cli/index.ts +0 -214
  204. package/src/miniflare-cli/request-context.ts +0 -40
  205. package/src/module-collection.ts +0 -267
  206. package/src/open-in-browser.ts +0 -17
  207. package/src/package-manager.ts +0 -219
  208. package/src/pages/build.tsx +0 -270
  209. package/src/pages/constants.ts +0 -18
  210. package/src/pages/deployment-tails.tsx +0 -284
  211. package/src/pages/deployments.tsx +0 -84
  212. package/src/pages/dev.tsx +0 -713
  213. package/src/pages/errors.ts +0 -66
  214. package/src/pages/functions/buildPlugin.ts +0 -107
  215. package/src/pages/functions/buildWorker.ts +0 -166
  216. package/src/pages/functions/filepath-routing.test.ts +0 -234
  217. package/src/pages/functions/filepath-routing.ts +0 -189
  218. package/src/pages/functions/identifiers.ts +0 -78
  219. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  220. package/src/pages/functions/routes-consolidation.ts +0 -73
  221. package/src/pages/functions/routes-transformation.test.ts +0 -282
  222. package/src/pages/functions/routes-transformation.ts +0 -115
  223. package/src/pages/functions/routes-validation.test.ts +0 -403
  224. package/src/pages/functions/routes-validation.ts +0 -202
  225. package/src/pages/functions/routes.ts +0 -151
  226. package/src/pages/functions.tsx +0 -82
  227. package/src/pages/hash.tsx +0 -13
  228. package/src/pages/index.tsx +0 -102
  229. package/src/pages/projects.tsx +0 -169
  230. package/src/pages/prompt-select-project.tsx +0 -31
  231. package/src/pages/publish.tsx +0 -461
  232. package/src/pages/types.ts +0 -41
  233. package/src/pages/upload.tsx +0 -447
  234. package/src/pages/utils.ts +0 -23
  235. package/src/parse.ts +0 -286
  236. package/src/paths.ts +0 -71
  237. package/src/proxy.ts +0 -694
  238. package/src/publish/index.ts +0 -270
  239. package/src/publish/publish.ts +0 -1036
  240. package/src/pubsub/index.ts +0 -286
  241. package/src/pubsub/pubsub-commands.tsx +0 -624
  242. package/src/queues/cli/commands/consumer/add.ts +0 -71
  243. package/src/queues/cli/commands/consumer/index.ts +0 -22
  244. package/src/queues/cli/commands/consumer/remove.ts +0 -38
  245. package/src/queues/cli/commands/create.ts +0 -25
  246. package/src/queues/cli/commands/delete.ts +0 -26
  247. package/src/queues/cli/commands/index.ts +0 -36
  248. package/src/queues/cli/commands/list.ts +0 -25
  249. package/src/queues/client.ts +0 -135
  250. package/src/queues/utils.ts +0 -18
  251. package/src/r2/constants.ts +0 -4
  252. package/src/r2/helpers.ts +0 -131
  253. package/src/r2/index.ts +0 -289
  254. package/src/routes.ts +0 -140
  255. package/src/secret/index.ts +0 -379
  256. package/src/selfsigned.d.ts +0 -29
  257. package/src/sites.tsx +0 -372
  258. package/src/tail/createTail.ts +0 -379
  259. package/src/tail/filters.ts +0 -277
  260. package/src/tail/index.ts +0 -214
  261. package/src/tail/printing.ts +0 -107
  262. package/src/type-generation.ts +0 -181
  263. package/src/update-check.ts +0 -19
  264. package/src/user/access.ts +0 -69
  265. package/src/user/choose-account.tsx +0 -69
  266. package/src/user/env-vars.ts +0 -46
  267. package/src/user/generate-auth-url.ts +0 -33
  268. package/src/user/generate-random-state.ts +0 -16
  269. package/src/user/index.ts +0 -3
  270. package/src/user/user.tsx +0 -1198
  271. package/src/utils/collectKeyValues.ts +0 -14
  272. package/src/whoami.tsx +0 -169
  273. package/src/worker.ts +0 -251
  274. package/src/yargs-types.ts +0 -24
  275. package/src/zones.ts +0 -191
  276. package/templates/d1-beta-facade.js +0 -205
  277. package/templates/first-party-worker-module-facade.ts +0 -18
  278. package/templates/format-dev-errors.ts +0 -32
  279. package/templates/serve-static-assets.ts +0 -63
  280. package/templates/service-bindings-module-facade.js +0 -54
  281. package/templates/service-bindings-sw-facade.js +0 -42
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,75 +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
- debug(`Delegating to locally-installed version of wrangler @ v${version}`);
97
-
98
- // this call to `spawn` is simpler because the delegated version will do all
99
- // of the other work.
100
- return spawn(
101
- process.execPath,
102
- [resolvedBinaryPath, ...process.argv.slice(2)],
103
- {
104
- stdio: ["inherit", "inherit", "inherit", "ipc"],
105
- }
106
- )
107
- .on("exit", (code) =>
108
- process.exit(code === undefined || code === null ? 0 : code)
109
- )
110
- .on("message", (message) => {
111
- if (process.send) {
112
- process.send(message);
45
+ })
46
+ .on("disconnect", () => {
47
+ if (process.disconnect) {
48
+ process.disconnect();
113
49
  }
114
50
  });
115
51
  }
116
52
 
117
- /**
118
- * Indicates if this invocation of `wrangler` should delegate
119
- * to a locally-installed version.
120
- */
121
- function shouldDelegate() {
122
- try {
123
- // `require.resolve` will throw if it can't find
124
- // a locally-installed version of `wrangler`
125
- const delegatedPackageJson = require.resolve("wrangler/package.json", {
126
- paths: [process.cwd()],
127
- });
128
- const thisPackageJson = path.resolve(__dirname, "..", "package.json");
129
- // if it's the same path, then we're already a local install -- no need to delegate
130
- return thisPackageJson !== delegatedPackageJson;
131
- } catch (e) {
132
- // there's no local version to delegate to -- `require.resolve` threw
133
- return false;
134
- }
135
- }
136
-
137
- async function main() {
138
- wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
139
- }
140
-
141
- process.on("SIGINT", () => {
142
- wranglerProcess && wranglerProcess.kill();
143
- });
144
- process.on("SIGTERM", () => {
145
- wranglerProcess && wranglerProcess.kill();
146
- });
147
-
148
53
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
149
54
 
150
55
  /**
@@ -177,4 +82,12 @@ function semiver(a, b, bool) {
177
82
 
178
83
  // end semiver implementation
179
84
 
180
- 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
+ }