wrangler 0.0.0-ee52bf28 → 0.0.0-ee63d317

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 (308) hide show
  1. package/README.md +11 -13
  2. package/bin/wrangler.js +13 -102
  3. package/config-schema.json +2946 -0
  4. package/package.json +190 -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 +0 -5
  9. package/templates/init-tests/test-vitest-new-worker.js +1 -1
  10. package/templates/init-tests/test-vitest-new-worker.ts +1 -1
  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-serve-static-assets.d.ts +6 -0
  16. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  17. package/templates/modules-watch-stub.js +4 -0
  18. package/templates/new-worker-scheduled.ts +1 -1
  19. package/templates/new-worker.ts +1 -1
  20. package/templates/pages-dev-pipeline.ts +2 -1
  21. package/templates/pages-dev-util.ts +4 -1
  22. package/templates/pages-shim.ts +0 -3
  23. package/templates/pages-template-plugin.ts +14 -4
  24. package/templates/pages-template-worker.ts +12 -3
  25. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  26. package/templates/startDevWorker/ProxyWorker.ts +334 -0
  27. package/templates/tsconfig.json +1 -1
  28. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  29. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  30. package/wrangler-dist/ProxyWorker.js +240 -0
  31. package/wrangler-dist/ProxyWorker.js.map +6 -0
  32. package/wrangler-dist/cli.d.ts +22736 -297
  33. package/wrangler-dist/cli.js +153971 -98713
  34. package/wrangler-dist/wasm-sync.wasm +0 -0
  35. package/Cloudflare_CA.pem +0 -18
  36. package/import_meta_url.js +0 -3
  37. package/miniflare-config-stubs/.env.empty +0 -0
  38. package/miniflare-config-stubs/package.empty.json +0 -1
  39. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  40. package/miniflare-dist/index.mjs +0 -6368
  41. package/src/__tests__/access.test.ts +0 -25
  42. package/src/__tests__/api-dev.test.ts +0 -238
  43. package/src/__tests__/api-devregistry.test.js +0 -64
  44. package/src/__tests__/api.test.ts +0 -80
  45. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  46. package/src/__tests__/config-cache.test.ts +0 -42
  47. package/src/__tests__/configuration.test.ts +0 -4462
  48. package/src/__tests__/d1/d1.test.ts +0 -82
  49. package/src/__tests__/d1/execute.test.ts +0 -64
  50. package/src/__tests__/d1/migrate.test.ts +0 -155
  51. package/src/__tests__/d1/splitter.test.ts +0 -255
  52. package/src/__tests__/delete.test.ts +0 -266
  53. package/src/__tests__/deployments.test.ts +0 -129
  54. package/src/__tests__/dev.test.tsx +0 -1602
  55. package/src/__tests__/generate.test.ts +0 -238
  56. package/src/__tests__/get-host-from-url.test.ts +0 -16
  57. package/src/__tests__/guess-worker-format.test.ts +0 -120
  58. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  59. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  60. package/src/__tests__/helpers/end-event-loop.ts +0 -6
  61. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  62. package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
  63. package/src/__tests__/helpers/mock-bin.ts +0 -36
  64. package/src/__tests__/helpers/mock-console.ts +0 -106
  65. package/src/__tests__/helpers/mock-dialogs.ts +0 -139
  66. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +0 -25
  67. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -11
  68. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  69. package/src/__tests__/helpers/mock-istty.ts +0 -74
  70. package/src/__tests__/helpers/mock-known-routes.ts +0 -12
  71. package/src/__tests__/helpers/mock-kv.ts +0 -46
  72. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -263
  73. package/src/__tests__/helpers/mock-process.ts +0 -34
  74. package/src/__tests__/helpers/mock-set-timeout.ts +0 -16
  75. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  76. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  77. package/src/__tests__/helpers/msw/blob-worker.cjs +0 -19
  78. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  79. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -93
  80. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -81
  81. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  82. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -60
  83. package/src/__tests__/helpers/msw/handlers/script.ts +0 -56
  84. package/src/__tests__/helpers/msw/handlers/user.ts +0 -52
  85. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -20
  86. package/src/__tests__/helpers/msw/index.ts +0 -50
  87. package/src/__tests__/helpers/msw/read-file-sync.js +0 -61
  88. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  89. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  90. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +0 -28
  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 -274
  100. package/src/__tests__/init.test.ts +0 -3165
  101. package/src/__tests__/jest.setup.ts +0 -175
  102. package/src/__tests__/kv.test.ts +0 -1799
  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 -493
  106. package/src/__tests__/middleware.scheduled.test.ts +0 -145
  107. package/src/__tests__/middleware.test.ts +0 -816
  108. package/src/__tests__/mtls-certificates.test.ts +0 -585
  109. package/src/__tests__/package-manager.test.ts +0 -353
  110. package/src/__tests__/pages/deployment-list.test.ts +0 -78
  111. package/src/__tests__/pages/functions-build.test.ts +0 -452
  112. package/src/__tests__/pages/pages.test.ts +0 -81
  113. package/src/__tests__/pages/project-create.test.ts +0 -63
  114. package/src/__tests__/pages/project-list.test.ts +0 -108
  115. package/src/__tests__/pages/project-upload.test.ts +0 -481
  116. package/src/__tests__/pages/publish.test.ts +0 -2820
  117. package/src/__tests__/pages-deployment-tail.test.ts +0 -955
  118. package/src/__tests__/parse.test.ts +0 -436
  119. package/src/__tests__/paths.test.ts +0 -39
  120. package/src/__tests__/publish.test.ts +0 -8303
  121. package/src/__tests__/pubsub.test.ts +0 -493
  122. package/src/__tests__/queues.test.ts +0 -529
  123. package/src/__tests__/r2.test.ts +0 -374
  124. package/src/__tests__/route.test.ts +0 -45
  125. package/src/__tests__/secret.test.ts +0 -693
  126. package/src/__tests__/tail.test.ts +0 -958
  127. package/src/__tests__/test-old-node-version.js +0 -31
  128. package/src/__tests__/tsconfig-sanity.ts +0 -12
  129. package/src/__tests__/tsconfig.json +0 -8
  130. package/src/__tests__/tsconfig.tsbuildinfo +0 -1
  131. package/src/__tests__/type-generation.test.ts +0 -234
  132. package/src/__tests__/user.test.ts +0 -118
  133. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  134. package/src/__tests__/validate-dev-props.test.ts +0 -56
  135. package/src/__tests__/version.test.ts +0 -35
  136. package/src/__tests__/whoami.test.tsx +0 -172
  137. package/src/__tests__/worker-namespace.test.ts +0 -339
  138. package/src/abort.d.ts +0 -3
  139. package/src/api/dev.ts +0 -327
  140. package/src/api/index.ts +0 -11
  141. package/src/api/mtls-certificate.ts +0 -148
  142. package/src/api/pages/create-worker-bundle-contents.ts +0 -75
  143. package/src/api/pages/index.ts +0 -5
  144. package/src/api/pages/publish.tsx +0 -355
  145. package/src/bundle-reporter.ts +0 -68
  146. package/src/bundle.ts +0 -894
  147. package/src/cfetch/index.ts +0 -158
  148. package/src/cfetch/internal.ts +0 -258
  149. package/src/cli.ts +0 -28
  150. package/src/config/README.md +0 -107
  151. package/src/config/config.ts +0 -282
  152. package/src/config/diagnostics.ts +0 -80
  153. package/src/config/environment.ts +0 -591
  154. package/src/config/index.ts +0 -385
  155. package/src/config/validation-helpers.ts +0 -597
  156. package/src/config/validation.ts +0 -2252
  157. package/src/config-cache.ts +0 -85
  158. package/src/create-worker-preview.ts +0 -293
  159. package/src/create-worker-upload-form.ts +0 -342
  160. package/src/d1/backups.tsx +0 -215
  161. package/src/d1/constants.ts +0 -2
  162. package/src/d1/create.tsx +0 -64
  163. package/src/d1/delete.ts +0 -53
  164. package/src/d1/execute.tsx +0 -354
  165. package/src/d1/formatTimeAgo.ts +0 -14
  166. package/src/d1/index.ts +0 -100
  167. package/src/d1/list.tsx +0 -60
  168. package/src/d1/migrations/apply.tsx +0 -206
  169. package/src/d1/migrations/create.tsx +0 -76
  170. package/src/d1/migrations/helpers.ts +0 -172
  171. package/src/d1/migrations/index.ts +0 -3
  172. package/src/d1/migrations/list.tsx +0 -92
  173. package/src/d1/migrations/options.ts +0 -23
  174. package/src/d1/options.ts +0 -22
  175. package/src/d1/splitter.ts +0 -161
  176. package/src/d1/types.ts +0 -25
  177. package/src/d1/utils.ts +0 -49
  178. package/src/delete.ts +0 -100
  179. package/src/deployments.ts +0 -116
  180. package/src/deprecated/index.ts +0 -144
  181. package/src/dev/dev-vars.ts +0 -39
  182. package/src/dev/dev.tsx +0 -600
  183. package/src/dev/get-local-persistence-path.ts +0 -31
  184. package/src/dev/local.tsx +0 -920
  185. package/src/dev/remote.tsx +0 -632
  186. package/src/dev/start-server.ts +0 -540
  187. package/src/dev/use-esbuild.ts +0 -209
  188. package/src/dev/validate-dev-props.ts +0 -40
  189. package/src/dev-registry.ts +0 -201
  190. package/src/dev.tsx +0 -928
  191. package/src/dialogs.ts +0 -136
  192. package/src/dispatch-namespace.ts +0 -211
  193. package/src/docs/index.ts +0 -97
  194. package/src/durable.ts +0 -102
  195. package/src/entry.ts +0 -327
  196. package/src/environment-variables/factory.ts +0 -88
  197. package/src/environment-variables/misc-variables.ts +0 -30
  198. package/src/errors.ts +0 -11
  199. package/src/generate/index.ts +0 -298
  200. package/src/git-client.ts +0 -135
  201. package/src/global-wrangler-config-path.ts +0 -26
  202. package/src/https-options.ts +0 -127
  203. package/src/index.ts +0 -705
  204. package/src/init.ts +0 -1023
  205. package/src/inspect.ts +0 -782
  206. package/src/intl-polyfill.d.ts +0 -139
  207. package/src/is-ci.ts +0 -14
  208. package/src/is-interactive.ts +0 -16
  209. package/src/jest.d.ts +0 -4
  210. package/src/kv/helpers.ts +0 -430
  211. package/src/kv/index.ts +0 -594
  212. package/src/logger.ts +0 -104
  213. package/src/metrics/index.ts +0 -5
  214. package/src/metrics/metrics-config.ts +0 -239
  215. package/src/metrics/metrics-dispatcher.ts +0 -96
  216. package/src/metrics/metrics-usage-headers.ts +0 -24
  217. package/src/metrics/send-event.ts +0 -98
  218. package/src/miniflare-cli/README.md +0 -30
  219. package/src/miniflare-cli/assets.ts +0 -251
  220. package/src/miniflare-cli/index.ts +0 -210
  221. package/src/miniflare-cli/request-context.ts +0 -40
  222. package/src/miniflare-cli/tsconfig.json +0 -9
  223. package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
  224. package/src/miniflare-cli/types.ts +0 -11
  225. package/src/module-collection.ts +0 -267
  226. package/src/mtls-certificate/cli.ts +0 -155
  227. package/src/open-in-browser.ts +0 -17
  228. package/src/package-manager.ts +0 -219
  229. package/src/pages/build.ts +0 -410
  230. package/src/pages/buildFunctions.ts +0 -140
  231. package/src/pages/constants.ts +0 -18
  232. package/src/pages/deployment-tails.ts +0 -281
  233. package/src/pages/deployments.tsx +0 -86
  234. package/src/pages/dev.ts +0 -716
  235. package/src/pages/errors.ts +0 -67
  236. package/src/pages/functions/buildPlugin.ts +0 -112
  237. package/src/pages/functions/buildWorker.ts +0 -297
  238. package/src/pages/functions/filepath-routing.test.ts +0 -234
  239. package/src/pages/functions/filepath-routing.ts +0 -189
  240. package/src/pages/functions/identifiers.ts +0 -78
  241. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  242. package/src/pages/functions/routes-consolidation.ts +0 -73
  243. package/src/pages/functions/routes-transformation.test.ts +0 -282
  244. package/src/pages/functions/routes-transformation.ts +0 -115
  245. package/src/pages/functions/routes-validation.test.ts +0 -403
  246. package/src/pages/functions/routes-validation.ts +0 -202
  247. package/src/pages/functions/routes.ts +0 -151
  248. package/src/pages/functions/tsconfig.json +0 -8
  249. package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
  250. package/src/pages/functions.ts +0 -86
  251. package/src/pages/hash.ts +0 -13
  252. package/src/pages/index.ts +0 -102
  253. package/src/pages/projects.tsx +0 -162
  254. package/src/pages/prompt-select-project.tsx +0 -31
  255. package/src/pages/publish.tsx +0 -267
  256. package/src/pages/types.ts +0 -46
  257. package/src/pages/upload.tsx +0 -449
  258. package/src/pages/utils.ts +0 -23
  259. package/src/parse.ts +0 -308
  260. package/src/paths.ts +0 -71
  261. package/src/proxy.ts +0 -694
  262. package/src/publish/index.ts +0 -274
  263. package/src/publish/publish.ts +0 -1076
  264. package/src/pubsub/index.ts +0 -286
  265. package/src/pubsub/pubsub-commands.ts +0 -623
  266. package/src/queues/cli/commands/consumer/add.ts +0 -65
  267. package/src/queues/cli/commands/consumer/index.ts +0 -19
  268. package/src/queues/cli/commands/consumer/remove.ts +0 -31
  269. package/src/queues/cli/commands/create.ts +0 -25
  270. package/src/queues/cli/commands/delete.ts +0 -26
  271. package/src/queues/cli/commands/index.ts +0 -35
  272. package/src/queues/cli/commands/list.ts +0 -25
  273. package/src/queues/client.ts +0 -135
  274. package/src/queues/utils.ts +0 -18
  275. package/src/r2/constants.ts +0 -4
  276. package/src/r2/helpers.ts +0 -132
  277. package/src/r2/index.ts +0 -289
  278. package/src/routes.ts +0 -140
  279. package/src/secret/index.ts +0 -375
  280. package/src/selfsigned.d.ts +0 -29
  281. package/src/sites.ts +0 -372
  282. package/src/tail/createTail.ts +0 -406
  283. package/src/tail/filters.ts +0 -277
  284. package/src/tail/index.ts +0 -211
  285. package/src/tail/printing.ts +0 -122
  286. package/src/tsconfig-sanity.ts +0 -16
  287. package/src/type-generation.ts +0 -181
  288. package/src/update-check.ts +0 -19
  289. package/src/user/access.ts +0 -68
  290. package/src/user/auth-variables.ts +0 -113
  291. package/src/user/choose-account.tsx +0 -39
  292. package/src/user/generate-auth-url.ts +0 -33
  293. package/src/user/generate-random-state.ts +0 -16
  294. package/src/user/index.ts +0 -2
  295. package/src/user/user.ts +0 -1233
  296. package/src/utils/collectKeyValues.ts +0 -14
  297. package/src/whoami.ts +0 -135
  298. package/src/worker.ts +0 -264
  299. package/src/yargs-types.ts +0 -37
  300. package/src/zones.ts +0 -191
  301. package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
  302. package/templates/d1-beta-facade.js +0 -241
  303. package/templates/first-party-worker-module-facade.ts +0 -19
  304. package/templates/format-dev-errors.ts +0 -34
  305. package/templates/serve-static-assets.ts +0 -66
  306. package/templates/service-bindings-module-facade.js +0 -55
  307. package/templates/service-bindings-sw-facade.js +0 -42
  308. package/templates/tsconfig.tsbuildinfo +0 -1
