wrangler 0.0.0-dcd3c582 → 0.0.0-dcdc8803

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 (322) hide show
  1. package/README.md +12 -10
  2. package/bin/wrangler.js +74 -13
  3. package/import_meta_url.js +3 -0
  4. package/miniflare-config-stubs/.env.empty +0 -0
  5. package/miniflare-config-stubs/package.empty.json +1 -0
  6. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  7. package/miniflare-dist/index.mjs +6446 -0
  8. package/package.json +199 -210
  9. package/src/__tests__/access.test.ts +25 -0
  10. package/src/__tests__/api-dev.test.ts +238 -0
  11. package/src/__tests__/api-devregistry.test.ts +121 -0
  12. package/src/__tests__/api.test.ts +102 -0
  13. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  14. package/src/__tests__/config-cache.test.ts +42 -0
  15. package/src/__tests__/configuration.test.ts +4517 -0
  16. package/src/__tests__/constellation.test.ts +371 -0
  17. package/src/__tests__/d1/d1.test.ts +82 -0
  18. package/src/__tests__/d1/execute.test.ts +66 -0
  19. package/src/__tests__/d1/migrate.test.ts +257 -0
  20. package/src/__tests__/d1/splitter.test.ts +255 -0
  21. package/src/__tests__/delete.test.ts +272 -0
  22. package/src/__tests__/deployments.test.ts +369 -0
  23. package/src/__tests__/dev.test.tsx +1617 -0
  24. package/src/__tests__/generate.test.ts +237 -0
  25. package/src/__tests__/get-host-from-url.test.ts +16 -0
  26. package/src/__tests__/guess-worker-format.test.ts +120 -0
  27. package/src/__tests__/helpers/clipboardy-mock.js +4 -0
  28. package/src/__tests__/helpers/cmd-shim.d.ts +11 -0
  29. package/src/__tests__/helpers/end-event-loop.ts +6 -0
  30. package/src/__tests__/helpers/mock-account-id.ts +48 -0
  31. package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
  32. package/src/__tests__/helpers/mock-bin.ts +36 -0
  33. package/src/__tests__/helpers/mock-console.ts +112 -0
  34. package/src/__tests__/helpers/mock-dialogs.ts +139 -0
  35. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +25 -0
  36. package/src/__tests__/helpers/mock-get-zone-from-host.ts +11 -0
  37. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  38. package/src/__tests__/helpers/mock-istty.ts +74 -0
  39. package/src/__tests__/helpers/mock-known-routes.ts +12 -0
  40. package/src/__tests__/helpers/mock-kv.ts +46 -0
  41. package/src/__tests__/helpers/mock-oauth-flow.ts +263 -0
  42. package/src/__tests__/helpers/mock-process.ts +34 -0
  43. package/src/__tests__/helpers/mock-set-timeout.ts +16 -0
  44. package/src/__tests__/helpers/mock-stdin.ts +108 -0
  45. package/src/__tests__/helpers/mock-web-socket.ts +29 -0
  46. package/src/__tests__/helpers/msw/blob-worker.cjs +19 -0
  47. package/src/__tests__/helpers/msw/handlers/access.ts +13 -0
  48. package/src/__tests__/helpers/msw/handlers/deployments.ts +160 -0
  49. package/src/__tests__/helpers/msw/handlers/namespaces.ts +81 -0
  50. package/src/__tests__/helpers/msw/handlers/oauth.ts +31 -0
  51. package/src/__tests__/helpers/msw/handlers/r2.ts +60 -0
  52. package/src/__tests__/helpers/msw/handlers/script.ts +56 -0
  53. package/src/__tests__/helpers/msw/handlers/user.ts +52 -0
  54. package/src/__tests__/helpers/msw/handlers/zones.ts +20 -0
  55. package/src/__tests__/helpers/msw/index.ts +52 -0
  56. package/src/__tests__/helpers/msw/read-file-sync.js +61 -0
  57. package/src/__tests__/helpers/run-in-tmp.ts +38 -0
  58. package/src/__tests__/helpers/run-wrangler.ts +16 -0
  59. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +28 -0
  60. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +1 -0
  61. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +5 -0
  62. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +1 -0
  63. package/src/__tests__/helpers/worker-scripts/parent-worker.js +11 -0
  64. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +5 -0
  65. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  66. package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
  67. package/src/__tests__/https-options.test.ts +163 -0
  68. package/src/__tests__/index.test.ts +282 -0
  69. package/src/__tests__/init.test.ts +3196 -0
  70. package/src/__tests__/jest.setup.ts +179 -0
  71. package/src/__tests__/kv.test.ts +1799 -0
  72. package/src/__tests__/logger.test.ts +207 -0
  73. package/src/__tests__/logout.test.ts +47 -0
  74. package/src/__tests__/metrics.test.ts +493 -0
  75. package/src/__tests__/middleware.scheduled.test.ts +145 -0
  76. package/src/__tests__/middleware.test.ts +816 -0
  77. package/src/__tests__/mtls-certificates.test.ts +589 -0
  78. package/src/__tests__/package-manager.test.ts +353 -0
  79. package/src/__tests__/pages/deployment-list.test.ts +80 -0
  80. package/src/__tests__/pages/functions-build.test.ts +528 -0
  81. package/src/__tests__/pages/pages.test.ts +81 -0
  82. package/src/__tests__/pages/project-create.test.ts +63 -0
  83. package/src/__tests__/pages/project-list.test.ts +110 -0
  84. package/src/__tests__/pages/project-upload.test.ts +500 -0
  85. package/src/__tests__/pages/publish.test.ts +2864 -0
  86. package/src/__tests__/pages-deployment-tail.test.ts +957 -0
  87. package/src/__tests__/parse.test.ts +436 -0
  88. package/src/__tests__/paths.test.ts +39 -0
  89. package/src/__tests__/publish.test.ts +8849 -0
  90. package/src/__tests__/pubsub.test.ts +496 -0
  91. package/src/__tests__/queues.test.ts +532 -0
  92. package/src/__tests__/r2.test.ts +374 -0
  93. package/src/__tests__/route.test.ts +45 -0
  94. package/src/__tests__/secret.test.ts +693 -0
  95. package/src/__tests__/tail.test.ts +989 -0
  96. package/src/__tests__/test-old-node-version.js +31 -0
  97. package/src/__tests__/traverse-module-graph.test.ts +220 -0
  98. package/src/__tests__/tsconfig-sanity.ts +12 -0
  99. package/src/__tests__/tsconfig.json +8 -0
  100. package/src/__tests__/tsconfig.tsbuildinfo +1 -0
  101. package/src/__tests__/type-generation.test.ts +234 -0
  102. package/src/__tests__/user.test.ts +118 -0
  103. package/src/__tests__/utils-collectKeyValues.test.ts +47 -0
  104. package/src/__tests__/validate-dev-props.test.ts +56 -0
  105. package/src/__tests__/version.test.ts +35 -0
  106. package/src/__tests__/whoami.test.tsx +172 -0
  107. package/src/__tests__/worker-namespace.test.ts +340 -0
  108. package/src/abort.d.ts +3 -0
  109. package/src/api/dev.ts +321 -0
  110. package/src/api/index.ts +11 -0
  111. package/src/api/mtls-certificate.ts +148 -0
  112. package/src/api/pages/create-worker-bundle-contents.ts +77 -0
  113. package/src/api/pages/index.ts +5 -0
  114. package/src/api/pages/publish.tsx +371 -0
  115. package/src/bundle-reporter.ts +68 -0
  116. package/src/bundle.ts +929 -0
  117. package/src/cfetch/index.ts +158 -0
  118. package/src/cfetch/internal.ts +258 -0
  119. package/src/cli.ts +28 -0
  120. package/src/config/README.md +107 -0
  121. package/src/config/config.ts +282 -0
  122. package/src/config/diagnostics.ts +80 -0
  123. package/src/config/environment.ts +625 -0
  124. package/src/config/index.ts +403 -0
  125. package/src/config/validation-helpers.ts +597 -0
  126. package/src/config/validation.ts +2369 -0
  127. package/src/config-cache.ts +85 -0
  128. package/src/constellation/createProject.tsx +51 -0
  129. package/src/constellation/deleteProject.ts +51 -0
  130. package/src/constellation/deleteProjectModel.ts +68 -0
  131. package/src/constellation/index.ts +75 -0
  132. package/src/constellation/listCatalog.tsx +35 -0
  133. package/src/constellation/listModel.tsx +41 -0
  134. package/src/constellation/listProject.tsx +28 -0
  135. package/src/constellation/listRuntime.tsx +28 -0
  136. package/src/constellation/options.ts +17 -0
  137. package/src/constellation/types.ts +17 -0
  138. package/src/constellation/uploadModel.tsx +64 -0
  139. package/src/constellation/utils.ts +90 -0
  140. package/src/create-worker-preview.ts +293 -0
  141. package/src/create-worker-upload-form.ts +363 -0
  142. package/src/d1/backups.tsx +219 -0
  143. package/src/d1/constants.ts +2 -0
  144. package/src/d1/create.tsx +70 -0
  145. package/src/d1/delete.ts +53 -0
  146. package/src/d1/execute.tsx +357 -0
  147. package/src/d1/formatTimeAgo.ts +14 -0
  148. package/src/d1/index.ts +100 -0
  149. package/src/d1/list.tsx +62 -0
  150. package/src/d1/migrations/apply.tsx +212 -0
  151. package/src/d1/migrations/create.tsx +79 -0
  152. package/src/d1/migrations/helpers.ts +169 -0
  153. package/src/d1/migrations/index.ts +3 -0
  154. package/src/d1/migrations/list.tsx +95 -0
  155. package/src/d1/migrations/options.ts +23 -0
  156. package/src/d1/options.ts +22 -0
  157. package/src/d1/splitter.ts +161 -0
  158. package/src/d1/types.ts +25 -0
  159. package/src/d1/utils.ts +49 -0
  160. package/src/delete.ts +100 -0
  161. package/src/deployments.ts +368 -0
  162. package/src/deprecated/index.ts +144 -0
  163. package/src/dev/dev-vars.ts +39 -0
  164. package/src/dev/dev.tsx +605 -0
  165. package/src/dev/get-local-persistence-path.ts +31 -0
  166. package/src/dev/local.tsx +952 -0
  167. package/src/dev/remote.tsx +635 -0
  168. package/src/dev/start-server.ts +545 -0
  169. package/src/dev/use-esbuild.ts +215 -0
  170. package/src/dev/validate-dev-props.ts +40 -0
  171. package/src/dev-registry.ts +202 -0
  172. package/src/dev.tsx +934 -0
  173. package/src/dialogs.ts +136 -0
  174. package/src/dispatch-namespace.ts +211 -0
  175. package/src/docs/helpers.ts +50 -0
  176. package/src/docs/index.ts +54 -0
  177. package/src/durable.ts +102 -0
  178. package/src/entry.ts +344 -0
  179. package/src/environment-variables/factory.ts +89 -0
  180. package/src/environment-variables/misc-variables.ts +30 -0
  181. package/src/errors.ts +11 -0
  182. package/src/generate/index.ts +298 -0
  183. package/src/git-client.ts +135 -0
  184. package/src/global-wrangler-config-path.ts +26 -0
  185. package/src/https-options.ts +127 -0
  186. package/src/index.ts +768 -0
  187. package/src/init.ts +1037 -0
  188. package/src/inspect.ts +928 -0
  189. package/src/intl-polyfill.d.ts +139 -0
  190. package/src/is-ci.ts +14 -0
  191. package/src/is-interactive.ts +16 -0
  192. package/src/jest.d.ts +4 -0
  193. package/src/kv/helpers.ts +433 -0
  194. package/src/kv/index.ts +594 -0
  195. package/src/logger.ts +123 -0
  196. package/src/metrics/index.ts +5 -0
  197. package/src/metrics/metrics-config.ts +239 -0
  198. package/src/metrics/metrics-dispatcher.ts +96 -0
  199. package/src/metrics/metrics-usage-headers.ts +24 -0
  200. package/src/metrics/send-event.ts +99 -0
  201. package/src/miniflare-cli/README.md +30 -0
  202. package/src/miniflare-cli/assets.ts +255 -0
  203. package/src/miniflare-cli/index.ts +210 -0
  204. package/src/miniflare-cli/request-context.ts +40 -0
  205. package/src/miniflare-cli/tsconfig.json +9 -0
  206. package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
  207. package/src/miniflare-cli/types.ts +11 -0
  208. package/src/module-collection.ts +333 -0
  209. package/src/mtls-certificate/cli.ts +155 -0
  210. package/src/open-in-browser.ts +17 -0
  211. package/src/package-manager.ts +219 -0
  212. package/src/pages/build.ts +423 -0
  213. package/src/pages/buildFunctions.ts +140 -0
  214. package/src/pages/constants.ts +18 -0
  215. package/src/pages/deployment-tails.ts +281 -0
  216. package/src/pages/deployments.tsx +84 -0
  217. package/src/pages/dev.ts +734 -0
  218. package/src/pages/errors.ts +67 -0
  219. package/src/pages/functions/buildPlugin.ts +114 -0
  220. package/src/pages/functions/buildWorker.ts +350 -0
  221. package/src/pages/functions/filepath-routing.test.ts +234 -0
  222. package/src/pages/functions/filepath-routing.ts +189 -0
  223. package/src/pages/functions/identifiers.ts +78 -0
  224. package/src/pages/functions/routes-consolidation.test.ts +250 -0
  225. package/src/pages/functions/routes-consolidation.ts +73 -0
  226. package/src/pages/functions/routes-transformation.test.ts +282 -0
  227. package/src/pages/functions/routes-transformation.ts +115 -0
  228. package/src/pages/functions/routes-validation.test.ts +403 -0
  229. package/src/pages/functions/routes-validation.ts +202 -0
  230. package/src/pages/functions/routes.ts +151 -0
  231. package/src/pages/functions/tsconfig.json +8 -0
  232. package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
  233. package/src/pages/functions.ts +86 -0
  234. package/src/pages/hash.ts +13 -0
  235. package/src/pages/index.ts +102 -0
  236. package/src/pages/projects.tsx +159 -0
  237. package/src/pages/prompt-select-project.tsx +31 -0
  238. package/src/pages/publish.tsx +267 -0
  239. package/src/pages/types.ts +46 -0
  240. package/src/pages/upload.tsx +469 -0
  241. package/src/pages/utils.ts +23 -0
  242. package/src/parse.ts +308 -0
  243. package/src/paths.ts +71 -0
  244. package/src/proxy.ts +694 -0
  245. package/src/publish/index.ts +274 -0
  246. package/src/publish/publish.ts +1065 -0
  247. package/src/pubsub/index.ts +286 -0
  248. package/src/pubsub/pubsub-commands.ts +623 -0
  249. package/src/queues/cli/commands/consumer/add.ts +71 -0
  250. package/src/queues/cli/commands/consumer/index.ts +19 -0
  251. package/src/queues/cli/commands/consumer/remove.ts +31 -0
  252. package/src/queues/cli/commands/create.ts +25 -0
  253. package/src/queues/cli/commands/delete.ts +26 -0
  254. package/src/queues/cli/commands/index.ts +35 -0
  255. package/src/queues/cli/commands/list.ts +25 -0
  256. package/src/queues/client.ts +136 -0
  257. package/src/queues/utils.ts +18 -0
  258. package/src/r2/constants.ts +4 -0
  259. package/src/r2/helpers.ts +132 -0
  260. package/src/r2/index.ts +289 -0
  261. package/src/routes.ts +140 -0
  262. package/src/secret/index.ts +377 -0
  263. package/src/selfsigned.d.ts +29 -0
  264. package/src/sites.ts +484 -0
  265. package/src/tail/createTail.ts +415 -0
  266. package/src/tail/filters.ts +277 -0
  267. package/src/tail/index.ts +211 -0
  268. package/src/tail/printing.ts +132 -0
  269. package/src/traverse-module-graph.ts +54 -0
  270. package/src/tsconfig-sanity.ts +16 -0
  271. package/src/type-generation.ts +181 -0
  272. package/src/update-check.ts +19 -0
  273. package/src/user/access.ts +68 -0
  274. package/src/user/auth-variables.ts +113 -0
  275. package/src/user/choose-account.tsx +39 -0
  276. package/src/user/generate-auth-url.ts +33 -0
  277. package/src/user/generate-random-state.ts +16 -0
  278. package/src/user/index.ts +2 -0
  279. package/src/user/user.ts +1235 -0
  280. package/src/utils/collectKeyValues.ts +14 -0
  281. package/src/utils/render.ts +93 -0
  282. package/src/whoami.ts +135 -0
  283. package/src/worker.ts +279 -0
  284. package/src/yargs-types.ts +37 -0
  285. package/src/zones.ts +191 -0
  286. package/templates/__tests__/tsconfig.json +1 -1
  287. package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
  288. package/templates/checked-fetch.js +3 -10
  289. package/templates/d1-beta-facade.js +244 -0
  290. package/templates/facade.d.ts +1 -4
  291. package/templates/first-party-worker-module-facade.ts +19 -0
  292. package/templates/format-dev-errors.ts +34 -0
  293. package/templates/middleware/common.ts +4 -9
  294. package/templates/middleware/loader-modules.ts +11 -64
  295. package/templates/middleware/loader-sw.ts +7 -2
  296. package/templates/middleware/middleware-miniflare3-json-error.ts +0 -1
  297. package/templates/new-worker-scheduled.ts +1 -1
  298. package/templates/new-worker.ts +1 -1
  299. package/templates/pages-dev-util.ts +1 -4
  300. package/templates/pages-shim.ts +3 -0
  301. package/templates/pages-template-plugin.ts +2 -12
  302. package/templates/pages-template-worker.ts +2 -11
  303. package/templates/serve-static-assets.ts +66 -0
  304. package/templates/service-bindings-module-facade.js +55 -0
  305. package/templates/service-bindings-sw-facade.js +42 -0
  306. package/templates/tsconfig.json +1 -1
  307. package/templates/tsconfig.tsbuildinfo +1 -0
  308. package/wrangler-dist/cli.d.ts +330 -22146
  309. package/wrangler-dist/cli.js +121828 -120233
  310. package/wrangler-dist/wasm-sync.wasm +0 -0
  311. package/templates/middleware/middleware-d1-beta.d.ts +0 -3
  312. package/templates/middleware/middleware-multiworker-dev.d.ts +0 -4
  313. package/templates/middleware/middleware-multiworker-dev.ts +0 -68
  314. package/templates/middleware/middleware-serve-static-assets.d.ts +0 -6
  315. package/templates/middleware/middleware-serve-static-assets.ts +0 -56
  316. package/templates/modules-watch-stub.js +0 -4
  317. package/templates/startDevWorker/InspectorProxyWorker.ts +0 -652
  318. package/templates/startDevWorker/ProxyWorker.ts +0 -252
  319. package/wrangler-dist/InspectorProxyWorker.js +0 -460
  320. package/wrangler-dist/InspectorProxyWorker.js.map +0 -6
  321. package/wrangler-dist/ProxyWorker.js +0 -186
  322. package/wrangler-dist/ProxyWorker.js.map +0 -6
