wrangler 0.0.0-e1b8ac4 → 0.0.0-e1c2f5b9

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 (295) hide show
  1. package/README.md +23 -3
  2. package/bin/wrangler.js +170 -62
  3. package/miniflare-dist/index.mjs +1499 -21
  4. package/package.json +193 -156
  5. package/src/__tests__/access.test.ts +25 -0
  6. package/src/__tests__/api-dev.test.ts +238 -0
  7. package/src/__tests__/api-devregistry.test.js +64 -0
  8. package/src/__tests__/api.test.ts +80 -0
  9. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  10. package/src/__tests__/config-cache.test.ts +30 -24
  11. package/src/__tests__/configuration.test.ts +4152 -3537
  12. package/src/__tests__/d1.test.ts +123 -0
  13. package/src/__tests__/delete.test.ts +263 -0
  14. package/src/__tests__/deployments.test.ts +105 -0
  15. package/src/__tests__/dev.test.tsx +1559 -1028
  16. package/src/__tests__/dialogs.test.tsx +40 -0
  17. package/src/__tests__/generate.test.ts +235 -0
  18. package/src/__tests__/get-host-from-url.test.ts +16 -0
  19. package/src/__tests__/guess-worker-format.test.ts +68 -68
  20. package/src/__tests__/helpers/cmd-shim.d.ts +6 -6
  21. package/src/__tests__/helpers/mock-account-id.ts +24 -24
  22. package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
  23. package/src/__tests__/helpers/mock-bin.ts +20 -20
  24. package/src/__tests__/helpers/mock-cfetch.ts +165 -99
  25. package/src/__tests__/helpers/mock-console.ts +58 -39
  26. package/src/__tests__/helpers/mock-dialogs.ts +94 -94
  27. package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -0
  28. package/src/__tests__/helpers/mock-http-server.ts +30 -30
  29. package/src/__tests__/helpers/mock-istty.ts +65 -18
  30. package/src/__tests__/helpers/mock-known-routes.ts +7 -0
  31. package/src/__tests__/helpers/mock-kv.ts +27 -27
  32. package/src/__tests__/helpers/mock-oauth-flow.ts +244 -228
  33. package/src/__tests__/helpers/mock-process.ts +23 -13
  34. package/src/__tests__/helpers/mock-stdin.ts +82 -77
  35. package/src/__tests__/helpers/mock-web-socket.ts +21 -21
  36. package/src/__tests__/helpers/msw/handlers/access.ts +13 -0
  37. package/src/__tests__/helpers/msw/handlers/deployments.ts +59 -0
  38. package/src/__tests__/helpers/msw/handlers/namespaces.ts +104 -0
  39. package/src/__tests__/helpers/msw/handlers/oauth.ts +31 -0
  40. package/src/__tests__/helpers/msw/handlers/r2.ts +80 -0
  41. package/src/__tests__/helpers/msw/handlers/script.ts +75 -0
  42. package/src/__tests__/helpers/msw/handlers/user.ts +63 -0
  43. package/src/__tests__/helpers/msw/handlers/zones.ts +22 -0
  44. package/src/__tests__/helpers/msw/index.ts +21 -0
  45. package/src/__tests__/helpers/run-in-tmp.ts +27 -28
  46. package/src/__tests__/helpers/run-wrangler.ts +8 -8
  47. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +1 -0
  48. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +5 -0
  49. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +1 -0
  50. package/src/__tests__/helpers/worker-scripts/parent-worker.js +8 -0
  51. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +5 -0
  52. package/src/__tests__/helpers/write-worker-source.ts +16 -16
  53. package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
  54. package/src/__tests__/https-options.test.ts +142 -109
  55. package/src/__tests__/index.test.ts +245 -234
  56. package/src/__tests__/init.test.ts +3027 -1925
  57. package/src/__tests__/jest.setup.ts +157 -61
  58. package/src/__tests__/kv.test.ts +1773 -1507
  59. package/src/__tests__/logger.test.ts +96 -96
  60. package/src/__tests__/logout.test.ts +47 -0
  61. package/src/__tests__/metrics.test.ts +495 -0
  62. package/src/__tests__/middleware.scheduled.test.ts +145 -0
  63. package/src/__tests__/middleware.test.ts +750 -0
  64. package/src/__tests__/package-manager.test.ts +303 -303
  65. package/src/__tests__/pages-deployment-tail.test.ts +884 -0
  66. package/src/__tests__/pages.test.ts +2424 -735
  67. package/src/__tests__/parse.test.ts +252 -252
  68. package/src/__tests__/paths.test.ts +39 -0
  69. package/src/__tests__/publish.test.ts +7621 -5798
  70. package/src/__tests__/pubsub.test.ts +490 -0
  71. package/src/__tests__/queues.test.ts +522 -0
  72. package/src/__tests__/r2.test.ts +388 -228
  73. package/src/__tests__/route.test.ts +18 -18
  74. package/src/__tests__/secret.test.ts +673 -460
  75. package/src/__tests__/tail.test.ts +776 -567
  76. package/src/__tests__/test-old-node-version.js +31 -0
  77. package/src/__tests__/tsconfig-sanity.ts +12 -0
  78. package/src/__tests__/tsconfig.json +8 -0
  79. package/src/__tests__/tsconfig.tsbuildinfo +1 -0
  80. package/src/__tests__/type-generation.test.ts +233 -0
  81. package/src/__tests__/user.test.ts +117 -120
  82. package/src/__tests__/utils-collectKeyValues.test.ts +47 -0
  83. package/src/__tests__/validate-dev-props.test.ts +56 -0
  84. package/src/__tests__/version.test.ts +35 -0
  85. package/src/__tests__/whoami.test.tsx +264 -125
  86. package/src/__tests__/worker-namespace.test.ts +326 -0
  87. package/src/abort.d.ts +1 -1
  88. package/src/api/dev.ts +218 -0
  89. package/src/api/index.ts +2 -0
  90. package/src/bundle-reporter.tsx +68 -0
  91. package/src/bundle.ts +785 -166
  92. package/src/cfetch/index.ts +120 -83
  93. package/src/cfetch/internal.ts +211 -92
  94. package/src/cli.ts +23 -8
  95. package/src/config/config.ts +236 -204
  96. package/src/config/diagnostics.ts +61 -61
  97. package/src/config/environment.ts +514 -357
  98. package/src/config/index.ts +326 -193
  99. package/src/config/validation-helpers.ts +379 -366
  100. package/src/config/validation.ts +1973 -1402
  101. package/src/config-cache.ts +81 -41
  102. package/src/create-worker-preview.ts +239 -142
  103. package/src/create-worker-upload-form.ts +309 -238
  104. package/src/d1/backups.tsx +223 -0
  105. package/src/d1/constants.ts +2 -0
  106. package/src/d1/create.tsx +63 -0
  107. package/src/d1/delete.tsx +56 -0
  108. package/src/d1/execute.tsx +352 -0
  109. package/src/d1/formatTimeAgo.ts +14 -0
  110. package/src/d1/index.ts +101 -0
  111. package/src/d1/list.tsx +48 -0
  112. package/src/d1/migrations/apply.tsx +196 -0
  113. package/src/d1/migrations/create.tsx +77 -0
  114. package/src/d1/migrations/helpers.ts +147 -0
  115. package/src/d1/migrations/index.tsx +3 -0
  116. package/src/d1/migrations/list.tsx +79 -0
  117. package/src/d1/migrations/options.ts +18 -0
  118. package/src/d1/options.ts +22 -0
  119. package/src/d1/types.tsx +24 -0
  120. package/src/d1/utils.ts +48 -0
  121. package/src/delete.ts +108 -0
  122. package/src/deployments.ts +83 -0
  123. package/src/deprecated/index.ts +145 -0
  124. package/src/dev/dev-vars.ts +20 -17
  125. package/src/dev/dev.tsx +544 -329
  126. package/src/dev/get-local-persistence-path.tsx +31 -0
  127. package/src/dev/local.tsx +912 -301
  128. package/src/dev/remote.tsx +591 -230
  129. package/src/dev/start-server.ts +543 -0
  130. package/src/dev/use-esbuild.ts +183 -91
  131. package/src/dev/validate-dev-props.ts +31 -0
  132. package/src/dev-registry.tsx +201 -0
  133. package/src/dev.tsx +949 -0
  134. package/src/dialogs.tsx +132 -99
  135. package/src/dispatch-namespace.ts +207 -0
  136. package/src/docs/index.ts +97 -0
  137. package/src/durable.ts +87 -87
  138. package/src/entry.ts +235 -228
  139. package/src/environment-variables/factory.ts +88 -0
  140. package/src/environment-variables/misc-variables.ts +30 -0
  141. package/src/errors.ts +6 -6
  142. package/src/generate/index.ts +300 -0
  143. package/src/git-client.ts +135 -0
  144. package/src/global-wrangler-config-path.ts +26 -0
  145. package/src/https-options.ts +84 -80
  146. package/src/index.tsx +637 -2850
  147. package/src/init.ts +1025 -0
  148. package/src/inspect.ts +698 -593
  149. package/src/intl-polyfill.d.ts +123 -123
  150. package/src/is-ci.ts +14 -0
  151. package/src/is-interactive.ts +16 -0
  152. package/src/jest.d.ts +4 -0
  153. package/src/kv/helpers.ts +430 -0
  154. package/src/kv/index.ts +596 -0
  155. package/src/logger.ts +64 -45
  156. package/src/metrics/index.ts +5 -0
  157. package/src/metrics/metrics-config.ts +239 -0
  158. package/src/metrics/metrics-dispatcher.ts +96 -0
  159. package/src/metrics/metrics-usage-headers.ts +24 -0
  160. package/src/metrics/send-event.ts +97 -0
  161. package/src/miniflare-cli/assets.ts +250 -0
  162. package/src/miniflare-cli/index.ts +202 -33
  163. package/src/miniflare-cli/request-context.ts +18 -18
  164. package/src/miniflare-cli/tsconfig.json +9 -0
  165. package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
  166. package/src/miniflare-cli/types.ts +11 -0
  167. package/src/module-collection.ts +221 -212
  168. package/src/open-in-browser.ts +4 -4
  169. package/src/package-manager.ts +173 -128
  170. package/src/pages/build.tsx +270 -0
  171. package/src/pages/constants.ts +18 -0
  172. package/src/pages/deployment-tails.tsx +284 -0
  173. package/src/pages/deployments.tsx +84 -0
  174. package/src/pages/dev.tsx +710 -0
  175. package/src/pages/errors.ts +66 -0
  176. package/src/pages/functions/buildPlugin.ts +107 -0
  177. package/src/pages/functions/buildWorker.ts +166 -0
  178. package/{pages → src/pages}/functions/filepath-routing.test.ts +113 -113
  179. package/src/pages/functions/filepath-routing.ts +189 -0
  180. package/src/pages/functions/identifiers.ts +78 -0
  181. package/src/pages/functions/routes-consolidation.test.ts +250 -0
  182. package/src/pages/functions/routes-consolidation.ts +73 -0
  183. package/src/pages/functions/routes-transformation.test.ts +282 -0
  184. package/src/pages/functions/routes-transformation.ts +115 -0
  185. package/src/pages/functions/routes-validation.test.ts +403 -0
  186. package/src/pages/functions/routes-validation.ts +202 -0
  187. package/src/pages/functions/routes.ts +151 -0
  188. package/src/pages/functions/tsconfig.json +8 -0
  189. package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
  190. package/src/pages/functions.tsx +82 -0
  191. package/src/pages/hash.tsx +13 -0
  192. package/src/pages/index.tsx +102 -0
  193. package/src/pages/projects.tsx +169 -0
  194. package/src/pages/prompt-select-project.tsx +31 -0
  195. package/src/pages/publish.tsx +461 -0
  196. package/src/pages/types.ts +41 -0
  197. package/src/pages/upload.tsx +447 -0
  198. package/src/pages/utils.ts +23 -0
  199. package/src/parse.ts +202 -138
  200. package/src/paths.ts +53 -8
  201. package/src/proxy.ts +623 -405
  202. package/src/publish/index.ts +270 -0
  203. package/src/publish/publish.ts +1036 -0
  204. package/src/pubsub/index.ts +286 -0
  205. package/src/pubsub/pubsub-commands.tsx +624 -0
  206. package/src/queues/cli/commands/consumer/add.ts +71 -0
  207. package/src/queues/cli/commands/consumer/index.ts +22 -0
  208. package/src/queues/cli/commands/consumer/remove.ts +38 -0
  209. package/src/queues/cli/commands/create.ts +25 -0
  210. package/src/queues/cli/commands/delete.ts +26 -0
  211. package/src/queues/cli/commands/index.ts +36 -0
  212. package/src/queues/cli/commands/list.ts +25 -0
  213. package/src/queues/client.ts +135 -0
  214. package/src/queues/utils.ts +18 -0
  215. package/src/r2/constants.ts +4 -0
  216. package/src/r2/helpers.ts +131 -0
  217. package/src/r2/index.ts +289 -0
  218. package/src/routes.ts +140 -0
  219. package/src/secret/index.ts +379 -0
  220. package/src/selfsigned.d.ts +23 -23
  221. package/src/sites.tsx +258 -254
  222. package/src/tail/createTail.ts +379 -0
  223. package/src/tail/filters.ts +108 -110
  224. package/src/tail/index.ts +211 -296
  225. package/src/tail/printing.ts +86 -46
  226. package/src/tsconfig-sanity.ts +16 -0
  227. package/src/type-generation.ts +181 -0
  228. package/src/update-check.ts +11 -11
  229. package/src/user/access.ts +68 -0
  230. package/src/user/auth-variables.ts +113 -0
  231. package/src/user/choose-account.tsx +69 -0
  232. package/src/user/generate-auth-url.ts +33 -0
  233. package/src/user/generate-random-state.ts +16 -0
  234. package/src/user/index.ts +2 -0
  235. package/src/user/user.tsx +1238 -0
  236. package/src/utils/collectKeyValues.ts +14 -0
  237. package/src/whoami.tsx +141 -43
  238. package/src/worker.ts +177 -107
  239. package/src/yargs-types.ts +24 -0
  240. package/src/zones.ts +158 -40
  241. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  242. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  243. package/templates/__tests__/tsconfig.json +8 -0
  244. package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
  245. package/templates/checked-fetch.js +17 -0
  246. package/templates/d1-beta-facade.js +205 -0
  247. package/templates/facade.d.ts +14 -0
  248. package/templates/first-party-worker-module-facade.ts +19 -0
  249. package/templates/format-dev-errors.ts +33 -0
  250. package/templates/init-tests/test-jest-new-worker.js +23 -0
  251. package/templates/init-tests/test-vitest-new-worker.js +24 -0
  252. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  253. package/templates/middleware/common.ts +62 -0
  254. package/templates/middleware/loader-modules.ts +82 -0
  255. package/templates/middleware/loader-sw.ts +233 -0
  256. package/templates/middleware/middleware-miniflare3-json-error.ts +20 -0
  257. package/templates/middleware/middleware-pretty-error.ts +40 -0
  258. package/templates/middleware/middleware-scheduled.ts +15 -0
  259. package/templates/new-worker-scheduled.js +3 -3
  260. package/templates/new-worker-scheduled.ts +15 -15
  261. package/templates/new-worker.js +3 -3
  262. package/templates/new-worker.ts +15 -15
  263. package/templates/no-op-worker.js +10 -0
  264. package/templates/pages-dev-pipeline.ts +31 -0
  265. package/templates/pages-dev-util.ts +52 -0
  266. package/templates/pages-shim.ts +12 -0
  267. package/templates/pages-template-plugin.ts +171 -0
  268. package/templates/pages-template-worker.ts +189 -0
  269. package/templates/serve-static-assets.ts +65 -0
  270. package/templates/service-bindings-module-facade.js +54 -0
  271. package/templates/service-bindings-sw-facade.js +42 -0
  272. package/templates/tsconfig-sanity.ts +11 -0
  273. package/templates/tsconfig.init.json +106 -0
  274. package/templates/tsconfig.json +6 -103
  275. package/templates/tsconfig.tsbuildinfo +1 -0
  276. package/wrangler-dist/cli.d.ts +906 -0
  277. package/wrangler-dist/cli.js +147920 -108883
  278. package/pages/functions/buildPlugin.ts +0 -105
  279. package/pages/functions/buildWorker.ts +0 -151
  280. package/pages/functions/filepath-routing.ts +0 -189
  281. package/pages/functions/identifiers.ts +0 -78
  282. package/pages/functions/routes.ts +0 -156
  283. package/pages/functions/template-plugin.ts +0 -147
  284. package/pages/functions/template-worker.ts +0 -143
  285. package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
  286. package/src/environment-variables.ts +0 -35
  287. package/src/generate-auth-url.ts +0 -33
  288. package/src/generate-random-state.ts +0 -16
  289. package/src/kv.ts +0 -408
  290. package/src/miniflare-cli/enum-keys.ts +0 -17
  291. package/src/pages.tsx +0 -2093
  292. package/src/publish.ts +0 -726
  293. package/src/r2.ts +0 -50
  294. package/src/user.tsx +0 -1202
  295. package/templates/static-asset-facade.js +0 -43
