wrangler 0.0.0-b7e5510d → 0.0.0-b7eba92da

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 (272) hide show
  1. package/README.md +31 -45
  2. package/bin/wrangler.js +24 -99
  3. package/config-schema.json +3369 -0
  4. package/package.json +184 -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 +48 -32
  16. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  17. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  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/middleware/middleware-serve-static-assets.d.ts +6 -0
  24. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  25. package/templates/modules-watch-stub.js +4 -0
  26. package/templates/new-worker-scheduled.ts +1 -1
  27. package/templates/new-worker.ts +4 -1
  28. package/templates/pages-dev-pipeline.ts +8 -3
  29. package/templates/pages-dev-util.ts +4 -1
  30. package/templates/pages-shim.ts +1 -1
  31. package/templates/pages-template-plugin.ts +33 -14
  32. package/templates/pages-template-worker.ts +12 -3
  33. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  34. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  35. package/templates/tsconfig-sanity.ts +11 -0
  36. package/templates/tsconfig.init.json +22 -0
  37. package/templates/tsconfig.json +12 -103
  38. package/templates/tsconfig.tsbuildinfo +1 -0
  39. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  40. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  41. package/wrangler-dist/ProxyWorker.js +241 -0
  42. package/wrangler-dist/ProxyWorker.js.map +6 -0
  43. package/wrangler-dist/cli.d.ts +26492 -527
  44. package/wrangler-dist/cli.js +147296 -152723
  45. package/Cloudflare_CA.pem +0 -18
  46. package/import_meta_url.js +0 -3
  47. package/miniflare-config-stubs/.env.empty +0 -0
  48. package/miniflare-config-stubs/package.empty.json +0 -1
  49. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  50. package/miniflare-dist/index.mjs +0 -6316
  51. package/src/__tests__/access.test.ts +0 -25
  52. package/src/__tests__/api-dev.test.ts +0 -209
  53. package/src/__tests__/api-devregistry.test.js +0 -56
  54. package/src/__tests__/api.test.ts +0 -80
  55. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  56. package/src/__tests__/config-cache.test.ts +0 -42
  57. package/src/__tests__/configuration.test.ts +0 -3981
  58. package/src/__tests__/d1.test.ts +0 -74
  59. package/src/__tests__/delete.test.ts +0 -230
  60. package/src/__tests__/deployments.test.ts +0 -91
  61. package/src/__tests__/dev.test.tsx +0 -1509
  62. package/src/__tests__/dialogs.test.tsx +0 -40
  63. package/src/__tests__/generate.test.ts +0 -235
  64. package/src/__tests__/get-host-from-url.test.ts +0 -16
  65. package/src/__tests__/guess-worker-format.test.ts +0 -85
  66. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  67. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  68. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  69. package/src/__tests__/helpers/mock-bin.ts +0 -36
  70. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  71. package/src/__tests__/helpers/mock-console.ts +0 -106
  72. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  73. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  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 -7
  77. package/src/__tests__/helpers/mock-kv.ts +0 -33
  78. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -252
  79. package/src/__tests__/helpers/mock-process.ts +0 -39
  80. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  81. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  82. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  83. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -59
  84. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  85. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -36
  86. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  87. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  88. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  89. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -22
  90. package/src/__tests__/helpers/msw/index.ts +0 -21
  91. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  92. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  93. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  94. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  95. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  96. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  97. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  98. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  99. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  100. package/src/__tests__/https-options.test.ts +0 -163
  101. package/src/__tests__/index.test.ts +0 -262
  102. package/src/__tests__/init.test.ts +0 -2900
  103. package/src/__tests__/jest.setup.ts +0 -202
  104. package/src/__tests__/kv.test.ts +0 -1675
  105. package/src/__tests__/logger.test.ts +0 -141
  106. package/src/__tests__/metrics.test.ts +0 -450
  107. package/src/__tests__/middleware.scheduled.test.ts +0 -135
  108. package/src/__tests__/middleware.test.ts +0 -726
  109. package/src/__tests__/package-manager.test.ts +0 -353
  110. package/src/__tests__/pages.test.ts +0 -2387
  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 -7633
  114. package/src/__tests__/pubsub.test.ts +0 -370
  115. package/src/__tests__/queues.test.ts +0 -371
  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 -800
  120. package/src/__tests__/test-old-node-version.js +0 -31
  121. package/src/__tests__/type-generation.test.ts +0 -217
  122. package/src/__tests__/user.test.ts +0 -155
  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 -208
  130. package/src/api/index.ts +0 -2
  131. package/src/bundle-reporter.tsx +0 -68
  132. package/src/bundle.ts +0 -815
  133. package/src/cfetch/index.ts +0 -160
  134. package/src/cfetch/internal.ts +0 -263
  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 -561
  140. package/src/config/index.ts +0 -334
  141. package/src/config/validation-helpers.ts +0 -597
  142. package/src/config/validation.ts +0 -2103
  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 -316
  146. package/src/d1/backups.tsx +0 -218
  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 -344
  151. package/src/d1/formatTimeAgo.ts +0 -14
  152. package/src/d1/index.ts +0 -99
  153. package/src/d1/list.tsx +0 -48
  154. package/src/d1/migrations.tsx +0 -446
  155. package/src/d1/options.ts +0 -22
  156. package/src/d1/types.tsx +0 -24
  157. package/src/d1/utils.ts +0 -48
  158. package/src/delete.ts +0 -108
  159. package/src/deployments.ts +0 -73
  160. package/src/deprecated/index.ts +0 -438
  161. package/src/dev/dev-vars.ts +0 -39
  162. package/src/dev/dev.tsx +0 -587
  163. package/src/dev/get-local-persistence-path.tsx +0 -31
  164. package/src/dev/local.tsx +0 -717
  165. package/src/dev/remote.tsx +0 -603
  166. package/src/dev/start-server.ts +0 -519
  167. package/src/dev/use-esbuild.ts +0 -204
  168. package/src/dev/validate-dev-props.ts +0 -31
  169. package/src/dev-registry.tsx +0 -201
  170. package/src/dev.tsx +0 -868
  171. package/src/dialogs.tsx +0 -169
  172. package/src/dispatch-namespace.ts +0 -207
  173. package/src/durable.ts +0 -102
  174. package/src/entry.ts +0 -329
  175. package/src/environment-variables.ts +0 -50
  176. package/src/errors.ts +0 -11
  177. package/src/git-client.ts +0 -124
  178. package/src/global-wrangler-config-path.ts +0 -26
  179. package/src/https-options.ts +0 -127
  180. package/src/index.tsx +0 -684
  181. package/src/init.ts +0 -970
  182. package/src/inspect.ts +0 -767
  183. package/src/intl-polyfill.d.ts +0 -139
  184. package/src/is-ci.ts +0 -14
  185. package/src/is-interactive.ts +0 -16
  186. package/src/kv/helpers.ts +0 -430
  187. package/src/kv/index.ts +0 -596
  188. package/src/logger.ts +0 -92
  189. package/src/metrics/index.ts +0 -5
  190. package/src/metrics/metrics-config.ts +0 -239
  191. package/src/metrics/metrics-dispatcher.ts +0 -96
  192. package/src/metrics/metrics-usage-headers.ts +0 -24
  193. package/src/metrics/send-event.ts +0 -94
  194. package/src/miniflare-cli/README.md +0 -30
  195. package/src/miniflare-cli/assets.ts +0 -215
  196. package/src/miniflare-cli/index.ts +0 -213
  197. package/src/miniflare-cli/request-context.ts +0 -40
  198. package/src/module-collection.ts +0 -267
  199. package/src/open-in-browser.ts +0 -17
  200. package/src/package-manager.ts +0 -219
  201. package/src/pages/build.tsx +0 -270
  202. package/src/pages/constants.ts +0 -18
  203. package/src/pages/deployments.tsx +0 -106
  204. package/src/pages/dev.tsx +0 -708
  205. package/src/pages/errors.ts +0 -66
  206. package/src/pages/functions/buildPlugin.ts +0 -106
  207. package/src/pages/functions/buildWorker.ts +0 -165
  208. package/src/pages/functions/filepath-routing.test.ts +0 -234
  209. package/src/pages/functions/filepath-routing.ts +0 -189
  210. package/src/pages/functions/identifiers.ts +0 -78
  211. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  212. package/src/pages/functions/routes-consolidation.ts +0 -73
  213. package/src/pages/functions/routes-transformation.test.ts +0 -282
  214. package/src/pages/functions/routes-transformation.ts +0 -115
  215. package/src/pages/functions/routes-validation.test.ts +0 -403
  216. package/src/pages/functions/routes-validation.ts +0 -202
  217. package/src/pages/functions/routes.ts +0 -151
  218. package/src/pages/functions.tsx +0 -82
  219. package/src/pages/hash.tsx +0 -13
  220. package/src/pages/index.tsx +0 -94
  221. package/src/pages/projects.tsx +0 -169
  222. package/src/pages/publish.tsx +0 -446
  223. package/src/pages/types.ts +0 -49
  224. package/src/pages/upload.tsx +0 -425
  225. package/src/pages/utils.ts +0 -12
  226. package/src/parse.ts +0 -286
  227. package/src/paths.ts +0 -71
  228. package/src/proxy.ts +0 -689
  229. package/src/publish/index.ts +0 -270
  230. package/src/publish/publish.ts +0 -1035
  231. package/src/pubsub/index.ts +0 -286
  232. package/src/pubsub/pubsub-commands.tsx +0 -624
  233. package/src/queues/cli/commands/consumer/add.ts +0 -71
  234. package/src/queues/cli/commands/consumer/index.ts +0 -22
  235. package/src/queues/cli/commands/consumer/remove.ts +0 -38
  236. package/src/queues/cli/commands/create.ts +0 -25
  237. package/src/queues/cli/commands/delete.ts +0 -26
  238. package/src/queues/cli/commands/index.ts +0 -33
  239. package/src/queues/cli/commands/list.ts +0 -25
  240. package/src/queues/client.ts +0 -135
  241. package/src/r2/constants.ts +0 -4
  242. package/src/r2/helpers.ts +0 -131
  243. package/src/r2/index.ts +0 -289
  244. package/src/routes.ts +0 -140
  245. package/src/secret/index.ts +0 -378
  246. package/src/selfsigned.d.ts +0 -29
  247. package/src/sites.tsx +0 -372
  248. package/src/tail/createTail.ts +0 -315
  249. package/src/tail/filters.ts +0 -277
  250. package/src/tail/index.ts +0 -214
  251. package/src/tail/printing.ts +0 -107
  252. package/src/type-generation.ts +0 -159
  253. package/src/update-check.ts +0 -19
  254. package/src/user/access.ts +0 -69
  255. package/src/user/choose-account.tsx +0 -69
  256. package/src/user/env-vars.ts +0 -46
  257. package/src/user/generate-auth-url.ts +0 -33
  258. package/src/user/generate-random-state.ts +0 -16
  259. package/src/user/index.ts +0 -3
  260. package/src/user/user.tsx +0 -1192
  261. package/src/utils/collectKeyValues.ts +0 -14
  262. package/src/whoami.tsx +0 -169
  263. package/src/worker.ts +0 -245
  264. package/src/yargs-types.ts +0 -20
  265. package/src/zones.ts +0 -191
  266. package/templates/d1-beta-facade.js +0 -196
  267. package/templates/experimental-local-cache-stubs.js +0 -27
  268. package/templates/first-party-worker-module-facade.ts +0 -18
  269. package/templates/format-dev-errors.ts +0 -32
  270. package/templates/serve-static-assets.ts +0 -63
  271. package/templates/service-bindings-module-facade.js +0 -54
  272. package/templates/service-bindings-sw-facade.js +0 -42
