wrangler 0.0.0-e7a0cd5b → 0.0.0-e87ad068

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 (255) hide show
  1. package/README.md +3 -3
  2. package/bin/wrangler.js +30 -10
  3. package/miniflare-dist/index.mjs +254 -128
  4. package/package.json +27 -19
  5. package/src/__tests__/api-dev.test.ts +65 -36
  6. package/src/__tests__/api-devregistry.test.ts +121 -0
  7. package/src/__tests__/api.test.ts +27 -5
  8. package/src/__tests__/configuration.test.ts +797 -98
  9. package/src/__tests__/constellation.test.ts +371 -0
  10. package/src/__tests__/d1/d1.test.ts +82 -0
  11. package/src/__tests__/d1/execute.test.ts +66 -0
  12. package/src/__tests__/d1/migrate.test.ts +257 -0
  13. package/src/__tests__/d1/splitter.test.ts +255 -0
  14. package/src/__tests__/delete.test.ts +91 -49
  15. package/src/__tests__/deployments.test.ts +330 -56
  16. package/src/__tests__/dev.test.tsx +198 -90
  17. package/src/__tests__/generate.test.ts +12 -10
  18. package/src/__tests__/guess-worker-format.test.ts +35 -0
  19. package/src/__tests__/helpers/end-event-loop.ts +6 -0
  20. package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
  21. package/src/__tests__/helpers/mock-console.ts +6 -0
  22. package/src/__tests__/helpers/mock-dialogs.ts +71 -85
  23. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +25 -0
  24. package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -5
  25. package/src/__tests__/helpers/mock-known-routes.ts +7 -2
  26. package/src/__tests__/helpers/mock-kv.ts +29 -16
  27. package/src/__tests__/helpers/mock-oauth-flow.ts +103 -92
  28. package/src/__tests__/helpers/mock-process.ts +8 -13
  29. package/src/__tests__/helpers/mock-set-timeout.ts +16 -0
  30. package/src/__tests__/helpers/msw/blob-worker.cjs +19 -0
  31. package/src/__tests__/helpers/msw/handlers/deployments.ts +128 -27
  32. package/src/__tests__/helpers/msw/handlers/namespaces.ts +18 -41
  33. package/src/__tests__/helpers/msw/handlers/oauth.ts +13 -18
  34. package/src/__tests__/helpers/msw/handlers/r2.ts +14 -34
  35. package/src/__tests__/helpers/msw/handlers/script.ts +9 -28
  36. package/src/__tests__/helpers/msw/handlers/user.ts +13 -24
  37. package/src/__tests__/helpers/msw/handlers/zones.ts +6 -8
  38. package/src/__tests__/helpers/msw/index.ts +32 -1
  39. package/src/__tests__/helpers/msw/read-file-sync.js +61 -0
  40. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +28 -0
  41. package/src/__tests__/helpers/worker-scripts/parent-worker.js +4 -1
  42. package/src/__tests__/index.test.ts +92 -72
  43. package/src/__tests__/init.test.ts +1033 -631
  44. package/src/__tests__/jest.setup.ts +19 -42
  45. package/src/__tests__/kv.test.ts +355 -231
  46. package/src/__tests__/logger.test.ts +68 -2
  47. package/src/__tests__/logout.test.ts +47 -0
  48. package/src/__tests__/metrics.test.ts +94 -51
  49. package/src/__tests__/middleware.scheduled.test.ts +42 -32
  50. package/src/__tests__/middleware.test.ts +212 -122
  51. package/src/__tests__/mtls-certificates.test.ts +589 -0
  52. package/src/__tests__/pages/deployment-list.test.ts +80 -0
  53. package/src/__tests__/pages/functions-build.test.ts +529 -0
  54. package/src/__tests__/pages/pages.test.ts +81 -0
  55. package/src/__tests__/pages/project-create.test.ts +63 -0
  56. package/src/__tests__/pages/project-list.test.ts +110 -0
  57. package/src/__tests__/pages/project-upload.test.ts +500 -0
  58. package/src/__tests__/pages/publish.test.ts +2864 -0
  59. package/src/__tests__/pages-deployment-tail.test.ts +957 -0
  60. package/src/__tests__/parse.test.ts +106 -0
  61. package/src/__tests__/publish.test.ts +2227 -1005
  62. package/src/__tests__/pubsub.test.ts +226 -100
  63. package/src/__tests__/queues.test.ts +238 -77
  64. package/src/__tests__/r2.test.ts +55 -57
  65. package/src/__tests__/secret.test.ts +179 -130
  66. package/src/__tests__/tail.test.ts +313 -113
  67. package/src/__tests__/test-old-node-version.js +3 -3
  68. package/src/__tests__/traverse-module-graph.test.ts +220 -0
  69. package/src/__tests__/tsconfig-sanity.ts +12 -0
  70. package/src/__tests__/tsconfig.json +8 -0
  71. package/src/__tests__/tsconfig.tsbuildinfo +1 -0
  72. package/src/__tests__/type-generation.test.ts +43 -26
  73. package/src/__tests__/unstableDev.test.ts +61 -0
  74. package/src/__tests__/user.test.ts +35 -72
  75. package/src/__tests__/whoami.test.tsx +8 -114
  76. package/src/__tests__/worker-namespace.test.ts +83 -69
  77. package/src/api/dev.ts +180 -60
  78. package/src/api/index.ts +10 -1
  79. package/src/api/mtls-certificate.ts +148 -0
  80. package/src/api/pages/create-worker-bundle-contents.ts +80 -0
  81. package/src/api/pages/index.ts +5 -0
  82. package/src/api/pages/publish.tsx +371 -0
  83. package/src/bundle.ts +315 -148
  84. package/src/cfetch/index.ts +0 -2
  85. package/src/cfetch/internal.ts +33 -33
  86. package/src/cli.ts +4 -4
  87. package/src/config/config.ts +14 -7
  88. package/src/config/environment.ts +120 -24
  89. package/src/config/index.ts +117 -35
  90. package/src/config/validation-helpers.ts +1 -1
  91. package/src/config/validation.ts +430 -19
  92. package/src/constellation/createProject.tsx +51 -0
  93. package/src/constellation/deleteProject.ts +51 -0
  94. package/src/constellation/deleteProjectModel.ts +76 -0
  95. package/src/constellation/index.ts +75 -0
  96. package/src/constellation/listCatalog.tsx +35 -0
  97. package/src/constellation/listModel.tsx +49 -0
  98. package/src/constellation/listProject.tsx +28 -0
  99. package/src/constellation/listRuntime.tsx +28 -0
  100. package/src/constellation/options.ts +17 -0
  101. package/src/constellation/types.ts +17 -0
  102. package/src/constellation/uploadModel.tsx +84 -0
  103. package/src/constellation/utils.ts +90 -0
  104. package/src/create-worker-preview.ts +19 -8
  105. package/src/create-worker-upload-form.ts +81 -18
  106. package/src/d1/backups.tsx +47 -46
  107. package/src/d1/constants.ts +5 -0
  108. package/src/d1/create.tsx +85 -37
  109. package/src/d1/{delete.tsx → delete.ts} +12 -15
  110. package/src/d1/execute.tsx +228 -156
  111. package/src/d1/index.ts +31 -7
  112. package/src/d1/list.tsx +27 -13
  113. package/src/d1/migrations/apply.tsx +235 -0
  114. package/src/d1/migrations/create.tsx +79 -0
  115. package/src/d1/migrations/helpers.ts +171 -0
  116. package/src/d1/migrations/index.ts +3 -0
  117. package/src/d1/migrations/list.tsx +95 -0
  118. package/src/d1/migrations/options.ts +23 -0
  119. package/src/d1/options.ts +12 -2
  120. package/src/d1/splitter.ts +161 -0
  121. package/src/d1/types.ts +32 -0
  122. package/src/d1/utils.ts +12 -2
  123. package/src/delete.ts +8 -16
  124. package/src/deployments.ts +340 -46
  125. package/src/deprecated/index.ts +8 -302
  126. package/src/dev/dev.tsx +66 -46
  127. package/src/dev/local.tsx +339 -104
  128. package/src/dev/remote.tsx +36 -3
  129. package/src/dev/start-server.ts +146 -101
  130. package/src/dev/use-esbuild.ts +82 -56
  131. package/src/dev/validate-dev-props.ts +9 -0
  132. package/src/{dev-registry.tsx → dev-registry.ts} +13 -1
  133. package/src/dev.tsx +202 -125
  134. package/src/dialogs.ts +136 -0
  135. package/src/dispatch-namespace.ts +21 -17
  136. package/src/docs/helpers.ts +50 -0
  137. package/src/docs/index.ts +54 -0
  138. package/src/entry.ts +26 -11
  139. package/src/environment-variables/factory.ts +89 -0
  140. package/src/environment-variables/misc-variables.ts +30 -0
  141. package/src/generate/index.ts +303 -0
  142. package/src/git-client.ts +15 -4
  143. package/src/{index.tsx → index.ts} +148 -63
  144. package/src/init.ts +301 -197
  145. package/src/inspect.ts +122 -6
  146. package/src/jest.d.ts +4 -0
  147. package/src/kv/helpers.ts +7 -4
  148. package/src/kv/index.ts +15 -17
  149. package/src/logger.ts +36 -5
  150. package/src/metrics/metrics-config.ts +3 -3
  151. package/src/metrics/send-event.ts +6 -1
  152. package/src/miniflare-cli/assets.ts +64 -28
  153. package/src/miniflare-cli/index.ts +6 -9
  154. package/src/miniflare-cli/tsconfig.json +9 -0
  155. package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
  156. package/src/miniflare-cli/types.ts +11 -0
  157. package/src/module-collection.ts +92 -26
  158. package/src/mtls-certificate/cli.ts +155 -0
  159. package/src/pages/build.ts +423 -0
  160. package/src/pages/buildFunctions.ts +140 -0
  161. package/src/pages/deployment-tails.ts +281 -0
  162. package/src/pages/deployments.tsx +11 -33
  163. package/src/pages/{dev.tsx → dev.ts} +192 -126
  164. package/src/pages/errors.ts +1 -0
  165. package/src/pages/functions/buildPlugin.ts +73 -69
  166. package/src/pages/functions/buildWorker.ts +342 -117
  167. package/src/pages/functions/tsconfig.json +8 -0
  168. package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
  169. package/src/pages/{functions.tsx → functions.ts} +8 -4
  170. package/src/pages/{index.tsx → index.ts} +11 -3
  171. package/src/pages/projects.tsx +12 -22
  172. package/src/pages/prompt-select-project.tsx +31 -0
  173. package/src/pages/publish.tsx +45 -214
  174. package/src/pages/types.ts +6 -9
  175. package/src/pages/upload.tsx +58 -14
  176. package/src/pages/utils.ts +14 -3
  177. package/src/parse.ts +23 -1
  178. package/src/paths.ts +1 -1
  179. package/src/proxy.ts +5 -0
  180. package/src/publish/index.ts +20 -16
  181. package/src/publish/publish.ts +81 -48
  182. package/src/pubsub/{pubsub-commands.tsx → pubsub-commands.ts} +19 -20
  183. package/src/queues/cli/commands/consumer/add.ts +24 -24
  184. package/src/queues/cli/commands/consumer/index.ts +3 -6
  185. package/src/queues/cli/commands/consumer/remove.ts +11 -18
  186. package/src/queues/cli/commands/create.ts +8 -8
  187. package/src/queues/cli/commands/delete.ts +8 -8
  188. package/src/queues/cli/commands/index.ts +6 -4
  189. package/src/queues/cli/commands/list.ts +8 -8
  190. package/src/queues/client.ts +1 -0
  191. package/src/queues/utils.ts +18 -0
  192. package/src/r2/constants.ts +4 -0
  193. package/src/r2/helpers.ts +1 -0
  194. package/src/r2/index.ts +40 -28
  195. package/src/secret/index.ts +18 -17
  196. package/src/{sites.tsx → sites.ts} +165 -53
  197. package/src/tail/createTail.ts +103 -3
  198. package/src/tail/filters.ts +1 -1
  199. package/src/tail/index.ts +8 -11
  200. package/src/tail/printing.ts +27 -0
  201. package/src/traverse-module-graph.ts +54 -0
  202. package/src/tsconfig-sanity.ts +16 -0
  203. package/src/type-generation.ts +85 -57
  204. package/src/user/access.ts +0 -1
  205. package/src/user/auth-variables.ts +113 -0
  206. package/src/user/choose-account.tsx +1 -31
  207. package/src/user/index.ts +0 -1
  208. package/src/user/{user.tsx → user.ts} +124 -82
  209. package/src/utils/render.ts +93 -0
  210. package/src/{whoami.tsx → whoami.ts} +37 -71
  211. package/src/worker.ts +61 -3
  212. package/src/yargs-types.ts +22 -5
  213. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  214. package/templates/__tests__/tsconfig.json +8 -0
  215. package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
  216. package/templates/checked-fetch.js +9 -3
  217. package/templates/d1-beta-facade.js +95 -25
  218. package/templates/facade.d.ts +14 -0
  219. package/templates/first-party-worker-module-facade.ts +4 -3
  220. package/templates/format-dev-errors.ts +8 -6
  221. package/templates/gitignore +1 -0
  222. package/templates/init-tests/test-jest-new-worker.js +3 -5
  223. package/templates/init-tests/test-vitest-new-worker.js +3 -5
  224. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  225. package/templates/middleware/loader-modules.ts +2 -2
  226. package/templates/middleware/loader-sw.ts +51 -31
  227. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  228. package/templates/new-worker.ts +3 -0
  229. package/templates/pages-dev-pipeline.ts +4 -1
  230. package/templates/pages-dev-util.ts +4 -1
  231. package/templates/pages-shim.ts +4 -1
  232. package/templates/pages-template-plugin.ts +19 -10
  233. package/templates/serve-static-assets.ts +17 -14
  234. package/templates/service-bindings-module-facade.js +1 -0
  235. package/templates/tsconfig-sanity.ts +11 -0
  236. package/templates/tsconfig.init.json +105 -0
  237. package/templates/tsconfig.json +5 -103
  238. package/templates/tsconfig.tsbuildinfo +1 -0
  239. package/wrangler-dist/cli.d.ts +902 -77
  240. package/wrangler-dist/cli.js +131685 -140615
  241. package/wrangler-dist/wasm-sync.wasm +0 -0
  242. package/src/__tests__/api-devregistry.test.js +0 -57
  243. package/src/__tests__/d1.test.ts +0 -72
  244. package/src/__tests__/dialogs.test.tsx +0 -40
  245. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  246. package/src/__tests__/pages.test.ts +0 -2223
  247. package/src/d1/types.tsx +0 -14
  248. package/src/dialogs.tsx +0 -163
  249. package/src/environment-variables.ts +0 -50
  250. package/src/pages/build.tsx +0 -238
  251. package/src/user/env-vars.ts +0 -46
  252. package/templates/experimental-local-cache-stubs.js +0 -27
  253. /package/src/{bundle-reporter.tsx → bundle-reporter.ts} +0 -0
  254. /package/src/dev/{get-local-persistence-path.tsx → get-local-persistence-path.ts} +0 -0
  255. /package/src/pages/{hash.tsx → hash.ts} +0 -0
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["node"],
5
+ "module": "esnext"
6
+ },
7
+ "include": ["**/*.ts"],
8
+ "exclude": []
9
+ }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../pages-shared/metadata-generator/constants.ts","../../../pages-shared/asset-server/metadata.ts","../../../pages-shared/metadata-generator/types.ts","../../../pages-shared/metadata-generator/createMetadataObject.ts","../../../pages-shared/metadata-generator/validateURL.ts","../../../pages-shared/metadata-generator/parseHeaders.ts","../../../pages-shared/metadata-generator/parseRedirects.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/anymatch/index.d.ts","../../../../node_modules/chokidar/types/index.d.ts","../../../../node_modules/@types/mime/index.d.ts","../../../../node_modules/blake3-wasm/dist/base/hash-fn.d.ts","../../../../node_modules/blake3-wasm/dist/node/hash-fn.d.ts","../../../../node_modules/blake3-wasm/dist/base/disposable.d.ts","../../../../node_modules/blake3-wasm/dist/base/hash-reader.d.ts","../../../../node_modules/blake3-wasm/dist/base/hash-instance.d.ts","../../../../node_modules/blake3-wasm/dist/base/index.d.ts","../../../../node_modules/blake3-wasm/dist/node/hash-reader.d.ts","../../../../node_modules/blake3-wasm/dist/wasm/nodejs/blake3_js.d.ts","../../../../node_modules/blake3-wasm/dist/node/hash-instance.d.ts","../../../../node_modules/blake3-wasm/dist/node/index.d.ts","../../../../node_modules/blake3-wasm/dist/index.d.ts","../pages/hash.ts","../../../../node_modules/buffer/index.d.ts","../../../../node_modules/undici/types/header.d.ts","../../../../node_modules/undici/types/readable.d.ts","../../../../node_modules/undici/types/file.d.ts","../../../../node_modules/undici/types/fetch.d.ts","../../../../node_modules/undici/types/formdata.d.ts","../../../../node_modules/undici/types/connector.d.ts","../../../../node_modules/undici/types/client.d.ts","../../../../node_modules/undici/types/errors.d.ts","../../../../node_modules/undici/types/dispatcher.d.ts","../../../../node_modules/undici/types/global-dispatcher.d.ts","../../../../node_modules/undici/types/global-origin.d.ts","../../../../node_modules/undici/types/pool-stats.d.ts","../../../../node_modules/undici/types/pool.d.ts","../../../../node_modules/undici/types/handlers.d.ts","../../../../node_modules/undici/types/balanced-pool.d.ts","../../../../node_modules/undici/types/agent.d.ts","../../../../node_modules/undici/types/mock-interceptor.d.ts","../../../../node_modules/undici/types/mock-agent.d.ts","../../../../node_modules/undici/types/mock-client.d.ts","../../../../node_modules/undici/types/mock-pool.d.ts","../../../../node_modules/undici/types/mock-errors.d.ts","../../../../node_modules/undici/types/proxy-agent.d.ts","../../../../node_modules/undici/types/api.d.ts","../../../../node_modules/undici/types/cookies.d.ts","../../../../node_modules/undici/types/patch.d.ts","../../../../node_modules/undici/types/filereader.d.ts","../../../../node_modules/undici/types/diagnostics-channel.d.ts","../../../../node_modules/undici/types/websocket.d.ts","../../../../node_modules/undici/types/content-type.d.ts","../../../../node_modules/undici/types/interceptors.d.ts","../../../../node_modules/undici/index.d.ts","../../../../node_modules/@types/better-sqlite3/index.d.ts","../../../../node_modules/@miniflare/shared/dist/src/index.d.ts","../../../../node_modules/@miniflare/queues/dist/src/index.d.ts","../../../../node_modules/@types/ws/index.d.ts","../../../../node_modules/@miniflare/web-sockets/dist/src/index.d.ts","../../../../node_modules/@miniflare/core/dist/src/index.d.ts","../../../../node_modules/@cloudflare/workers-types/experimental/index.ts","../../../../node_modules/zod/lib/helpers/typeAliases.d.ts","../../../../node_modules/zod/lib/helpers/util.d.ts","../../../../node_modules/zod/lib/ZodError.d.ts","../../../../node_modules/zod/lib/locales/en.d.ts","../../../../node_modules/zod/lib/errors.d.ts","../../../../node_modules/zod/lib/helpers/parseUtil.d.ts","../../../../node_modules/zod/lib/helpers/enumUtil.d.ts","../../../../node_modules/zod/lib/helpers/errorUtil.d.ts","../../../../node_modules/zod/lib/helpers/partialUtil.d.ts","../../../../node_modules/zod/lib/types.d.ts","../../../../node_modules/zod/lib/external.d.ts","../../../../node_modules/zod/lib/index.d.ts","../../../../node_modules/zod/index.d.ts","../../../../node_modules/@miniflare/tre/dist/src/index.d.ts","../../../../node_modules/html-rewriter-wasm/dist/html_rewriter.d.ts","../../../../node_modules/@miniflare/html-rewriter/dist/src/index.d.ts","../../../../node_modules/@miniflare/cache/dist/src/index.d.ts","../../../pages-shared/environment-polyfills/types.ts","../../../pages-shared/environment-polyfills/index.ts","../../../pages-shared/environment-polyfills/miniflare-tre.ts","../../../pages-shared/environment-polyfills/miniflare.ts","../../../pages-shared/asset-server/responses.ts","../../../pages-shared/asset-server/rulesEngine.ts","../../../pages-shared/asset-server/handler.ts","./assets.ts","../../../../node_modules/@miniflare/durable-objects/dist/src/index.d.ts","../../../../node_modules/cron-schedule/dist/cron.d.ts","../../../../node_modules/cron-schedule/dist/schedulers/interval-based.d.ts","../../../../node_modules/cron-schedule/dist/utils.d.ts","../../../../node_modules/cron-schedule/dist/schedulers/timer-based.d.ts","../../../../node_modules/cron-schedule/dist/cron-parser.d.ts","../../../../node_modules/cron-schedule/dist/index.d.ts","../../../../node_modules/@miniflare/scheduler/dist/src/index.d.ts","../../../../node_modules/@miniflare/d1/dist/src/index.d.ts","../../../../node_modules/@miniflare/http-server/dist/src/index.d.ts","../../../../node_modules/@miniflare/kv/dist/src/index.d.ts","../../../../node_modules/@miniflare/storage-memory/dist/src/index.d.ts","../../../../node_modules/@miniflare/r2/dist/src/index.d.ts","../../../../node_modules/@miniflare/sites/dist/src/index.d.ts","../../../../node_modules/miniflare/dist/src/index.d.ts","../../../../node_modules/@types/yargs-parser/index.d.ts","../../../../node_modules/@types/yargs/index.d.ts","../../../../node_modules/@types/yargs/helpers.d.ts","../errors.ts","./request-context.ts","../../../../node_modules/chalk/types/index.d.ts","../../../../node_modules/cli-table3/index.d.ts","../../../../node_modules/esbuild/lib/main.d.ts","../environment-variables/factory.ts","../logger.ts","./types.ts","./index.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"28d4daf82a23686660da5e755024780825e85bd7d407aa674f19b94b2c439b98","def7b5d1ab0fa0066484b30711e74e57ecc670086979a6c8cca27d562df673a8","78147e236d9bc0fa67ee714509096a3ae12b61585e7c9c677d2db13bfad1dfd1","fbd2911c6e78b8dfb461c56faf961addd29b4c703862899e981f5ac51adcc50f","2ec021ed768e8369da9728195637388924985cad5c207211a54aa3248003d1cd","31215562f58f4a3f12e16b024c2f103a237a7e0fe3a26a01ea1769794709ed4c","01756a6d6b924745b3a627f94ded04bdc53174bf665a1d37737ef132a7cfc7bf","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"9acfe4d1ff027015151ce81d60797b04b52bffe97ad8310bb0ec2e8fd61e1303","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","196fee5541bfd59699dab615fee2ae7a6f5fe0a6337bcbbfd656ebf1ae329a63","160cc6e3d06938535bc887754afe5798c22d81ce83a9792ebfe2371a70f2ffc2","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"eecd493fc62c4dba3d988e2d7dff63299bf12ab49f5c9021dfef8dcc1ff2089e","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","d7838022c7dab596357a9604b9c6adffe37dc34085ce0779c958ce9545bd7139","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"a7971f9fb2a32ec7788ec6cda9d7a33c02023dfe9a62db2030ad1359649d8050","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"daa2956e185fbca0591cb8cbe075c115301cbac7863092103f2aed6078dfb612","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9","be27a64e821a3e5af838650e4aa25805c60f057d0c37a9762c378d19d364b3e6","3845c0e7c437e55f04706850a6f4d2b77fb156f0f62b3424baec592cd63fdbde","51f759e4141a3ba41ec8cd8ea27e496203a48b47fb7fa18cb3476a5f1a612d2a","27b601e49914267cead7ccae1143a20b5dd1af46bac908282de11e6a0d565ce1","a50b878bb1c68ce37c2be4966df199ad874271e7acf9874977aaccc6ad5701a7","e330783fe403d4c5b7b1736b4831f3545d6406be8198a3f41461b0aa6e2196e7","0006f481166f6e16544c93786e7b1c177022ef29da136dadeeecf6afb8c220f9","007187957dcf9b10b40a3fe36958c7ebf60bc4c3b877ea7b1ab20efa2abad35d","5a99e72f06d1d7da9b3ac27de8eccdbc940f1c5294e7d4d16efbc3f3c30b227e","696412d3a480a587ea26da8222bd9efda45c7d0b14e60aa3e172139b2f1b099c","824b7c3f7277d883f40a445cc4b8fbfb5285193516a1256ae2a4dec486989978","53f751014cc08afeae6c3199b89b0ab0718e4f97da8b7845c5b2333748277938","bd0e4e3f7b33dd520f3920623a0df181b0574462b2f8c7bbc738497f3e21c76d","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","0589c85b507c2b90458bf7f87c2aebb0879a251fa119f2464350113d93113a32","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","db6c2d64e5c642b4e08a136a15ef7155452fc7072513ac5b18a03b8e8107fe45","d9bf99a360cb3dfdc87b7e4988d63115cb30bf180f2bcfd56f425d2aee49925f","2e98c8d346012b9ac4f372d5a0ba7930ec413e45822d52a833dcde4a1cca91eb","85b5d54fc8586dc83c99934f02df83954282725ffcbd6631d4aa0ec81afb8671","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","8b23b832eb8547e6ef837f2c86a2354bcc4a52f5a51b6f0c82da48dd71961bf1","80ad053918e96087d9da8d092ff9f90520c9fc199c8bfd9340266dd8f38f364e","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","cf01820a6625d372b406150fc8bbaaf82326dad57088a09d546df4619fcf4d2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","f436b69387a990543d96787d1671b601a1ca624c420edc53560cb3d742f132fb","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","e4da0dc0982bc3ecaed637009f74a847b8d3fe06cbcf9f5e83b8ce8b0ed5d393","3938877ee9772bc01aab80426060c1f0120e9ac5615a3c716ed86d91f5afad9b","487154abfb132223043c90d517fea69d3338c33e50ec576641f27aea7fc9c82e","da6209c0da66948ed2953e6dac3d17d2d7a16677d0b9919cd0caf263f043d42c","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","b37d42b0e3eaf9ecf801fac68a0ab608612b1eac7f2ff5961b82b7e50c2567e7","76dc95032e67f4c9ff21789567416de1547755c17037084729750265bb9b39bd","e012b7e0f704f7f90f576f14d01f53b7840457f925b32490a56aae9d66e91487","5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","7a01f546ace66019156e4232a1bee2fabc2f8eabeb052473d926ee1693956265","fb53b1c6a6c799b7e3cc2de3fb5c9a1c04a1c60d4380a37792d84c5f8b33933b","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","19903057d0249e45c579bef2b771c37609e4853a8b88adbb0b6b63f9e1d1f372","f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","5be67ded6808a00e0fb48f20af7e81b0e1896ba61e1f26a59275b3c4d8b57c53","fca196a63dcdda993cc0767c1d8038e0fea130723b6349256aec6f0dc6afeee6","e1b9a037e8bbf12c413c1a6b18ea985e09202fe3dbbf3da593568a91a7dc0ebf","44b9c28d716a2c6ae4054091485be97edd6d4e7f02eea3efbcb9afa4cea40e6e",{"version":"ec35e4acced0edca4b3f807597b61bca0e322a5404135a937ac11ca2958c7410","affectsGlobalScope":true},"d6e12bebdaf02b4e069bdb5d8733b6ca4d897c92067df5fdf863a65b826cb054","ab0d2c81d176bada32f9d00a2eeb2cc11b15c3db09642c6c5b389b652d51a89f","9ed04a7dcb3f2e0de2fa41e8be03534796040c3344724348843fa2c8480952f9","76eb8e784c0d24ec83a6fe2f48efb21f90efc9a3991d65fcde1da9b5c54e768f","d1a62621df744be36150eedc3ab8e0b51644124ff8cdbbe4bda8bad88d571c80","5e08081025cc6929e74d0e5421a77d7c1c7207d4afd9a96daf87c4972a701e7d","9f97786041d862310120e7b0da8dc44ad5a5dbd647ec30f3227d17cb0e883988","25094d7758955e2442de08ba1709c0e35271590110abbd0244bc35a0f88e01cf","ef0278858bd800e01280578b41c084a8c3570d21789c29e82221b3112d7c325e","45306ff1bba208bb2dae87c9474b590fa223dc37bb0f1dd278328a862630ae8d","1457c248ae8b97429eccedd53528a48b4252aa01e207579a6aa81b4734f3105d","40ac2fda208f54fb7ddd3ebd0e0fdd718012e4469532433c5d6155136cc1a40b","c14788310fec17ac61ef6b527dd1e9d658cf0e13867b1d36924ab04009ecc3f5","6064f7c5739df85dcc9ced0a610be5cd585f70d95aba985f59ea405f834673a7","2d997a81857e5713b21b135b75dd3200c2d31524c8bbeafe48e133a89763d711","13097df1008698edf8fe9789cef7901e34cf10a9c23de3ff01cb59f9e887d50a","97b0b39526debcd440291fb6aeb601178ac33b2ad84e54c78c16057362955f2d","d72f2c32cb958d1023a10035be28e091344a7cb3a14def96d13d39c72f3a3767","ecc8e0f7097d3282434b86175a4008fe7e5aaa2731b067cab49d1fe6941de957","8d2123534a63ce0e9fe4c188953920348e5f1e33f72c581f88824a2fe23a228c","bf093cdf9d9b079e168b1c1ba6aa23e7eab84b8d13e1591f1e871c7b31b1c71f","c3c579c496ac9a5b7bb864d2d9f898209d9b28b6b47d1bf1cc9f2b2d3471b2ea","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750","9cc884a6f8547dec935f930b8aad8212aaae876ebeaab5cd42d20b45251860e7","8526249c4486650b51b73ef9ae452fb6ef3254b2e73a1625c68889a9a3bfc070","dd472d8f41c142352cb21b03d602c5acf88b41d7656cd6b01414b0dd3a047afd","091f417275a51ab3c47b949723e9e8a193012157ecc64a96e2d7b1505e82f395","e6d2c107b358421399671d5afc04f9a0993833121c74bcbd3648ac3a65770936","6a93055f8327fa93dd414b15b3722657ea7c12d6052367d4ff303af29aa0ac76","1302a6a8c1a2f8f0efb923f254b8bed0d8692be7f1a6cd85c5c6e59a1f366fa9","f1814927210ac162c5ae64856a992cdc62e1eec5ef41782b5996626fafba0481","95586a6a375ad871afbc7a0e7989a6c590487b3c51aea25a60268ee79c94af8c","437332ec05f98fa4bb718f2669e019945fc561b6d4141f619dad6c89d6cd5707"],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":false,"esModuleInterop":true,"jsx":2,"module":99,"skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[104],[104,158,160,164],[65,70,79,96,103,104,111,158,160,161,163],[104,160,164],[104,111,160,164],[104,158,160,164,180],[79,81,103,104,111,158,160,164],[96,104,160],[104,160],[65,96,104,111,158,160],[104,160,164,197],[104,108,111,158,159,160],[104,160,201],[103,104,111,158,159,162,165,178],[104,111,158,160,162,164],[104,111],[61,104],[64,104],[65,70,104],[66,76,77,84,93,103,104],[66,67,76,84,104],[68,104],[69,70,77,85,104],[70,93,100,104],[71,73,76,84,104],[72,104],[73,74,104],[75,76,104],[76,104],[76,77,78,93,103,104],[76,77,78,93,104],[79,84,93,103,104],[76,77,79,80,84,93,100,103,104],[79,81,93,100,103,104],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],[76,82,104],[83,103,104],[73,76,84,93,104],[85,104],[86,104],[64,87,104],[88,102,104,108],[89,104],[90,104],[76,91,104],[91,92,104,106],[76,93,94,95,104],[93,95,104],[93,94,104],[96,104],[97,104],[76,98,99,104],[98,99,104],[70,84,100,104],[101,104],[84,102,104],[65,79,90,103,104],[70,104],[93,104,105],[104,106],[104,107],[65,70,76,78,87,93,103,104,106,108],[93,104,109],[76,79,81,93,100,103,104,109,111],[104,206],[104,115,118],[104,117],[104,115,117,118,119],[104,124],[104,111,115],[93,104,111,115,116,120,121,122],[104,111,118],[104,116,120,121,123],[76,77,104,111,112],[104,192],[104,192,193,194,195,196],[104,192,194],[79,81,104,111,160,161,163,164,181,182,191,198,199,200,201,202,203,204],[104,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157],[103,104,136,140],[93,103,104,136],[100,103,104,133,136],[84,100,104],[104,111,131],[84,103,104,133,136],[65,76,93,103,104,128,129,132,135],[104,128,134],[65,96,103,104,111,132,136],[65,104,111],[65,104,111,152],[104,111,130,131],[104,136],[104,136,143,144],[104,134,136,144,145],[104,135],[104,128,131,136],[104,136,140,144,145],[104,140],[103,104,134,136,139],[104,128,133,136,143],[65,93,104],[104,111,152],[104,177],[104,166,167,177],[104,168,169],[104,166,167,168,170,171,175],[104,167,168],[104,176],[104,168],[104,166,167,168,171,172,173,174],[55,104,187,188],[104,183],[104,179,184],[104,164,184],[96,104,164,181,182],[54,55,56,104],[54,56,58,104],[104,215],[104,211,212,213,214],[55,56,57,59,60,77,86,104,113,114,126,163,164,179,185,186,189],[84,104,163,190,191,205,207,208,209,210,215,216],[64,104,205],[77,86,104,125]],"referencedMap":[[165,1],[182,2],[164,3],[199,4],[191,5],[181,6],[200,7],[201,8],[161,9],[203,10],[198,11],[160,12],[204,13],[202,9],[179,14],[163,15],[159,16],[114,1],[61,17],[62,17],[64,18],[65,19],[66,20],[67,21],[68,22],[69,23],[70,24],[71,25],[72,26],[73,27],[74,27],[75,28],[76,29],[77,30],[78,31],[63,1],[110,1],[79,32],[80,33],[81,34],[111,35],[82,36],[83,37],[84,38],[85,39],[86,40],[87,41],[88,42],[89,43],[90,44],[91,45],[92,46],[93,47],[95,48],[94,49],[96,50],[97,51],[98,52],[99,53],[100,54],[101,55],[102,56],[103,57],[104,58],[105,59],[106,60],[107,61],[108,62],[109,63],[162,64],[206,1],[208,65],[207,65],[112,1],[117,1],[115,1],[119,66],[118,67],[120,68],[125,69],[116,70],[123,71],[121,72],[124,73],[122,1],[127,1],[211,1],[113,74],[212,1],[196,75],[192,1],[197,76],[193,75],[195,77],[194,1],[213,1],[180,1],[205,78],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[4,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[32,1],[33,1],[34,1],[35,1],[7,1],[36,1],[41,1],[42,1],[37,1],[38,1],[39,1],[40,1],[8,1],[46,1],[43,1],[44,1],[45,1],[47,1],[9,1],[48,1],[49,1],[50,1],[51,1],[52,1],[1,1],[10,1],[53,1],[158,79],[143,80],[150,81],[142,80],[134,82],[133,83],[156,16],[151,84],[154,85],[136,86],[135,87],[131,88],[130,89],[153,90],[132,91],[137,92],[138,1],[141,92],[128,1],[157,92],[145,93],[146,94],[148,95],[144,96],[147,97],[152,16],[139,98],[140,99],[149,100],[129,101],[155,102],[178,103],[168,104],[170,105],[176,106],[172,1],[173,1],[171,107],[174,103],[166,1],[167,1],[177,108],[169,109],[175,110],[189,111],[55,1],[187,1],[188,1],[184,112],[185,113],[186,114],[183,115],[54,1],[57,116],[59,117],[60,117],[56,1],[58,1],[214,118],[209,1],[215,119],[190,120],[217,121],[210,122],[216,1],[126,123]],"exportedModulesMap":[[165,1],[182,2],[164,3],[199,4],[191,5],[181,6],[200,7],[201,8],[161,9],[203,10],[198,11],[160,12],[204,13],[202,9],[179,14],[163,15],[159,16],[114,1],[61,17],[62,17],[64,18],[65,19],[66,20],[67,21],[68,22],[69,23],[70,24],[71,25],[72,26],[73,27],[74,27],[75,28],[76,29],[77,30],[78,31],[63,1],[110,1],[79,32],[80,33],[81,34],[111,35],[82,36],[83,37],[84,38],[85,39],[86,40],[87,41],[88,42],[89,43],[90,44],[91,45],[92,46],[93,47],[95,48],[94,49],[96,50],[97,51],[98,52],[99,53],[100,54],[101,55],[102,56],[103,57],[104,58],[105,59],[106,60],[107,61],[108,62],[109,63],[162,64],[206,1],[208,65],[207,65],[112,1],[117,1],[115,1],[119,66],[118,67],[120,68],[125,69],[116,70],[123,71],[121,72],[124,73],[122,1],[127,1],[211,1],[113,74],[212,1],[196,75],[192,1],[197,76],[193,75],[195,77],[194,1],[213,1],[180,1],[205,78],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[4,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[32,1],[33,1],[34,1],[35,1],[7,1],[36,1],[41,1],[42,1],[37,1],[38,1],[39,1],[40,1],[8,1],[46,1],[43,1],[44,1],[45,1],[47,1],[9,1],[48,1],[49,1],[50,1],[51,1],[52,1],[1,1],[10,1],[53,1],[158,79],[143,80],[150,81],[142,80],[134,82],[133,83],[156,16],[151,84],[154,85],[136,86],[135,87],[131,88],[130,89],[153,90],[132,91],[137,92],[138,1],[141,92],[128,1],[157,92],[145,93],[146,94],[148,95],[144,96],[147,97],[152,16],[139,98],[140,99],[149,100],[129,101],[155,102],[178,103],[168,104],[170,105],[176,106],[172,1],[173,1],[171,107],[174,103],[166,1],[167,1],[177,108],[169,109],[175,110],[189,111],[55,1],[187,1],[188,1],[184,112],[185,113],[186,114],[183,115],[54,1],[57,116],[59,117],[60,117],[56,1],[58,1],[214,118],[209,1],[215,119],[190,120],[217,121],[210,122],[216,1],[126,123]],"semanticDiagnosticsPerFile":[165,182,164,199,191,181,200,201,161,203,198,160,204,202,179,163,159,114,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,63,110,79,80,81,111,82,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,162,206,208,207,112,117,115,119,118,120,125,116,123,121,124,122,127,211,113,212,196,192,197,193,195,194,213,180,205,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,10,53,158,143,150,142,134,133,156,151,154,136,135,131,130,153,132,137,138,141,128,157,145,146,148,144,147,152,139,140,149,129,155,178,168,170,176,172,173,171,174,166,167,177,169,175,189,55,187,188,184,185,186,183,54,57,59,60,56,58,214,209,215,190,217,210,216,126],"affectedFilesPendingEmit":[[165,1],[182,1],[164,1],[199,1],[191,1],[181,1],[200,1],[201,1],[161,1],[203,1],[198,1],[160,1],[204,1],[202,1],[179,1],[163,1],[159,1],[114,1],[61,1],[62,1],[64,1],[65,1],[66,1],[67,1],[68,1],[69,1],[70,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[63,1],[110,1],[79,1],[80,1],[81,1],[111,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[92,1],[93,1],[95,1],[94,1],[96,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[104,1],[105,1],[106,1],[107,1],[108,1],[109,1],[162,1],[206,1],[208,1],[207,1],[112,1],[117,1],[115,1],[119,1],[118,1],[120,1],[125,1],[116,1],[123,1],[121,1],[124,1],[122,1],[127,1],[211,1],[113,1],[212,1],[196,1],[192,1],[197,1],[193,1],[195,1],[194,1],[213,1],[180,1],[205,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[10,1],[158,1],[143,1],[150,1],[142,1],[134,1],[133,1],[156,1],[151,1],[154,1],[136,1],[135,1],[131,1],[130,1],[153,1],[132,1],[137,1],[138,1],[141,1],[128,1],[157,1],[145,1],[146,1],[148,1],[144,1],[147,1],[152,1],[139,1],[140,1],[149,1],[129,1],[155,1],[178,1],[168,1],[170,1],[176,1],[172,1],[173,1],[171,1],[174,1],[166,1],[167,1],[177,1],[169,1],[175,1],[189,1],[55,1],[187,1],[188,1],[184,1],[185,1],[186,1],[183,1],[54,1],[57,1],[59,1],[60,1],[56,1],[58,1],[214,1],[209,1],[215,1],[190,1],[217,1],[210,1],[216,1],[126,1]]},"version":"4.8.4"}
@@ -0,0 +1,11 @@
1
+ // `./assets` dynamically imports `@cloudflare/pages-shared/environment-polyfills`.
2
+ // `@cloudflare/pages-shared/environment-polyfills/types.ts` defines `global`
3
+ // augmentations that pollute the `import`-site's typing environment.
4
+ //
5
+ // This type is used in the main `wrangler` TypeScript project. We split it out
6
+ // into a separate file (rather than putting it in `./index.ts`) so that
7
+ // `import`ing it doesn't bring in the `global` augmentations.
8
+ export interface EnablePagesAssetsServiceBindingOptions {
9
+ proxyPort?: number;
10
+ directory?: string;
11
+ }
@@ -1,6 +1,7 @@
1
1
  import crypto from "node:crypto";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
+ import chalk from "chalk";
4
5
  import globToRegExp from "glob-to-regexp";
5
6
  import { logger } from "./logger";
6
7
  import type { Config, ConfigModuleRuleType } from "./config";
@@ -35,31 +36,11 @@ export const ModuleTypeToRuleType = flipObject(RuleTypeToModuleType);
35
36
  export const DEFAULT_MODULE_RULES: Config["rules"] = [
36
37
  { type: "Text", globs: ["**/*.txt", "**/*.html"] },
37
38
  { type: "Data", globs: ["**/*.bin"] },
38
- { type: "CompiledWasm", globs: ["**/*.wasm"] },
39
+ { type: "CompiledWasm", globs: ["**/*.wasm", "**/*.wasm?module"] },
39
40
  ];
40
41
 
41
- export default function createModuleCollector(props: {
42
- format: CfScriptFormat;
43
- rules?: Config["rules"];
44
- // a collection of "legacy" style module references, which are just file names
45
- // we will eventually deprecate this functionality, hence the verbose greppable name
46
- wrangler1xlegacyModuleReferences: {
47
- rootDirectory: string;
48
- fileNames: Set<string>;
49
- };
50
- }): {
51
- modules: CfModule[];
52
- plugin: esbuild.Plugin;
53
- } {
54
- const rules: Config["rules"] = [
55
- ...(props.rules || []),
56
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
57
- ...DEFAULT_MODULE_RULES!,
58
- ];
59
-
60
- // First, we want to add some validations to the module rules
61
- // We want to warn if rules are accidentally configured in such a way that
62
- // subsequent rules will never match because `fallthrough` hasn't been set
42
+ export function parseRules(userRules: Config["rules"] = []) {
43
+ const rules: Config["rules"] = [...userRules, ...DEFAULT_MODULE_RULES];
63
44
 
64
45
  const completedRuleLocations: Record<string, number> = {};
65
46
  let index = 0;
@@ -67,7 +48,7 @@ export default function createModuleCollector(props: {
67
48
  for (const rule of rules) {
68
49
  if (rule.type in completedRuleLocations) {
69
50
  if (rules[completedRuleLocations[rule.type]].fallthrough !== false) {
70
- if (index < (props.rules || []).length) {
51
+ if (index < userRules.length) {
71
52
  logger.warn(
72
53
  `The module rule at position ${index} (${JSON.stringify(
73
54
  rule
@@ -101,6 +82,89 @@ export default function createModuleCollector(props: {
101
82
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
102
83
  rulesToRemove.forEach((rule) => rules!.splice(rules!.indexOf(rule), 1));
103
84
 
85
+ return { rules, removedRules: rulesToRemove };
86
+ }
87
+
88
+ export async function matchFiles(
89
+ files: string[],
90
+ relativeTo: string,
91
+ {
92
+ rules,
93
+ removedRules,
94
+ }: { rules: Config["rules"]; removedRules: Config["rules"] }
95
+ ) {
96
+ const modules: CfModule[] = [];
97
+
98
+ // Deduplicate modules. This is usually a poorly specified `wrangler.toml` configuration, but duplicate modules will cause a crash at runtime
99
+ const moduleNames = new Set<string>();
100
+ for (const rule of rules) {
101
+ for (const glob of rule.globs) {
102
+ const regexp = globToRegExp(glob, {
103
+ globstar: true,
104
+ });
105
+ const newModules = await Promise.all(
106
+ files
107
+ .filter((f) => regexp.test(f))
108
+ .map(async (name) => {
109
+ const filePath = name;
110
+ const fileContent = await readFile(path.join(relativeTo, filePath));
111
+
112
+ return {
113
+ name: filePath,
114
+ content: fileContent,
115
+ type: RuleTypeToModuleType[rule.type],
116
+ };
117
+ })
118
+ );
119
+ for (const module of newModules) {
120
+ if (!moduleNames.has(module.name)) {
121
+ moduleNames.add(module.name);
122
+ modules.push(module);
123
+ } else {
124
+ logger.warn(
125
+ `Ignoring duplicate module: ${chalk.blue(
126
+ module.name
127
+ )} (${chalk.green(module.type ?? "")})`
128
+ );
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ // This is just a sanity check verifying that no files match rules that were removed
135
+ for (const rule of removedRules) {
136
+ for (const glob of rule.globs) {
137
+ const regexp = globToRegExp(glob);
138
+ for (const file of files) {
139
+ if (regexp.test(file)) {
140
+ throw new Error(
141
+ `The file ${file} matched a module rule in your configuration (${JSON.stringify(
142
+ rule
143
+ )}), but was ignored because a previous rule with the same type was not marked as \`fallthrough = true\`.`
144
+ );
145
+ }
146
+ }
147
+ }
148
+ }
149
+ return modules;
150
+ }
151
+
152
+ export default function createModuleCollector(props: {
153
+ format: CfScriptFormat;
154
+ rules?: Config["rules"];
155
+ // a collection of "legacy" style module references, which are just file names
156
+ // we will eventually deprecate this functionality, hence the verbose greppable name
157
+ wrangler1xlegacyModuleReferences: {
158
+ rootDirectory: string;
159
+ fileNames: Set<string>;
160
+ };
161
+ preserveFileNames?: boolean;
162
+ }): {
163
+ modules: CfModule[];
164
+ plugin: esbuild.Plugin;
165
+ } {
166
+ const { rules, removedRules } = parseRules(props.rules);
167
+
104
168
  const modules: CfModule[] = [];
105
169
  return {
106
170
  modules,
@@ -206,7 +270,9 @@ export default function createModuleCollector(props: {
206
270
  .createHash("sha1")
207
271
  .update(fileContent)
208
272
  .digest("hex");
209
- const fileName = `./${fileHash}-${path.basename(args.path)}`;
273
+ const fileName = props.preserveFileNames
274
+ ? filePath
275
+ : `./${fileHash}-${path.basename(args.path)}`;
210
276
 
211
277
  // add the module to the array
212
278
  modules.push({
@@ -245,7 +311,7 @@ export default function createModuleCollector(props: {
245
311
  });
246
312
  });
247
313
 
248
- rulesToRemove.forEach((rule) => {
314
+ removedRules.forEach((rule) => {
249
315
  rule.globs.forEach((glob) => {
250
316
  build.onResolve(
251
317
  { filter: globToRegExp(glob) },
@@ -0,0 +1,155 @@
1
+ import {
2
+ uploadMTlsCertificateFromFs,
3
+ listMTlsCertificates,
4
+ deleteMTlsCertificate,
5
+ getMTlsCertificate,
6
+ getMTlsCertificateByName,
7
+ type MTlsCertificateResponse,
8
+ } from "../api/mtls-certificate";
9
+ import { withConfig } from "../config";
10
+ import { confirm } from "../dialogs";
11
+ import { logger } from "../logger";
12
+ import { requireAuth } from "../user";
13
+ import type {
14
+ CommonYargsOptions,
15
+ CommonYargsArgv,
16
+ StrictYargsOptionsToInterface,
17
+ } from "../yargs-types";
18
+ import type { BuilderCallback } from "yargs";
19
+
20
+ function uploadMTlsCertificateOptions(yargs: CommonYargsArgv) {
21
+ return yargs
22
+ .option("cert", {
23
+ describe:
24
+ "The path to a certificate file (.pem) containing a chain of certificates to upload",
25
+ type: "string",
26
+ demandOption: true,
27
+ })
28
+ .option("key", {
29
+ describe:
30
+ "The path to a file containing the private key for your leaf certificate",
31
+ type: "string",
32
+ demandOption: true,
33
+ })
34
+ .option("name", {
35
+ describe: "The name for the certificate",
36
+ type: "string",
37
+ });
38
+ }
39
+
40
+ const uploadMTlsCertificateHandler = withConfig<
41
+ StrictYargsOptionsToInterface<typeof uploadMTlsCertificateOptions>
42
+ >(async ({ config, cert, key, name }) => {
43
+ const accountId = await requireAuth(config);
44
+ logger.log(
45
+ name
46
+ ? `Uploading mTLS Certificate ${name}...`
47
+ : `Uploading mTLS Certificate...`
48
+ );
49
+ const certResponse = await uploadMTlsCertificateFromFs(accountId, {
50
+ certificateChainFilename: cert,
51
+ privateKeyFilename: key,
52
+ name: name,
53
+ });
54
+ const expiresOn = new Date(certResponse.expires_on).toLocaleDateString();
55
+ logger.log(
56
+ name
57
+ ? `Success! Uploaded mTLS Certificate ${name}`
58
+ : `Success! Uploaded mTLS Certificate`
59
+ );
60
+ logger.log(`ID: ${certResponse.id}`);
61
+ logger.log(`Issuer: ${certResponse.issuer}`);
62
+ logger.log(`Expires on ${expiresOn}`);
63
+ });
64
+
65
+ const listMTlsCertificatesHandler = withConfig(async ({ config }) => {
66
+ const accountId = await requireAuth(config);
67
+ const certificates = await listMTlsCertificates(accountId, {});
68
+ for (const certificate of certificates) {
69
+ logger.log(`ID: ${certificate.id}`);
70
+ if (certificate.name) {
71
+ logger.log(`Name: ${certificate.name}`);
72
+ }
73
+ logger.log(`Issuer: ${certificate.issuer}`);
74
+ logger.log(
75
+ `Created on: ${new Date(certificate.uploaded_on).toLocaleDateString()}`
76
+ );
77
+ logger.log(
78
+ `Expires on: ${new Date(certificate.expires_on).toLocaleDateString()}`
79
+ );
80
+ logger.log("\n");
81
+ }
82
+ });
83
+
84
+ function deleteMTlsCertificateOptions(yargs: CommonYargsArgv) {
85
+ return yargs
86
+ .option("id", {
87
+ describe: "The id of the mTLS certificate to delete",
88
+ type: "string",
89
+ })
90
+ .option("name", {
91
+ describe: "The name of the mTLS certificate record to delete",
92
+ type: "string",
93
+ });
94
+ }
95
+
96
+ const deleteMTlsCertificateHandler = withConfig<
97
+ StrictYargsOptionsToInterface<typeof deleteMTlsCertificateOptions>
98
+ >(async ({ config, id, name }) => {
99
+ const accountId = await requireAuth(config);
100
+ if (id && name) {
101
+ return logger.error(`Error: can't provide both --id and --name.`);
102
+ } else if (!id && !name) {
103
+ return logger.error(`Error: must provide --id or --name.`);
104
+ }
105
+ let certificate: MTlsCertificateResponse;
106
+ if (id) {
107
+ certificate = await getMTlsCertificate(accountId, id);
108
+ } else {
109
+ certificate = await getMTlsCertificateByName(accountId, name as string);
110
+ }
111
+
112
+ const response = await confirm(
113
+ certificate.name
114
+ ? `Are you sure you want to delete certificate ${certificate.id} (${certificate.name})?`
115
+ : `Are you sure you want to delete certificate ${certificate.id}?`
116
+ );
117
+ if (!response) {
118
+ logger.log("Not deleting");
119
+ return;
120
+ }
121
+
122
+ await deleteMTlsCertificate(accountId, certificate.id);
123
+
124
+ logger.log(
125
+ certificate.name
126
+ ? `Deleted certificate ${certificate.id} (${certificate.name}) successfully`
127
+ : `Deleted certificate ${certificate.id} successfully`
128
+ );
129
+ });
130
+
131
+ export const mTlsCertificateCommands: BuilderCallback<
132
+ CommonYargsOptions,
133
+ unknown
134
+ > = (yargs) => {
135
+ yargs.command(
136
+ "upload",
137
+ "Upload an mTLS certificate",
138
+ uploadMTlsCertificateOptions,
139
+ uploadMTlsCertificateHandler
140
+ );
141
+
142
+ yargs.command(
143
+ "list",
144
+ "List uploaded mTLS certificates",
145
+ (a) => a,
146
+ listMTlsCertificatesHandler
147
+ );
148
+
149
+ yargs.command(
150
+ "delete",
151
+ "Delete an mTLS certificate",
152
+ deleteMTlsCertificateOptions,
153
+ deleteMTlsCertificateHandler
154
+ );
155
+ };