@@ -23,221 +23,253 @@ import type { Environment, RawEnvironment } from "./environment";
23
23
  export type Config = ConfigFields<DevConfig> & Environment;
24
24
 
25
25
  export type RawConfig = Partial<ConfigFields<RawDevConfig>> &
26
- RawEnvironment &
27
- DeprecatedConfigFields &
28
- EnvironmentMap;
26
+ RawEnvironment &
27
+ DeprecatedConfigFields &
28
+ EnvironmentMap;
29
29
 
30
30
  export interface ConfigFields<Dev extends RawDevConfig> {
31
- configPath: string | undefined;
32
-
33
- /**
34
- * A boolean to enable "legacy" style wrangler environments (from wrangler 1).
35
- * These have been superseded by Services, but there may be projects that won't
36
- * (or can't) use them. If you're using a legacy environment, you can set this
37
- * to `true` to enable it.
38
- */
39
- legacy_env: boolean;
40
-
41
- /**
42
- * Options to configure the development server that your worker will use.
43
- */
44
- dev: Dev;
45
-
46
- /**
47
- * A list of migrations that should be uploaded with your Worker.
48
- *
49
- * These define changes in your Durable Object declarations.
50
- *
51
- * More details at https://developers.cloudflare.com/workers/learning/using-durable-objects#configuring-durable-object-classes-with-migrations
52
- *
53
- * @default `[]`
54
- */
55
- migrations: {
56
- /** A unique identifier for this migration. */
57
- tag: string;
58
- /** The new Durable Objects being defined. */
59
- new_classes?: string[];
60
- /** The Durable Objects being renamed. */
61
- renamed_classes?: {
62
- from: string;
63
- to: string;
64
- }[];
65
- /** The Durable Objects being removed. */
66
- deleted_classes?: string[];
67
- }[];
68
-
69
- /**
70
- * The definition of a Worker Site, a feature that lets you upload
71
- * static assets with your Worker.
72
- *
73
- * More details at https://developers.cloudflare.com/workers/platform/sites
74
- */
75
- site:
76
- | {
77
- /**
78
- * The directory containing your static assets.
79
- *
80
- * It must be a path relative to your wrangler.toml file.
81
- * Example: bucket = "./public"
82
- *
83
- * If there is a `site` field then it must contain this `bucket` field.
84
- */
85
- bucket: string;
86
-
87
- /**
88
- * The location of your Worker script.
89
- *
90
- * @deprecated DO NOT use this (it's a holdover from wrangler 1.x). Either use the top level `main` field, or pass the path to your entry file as a command line argument.
91
- * @breaking
92
- */
93
- "entry-point"?: string;
94
-
95
- /**
96
- * An exclusive list of .gitignore-style patterns that match file
97
- * or directory names from your bucket location. Only matched
98
- * items will be uploaded. Example: include = ["upload_dir"]
99
- *
100
- * @optional
101
- * @default `[]`
102
- */
103
- include?: string[];
104
-
105
- /**
106
- * A list of .gitignore-style patterns that match files or
107
- * directories in your bucket that should be excluded from
108
- * uploads. Example: exclude = ["ignore_dir"]
109
- *
110
- * @optional
111
- * @default `[]`
112
- */
113
- exclude?: string[];
114
- }
115
- | undefined;
116
-
117
- /**
118
- * Serve a folder of static assets with your Worker, without any additional code.
119
- * This can either be a string, or an object with additional config fields.
120
- */
121
- assets:
122
- | string
123
- | { bucket: string; include: string[]; exclude: string[] }
124
- | undefined;
125
-
126
- /**
127
- * A list of wasm modules that your worker should be bound to. This is
128
- * the "legacy" way of binding to a wasm module. ES module workers should
129
- * do proper module imports.
130
- */
131
- wasm_modules:
132
- | {
133
- [key: string]: string;
134
- }
135
- | undefined;
136
-
137
- /**
138
- * A list of text files that your worker should be bound to. This is
139
- * the "legacy" way of binding to a text file. ES module workers should
140
- * do proper module imports.
141
- */
142
- text_blobs:
143
- | {
144
- [key: string]: string;
145
- }
146
- | undefined;
147
-
148
- /**
149
- * A list of data files that your worker should be bound to. This is
150
- * the "legacy" way of binding to a data file. ES module workers should
151
- * do proper module imports.
152
- */
153
- data_blobs:
154
- | {
155
- [key: string]: string;
156
- }
157
- | undefined;
31
+ configPath: string | undefined;
32
+
33
+ /**
34
+ * A boolean to enable "legacy" style wrangler environments (from wrangler 1).
35
+ * These have been superseded by Services, but there may be projects that won't
36
+ * (or can't) use them. If you're using a legacy environment, you can set this
37
+ * to `true` to enable it.
38
+ */
39
+ legacy_env: boolean;
40
+
41
+ /**
42
+ * Whether Wrangler should send usage metrics to Cloudflare for this project.
43
+ *
44
+ * When defined this will override any user settings.
45
+ * Otherwise, Wrangler will use the user's preference.
46
+ */
47
+ send_metrics: boolean | undefined;
48
+
49
+ /**
50
+ * Options to configure the development server that your worker will use.
51
+ */
52
+ dev: Dev;
53
+
54
+ /**
55
+ * A list of migrations that should be uploaded with your Worker.
56
+ *
57
+ * These define changes in your Durable Object declarations.
58
+ *
59
+ * More details at https://developers.cloudflare.com/workers/learning/using-durable-objects#configuring-durable-object-classes-with-migrations
60
+ *
61
+ * @default `[]`
62
+ */
63
+ migrations: {
64
+ /** A unique identifier for this migration. */
65
+ tag: string;
66
+ /** The new Durable Objects being defined. */
67
+ new_classes?: string[];
68
+ /** The Durable Objects being renamed. */
69
+ renamed_classes?: {
70
+ from: string;
71
+ to: string;
72
+ }[];
73
+ /** The Durable Objects being removed. */
74
+ deleted_classes?: string[];
75
+ }[];
76
+
77
+ /**
78
+ * The definition of a Worker Site, a feature that lets you upload
79
+ * static assets with your Worker.
80
+ *
81
+ * More details at https://developers.cloudflare.com/workers/platform/sites
82
+ */
83
+ site:
84
+ | {
85
+ /**
86
+ * The directory containing your static assets.
87
+ *
88
+ * It must be a path relative to your wrangler.toml file.
89
+ * Example: bucket = "./public"
90
+ *
91
+ * If there is a `site` field then it must contain this `bucket` field.
92
+ */
93
+ bucket: string;
94
+
95
+ /**
96
+ * The location of your Worker script.
97
+ *
98
+ * @deprecated DO NOT use this (it's a holdover from wrangler 1.x). Either use the top level `main` field, or pass the path to your entry file as a command line argument.
99
+ * @breaking
100
+ */
101
+ "entry-point"?: string;
102
+
103
+ /**
104
+ * An exclusive list of .gitignore-style patterns that match file
105
+ * or directory names from your bucket location. Only matched
106
+ * items will be uploaded. Example: include = ["upload_dir"]
107
+ *
108
+ * @optional
109
+ * @default `[]`
110
+ */
111
+ include?: string[];
112
+
113
+ /**
114
+ * A list of .gitignore-style patterns that match files or
115
+ * directories in your bucket that should be excluded from
116
+ * uploads. Example: exclude = ["ignore_dir"]
117
+ *
118
+ * @optional
119
+ * @default `[]`
120
+ */
121
+ exclude?: string[];
122
+ }
123
+ | undefined;
124
+
125
+ /**
126
+ * Serve a folder of static assets with your Worker, without any additional code.
127
+ * This can either be a string, or an object with additional config fields.
128
+ */
129
+ assets:
130
+ | {
131
+ bucket: string;
132
+ include: string[];
133
+ exclude: string[];
134
+ browser_TTL: number | undefined;
135
+ serve_single_page_app: boolean;
136
+ }
137
+ | undefined;
138
+
139
+ /**
140
+ * A list of wasm modules that your worker should be bound to. This is
141
+ * the "legacy" way of binding to a wasm module. ES module workers should
142
+ * do proper module imports.
143
+ */
144
+ wasm_modules:
145
+ | {
146
+ [key: string]: string;
147
+ }
148
+ | undefined;
149
+
150
+ /**
151
+ * A list of text files that your worker should be bound to. This is
152
+ * the "legacy" way of binding to a text file. ES module workers should
153
+ * do proper module imports.
154
+ */
155
+ text_blobs:
156
+ | {
157
+ [key: string]: string;
158
+ }
159
+ | undefined;
160
+
161
+ /**
162
+ * A list of data files that your worker should be bound to. This is
163
+ * the "legacy" way of binding to a data file. ES module workers should
164
+ * do proper module imports.
165
+ */
166
+ data_blobs:
167
+ | {
168
+ [key: string]: string;
169
+ }
170
+ | undefined;
171
+
172
+ /**
173
+ * By default, wrangler.toml is the source of truth for your environment configuration, like a terraform file.
174
+ *
175
+ * If you change your vars in the dashboard, wrangler *will* override/delete them on its next publish.
176
+ *
177
+ * If you want to keep your dashboard vars when wrangler deploys, set this field to true.
178
+ *
179
+ * @default false
180
+ * @nonInheritable
181
+ */
182
+ keep_vars?: boolean;
158
183
  }
