wrangler 0.0.0-e043479 → 0.0.0-e09abbc

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 (208) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +33 -14
  3. package/bin/wrangler.js +160 -28
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +5354 -0
  6. package/package.json +166 -136
  7. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  8. package/src/__tests__/config-cache.test.ts +42 -0
  9. package/src/__tests__/configuration.test.ts +3942 -2178
  10. package/src/__tests__/dev.test.tsx +1191 -235
  11. package/src/__tests__/guess-worker-format.test.ts +76 -57
  12. package/src/__tests__/helpers/cmd-shim.d.ts +6 -6
  13. package/src/__tests__/helpers/mock-account-id.ts +26 -22
  14. package/src/__tests__/helpers/mock-bin.ts +20 -20
  15. package/src/__tests__/helpers/mock-cfetch.ts +96 -92
  16. package/src/__tests__/helpers/mock-console.ts +59 -32
  17. package/src/__tests__/helpers/mock-dialogs.ts +121 -33
  18. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  19. package/src/__tests__/helpers/mock-istty.ts +74 -0
  20. package/src/__tests__/helpers/mock-kv.ts +28 -35
  21. package/src/__tests__/helpers/mock-oauth-flow.ts +250 -0
  22. package/src/__tests__/helpers/mock-process.ts +39 -0
  23. package/src/__tests__/helpers/mock-stdin.ts +82 -77
  24. package/src/__tests__/helpers/mock-web-socket.ts +21 -21
  25. package/src/__tests__/helpers/run-in-tmp.ts +29 -20
  26. package/src/__tests__/helpers/run-wrangler.ts +8 -8
  27. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  28. package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
  29. package/src/__tests__/https-options.test.ts +163 -0
  30. package/src/__tests__/index.test.ts +246 -850
  31. package/src/__tests__/init.test.ts +1992 -0
  32. package/src/__tests__/jest.setup.ts +85 -34
  33. package/src/__tests__/kv.test.ts +1402 -1139
  34. package/src/__tests__/logger.test.ts +141 -0
  35. package/src/__tests__/metrics.test.ts +445 -0
  36. package/src/__tests__/package-manager.test.ts +312 -165
  37. package/src/__tests__/pages.test.ts +1261 -0
  38. package/src/__tests__/parse.test.ts +253 -245
  39. package/src/__tests__/publish.test.ts +6611 -2079
  40. package/src/__tests__/pubsub.test.ts +367 -0
  41. package/src/__tests__/r2.test.ts +184 -149
  42. package/src/__tests__/route.test.ts +45 -0
  43. package/src/__tests__/secret.test.ts +474 -407
  44. package/src/__tests__/tail.test.ts +565 -431
  45. package/src/__tests__/test-old-node-version.js +31 -0
  46. package/src/__tests__/user.test.ts +143 -0
  47. package/src/__tests__/whoami.test.tsx +219 -75
  48. package/src/__tests__/worker-namespace.test.ts +327 -0
  49. package/src/abort.d.ts +3 -0
  50. package/src/api/dev.ts +86 -0
  51. package/src/api/index.ts +1 -0
  52. package/src/bundle-reporter.tsx +29 -0
  53. package/src/bundle.ts +196 -93
  54. package/src/cfetch/index.ts +83 -66
  55. package/src/cfetch/internal.ts +100 -84
  56. package/src/cli.ts +22 -14
  57. package/src/config/README.md +7 -7
  58. package/src/config/config.ts +223 -242
  59. package/src/config/diagnostics.ts +61 -61
  60. package/src/config/environment.ts +404 -256
  61. package/src/config/index.ts +218 -32
  62. package/src/config/validation-helpers.ts +436 -222
  63. package/src/config/validation.ts +1642 -907
  64. package/src/config-cache.ts +84 -0
  65. package/src/create-worker-preview.ts +255 -0
  66. package/src/create-worker-upload-form.ts +263 -0
  67. package/src/dev/dev-vars.ts +36 -0
  68. package/src/dev/dev.tsx +452 -0
  69. package/src/dev/local.tsx +373 -0
  70. package/src/dev/remote.tsx +386 -0
  71. package/src/dev/use-esbuild.ts +150 -0
  72. package/src/dev.tsx +576 -943
  73. package/src/dialogs.tsx +115 -57
  74. package/src/durable.ts +102 -0
  75. package/src/entry.ts +308 -37
  76. package/src/environment-variables.ts +25 -23
  77. package/src/errors.ts +11 -0
  78. package/src/faye-websocket.d.ts +6 -0
  79. package/src/generate.ts +33 -0
  80. package/src/git-client.ts +42 -0
  81. package/src/global-wrangler-config-path.ts +26 -0
  82. package/src/https-options.ts +127 -0
  83. package/src/index.tsx +1910 -2241
  84. package/src/init.ts +549 -0
  85. package/src/inspect.ts +603 -550
  86. package/src/intl-polyfill.d.ts +139 -0
  87. package/src/is-interactive.ts +12 -0
  88. package/src/kv.ts +430 -0
  89. package/src/logger.ts +73 -0
  90. package/src/metrics/index.ts +4 -0
  91. package/src/metrics/is-ci.ts +14 -0
  92. package/src/metrics/metrics-config.ts +239 -0
  93. package/src/metrics/metrics-dispatcher.ts +95 -0
  94. package/src/metrics/send-event.ts +92 -0
  95. package/src/miniflare-cli/README.md +30 -0
  96. package/src/miniflare-cli/assets.ts +543 -0
  97. package/src/miniflare-cli/enum-keys.ts +17 -0
  98. package/src/miniflare-cli/index.ts +85 -0
  99. package/src/miniflare-cli/request-context.ts +40 -0
  100. package/src/module-collection.ts +234 -146
  101. package/src/open-in-browser.ts +10 -6
  102. package/src/package-manager.ts +183 -90
  103. package/src/pages/build.tsx +204 -0
  104. package/src/pages/constants.ts +7 -0
  105. package/src/pages/deployments.tsx +106 -0
  106. package/src/pages/dev.tsx +401 -0
  107. package/src/pages/functions/buildPlugin.ts +105 -0
  108. package/src/pages/functions/buildWorker.ts +151 -0
  109. package/src/pages/functions/filepath-routing.test.ts +234 -0
  110. package/src/pages/functions/filepath-routing.ts +189 -0
  111. package/src/pages/functions/identifiers.ts +78 -0
  112. package/src/pages/functions/routes.ts +151 -0
  113. package/src/pages/index.tsx +84 -0
  114. package/src/pages/projects.tsx +163 -0
  115. package/src/pages/publish.tsx +338 -0
  116. package/src/pages/types.ts +40 -0
  117. package/src/pages/upload.tsx +396 -0
  118. package/src/pages/utils.ts +12 -0
  119. package/src/parse.ts +224 -121
  120. package/src/paths.ts +6 -6
  121. package/src/preview.ts +31 -0
  122. package/src/proxy.ts +413 -313
  123. package/src/publish.ts +773 -343
  124. package/src/pubsub/index.ts +286 -0
  125. package/src/pubsub/pubsub-commands.tsx +623 -0
  126. package/src/r2.ts +19 -19
  127. package/src/selfsigned.d.ts +29 -0
  128. package/src/sites.tsx +285 -151
  129. package/src/tail/filters.ts +108 -108
  130. package/src/tail/index.ts +217 -217
  131. package/src/tail/printing.ts +51 -46
  132. package/src/update-check.ts +19 -0
  133. package/src/user/choose-account.tsx +69 -0
  134. package/src/user/env-vars.ts +46 -0
  135. package/src/user/generate-auth-url.ts +33 -0
  136. package/src/user/generate-random-state.ts +16 -0
  137. package/src/user/index.ts +3 -0
  138. package/src/user/user.tsx +1171 -0
  139. package/src/whoami.tsx +63 -41
  140. package/src/worker-namespace.ts +206 -0
  141. package/src/worker.ts +191 -0
  142. package/src/zones.ts +76 -0
  143. package/templates/checked-fetch.js +17 -0
  144. package/templates/gitignore +171 -0
  145. package/templates/new-worker-scheduled.js +17 -0
  146. package/templates/new-worker-scheduled.ts +32 -0
  147. package/templates/new-worker.js +3 -3
  148. package/templates/new-worker.ts +18 -3
  149. package/templates/no-op-worker.js +10 -0
  150. package/templates/pages-shim.ts +9 -0
  151. package/templates/pages-template-plugin.ts +155 -0
  152. package/templates/pages-template-worker.ts +161 -0
  153. package/templates/static-asset-facade.js +38 -36
  154. package/templates/tsconfig.json +95 -95
  155. package/wrangler-dist/cli.d.ts +327 -0
  156. package/wrangler-dist/cli.js +94947 -111199
  157. package/pages/functions/buildWorker.ts +0 -62
  158. package/pages/functions/filepath-routing.test.ts +0 -123
  159. package/pages/functions/filepath-routing.ts +0 -178
  160. package/pages/functions/identifiers.ts +0 -78
  161. package/pages/functions/routes.ts +0 -151
  162. package/pages/functions/template-worker.ts +0 -130
  163. package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
  164. package/src/__tests__/helpers/mock-user.ts +0 -27
  165. package/src/__tests__/logout.test.ts +0 -50
  166. package/src/__tests__/sentry.test.ts +0 -146
  167. package/src/api/form_data.ts +0 -217
  168. package/src/api/preview.ts +0 -147
  169. package/src/api/worker.ts +0 -186
  170. package/src/guess-worker-format.ts +0 -68
  171. package/src/kv.tsx +0 -339
  172. package/src/pages.tsx +0 -1045
  173. package/src/reporting.ts +0 -115
  174. package/src/user.tsx +0 -1063
  175. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  176. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  177. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  178. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  179. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  180. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  181. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  182. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  183. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  184. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  185. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  186. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  187. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  188. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  189. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  190. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  191. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  192. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  193. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  194. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  195. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  196. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  197. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  198. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  199. package/vendor/wrangler-mime/LICENSE +0 -21
  200. package/vendor/wrangler-mime/Mime.js +0 -97
  201. package/vendor/wrangler-mime/README.md +0 -187
  202. package/vendor/wrangler-mime/cli.js +0 -46
  203. package/vendor/wrangler-mime/index.js +0 -4
  204. package/vendor/wrangler-mime/lite.js +0 -4
  205. package/vendor/wrangler-mime/package.json +0 -52
  206. package/vendor/wrangler-mime/types/other.js +0 -1
  207. package/vendor/wrangler-mime/types/standard.js +0 -1
  208. package/wrangler-dist/cli.js.map +0 -7
