wrangler 0.0.0-b1cd2fcb → 0.0.0-b2192965e

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 (279) hide show
  1. package/README.md +17 -15
  2. package/bin/wrangler.js +14 -95
  3. package/config-schema.json +3126 -0
  4. package/package.json +198 -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-scheduled.ts +15 -1
  21. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  22. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  23. package/templates/modules-watch-stub.js +4 -0
  24. package/templates/new-worker-scheduled.ts +1 -1
  25. package/templates/new-worker.ts +4 -1
  26. package/templates/pages-dev-pipeline.ts +6 -2
  27. package/templates/pages-dev-util.ts +4 -1
  28. package/templates/pages-shim.ts +1 -1
  29. package/templates/pages-template-plugin.ts +33 -14
  30. package/templates/pages-template-worker.ts +12 -3
  31. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  32. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  33. package/templates/tsconfig-sanity.ts +11 -0
  34. package/templates/tsconfig.init.json +22 -0
  35. package/templates/tsconfig.json +5 -103
  36. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  37. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  38. package/wrangler-dist/ProxyWorker.js +241 -0
  39. package/wrangler-dist/ProxyWorker.js.map +6 -0
  40. package/wrangler-dist/cli.d.ts +26122 -519
  41. package/wrangler-dist/cli.js +173454 -120064
  42. package/wrangler-dist/wasm-sync.wasm +0 -0
  43. package/Cloudflare_CA.pem +0 -18
  44. package/import_meta_url.js +0 -3
  45. package/miniflare-config-stubs/.env.empty +0 -0
  46. package/miniflare-config-stubs/package.empty.json +0 -1
  47. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  48. package/miniflare-dist/index.mjs +0 -6321
  49. package/src/__tests__/access.test.ts +0 -25
  50. package/src/__tests__/api-dev.test.ts +0 -209
  51. package/src/__tests__/api-devregistry.test.js +0 -56
  52. package/src/__tests__/api.test.ts +0 -80
  53. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  54. package/src/__tests__/config-cache.test.ts +0 -42
  55. package/src/__tests__/configuration.test.ts +0 -3981
  56. package/src/__tests__/d1.test.ts +0 -80
  57. package/src/__tests__/delete.test.ts +0 -263
  58. package/src/__tests__/deployments.test.ts +0 -91
  59. package/src/__tests__/dev.test.tsx +0 -1536
  60. package/src/__tests__/dialogs.test.tsx +0 -40
  61. package/src/__tests__/generate.test.ts +0 -235
  62. package/src/__tests__/get-host-from-url.test.ts +0 -16
  63. package/src/__tests__/guess-worker-format.test.ts +0 -85
  64. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  65. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  66. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  67. package/src/__tests__/helpers/mock-bin.ts +0 -36
  68. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  69. package/src/__tests__/helpers/mock-console.ts +0 -106
  70. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  71. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  72. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  73. package/src/__tests__/helpers/mock-istty.ts +0 -74
  74. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  75. package/src/__tests__/helpers/mock-kv.ts +0 -33
  76. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -256
  77. package/src/__tests__/helpers/mock-process.ts +0 -39
  78. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  79. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  80. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  81. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -59
  82. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  83. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  84. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  85. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  86. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  87. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -22
  88. package/src/__tests__/helpers/msw/index.ts +0 -21
  89. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  90. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  91. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  92. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  93. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  94. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  95. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  96. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  97. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  98. package/src/__tests__/https-options.test.ts +0 -163
  99. package/src/__tests__/index.test.ts +0 -264
  100. package/src/__tests__/init.test.ts +0 -2900
  101. package/src/__tests__/jest.setup.ts +0 -202
  102. package/src/__tests__/kv.test.ts +0 -1675
  103. package/src/__tests__/logger.test.ts +0 -141
  104. package/src/__tests__/logout.test.ts +0 -47
  105. package/src/__tests__/metrics.test.ts +0 -450
  106. package/src/__tests__/middleware.scheduled.test.ts +0 -135
  107. package/src/__tests__/middleware.test.ts +0 -726
  108. package/src/__tests__/package-manager.test.ts +0 -353
  109. package/src/__tests__/pages-deployment-tail.test.ts +0 -820
  110. package/src/__tests__/pages.test.ts +0 -2442
  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 -522
  116. package/src/__tests__/r2.test.ts +0 -393
  117. package/src/__tests__/route.test.ts +0 -45
  118. package/src/__tests__/secret.test.ts +0 -644
  119. package/src/__tests__/tail.test.ts +0 -899
  120. package/src/__tests__/test-old-node-version.js +0 -31
  121. package/src/__tests__/type-generation.test.ts +0 -226
  122. package/src/__tests__/user.test.ts +0 -129
  123. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  124. package/src/__tests__/validate-dev-props.test.ts +0 -56
  125. package/src/__tests__/version.test.ts +0 -35
  126. package/src/__tests__/whoami.test.tsx +0 -278
  127. package/src/__tests__/worker-namespace.test.ts +0 -326
  128. package/src/abort.d.ts +0 -3
  129. package/src/api/dev.ts +0 -210
  130. package/src/api/index.ts +0 -2
  131. package/src/bundle-reporter.tsx +0 -68
  132. package/src/bundle.ts +0 -823
  133. package/src/cfetch/index.ts +0 -160
  134. package/src/cfetch/internal.ts +0 -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 -223
  147. package/src/d1/constants.ts +0 -2
  148. package/src/d1/create.tsx +0 -63
  149. package/src/d1/delete.tsx +0 -56
  150. package/src/d1/execute.tsx +0 -352
  151. package/src/d1/formatTimeAgo.ts +0 -14
  152. package/src/d1/index.ts +0 -101
  153. package/src/d1/list.tsx +0 -48
  154. package/src/d1/migrations/apply.tsx +0 -184
  155. package/src/d1/migrations/create.tsx +0 -77
  156. package/src/d1/migrations/helpers.ts +0 -147
  157. package/src/d1/migrations/index.tsx +0 -3
  158. package/src/d1/migrations/list.tsx +0 -79
  159. package/src/d1/migrations/options.ts +0 -18
  160. package/src/d1/options.ts +0 -22
  161. package/src/d1/types.tsx +0 -24
  162. package/src/d1/utils.ts +0 -48
  163. package/src/delete.ts +0 -108
  164. package/src/deployments.ts +0 -77
  165. package/src/deprecated/index.ts +0 -438
  166. package/src/dev/dev-vars.ts +0 -39
  167. package/src/dev/dev.tsx +0 -614
  168. package/src/dev/get-local-persistence-path.tsx +0 -31
  169. package/src/dev/local.tsx +0 -890
  170. package/src/dev/remote.tsx +0 -603
  171. package/src/dev/start-server.ts +0 -539
  172. package/src/dev/use-esbuild.ts +0 -204
  173. package/src/dev/validate-dev-props.ts +0 -31
  174. package/src/dev-registry.tsx +0 -201
  175. package/src/dev.tsx +0 -904
  176. package/src/dialogs.tsx +0 -168
  177. package/src/dispatch-namespace.ts +0 -207
  178. package/src/durable.ts +0 -102
  179. package/src/entry.ts +0 -329
  180. package/src/environment-variables.ts +0 -50
  181. package/src/errors.ts +0 -11
  182. package/src/git-client.ts +0 -124
  183. package/src/global-wrangler-config-path.ts +0 -26
  184. package/src/https-options.ts +0 -127
  185. package/src/index.tsx +0 -687
  186. package/src/init.ts +0 -970
  187. package/src/inspect.ts +0 -767
  188. package/src/intl-polyfill.d.ts +0 -139
  189. package/src/is-ci.ts +0 -14
  190. package/src/is-interactive.ts +0 -16
  191. package/src/kv/helpers.ts +0 -430
  192. package/src/kv/index.ts +0 -596
  193. package/src/logger.ts +0 -92
  194. package/src/metrics/index.ts +0 -5
  195. package/src/metrics/metrics-config.ts +0 -239
  196. package/src/metrics/metrics-dispatcher.ts +0 -96
  197. package/src/metrics/metrics-usage-headers.ts +0 -24
  198. package/src/metrics/send-event.ts +0 -96
  199. package/src/miniflare-cli/README.md +0 -30
  200. package/src/miniflare-cli/assets.ts +0 -220
  201. package/src/miniflare-cli/index.ts +0 -213
  202. package/src/miniflare-cli/request-context.ts +0 -40
  203. package/src/module-collection.ts +0 -267
  204. package/src/open-in-browser.ts +0 -17
  205. package/src/package-manager.ts +0 -219
  206. package/src/pages/build.tsx +0 -270
  207. package/src/pages/constants.ts +0 -18
  208. package/src/pages/deployment-tails.tsx +0 -284
  209. package/src/pages/deployments.tsx +0 -84
  210. package/src/pages/dev.tsx +0 -706
  211. package/src/pages/errors.ts +0 -66
  212. package/src/pages/functions/buildPlugin.ts +0 -107
  213. package/src/pages/functions/buildWorker.ts +0 -166
  214. package/src/pages/functions/filepath-routing.test.ts +0 -234
  215. package/src/pages/functions/filepath-routing.ts +0 -189
  216. package/src/pages/functions/identifiers.ts +0 -78
  217. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  218. package/src/pages/functions/routes-consolidation.ts +0 -73
  219. package/src/pages/functions/routes-transformation.test.ts +0 -282
  220. package/src/pages/functions/routes-transformation.ts +0 -115
  221. package/src/pages/functions/routes-validation.test.ts +0 -403
  222. package/src/pages/functions/routes-validation.ts +0 -202
  223. package/src/pages/functions/routes.ts +0 -151
  224. package/src/pages/functions.tsx +0 -82
  225. package/src/pages/hash.tsx +0 -13
  226. package/src/pages/index.tsx +0 -102
  227. package/src/pages/projects.tsx +0 -169
  228. package/src/pages/prompt-select-project.tsx +0 -31
  229. package/src/pages/publish.tsx +0 -451
  230. package/src/pages/types.ts +0 -41
  231. package/src/pages/upload.tsx +0 -426
  232. package/src/pages/utils.ts +0 -23
  233. package/src/parse.ts +0 -286
  234. package/src/paths.ts +0 -71
  235. package/src/proxy.ts +0 -694
  236. package/src/publish/index.ts +0 -270
  237. package/src/publish/publish.ts +0 -1035
  238. package/src/pubsub/index.ts +0 -286
  239. package/src/pubsub/pubsub-commands.tsx +0 -624
  240. package/src/queues/cli/commands/consumer/add.ts +0 -71
  241. package/src/queues/cli/commands/consumer/index.ts +0 -22
  242. package/src/queues/cli/commands/consumer/remove.ts +0 -38
  243. package/src/queues/cli/commands/create.ts +0 -25
  244. package/src/queues/cli/commands/delete.ts +0 -26
  245. package/src/queues/cli/commands/index.ts +0 -36
  246. package/src/queues/cli/commands/list.ts +0 -25
  247. package/src/queues/client.ts +0 -135
  248. package/src/queues/utils.ts +0 -18
  249. package/src/r2/constants.ts +0 -4
  250. package/src/r2/helpers.ts +0 -131
  251. package/src/r2/index.ts +0 -289
  252. package/src/routes.ts +0 -140
  253. package/src/secret/index.ts +0 -378
  254. package/src/selfsigned.d.ts +0 -29
  255. package/src/sites.tsx +0 -372
  256. package/src/tail/createTail.ts +0 -379
  257. package/src/tail/filters.ts +0 -277
  258. package/src/tail/index.ts +0 -214
  259. package/src/tail/printing.ts +0 -107
  260. package/src/type-generation.ts +0 -173
  261. package/src/update-check.ts +0 -19
  262. package/src/user/access.ts +0 -69
  263. package/src/user/choose-account.tsx +0 -69
  264. package/src/user/env-vars.ts +0 -46
  265. package/src/user/generate-auth-url.ts +0 -33
  266. package/src/user/generate-random-state.ts +0 -16
  267. package/src/user/index.ts +0 -3
  268. package/src/user/user.tsx +0 -1198
  269. package/src/utils/collectKeyValues.ts +0 -14
  270. package/src/whoami.tsx +0 -169
  271. package/src/worker.ts +0 -245
  272. package/src/yargs-types.ts +0 -24
  273. package/src/zones.ts +0 -191
  274. package/templates/d1-beta-facade.js +0 -205
  275. package/templates/first-party-worker-module-facade.ts +0 -18
  276. package/templates/format-dev-errors.ts +0 -32
  277. package/templates/serve-static-assets.ts +0 -63
  278. package/templates/service-bindings-module-facade.js +0 -54
  279. package/templates/service-bindings-sw-facade.js +0 -42