159
184
 
160
185
  export interface DevConfig {
161
- /**
162
- * IP address for the local dev server to listen on,
163
- *
164
- * @default `localhost`
165
- */
166
- ip: string;
167
-
168
- /**
169
- * Port for the local dev server to listen on
170
- *
171
- * @default `8787`
172
- */
173
- port: number | undefined;
174
-
175
- /**
176
- * Protocol that local wrangler dev server listens to requests on.
177
- *
178
- * @default `http`
179
- */
180
- local_protocol: "http" | "https";
181
-
182
- /**
183
- * Protocol that wrangler dev forwards requests on
184
- *
185
- * Setting this to `http` is not currently implemented.
186
- * See https://github.com/cloudflare/wrangler2/issues/583
187
- *
188
- * @default `https`
189
- * @todo this needs to be implemented https://github.com/cloudflare/wrangler2/issues/583
190
- */
191
- upstream_protocol: "https" | "http";
192
-
193
- /**
194
- * Host to forward requests to, defaults to the host of the first route of project
195
- */
196
- host: string | undefined;
186
+ /**
187
+ * IP address for the local dev server to listen on,
188
+ *
189
+ * @default `0.0.0.0`
190
+ */
191
+ ip: string;
192
+
193
+ /**
194
+ * Port for the local dev server to listen on
195
+ *
196
+ * @default `8787`
197
+ */
198
+ port: number | undefined;
199
+
200
+ /**
201
+ * Port for the local dev server's inspector to listen on
202
+ *
203
+ * @default `9229`
204
+ */
205
+ inspector_port: number | undefined;
206
+
207
+ /**
208
+ * Protocol that local wrangler dev server listens to requests on.
209
+ *
210
+ * @default `http`
211
+ */
212
+ local_protocol: "http" | "https";
213
+
214
+ /**
215
+ * Protocol that wrangler dev forwards requests on
216
+ *
217
+ * Setting this to `http` is not currently implemented.
218
+ * See https://github.com/cloudflare/wrangler2/issues/583
219
+ *
220
+ * @default `https`
221
+ * @todo this needs to be implemented https://github.com/cloudflare/wrangler2/issues/583
222
+ */
223
+ upstream_protocol: "https" | "http";
224
+
225
+ /**
226
+ * Host to forward requests to, defaults to the host of the first route of project
227
+ */
228
+ host: string | undefined;
197
229
  }
