wrangler 0.0.0-de29a445 → 0.0.0-de3764fa3

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 (213) hide show
  1. package/README.md +35 -49
  2. package/bin/wrangler.js +27 -102
  3. package/config-schema.json +2422 -0
  4. package/package.json +182 -174
  5. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  6. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  7. package/templates/__tests__/tsconfig.json +8 -0
  8. package/templates/checked-fetch.js +19 -6
  9. package/templates/facade.d.ts +19 -0
  10. package/templates/gitignore +2 -3
  11. package/templates/init-tests/test-jest-new-worker.js +23 -0
  12. package/templates/init-tests/test-vitest-new-worker.js +24 -0
  13. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  14. package/templates/middleware/common.ts +9 -4
  15. package/templates/middleware/loader-modules.ts +94 -44
  16. package/templates/middleware/loader-sw.ts +48 -32
  17. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  18. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  19. package/templates/middleware/middleware-patch-console-prefix.d.ts +3 -0
  20. package/templates/middleware/middleware-patch-console-prefix.ts +21 -0
  21. package/templates/middleware/middleware-scheduled.ts +17 -2
  22. package/templates/mixedMode/proxyServerWorker/index.ts +40 -0
  23. package/templates/mixedMode/proxyServerWorker/wrangler.jsonc +4 -0
  24. package/templates/modules-watch-stub.js +4 -0
  25. package/templates/new-worker-scheduled.ts +1 -1
  26. package/templates/new-worker.js +1 -1
  27. package/templates/new-worker.ts +4 -1
  28. package/templates/pages-dev-pipeline.ts +33 -0
  29. package/templates/pages-dev-util.ts +55 -0
  30. package/templates/pages-shim.ts +1 -1
  31. package/templates/pages-template-plugin.ts +37 -14
  32. package/templates/pages-template-worker.ts +33 -7
  33. package/templates/startDevWorker/InspectorProxyWorker.ts +679 -0
  34. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  35. package/templates/strip-cf-connecting-ip-header.js +13 -0
  36. package/templates/tsconfig-sanity.ts +11 -0
  37. package/templates/tsconfig.init.json +22 -0
  38. package/templates/tsconfig.json +12 -102
  39. package/templates/tsconfig.tsbuildinfo +1 -0
  40. package/wrangler-dist/InspectorProxyWorker.js +471 -0
  41. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  42. package/wrangler-dist/ProxyWorker.js +238 -0
  43. package/wrangler-dist/ProxyWorker.js.map +6 -0
  44. package/wrangler-dist/cli.d.ts +26692 -176
  45. package/wrangler-dist/cli.js +171136 -149905
  46. package/wrangler-dist/cli.js.map +7 -0
  47. package/Cloudflare_CA.pem +0 -18
  48. package/import_meta_url.js +0 -3
  49. package/miniflare-config-stubs/.env.empty +0 -0
  50. package/miniflare-config-stubs/package.empty.json +0 -1
  51. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  52. package/miniflare-dist/index.mjs +0 -5552
  53. package/src/__tests__/api-dev.test.ts +0 -19
  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 -4026
  57. package/src/__tests__/dev.test.tsx +0 -1318
  58. package/src/__tests__/generate.test.ts +0 -91
  59. package/src/__tests__/guess-worker-format.test.ts +0 -85
  60. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  61. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  62. package/src/__tests__/helpers/hello-world-worker.js +0 -5
  63. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  64. package/src/__tests__/helpers/mock-bin.ts +0 -36
  65. package/src/__tests__/helpers/mock-cfetch.ts +0 -296
  66. package/src/__tests__/helpers/mock-console.ts +0 -106
  67. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  68. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  69. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  70. package/src/__tests__/helpers/mock-istty.ts +0 -74
  71. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  72. package/src/__tests__/helpers/mock-kv.ts +0 -33
  73. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -250
  74. package/src/__tests__/helpers/mock-process.ts +0 -39
  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/run-in-tmp.ts +0 -38
  78. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  79. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  80. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  81. package/src/__tests__/https-options.test.ts +0 -163
  82. package/src/__tests__/index.test.ts +0 -245
  83. package/src/__tests__/init.test.ts +0 -2521
  84. package/src/__tests__/jest.setup.ts +0 -170
  85. package/src/__tests__/kv.test.ts +0 -1671
  86. package/src/__tests__/logger.test.ts +0 -141
  87. package/src/__tests__/metrics.test.ts +0 -450
  88. package/src/__tests__/middleware.test.ts +0 -768
  89. package/src/__tests__/package-manager.test.ts +0 -353
  90. package/src/__tests__/pages.test.ts +0 -2000
  91. package/src/__tests__/parse.test.ts +0 -330
  92. package/src/__tests__/paths.test.ts +0 -17
  93. package/src/__tests__/publish.test.ts +0 -6981
  94. package/src/__tests__/pubsub.test.ts +0 -367
  95. package/src/__tests__/r2.test.ts +0 -336
  96. package/src/__tests__/route.test.ts +0 -45
  97. package/src/__tests__/secret.test.ts +0 -492
  98. package/src/__tests__/tail.test.ts +0 -775
  99. package/src/__tests__/test-old-node-version.js +0 -31
  100. package/src/__tests__/user.test.ts +0 -155
  101. package/src/__tests__/validate-dev-props.test.ts +0 -56
  102. package/src/__tests__/version.test.ts +0 -35
  103. package/src/__tests__/whoami.test.tsx +0 -289
  104. package/src/__tests__/worker-namespace.test.ts +0 -329
  105. package/src/abort.d.ts +0 -3
  106. package/src/api/dev.ts +0 -158
  107. package/src/api/index.ts +0 -1
  108. package/src/bundle-reporter.tsx +0 -29
  109. package/src/bundle.ts +0 -700
  110. package/src/cfetch/index.ts +0 -121
  111. package/src/cfetch/internal.ts +0 -298
  112. package/src/cli.ts +0 -27
  113. package/src/config/README.md +0 -107
  114. package/src/config/config.ts +0 -263
  115. package/src/config/diagnostics.ts +0 -80
  116. package/src/config/environment.ts +0 -485
  117. package/src/config/index.ts +0 -251
  118. package/src/config/validation-helpers.ts +0 -597
  119. package/src/config/validation.ts +0 -1862
  120. package/src/config-cache.ts +0 -85
  121. package/src/create-worker-preview.ts +0 -257
  122. package/src/create-worker-upload-form.ts +0 -291
  123. package/src/dev/dev-vars.ts +0 -36
  124. package/src/dev/dev.tsx +0 -547
  125. package/src/dev/local.tsx +0 -597
  126. package/src/dev/remote.tsx +0 -425
  127. package/src/dev/start-server.ts +0 -416
  128. package/src/dev/use-esbuild.ts +0 -182
  129. package/src/dev/validate-dev-props.ts +0 -31
  130. package/src/dev-registry.tsx +0 -160
  131. package/src/dev.tsx +0 -799
  132. package/src/dialogs.tsx +0 -147
  133. package/src/dispatch-namespace.ts +0 -206
  134. package/src/durable.ts +0 -102
  135. package/src/entry.ts +0 -329
  136. package/src/environment-variables.ts +0 -35
  137. package/src/errors.ts +0 -11
  138. package/src/faye-websocket.d.ts +0 -6
  139. package/src/generate.ts +0 -131
  140. package/src/git-client.ts +0 -42
  141. package/src/global-wrangler-config-path.ts +0 -26
  142. package/src/https-options.ts +0 -127
  143. package/src/index.tsx +0 -2261
  144. package/src/init.ts +0 -897
  145. package/src/inspect.ts +0 -747
  146. package/src/intl-polyfill.d.ts +0 -139
  147. package/src/is-ci.ts +0 -14
  148. package/src/is-interactive.ts +0 -12
  149. package/src/kv.ts +0 -430
  150. package/src/logger.ts +0 -73
  151. package/src/metrics/index.ts +0 -5
  152. package/src/metrics/metrics-config.ts +0 -239
  153. package/src/metrics/metrics-dispatcher.ts +0 -96
  154. package/src/metrics/metrics-usage-headers.ts +0 -24
  155. package/src/metrics/send-event.ts +0 -93
  156. package/src/miniflare-cli/README.md +0 -30
  157. package/src/miniflare-cli/assets.ts +0 -493
  158. package/src/miniflare-cli/enum-keys.ts +0 -17
  159. package/src/miniflare-cli/index.ts +0 -213
  160. package/src/miniflare-cli/request-context.ts +0 -40
  161. package/src/module-collection.ts +0 -258
  162. package/src/open-in-browser.ts +0 -17
  163. package/src/package-manager.ts +0 -219
  164. package/src/pages/build.tsx +0 -238
  165. package/src/pages/constants.ts +0 -15
  166. package/src/pages/deployments.tsx +0 -106
  167. package/src/pages/dev.tsx +0 -529
  168. package/src/pages/errors.ts +0 -22
  169. package/src/pages/functions/buildPlugin.ts +0 -110
  170. package/src/pages/functions/buildWorker.ts +0 -156
  171. package/src/pages/functions/filepath-routing.test.ts +0 -234
  172. package/src/pages/functions/filepath-routing.ts +0 -189
  173. package/src/pages/functions/identifiers.ts +0 -78
  174. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  175. package/src/pages/functions/routes-consolidation.ts +0 -73
  176. package/src/pages/functions/routes-transformation.test.ts +0 -282
  177. package/src/pages/functions/routes-transformation.ts +0 -128
  178. package/src/pages/functions/routes.ts +0 -151
  179. package/src/pages/functions.tsx +0 -96
  180. package/src/pages/index.tsx +0 -94
  181. package/src/pages/projects.tsx +0 -169
  182. package/src/pages/publish.tsx +0 -435
  183. package/src/pages/types.ts +0 -49
  184. package/src/pages/upload.tsx +0 -413
  185. package/src/pages/utils.ts +0 -12
  186. package/src/parse.ts +0 -286
  187. package/src/paths.ts +0 -45
  188. package/src/preview.ts +0 -31
  189. package/src/proxy.ts +0 -486
  190. package/src/publish.ts +0 -848
  191. package/src/pubsub/index.ts +0 -286
  192. package/src/pubsub/pubsub-commands.tsx +0 -623
  193. package/src/r2.ts +0 -131
  194. package/src/selfsigned.d.ts +0 -29
  195. package/src/sites.tsx +0 -372
  196. package/src/tail/filters.ts +0 -277
  197. package/src/tail/index.ts +0 -315
  198. package/src/tail/printing.ts +0 -107
  199. package/src/update-check.ts +0 -19
  200. package/src/user/choose-account.tsx +0 -69
  201. package/src/user/env-vars.ts +0 -46
  202. package/src/user/generate-auth-url.ts +0 -33
  203. package/src/user/generate-random-state.ts +0 -16
  204. package/src/user/index.ts +0 -3
  205. package/src/user/user.tsx +0 -1191
  206. package/src/whoami.tsx +0 -169
  207. package/src/worker.ts +0 -204
  208. package/src/zones.ts +0 -167
  209. package/templates/first-party-worker-module-facade.ts +0 -18
  210. package/templates/format-dev-errors.ts +0 -32
  211. package/templates/serve-static-assets.ts +0 -63
  212. package/templates/service-bindings-module-facade.js +0 -54
  213. package/templates/service-bindings-sw-facade.js +0 -42