package/README.md CHANGED
@@ -1,15 +1,17 @@
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
 
15
17
  ```bash
@@ -17,8 +19,8 @@
17
19
  echo "export default { fetch() { return new Response('hello world') } }" > index.js
18
20
  # try it out
19
21
  npx wrangler dev index.js
20
- # and then publish it
21
- npx wrangler publish index.js --name my-worker
22
+ # and then deploy it
23
+ npx wrangler deploy index.js --name my-worker
22
24
  # visit https://my-worker.<your workers subdomain>.workers.dev
23
25
  ```
24
26
 
@@ -26,10 +28,10 @@ npx wrangler publish index.js --name my-worker
26
28
 
27
29
  ```bash
28
30
  # Generate a new project
29
- npx wrangler init my-worker
31
+ npx wrangler init my-worker --no-delegate-c3
30
32
  # try it out
31
33
  cd my-worker && npm run start
32
- # and then publish it
34
+ # and then deploy it
33
35
  npm run deploy
34
36
  ```
35
37
 
@@ -43,15 +45,15 @@ $ npm install wrangler --save-dev
43
45
 
44
46
  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
47
 
46
- example:
48
+ Example:
47
49
 
48
50
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
51
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
52
+ main = "./src/index.ts" # init w/ TypeScript
53
+ compatibility_date = "YYYY-MM-DD"
52
54
  ```
53
55
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
56
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
57
 
56
58
  ## Commands
57
59
 
@@ -63,11 +65,11 @@ Creates a Worker project. For details on configuration keys and values, refer to
63
65
 
64
66
  Start a local development server, with live reloading and devtools.
65
67
 
66
- ### `wrangler publish`
68
+ ### `wrangler deploy`
67
69
 
68
70
  Publish the given script to the worldwide Cloudflare network.
69
71
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
72
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
73
 
72
74
  ## Pages
73
75
 
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
+ }