wrangler 0.0.0-e7a0cd5b → 0.0.0-e7cf0caa

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 (237) hide show
  1. package/README.md +3 -3
  2. package/bin/wrangler.js +30 -10
  3. package/miniflare-dist/index.mjs +126 -74
  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 +567 -86
  9. package/src/__tests__/d1/d1.test.ts +82 -0
  10. package/src/__tests__/d1/execute.test.ts +66 -0
  11. package/src/__tests__/d1/migrate.test.ts +157 -0
  12. package/src/__tests__/d1/splitter.test.ts +255 -0
  13. package/src/__tests__/delete.test.ts +91 -49
  14. package/src/__tests__/deployments.test.ts +330 -56
  15. package/src/__tests__/dev.test.tsx +198 -90
  16. package/src/__tests__/generate.test.ts +12 -10
  17. package/src/__tests__/guess-worker-format.test.ts +35 -0
  18. package/src/__tests__/helpers/end-event-loop.ts +6 -0
  19. package/src/__tests__/helpers/mock-auth-domain.ts +20 -0
  20. package/src/__tests__/helpers/mock-console.ts +6 -0
  21. package/src/__tests__/helpers/mock-dialogs.ts +71 -85
  22. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +25 -0
  23. package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -5
  24. package/src/__tests__/helpers/mock-known-routes.ts +7 -2
  25. package/src/__tests__/helpers/mock-kv.ts +29 -16
  26. package/src/__tests__/helpers/mock-oauth-flow.ts +103 -92
  27. package/src/__tests__/helpers/mock-process.ts +8 -13
  28. package/src/__tests__/helpers/mock-set-timeout.ts +16 -0
  29. package/src/__tests__/helpers/msw/blob-worker.cjs +19 -0
  30. package/src/__tests__/helpers/msw/handlers/deployments.ts +128 -27
  31. package/src/__tests__/helpers/msw/handlers/namespaces.ts +18 -41
  32. package/src/__tests__/helpers/msw/handlers/oauth.ts +13 -18
  33. package/src/__tests__/helpers/msw/handlers/r2.ts +14 -34
  34. package/src/__tests__/helpers/msw/handlers/script.ts +9 -28
  35. package/src/__tests__/helpers/msw/handlers/user.ts +13 -24
  36. package/src/__tests__/helpers/msw/handlers/zones.ts +6 -8
  37. package/src/__tests__/helpers/msw/index.ts +32 -1
  38. package/src/__tests__/helpers/msw/read-file-sync.js +61 -0
  39. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +28 -0
  40. package/src/__tests__/helpers/worker-scripts/parent-worker.js +4 -1
  41. package/src/__tests__/index.test.ts +90 -72
  42. package/src/__tests__/init.test.ts +927 -631
  43. package/src/__tests__/jest.setup.ts +19 -42
  44. package/src/__tests__/kv.test.ts +355 -231
  45. package/src/__tests__/logger.test.ts +68 -2
  46. package/src/__tests__/logout.test.ts +47 -0
  47. package/src/__tests__/metrics.test.ts +94 -51
  48. package/src/__tests__/middleware.scheduled.test.ts +42 -32
  49. package/src/__tests__/middleware.test.ts +212 -122
  50. package/src/__tests__/mtls-certificates.test.ts +588 -0
  51. package/src/__tests__/pages/deployment-list.test.ts +80 -0
  52. package/src/__tests__/pages/functions-build.test.ts +452 -0
  53. package/src/__tests__/pages/pages.test.ts +81 -0
  54. package/src/__tests__/pages/project-create.test.ts +63 -0
  55. package/src/__tests__/pages/project-list.test.ts +110 -0
  56. package/src/__tests__/pages/project-upload.test.ts +500 -0
  57. package/src/__tests__/pages/publish.test.ts +2864 -0
  58. package/src/__tests__/pages-deployment-tail.test.ts +955 -0
  59. package/src/__tests__/parse.test.ts +106 -0
  60. package/src/__tests__/publish.test.ts +1615 -852
  61. package/src/__tests__/pubsub.test.ts +226 -100
  62. package/src/__tests__/queues.test.ts +238 -77
  63. package/src/__tests__/r2.test.ts +55 -57
  64. package/src/__tests__/secret.test.ts +179 -130
  65. package/src/__tests__/tail.test.ts +267 -109
  66. package/src/__tests__/test-old-node-version.js +3 -3
  67. package/src/__tests__/traverse-module-graph.test.ts +220 -0
  68. package/src/__tests__/tsconfig-sanity.ts +12 -0
  69. package/src/__tests__/tsconfig.json +8 -0
  70. package/src/__tests__/tsconfig.tsbuildinfo +1 -0
  71. package/src/__tests__/type-generation.test.ts +43 -26
  72. package/src/__tests__/user.test.ts +35 -72
  73. package/src/__tests__/whoami.test.tsx +8 -114
  74. package/src/__tests__/worker-namespace.test.ts +83 -69
  75. package/src/api/dev.ts +168 -60
  76. package/src/api/index.ts +10 -1
  77. package/src/api/mtls-certificate.ts +148 -0
  78. package/src/api/pages/create-worker-bundle-contents.ts +76 -0
  79. package/src/api/pages/index.ts +5 -0
  80. package/src/api/pages/publish.tsx +355 -0
  81. package/src/bundle.ts +263 -140
  82. package/src/cfetch/index.ts +0 -2
  83. package/src/cfetch/internal.ts +16 -21
  84. package/src/cli.ts +4 -4
  85. package/src/config/config.ts +14 -7
  86. package/src/config/environment.ts +79 -24
  87. package/src/config/index.ts +99 -38
  88. package/src/config/validation-helpers.ts +1 -1
  89. package/src/config/validation.ts +248 -19
  90. package/src/create-worker-preview.ts +19 -8
  91. package/src/create-worker-upload-form.ts +60 -22
  92. package/src/d1/backups.tsx +43 -42
  93. package/src/d1/constants.ts +2 -0
  94. package/src/d1/create.tsx +44 -30
  95. package/src/d1/{delete.tsx → delete.ts} +11 -14
  96. package/src/d1/execute.tsx +209 -151
  97. package/src/d1/index.ts +31 -7
  98. package/src/d1/list.tsx +22 -10
  99. package/src/d1/migrations/apply.tsx +212 -0
  100. package/src/d1/migrations/create.tsx +79 -0
  101. package/src/d1/migrations/helpers.ts +172 -0
  102. package/src/d1/migrations/index.ts +3 -0
  103. package/src/d1/migrations/list.tsx +95 -0
  104. package/src/d1/migrations/options.ts +23 -0
  105. package/src/d1/options.ts +12 -2
  106. package/src/d1/splitter.ts +161 -0
  107. package/src/d1/{types.tsx → types.ts} +11 -0
  108. package/src/d1/utils.ts +12 -2
  109. package/src/delete.ts +8 -16
  110. package/src/deployments.ts +340 -46
  111. package/src/deprecated/index.ts +8 -302
  112. package/src/dev/dev.tsx +57 -44
  113. package/src/dev/local.tsx +294 -91
  114. package/src/dev/remote.tsx +32 -3
  115. package/src/dev/start-server.ts +89 -68
  116. package/src/dev/use-esbuild.ts +17 -18
  117. package/src/dev/validate-dev-props.ts +9 -0
  118. package/src/{dev-registry.tsx → dev-registry.ts} +2 -1
  119. package/src/dev.tsx +178 -118
  120. package/src/dialogs.ts +136 -0
  121. package/src/dispatch-namespace.ts +21 -17
  122. package/src/docs/index.ts +97 -0
  123. package/src/entry.ts +19 -11
  124. package/src/environment-variables/factory.ts +88 -0
  125. package/src/environment-variables/misc-variables.ts +30 -0
  126. package/src/generate/index.ts +298 -0
  127. package/src/git-client.ts +15 -4
  128. package/src/{index.tsx → index.ts} +137 -63
  129. package/src/init.ts +249 -187
  130. package/src/inspect.ts +16 -1
  131. package/src/jest.d.ts +4 -0
  132. package/src/kv/index.ts +15 -17
  133. package/src/logger.ts +32 -5
  134. package/src/metrics/metrics-config.ts +3 -3
  135. package/src/metrics/send-event.ts +6 -1
  136. package/src/miniflare-cli/assets.ts +64 -28
  137. package/src/miniflare-cli/index.ts +4 -7
  138. package/src/miniflare-cli/tsconfig.json +9 -0
  139. package/src/miniflare-cli/tsconfig.tsbuildinfo +1 -0
  140. package/src/miniflare-cli/types.ts +11 -0
  141. package/src/module-collection.ts +91 -25
  142. package/src/mtls-certificate/cli.ts +155 -0
  143. package/src/pages/build.ts +410 -0
  144. package/src/pages/buildFunctions.ts +140 -0
  145. package/src/pages/deployment-tails.ts +281 -0
  146. package/src/pages/deployments.tsx +11 -33
  147. package/src/pages/{dev.tsx → dev.ts} +147 -124
  148. package/src/pages/errors.ts +1 -0
  149. package/src/pages/functions/buildPlugin.ts +72 -69
  150. package/src/pages/functions/buildWorker.ts +249 -114
  151. package/src/pages/functions/tsconfig.json +8 -0
  152. package/src/pages/functions/tsconfig.tsbuildinfo +1 -0
  153. package/src/pages/{functions.tsx → functions.ts} +8 -4
  154. package/src/pages/{index.tsx → index.ts} +11 -3
  155. package/src/pages/projects.tsx +12 -22
  156. package/src/pages/prompt-select-project.tsx +31 -0
  157. package/src/pages/publish.tsx +45 -214
  158. package/src/pages/types.ts +6 -9
  159. package/src/pages/upload.tsx +58 -14
  160. package/src/pages/utils.ts +14 -3
  161. package/src/parse.ts +23 -1
  162. package/src/paths.ts +1 -1
  163. package/src/proxy.ts +5 -0
  164. package/src/publish/index.ts +20 -16
  165. package/src/publish/publish.ts +72 -47
  166. package/src/pubsub/{pubsub-commands.tsx → pubsub-commands.ts} +19 -20
  167. package/src/queues/cli/commands/consumer/add.ts +24 -24
  168. package/src/queues/cli/commands/consumer/index.ts +3 -6
  169. package/src/queues/cli/commands/consumer/remove.ts +11 -18
  170. package/src/queues/cli/commands/create.ts +8 -8
  171. package/src/queues/cli/commands/delete.ts +8 -8
  172. package/src/queues/cli/commands/index.ts +6 -4
  173. package/src/queues/cli/commands/list.ts +8 -8
  174. package/src/queues/client.ts +1 -0
  175. package/src/queues/utils.ts +18 -0
  176. package/src/r2/constants.ts +4 -0
  177. package/src/r2/helpers.ts +1 -0
  178. package/src/r2/index.ts +40 -28
  179. package/src/secret/index.ts +14 -17
  180. package/src/{sites.tsx → sites.ts} +1 -1
  181. package/src/tail/createTail.ts +94 -3
  182. package/src/tail/filters.ts +1 -1
  183. package/src/tail/index.ts +8 -11
  184. package/src/tail/printing.ts +15 -0
  185. package/src/traverse-module-graph.ts +53 -0
  186. package/src/tsconfig-sanity.ts +16 -0
  187. package/src/type-generation.ts +79 -57
  188. package/src/user/access.ts +0 -1
  189. package/src/user/auth-variables.ts +113 -0
  190. package/src/user/choose-account.tsx +1 -31
  191. package/src/user/index.ts +0 -1
  192. package/src/user/{user.tsx → user.ts} +123 -82
  193. package/src/utils/render.ts +93 -0
  194. package/src/{whoami.tsx → whoami.ts} +37 -71
  195. package/src/worker.ts +35 -3
  196. package/src/yargs-types.ts +22 -5
  197. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  198. package/templates/__tests__/tsconfig.json +8 -0
  199. package/templates/__tests__/tsconfig.tsbuildinfo +1 -0
  200. package/templates/checked-fetch.js +9 -3
  201. package/templates/d1-beta-facade.js +95 -25
  202. package/templates/facade.d.ts +14 -0
  203. package/templates/first-party-worker-module-facade.ts +4 -3
  204. package/templates/format-dev-errors.ts +8 -6
  205. package/templates/gitignore +1 -0
  206. package/templates/init-tests/test-jest-new-worker.js +3 -5
  207. package/templates/init-tests/test-vitest-new-worker.js +3 -5
  208. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  209. package/templates/middleware/loader-modules.ts +2 -2
  210. package/templates/middleware/loader-sw.ts +51 -31
  211. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  212. package/templates/new-worker.ts +3 -0
  213. package/templates/pages-dev-pipeline.ts +4 -1
  214. package/templates/pages-shim.ts +4 -1
  215. package/templates/pages-template-plugin.ts +19 -10
  216. package/templates/serve-static-assets.ts +17 -14
  217. package/templates/service-bindings-module-facade.js +1 -0
  218. package/templates/tsconfig-sanity.ts +11 -0
  219. package/templates/tsconfig.init.json +105 -0
  220. package/templates/tsconfig.json +5 -103
  221. package/templates/tsconfig.tsbuildinfo +1 -0
  222. package/wrangler-dist/cli.d.ts +826 -77
  223. package/wrangler-dist/cli.js +130734 -140838
  224. package/wrangler-dist/wasm-sync.wasm +0 -0
  225. package/src/__tests__/api-devregistry.test.js +0 -57
  226. package/src/__tests__/d1.test.ts +0 -72
  227. package/src/__tests__/dialogs.test.tsx +0 -40
  228. package/src/__tests__/helpers/mock-cfetch.ts +0 -333
  229. package/src/__tests__/pages.test.ts +0 -2223
  230. package/src/dialogs.tsx +0 -163
  231. package/src/environment-variables.ts +0 -50
  232. package/src/pages/build.tsx +0 -238
  233. package/src/user/env-vars.ts +0 -46
  234. package/templates/experimental-local-cache-stubs.js +0 -27
  235. /package/src/{bundle-reporter.tsx → bundle-reporter.ts} +0 -0
  236. /package/src/dev/{get-local-persistence-path.tsx → get-local-persistence-path.ts} +0 -0
  237. /package/src/pages/{hash.tsx → hash.ts} +0 -0