package/README.md CHANGED
@@ -1,88 +1,74 @@
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
14
12
 
13
+ To get started quickly with a Hello World worker, run the command below:
14
+
15
15
  ```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
16
+ npx wrangler init my-worker -y
23
17
  ```
24
18
 
25
- ## Create a Project
19
+ For more info, visit our [Getting Started](https://developers.cloudflare.com/workers/get-started/guide/) guide.
26
20
 
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
- ```
21
+ <details><summary>Wrangler System Requirements</summary>
35
22
 
36
- ## Installation:
23
+ We support running the Wrangler CLI with the [Current, Active, and Maintenance](https://nodejs.org/en/about/previous-releases) versions of Node.js. Your Worker will always be executed in `workerd`, the open source Cloudflare Workers runtime.
37
24
 
38
- ```bash
39
- $ npm install wrangler --save-dev
40
- ```
25
+ Wrangler is only supported on macOS 13.5+, Windows 11, and Linux distros that support glib 2.35. This follows [`workerd`'s OS support policy](https://github.com/cloudflare/workerd?tab=readme-ov-file#running-workerd).
26
+
27
+ </details>
28
+
29
+ ## Documentation
30
+
31
+ For the latest Wrangler documentation, [click here](https://developers.cloudflare.com/workers/wrangler/).
41
32
 
42
- ## Configuration:
33
+ To read more about Workers in general:
43
34
 
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.
35
+ - [Getting Started](https://developers.cloudflare.com/workers/get-started/guide/)
36
+ - [How Workers works](https://developers.cloudflare.com/workers/reference/how-workers-works/)
37
+ - [Observability](https://developers.cloudflare.com/workers/observability/)
38
+ - [Platform](https://developers.cloudflare.com/workers/platform/)
45
39
 
46
- example:
40
+ ## Configuration
41
+
42
+ 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
43
 
48
44
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
45
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
46
+ main = "./src/index.ts"
47
+ compatibility_date = "YYYY-MM-DD"
52
48
  ```
53
49
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
50
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
51
 
56
52
  ## Commands
57
53
 
58
- ### `wrangler init [name]`
59
-
60
- Creates a Worker project. For details on configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/#init).
54
+ ### Workers
61
55
 
62
- ### `wrangler dev`
56
+ #### `wrangler dev`
63
57
 
64
58
  Start a local development server, with live reloading and devtools.
65
59
 
66
- ### `wrangler publish`
60
+ #### `wrangler deploy`
67
61
 
68
- Publish the given script to the worldwide Cloudflare network.
62
+ Publish the given script to Cloudflare's global network.
69
63
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
64
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
65
 
72
- ## Pages
66
+ ### Pages
73
67
 
74
- ### `wrangler pages dev [directory] [-- command]`
68
+ #### `wrangler pages dev [directory]`
75
69
 
76
- Either serves a static build asset directory, or proxies itself in front of a command.
70
+ Serves a static build asset directory.
77
71
 
78
72
  Builds and runs functions from a `./functions` directory or uses a `_worker.js` file inside the static build asset directory.
79
73
 
80
74
  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/).