package/README.md CHANGED
@@ -3,11 +3,9 @@
3
3
  <a href="https://www.npmjs.com/package/wrangler"><img alt="npm" src="https://img.shields.io/npm/dw/wrangler?style=flat-square"></a>
4
4
  <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/workers-sdk?style=flat-square">
5
5
  <img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/workers-sdk/main?style=flat-square">
6
- <a href="https://discord.gg/CloudflareDev"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
6
+ <a href="https://discord.cloudflare.com"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
7
7
  </section>
8
8
 
9
- > This package is for wrangler v2.x, released first in May 2022. If you're looking for v1.x of the `@cloudflare/wrangler` package, visit https://www.npmjs.com/package/@cloudflare/wrangler / https://github.com/cloudflare/wrangler-legacy.
10
-
11
9
  `wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
12
10
 
13
11
  ## Quick Start
@@ -17,8 +15,8 @@
17
15
  echo "export default { fetch() { return new Response('hello world') } }" > index.js
18
16
  # try it out
19
17
  npx wrangler dev index.js
20
- # and then publish it
21
- npx wrangler publish index.js --name my-worker
18
+ # and then deploy it
19
+ npx wrangler deploy index.js --name my-worker
22
20
  # visit https://my-worker.<your workers subdomain>.workers.dev
23
21
  ```
