wrangler 0.0.0-e64812e → 0.0.0-e665ccc3

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 (373) hide show
  1. package/README.md +24 -4
  2. package/bin/wrangler.js +170 -62
  3. package/kv-asset-handler.js +1 -0
  4. package/miniflare-dist/index.mjs +1643 -83
  5. package/package.json +198 -152
  6. package/src/__tests__/access.test.ts +25 -0
  7. package/src/__tests__/api-dev.test.ts +238 -0
  8. package/src/__tests__/api-devregistry.test.ts +121 -0
  9. package/src/__tests__/api.test.ts +102 -0
  10. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  11. package/src/__tests__/config-cache.test.ts +30 -24
  12. package/src/__tests__/configuration.test.ts +4506 -3363
  13. package/src/__tests__/constellation.test.ts +371 -0
  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 +257 -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 +1589 -952
  21. package/src/__tests__/generate.test.ts +237 -0
  22. package/src/__tests__/get-host-from-url.test.ts +16 -0
  23. package/src/__tests__/guess-worker-format.test.ts +103 -68
  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 +24 -24
  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 +64 -39
  30. package/src/__tests__/helpers/mock-dialogs.ts +88 -79
  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 +30 -30
  34. package/src/__tests__/helpers/mock-istty.ts +65 -18
  35. package/src/__tests__/helpers/mock-known-routes.ts +12 -0
  36. package/src/__tests__/helpers/mock-kv.ts +41 -28
  37. package/src/__tests__/helpers/mock-oauth-flow.ts +241 -233
  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 +27 -28
  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 +16 -16
  62. package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
  63. package/src/__tests__/https-options.test.ts +142 -109
  64. package/src/__tests__/index.test.ts +262 -236
  65. package/src/__tests__/init.test.ts +3167 -1605
  66. package/src/__tests__/jest.setup.ts +152 -50
  67. package/src/__tests__/kv.test.ts +1789 -1471
  68. package/src/__tests__/logger.test.ts +167 -75
  69. package/src/__tests__/logout.test.ts +47 -0
  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 +589 -0
  74. package/src/__tests__/package-manager.test.ts +303 -303
  75. package/src/__tests__/pages/deployment-list.test.ts +80 -0
  76. package/src/__tests__/pages/functions-build.test.ts +528 -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 +2864 -0
  82. package/src/__tests__/pages-deployment-tail.test.ts +957 -0
  83. package/src/__tests__/parse.test.ts +358 -252
  84. package/src/__tests__/paths.test.ts +39 -0
  85. package/src/__tests__/publish.test.ts +8736 -5355
  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 -228
  89. package/src/__tests__/route.test.ts +18 -18
  90. package/src/__tests__/secret.test.ts +681 -469
  91. package/src/__tests__/tail.test.ts +866 -567
  92. package/src/__tests__/test-old-node-version.js +31 -0
  93. package/src/__tests__/traverse-module-graph.test.ts +220 -0
  94. package/src/__tests__/tsconfig-sanity.ts +12 -0
  95. package/src/__tests__/tsconfig.json +8 -0
  96. package/src/__tests__/tsconfig.tsbuildinfo +1 -0
  97. package/src/__tests__/type-generation.test.ts +234 -0
  98. package/src/__tests__/user.test.ts +107 -120
  99. package/src/__tests__/utils-collectKeyValues.test.ts +47 -0
  100. package/src/__tests__/validate-dev-props.test.ts +56 -0
  101. package/src/__tests__/version.test.ts +35 -0
  102. package/src/__tests__/whoami.test.tsx +165 -98
  103. package/src/__tests__/worker-namespace.test.ts +340 -0
  104. package/src/abort.d.ts +1 -1
  105. package/src/api/dev.ts +321 -0
  106. package/src/api/index.ts +11 -0
  107. package/src/api/mtls-certificate.ts +148 -0
  108. package/src/api/pages/create-worker-bundle-contents.ts +77 -0
  109. package/src/api/pages/index.ts +5 -0
  110. package/src/api/pages/publish.tsx +371 -0
  111. package/src/bundle-reporter.ts +68 -0
  112. package/src/bundle.ts +890 -161
  113. package/src/cfetch/index.ts +120 -83
  114. package/src/cfetch/internal.ts +210 -97
  115. package/src/cli.ts +23 -8
  116. package/src/config/config.ts +244 -196
  117. package/src/config/diagnostics.ts +61 -61
  118. package/src/config/environment.ts +562 -357
  119. package/src/config/index.ts +374 -196
  120. package/src/config/validation-helpers.ts +379 -357
  121. package/src/config/validation.ts +2197 -1367
  122. package/src/config-cache.ts +81 -41
  123. package/src/constellation/createProject.tsx +51 -0
  124. package/src/constellation/deleteProject.ts +51 -0
  125. package/src/constellation/deleteProjectModel.ts +68 -0
  126. package/src/constellation/index.ts +75 -0
  127. package/src/constellation/listCatalog.tsx +35 -0
  128. package/src/constellation/listModel.tsx +41 -0
  129. package/src/constellation/listProject.tsx +28 -0
  130. package/src/constellation/listRuntime.tsx +28 -0
  131. package/src/constellation/options.ts +17 -0
  132. package/src/constellation/types.ts +17 -0
  133. package/src/constellation/uploadModel.tsx +64 -0
  134. package/src/constellation/utils.ts +90 -0
  135. package/src/create-worker-preview.ts +250 -142
  136. package/src/create-worker-upload-form.ts +347 -238
  137. package/src/d1/backups.tsx +219 -0
  138. package/src/d1/constants.ts +2 -0
  139. package/src/d1/create.tsx +70 -0
  140. package/src/d1/delete.ts +53 -0
  141. package/src/d1/execute.tsx +357 -0
  142. package/src/d1/formatTimeAgo.ts +14 -0
  143. package/src/d1/index.ts +100 -0
  144. package/src/d1/list.tsx +62 -0
  145. package/src/d1/migrations/apply.tsx +212 -0
  146. package/src/d1/migrations/create.tsx +79 -0
  147. package/src/d1/migrations/helpers.ts +169 -0
  148. package/src/d1/migrations/index.ts +3 -0
  149. package/src/d1/migrations/list.tsx +95 -0
  150. package/src/d1/migrations/options.ts +23 -0
  151. package/src/d1/options.ts +22 -0
  152. package/src/d1/splitter.ts +161 -0
  153. package/src/d1/types.ts +25 -0
  154. package/src/d1/utils.ts +49 -0
  155. package/src/delete.ts +100 -0
  156. package/src/deployments.ts +368 -0
  157. package/src/deprecated/index.ts +144 -0
  158. package/src/dev/dev-vars.ts +20 -17
  159. package/src/dev/dev.tsx +538 -352
  160. package/src/dev/get-local-persistence-path.ts +31 -0
  161. package/src/dev/local.tsx +932 -298
  162. package/src/dev/remote.tsx +623 -215
  163. package/src/dev/start-server.ts +545 -0
  164. package/src/dev/use-esbuild.ts +194 -97
  165. package/src/dev/validate-dev-props.ts +40 -0
  166. package/src/dev-registry.ts +202 -0
  167. package/src/dev.tsx +934 -0
  168. package/src/dialogs.ts +136 -0
  169. package/src/dispatch-namespace.ts +211 -0
  170. package/src/docs/helpers.ts +50 -0
  171. package/src/docs/index.ts +54 -0
  172. package/src/durable.ts +87 -87
  173. package/src/entry.ts +253 -231
  174. package/src/environment-variables/factory.ts +89 -0
  175. package/src/environment-variables/misc-variables.ts +30 -0
  176. package/src/errors.ts +6 -6
  177. package/src/generate/index.ts +298 -0
  178. package/src/git-client.ts +135 -0
  179. package/src/global-wrangler-config-path.ts +26 -0
  180. package/src/https-options.ts +84 -80
  181. package/src/index.ts +768 -0
  182. package/src/init.ts +1037 -0
  183. package/src/inspect.ts +816 -595
  184. package/src/intl-polyfill.d.ts +123 -123
  185. package/src/is-ci.ts +14 -0
  186. package/src/is-interactive.ts +16 -0
  187. package/src/jest.d.ts +4 -0
  188. package/src/kv/helpers.ts +433 -0
  189. package/src/kv/index.ts +594 -0
  190. package/src/logger.ts +100 -43
  191. package/src/metrics/index.ts +5 -0
  192. package/src/metrics/metrics-config.ts +239 -0
  193. package/src/metrics/metrics-dispatcher.ts +96 -0
  194. package/src/metrics/metrics-usage-headers.ts +24 -0
  195. package/src/metrics/send-event.ts +99 -0
  196. package/src/miniflare-cli/assets.ts +255 -0
  197. package/src/miniflare-cli/index.ts +202 -33
  198. package/src/miniflare-cli/request-context.ts +18 -18
  199. package/src/miniflare-cli/tsconfig.json +9 -0
  200. package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
  201. package/src/miniflare-cli/types.ts +11 -0
  202. package/src/module-collection.ts +290 -215
  203. package/src/mtls-certificate/cli.ts +155 -0
  204. package/src/open-in-browser.ts +4 -6
  205. package/src/package-manager.ts +173 -128
  206. package/src/pages/build.ts +423 -0
  207. package/src/pages/buildFunctions.ts +140 -0
  208. package/src/pages/constants.ts +18 -0
  209. package/src/pages/deployment-tails.ts +281 -0
  210. package/src/pages/deployments.tsx +84 -0
  211. package/src/pages/dev.ts +734 -0
  212. package/src/pages/errors.ts +67 -0
  213. package/src/pages/functions/buildPlugin.ts +114 -0
  214. package/src/pages/functions/buildWorker.ts +350 -0
  215. package/{pages → src/pages}/functions/filepath-routing.test.ts +113 -113
  216. package/src/pages/functions/filepath-routing.ts +189 -0
  217. package/src/pages/functions/identifiers.ts +78 -0
  218. package/src/pages/functions/routes-consolidation.test.ts +250 -0
  219. package/src/pages/functions/routes-consolidation.ts +73 -0
  220. package/src/pages/functions/routes-transformation.test.ts +282 -0
  221. package/src/pages/functions/routes-transformation.ts +115 -0
  222. package/src/pages/functions/routes-validation.test.ts +403 -0
  223. package/src/pages/functions/routes-validation.ts +202 -0
  224. package/src/pages/functions/routes.ts +151 -0
  225. package/src/pages/functions/tsconfig.json +8 -0
  226. package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
  227. package/src/pages/functions.ts +86 -0
  228. package/src/pages/hash.ts +13 -0
  229. package/src/pages/index.ts +102 -0
  230. package/src/pages/projects.tsx +159 -0
  231. package/src/pages/prompt-select-project.tsx +31 -0
  232. package/src/pages/publish.tsx +267 -0
  233. package/src/pages/types.ts +46 -0
  234. package/src/pages/upload.tsx +469 -0
  235. package/src/pages/utils.ts +23 -0
  236. package/src/parse.ts +232 -126
  237. package/src/paths.ts +53 -8
  238. package/src/proxy.ts +623 -394
  239. package/src/publish/index.ts +274 -0
  240. package/src/publish/publish.ts +1065 -0
  241. package/src/pubsub/index.ts +286 -0
  242. package/src/pubsub/pubsub-commands.ts +623 -0
  243. package/src/queues/cli/commands/consumer/add.ts +71 -0
  244. package/src/queues/cli/commands/consumer/index.ts +19 -0
  245. package/src/queues/cli/commands/consumer/remove.ts +31 -0
  246. package/src/queues/cli/commands/create.ts +25 -0
  247. package/src/queues/cli/commands/delete.ts +26 -0
  248. package/src/queues/cli/commands/index.ts +35 -0
  249. package/src/queues/cli/commands/list.ts +25 -0
  250. package/src/queues/client.ts +136 -0
  251. package/src/queues/utils.ts +18 -0
  252. package/src/r2/constants.ts +4 -0
  253. package/src/r2/helpers.ts +132 -0
  254. package/src/r2/index.ts +289 -0
  255. package/src/routes.ts +140 -0
  256. package/src/secret/index.ts +377 -0
  257. package/src/selfsigned.d.ts +23 -23
  258. package/src/sites.ts +484 -0
  259. package/src/tail/createTail.ts +415 -0
  260. package/src/tail/filters.ts +109 -111
  261. package/src/tail/index.ts +208 -296
  262. package/src/tail/printing.ts +116 -51
  263. package/src/traverse-module-graph.ts +54 -0
  264. package/src/tsconfig-sanity.ts +16 -0
  265. package/src/type-generation.ts +181 -0
  266. package/src/update-check.ts +11 -11
  267. package/src/user/access.ts +68 -0
  268. package/src/user/auth-variables.ts +113 -0
  269. package/src/user/choose-account.tsx +39 -0
  270. package/src/user/generate-auth-url.ts +33 -0
  271. package/src/user/generate-random-state.ts +16 -0
  272. package/src/user/index.ts +2 -0
  273. package/src/user/user.ts +1234 -0
  274. package/src/utils/collectKeyValues.ts +14 -0
  275. package/src/utils/render.ts +93 -0
  276. package/src/whoami.ts +135 -0
  277. package/src/worker.ts +205 -106
  278. package/src/yargs-types.ts +37 -0
  279. package/src/zones.ts +191 -0
  280. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  281. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  282. package/templates/__tests__/tsconfig.json +8 -0
  283. package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
  284. package/templates/checked-fetch.js +23 -0
  285. package/templates/d1-beta-facade.js +244 -0
  286. package/templates/facade.d.ts +14 -0
  287. package/templates/first-party-worker-module-facade.ts +19 -0
  288. package/templates/format-dev-errors.ts +34 -0
  289. package/templates/gitignore +1 -0
  290. package/templates/init-tests/test-jest-new-worker.js +23 -0
  291. package/templates/init-tests/test-vitest-new-worker.js +24 -0
  292. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  293. package/templates/middleware/common.ts +62 -0
  294. package/templates/middleware/loader-modules.ts +84 -0
  295. package/templates/middleware/loader-sw.ts +233 -0
  296. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  297. package/templates/middleware/middleware-pretty-error.ts +40 -0
  298. package/templates/middleware/middleware-scheduled.ts +15 -0
  299. package/templates/new-worker-scheduled.js +3 -3
  300. package/templates/new-worker-scheduled.ts +15 -15
  301. package/templates/new-worker.js +3 -3
  302. package/templates/new-worker.ts +18 -15
  303. package/templates/no-op-worker.js +10 -0
  304. package/templates/pages-dev-pipeline.ts +31 -0
  305. package/templates/pages-dev-util.ts +52 -0
  306. package/templates/pages-shim.ts +12 -0
  307. package/templates/pages-template-plugin.ts +180 -0
  308. package/templates/pages-template-worker.ts +189 -0
  309. package/templates/serve-static-assets.ts +66 -0
  310. package/templates/service-bindings-module-facade.js +55 -0
  311. package/templates/service-bindings-sw-facade.js +42 -0
  312. package/templates/tsconfig-sanity.ts +11 -0
  313. package/templates/tsconfig.init.json +105 -0
  314. package/templates/tsconfig.json +6 -103
  315. package/templates/tsconfig.tsbuildinfo +1 -0
  316. package/wrangler-dist/cli.d.ts +1652 -0
  317. package/wrangler-dist/cli.js +137978 -110578
  318. package/wrangler-dist/wasm-sync.wasm +0 -0
  319. package/pages/functions/buildPlugin.ts +0 -105
  320. package/pages/functions/buildWorker.ts +0 -151
  321. package/pages/functions/filepath-routing.ts +0 -189
  322. package/pages/functions/identifiers.ts +0 -78
  323. package/pages/functions/routes.ts +0 -156
  324. package/pages/functions/template-plugin.ts +0 -147
  325. package/pages/functions/template-worker.ts +0 -143
  326. package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
  327. package/src/__tests__/helpers/mock-cfetch.ts +0 -211
  328. package/src/__tests__/pages.test.ts +0 -754
  329. package/src/dialogs.tsx +0 -135
  330. package/src/environment-variables.ts +0 -35
  331. package/src/index.tsx +0 -2864
  332. package/src/kv.ts +0 -408
  333. package/src/miniflare-cli/enum-keys.ts +0 -17
  334. package/src/pages.tsx +0 -2038
  335. package/src/publish.ts +0 -583
  336. package/src/r2.ts +0 -50
  337. package/src/sites.tsx +0 -295
  338. package/src/user.tsx +0 -1203
  339. package/src/whoami.tsx +0 -70
  340. package/templates/static-asset-facade.js +0 -47
  341. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  342. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  343. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  344. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  345. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  346. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  347. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  348. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  349. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  350. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  351. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  352. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  353. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  354. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  355. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  356. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  357. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  358. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  359. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  360. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  361. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  362. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  363. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  364. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  365. package/vendor/wrangler-mime/LICENSE +0 -21
  366. package/vendor/wrangler-mime/Mime.js +0 -97
  367. package/vendor/wrangler-mime/README.md +0 -187
  368. package/vendor/wrangler-mime/cli.js +0 -46
  369. package/vendor/wrangler-mime/index.js +0 -4
  370. package/vendor/wrangler-mime/lite.js +0 -4
  371. package/vendor/wrangler-mime/package.json +0 -52
  372. package/vendor/wrangler-mime/types/other.js +0 -1
  373. package/vendor/wrangler-mime/types/standard.js +0 -1