198
230
 
199
231
  export type RawDevConfig = Partial<DevConfig>;
200
232
 
201
233
  export interface DeprecatedConfigFields {
202
- /**
203
- * The project "type". A holdover from wrangler 1.x.
204
- * Valid values were "webpack", "javascript", and "rust".
205
- *
206
- * @deprecated DO NOT USE THIS. Most common features now work out of the box with wrangler, including modules, jsx, typescript, etc. If you need anything more, use a custom build.
207
- * @breaking
208
- */
209
- type?: "webpack" | "javascript" | "rust";
210
-
211
- /**
212
- * Path to the webpack config to use when building your worker.
213
- * A holdover from wrangler 1.x, used with `type: "webpack"`.
214
- *
215
- * @deprecated DO NOT USE THIS. Most common features now work out of the box with wrangler, including modules, jsx, typescript, etc. If you need anything more, use a custom build.
216
- * @breaking
217
- */
218
- webpack_config?: string;
219
-
220
- /**
221
- * Configuration only used by a standalone use of the miniflare binary.
222
- * @deprecated
223
- */
224
- miniflare?: unknown;
234
+ /**
235
+ * The project "type". A holdover from wrangler 1.x.
236
+ * Valid values were "webpack", "javascript", and "rust".
237
+ *
238
+ * @deprecated DO NOT USE THIS. Most common features now work out of the box with wrangler, including modules, jsx, typescript, etc. If you need anything more, use a custom build.
239
+ * @breaking
240
+ */
241
+ type?: "webpack" | "javascript" | "rust";
242
+
243
+ /**
244
+ * Path to the webpack config to use when building your worker.
245
+ * A holdover from wrangler 1.x, used with `type: "webpack"`.
246
+ *
247
+ * @deprecated DO NOT USE THIS. Most common features now work out of the box with wrangler, including modules, jsx, typescript, etc. If you need anything more, use a custom build.
248
+ * @breaking
249
+ */
250
+ webpack_config?: string;
251
+
252
+ /**
253
+ * Configuration only used by a standalone use of the miniflare binary.
254
+ * @deprecated
255
+ */
256
+ miniflare?: unknown;
225
257
  }