85
-
86
- ```
87
-
88
- ```
package/bin/wrangler.js CHANGED
@@ -1,26 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  const { spawn } = require("child_process");
3
3
  const path = require("path");
4
- const fs = require("fs");
5
- const os = require("os");
6
-
7
- const MIN_NODE_VERSION = "16.13.0";
8
- const debug =
9
- process.env["WRANGLER_LOG"] === "debug"
10
- ? (...args) => console.log(...args)
11
- : () => {};
12
4
 
5
+ const ERR_NODE_VERSION = "18.0.0";
6
+ const MIN_NODE_VERSION = "20.0.0";
13
7
  let wranglerProcess;
14
8
 
15
9
  /**
16
10
  * Executes ../wrangler-dist/cli.js
17
11
  */
18
12
  function runWrangler() {
19
- if (semiver(process.versions.node, MIN_NODE_VERSION) < 0) {
13
+ if (semiver(process.versions.node, ERR_NODE_VERSION) < 0) {
20
14
  // Note Volta and nvm are also recommended in the official docs:
21
15
  // https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
22
16
  console.error(
23
- `Wrangler requires at least node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of node.js.
17
+ `Wrangler requires at least Node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of Node.js.
24
18
 
25
19
  Consider using a Node.js version manager such as https://volta.sh/ or https://github.com/nvm-sh/nvm.`
26
20
  );
@@ -28,30 +22,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
28
22
  return;
29
23
  }
30
24
 
31
- let pathToCACerts = process.env.NODE_EXTRA_CA_CERTS;
32
- if (pathToCACerts) {
33
- // TODO:
34
- // - should we log a warning here?
35
- // - maybe we can generate a certificate that concatenates with ours?
36
- //
37
- // I do think it'll be rare that someone wants to add a cert AND
38
- // use Cloudflare WARP, but let's wait till the situation actually
39
- // arises before we do anything about it
40
- } else {
41
- const osTempDir = os.tmpdir();
42
- const certDir = path.join(osTempDir, "wrangler-cert");
43
- const certPath = path.join(certDir, "Cloudflare_CA.pem");
44
- // copy cert to the system temp dir if needed
45
- if (!fs.existsSync(certPath)) {
46
- fs.mkdirSync(certDir, { recursive: true });
47
- fs.writeFileSync(
48
- certPath,
49
- fs.readFileSync(path.join(__dirname, "../Cloudflare_CA.pem"), "utf-8")
50
- );
51
- }
52
- pathToCACerts = certPath;
53
- }
54
-
55
25
  return spawn(
56
26
  process.execPath,
57
27
  [
@@ -62,77 +32,24 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
62
32
  ...process.argv.slice(2),
63
33
  ],
64
34
  {
65
- stdio: "inherit",
66
- env: {
67
- ...process.env,
68
- NODE_EXTRA_CA_CERTS: pathToCACerts,
69
- },
70
- }
71
- ).on("exit", (code) =>
72
- process.exit(code === undefined || code === null ? 0 : code)
73
- );
74
- }
75
-
76
- /**
77
- * Runs a locally-installed version of wrangler, delegating from this version.
78
- * @throws {MODULE_NOT_FOUND} if there isn't a locally installed version of wrangler.
79
- */
80
- function runDelegatedWrangler() {
81
- const packageJsonPath = require.resolve("wrangler/package.json", {
82
- paths: [process.cwd()],
83
- });
84
- const {
85
- bin: { wrangler: binaryPath },
86
- version,
87
- } = JSON.parse(fs.readFileSync(packageJsonPath));
88
- const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
89
-
90
- debug(`Delegating to locally-installed version of wrangler @ v${version}`);
91
-
92
- // this call to `spawn` is simpler because the delegated version will do all
93
- // of the other work.
94
- return spawn(
95
- process.execPath,
96
- [resolvedBinaryPath, ...process.argv.slice(2)],
97
- {
98
- stdio: "inherit",
35
+ stdio: ["inherit", "inherit", "inherit", "ipc"],
99
36
  }
100
- ).on("exit", (code) =>
101
- process.exit(code === undefined || code === null ? 0 : code)
102
- );
103
- }
104
-
105
- /**
106
- * Indicates if this invocation of `wrangler` should delegate
107
- * to a locally-installed version.
108
- */
109
- function shouldDelegate() {
110
- try {
111
- // `require.resolve` will throw if it can't find
112
- // a locally-installed version of `wrangler`
113
- const delegatedPackageJson = require.resolve("wrangler/package.json", {
114
- paths: [process.cwd()],
37
+ )
38
+ .on("exit", (code) =>
39
+ process.exit(code === undefined || code === null ? 0 : code)
40
+ )
41
+ .on("message", (message) => {
42
+ if (process.send) {
43
+ process.send(message);
44
+ }
45
+ })
46
+ .on("disconnect", () => {
47
+ if (process.disconnect) {
48
+ process.disconnect();
49
+ }
115
50
  });
116
- const thisPackageJson = path.resolve(__dirname, "..", "package.json");
117
- // if it's the same path, then we're already a local install -- no need to delegate
118
- return thisPackageJson !== delegatedPackageJson;
119
- } catch (e) {
120
- // there's no local version to delegate to -- `require.resolve` threw
121
- return false;
122
- }
123
- }
124
-
125
- async function main() {
126
- wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
127
51
  }
128
52
 
129
- process.on("SIGINT", () => {
130
- wranglerProcess && wranglerProcess.kill();
131
- });
132
- process.on("SIGTERM", () => {
133
- wranglerProcess && wranglerProcess.kill();
134
- });
135
-
136
53
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
137
54
 
138
55
  /**
@@ -165,4 +82,12 @@ function semiver(a, b, bool) {
165
82
 
166
83
  // end semiver implementation
167
84
 
168
- void main();
85
+ if (module === require.main) {
86
+ wranglerProcess = runWrangler();
87
+ process.on("SIGINT", () => {
88
+ wranglerProcess && wranglerProcess.kill();
89
+ });
90
+ process.on("SIGTERM", () => {
91
+ wranglerProcess && wranglerProcess.kill();
92
+ });
93
+ }