wrangler 0.0.0-b44e1a75 → 0.0.0-b4ea661e

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 (291) hide show
  1. package/README.md +13 -15
  2. package/bin/wrangler.js +14 -103
  3. package/config-schema.json +2947 -0
  4. package/package.json +194 -194
  5. package/templates/__tests__/tsconfig.json +1 -1
  6. package/templates/checked-fetch.js +19 -4
  7. package/templates/facade.d.ts +7 -2
  8. package/templates/gitignore +0 -4
  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 -42
  13. package/templates/middleware/loader-sw.ts +6 -10
  14. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  15. package/templates/middleware/middleware-miniflare3-json-error.ts +17 -5
  16. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  17. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  18. package/templates/modules-watch-stub.js +4 -0
  19. package/templates/new-worker-scheduled.ts +1 -1
  20. package/templates/new-worker.ts +4 -1
  21. package/templates/pages-dev-pipeline.ts +2 -1
  22. package/templates/pages-dev-util.ts +4 -1
  23. package/templates/pages-shim.ts +0 -3
  24. package/templates/pages-template-plugin.ts +21 -7
  25. package/templates/pages-template-worker.ts +12 -3
  26. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  27. package/templates/startDevWorker/ProxyWorker.ts +334 -0
  28. package/templates/tsconfig.init.json +1 -2
  29. package/templates/tsconfig.json +1 -1
  30. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  31. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  32. package/wrangler-dist/ProxyWorker.js +240 -0
  33. package/wrangler-dist/ProxyWorker.js.map +6 -0
  34. package/wrangler-dist/cli.d.ts +23932 -479
  35. package/wrangler-dist/cli.js +154578 -90048
  36. package/wrangler-dist/wasm-sync.wasm +0 -0
  37. package/Cloudflare_CA.pem +0 -18
  38. package/import_meta_url.js +0 -3
  39. package/miniflare-config-stubs/.env.empty +0 -0
  40. package/miniflare-config-stubs/package.empty.json +0 -1
  41. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  42. package/miniflare-dist/index.mjs +0 -6364
  43. package/src/__tests__/access.test.ts +0 -25
  44. package/src/__tests__/api-dev.test.ts +0 -238
  45. package/src/__tests__/api-devregistry.test.js +0 -64
  46. package/src/__tests__/api.test.ts +0 -80
  47. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  48. package/src/__tests__/config-cache.test.ts +0 -42
  49. package/src/__tests__/configuration.test.ts +0 -4163
  50. package/src/__tests__/d1/d1.test.ts +0 -123
  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 -105
  54. package/src/__tests__/dev.test.tsx +0 -1586
  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 -85
  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/mock-account-id.ts +0 -48
  61. package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
  62. package/src/__tests__/helpers/mock-bin.ts +0 -36
  63. package/src/__tests__/helpers/mock-console.ts +0 -106
  64. package/src/__tests__/helpers/mock-dialogs.ts +0 -139
  65. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -11
  66. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  67. package/src/__tests__/helpers/mock-istty.ts +0 -74
  68. package/src/__tests__/helpers/mock-known-routes.ts +0 -12
  69. package/src/__tests__/helpers/mock-kv.ts +0 -46
  70. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -263
  71. package/src/__tests__/helpers/mock-process.ts +0 -34
  72. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  73. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  74. package/src/__tests__/helpers/msw/blob-worker.cjs +0 -19
  75. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  76. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -77
  77. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  78. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  79. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  80. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  81. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  82. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -22
  83. package/src/__tests__/helpers/msw/index.ts +0 -50
  84. package/src/__tests__/helpers/msw/read-file-sync.js +0 -61
  85. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  86. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  87. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  88. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  89. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  90. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  91. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  92. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  93. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  94. package/src/__tests__/https-options.test.ts +0 -163
  95. package/src/__tests__/index.test.ts +0 -268
  96. package/src/__tests__/init.test.ts +0 -3163
  97. package/src/__tests__/jest.setup.ts +0 -175
  98. package/src/__tests__/kv.test.ts +0 -1788
  99. package/src/__tests__/logger.test.ts +0 -141
  100. package/src/__tests__/logout.test.ts +0 -47
  101. package/src/__tests__/metrics.test.ts +0 -493
  102. package/src/__tests__/middleware.scheduled.test.ts +0 -145
  103. package/src/__tests__/middleware.test.ts +0 -750
  104. package/src/__tests__/package-manager.test.ts +0 -353
  105. package/src/__tests__/pages-deployment-tail.test.ts +0 -955
  106. package/src/__tests__/pages.test.ts +0 -2901
  107. package/src/__tests__/parse.test.ts +0 -330
  108. package/src/__tests__/paths.test.ts +0 -39
  109. package/src/__tests__/publish.test.ts +0 -7989
  110. package/src/__tests__/pubsub.test.ts +0 -490
  111. package/src/__tests__/queues.test.ts +0 -522
  112. package/src/__tests__/r2.test.ts +0 -393
  113. package/src/__tests__/route.test.ts +0 -45
  114. package/src/__tests__/secret.test.ts +0 -693
  115. package/src/__tests__/tail.test.ts +0 -970
  116. package/src/__tests__/test-old-node-version.js +0 -31
  117. package/src/__tests__/tsconfig-sanity.ts +0 -12
  118. package/src/__tests__/tsconfig.json +0 -8
  119. package/src/__tests__/tsconfig.tsbuildinfo +0 -1
  120. package/src/__tests__/type-generation.test.ts +0 -233
  121. package/src/__tests__/user.test.ts +0 -119
  122. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  123. package/src/__tests__/validate-dev-props.test.ts +0 -56
  124. package/src/__tests__/version.test.ts +0 -35
  125. package/src/__tests__/whoami.test.tsx +0 -183
  126. package/src/__tests__/worker-namespace.test.ts +0 -326
  127. package/src/abort.d.ts +0 -3
  128. package/src/api/dev.ts +0 -259
  129. package/src/api/index.ts +0 -2
  130. package/src/bundle-reporter.ts +0 -68
  131. package/src/bundle.ts +0 -823
  132. package/src/cfetch/index.ts +0 -158
  133. package/src/cfetch/internal.ts +0 -258
  134. package/src/cli.ts +0 -28
  135. package/src/config/README.md +0 -107
  136. package/src/config/config.ts +0 -275
  137. package/src/config/diagnostics.ts +0 -80
  138. package/src/config/environment.ts +0 -577
  139. package/src/config/index.ts +0 -358
  140. package/src/config/validation-helpers.ts +0 -597
  141. package/src/config/validation.ts +0 -2151
  142. package/src/config-cache.ts +0 -85
  143. package/src/create-worker-preview.ts +0 -282
  144. package/src/create-worker-upload-form.ts +0 -325
  145. package/src/d1/backups.tsx +0 -223
  146. package/src/d1/constants.ts +0 -2
  147. package/src/d1/create.tsx +0 -63
  148. package/src/d1/delete.ts +0 -56
  149. package/src/d1/execute.tsx +0 -323
  150. package/src/d1/formatTimeAgo.ts +0 -14
  151. package/src/d1/index.ts +0 -101
  152. package/src/d1/list.tsx +0 -48
  153. package/src/d1/migrations/apply.tsx +0 -197
  154. package/src/d1/migrations/create.tsx +0 -77
  155. package/src/d1/migrations/helpers.ts +0 -147
  156. package/src/d1/migrations/index.ts +0 -3
  157. package/src/d1/migrations/list.tsx +0 -79
  158. package/src/d1/migrations/options.ts +0 -18
  159. package/src/d1/options.ts +0 -22
  160. package/src/d1/splitter.ts +0 -161
  161. package/src/d1/types.ts +0 -24
  162. package/src/d1/utils.ts +0 -48
  163. package/src/delete.ts +0 -103
  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.ts +0 -31
  169. package/src/dev/local.tsx +0 -932
  170. package/src/dev/remote.tsx +0 -630
  171. package/src/dev/start-server.ts +0 -543
  172. package/src/dev/use-esbuild.ts +0 -204
  173. package/src/dev/validate-dev-props.ts +0 -31
  174. package/src/dev-registry.ts +0 -201
  175. package/src/dev.tsx +0 -949
  176. package/src/dialogs.ts +0 -136
  177. package/src/dispatch-namespace.ts +0 -207
  178. package/src/docs/index.ts +0 -98
  179. package/src/durable.ts +0 -102
  180. package/src/entry.ts +0 -329
  181. package/src/environment-variables/factory.ts +0 -88
  182. package/src/environment-variables/misc-variables.ts +0 -30
  183. package/src/errors.ts +0 -11
  184. package/src/generate/index.ts +0 -300
  185. package/src/git-client.ts +0 -135
  186. package/src/global-wrangler-config-path.ts +0 -26
  187. package/src/https-options.ts +0 -127
  188. package/src/index.ts +0 -694
  189. package/src/init.ts +0 -1024
  190. package/src/inspect.ts +0 -767
  191. package/src/intl-polyfill.d.ts +0 -139
  192. package/src/is-ci.ts +0 -14
  193. package/src/is-interactive.ts +0 -16
  194. package/src/jest.d.ts +0 -4
  195. package/src/kv/helpers.ts +0 -430
  196. package/src/kv/index.ts +0 -596
  197. package/src/logger.ts +0 -104
  198. package/src/metrics/index.ts +0 -5
  199. package/src/metrics/metrics-config.ts +0 -239
  200. package/src/metrics/metrics-dispatcher.ts +0 -96
  201. package/src/metrics/metrics-usage-headers.ts +0 -24
  202. package/src/metrics/send-event.ts +0 -97
  203. package/src/miniflare-cli/README.md +0 -30
  204. package/src/miniflare-cli/assets.ts +0 -250
  205. package/src/miniflare-cli/index.ts +0 -210
  206. package/src/miniflare-cli/request-context.ts +0 -40
  207. package/src/miniflare-cli/tsconfig.json +0 -9
  208. package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
  209. package/src/miniflare-cli/types.ts +0 -11
  210. package/src/module-collection.ts +0 -267
  211. package/src/open-in-browser.ts +0 -17
  212. package/src/package-manager.ts +0 -219
  213. package/src/pages/build.ts +0 -270
  214. package/src/pages/constants.ts +0 -18
  215. package/src/pages/deployment-tails.ts +0 -284
  216. package/src/pages/deployments.tsx +0 -84
  217. package/src/pages/dev.ts +0 -706
  218. package/src/pages/errors.ts +0 -66
  219. package/src/pages/functions/buildPlugin.ts +0 -89
  220. package/src/pages/functions/buildWorker.ts +0 -282
  221. package/src/pages/functions/filepath-routing.test.ts +0 -234
  222. package/src/pages/functions/filepath-routing.ts +0 -189
  223. package/src/pages/functions/identifiers.ts +0 -78
  224. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  225. package/src/pages/functions/routes-consolidation.ts +0 -73
  226. package/src/pages/functions/routes-transformation.test.ts +0 -282
  227. package/src/pages/functions/routes-transformation.ts +0 -115
  228. package/src/pages/functions/routes-validation.test.ts +0 -403
  229. package/src/pages/functions/routes-validation.ts +0 -202
  230. package/src/pages/functions/routes.ts +0 -151
  231. package/src/pages/functions/tsconfig.json +0 -8
  232. package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
  233. package/src/pages/functions.ts +0 -82
  234. package/src/pages/hash.ts +0 -13
  235. package/src/pages/index.ts +0 -102
  236. package/src/pages/projects.tsx +0 -167
  237. package/src/pages/prompt-select-project.tsx +0 -31
  238. package/src/pages/publish.tsx +0 -489
  239. package/src/pages/types.ts +0 -41
  240. package/src/pages/upload.tsx +0 -447
  241. package/src/pages/utils.ts +0 -23
  242. package/src/parse.ts +0 -286
  243. package/src/paths.ts +0 -71
  244. package/src/proxy.ts +0 -694
  245. package/src/publish/index.ts +0 -270
  246. package/src/publish/publish.ts +0 -1038
  247. package/src/pubsub/index.ts +0 -286
  248. package/src/pubsub/pubsub-commands.ts +0 -624
  249. package/src/queues/cli/commands/consumer/add.ts +0 -71
  250. package/src/queues/cli/commands/consumer/index.ts +0 -22
  251. package/src/queues/cli/commands/consumer/remove.ts +0 -38
  252. package/src/queues/cli/commands/create.ts +0 -25
  253. package/src/queues/cli/commands/delete.ts +0 -26
  254. package/src/queues/cli/commands/index.ts +0 -36
  255. package/src/queues/cli/commands/list.ts +0 -25
  256. package/src/queues/client.ts +0 -135
  257. package/src/queues/utils.ts +0 -18
  258. package/src/r2/constants.ts +0 -4
  259. package/src/r2/helpers.ts +0 -131
  260. package/src/r2/index.ts +0 -289
  261. package/src/routes.ts +0 -140
  262. package/src/secret/index.ts +0 -379
  263. package/src/selfsigned.d.ts +0 -29
  264. package/src/sites.ts +0 -372
  265. package/src/tail/createTail.ts +0 -406
  266. package/src/tail/filters.ts +0 -277
  267. package/src/tail/index.ts +0 -213
  268. package/src/tail/printing.ts +0 -122
  269. package/src/tsconfig-sanity.ts +0 -16
  270. package/src/type-generation.ts +0 -181
  271. package/src/update-check.ts +0 -19
  272. package/src/user/access.ts +0 -68
  273. package/src/user/auth-variables.ts +0 -113
  274. package/src/user/choose-account.tsx +0 -39
  275. package/src/user/generate-auth-url.ts +0 -33
  276. package/src/user/generate-random-state.ts +0 -16
  277. package/src/user/index.ts +0 -2
  278. package/src/user/user.ts +0 -1232
  279. package/src/utils/collectKeyValues.ts +0 -14
  280. package/src/whoami.ts +0 -135
  281. package/src/worker.ts +0 -251
  282. package/src/yargs-types.ts +0 -24
  283. package/src/zones.ts +0 -191
  284. package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
  285. package/templates/d1-beta-facade.js +0 -241
  286. package/templates/first-party-worker-module-facade.ts +0 -19
  287. package/templates/format-dev-errors.ts +0 -33
  288. package/templates/serve-static-assets.ts +0 -65
  289. package/templates/service-bindings-module-facade.js +0 -54
  290. package/templates/service-bindings-sw-facade.js +0 -42
  291. package/templates/tsconfig.tsbuildinfo +0 -1
package/README.md CHANGED
@@ -1,13 +1,11 @@
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
@@ -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
@@ -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,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
+ }