package/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
  <a href="https://discord.gg/CloudflareDev"><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
+
9
11
  `wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
10
12
 
11
13
  ## Quick Start
@@ -15,8 +17,8 @@
15
17
  echo "export default { fetch() { return new Response('hello world') } }" > index.js
16
18
  # try it out
17
19
  npx wrangler dev index.js
18
- # and then deploy it
19
- npx wrangler deploy index.js --name my-worker
20
+ # and then publish it
21
+ npx wrangler publish index.js --name my-worker
20
22
  # visit https://my-worker.<your workers subdomain>.workers.dev
21
23
  ```
22
24
 
@@ -24,10 +26,10 @@ npx wrangler deploy index.js --name my-worker
24
26
 
25
27
  ```bash
26
28
  # Generate a new project
27
- npx wrangler init my-worker --no-delegate-c3
29
+ npx wrangler init my-worker
28
30
  # try it out
29
31
  cd my-worker && npm run start
30
- # and then deploy it
32
+ # and then publish it
31
33
  npm run deploy
32
34
  ```
33
35
 
@@ -41,15 +43,15 @@ $ npm install wrangler --save-dev
41
43
 
42
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.
43
45
 
44
- Example:
46
+ example:
45
47
 
46
48
  ```toml
47
- name = "my-worker"
48
49
  main = "./src/index.ts" # init w/ TypeScript
49
- compatibility_date = "YYYY-MM-DD"
50
+ name = "my-worker"
51
+ compatibility_date = "YYY-MM-DD"
50
52
  ```
