wrangler 0.0.0-cf3fce50 → 0.0.0-cf4f47a8a

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 (280) hide show
  1. package/README.md +31 -45
  2. package/bin/wrangler.js +14 -95
  3. package/config-schema.json +3324 -0
  4. package/package.json +183 -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/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 +6 -2
  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 +5 -103
  38. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  39. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  40. package/wrangler-dist/ProxyWorker.js +241 -0
  41. package/wrangler-dist/ProxyWorker.js.map +6 -0
  42. package/wrangler-dist/cli.d.ts +26342 -542
  43. package/wrangler-dist/cli.js +158489 -152379
  44. package/Cloudflare_CA.pem +0 -18
  45. package/import_meta_url.js +0 -3
  46. package/miniflare-config-stubs/.env.empty +0 -0
  47. package/miniflare-config-stubs/package.empty.json +0 -1
  48. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  49. package/miniflare-dist/index.mjs +0 -6364
  50. package/src/__tests__/access.test.ts +0 -25
  51. package/src/__tests__/api-dev.test.ts +0 -209
  52. package/src/__tests__/api-devregistry.test.js +0 -56
  53. package/src/__tests__/api.test.ts +0 -80
  54. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  55. package/src/__tests__/config-cache.test.ts +0 -42
  56. package/src/__tests__/configuration.test.ts +0 -4192
  57. package/src/__tests__/d1.test.ts +0 -80
  58. package/src/__tests__/delete.test.ts +0 -263
  59. package/src/__tests__/deployments.test.ts +0 -91
  60. package/src/__tests__/dev.test.tsx +0 -1553
  61. package/src/__tests__/dialogs.test.tsx +0 -40
  62. package/src/__tests__/generate.test.ts +0 -235
  63. package/src/__tests__/get-host-from-url.test.ts +0 -16
  64. package/src/__tests__/guess-worker-format.test.ts +0 -85
  65. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  66. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  67. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  68. package/src/__tests__/helpers/mock-bin.ts +0 -36
  69. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  70. package/src/__tests__/helpers/mock-console.ts +0 -106
  71. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  72. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  73. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  74. package/src/__tests__/helpers/mock-istty.ts +0 -74
  75. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  76. package/src/__tests__/helpers/mock-kv.ts +0 -33
  77. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -256
  78. package/src/__tests__/helpers/mock-process.ts +0 -39
  79. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  80. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  81. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  82. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -59
  83. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  84. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  85. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  86. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  87. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  88. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -22
  89. package/src/__tests__/helpers/msw/index.ts +0 -21
  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 -266
  101. package/src/__tests__/init.test.ts +0 -2915
  102. package/src/__tests__/jest.setup.ts +0 -202
  103. package/src/__tests__/kv.test.ts +0 -1675
  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 -495
  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-deployment-tail.test.ts +0 -884
  111. package/src/__tests__/pages.test.ts +0 -2443
  112. package/src/__tests__/parse.test.ts +0 -330
  113. package/src/__tests__/paths.test.ts +0 -39
  114. package/src/__tests__/publish.test.ts +0 -7720
  115. package/src/__tests__/pubsub.test.ts +0 -490
  116. package/src/__tests__/queues.test.ts +0 -522
  117. package/src/__tests__/r2.test.ts +0 -393
  118. package/src/__tests__/route.test.ts +0 -45
  119. package/src/__tests__/secret.test.ts +0 -644
  120. package/src/__tests__/tail.test.ts +0 -899
  121. package/src/__tests__/test-old-node-version.js +0 -31
  122. package/src/__tests__/type-generation.test.ts +0 -233
  123. package/src/__tests__/user.test.ts +0 -129
  124. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  125. package/src/__tests__/validate-dev-props.test.ts +0 -56
  126. package/src/__tests__/version.test.ts +0 -35
  127. package/src/__tests__/whoami.test.tsx +0 -278
  128. package/src/__tests__/worker-namespace.test.ts +0 -326
  129. package/src/abort.d.ts +0 -3
  130. package/src/api/dev.ts +0 -210
  131. package/src/api/index.ts +0 -2
  132. package/src/bundle-reporter.tsx +0 -68
  133. package/src/bundle.ts +0 -823
  134. package/src/cfetch/index.ts +0 -160
  135. package/src/cfetch/internal.ts +0 -270
  136. package/src/cli.ts +0 -28
  137. package/src/config/README.md +0 -107
  138. package/src/config/config.ts +0 -275
  139. package/src/config/diagnostics.ts +0 -80
  140. package/src/config/environment.ts +0 -577
  141. package/src/config/index.ts +0 -357
  142. package/src/config/validation-helpers.ts +0 -597
  143. package/src/config/validation.ts +0 -2152
  144. package/src/config-cache.ts +0 -85
  145. package/src/create-worker-preview.ts +0 -282
  146. package/src/create-worker-upload-form.ts +0 -325
  147. package/src/d1/backups.tsx +0 -223
  148. package/src/d1/constants.ts +0 -2
  149. package/src/d1/create.tsx +0 -63
  150. package/src/d1/delete.tsx +0 -56
  151. package/src/d1/execute.tsx +0 -352
  152. package/src/d1/formatTimeAgo.ts +0 -14
  153. package/src/d1/index.ts +0 -101
  154. package/src/d1/list.tsx +0 -48
  155. package/src/d1/migrations/apply.tsx +0 -187
  156. package/src/d1/migrations/create.tsx +0 -77
  157. package/src/d1/migrations/helpers.ts +0 -147
  158. package/src/d1/migrations/index.tsx +0 -3
  159. package/src/d1/migrations/list.tsx +0 -79
  160. package/src/d1/migrations/options.ts +0 -18
  161. package/src/d1/options.ts +0 -22
  162. package/src/d1/types.tsx +0 -24
  163. package/src/d1/utils.ts +0 -48
  164. package/src/delete.ts +0 -108
  165. package/src/deployments.ts +0 -77
  166. package/src/deprecated/index.ts +0 -438
  167. package/src/dev/dev-vars.ts +0 -39
  168. package/src/dev/dev.tsx +0 -614
  169. package/src/dev/get-local-persistence-path.tsx +0 -31
  170. package/src/dev/local.tsx +0 -920
  171. package/src/dev/remote.tsx +0 -603
  172. package/src/dev/start-server.ts +0 -535
  173. package/src/dev/use-esbuild.ts +0 -204
  174. package/src/dev/validate-dev-props.ts +0 -31
  175. package/src/dev-registry.tsx +0 -201
  176. package/src/dev.tsx +0 -925
  177. package/src/dialogs.tsx +0 -168
  178. package/src/dispatch-namespace.ts +0 -207
  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/git-client.ts +0 -135
  184. package/src/global-wrangler-config-path.ts +0 -26
  185. package/src/https-options.ts +0 -127
  186. package/src/index.tsx +0 -707
  187. package/src/init.ts +0 -978
  188. package/src/inspect.ts +0 -767
  189. package/src/intl-polyfill.d.ts +0 -139
  190. package/src/is-ci.ts +0 -14
  191. package/src/is-interactive.ts +0 -16
  192. package/src/kv/helpers.ts +0 -430
  193. package/src/kv/index.ts +0 -596
  194. package/src/logger.ts +0 -92
  195. package/src/metrics/index.ts +0 -5
  196. package/src/metrics/metrics-config.ts +0 -239
  197. package/src/metrics/metrics-dispatcher.ts +0 -96
  198. package/src/metrics/metrics-usage-headers.ts +0 -24
  199. package/src/metrics/send-event.ts +0 -97
  200. package/src/miniflare-cli/README.md +0 -30
  201. package/src/miniflare-cli/assets.ts +0 -246
  202. package/src/miniflare-cli/index.ts +0 -214
  203. package/src/miniflare-cli/request-context.ts +0 -40
  204. package/src/module-collection.ts +0 -267
  205. package/src/open-in-browser.ts +0 -17
  206. package/src/package-manager.ts +0 -219
  207. package/src/pages/build.tsx +0 -270
  208. package/src/pages/constants.ts +0 -18
  209. package/src/pages/deployment-tails.tsx +0 -284
  210. package/src/pages/deployments.tsx +0 -84
  211. package/src/pages/dev.tsx +0 -713
  212. package/src/pages/errors.ts +0 -66
  213. package/src/pages/functions/buildPlugin.ts +0 -107
  214. package/src/pages/functions/buildWorker.ts +0 -166
  215. package/src/pages/functions/filepath-routing.test.ts +0 -234
  216. package/src/pages/functions/filepath-routing.ts +0 -189
  217. package/src/pages/functions/identifiers.ts +0 -78
  218. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  219. package/src/pages/functions/routes-consolidation.ts +0 -73
  220. package/src/pages/functions/routes-transformation.test.ts +0 -282
  221. package/src/pages/functions/routes-transformation.ts +0 -115
  222. package/src/pages/functions/routes-validation.test.ts +0 -403
  223. package/src/pages/functions/routes-validation.ts +0 -202
  224. package/src/pages/functions/routes.ts +0 -151
  225. package/src/pages/functions.tsx +0 -82
  226. package/src/pages/hash.tsx +0 -13
  227. package/src/pages/index.tsx +0 -102
  228. package/src/pages/projects.tsx +0 -169
  229. package/src/pages/prompt-select-project.tsx +0 -31
  230. package/src/pages/publish.tsx +0 -461
  231. package/src/pages/types.ts +0 -41
  232. package/src/pages/upload.tsx +0 -447
  233. package/src/pages/utils.ts +0 -23
  234. package/src/parse.ts +0 -286
  235. package/src/paths.ts +0 -71
  236. package/src/proxy.ts +0 -694
  237. package/src/publish/index.ts +0 -270
  238. package/src/publish/publish.ts +0 -1036
  239. package/src/pubsub/index.ts +0 -286
  240. package/src/pubsub/pubsub-commands.tsx +0 -624
  241. package/src/queues/cli/commands/consumer/add.ts +0 -71
  242. package/src/queues/cli/commands/consumer/index.ts +0 -22
  243. package/src/queues/cli/commands/consumer/remove.ts +0 -38
  244. package/src/queues/cli/commands/create.ts +0 -25
  245. package/src/queues/cli/commands/delete.ts +0 -26
  246. package/src/queues/cli/commands/index.ts +0 -36
  247. package/src/queues/cli/commands/list.ts +0 -25
  248. package/src/queues/client.ts +0 -135
  249. package/src/queues/utils.ts +0 -18
  250. package/src/r2/constants.ts +0 -4
  251. package/src/r2/helpers.ts +0 -131
  252. package/src/r2/index.ts +0 -289
  253. package/src/routes.ts +0 -140
  254. package/src/secret/index.ts +0 -379
  255. package/src/selfsigned.d.ts +0 -29
  256. package/src/sites.tsx +0 -372
  257. package/src/tail/createTail.ts +0 -379
  258. package/src/tail/filters.ts +0 -277
  259. package/src/tail/index.ts +0 -214
  260. package/src/tail/printing.ts +0 -107
  261. package/src/type-generation.ts +0 -181
  262. package/src/update-check.ts +0 -19
  263. package/src/user/access.ts +0 -69
  264. package/src/user/choose-account.tsx +0 -69
  265. package/src/user/env-vars.ts +0 -46
  266. package/src/user/generate-auth-url.ts +0 -33
  267. package/src/user/generate-random-state.ts +0 -16
  268. package/src/user/index.ts +0 -3
  269. package/src/user/user.tsx +0 -1198
  270. package/src/utils/collectKeyValues.ts +0 -14
  271. package/src/whoami.tsx +0 -169
  272. package/src/worker.ts +0 -251
  273. package/src/yargs-types.ts +0 -24
  274. package/src/zones.ts +0 -191
  275. package/templates/d1-beta-facade.js +0 -205
  276. package/templates/first-party-worker-module-facade.ts +0 -18
  277. package/templates/format-dev-errors.ts +0 -32
  278. package/templates/serve-static-assets.ts +0 -63
  279. package/templates/service-bindings-module-facade.js +0 -54
  280. 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