package/README.md CHANGED
@@ -1,84 +1,70 @@
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
 
11
+ > [!WARNING]
12
+ >
13
+ > Wrangler v2 is **only receiving critical security updates.** We recommend you [migrate to Wrangler v3](https://developers.cloudflare.com/workers/wrangler/migration/update-v2-to-v3/) if you can.
14
+
13
15
  ## Quick Start
14
16
 
17
+ To get started quickly with a Hello World worker, run the command below:
18
+
15
19
  ```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
20
+ npx wrangler init my-worker -y
23
21
  ```
24
22
 
25
- ## Create a Project
23
+ For more info, visit our [Getting Started](https://developers.cloudflare.com/workers/get-started/guide/) guide.
26
24
 
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
- ```
25
+ ## Documentation
35
26
 
36
- ## Installation:
27
+ For the latest Wrangler documentation, [click here](https://developers.cloudflare.com/workers/wrangler/).
37
28
 
38
- ```bash
39
- $ npm install wrangler --save-dev
40
- ```
29
+ To read more about Workers in general:
41
30
 
42
- ## Configuration:
31
+ - [Getting Started](https://developers.cloudflare.com/workers/get-started/guide/)
32
+ - [How Workers works](https://developers.cloudflare.com/workers/reference/how-workers-works/)
33
+ - [Observability](https://developers.cloudflare.com/workers/observability/)
34
+ - [Platform](https://developers.cloudflare.com/workers/platform/)
43
35
 
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.
36
+ ## Configuration
45
37
 
46
- example:
38
+ 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
39
 
48
40
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
41
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
42
+ main = "./src/index.ts"
43
+ compatibility_date = "YYYY-MM-DD"
52
44
  ```
53
45
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
46
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
47
 
56
48
  ## Commands
57
49
 
58
- ### `wrangler init [name]`
50
+ ### Workers
59
51
 
60
- Creates a Worker project. For details on configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/#init).
61
-
62
- ### `wrangler dev`
52
+ #### `wrangler dev`
63
53
 
64
54
  Start a local development server, with live reloading and devtools.
65
55
 
66
- ### `wrangler publish`
56
+ #### `wrangler deploy`
67
57
 
68
- Publish the given script to the worldwide Cloudflare network.
58
+ Publish the given script to Cloudflare's global network.
69
59
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
60
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
61
 
72
- ## Pages
62
+ ### Pages
73
63
 
74
- ### `wrangler pages dev [directory] [-- command]`
64
+ #### `wrangler pages dev [directory]`
75
65
 
76
- Either serves a static build asset directory, or proxies itself in front of a command.
66
+ Serves a static build asset directory.
77
67
 
78
68
  Builds and runs functions from a `./functions` directory or uses a `_worker.js` file inside the static build asset directory.
79
69
 
80
70
  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
5
  const MIN_NODE_VERSION = "16.13.0";
8
- const debug =
9
- process.env["WRANGLER_LOG"] === "debug"
10
- ? (...args) => console.log(...args)
11
- : () => {};
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
  [
@@ -62,77 +32,24 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
62
32
  ...process.argv.slice(2),
63
33
  ],
64
34
  {
65
- stdio: "inherit",
66
- env: {
67
- ...process.env,
68
- NODE_EXTRA_CA_CERTS: pathToCACerts,
69
- },
35
+ stdio: ["inherit", "inherit", "inherit", "ipc"],
70
36
  }
71
- ).on("exit", (code) =>
72
- process.exit(code === undefined || code === null ? 0 : code)
73
- );
74
- }
75
-
76
- /**
77
- * Runs a locally-installed version of wrangler, delegating from this version.
78
- * @throws {MODULE_NOT_FOUND} if there isn't a locally installed version of wrangler.
79
- */
80
- function runDelegatedWrangler() {
81
- const packageJsonPath = require.resolve("wrangler/package.json", {
82
- paths: [process.cwd()],
83
- });
84
- const {
85
- bin: { wrangler: binaryPath },
86
- version,
87
- } = JSON.parse(fs.readFileSync(packageJsonPath));
88
- const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
89
-
90
- debug(`Delegating to locally-installed version of wrangler @ v${version}`);
91
-
92
- // this call to `spawn` is simpler because the delegated version will do all
93
- // of the other work.
94
- return spawn(
95
- process.execPath,
96
- [resolvedBinaryPath, ...process.argv.slice(2)],
97
- {
98
- stdio: "inherit",
99
- }
100
- ).on("exit", (code) =>
101
- process.exit(code === undefined || code === null ? 0 : code)
102
- );
103
- }
104
-
105
- /**
106
- * Indicates if this invocation of `wrangler` should delegate
107
- * to a locally-installed version.
108
- */
109
- function shouldDelegate() {
110
- try {
111
- // `require.resolve` will throw if it can't find
112
- // a locally-installed version of `wrangler`
113
- const delegatedPackageJson = require.resolve("wrangler/package.json", {
114
- paths: [process.cwd()],
37
+ )
38
+ .on("exit", (code) =>
39
+ process.exit(code === undefined || code === null ? 0 : code)
40
+ )
41
+ .on("message", (message) => {
42
+ if (process.send) {
43
+ process.send(message);
44
+ }
45
+ })
46
+ .on("disconnect", () => {
47
+ if (process.disconnect) {
48
+ process.disconnect();
49
+ }
115
50
  });
116
- const thisPackageJson = path.resolve(__dirname, "..", "package.json");
117
- // if it's the same path, then we're already a local install -- no need to delegate
118
- return thisPackageJson !== delegatedPackageJson;
119
- } catch (e) {
120
- // there's no local version to delegate to -- `require.resolve` threw
121
- return false;
122
- }
123
51
  }
124
52
 
125
- async function main() {
126
- wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
127
- }
128
-
129
- process.on("SIGINT", () => {
130
- wranglerProcess && wranglerProcess.kill();
131
- });
132
- process.on("SIGTERM", () => {
133
- wranglerProcess && wranglerProcess.kill();
134
- });
135
-
136
53
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
137
54
 
138
55
  /**
@@ -165,4 +82,12 @@ function semiver(a, b, bool) {
165
82
 
166
83
  // end semiver implementation
167
84
 
168
- 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
+ }