@@ -1,43 +1,55 @@
1
1
  import { findUpSync } from "find-up";
2
+ import { logger } from "../logger";
2
3
  import { parseTOML, readFileSync } from "../parse";
3
4
  import { normalizeAndValidateConfig } from "./validation";
5
+ import type { CfWorkerInit } from "../worker";
4
6
  import type { Config, RawConfig } from "./config";
5
7
 
6
- export type { Config, RawConfig } from "./config";
7
8
  export type {
8
- Environment,
9
- RawEnvironment,
10
- ConfigModuleRuleType,
9
+ Config,
10
+ RawConfig,
11
+ ConfigFields,
12
+ DevConfig,
13
+ RawDevConfig,
14
+ } from "./config";
15
+ export type {
16
+ Environment,
17
+ RawEnvironment,
18
+ ConfigModuleRuleType,
11
19
  } from "./environment";
12
20
 
13
21
  /**
14
22
  * Get the Wrangler configuration; read it from the give `configPath` if available.
15
23
  */
16
- export function readConfig(configPath?: string): Config {
17
- let rawConfig: RawConfig = {};
18
- if (!configPath) {
19
- configPath = findWranglerToml();
20
- }
21
-
22
- // Load the configuration from disk if available
23
- if (configPath) {
24
- rawConfig = parseTOML(readFileSync(configPath), configPath);
25
- }
26
-
27
- // Process the top-level configuration.
28
- const { config, diagnostics } = normalizeAndValidateConfig(
29
- rawConfig,
30
- configPath
31
- );
32
-
33
- if (diagnostics.hasWarnings()) {
34
- console.warn(diagnostics.renderWarnings());
35
- }
36
- if (diagnostics.hasErrors()) {
37
- throw new Error(diagnostics.renderErrors());
38
- }
39
-
40
- return config;
24
+ export function readConfig(
25
+ configPath: string | undefined,
26
+ args: unknown
27
+ ): Config {
28
+ let rawConfig: RawConfig = {};
29
+ if (!configPath) {
30
+ configPath = findWranglerToml();
31
+ }
32
+
33
+ // Load the configuration from disk if available
34
+ if (configPath) {
35
+ rawConfig = parseTOML(readFileSync(configPath), configPath);
36
+ }
37
+
38
+ // Process the top-level configuration.
39
+ const { config, diagnostics } = normalizeAndValidateConfig(
40
+ rawConfig,
41
+ configPath,
42
+ args
43
+ );
44
+
45
+ if (diagnostics.hasWarnings()) {
46
+ logger.warn(diagnostics.renderWarnings());
47
+ }
48
+ if (diagnostics.hasErrors()) {
49
+ throw new Error(diagnostics.renderErrors());
50
+ }
51
+
52
+ return config;
41
53
  }
42
54
 
43
55
  /**
@@ -45,8 +57,182 @@ export function readConfig(configPath?: string): Config {
45
57
  * from the current working directory.
46
58
  */
47
59
  export function findWranglerToml(
48
- referencePath: string = process.cwd()
60
+ referencePath: string = process.cwd()
49
61
  ): string | undefined {
50
- const configPath = findUpSync("wrangler.toml", { cwd: referencePath });
51
- return configPath;
62
+ const configPath = findUpSync("wrangler.toml", { cwd: referencePath });
63
+ return configPath;
64
+ }
65
+
66
+ /**
67
+ * Print all the bindings a worker using a given config would have access to
68
+ */
69
+ export function printBindings(bindings: CfWorkerInit["bindings"]) {
70
+ const truncate = (item: string | Record<string, unknown>) => {
71
+ const s = typeof item === "string" ? item : JSON.stringify(item);
72
+ const maxLength = 40;
73
+ if (s.length < maxLength) {
74
+ return s;
75
+ }
76
+
77
+ return `${s.substring(0, maxLength - 3)}...`;
78
+ };
79
+
80
+ const output: { type: string; entries: { key: string; value: string }[] }[] =
81
+ [];
82
+
83
+ const {
84
+ data_blobs,
85
+ durable_objects,
86
+ kv_namespaces,
87
+ r2_buckets,
88
+ services,
89
+ text_blobs,
90
+ unsafe,
91
+ vars,
92
+ wasm_modules,
93
+ worker_namespaces,
94
+ } = bindings;
95
+
96
+ if (data_blobs !== undefined && Object.keys(data_blobs).length > 0) {
97
+ output.push({
98
+ type: "Data Blobs",
99
+ entries: Object.entries(data_blobs).map(([key, value]) => ({
100
+ key,
101
+ value: truncate(value),
102
+ })),
103
+ });
104
+ }
105
+
106
+ if (durable_objects !== undefined && durable_objects.bindings.length > 0) {
107
+ output.push({
108
+ type: "Durable Objects",
109
+ entries: durable_objects.bindings.map(
110
+ ({ name, class_name, script_name, environment }) => {
111
+ let value = class_name;
112
+ if (script_name) {
113
+ value += ` (defined in ${script_name})`;
114
+ }
115
+ if (environment) {
116
+ value += ` - ${environment}`;
117
+ }
118
+
119
+ return {
120
+ key: name,
121
+ value,
122
+ };
123
+ }
124
+ ),
125
+ });
126
+ }
127
+
128
+ if (kv_namespaces !== undefined && kv_namespaces.length > 0) {
129
+ output.push({
130
+ type: "KV Namespaces",
131
+ entries: kv_namespaces.map(({ binding, id }) => {
132
+ return {
133
+ key: binding,
134
+ value: id,
135
+ };
136
+ }),
137
+ });
138
+ }
139
+
140
+ if (r2_buckets !== undefined && r2_buckets.length > 0) {
141
+ output.push({
142
+ type: "R2 Buckets",
143
+ entries: r2_buckets.map(({ binding, bucket_name }) => {
144
+ return {
145
+ key: binding,
146
+ value: bucket_name,
147
+ };
148
+ }),
149
+ });
150
+ }
151
+
152
+ if (services !== undefined && services.length > 0) {
153
+ output.push({
154
+ type: "Services",
155
+ entries: services.map(({ binding, service, environment }) => {
156
+ let value = service;
157
+ if (environment) {
158
+ value += ` - ${environment}`;
159
+ }
160
+
161
+ return {
162
+ key: binding,
163
+ value,
164
+ };
165
+ }),
166
+ });
167
+ }
168
+
169
+ if (text_blobs !== undefined && Object.keys(text_blobs).length > 0) {
170
+ output.push({
171
+ type: "Text Blobs",
172
+ entries: Object.entries(text_blobs).map(([key, value]) => ({
173
+ key,
174
+ value: truncate(value),
175
+ })),
176
+ });
177
+ }
178
+
179
+ if (unsafe !== undefined && unsafe.length > 0) {
180
+ output.push({
181
+ type: "Unsafe",
182
+ entries: unsafe.map(({ name, type }) => ({
183
+ key: type,
184
+ value: name,
185
+ })),
186
+ });
187
+ }
188
+
189
+ if (vars !== undefined && Object.keys(vars).length > 0) {
190
+ output.push({
191
+ type: "Vars",
192
+ entries: Object.entries(vars).map(([key, value]) => ({
193
+ key,
194
+ value: `"${truncate(`${value}`)}"`,
195
+ })),
196
+ });
197
+ }
198
+
199
+ if (wasm_modules !== undefined && Object.keys(wasm_modules).length > 0) {
200
+ output.push({
201
+ type: "Wasm Modules",
202
+ entries: Object.entries(wasm_modules).map(([key, value]) => ({
203
+ key,
204
+ value: truncate(value),
205
+ })),
206
+ });
207
+ }
208
+
209
+ if (worker_namespaces !== undefined && worker_namespaces.length > 0) {
210
+ output.push({
211
+ type: "Worker Namespaces",
212
+ entries: worker_namespaces.map(({ binding, namespace }) => {
213
+ return {
214
+ key: binding,
215
+ value: namespace,
216
+ };
217
+ }),
218
+ });
219
+ }
220
+
221
+ if (output.length === 0) {
222
+ return;
223
+ }
224
+
225
+ const message = [
226
+ `Your worker has access to the following bindings:`,
227
+ ...output
228
+ .map((bindingGroup) => {
229
+ return [
230
+ `- ${bindingGroup.type}:`,
231
+ bindingGroup.entries.map(({ key, value }) => ` - ${key}: ${value}`),
232
+ ];
233
+ })
234
+ .flat(2),
235
+ ].join("\n");
236
+
237
+ logger.log(message);
52
238
  }