@@ -20,7 +20,7 @@ function runWrangler() {
20
20
  // Note Volta and nvm are also recommended in the official docs:
21
21
  // https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
22
22
  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.
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.
24
24
 
25
25
  Consider using a Node.js version manager such as https://volta.sh/ or https://github.com/nvm-sh/nvm.`
26
26
  );
@@ -28,30 +28,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
28
28
  return;
29
29
  }
30
30
 
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
31
  return spawn(
56
32
  process.execPath,
57
33
  [
@@ -63,10 +39,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
63
39
  ],
64
40
  {
65
41
  stdio: ["inherit", "inherit", "inherit", "ipc"],
66
- env: {
67
- ...process.env,
68
- NODE_EXTRA_CA_CERTS: pathToCACerts,
69
- },
70
42
  }
71
43
  )
72
44
  .on("exit", (code) =>
@@ -76,75 +48,14 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
76
48
  if (process.send) {
77
49
  process.send(message);
78
50
  }
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);
51
+ })
52
+ .on("disconnect", () => {
53
+ if (process.disconnect) {
54
+ process.disconnect();
113
55
  }
114
56
  });
115
57
  }
116
58
 
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
59
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
149
60
 
150
61
  /**
@@ -177,4 +88,12 @@ function semiver(a, b, bool) {
177
88
 
178
89
  // end semiver implementation
179
90
 
180
- void main();
91
+ if (module === require.main) {
92
+ wranglerProcess = runWrangler();
93
+ process.on("SIGINT", () => {
94
+ wranglerProcess && wranglerProcess.kill();
95
+ });
96
+ process.on("SIGTERM", () => {
97
+ wranglerProcess && wranglerProcess.kill();
98
+ });
99
+ }