package/package.json CHANGED
@@ -1,154 +1,200 @@
1
1
  {
2
- "name": "wrangler",
3
- "version": "0.0.0-e64812e",
4
- "author": "wrangler@cloudflare.com",
5
- "description": "Command-line interface for all things Cloudflare Workers",
6
- "bin": {
7
- "wrangler": "./bin/wrangler.js",
8
- "wrangler2": "./bin/wrangler.js"
9
- },
10
- "license": "MIT OR Apache-2.0",
11
- "bugs": {
12
- "url": "https://github.com/cloudflare/wrangler2/issues"
13
- },
14
- "homepage": "https://github.com/cloudflare/wrangler2#readme",
15
- "keywords": [
16
- "wrangler",
17
- "cloudflare",
18
- "workers",
19
- "cloudflare workers",
20
- "edge",
21
- "compute",
22
- "serverless",
23
- "serverless application",
24
- "serverless module",
25
- "wasm",
26
- "web",
27
- "assembly",
28
- "webassembly",
29
- "rust",
30
- "emscripten",
31
- "rust",
32
- "typescript",
33
- "graphql",
34
- "router",
35
- "http",
36
- "cli"
37
- ],
38
- "dependencies": {
39
- "@esbuild-plugins/node-globals-polyfill": "^0.1.1",
40
- "@esbuild-plugins/node-modules-polyfill": "^0.1.4",
41
- "blake3-wasm": "^2.1.5",
42
- "esbuild": "0.14.34",
43
- "miniflare": "^2.5.0",
44
- "nanoid": "^3.3.3",
45
- "path-to-regexp": "^6.2.0",
46
- "selfsigned": "^2.0.1",
47
- "semiver": "^1.1.0",
48
- "xxhash-wasm": "^1.0.1"
49
- },
50
- "optionalDependencies": {
51
- "fsevents": "~2.3.2"
52
- },
53
- "devDependencies": {
54
- "@iarna/toml": "^3.0.0",
55
- "@types/command-exists": "^1.2.0",
56
- "@types/glob-to-regexp": "0.4.1",
57
- "@types/mime": "^2.0.3",
58
- "@types/prompts": "^2.0.14",
59
- "@types/react": "^17.0.37",
60
- "@types/serve-static": "^1.13.10",
61
- "@types/signal-exit": "^3.0.1",
62
- "@types/supports-color": "^8.1.1",
63
- "@types/ws": "^8.5.3",
64
- "@types/yargs": "^17.0.10",
65
- "@webcontainer/env": "^1.0.1",
66
- "chokidar": "^3.5.3",
67
- "clipboardy": "^3.0.0",
68
- "cmd-shim": "^4.1.0",
69
- "command-exists": "^1.2.9",
70
- "devtools-protocol": "^0.0.955664",
71
- "dotenv": "^16.0.0",
72
- "execa": "^6.1.0",
73
- "faye-websocket": "^0.11.4",
74
- "finalhandler": "^1.2.0",
75
- "find-up": "^6.3.0",
76
- "get-port": "^6.1.2",
77
- "glob-to-regexp": "0.4.1",
78
- "http-terminator": "^3.2.0",
79
- "ignore": "^5.2.0",
80
- "ink": "^3.2.0",
81
- "ink-select-input": "^4.2.1",
82
- "ink-spinner": "^4.0.3",
83
- "ink-table": "^3.0.0",
84
- "ink-testing-library": "^2.1.0",
85
- "ink-text-input": "^4.0.3",
86
- "jest-fetch-mock": "^3.0.3",
87
- "jest-websocket-mock": "^2.3.0",
88
- "mime": "^3.0.0",
89
- "open": "^8.4.0",
90
- "p-queue": "^7.2.0",
91
- "pretty-bytes": "^6.0.0",
92
- "prompts": "^2.4.2",
93
- "react": "^17.0.2",
94
- "react-error-boundary": "^3.1.4",
95
- "serve-static": "^1.15.0",
96
- "signal-exit": "^3.0.7",
97
- "supports-color": "^9.2.2",
98
- "timeago.js": "^4.0.2",
99
- "tmp-promise": "^3.0.3",
100
- "ts-dedent": "^2.2.0",
101
- "undici": "^5.3.0",
102
- "update-check": "^1.5.4",
103
- "ws": "^8.5.0",
104
- "yargs": "^17.4.1"
105
- },
106
- "files": [
107
- "src",
108
- "bin",
109
- "pages",
110
- "miniflare-config-stubs",
111
- "miniflare-dist",
112
- "wrangler-dist",
113
- "templates",
114
- "vendor",
115
- "import_meta_url.js",
116
- "Cloudflare_CA.pem"
117
- ],
118
- "scripts": {
119
- "clean": "rm -rf wrangler-dist miniflare-dist",
120
- "check:type": "tsc",
121
- "bundle": "node -r esbuild-register scripts/bundle.ts",
122
- "build": "npm run clean && npm run bundle",
123
- "prepublishOnly": "SOURCEMAPS=false npm run build",
124
- "start": "npm run bundle && NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
125
- "test": "jest --silent=false --verbose=true",
126
- "test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch"
127
- },
128
- "engines": {
129
- "node": ">=16.7.0"
130
- },
131
- "jest": {
132
- "restoreMocks": true,
133
- "testTimeout": 30000,
134
- "testRegex": ".*.(test|spec)\\.[jt]sx?$",
135
- "transformIgnorePatterns": [
136
- "node_modules/(?!find-up|locate-path|p-locate|p-limit|p-timeout|p-queue|yocto-queue|path-exists|execa|strip-final-newline|npm-run-path|path-key|onetime|mimic-fn|human-signals|is-stream|get-port|supports-color|pretty-bytes)"
137
- ],
138
- "moduleNameMapper": {
139
- "clipboardy": "<rootDir>/src/__tests__/helpers/clipboardy-mock.js",
140
- "miniflare/cli": "<rootDir>/../../node_modules/miniflare/dist/src/cli.js"
141
- },
142
- "transform": {
143
- "^.+\\.c?(t|j)sx?$": [
144
- "esbuild-jest",
145
- {
146
- "sourcemap": true
147
- }
148
- ]
149
- },
150
- "setupFilesAfterEnv": [
151
- "<rootDir>/src/__tests__/jest.setup.ts"
152
- ]
153
- }
2
+ "name": "wrangler",
3
+ "version": "0.0.0-e665ccc3",
4
+ "description": "Command-line interface for all things Cloudflare Workers",
5
+ "keywords": [
6
+ "wrangler",
7
+ "cloudflare",
8
+ "workers",
9
+ "cloudflare workers",
10
+ "edge",
11
+ "compute",
12
+ "serverless",
13
+ "serverless application",
14
+ "serverless module",
15
+ "wasm",
16
+ "web",
17
+ "assembly",
18
+ "webassembly",
19
+ "rust",
20
+ "emscripten",
21
+ "typescript",
22
+ "graphql",
23
+ "router",
24
+ "http",
25
+ "cli"
26
+ ],
27
+ "homepage": "https://github.com/cloudflare/workers-sdk#readme",
28
+ "bugs": {
29
+ "url": "https://github.com/cloudflare/workers-sdk/issues"
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/cloudflare/workers-sdk.git",
34
+ "directory": "packages/wrangler"
35
+ },
36
+ "license": "MIT OR Apache-2.0",
37
+ "author": "wrangler@cloudflare.com",
38
+ "main": "wrangler-dist/cli.js",
39
+ "types": "wrangler-dist/cli.d.ts",
40
+ "bin": {
41
+ "wrangler": "./bin/wrangler.js",
42
+ "wrangler2": "./bin/wrangler.js"
43
+ },
44
+ "files": [
45
+ "src",
46
+ "bin",
47
+ "miniflare-config-stubs",
48
+ "miniflare-dist",
49
+ "wrangler-dist",
50
+ "templates",
51
+ "vendor",
52
+ "import_meta_url.js",
53
+ "kv-asset-handler.js",
54
+ "Cloudflare_CA.pem"
55
+ ],
56
+ "scripts": {
57
+ "assert-git-version": "node -r esbuild-register scripts/assert-git-version.ts",
58
+ "build": "npm run clean && npm run bundle && npm run emit-types",
59
+ "bundle": "node -r esbuild-register scripts/bundle.ts",
60
+ "check:type": "node -r esbuild-register scripts/tsc-all.ts",
61
+ "clean": "rimraf wrangler-dist miniflare-dist emitted-types",
62
+ "dev": "npm run clean && concurrently -c black,blue --kill-others-on-fail false 'npm run bundle -- --watch' 'npm run check:type -- --watch --preserveWatchOutput'",
63
+ "emit-types": "tsc -p tsconfig.emit.json && node -r esbuild-register scripts/emit-types.ts",
64
+ "prepublishOnly": "SOURCEMAPS=false npm run build",
65
+ "start": "npm run bundle && cross-env NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
66
+ "test": "npm run assert-git-version && jest",
67
+ "test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch",
68
+ "test:ci": "npm run test -- --coverage",
69
+ "test:debug": "npm run test -- --silent=false --verbose=true",
70
+ "test:e2e": "vitest --no-threads ./e2e"
71
+ },
72
+ "jest": {
73
+ "coverageReporters": [
74
+ "json",
75
+ "html",
76
+ "text",
77
+ "cobertura"
78
+ ],
79
+ "moduleNameMapper": {
80
+ "clipboardy": "<rootDir>/src/__tests__/helpers/clipboardy-mock.js",
81
+ "miniflare/cli": "<rootDir>/../../node_modules/miniflare/dist/src/cli.js"
82
+ },
83
+ "restoreMocks": true,
84
+ "setupFilesAfterEnv": [
85
+ "<rootDir>/src/__tests__/jest.setup.ts"
86
+ ],
87
+ "testRegex": "src/__tests__/.*\\.(test|spec)\\.[jt]sx?$",
88
+ "testTimeout": 30000,
89
+ "transform": {
90
+ "^.+\\.c?(t|j)sx?$": [
91
+ "esbuild-jest",
92
+ {
93
+ "sourcemap": true
94
+ }
95
+ ]
96
+ },
97
+ "transformIgnorePatterns": [
98
+ "node_modules/(?!find-up|locate-path|p-locate|p-limit|p-timeout|p-queue|yocto-queue|path-exists|execa|strip-final-newline|npm-run-path|path-key|onetime|mimic-fn|human-signals|is-stream|get-port|supports-color|pretty-bytes|npx-import)"
99
+ ]
100
+ },
101
+ "dependencies": {
102
+ "@cloudflare/kv-asset-handler": "^0.2.0",
103
+ "@esbuild-plugins/node-globals-polyfill": "^0.1.1",
104
+ "@esbuild-plugins/node-modules-polyfill": "^0.1.4",
105
+ "@miniflare/core": "2.13.0",
106
+ "@miniflare/d1": "2.13.0",
107
+ "@miniflare/durable-objects": "2.13.0",
108
+ "blake3-wasm": "^2.1.5",
109
+ "chokidar": "^3.5.3",
110
+ "esbuild": "0.16.3",
111
+ "miniflare": "2.13.0",
112
+ "nanoid": "^3.3.3",
113
+ "path-to-regexp": "^6.2.0",
114
+ "selfsigned": "^2.0.1",
115
+ "source-map": "^0.7.4",
116
+ "xxhash-wasm": "^1.0.1"
117
+ },
118
+ "devDependencies": {
119
+ "@cloudflare/types": "^6.18.4",
120
+ "@cloudflare/workers-types": "^4.20221111.1",
121
+ "@iarna/toml": "^3.0.0",
122
+ "@microsoft/api-extractor": "^7.28.3",
123
+ "@miniflare/tre": "3.0.0-next.13",
124
+ "@types/better-sqlite3": "^7.6.0",
125
+ "@types/busboy": "^1.5.0",
126
+ "@types/command-exists": "^1.2.0",
127
+ "@types/express": "^4.17.13",
128
+ "@types/glob-to-regexp": "0.4.1",
129
+ "@types/javascript-time-ago": "^2.0.3",
130
+ "@types/mime": "^2.0.3",
131
+ "@types/prompts": "^2.0.14",
132
+ "@types/react": "^17.0.37",
133
+ "@types/serve-static": "^1.13.10",
134
+ "@types/signal-exit": "^3.0.1",
135
+ "@types/supports-color": "^8.1.1",
136
+ "@types/ws": "^8.5.3",
137
+ "@types/yargs": "^17.0.10",
138
+ "@webcontainer/env": "^1.0.1",
139
+ "body-parser": "^1.20.0",
140
+ "chalk": "^2.4.2",
141
+ "cli-table3": "^0.6.3",
142
+ "clipboardy": "^3.0.0",
143
+ "cmd-shim": "^4.1.0",
144
+ "command-exists": "^1.2.9",
145
+ "concurrently": "^7.2.2",
146
+ "devtools-protocol": "^0.0.955664",
147
+ "dotenv": "^16.0.0",
148
+ "execa": "^6.1.0",
149
+ "express": "^4.18.1",
150
+ "finalhandler": "^1.2.0",
151
+ "find-up": "^6.3.0",
152
+ "get-port": "^6.1.2",
153
+ "glob-to-regexp": "0.4.1",
154
+ "http-terminator": "^3.2.0",
155
+ "ignore": "^5.2.0",
156
+ "ink": "^3.2.0",
157
+ "ink-select-input": "^4.2.1",
158
+ "ink-spinner": "^4.0.3",
159
+ "ink-table": "^3.0.0",
160
+ "ink-testing-library": "^2.1.0",
161
+ "ink-text-input": "^4.0.3",
162
+ "is-ci": "^3.0.1",
163
+ "javascript-time-ago": "^2.5.4",
164
+ "jest-fetch-mock": "^3.0.3",
165
+ "jest-websocket-mock": "^2.3.0",
166
+ "mime": "^3.0.0",
167
+ "minimatch": "^5.1.0",
168
+ "msw": "^0.49.1",
169
+ "npx-import": "^1.1.3",
170
+ "open": "^8.4.0",
171
+ "p-queue": "^7.2.0",
172
+ "pretty-bytes": "^6.0.0",
173
+ "prompts": "^2.4.2",
174
+ "react": "^17.0.2",
175
+ "react-error-boundary": "^3.1.4",
176
+ "remove-accents-esm": "^0.0.1",
177
+ "semiver": "^1.1.0",
178
+ "serve-static": "^1.15.0",
179
+ "shellac": "^0.7.3",
180
+ "signal-exit": "^3.0.7",
181
+ "strip-ansi": "^7.0.1",
182
+ "supports-color": "^9.2.2",
183
+ "timeago.js": "^4.0.2",
184
+ "tmp-promise": "^3.0.3",
185
+ "ts-dedent": "^2.2.0",
186
+ "undici": "5.20.0",
187
+ "update-check": "^1.5.4",
188
+ "vitest": "^0.29.2",
189
+ "ws": "^8.5.0",
190
+ "xdg-app-paths": "^7.3.0",
191
+ "yargs": "^17.4.1",
192
+ "yoga-layout": "file:../../vendor/yoga-layout-2.0.0-beta.1.tgz"
193
+ },
194
+ "optionalDependencies": {
195
+ "fsevents": "~2.3.2"
196
+ },
197
+ "engines": {
198
+ "node": ">=16.13.0"
199
+ }
154
200
  }