package/src/kv/index.ts CHANGED
@@ -25,12 +25,10 @@ import {
25
25
  putKVKeyValue,
26
26
  unexpectedKVKeyValueProps,
27
27
  } from "./helpers";
28
- import type { ConfigPath } from "../index";
29
- import type { CommonYargsOptions } from "../yargs-types";
28
+ import type { CommonYargsArgv } from "../yargs-types";
30
29
  import type { KeyValue } from "./helpers";
31
- import type { Argv } from "yargs";
32
30
 
33
- export const kvNamespace = (kvYargs: Argv<CommonYargsOptions>) => {
31
+ export function kvNamespace(kvYargs: CommonYargsArgv) {
34
32
  return kvYargs
35
33
  .command(
36
34
  "create <namespace>",
@@ -56,7 +54,7 @@ export const kvNamespace = (kvYargs: Argv<CommonYargsOptions>) => {
56
54
  );
57
55
  }
58
56
 
59
- const config = readConfig(args.config as ConfigPath, args);
57
+ const config = readConfig(args.config, args);
60
58
  if (!config.name) {
61
59
  logger.warn(
62
60
  "No configured name present, using `worker` as a prefix for the title"
@@ -94,9 +92,9 @@ export const kvNamespace = (kvYargs: Argv<CommonYargsOptions>) => {
94
92
  .command(
95
93
  "list",
96
94
  "Outputs a list of all KV namespaces associated with your account id.",
97
- {},
95
+ (listArgs) => listArgs,
98
96
  async (args) => {
99
- const config = readConfig(args.config as ConfigPath, args);
97
+ const config = readConfig(args.config, args);
100
98
 
101
99
  const accountId = await requireAuth(config);
102
100
 
@@ -133,7 +131,7 @@ export const kvNamespace = (kvYargs: Argv<CommonYargsOptions>) => {
133
131
  },
134
132
  async (args) => {
135
133
  await printWranglerBanner();
136
- const config = readConfig(args.config as ConfigPath, args);
134
+ const config = readConfig(args.config, args);
137
135
 
138
136
  let id;
139
137
  try {
@@ -172,9 +170,9 @@ export const kvNamespace = (kvYargs: Argv<CommonYargsOptions>) => {
172
170
  // TODO: delete the preview namespace as well?
173
171
  }
174
172
  );
175
- };
173
+ }
176
174
 
177
- export const kvKey = (kvYargs: Argv<CommonYargsOptions>) => {
175
+ export const kvKey = (kvYargs: CommonYargsArgv) => {
178
176
  return kvYargs
179
177
  .command(
180
178
  "put <key> [value]",
@@ -231,7 +229,7 @@ export const kvKey = (kvYargs: Argv<CommonYargsOptions>) => {
231
229
  },
232
230
  async ({ key, ttl, expiration, metadata, ...args }) => {
233
231
  await printWranglerBanner();
234
- const config = readConfig(args.config as ConfigPath, args);
232
+ const config = readConfig(args.config, args);
235
233
  const namespaceId = getKVNamespaceId(args, config);
236
234
  // One of `args.path` and `args.value` must be defined
237
235
  const value = args.path
@@ -297,7 +295,7 @@ export const kvKey = (kvYargs: Argv<CommonYargsOptions>) => {
297
295
  },
298
296
  async ({ prefix, ...args }) => {
299
297
  // TODO: support for limit+cursor (pagination)
300
- const config = readConfig(args.config as ConfigPath, args);
298
+ const config = readConfig(args.config, args);
301
299
  const namespaceId = getKVNamespaceId(args, config);
302
300
 
303
301
  const accountId = await requireAuth(config);
@@ -351,7 +349,7 @@ export const kvKey = (kvYargs: Argv<CommonYargsOptions>) => {
351
349
  });
352
350
  },
353
351
  async ({ key, ...args }) => {
354
- const config = readConfig(args.config as ConfigPath, args);
352
+ const config = readConfig(args.config, args);
355
353
  const namespaceId = getKVNamespaceId(args, config);
356
354
 
357
355
  const accountId = await requireAuth(config);
@@ -398,7 +396,7 @@ export const kvKey = (kvYargs: Argv<CommonYargsOptions>) => {
398
396
  },
399
397
  async ({ key, ...args }) => {
400
398
  await printWranglerBanner();
401
- const config = readConfig(args.config as ConfigPath, args);
399
+ const config = readConfig(args.config, args);
402
400
  const namespaceId = getKVNamespaceId(args, config);
403
401
 
404
402
  logger.log(`Deleting the key "${key}" on namespace ${namespaceId}.`);
@@ -413,7 +411,7 @@ export const kvKey = (kvYargs: Argv<CommonYargsOptions>) => {
413
411
  );
414
412
  };
415
413
 
416
- export const kvBulk = (kvYargs: Argv<CommonYargsOptions>) => {
414
+ export const kvBulk = (kvYargs: CommonYargsArgv) => {
417
415
  return kvYargs
418
416
  .command(
419
417
  "put <filename>",
@@ -447,7 +445,7 @@ export const kvBulk = (kvYargs: Argv<CommonYargsOptions>) => {
447
445
  // This could be made more efficient with a streaming parser/uploader
448
446
  // but we'll do that in the future if needed.
449
447
 
450
- const config = readConfig(args.config as ConfigPath, args);
448
+ const config = readConfig(args.config, args);
451
449
  const namespaceId = getKVNamespaceId(args, config);
452
450
  const content = parseJSON(readFileSync(filename), filename);
453
451
 
@@ -541,7 +539,7 @@ export const kvBulk = (kvYargs: Argv<CommonYargsOptions>) => {
541
539
  },
542
540
  async ({ filename, ...args }) => {
543
541
  await printWranglerBanner();
544
- const config = readConfig(args.config as ConfigPath, args);
542
+ const config = readConfig(args.config, args);
545
543
  const namespaceId = getKVNamespaceId(args, config);
546
544
 
547
545
  if (!args.force) {
package/src/logger.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { format } from "node:util";
2
+ import chalk from "chalk";
3
+ import CLITable from "cli-table3";
2
4
  import { formatMessagesSync } from "esbuild";
3
- import { getEnvironmentVariableFactory } from "./environment-variables";
5
+ import { getEnvironmentVariableFactory } from "./environment-variables/factory";
4
6
  import type { BuildFailure } from "esbuild";
5
-
6
7
  export const LOGGER_LEVELS = {
7
8
  none: -1,
8
9
  error: 0,
@@ -25,13 +26,30 @@ const LOGGER_LEVEL_FORMAT_TYPE_MAP = {
25
26
 
26
27
  const getLogLevelFromEnv = getEnvironmentVariableFactory({
27
28
  variableName: "WRANGLER_LOG",
28
- defaultValue: "log",
29
29
  });
30
30
 
31
- class Logger {
31
+ function getLoggerLevel(): LoggerLevel {
32
+ const fromEnv = getLogLevelFromEnv()?.toLowerCase();
33
+ if (fromEnv !== undefined) {
34
+ if (fromEnv in LOGGER_LEVELS) return fromEnv as LoggerLevel;
35
+ const expected = Object.keys(LOGGER_LEVELS)
36
+ .map((level) => `"${level}"`)
37
+ .join(" | ");
38
+ console.warn(
39
+ `Unrecognised WRANGLER_LOG value ${JSON.stringify(
40
+ fromEnv
41
+ )}, expected ${expected}, defaulting to "log"...`
42
+ );
43
+ }
44
+ return "log";
45
+ }
46
+
47
+ export type TableRow<Keys extends string> = Record<Keys, string>;
48
+
49
+ export class Logger {
32
50
  constructor() {}
33
51
 
34
- loggerLevel: LoggerLevel = (getLogLevelFromEnv() as LoggerLevel) ?? "log";
52
+ loggerLevel = getLoggerLevel();
35
53
  columns = process.stdout.columns;
36
54
 
37
55
  debug = (...args: unknown[]) => this.doLog("debug", args);
@@ -39,6 +57,15 @@ class Logger {
39
57
  log = (...args: unknown[]) => this.doLog("log", args);
40
58
  warn = (...args: unknown[]) => this.doLog("warn", args);
41
59
  error = (...args: unknown[]) => this.doLog("error", args);
60
+ table<Keys extends string>(data: TableRow<Keys>[]) {
61
+ const keys: Keys[] =
62
+ data.length === 0 ? [] : (Object.keys(data[0]) as Keys[]);
63
+ const t = new CLITable({
64
+ head: keys.map((k) => chalk.bold.blue(k)),
65
+ });
66
+ t.push(...data.map((row) => keys.map((k) => row[k])));
67
+ return this.doLog("log", [t.toString()]);
68
+ }
42
69
 
43
70
  private doLog(messageLevel: Exclude<LoggerLevel, "none">, args: unknown[]) {
44
71
  if (LOGGER_LEVELS[this.loggerLevel] >= LOGGER_LEVELS[messageLevel]) {
@@ -1,11 +1,11 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { readFileSync, mkdirSync, writeFileSync } from "node:fs";
3
- import os from "node:os";
4
3
  import path from "node:path";
5
4
  import { fetchResult } from "../cfetch";
6
5
  import { getConfigCache, saveToConfigCache } from "../config-cache";
7
6
  import { confirm } from "../dialogs";
8
- import { getEnvironmentVariableFactory } from "../environment-variables";
7
+ import { getEnvironmentVariableFactory } from "../environment-variables/factory";
8
+ import { getGlobalWranglerConfigPath } from "../global-wrangler-config-path";
9
9
  import { CI } from "../is-ci";
10
10
  import isInteractive from "../is-interactive";
11
11
  import { logger } from "../logger";
@@ -167,7 +167,7 @@ export function readMetricsConfig(): MetricsConfigFile {
167
167
  * Get the path to the metrics config file.
168
168
  */
169
169
  function getMetricsConfigPath(): string {
170
- return path.resolve(os.homedir(), ".wrangler/config/metrics.json");
170
+ return path.resolve(getGlobalWranglerConfigPath(), "metrics.json");
171
171
  }
172
172
 
173
173
  /**
@@ -10,6 +10,8 @@ export type EventNames =
10
10
  | "delete worker script"
11
11
  | "begin log stream"
12
12
  | "end log stream"
13
+ | "begin pages log stream"
14
+ | "end pages log stream"
13
15
  | "create encrypted variable"
14
16
  | "delete encrypted variable"
15
17
  | "list encrypted variables"
@@ -53,7 +55,10 @@ export type EventNames =
53
55
  | "build pages functions"
54
56
  | "run dev"
55
57
  | "run dev (api)"
56
- | "run pages dev";
58
+ | "run pages dev"
59
+ | "view docs"
60
+ | "view deployments"
61
+ | "rollback deployments";
57
62
 
58
63
  /**
59
64
  * Send a metrics event, with no extra properties, to Cloudflare, if usage tracking is enabled.
@@ -3,54 +3,70 @@ import { join } from "node:path";
3
3
  import { createMetadataObject } from "@cloudflare/pages-shared/metadata-generator/createMetadataObject";
4
4
  import { parseHeaders } from "@cloudflare/pages-shared/metadata-generator/parseHeaders";
5
5
  import { parseRedirects } from "@cloudflare/pages-shared/metadata-generator/parseRedirects";
6
- import { fetch as miniflareFetch } from "@miniflare/core";
7
- import {
8
- Response as MiniflareResponse,
9
- Request as MiniflareRequest,
10
- } from "@miniflare/core";
11
6
  import { watch } from "chokidar";
12
7
  import { getType } from "mime";
13
8
  import { hashFile } from "../pages/hash";
14
9
  import type { Metadata } from "@cloudflare/pages-shared/asset-server/metadata";
15
- import type {
16
- fetch,
17
- Request,
18
- } from "@cloudflare/pages-shared/environment-polyfills/types";
19
10
  import type {
20
11
  ParsedRedirects,
21
12
  ParsedHeaders,
22
13
  } from "@cloudflare/pages-shared/metadata-generator/types";
23
- import type { RequestInfo, RequestInit, FetcherFetch } from "@miniflare/core";
24
- import type { Log } from "miniflare";
14
+ import type {
15
+ Request as MiniflareRequest,
16
+ RequestInfo as MiniflareRequestInfo,
17
+ RequestInit as MiniflareRequestInit,
18
+ } from "@miniflare/core";
19
+
20
+ interface Logger {
21
+ log: (message: string) => void;
22
+ warn: (message: string) => void;
23
+ error: (error: Error) => void;
24
+ }
25
25
 
26
26
  export interface Options {
27
- log: Log;
27
+ log: Logger;
28
28
  proxyPort?: number;
29
29
  directory?: string;
30
+ tre: boolean;
30
31
  }
31
32
 
32
33
  export default async function generateASSETSBinding(options: Options) {
33
34
  const assetsFetch =
34
35
  options.directory !== undefined
35
- ? await generateAssetsFetch(options.directory, options.log)
36
+ ? await generateAssetsFetch(options.directory, options.log, options.tre)
36
37
  : invalidAssetsFetch;
37
38
 
38
- return async function (miniflareRequest: MiniflareRequest) {
39
+ const miniflare = options.tre
40
+ ? await import("@miniflare/tre")
41
+ : await import("@miniflare/core");
42
+
43
+ const Request = miniflare.Request as typeof MiniflareRequest;
44
+ const Response = miniflare.Response;
45
+ // WebSockets won't work with `--experimental-local` until we expose something like `upgradingFetch` from `@miniflare/tre`.
46
+ const fetch = (
47
+ options.tre
48
+ ? miniflare.fetch
49
+ : (await import("@miniflare/web-sockets")).upgradingFetch
50
+ ) as (request: Request) => Promise<Response>;
51
+
52
+ return async function (miniflareRequest: Request) {
39
53
  if (options.proxyPort) {
40
54
  try {
41
55
  const url = new URL(miniflareRequest.url);
42
56
  url.host = `localhost:${options.proxyPort}`;
43
- return await miniflareFetch(url, miniflareRequest);
57
+ const proxyRequest = new Request(url, miniflareRequest);
58
+ if (proxyRequest.headers.get("Upgrade") === "websocket") {
59
+ proxyRequest.headers.delete("Sec-WebSocket-Accept");
60
+ proxyRequest.headers.delete("Sec-WebSocket-Key");
61
+ }
62
+ return await fetch(proxyRequest as Request);
44
63
  } catch (thrown) {
45
64
  options.log.error(new Error(`Could not proxy request: ${thrown}`));
46
65
 
47
66
  // TODO: Pretty error page
48
- return new MiniflareResponse(
49
- `[wrangler] Could not proxy request: ${thrown}`,
50
- {
51
- status: 502,
52
- }
53
- );
67
+ return new Response(`[wrangler] Could not proxy request: ${thrown}`, {
68
+ status: 502,
69
+ });
54
70
  }
55
71
  } else {
56
72
  try {
@@ -59,21 +75,41 @@ export default async function generateASSETSBinding(options: Options) {
59
75
  options.log.error(new Error(`Could not serve static asset: ${thrown}`));
60
76
 
61
77
  // TODO: Pretty error page
62
- return new MiniflareResponse(
78
+ return new Response(
63
79
  `[wrangler] Could not serve static asset: ${thrown}`,
64
80
  { status: 502 }
65
81
  );
66
82
  }
67
83
  }
68
- } as FetcherFetch;
84
+ };
69
85
  }
70
86
 
71
87
  async function generateAssetsFetch(
72
88
  directory: string,
73
- log: Log
89
+ log: Logger,
90
+ tre: boolean
74
91
  ): Promise<typeof fetch> {
75
92
  // Defer importing miniflare until we really need it
76
- await import("@cloudflare/pages-shared/environment-polyfills/miniflare");
93
+
94
+ // NOTE: These dynamic imports bring in `global` type augmentations from
95
+ // `@cloudflare/pages-shared/environment-polyfills/types.ts`, allowing us to
96
+ // use `fetch`, `Headers`, `Request` and `Response` as globals in this file
97
+ // and the *entire* `miniflare-cli` TypeScript project.
98
+ const polyfill = tre
99
+ ? (
100
+ await import(
101
+ "@cloudflare/pages-shared/environment-polyfills/miniflare-tre"
102
+ )
103
+ ).default
104
+ : (await import("@cloudflare/pages-shared/environment-polyfills/miniflare"))
105
+ .default;
106
+
107
+ await polyfill();
108
+
109
+ const miniflare = tre
110
+ ? await import("@miniflare/tre")
111
+ : await import("@miniflare/core");
112
+ const Request = miniflare.Request as typeof MiniflareRequest;
77
113
 
78
114
  const { generateHandler, parseQualityWeightedList } = await import(
79
115
  "@cloudflare/pages-shared/asset-server/handler"
@@ -184,7 +220,7 @@ async function generateAssetsFetch(
184
220
  const filepath = assetKeyEntryMap.get(assetKey);
185
221
  if (!filepath) {
186
222
  throw new Error(
187
- "Could not fetch asset. Please file an issue on GitHub (https://github.com/cloudflare/wrangler2/issues/new/choose) with reproduction steps."
223
+ "Could not fetch asset. Please file an issue on GitHub (https://github.com/cloudflare/workers-sdk/issues/new/choose) with reproduction steps."
188
224
  );
189
225
  }
190
226
  const body = readFileSync(filepath) as unknown as ReadableStream;
@@ -202,8 +238,8 @@ async function generateAssetsFetch(
202
238
  });
203
239
  };
204
240
 
205
- return async (input: RequestInfo, init?: RequestInit) => {
206
- const request = new MiniflareRequest(input, init);
241
+ return async (input: MiniflareRequestInfo, init?: MiniflareRequestInit) => {
242
+ const request = new Request(input, init);
207
243
  return await generateResponse(request as unknown as Request);
208
244
  };
209
245
  }
@@ -17,13 +17,9 @@ import generateASSETSBinding from "./assets";
17
17
  import { getRequestContextCheckOptions } from "./request-context";
18
18
  import type { LoggerLevel } from "../logger";
19
19
  import type { Options } from "./assets";
20
+ import type { EnablePagesAssetsServiceBindingOptions } from "./types";
20
21
  import type { AddressInfo } from "net";
21
22
 
22
- export interface EnablePagesAssetsServiceBindingOptions {
23
- proxyPort?: number;
24
- directory?: string;
25
- }
26
-
27
23
  // miniflare defines this but importing it throws:
28
24
  // Dynamic require of "path" is not supported
29
25
  class MiniflareNoOpLog extends MiniflareLog {
@@ -51,7 +47,7 @@ async function main() {
51
47
  config.log =
52
48
  logLevel === MiniflareLogLevel.NONE
53
49
  ? new MiniflareNoOpLog()
54
- : new MiniflareLog(logLevel, config.logOptions);
50
+ : new MiniflareLog(logLevel);
55
51
 
56
52
  if (logLevel === MiniflareLogLevel.DEBUG) {
57
53
  console.log("MINIFLARE OPTIONS:\n", JSON.stringify(config, null, 2));
@@ -120,6 +116,7 @@ async function main() {
120
116
  log: config.log,
121
117
  proxyPort: opts.proxyPort,
122
118
  directory: opts.directory,
119
+ tre: false,
123
120
  };
124
121
 
125
122
  config.serviceBindings = {
@@ -196,7 +193,7 @@ async function main() {
196
193
  process.send &&
197
194
  process.send(
198
195
  JSON.stringify({
199
- mfPort: mfPort,
196
+ port: mfPort,
200
197
  ready: true,
201
198
  durableObjectsPort: durableObjectsMfPort,
202
199
  })
@@ -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/url.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","e6810fe972f338c46e739bd468228555dbc1ce26c1f935a3b630ae5c9a708c26","31215562f58f4a3f12e16b024c2f103a237a7e0fe3a26a01ea1769794709ed4c","de8d91e63f13be9575ec39f388ed78e00ea3c3d40cef04741b3e3702a6f6c3b6","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","358379536fce96a63ff1a2006a8f415c93dc188cda73b6b47b25cd836c069b4d","35a0729250cbbfe6d3d40ee93fd73b6f0fb529163ef867b9a3b145826b99a00b","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","b37d42b0e3eaf9ecf801fac68a0ab608612b1eac7f2ff5961b82b7e50c2567e7","76dc95032e67f4c9ff21789567416de1547755c17037084729750265bb9b39bd","e012b7e0f704f7f90f576f14d01f53b7840457f925b32490a56aae9d66e91487","5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","7a01f546ace66019156e4232a1bee2fabc2f8eabeb052473d926ee1693956265","fb53b1c6a6c799b7e3cc2de3fb5c9a1c04a1c60d4380a37792d84c5f8b33933b","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","19903057d0249e45c579bef2b771c37609e4853a8b88adbb0b6b63f9e1d1f372","f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","01f9ca5ebd237fbdee10a3aa7552af1df038a0594b39352515c89994909a7e88","fca196a63dcdda993cc0767c1d8038e0fea130723b6349256aec6f0dc6afeee6","e1b9a037e8bbf12c413c1a6b18ea985e09202fe3dbbf3da593568a91a7dc0ebf","44b9c28d716a2c6ae4054091485be97edd6d4e7f02eea3efbcb9afa4cea40e6e",{"version":"ec35e4acced0edca4b3f807597b61bca0e322a5404135a937ac11ca2958c7410","affectsGlobalScope":true},"d6e12bebdaf02b4e069bdb5d8733b6ca4d897c92067df5fdf863a65b826cb054","ab0d2c81d176bada32f9d00a2eeb2cc11b15c3db09642c6c5b389b652d51a89f","9ed04a7dcb3f2e0de2fa41e8be03534796040c3344724348843fa2c8480952f9","9af5244c220c69d4ae5a46c8079d65ca6631af5d9d986ca0338befb5a0d9c89d","d1a62621df744be36150eedc3ab8e0b51644124ff8cdbbe4bda8bad88d571c80","732ed62c7082d8f1f5ec29d9ef460b8bfa53d883a0340a2286d54278eeef6263","4ee0a7e510c8063de56f2ed67c832ce9fadc3a20c8f26bad4d3a7b25f9b72520","9f97786041d862310120e7b0da8dc44ad5a5dbd647ec30f3227d17cb0e883988","25094d7758955e2442de08ba1709c0e35271590110abbd0244bc35a0f88e01cf","ef0278858bd800e01280578b41c084a8c3570d21789c29e82221b3112d7c325e","45306ff1bba208bb2dae87c9474b590fa223dc37bb0f1dd278328a862630ae8d","1457c248ae8b97429eccedd53528a48b4252aa01e207579a6aa81b4734f3105d","40ac2fda208f54fb7ddd3ebd0e0fdd718012e4469532433c5d6155136cc1a40b","c14788310fec17ac61ef6b527dd1e9d658cf0e13867b1d36924ab04009ecc3f5","6064f7c5739df85dcc9ced0a610be5cd585f70d95aba985f59ea405f834673a7","2d997a81857e5713b21b135b75dd3200c2d31524c8bbeafe48e133a89763d711","13097df1008698edf8fe9789cef7901e34cf10a9c23de3ff01cb59f9e887d50a","97b0b39526debcd440291fb6aeb601178ac33b2ad84e54c78c16057362955f2d","d72f2c32cb958d1023a10035be28e091344a7cb3a14def96d13d39c72f3a3767","ecc8e0f7097d3282434b86175a4008fe7e5aaa2731b067cab49d1fe6941de957","8d2123534a63ce0e9fe4c188953920348e5f1e33f72c581f88824a2fe23a228c","bf093cdf9d9b079e168b1c1ba6aa23e7eab84b8d13e1591f1e871c7b31b1c71f","c3c579c496ac9a5b7bb864d2d9f898209d9b28b6b47d1bf1cc9f2b2d3471b2ea","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1","9cc884a6f8547dec935f930b8aad8212aaae876ebeaab5cd42d20b45251860e7","8526249c4486650b51b73ef9ae452fb6ef3254b2e73a1625c68889a9a3bfc070","dd472d8f41c142352cb21b03d602c5acf88b41d7656cd6b01414b0dd3a047afd","091f417275a51ab3c47b949723e9e8a193012157ecc64a96e2d7b1505e82f395","e6d2c107b358421399671d5afc04f9a0993833121c74bcbd3648ac3a65770936","6a93055f8327fa93dd414b15b3722657ea7c12d6052367d4ff303af29aa0ac76","bf45a2498ec7911454362c65ef3c87b161d91490d2d96a554f3263886c0e3503","b9b2dd4fcc57e42ecb6a8ed962350415aadd4c04e899bbe37580d7e6e0b1deaa","95586a6a375ad871afbc7a0e7989a6c590487b3c51aea25a60268ee79c94af8c","6d5785dc9035410f74e72e240af13284646957bacc16e444cad58b8fb8b8e3f0"],"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,198],[104,108,111,158,159,160],[104,160,202],[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,207],[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,193],[104,193,194,195,196,197],[104,193,195],[79,81,104,111,160,161,163,164,181,182,192,199,200,201,202,203,204,205],[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,189],[104,183],[104,179,184],[104,164,184],[96,104,164,181,182],[54,55,56,104],[54,56,58,104],[104,216],[104,212,213,214,215],[55,56,57,59,60,77,86,104,113,114,126,163,164,179,185,186,190],[84,104,164,191,192,206,208,209,210,211,216,217],[64,104,206],[77,86,104,125]],"referencedMap":[[165,1],[182,2],[164,3],[200,4],[192,5],[181,6],[201,7],[202,8],[161,9],[204,10],[199,11],[160,12],[205,13],[203,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],[207,1],[209,65],[208,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],[212,1],[113,74],[213,1],[197,75],[193,1],[198,76],[194,75],[196,77],[195,1],[214,1],[180,1],[206,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],[190,111],[55,1],[187,1],[188,1],[189,1],[184,112],[185,113],[186,114],[183,115],[54,1],[57,116],[59,117],[60,117],[56,1],[58,1],[215,118],[210,1],[216,119],[191,120],[218,121],[211,122],[217,1],[126,123]],"exportedModulesMap":[[165,1],[182,2],[164,3],[200,4],[192,5],[181,6],[201,7],[202,8],[161,9],[204,10],[199,11],[160,12],[205,13],[203,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],[207,1],[209,65],[208,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],[212,1],[113,74],[213,1],[197,75],[193,1],[198,76],[194,75],[196,77],[195,1],[214,1],[180,1],[206,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],[190,111],[55,1],[187,1],[188,1],[189,1],[184,112],[185,113],[186,114],[183,115],[54,1],[57,116],[59,117],[60,117],[56,1],[58,1],[215,118],[210,1],[216,119],[191,120],[218,121],[211,122],[217,1],[126,123]],"semanticDiagnosticsPerFile":[165,182,164,200,192,181,201,202,161,204,199,160,205,203,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,207,209,208,112,117,115,119,118,120,125,116,123,121,124,122,127,212,113,213,197,193,198,194,196,195,214,180,206,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,190,55,187,188,189,184,185,186,183,54,57,59,60,56,58,215,210,216,191,218,211,217,126],"affectedFilesPendingEmit":[[165,1],[182,1],[164,1],[200,1],[192,1],[181,1],[201,1],[202,1],[161,1],[204,1],[199,1],[160,1],[205,1],[203,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],[207,1],[209,1],[208,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],[212,1],[113,1],[213,1],[197,1],[193,1],[198,1],[194,1],[196,1],[195,1],[214,1],[180,1],[206,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],[190,1],[55,1],[187,1],[188,1],[189,1],[184,1],[185,1],[186,1],[183,1],[54,1],[57,1],[59,1],[60,1],[56,1],[58,1],[215,1],[210,1],[216,1],[191,1],[218,1],[211,1],[217,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
+ }