wrangler 0.0.0-e043479 → 0.0.0-e0621809

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 (365) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +47 -14
  3. package/bin/wrangler.js +181 -29
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +6368 -0
  6. package/package.json +198 -136
  7. package/src/__tests__/access.test.ts +25 -0
  8. package/src/__tests__/api-dev.test.ts +238 -0
  9. package/src/__tests__/api-devregistry.test.js +64 -0
  10. package/src/__tests__/api.test.ts +80 -0
  11. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  12. package/src/__tests__/config-cache.test.ts +42 -0
  13. package/src/__tests__/configuration.test.ts +4456 -2178
  14. package/src/__tests__/d1/d1.test.ts +82 -0
  15. package/src/__tests__/d1/execute.test.ts +66 -0
  16. package/src/__tests__/d1/migrate.test.ts +157 -0
  17. package/src/__tests__/d1/splitter.test.ts +255 -0
  18. package/src/__tests__/delete.test.ts +272 -0
  19. package/src/__tests__/deployments.test.ts +369 -0
  20. package/src/__tests__/dev.test.tsx +1605 -235
  21. package/src/__tests__/generate.test.ts +238 -0
  22. package/src/__tests__/get-host-from-url.test.ts +16 -0
  23. package/src/__tests__/guess-worker-format.test.ts +111 -57
  24. package/src/__tests__/helpers/cmd-shim.d.ts +6 -6
  25. package/src/__tests__/helpers/end-event-loop.ts +6 -0
  26. package/src/__tests__/helpers/mock-account-id.ts +26 -22
  27. package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
  28. package/src/__tests__/helpers/mock-bin.ts +20 -20
  29. package/src/__tests__/helpers/mock-console.ts +74 -32
  30. package/src/__tests__/helpers/mock-dialogs.ts +107 -33
  31. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +25 -0
  32. package/src/__tests__/helpers/mock-get-zone-from-host.ts +11 -0
  33. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  34. package/src/__tests__/helpers/mock-istty.ts +74 -0
  35. package/src/__tests__/helpers/mock-known-routes.ts +12 -0
  36. package/src/__tests__/helpers/mock-kv.ts +42 -36
  37. package/src/__tests__/helpers/mock-oauth-flow.ts +263 -0
  38. package/src/__tests__/helpers/mock-process.ts +34 -0
  39. package/src/__tests__/helpers/mock-set-timeout.ts +16 -0
  40. package/src/__tests__/helpers/mock-stdin.ts +82 -77
  41. package/src/__tests__/helpers/mock-web-socket.ts +21 -21
  42. package/src/__tests__/helpers/msw/blob-worker.cjs +19 -0
  43. package/src/__tests__/helpers/msw/handlers/access.ts +13 -0
  44. package/src/__tests__/helpers/msw/handlers/deployments.ts +160 -0
  45. package/src/__tests__/helpers/msw/handlers/namespaces.ts +81 -0
  46. package/src/__tests__/helpers/msw/handlers/oauth.ts +31 -0
  47. package/src/__tests__/helpers/msw/handlers/r2.ts +60 -0
  48. package/src/__tests__/helpers/msw/handlers/script.ts +56 -0
  49. package/src/__tests__/helpers/msw/handlers/user.ts +52 -0
  50. package/src/__tests__/helpers/msw/handlers/zones.ts +20 -0
  51. package/src/__tests__/helpers/msw/index.ts +52 -0
  52. package/src/__tests__/helpers/msw/read-file-sync.js +61 -0
  53. package/src/__tests__/helpers/run-in-tmp.ts +29 -20
  54. package/src/__tests__/helpers/run-wrangler.ts +8 -8
  55. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +28 -0
  56. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +1 -0
  57. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +5 -0
  58. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +1 -0
  59. package/src/__tests__/helpers/worker-scripts/parent-worker.js +11 -0
  60. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +5 -0
  61. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  62. package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
  63. package/src/__tests__/https-options.test.ts +163 -0
  64. package/src/__tests__/index.test.ts +264 -850
  65. package/src/__tests__/init.test.ts +3196 -0
  66. package/src/__tests__/jest.setup.ts +158 -48
  67. package/src/__tests__/kv.test.ts +1789 -1398
  68. package/src/__tests__/logger.test.ts +141 -0
  69. package/src/__tests__/logout.test.ts +41 -44
  70. package/src/__tests__/metrics.test.ts +493 -0
  71. package/src/__tests__/middleware.scheduled.test.ts +145 -0
  72. package/src/__tests__/middleware.test.ts +816 -0
  73. package/src/__tests__/mtls-certificates.test.ts +588 -0
  74. package/src/__tests__/package-manager.test.ts +312 -165
  75. package/src/__tests__/pages/deployment-list.test.ts +80 -0
  76. package/src/__tests__/pages/functions-build.test.ts +452 -0
  77. package/src/__tests__/pages/pages.test.ts +81 -0
  78. package/src/__tests__/pages/project-create.test.ts +63 -0
  79. package/src/__tests__/pages/project-list.test.ts +110 -0
  80. package/src/__tests__/pages/project-upload.test.ts +500 -0
  81. package/src/__tests__/pages/publish.test.ts +2820 -0
  82. package/src/__tests__/pages-deployment-tail.test.ts +955 -0
  83. package/src/__tests__/parse.test.ts +359 -245
  84. package/src/__tests__/paths.test.ts +39 -0
  85. package/src/__tests__/publish.test.ts +8373 -2089
  86. package/src/__tests__/pubsub.test.ts +496 -0
  87. package/src/__tests__/queues.test.ts +532 -0
  88. package/src/__tests__/r2.test.ts +369 -193
  89. package/src/__tests__/route.test.ts +45 -0
  90. package/src/__tests__/secret.test.ts +683 -415
  91. package/src/__tests__/tail.test.ts +838 -444
  92. package/src/__tests__/test-old-node-version.js +31 -0
  93. package/src/__tests__/tsconfig-sanity.ts +12 -0
  94. package/src/__tests__/tsconfig.json +8 -0
  95. package/src/__tests__/tsconfig.tsbuildinfo +1 -0
  96. package/src/__tests__/type-generation.test.ts +234 -0
  97. package/src/__tests__/user.test.ts +118 -0
  98. package/src/__tests__/utils-collectKeyValues.test.ts +47 -0
  99. package/src/__tests__/validate-dev-props.test.ts +56 -0
  100. package/src/__tests__/version.test.ts +35 -0
  101. package/src/__tests__/whoami.test.tsx +167 -81
  102. package/src/__tests__/worker-namespace.test.ts +340 -0
  103. package/src/abort.d.ts +3 -0
  104. package/src/api/dev.ts +327 -0
  105. package/src/api/index.ts +11 -0
  106. package/src/api/mtls-certificate.ts +148 -0
  107. package/src/api/pages/create-worker-bundle-contents.ts +75 -0
  108. package/src/api/pages/index.ts +5 -0
  109. package/src/api/pages/publish.tsx +355 -0
  110. package/src/bundle-reporter.ts +68 -0
  111. package/src/bundle.ts +874 -103
  112. package/src/cfetch/index.ts +123 -69
  113. package/src/cfetch/internal.ts +217 -92
  114. package/src/cli.ts +23 -14
  115. package/src/config/README.md +7 -7
  116. package/src/config/config.ts +236 -224
  117. package/src/config/diagnostics.ts +61 -61
  118. package/src/config/environment.ts +545 -256
  119. package/src/config/index.ts +367 -34
  120. package/src/config/validation-helpers.ts +449 -222
  121. package/src/config/validation.ts +2142 -907
  122. package/src/config-cache.ts +85 -0
  123. package/src/create-worker-preview.ts +293 -0
  124. package/src/create-worker-upload-form.ts +342 -0
  125. package/src/d1/backups.tsx +219 -0
  126. package/src/d1/constants.ts +2 -0
  127. package/src/d1/create.tsx +68 -0
  128. package/src/d1/delete.ts +53 -0
  129. package/src/d1/execute.tsx +357 -0
  130. package/src/d1/formatTimeAgo.ts +14 -0
  131. package/src/d1/index.ts +100 -0
  132. package/src/d1/list.tsx +60 -0
  133. package/src/d1/migrations/apply.tsx +212 -0
  134. package/src/d1/migrations/create.tsx +79 -0
  135. package/src/d1/migrations/helpers.ts +172 -0
  136. package/src/d1/migrations/index.ts +3 -0
  137. package/src/d1/migrations/list.tsx +95 -0
  138. package/src/d1/migrations/options.ts +23 -0
  139. package/src/d1/options.ts +22 -0
  140. package/src/d1/splitter.ts +161 -0
  141. package/src/d1/types.ts +25 -0
  142. package/src/d1/utils.ts +49 -0
  143. package/src/delete.ts +100 -0
  144. package/src/deployments.ts +368 -0
  145. package/src/deprecated/index.ts +144 -0
  146. package/src/dev/dev-vars.ts +39 -0
  147. package/src/dev/dev.tsx +600 -0
  148. package/src/dev/get-local-persistence-path.ts +31 -0
  149. package/src/dev/local.tsx +920 -0
  150. package/src/dev/remote.tsx +632 -0
  151. package/src/dev/start-server.ts +540 -0
  152. package/src/dev/use-esbuild.ts +209 -0
  153. package/src/dev/validate-dev-props.ts +40 -0
  154. package/src/dev-registry.ts +201 -0
  155. package/src/dev.tsx +907 -939
  156. package/src/dialogs.ts +136 -0
  157. package/src/dispatch-namespace.ts +211 -0
  158. package/src/docs/index.ts +97 -0
  159. package/src/durable.ts +102 -0
  160. package/src/entry.ts +307 -37
  161. package/src/environment-variables/factory.ts +88 -0
  162. package/src/environment-variables/misc-variables.ts +30 -0
  163. package/src/errors.ts +11 -0
  164. package/src/generate/index.ts +298 -0
  165. package/src/git-client.ts +135 -0
  166. package/src/global-wrangler-config-path.ts +26 -0
  167. package/src/https-options.ts +127 -0
  168. package/src/index.ts +758 -0
  169. package/src/init.ts +1032 -0
  170. package/src/inspect.ts +723 -550
  171. package/src/intl-polyfill.d.ts +139 -0
  172. package/src/is-ci.ts +14 -0
  173. package/src/is-interactive.ts +16 -0
  174. package/src/jest.d.ts +4 -0
  175. package/src/kv/helpers.ts +430 -0
  176. package/src/kv/index.ts +594 -0
  177. package/src/logger.ts +104 -0
  178. package/src/metrics/index.ts +5 -0
  179. package/src/metrics/metrics-config.ts +239 -0
  180. package/src/metrics/metrics-dispatcher.ts +96 -0
  181. package/src/metrics/metrics-usage-headers.ts +24 -0
  182. package/src/metrics/send-event.ts +99 -0
  183. package/src/miniflare-cli/README.md +30 -0
  184. package/src/miniflare-cli/assets.ts +251 -0
  185. package/src/miniflare-cli/index.ts +210 -0
  186. package/src/miniflare-cli/request-context.ts +40 -0
  187. package/src/miniflare-cli/tsconfig.json +9 -0
  188. package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
  189. package/src/miniflare-cli/types.ts +11 -0
  190. package/src/module-collection.ts +243 -146
  191. package/src/mtls-certificate/cli.ts +155 -0
  192. package/src/open-in-browser.ts +10 -6
  193. package/src/package-manager.ts +183 -90
  194. package/src/pages/build.ts +410 -0
  195. package/src/pages/buildFunctions.ts +140 -0
  196. package/src/pages/constants.ts +18 -0
  197. package/src/pages/deployment-tails.ts +281 -0
  198. package/src/pages/deployments.tsx +84 -0
  199. package/src/pages/dev.ts +716 -0
  200. package/src/pages/errors.ts +67 -0
  201. package/src/pages/functions/buildPlugin.ts +112 -0
  202. package/src/pages/functions/buildWorker.ts +297 -0
  203. package/src/pages/functions/filepath-routing.test.ts +234 -0
  204. package/src/pages/functions/filepath-routing.ts +189 -0
  205. package/src/pages/functions/identifiers.ts +78 -0
  206. package/src/pages/functions/routes-consolidation.test.ts +250 -0
  207. package/src/pages/functions/routes-consolidation.ts +73 -0
  208. package/src/pages/functions/routes-transformation.test.ts +282 -0
  209. package/src/pages/functions/routes-transformation.ts +115 -0
  210. package/src/pages/functions/routes-validation.test.ts +403 -0
  211. package/src/pages/functions/routes-validation.ts +202 -0
  212. package/src/pages/functions/routes.ts +151 -0
  213. package/src/pages/functions/tsconfig.json +8 -0
  214. package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
  215. package/src/pages/functions.ts +86 -0
  216. package/src/pages/hash.ts +13 -0
  217. package/src/pages/index.ts +102 -0
  218. package/src/pages/projects.tsx +159 -0
  219. package/src/pages/prompt-select-project.tsx +31 -0
  220. package/src/pages/publish.tsx +267 -0
  221. package/src/pages/types.ts +46 -0
  222. package/src/pages/upload.tsx +469 -0
  223. package/src/pages/utils.ts +23 -0
  224. package/src/parse.ts +247 -122
  225. package/src/paths.ts +53 -8
  226. package/src/proxy.ts +636 -318
  227. package/src/publish/index.ts +274 -0
  228. package/src/publish/publish.ts +1065 -0
  229. package/src/pubsub/index.ts +286 -0
  230. package/src/pubsub/pubsub-commands.ts +623 -0
  231. package/src/queues/cli/commands/consumer/add.ts +71 -0
  232. package/src/queues/cli/commands/consumer/index.ts +19 -0
  233. package/src/queues/cli/commands/consumer/remove.ts +31 -0
  234. package/src/queues/cli/commands/create.ts +25 -0
  235. package/src/queues/cli/commands/delete.ts +26 -0
  236. package/src/queues/cli/commands/index.ts +35 -0
  237. package/src/queues/cli/commands/list.ts +25 -0
  238. package/src/queues/client.ts +136 -0
  239. package/src/queues/utils.ts +18 -0
  240. package/src/r2/constants.ts +4 -0
  241. package/src/r2/helpers.ts +132 -0
  242. package/src/r2/index.ts +289 -0
  243. package/src/routes.ts +140 -0
  244. package/src/secret/index.ts +375 -0
  245. package/src/selfsigned.d.ts +29 -0
  246. package/src/sites.ts +372 -0
  247. package/src/tail/createTail.ts +406 -0
  248. package/src/tail/filters.ts +109 -111
  249. package/src/tail/index.ts +208 -296
  250. package/src/tail/printing.ts +107 -47
  251. package/src/tsconfig-sanity.ts +16 -0
  252. package/src/type-generation.ts +181 -0
  253. package/src/update-check.ts +19 -0
  254. package/src/user/access.ts +68 -0
  255. package/src/user/auth-variables.ts +113 -0
  256. package/src/user/choose-account.tsx +39 -0
  257. package/src/user/generate-auth-url.ts +33 -0
  258. package/src/user/generate-random-state.ts +16 -0
  259. package/src/user/index.ts +2 -0
  260. package/src/user/user.ts +1233 -0
  261. package/src/utils/collectKeyValues.ts +14 -0
  262. package/src/utils/render.ts +93 -0
  263. package/src/whoami.ts +135 -0
  264. package/src/worker.ts +264 -0
  265. package/src/yargs-types.ts +37 -0
  266. package/src/zones.ts +191 -0
  267. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  268. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  269. package/templates/__tests__/tsconfig.json +8 -0
  270. package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
  271. package/templates/checked-fetch.js +23 -0
  272. package/templates/d1-beta-facade.js +244 -0
  273. package/templates/facade.d.ts +14 -0
  274. package/templates/first-party-worker-module-facade.ts +19 -0
  275. package/templates/format-dev-errors.ts +34 -0
  276. package/templates/gitignore +172 -0
  277. package/templates/init-tests/test-jest-new-worker.js +23 -0
  278. package/templates/init-tests/test-vitest-new-worker.js +24 -0
  279. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  280. package/templates/middleware/common.ts +62 -0
  281. package/templates/middleware/loader-modules.ts +84 -0
  282. package/templates/middleware/loader-sw.ts +233 -0
  283. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  284. package/templates/middleware/middleware-pretty-error.ts +40 -0
  285. package/templates/middleware/middleware-scheduled.ts +15 -0
  286. package/templates/new-worker-scheduled.js +17 -0
  287. package/templates/new-worker-scheduled.ts +32 -0
  288. package/templates/new-worker.js +3 -3
  289. package/templates/new-worker.ts +21 -3
  290. package/templates/no-op-worker.js +10 -0
  291. package/templates/pages-dev-pipeline.ts +31 -0
  292. package/templates/pages-dev-util.ts +52 -0
  293. package/templates/pages-shim.ts +12 -0
  294. package/templates/pages-template-plugin.ts +180 -0
  295. package/templates/pages-template-worker.ts +189 -0
  296. package/templates/serve-static-assets.ts +66 -0
  297. package/templates/service-bindings-module-facade.js +55 -0
  298. package/templates/service-bindings-sw-facade.js +42 -0
  299. package/templates/tsconfig-sanity.ts +11 -0
  300. package/templates/tsconfig.init.json +105 -0
  301. package/templates/tsconfig.json +6 -103
  302. package/templates/tsconfig.tsbuildinfo +1 -0
  303. package/wrangler-dist/cli.d.ts +1619 -0
  304. package/wrangler-dist/cli.js +141446 -128789
  305. package/wrangler-dist/wasm-sync.wasm +0 -0
  306. package/pages/functions/buildWorker.ts +0 -62
  307. package/pages/functions/filepath-routing.test.ts +0 -123
  308. package/pages/functions/filepath-routing.ts +0 -178
  309. package/pages/functions/identifiers.ts +0 -78
  310. package/pages/functions/routes.ts +0 -151
  311. package/pages/functions/template-worker.ts +0 -130
  312. package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
  313. package/src/__tests__/helpers/mock-cfetch.ts +0 -207
  314. package/src/__tests__/helpers/mock-user.ts +0 -27
  315. package/src/__tests__/sentry.test.ts +0 -146
  316. package/src/api/form_data.ts +0 -217
  317. package/src/api/preview.ts +0 -147
  318. package/src/api/worker.ts +0 -186
  319. package/src/dialogs.tsx +0 -77
  320. package/src/environment-variables.ts +0 -33
  321. package/src/guess-worker-format.ts +0 -68
  322. package/src/index.tsx +0 -2302
  323. package/src/kv.tsx +0 -339
  324. package/src/pages.tsx +0 -1045
  325. package/src/publish.ts +0 -363
  326. package/src/r2.ts +0 -50
  327. package/src/reporting.ts +0 -115
  328. package/src/sites.tsx +0 -238
  329. package/src/user.tsx +0 -1063
  330. package/src/whoami.tsx +0 -69
  331. package/templates/static-asset-facade.js +0 -47
  332. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  333. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  334. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  335. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  336. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  337. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  338. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  339. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  340. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  341. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  342. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  343. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  344. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  345. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  346. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  347. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  348. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  349. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  350. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  351. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  352. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  353. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  354. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  355. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  356. package/vendor/wrangler-mime/LICENSE +0 -21
  357. package/vendor/wrangler-mime/Mime.js +0 -97
  358. package/vendor/wrangler-mime/README.md +0 -187
  359. package/vendor/wrangler-mime/cli.js +0 -46
  360. package/vendor/wrangler-mime/index.js +0 -4
  361. package/vendor/wrangler-mime/lite.js +0 -4
  362. package/vendor/wrangler-mime/package.json +0 -52
  363. package/vendor/wrangler-mime/types/other.js +0 -1
  364. package/vendor/wrangler-mime/types/standard.js +0 -1
  365. package/wrangler-dist/cli.js.map +0 -7