51
53
 
52
- For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
54
+ for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
53
55
 
54
56
  ## Commands
55
57
 
@@ -61,11 +63,11 @@ Creates a Worker project. For details on configuration keys and values, refer to
61
63
 
62
64
  Start a local development server, with live reloading and devtools.
63
65
 
64
- ### `wrangler deploy`
66
+ ### `wrangler publish`
65
67
 
66
68
  Publish the given script to the worldwide Cloudflare network.
67
69
 
68
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
70
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
69
71
 
70
72
  ## Pages
71
73
 
package/bin/wrangler.js CHANGED
@@ -76,14 +76,83 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
76
76
  if (process.send) {
77
77
  process.send(message);
78
78
  }
79
- })
80
- .on("disconnect", () => {
81
- if (process.disconnect) {
82
- process.disconnect();
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);
83
121
  }
84
122
  });
85
123
  }
86
124
 
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
+
87
156
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
88
157
 
89
158
  /**
@@ -116,12 +185,4 @@ function semiver(a, b, bool) {
116
185
 
117
186
  // end semiver implementation
118
187
 
119
- if (module === require.main) {
120
- wranglerProcess = runWrangler();
121
- process.on("SIGINT", () => {
122
- wranglerProcess && wranglerProcess.kill();
123
- });
124
- process.on("SIGTERM", () => {
125
- wranglerProcess && wranglerProcess.kill();
126
- });
127
- }
188
+ void main();
@@ -0,0 +1,3 @@
1
+ // as per https://github.com/evanw/esbuild/issues/1492
2
+ // to make some libs work
3
+ export const import_meta_url = require("url").pathToFileURL(__filename);
File without changes
File without changes