24
22
 
@@ -26,10 +24,10 @@ npx wrangler publish index.js --name my-worker
26
24
 
27
25
  ```bash
28
26
  # Generate a new project
29
- npx wrangler init my-worker
27
+ npx wrangler init my-worker --no-delegate-c3
30
28
  # try it out
31
29
  cd my-worker && npm run start
32
- # and then publish it
30
+ # and then deploy it
33
31
  npm run deploy
34
32
  ```
35
33
 
@@ -43,15 +41,15 @@ $ npm install wrangler --save-dev
43
41
 
44
42
  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.
45
43
 
46
- example:
44
+ Example:
47
45
 
48
46
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
47
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
48
+ main = "./src/index.ts" # init w/ TypeScript
49
+ compatibility_date = "YYYY-MM-DD"
52
50
  ```
53
51
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
52
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
53
 
56
54
  ## Commands
57
55
 
@@ -63,11 +61,11 @@ Creates a Worker project. For details on configuration keys and values, refer to
63
61
 
64
62
  Start a local development server, with live reloading and devtools.
65
63
 
66
- ### `wrangler publish`
64
+ ### `wrangler deploy`
67
65
 
68
66
  Publish the given script to the worldwide Cloudflare network.
69
67
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
68
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
69
 
72
70
  ## Pages
73
71
 
package/bin/wrangler.js CHANGED
@@ -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,83 +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
- // 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);
51
+ })
52
+ .on("disconnect", () => {
53
+ if (process.disconnect) {
54
+ process.disconnect();
121
55
  }
122
56
  });
123
57
  }
124
58
 
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
59
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
157
60
 
158
61
  /**
@@ -185,4 +88,12 @@ function semiver(a, b, bool) {
185
88
 
186
89
  // end semiver implementation
187
90
 
188
- 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
+ }