226
258
 
227
259
  interface EnvironmentMap {
228
- /**
229
- * The `env` section defines overrides for the configuration for different environments.
230
- *
231
- * All environment fields can be specified at the top level of the config indicating the default environment settings.
232
- *
233
- * - Some fields are inherited and overridable in each environment.
234
- * - But some are not inherited and must be explicitly specified in every environment, if they are specified at the top level.
235
- *
236
- * For more information, see the documentation at https://developers.cloudflare.com/workers/cli-wrangler/configuration#environments
237
- *
238
- * @default `{}`
239
- */
240
- env?: {
241
- [envName: string]: RawEnvironment;
242
- };
260
+ /**
261
+ * The `env` section defines overrides for the configuration for different environments.
262
+ *
263
+ * All environment fields can be specified at the top level of the config indicating the default environment settings.
264
+ *
265
+ * - Some fields are inherited and overridable in each environment.
266
+ * - But some are not inherited and must be explicitly specified in every environment, if they are specified at the top level.
267
+ *
268
+ * For more information, see the documentation at https://developers.cloudflare.com/workers/cli-wrangler/configuration#environments
269
+ *
270
+ * @default `{}`
271
+ */
272
+ env?: {
273
+ [envName: string]: RawEnvironment;
274
+ };
243
275
  }