@@ -0,0 +1,274 @@
1
+ import path from "node:path";
2
+ import { findWranglerToml, readConfig } from "../config";
3
+ import { getEntry } from "../entry";
4
+ import {
5
+ getRules,
6
+ getScriptName,
7
+ isLegacyEnv,
8
+ printWranglerBanner,
9
+ } from "../index";
10
+ import { logger } from "../logger";
11
+ import * as metrics from "../metrics";
12
+ import { getAssetPaths, getSiteAssetPaths } from "../sites";
13
+ import { requireAuth } from "../user";
14
+ import { collectKeyValues } from "../utils/collectKeyValues";
15
+ import publish from "./publish";
16
+ import type {
17
+ CommonYargsArgv,
18
+ StrictYargsOptionsToInterface,
19
+ } from "../yargs-types";
20
+
21
+ export function publishOptions(yargs: CommonYargsArgv) {
22
+ return (
23
+ yargs
24
+ .positional("script", {
25
+ describe: "The path to an entry point for your worker",
26
+ type: "string",
27
+ requiresArg: true,
28
+ })
29
+ .option("name", {
30
+ describe: "Name of the worker",
31
+ type: "string",
32
+ requiresArg: true,
33
+ })
34
+ // We want to have a --no-bundle flag, but yargs requires that
35
+ // we also have a --bundle flag (that it adds the --no to by itself)
36
+ // So we make a --bundle flag, but hide it, and then add a --no-bundle flag
37
+ // that's visible to the user but doesn't "do" anything.
38
+ .option("bundle", {
39
+ describe: "Run wrangler's compilation step before publishing",
40
+ type: "boolean",
41
+ hidden: true,
42
+ })
43
+ .option("no-bundle", {
44
+ describe: "Skip internal build steps and directly publish Worker",
45
+ type: "boolean",
46
+ default: false,
47
+ })
48
+ .option("outdir", {
49
+ describe: "Output directory for the bundled worker",
50
+ type: "string",
51
+ requiresArg: true,
52
+ })
53
+ .option("format", {
54
+ choices: ["modules", "service-worker"] as const,
55
+ describe: "Choose an entry type",
56
+ deprecated: true,
57
+ hidden: true,
58
+ })
59
+ .option("compatibility-date", {
60
+ describe: "Date to use for compatibility checks",
61
+ type: "string",
62
+ requiresArg: true,
63
+ })
64
+ .option("compatibility-flags", {
65
+ describe: "Flags to use for compatibility checks",
66
+ alias: "compatibility-flag",
67
+ type: "string",
68
+ requiresArg: true,
69
+ array: true,
70
+ })
71
+ .option("latest", {
72
+ describe: "Use the latest version of the worker runtime",
73
+ type: "boolean",
74
+ default: false,
75
+ })
76
+ .option("experimental-public", {
77
+ describe: "Static assets to be served",
78
+ type: "string",
79
+ requiresArg: true,
80
+ deprecated: true,
81
+ hidden: true,
82
+ })
83
+ .option("public", {
84
+ describe: "Static assets to be served",
85
+ type: "string",
86
+ requiresArg: true,
87
+ deprecated: true,
88
+ hidden: true,
89
+ })
90
+ .option("assets", {
91
+ describe: "Static assets to be served",
92
+ type: "string",
93
+ requiresArg: true,
94
+ })
95
+ .option("site", {
96
+ describe: "Root folder of static assets for Workers Sites",
97
+ type: "string",
98
+ requiresArg: true,
99
+ })
100
+ .option("site-include", {
101
+ describe:
102
+ "Array of .gitignore-style patterns that match file or directory names from the sites directory. Only matched items will be uploaded.",
103
+ type: "string",
104
+ requiresArg: true,
105
+ array: true,
106
+ })
107
+ .option("site-exclude", {
108
+ describe:
109
+ "Array of .gitignore-style patterns that match file or directory names from the sites directory. Matched items will not be uploaded.",
110
+ type: "string",
111
+ requiresArg: true,
112
+ array: true,
113
+ })
114
+ .option("var", {
115
+ describe:
116
+ "A key-value pair to be injected into the script as a variable",
117
+ type: "string",
118
+ requiresArg: true,
119
+ array: true,
120
+ })
121
+ .option("define", {
122
+ describe: "A key-value pair to be substituted in the script",
123
+ type: "string",
124
+ requiresArg: true,
125
+ array: true,
126
+ })
127
+ .option("triggers", {
128
+ describe: "cron schedules to attach",
129
+ alias: ["schedule", "schedules"],
130
+ type: "string",
131
+ requiresArg: true,
132
+ array: true,
133
+ })
134
+ .option("routes", {
135
+ describe: "Routes to upload",
136
+ alias: "route",
137
+ type: "string",
138
+ requiresArg: true,
139
+ array: true,
140
+ })
141
+ .option("jsx-factory", {
142
+ describe: "The function that is called for each JSX element",
143
+ type: "string",
144
+ requiresArg: true,
145
+ })
146
+ .option("jsx-fragment", {
147
+ describe: "The function that is called for each JSX fragment",
148
+ type: "string",
149
+ requiresArg: true,
150
+ })
151
+ .option("tsconfig", {
152
+ describe: "Path to a custom tsconfig.json file",
153
+ type: "string",
154
+ requiresArg: true,
155
+ })
156
+ .option("minify", {
157
+ describe: "Minify the Worker",
158
+ type: "boolean",
159
+ })
160
+ .option("node-compat", {
161
+ describe: "Enable Node.js compatibility",
162
+ type: "boolean",
163
+ })
164
+ .option("dry-run", {
165
+ describe: "Don't actually publish",
166
+ type: "boolean",
167
+ })
168
+ .option("keep-vars", {
169
+ describe:
170
+ "Stop wrangler from deleting vars that are not present in the wrangler.toml\nBy default Wrangler will remove all vars and replace them with those found in the wrangler.toml configuration.\nIf your development approach is to modify vars after deployment via the dashboard you may wish to set this flag.",
171
+ default: false,
172
+ type: "boolean",
173
+ })
174
+ .option("legacy-env", {
175
+ type: "boolean",
176
+ describe: "Use legacy environments",
177
+ hidden: true,
178
+ })
179
+ .option("logpush", {
180
+ type: "boolean",
181
+ describe:
182
+ "Send Trace Events from this worker to Workers Logpush.\nThis will not configure a corresponding Logpush job automatically.",
183
+ })
184
+ );
185
+ }
186
+
187
+ export async function publishHandler(
188
+ args: StrictYargsOptionsToInterface<typeof publishOptions>
189
+ ) {
190
+ await printWranglerBanner();
191
+
192
+ const configPath =
193
+ args.config || (args.script && findWranglerToml(path.dirname(args.script)));
194
+ const config = readConfig(configPath, args);
195
+ const entry = await getEntry(args, config, "publish");
196
+ await metrics.sendMetricsEvent(
197
+ "deploy worker script",
198
+ {
199
+ usesTypeScript: /\.tsx?$/.test(entry.file),
200
+ },
201
+ {
202
+ sendMetrics: config.send_metrics,
203
+ }
204
+ );
205
+
206
+ if (args.public) {
207
+ throw new Error("The --public field has been renamed to --assets");
208
+ }
209
+ if (args.experimentalPublic) {
210
+ throw new Error(
211
+ "The --experimental-public field has been renamed to --assets"
212
+ );
213
+ }
214
+
215
+ if ((args.assets || config.assets) && (args.site || config.site)) {
216
+ throw new Error("Cannot use Assets and Workers Sites in the same Worker.");
217
+ }
218
+
219
+ if (args.assets) {
220
+ logger.warn(
221
+ "The --assets argument is experimental and may change or break at any time"
222
+ );
223
+ }
224
+ if (args.latest) {
225
+ logger.warn(
226
+ "Using the latest version of the Workers runtime. To silence this warning, please choose a specific version of the runtime with --compatibility-date, or add a compatibility_date to your wrangler.toml.\n"
227
+ );
228
+ }
229
+
230
+ const cliVars = collectKeyValues(args.var);
231
+ const cliDefines = collectKeyValues(args.define);
232
+
233
+ const accountId = args.dryRun ? undefined : await requireAuth(config);
234
+
235
+ const assetPaths =
236
+ args.assets || config.assets
237
+ ? getAssetPaths(config, args.assets)
238
+ : getSiteAssetPaths(
239
+ config,
240
+ args.site,
241
+ args.siteInclude,
242
+ args.siteExclude
243
+ );
244
+
245
+ await publish({
246
+ config,
247
+ accountId,
248
+ name: getScriptName(args, config),
249
+ rules: getRules(config),
250
+ entry,
251
+ env: args.env,
252
+ compatibilityDate: args.latest
253
+ ? new Date().toISOString().substring(0, 10)
254
+ : args.compatibilityDate,
255
+ compatibilityFlags: args.compatibilityFlags,
256
+ vars: cliVars,
257
+ defines: cliDefines,
258
+ triggers: args.triggers,
259
+ jsxFactory: args.jsxFactory,
260
+ jsxFragment: args.jsxFragment,
261
+ tsconfig: args.tsconfig,
262
+ routes: args.routes,
263
+ assetPaths,
264
+ legacyEnv: isLegacyEnv(config),
265
+ minify: args.minify,
266
+ nodeCompat: args.nodeCompat,
267
+ isWorkersSite: Boolean(args.site || config.site),
268
+ outDir: args.outdir,
269
+ dryRun: args.dryRun,
270
+ noBundle: !(args.bundle ?? !config.no_bundle),
271
+ keepVars: args.keepVars,
272
+ logpush: args.logpush,
273
+ });
274
+ }