@@ -0,0 +1,25 @@
1
+ import { domainUsesAccess, getAccessToken } from "../user/access";
2
+ import { msw, mswAccessHandlers } from "./helpers/msw";
3
+
4
+ describe("access", () => {
5
+ beforeEach(() => {
6
+ msw.use(...mswAccessHandlers);
7
+ });
8
+
9
+ describe("basic", () => {
10
+ it("should correctly detect an access protected domain", async () => {
11
+ expect(await domainUsesAccess("access-protected.com")).toBeTruthy();
12
+ expect(await domainUsesAccess("not-access-protected.com")).toBeFalsy();
13
+ });
14
+ it("should not fail without cloudflared installed", async () => {
15
+ expect(await getAccessToken("not-access-protected.com")).toBeFalsy();
16
+ });
17
+ it("should error without cloudflared installed on an access protected domain", async () => {
18
+ await expect(getAccessToken("access-protected.com")).rejects.toEqual(
19
+ new Error(
20
+ "To use Wrangler with Cloudflare Access, please install `cloudflared` from https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation"
21
+ )
22
+ );
23
+ });
24
+ });
25
+ });
@@ -0,0 +1,238 @@
1
+ import * as fs from "node:fs";
2
+ import { Request } from "undici";
3
+ import { unstable_dev } from "../api";
4
+ import { runInTempDir } from "./helpers/run-in-tmp";
5
+
6
+ jest.unmock("undici");
7
+
8
+ describe("unstable_dev", () => {
9
+ it("should return Hello World", async () => {
10
+ const worker = await unstable_dev(
11
+ "src/__tests__/helpers/worker-scripts/hello-world-worker.js",
12
+ {
13
+ experimental: {
14
+ disableExperimentalWarning: true,
15
+ disableDevRegistry: true,
16
+ },
17
+ }
18
+ );
19
+ const resp = await worker.fetch();
20
+ if (resp) {
21
+ const text = await resp.text();
22
+ expect(text).toMatchInlineSnapshot(`"Hello World!"`);
23
+ }
24
+ await worker.stop();
25
+ });
26
+
27
+ it("should return the port that the server started on (1)", async () => {
28
+ const worker = await unstable_dev(
29
+ "src/__tests__/helpers/worker-scripts/hello-world-worker.js",
30
+ {
31
+ experimental: {
32
+ disableExperimentalWarning: true,
33
+ disableDevRegistry: true,
34
+ },
35
+ }
36
+ );
37
+ expect(worker.port).toBeGreaterThan(0);
38
+ await worker.stop();
39
+ });
40
+
41
+ it("should return the port that the server started on (2)", async () => {
42
+ const worker = await unstable_dev(
43
+ "src/__tests__/helpers/worker-scripts/hello-world-worker.js",
44
+ {
45
+ port: 9191,
46
+ experimental: {
47
+ disableExperimentalWarning: true,
48
+ disableDevRegistry: true,
49
+ },
50
+ }
51
+ );
52
+ expect(worker.port).toBe(9191);
53
+ await worker.stop();
54
+ });
55
+ });
56
+
57
+ describe("unstable dev fetch input protocol", () => {
58
+ it("should use http localProtocol", async () => {
59
+ const worker = await unstable_dev(
60
+ "src/__tests__/helpers/worker-scripts/hello-world-worker.js",
61
+ {
62
+ localProtocol: "http",
63
+ experimental: {
64
+ disableExperimentalWarning: true,
65
+ disableDevRegistry: true,
66
+ },
67
+ }
68
+ );
69
+ const res = await worker.fetch();
70
+ if (res) {
71
+ const text = await res.text();
72
+ expect(text).toMatchInlineSnapshot(`"Hello World!"`);
73
+ }
74
+ await worker.stop();
75
+ });
76
+
77
+ it("should use undefined localProtocol", async () => {
78
+ const worker = await unstable_dev(
79
+ "src/__tests__/helpers/worker-scripts/hello-world-worker.js",
80
+ {
81
+ localProtocol: undefined,
82
+ experimental: {
83
+ disableExperimentalWarning: true,
84
+ disableDevRegistry: true,
85
+ },
86
+ }
87
+ );
88
+ const res = await worker.fetch();
89
+ if (res) {
90
+ const text = await res.text();
91
+ expect(text).toMatchInlineSnapshot(`"Hello World!"`);
92
+ }
93
+ await worker.stop();
94
+ });
95
+ });
96
+
97
+ describe("unstable dev fetch input parsing", () => {
98
+ runInTempDir();
99
+
100
+ it("should pass in a request object unchanged", async () => {
101
+ const scriptContent = `
102
+ export default {
103
+ fetch(request, env, ctx) {
104
+ const url = new URL(request.url);
105
+ if (url.pathname === "/test") {
106
+ if (request.method === "POST") {
107
+ return new Response("requestPOST");
108
+ }
109
+ return new Response("requestGET");
110
+ }
111
+ return new Response('Hello world');
112
+ }
113
+ };
114
+ `;
115
+ fs.writeFileSync("index.js", scriptContent);
116
+ const port = 21213;
117
+ const worker = await unstable_dev("index.js", {
118
+ port,
119
+ experimental: {
120
+ disableExperimentalWarning: true,
121
+ disableDevRegistry: true,
122
+ },
123
+ });
124
+ const req = new Request("http://0.0.0.0:21213/test", {
125
+ method: "POST",
126
+ });
127
+ const resp = await worker.fetch(req);
128
+ let text;
129
+ if (resp) text = await resp.text();
130
+ expect(text).toMatchInlineSnapshot(`"requestPOST"`);
131
+ await worker.stop();
132
+ });
133
+
134
+ it("should strip back to pathname for URL objects", async () => {
135
+ const scriptContent = `
136
+ export default {
137
+ fetch(request, env, ctx) {
138
+ const url = new URL(request.url);
139
+ if (url.pathname === "/test") {
140
+ return new Response("request");
141
+ }
142
+ return new Response('Hello world');
143
+ }
144
+ };
145
+ `;
146
+ fs.writeFileSync("index.js", scriptContent);
147
+ const worker = await unstable_dev("index.js", {
148
+ experimental: {
149
+ disableExperimentalWarning: true,
150
+ disableDevRegistry: true,
151
+ },
152
+ });
153
+ const url = new URL("http://localhost:80/test");
154
+ const resp = await worker.fetch(url);
155
+ let text;
156
+ if (resp) text = await resp.text();
157
+ expect(text).toMatchInlineSnapshot(`"request"`);
158
+ await worker.stop();
159
+ });
160
+
161
+ it("should allow full url passed in string, and stripped back to pathname", async () => {
162
+ const scriptContent = `
163
+ export default {
164
+ fetch(request, env, ctx) {
165
+ const url = new URL(request.url);
166
+ if (url.pathname === "/test") {
167
+ return new Response("request");
168
+ }
169
+ return new Response('Hello world');
170
+ }
171
+ };
172
+ `;
173
+ fs.writeFileSync("index.js", scriptContent);
174
+ const worker = await unstable_dev("index.js", {
175
+ experimental: {
176
+ disableExperimentalWarning: true,
177
+ disableDevRegistry: true,
178
+ },
179
+ });
180
+ const resp = await worker.fetch("http://example.com/test");
181
+ let text;
182
+ if (resp) text = await resp.text();
183
+ expect(text).toMatchInlineSnapshot(`"request"`);
184
+ await worker.stop();
185
+ });
186
+
187
+ it("should allow pathname to be passed in", async () => {
188
+ const scriptContent = `
189
+ export default {
190
+ fetch(request, env, ctx) {
191
+ const url = new URL(request.url);
192
+ if (url.pathname === "/test") {
193
+ return new Response("request");
194
+ }
195
+ return new Response('Hello world');
196
+ }
197
+ };
198
+ `;
199
+ fs.writeFileSync("index.js", scriptContent);
200
+ const worker = await unstable_dev("index.js", {
201
+ experimental: {
202
+ disableExperimentalWarning: true,
203
+ disableDevRegistry: true,
204
+ },
205
+ });
206
+ const resp = await worker.fetch("/test");
207
+ let text;
208
+ if (resp) text = await resp.text();
209
+ expect(text).toMatchInlineSnapshot(`"request"`);
210
+ await worker.stop();
211
+ });
212
+
213
+ it("should allow no input be passed in", async () => {
214
+ const scriptContent = `
215
+ export default {
216
+ fetch(request, env, ctx) {
217
+ const url = new URL(request.url);
218
+ if (url.pathname === "/test") {
219
+ return new Response("request");
220
+ }
221
+ return new Response('Hello world');
222
+ }
223
+ };
224
+ `;
225
+ fs.writeFileSync("index.js", scriptContent);
226
+ const worker = await unstable_dev("index.js", {
227
+ experimental: {
228
+ disableExperimentalWarning: true,
229
+ disableDevRegistry: true,
230
+ },
231
+ });
232
+ const resp = await worker.fetch("");
233
+ let text;
234
+ if (resp) text = await resp.text();
235
+ expect(text).toMatchInlineSnapshot(`"Hello world"`);
236
+ await worker.stop();
237
+ });
238
+ });