@@ -5,76 +5,76 @@
5
5
  * You can check whether the overall tree has errors or warnings, and you can render a string representation of the errors or warnings.
6
6
  */
7
7
  export class Diagnostics {
8
- errors: string[] = [];
9
- warnings: string[] = [];
10
- children: Diagnostics[] = [];
8
+ errors: string[] = [];
9
+ warnings: string[] = [];
10
+ children: Diagnostics[] = [];
11
11
 
12
- /**
13
- * Create a new Diagnostics object.
14
- * @param description A general description of this collection of messages.
15
- */
16
- constructor(public description: string) {}
12
+ /**
13
+ * Create a new Diagnostics object.
14
+ * @param description A general description of this collection of messages.
15
+ */
16
+ constructor(public description: string) {}
17
17
 
18
- /**
19
- * Merge the given `diagnostics` into this as a child.
20
- */
21
- addChild(diagnostics: Diagnostics): void {
22
- if (diagnostics.hasErrors() || diagnostics.hasWarnings()) {
23
- this.children.push(diagnostics);
24
- }
25
- }
18
+ /**
19
+ * Merge the given `diagnostics` into this as a child.
20
+ */
21
+ addChild(diagnostics: Diagnostics): void {
22
+ if (diagnostics.hasErrors() || diagnostics.hasWarnings()) {
23
+ this.children.push(diagnostics);
24
+ }
25
+ }
26
26
 
27
- /** Does this or any of its children have errors. */
28
- hasErrors(): boolean {
29
- if (this.errors.length > 0) {
30
- return true;
31
- } else {
32
- return this.children.some((child) => child.hasErrors());
33
- }
34
- }
27
+ /** Does this or any of its children have errors. */
28
+ hasErrors(): boolean {
29
+ if (this.errors.length > 0) {
30
+ return true;
31
+ } else {
32
+ return this.children.some((child) => child.hasErrors());
33
+ }
34
+ }
35
35
 
36
- /** Render the errors of this and all its children. */
37
- renderErrors(): string {
38
- return this.render("errors");
39
- }
36
+ /** Render the errors of this and all its children. */
37
+ renderErrors(): string {
38
+ return this.render("errors");
39
+ }
40
40
 
41
- /** Does this or any of its children have warnings. */
42
- hasWarnings(): boolean {
43
- if (this.warnings.length > 0) {
44
- return true;
45
- } else {
46
- return this.children.some((child) => child.hasWarnings());
47
- }
48
- }
41
+ /** Does this or any of its children have warnings. */
42
+ hasWarnings(): boolean {
43
+ if (this.warnings.length > 0) {
44
+ return true;
45
+ } else {
46
+ return this.children.some((child) => child.hasWarnings());
47
+ }
48
+ }
49
49
 
50
- /** Render the warnings of this and all its children. */
51
- renderWarnings(): string {
52
- return this.render("warnings");
53
- }
50
+ /** Render the warnings of this and all its children. */
51
+ renderWarnings(): string {
52
+ return this.render("warnings");
53
+ }
54
54
 
55
- private render(field: "errors" | "warnings"): string {
56
- const hasMethod = field === "errors" ? "hasErrors" : "hasWarnings";
57
- return indentText(
58
- `${this.description}\n` +
59
- // Output all the fields (errors or warnings) at this level
60
- this[field].map((message) => `- ${indentText(message)}`).join("\n") +
61
- // Output all the child diagnostics at the next level
62
- this.children
63
- .map((child) =>
64
- child[hasMethod]() ? "\n- " + child.render(field) : ""
65
- )
66
- .filter((output) => output !== "")
67
- .join("\n")
68
- );
69
- }
55
+ private render(field: "errors" | "warnings"): string {
56
+ const hasMethod = field === "errors" ? "hasErrors" : "hasWarnings";
57
+ return indentText(
58
+ `${this.description}\n` +
59
+ // Output all the fields (errors or warnings) at this level
60
+ this[field].map((message) => `- ${indentText(message)}`).join("\n") +
61
+ // Output all the child diagnostics at the next level
62
+ this.children
63
+ .map((child) =>
64
+ child[hasMethod]() ? "\n- " + child.render(field) : ""
65
+ )
66
+ .filter((output) => output !== "")
67
+ .join("\n")
68
+ );
69
+ }
70
70
  }
71
71
 
72
72
  /** Indent all the but the first line by two spaces. */
73
73
  function indentText(str: string): string {
74
- return str
75
- .split("\n")
76
- .map((line, index) =>
77
- (index === 0 ? line : ` ${line}`).replace(/^\s*$/, "")
78
- )
79
- .join("\n");
74
+ return str
75
+ .split("\n")
76
+ .map((line, index) =>
77
+ (index === 0 ? line : ` ${line}`).replace(/^\s*$/, "")
78
+ )
79
+ .join("\n");
80
80
  }