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
@@ -0,0 +1,151 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { isValidIdentifier, normalizeIdentifier } from "./identifiers";
4
+ import type { UrlPath } from "../../paths";
5
+
6
+ export const HTTP_METHODS = [
7
+ "HEAD",
8
+ "OPTIONS",
9
+ "GET",
10
+ "POST",
11
+ "PUT",
12
+ "PATCH",
13
+ "DELETE",
14
+ ] as const;
15
+ export type HTTPMethod = typeof HTTP_METHODS[number];
16
+
17
+ export type RoutesCollection = Array<{
18
+ routePath: UrlPath;
19
+ mountPath: UrlPath;
20
+ method?: HTTPMethod;
21
+ modules: string[];
22
+ middlewares: string[];
23
+ }>;
24
+
25
+ export type Config = {
26
+ routes?: RouteConfig[];
27
+ schedules?: unknown;
28
+ };
29
+
30
+ export type RouteConfig = {
31
+ routePath: UrlPath;
32
+ mountPath: UrlPath;
33
+ method?: HTTPMethod;
34
+ middleware?: string | string[];
35
+ module?: string | string[];
36
+ };
37
+
38
+ type ImportMap = Map<
39
+ string,
40
+ {
41
+ filepath: string;
42
+ name: string;
43
+ identifier: string;
44
+ }
45
+ >;
46
+
47
+ type Arguments = {
48
+ config: Config;
49
+ outfile: string;
50
+ srcDir: string;
51
+ };
52
+
53
+ export async function writeRoutesModule({
54
+ config,
55
+ srcDir,
56
+ outfile = "_routes.js",
57
+ }: Arguments) {
58
+ const { importMap, routes } = parseConfig(config, srcDir);
59
+ const routesModule = generateRoutesModule(importMap, routes);
60
+
61
+ await fs.writeFile(outfile, routesModule);
62
+
63
+ return outfile;
64
+ }
65
+
66
+ export function parseConfig(config: Config, baseDir: string) {
67
+ const routes: RoutesCollection = [];
68
+ const importMap: ImportMap = new Map();
69
+ const identifierCount = new Map<string, number>(); // to keep track of identifier collisions
70
+
71
+ function parseModuleIdentifiers(paths: string | string[] | undefined) {
72
+ if (typeof paths === "undefined") {
73
+ paths = [];
74
+ }
75
+
76
+ if (typeof paths === "string") {
77
+ paths = [paths];
78
+ }
79
+
80
+ return paths.map((modulePath) => {
81
+ const [filepath, name = "default"] = modulePath.split(":");
82
+ let { identifier } = importMap.get(modulePath) ?? {};
83
+
84
+ const resolvedPath = path.resolve(baseDir, filepath);
85
+
86
+ // ensure the filepath isn't attempting to resolve to anything outside of the project
87
+ if (path.relative(baseDir, resolvedPath).startsWith("..")) {
88
+ throw new Error(`Invalid module path "${filepath}"`);
89
+ }
90
+
91
+ // ensure the module name (if provided) is a valid identifier to guard against injection attacks
92
+ if (name !== "default" && !isValidIdentifier(name)) {
93
+ throw new Error(`Invalid module identifier "${name}"`);
94
+ }
95
+
96
+ if (!identifier) {
97
+ identifier = normalizeIdentifier(`__${filepath}_${name}`);
98
+
99
+ let count = identifierCount.get(identifier) ?? 0;
100
+ identifierCount.set(identifier, ++count);
101
+
102
+ if (count > 1) {
103
+ identifier += `_${count}`;
104
+ }
105
+
106
+ importMap.set(modulePath, { filepath: resolvedPath, name, identifier });
107
+ }
108
+
109
+ return identifier;
110
+ });
111
+ }
112
+
113
+ for (const { routePath, mountPath, method, ...props } of config.routes ??
114
+ []) {
115
+ routes.push({
116
+ routePath,
117
+ mountPath,
118
+ method,
119
+ middlewares: parseModuleIdentifiers(props.middleware),
120
+ modules: parseModuleIdentifiers(props.module),
121
+ });
122
+ }
123
+
124
+ return { routes, importMap };
125
+ }
126
+
127
+ export function generateRoutesModule(
128
+ importMap: ImportMap,
129
+ routes: RoutesCollection
130
+ ) {
131
+ return `${[...importMap.values()]
132
+ .map(
133
+ ({ filepath, name, identifier }) =>
134
+ `import { ${name} as ${identifier} } from ${JSON.stringify(filepath)}`
135
+ )
136
+ .join("\n")}
137
+
138
+ export const routes = [
139
+ ${routes
140
+ .map(
141
+ (route) => ` {
142
+ routePath: "${route.routePath}",
143
+ mountPath: "${route.mountPath}",
144
+ method: "${route.method}",
145
+ middlewares: [${route.middlewares.join(", ")}],
146
+ modules: [${route.modules.join(", ")}],
147
+ },`
148
+ )
149
+ .join("\n")}
150
+ ]`;
151
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["node", "jest"]
5
+ },
6
+ "include": ["**/*.test.ts", "../../intl-polyfill.d.ts"],
7
+ "exclude": []
8
+ }
@@ -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","../../../node_modules/@iarna/toml/index.d.ts","../../../../../node_modules/@webcontainer/env/dist/environment.d.ts","../../../../../node_modules/@webcontainer/env/dist/url.d.ts","../../../../../node_modules/@webcontainer/env/dist/index.d.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/@types/react/global.d.ts","../../../../../node_modules/csstype/index.d.ts","../../../../../node_modules/@types/prop-types/index.d.ts","../../../../../node_modules/@types/scheduler/tracing.d.ts","../../../../../node_modules/@types/react/index.d.ts","../../../../../node_modules/ink/build/ink.d.ts","../../../../../node_modules/ink/build/render.d.ts","../../../../../node_modules/type-fest/source/basic.d.ts","../../../../../node_modules/type-fest/source/except.d.ts","../../../../../node_modules/type-fest/source/mutable.d.ts","../../../../../node_modules/type-fest/source/merge.d.ts","../../../../../node_modules/type-fest/source/merge-exclusive.d.ts","../../../../../node_modules/type-fest/source/require-at-least-one.d.ts","../../../../../node_modules/type-fest/source/require-exactly-one.d.ts","../../../../../node_modules/type-fest/source/partial-deep.d.ts","../../../../../node_modules/type-fest/source/readonly-deep.d.ts","../../../../../node_modules/type-fest/source/literal-union.d.ts","../../../../../node_modules/type-fest/source/promisable.d.ts","../../../../../node_modules/type-fest/source/opaque.d.ts","../../../../../node_modules/type-fest/source/set-optional.d.ts","../../../../../node_modules/type-fest/source/set-required.d.ts","../../../../../node_modules/type-fest/source/promise-value.d.ts","../../../../../node_modules/type-fest/source/async-return-type.d.ts","../../../../../node_modules/type-fest/source/conditional-keys.d.ts","../../../../../node_modules/type-fest/source/conditional-except.d.ts","../../../../../node_modules/type-fest/source/conditional-pick.d.ts","../../../../../node_modules/type-fest/source/union-to-intersection.d.ts","../../../../../node_modules/type-fest/source/package-json.d.ts","../../../../../node_modules/type-fest/source/tsconfig-json.d.ts","../../../../../node_modules/type-fest/index.d.ts","../../../../../node_modules/@types/yoga-layout/index.d.ts","../../../../../node_modules/yoga-layout-prebuilt/index.d.ts","../../../../../node_modules/cli-boxes/index.d.ts","../../../../../node_modules/ink/node_modules/chalk/index.d.ts","../../../../../node_modules/ink/build/styles.d.ts","../../../../../node_modules/ink/build/output.d.ts","../../../../../node_modules/ink/build/render-node-to-output.d.ts","../../../../../node_modules/ink/build/dom.d.ts","../../../../../node_modules/ink/build/components/Box.d.ts","../../../../../node_modules/ink/build/components/Text.d.ts","../../../../../node_modules/ink/build/components/AppContext.d.ts","../../../../../node_modules/ink/build/components/StdinContext.d.ts","../../../../../node_modules/ink/build/components/StdoutContext.d.ts","../../../../../node_modules/ink/build/components/StderrContext.d.ts","../../../../../node_modules/ink/build/components/Static.d.ts","../../../../../node_modules/ink/build/components/Transform.d.ts","../../../../../node_modules/ink/build/components/Newline.d.ts","../../../../../node_modules/ink/build/components/Spacer.d.ts","../../../../../node_modules/ink/build/hooks/use-input.d.ts","../../../../../node_modules/ink/build/hooks/use-app.d.ts","../../../../../node_modules/ink/build/hooks/use-stdin.d.ts","../../../../../node_modules/ink/build/hooks/use-stdout.d.ts","../../../../../node_modules/ink/build/hooks/use-stderr.d.ts","../../../../../node_modules/ink/build/hooks/use-focus.d.ts","../../../../../node_modules/ink/build/components/FocusContext.d.ts","../../../../../node_modules/ink/build/hooks/use-focus-manager.d.ts","../../../../../node_modules/ink/build/measure-element.d.ts","../../../../../node_modules/ink/build/index.d.ts","../../../../../node_modules/ink-table/dist/index.d.ts","../../../../../node_modules/buffer/index.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/diagnostics-channel.d.ts","../../../node_modules/undici/types/interceptors.d.ts","../../../node_modules/undici/index.d.ts","../../../node_modules/locate-path/index.d.ts","../../../node_modules/find-up/index.d.ts","../../../../../node_modules/ci-info/index.d.ts","../../../../../node_modules/@types/is-ci/index.d.ts","../../is-ci.ts","../../is-interactive.ts","../../../../../node_modules/esbuild/lib/main.d.ts","../../environment-variables/factory.ts","../../logger.ts","../../config-cache.ts","../../../../../node_modules/xdg-app-paths/dist/types/mod.d.ts","../../global-wrangler-config-path.ts","../../../../../node_modules/open/index.d.ts","../../open-in-browser.ts","../../parse.ts","../../user/access.ts","../../environment-variables/misc-variables.ts","../../user/auth-variables.ts","../../../../../node_modules/ink-select-input/build/Indicator.d.ts","../../../../../node_modules/ink-select-input/build/Item.d.ts","../../../../../node_modules/ink-select-input/build/SelectInput.d.ts","../../../../../node_modules/ink-select-input/build/index.d.ts","../../../package.json","../../cfetch/internal.ts","../../cfetch/index.ts","../../user/choose-account.tsx","../../user/generate-auth-url.ts","../../user/generate-random-state.ts","../../user/user.tsx","../../user/index.ts","../../__tests__/helpers/run-in-tmp.ts","../../paths.ts","./identifiers.ts","./routes.ts","./filepath-routing.ts","./filepath-routing.test.ts","../constants.ts","./routes-consolidation.ts","./routes-consolidation.test.ts","./routes-transformation.ts","./routes-transformation.test.ts","../../errors.ts","./routes-validation.ts","../errors.ts","./routes-validation.test.ts","../../intl-polyfill.d.ts","../../../../../node_modules/@types/jest/node_modules/chalk/index.d.ts","../../../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../../../node_modules/@jest/schemas/build/index.d.ts","../../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../../../../node_modules/@types/jest/index.d.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},"72c6cda658c066bfd9f51a34a077648f11a0d8867050733f2cef365729043bf0","363f9ef6f21d68fb8daa0ec3127ea3fb2567c5583999d4846bdbbdeb6f386eb7","b49e007575f7087f2d8718cceea62a309dad06552d539c65d0bbd418b33a33b6","7a317ff3b65c289d4344ea7b6e0a9793168703a79bf1ee889b3ce379b58a54a3","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",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"facb3daa9cb4215070b5662409638ac826681c208d701e96efe9b731d0ec39ee","affectsGlobalScope":true},"8701dc18f126b8327a76068ffd81b76c2c19a94882e3772751c8233c4e42d910","630e6ae9c6ca8afea0b68421b4cbd18ba028ce7b79578814f2b34258874b9b3e",{"version":"e2ec925bf462e6db89c9b7d934f67fef251f111a9f14a775f82ac4d3a0bc5c42","affectsGlobalScope":true},"c58be3e560989a877531d3ff7c9e5db41c5dd9282480ccf197abfcc708a95b8d","91f23ddc3971b1c8938c638fb55601a339483953e1eb800675fa5b5e8113db72","50d22844db90a0dcd359afeb59dd1e9a384d977b4b363c880b4e65047237a29e","d33782b82eea0ee17b99ca563bd19b38259a3aaf096d306ceaf59cd4422629be","7f7f1420c69806e268ab7820cbe31a2dcb2f836f28b3d09132a2a95b4a454b80","2d14198b25428b7b8010a895085add8edfaae476ab863c0c15fe2867fc214fe4","61046f12c3cfafd353d2d03febc96b441c1a0e3bb82a5a88de78cc1be9e10520","f4e7f5824ac7b35539efc3bef36b3e6be89603b88224cb5c0ad3526a454fc895","091af8276fbc70609a00e296840bd284a2fe29df282f0e8dae2de9f0a706685f","537aff717746703d2157ec563b5de4f6393ce9f69a84ae62b49e9b6c80b6e587","d4220a16027ddf0cc7d105d80cbb01f5070ca7ddd8b2d007cfb024b27e22b912","fb3aa3fb5f4fcd0d57d389a566c962e92dbfdaea3c38e3eaf27d466e168871c6","0af1485d84516c1a080c1f4569fea672caac8051e29f33733bf8d01df718d213","c2d56efa50f7d0ac8e4e7125fe5e213c1f13228117a70c54e79d23d5529c3fc8","677d9e197ed0a49556a07c16988b967b6662d48b8475bfc78aba62052c684736","ae7f57067310d6c4acbc4862b91b5799e88831f4ab77f865443a9bc5057b540a","955d0c60502897e9735fcd08d2c1ad484b6166786328b89386074aebcd735776","2fa69d202a513f2a6553f263d473cba85d598ce250261715d78e8aab42df6b93","c17d5f8e1f0d7cb88000577b29579e758d94fe2d655db41fed16183498860f60","09759a6d77fcbbc42729c6ad12c78bd1603e7ef516fc2830b0f7900ae0c45293","8e358d80ac052e9f4e5cc16d06c946628834b47718a4bd101ef2087603b8e5c7","cadaf02024a07a4281e3bf732e51513c6b2092a6312dab5d30538fe4379e0591","7693b0547e3b004443fa1f4327b61617e7317757a3e947ccc200c91111c77eca","933951715588cc422929cb50374d379cd87085a8964364a34fd22d93a58169d9","34739077a773aee172bdace5082c5411e2089b62e586cd097ea55362f1a3b1de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7ca2a07f2f5fccbccd7728817bc158b29b0f2eebd2b0d63cf6a224c1d6aea62f","cd8700cc9e5207d35d5ad881cf94b8f9ce80705e077319f07935e7d234f5a128","a79727ef121c99a2e8dcd104093e5bb80411246e39010c3353b5a946c20303d2","8e20ef671d875f219bf95b1f6944df4d017e956298331f5bf385070615a8ed57","89fda89f2df5dc91b2434f481c953a312b03833a98fa2b749704adfe500f0725","5e585d15b327d05f43c58a2ee44850c8fc36ece47e15ef462afe004f245ca9da","46f78634d65c763f6971d2b32f18635887031404d8f11c5573c28d50a47eed45","41fea219fa2137b5139601b1f1049236cca76850c4f14a0f71c26cf40ee9866d","61efd6a8ce485bf977c6ed38e19f8c29c10ea101593b666835eca7a87e5db1bb","298faafd22651d8c6d3cfe014604751b5a82868fe891e3dae48d189f8bc8f21e","aff972252c2ec34e843f337e2e7666029573893c29340c867bb7407c353fcba6","6aa67539c97cf84f77e87b4a434864baa8c69b33e51d0ec4df348799179834c6","576f76190b88ef5b22f2c39339a7947c1002542aa7799d8cee81abcee2b0402b","c6852cbfe9e934e598379ce48ebba413e0999eb10390039dc6fa13e805e9e444","4fc26db2b0fffef61828961ac65a21e3583e3735658548a3941857f21784973d","871664882c60cf841fefd52761aa2798421791faa9c88095bf8ebe5f53c977be","fbeac78a130c0ab2b81ce75b90bca19aa87793526b6c54763a4ec5975b127ada","c38533c64c5a9acefabbfb6605120663777fba72d2f0bfc53766a512c797715e","16693101054ec3cf63e6604ae07b1df2c5ace5d10bd3ca5affa93048cd8a1d61","728f6373043db3a0334505130a3f2ce86b1840f739723d1616ef008c7d4391ea","89cb1f50de9f129893a56f4227e6fcc5f21b62ebad9a8ac2aee4223b4c0b8396","f62f57441165139240702328ab5e07d2f5b43e4ce0e08f9039b36180f62da863","fc3e8f64876809532ec76a57452e6038fa9b956aaa9adabe68ebae137f5fcfa0","9948f24e03a9d7f209d1ef2323936c56d523e62a6dbe6cccaa6ef39eb44f4fe0","bf6102e9bfcb611fbb9e372926629c147a2a43d472b57acd8409e2d047794bc3","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","e7c20bf3e73ed0996fabeb09284e93181900b6fa18c35aa16643c5449dffb64a","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","e3a01aa1ecb30fec4df9c2eb7b1f171734a8695881ec765d9570419d145beedd","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","816924ed387a5206dc920674f9cb50ed9ef196aa1c92ef145618d4bb22abdcff","f9f63c9415e4f32dbefd3966ae736f2be7a80269c433260e8935aec18882bbac","78c864d5bae9757396df937dfd1626d5d9a53da9d6af53b03e2769fea8aab1dd","af374d0ff9768de7abbc20dde30bb08af34dfca1beaa38867d44469128814025","731b1cf869c8d522aa62a3e2846daee0e0cdcdc277087f498d8cc5069972d03b","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","0ec3e3408326da3cfb8371edf27ba4b6beb44277a4e206ddb41ae32e91602b56","fecd3ded75d4ab2921b8f702e4b2317990cf203da118461e95349ac742b8579d","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","8cf23a0959cf72d938eb7c58d6ecc261491c1b4a5553f06dfb9fe6c21d4eaf63","0bf2d6bcd257ec8906339f4e07eede29ce9428b8f2aa56d5e764a88f70ec06be","10a38b861bbc21d9a4d195db18ef4dfa2135e2efeb5c2e3f70c7ad04dd460407","4115949ddc65bf2ccb507498a9c55486300284914dae5e2565f63e1967dfbeba","71afbc331804623823a208d7afaf53c39fefd4b249940a57470fb9722f3da954","957a167314e1b95b2ec1159dc5847d51e00946955ee051bd2b1a7ccf71ece9bf","67d510008ecf71f23942071e9e74cb9c308ab5cc6a55f4eea04532b92ef10453","76189e37253c79eb62a149ca2990927528885cd6f67723a51553b2783bc96835","ee36be1145b9ca7c3d97cc5eb4a31b1f521ee10f32accf1949ce0b51627d967c","a1f35b67778f29808580e3b667da49b1fba8b1426dd996276f81785c90382697","82cdcebf5c7df704cce2c3d1f905b5539b2f1ef3f701f8314e7a558dbc24fa38","5ecef38dd034e9f6aa61b76f4833c1d07cf3506ff4b212d98086de3885ba0aec","51cac533b4031fe5d4fecef5635afac9c0dca87c11f5b325e49e1600a9c51117","8b5baae22d64e1c47b88bdf16025396940393cfa830c66d9f330c1701e91ba91","913754f9281683f22d98d0ba7796896cee30c302baefa3dda69f61af8de244d8","a3e5b8b86e7bd38d9afdc294875c4445c535319e288d3a13c1e2e41f9af934f2","07a8b121d8256d717a496d25387a6f6a1218a49cd3d9dc7acc210382b1425a98","c824a031b54133fd5630aa0b295668d8b26df8ce0fcd1df639f2b3baf048a510","00b0c44ae6980b240d20aaf79b4f03fa38ff78028fa71a987a0414fb6ba0717a","bf45a2498ec7911454362c65ef3c87b161d91490d2d96a554f3263886c0e3503","89512590c820b78c5abbf9dbf142ec73313b6fd13fbfeb2d36726ada9d9a116b","65a8bb855c73a06382ee35ef73c97eb825d5a7d8958eaddeeea4838f17c8078f","d46671fe4a68752899ca1ebd86d30a5ec8b8f7bf8c237c5e5d25f3642afa0626","ea8b0f6227604e008a0a77929b3adb5090c34aea3a0a5de5b353952a7301c4ba","ac0e45806dfb87684696b8a268697c8e789c50e29fd285fec047830e773f9832","045748197508c31fd7bf7027b2b4a42f4c5f4f84ec39ce1e1af55ca779313456","7a67980f360af3825c0c8b6b3e3f659982c0027f64b6381b5103274c1c43f901","1d6ad485ca9dc7c5d9e2b61f20e4bd3facbeb4ef56af8f68d71ba6e4a9b9f6eb","9eecb248ca8e33c2b5b5674237bc2b8607f5662bcc03a3e025a55fbfdf069cdc","513f467aabe4b358a7a1e8391b6853bae204ab1e0eeab09278a3681a0e817873","98ba928e8dbe0a40869a5fb6b6c1c29a0eea45c00eca83f637ccc7709d891699","bad5f76c1898357a0249bbd9f09d24f8936578b4ce2b69cfa058fd4c98ae5964","0b3cffa3ad0cfc19cdf7e7d1a6f62138427c379029586db1e3bee49473cb4615","67b6fd555e138203af09a667ecaf12cbf83ef2d1e1e91923081b35755e5977e9","efae7b4a2dcf2c1e42023a2e42ff2f5cb19829440e2eeafcf1dbedfea4ceec6c","37ae61154c01fbc96f3c88e19755b9cdbdd8895cfd4d5cdfafa4b09158a683f0","e4cd60d669bc6592b8bf26bfe3be5dd8a3c8038a2f86f74af9123033641c0a4c","b8d13e8ce35b2fe9b11902d0b9feabfe365627bb16114df84a8bcbf92d5991c4","d1e35f1b3ee738c6cefabd665de7fcd72e3462b34c9f942fa685302d0be25922","f720a94058231196b81855293bbf4c6ee5226708e2c986d38f1fb9697f504f8a","1a7221f1bea8080b6584c383df96d4100179748de1388239655e54ed9d606996","b7d3249cbee977a046efe0f325dc7f553f767b4a26c2360635b81ce800e7e913","539ea2f344e4fce2e77580cd7a5d7f4339926f589321231bc279960e3400772c","b1b83b75b5072ee10c8cd8f374d0c589334761f1834a99a9617441aaedcf36c2","a4a4d800663fe45e65640e784a5973d7f56b544b7e2effbc478edc77610189f5","bb9bc38371e0c0d524420594c4128d4ec39c218f823c936e6b9892839b8ad126","1cf790bc4bef026b98cd90370d12d5d68cd845e7d055102a35ad2afa236c3d0c","e12caf7b64fa0c90bb21d5a29c17664c34a4b06cd432e4925bc4003b42e502d5","903456a035d80598a398c89af6fb6752c49703c4048af0c610fdebd2bcfd7b0c","cd95632585111aa5c5e76dc49b7781f8cdacc7660f8028c8482278c34c248fa0","ea97c663f8c9e5c5b33b008d036d901c342745cc9c0876e822d7f1ecbb87f8d0","64c55e5bbd1580a436bd34bee04f170ae2dca48cfc967fdf71aadf6171b27e64","da3ccf68e9f57491231c52b9127ec5d96c19fd4ee95a91fdb643bac31bc9a2f5","8526249c4486650b51b73ef9ae452fb6ef3254b2e73a1625c68889a9a3bfc070","44fef001b60bc425df2a36e532e867918012e5b50f5a6948c84974a25f93c99a","54eec6988ca92621b079695b65f128a22460400f7af04227a15f6db31b936618","66d1ad7b4b9beb88809845c71ec64b8044b41700a436ec5136fcc5e0dfacdb05",{"version":"d50d5f2cc94307f9b6681ea4c48bbc28101faaaa87edfc64aab5a0a66414b586","affectsGlobalScope":true},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d982cdd2610155b3cbcbfa62ccabcf2d2b739f821518ef113348d160ef0010d9","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2",{"version":"1de1ad6a1929317171d8cfcd55bb2732257680c1bf89bcd53e1d46a4d8dbda22","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":false,"esModuleInterop":true,"jsx":2,"module":1,"skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[101,241],[101],[101,196],[101,243,245],[101,243],[101,142,244],[101,242],[58,101],[61,101],[62,67,101],[63,73,74,81,90,100,101],[63,64,73,81,101],[65,101],[66,67,74,82,101],[67,90,97,101],[68,70,73,81,101],[69,101],[70,71,101],[72,73,101],[73,101],[73,74,75,90,100,101],[73,74,75,90,101],[76,81,90,100,101],[73,74,76,77,81,90,97,100,101],[76,78,90,97,100,101],[58,59,60,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],[73,79,101],[80,100,101],[70,73,81,90,101],[82,101],[83,101],[61,84,101],[85,99,101,105],[86,101],[87,101],[73,88,101],[88,89,101,103],[73,90,91,92,101],[90,92,101],[90,91,101],[93,101],[94,101],[73,95,96,101],[95,96,101],[67,81,97,101],[98,101],[81,99,101],[62,76,87,100,101],[67,101],[90,101,102],[101,103],[101,104],[62,67,73,75,84,90,100,101,103,105],[90,101,106],[101,109,110,111,112],[55,56,101],[101,113],[101,113,212,213],[101,212,213,214],[101,113,138,143,146],[101,113,143],[101,108,113],[101,113,138,142,143],[101,139,140,143,145],[101,149],[101,163],[101,152],[101,150],[101,151],[101,115,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165],[101,146],[101,145],[101,144,146],[101,108,113,114],[101,138,140,141,142],[63,101],[101,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137],[101,130],[101,117,132],[101,132],[101,116],[101,117],[101,138],[101,139],[90,101],[101,194],[101,170,171,172,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,189,190,191,192],[100,101,176,180],[90,100,101,176],[100,101,174,176,180],[97,100,101,173,176],[81,97,101],[81,100,101,173,176],[62,73,76,90,100,101,169,172,175],[76,101,174],[62,93,100,101,108,172,176],[62,101,108],[101,108,170,171],[101,176],[101,176,183,184],[101,174,176,184,185],[101,175],[76,101,171,176],[101,176,180,184,185],[101,180],[100,101,174,176,179],[97,101,176,183],[62,90,101],[74,82,83,101,223],[100,101,193,202,208,217],[58,100,101,193,202,208,210,216,223],[74,83,101,195,198,199,202],[101,202],[101,201],[74,82,83,101,204],[101,197],[101,200,201],[101,202,206],[101,216],[101,230,236],[74,101,224,225,227,228],[75,83,101,200,225,227],[101,231],[101,230],[101,225,230,233],[83,101,225,227,230,231],[101,230,233,235,236,237],[101,230,233,235,237],[75,83,101,225,226],[54,74,83,101,200,202],[65,83,101],[63,101,193,202],[101,201,209,210],[101,113,166,202,211,215,218],[67,101,223],[101,219,222],[54,57,58,67,74,76,83,87,100,101,113,166,167,193,198,199,202,203,205,207,208,209,211,219,220,221]],"referencedMap":[[242,1],[241,2],[197,3],[246,4],[240,2],[244,5],[245,6],[243,7],[58,8],[59,8],[61,9],[62,10],[63,11],[64,12],[65,13],[66,14],[67,15],[68,16],[69,17],[70,18],[71,18],[72,19],[73,20],[74,21],[75,22],[60,2],[107,2],[76,23],[77,24],[78,25],[108,26],[79,27],[80,28],[81,29],[82,30],[83,31],[84,32],[85,33],[86,34],[87,35],[88,36],[89,37],[90,38],[92,39],[91,40],[93,41],[94,42],[95,43],[96,44],[97,45],[98,46],[99,47],[100,48],[101,49],[102,50],[103,51],[104,52],[105,53],[106,54],[111,2],[109,2],[113,55],[112,2],[139,2],[55,2],[57,56],[56,2],[168,2],[196,2],[141,2],[110,2],[200,2],[212,57],[213,57],[214,58],[215,59],[167,57],[149,57],[147,60],[163,57],[155,57],[156,57],[153,61],[152,62],[150,62],[151,62],[148,63],[154,57],[146,64],[158,65],[164,66],[162,2],[157,2],[161,67],[159,68],[160,69],[166,70],[114,62],[165,71],[144,72],[145,73],[115,74],[143,75],[142,2],[206,76],[138,77],[131,78],[116,2],[133,79],[132,2],[134,80],[117,2],[125,81],[120,2],[119,82],[118,2],[127,2],[136,83],[123,81],[126,2],[130,2],[124,81],[121,82],[122,2],[128,82],[129,82],[137,2],[135,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[52,2],[1,2],[10,2],[53,2],[204,2],[140,84],[54,85],[195,86],[194,2],[193,87],[183,88],[190,89],[182,90],[174,91],[173,92],[191,93],[176,94],[175,95],[171,96],[170,97],[172,98],[177,99],[178,2],[181,99],[192,99],[185,100],[186,101],[188,102],[184,103],[187,104],[179,105],[180,106],[189,107],[169,108],[216,2],[224,109],[218,110],[217,111],[203,112],[201,113],[210,114],[235,2],[205,115],[239,2],[198,116],[199,2],[202,117],[207,118],[230,119],[237,120],[229,121],[228,122],[226,2],[232,123],[231,124],[234,125],[233,126],[238,127],[236,128],[227,129],[208,130],[225,131],[209,132],[211,133],[219,134],[220,2],[221,135],[223,136],[222,137]],"exportedModulesMap":[[242,1],[241,2],[197,3],[246,4],[240,2],[244,5],[245,6],[243,7],[58,8],[59,8],[61,9],[62,10],[63,11],[64,12],[65,13],[66,14],[67,15],[68,16],[69,17],[70,18],[71,18],[72,19],[73,20],[74,21],[75,22],[60,2],[107,2],[76,23],[77,24],[78,25],[108,26],[79,27],[80,28],[81,29],[82,30],[83,31],[84,32],[85,33],[86,34],[87,35],[88,36],[89,37],[90,38],[92,39],[91,40],[93,41],[94,42],[95,43],[96,44],[97,45],[98,46],[99,47],[100,48],[101,49],[102,50],[103,51],[104,52],[105,53],[106,54],[111,2],[109,2],[113,55],[112,2],[139,2],[55,2],[57,56],[56,2],[168,2],[196,2],[141,2],[110,2],[200,2],[212,57],[213,57],[214,58],[215,59],[167,57],[149,57],[147,60],[163,57],[155,57],[156,57],[153,61],[152,62],[150,62],[151,62],[148,63],[154,57],[146,64],[158,65],[164,66],[162,2],[157,2],[161,67],[159,68],[160,69],[166,70],[114,62],[165,71],[144,72],[145,73],[115,74],[143,75],[142,2],[206,76],[138,77],[131,78],[116,2],[133,79],[132,2],[134,80],[117,2],[125,81],[120,2],[119,82],[118,2],[127,2],[136,83],[123,81],[126,2],[130,2],[124,81],[121,82],[122,2],[128,82],[129,82],[137,2],[135,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[52,2],[1,2],[10,2],[53,2],[204,2],[140,84],[54,85],[195,86],[194,2],[193,87],[183,88],[190,89],[182,90],[174,91],[173,92],[191,93],[176,94],[175,95],[171,96],[170,97],[172,98],[177,99],[178,2],[181,99],[192,99],[185,100],[186,101],[188,102],[184,103],[187,104],[179,105],[180,106],[189,107],[169,108],[216,2],[224,109],[218,110],[217,111],[203,112],[201,113],[210,114],[235,2],[205,115],[239,2],[198,116],[199,2],[202,117],[207,118],[230,119],[237,120],[229,121],[228,122],[226,2],[232,123],[231,124],[234,125],[233,126],[238,127],[236,128],[227,129],[208,130],[225,131],[209,132],[211,133],[219,134],[220,2],[221,135],[223,136],[222,137]],"semanticDiagnosticsPerFile":[242,241,197,246,240,244,245,243,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,60,107,76,77,78,108,79,80,81,82,83,84,85,86,87,88,89,90,92,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,111,109,113,112,139,55,57,56,168,196,141,110,200,212,213,214,215,167,149,147,163,155,156,153,152,150,151,148,154,146,158,164,162,157,161,159,160,166,114,165,144,145,115,143,142,206,138,131,116,133,132,134,117,125,120,119,118,127,136,123,126,130,124,121,122,128,129,137,135,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,204,140,54,195,194,193,183,190,182,174,173,191,176,175,171,170,172,177,178,181,192,185,186,188,184,187,179,180,189,169,216,224,218,217,203,201,210,235,205,239,198,199,202,207,230,237,229,228,226,232,231,234,233,238,236,227,208,225,209,211,219,220,221,223,222],"affectedFilesPendingEmit":[[242,1],[241,1],[197,1],[246,1],[240,1],[244,1],[245,1],[243,1],[58,1],[59,1],[61,1],[62,1],[63,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],[60,1],[107,1],[76,1],[77,1],[78,1],[108,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[92,1],[91,1],[93,1],[94,1],[95,1],[96,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[104,1],[105,1],[106,1],[111,1],[109,1],[113,1],[112,1],[139,1],[55,1],[57,1],[56,1],[168,1],[196,1],[141,1],[110,1],[200,1],[212,1],[213,1],[214,1],[215,1],[167,1],[149,1],[147,1],[163,1],[155,1],[156,1],[153,1],[152,1],[150,1],[151,1],[148,1],[154,1],[146,1],[158,1],[164,1],[162,1],[157,1],[161,1],[159,1],[160,1],[166,1],[114,1],[165,1],[144,1],[145,1],[115,1],[143,1],[142,1],[206,1],[138,1],[131,1],[116,1],[133,1],[132,1],[134,1],[117,1],[125,1],[120,1],[119,1],[118,1],[127,1],[136,1],[123,1],[126,1],[130,1],[124,1],[121,1],[122,1],[128,1],[129,1],[137,1],[135,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[10,1],[204,1],[140,1],[54,1],[195,1],[194,1],[193,1],[183,1],[190,1],[182,1],[174,1],[173,1],[191,1],[176,1],[175,1],[171,1],[170,1],[172,1],[177,1],[178,1],[181,1],[192,1],[185,1],[186,1],[188,1],[184,1],[187,1],[179,1],[180,1],[189,1],[169,1],[216,1],[224,1],[218,1],[217,1],[203,1],[201,1],[210,1],[235,1],[205,1],[239,1],[198,1],[199,1],[202,1],[207,1],[230,1],[237,1],[229,1],[228,1],[226,1],[232,1],[231,1],[234,1],[233,1],[238,1],[236,1],[227,1],[208,1],[225,1],[209,1],[211,1],[219,1],[220,1],[221,1],[223,1],[222,1]]},"version":"4.8.4"}
@@ -0,0 +1,82 @@
1
+ import { existsSync, lstatSync, readFileSync, writeFileSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { FatalError } from "../errors";
4
+ import { logger } from "../logger";
5
+ import { isInPagesCI } from "./constants";
6
+ import { optimizeRoutesJSONSpec } from "./functions/routes-transformation";
7
+ import { validateRoutes } from "./functions/routes-validation";
8
+ import { pagesBetaWarning } from "./utils";
9
+ import type { YargsOptionsToInterface } from "../yargs-types";
10
+ import type { Argv } from "yargs";
11
+
12
+ type OptimizeRoutesArgs = YargsOptionsToInterface<typeof OptimizeRoutesOptions>;
13
+
14
+ export function OptimizeRoutesOptions(yargs: Argv) {
15
+ return yargs
16
+ .options({
17
+ "routes-path": {
18
+ type: "string",
19
+ demandOption: true,
20
+ description: "The location of the _routes.json file",
21
+ },
22
+ })
23
+ .options({
24
+ "output-routes-path": {
25
+ type: "string",
26
+ demandOption: true,
27
+ description: "The location of the optimized output routes file",
28
+ },
29
+ });
30
+ }
31
+
32
+ export async function OptimizeRoutesHandler({
33
+ routesPath,
34
+ outputRoutesPath,
35
+ }: OptimizeRoutesArgs) {
36
+ if (!isInPagesCI) {
37
+ // Beta message for `wrangler pages <commands>` usage
38
+ logger.log(pagesBetaWarning);
39
+ }
40
+
41
+ let routesFileContents: string;
42
+ const routesOutputDirectory = path.dirname(outputRoutesPath);
43
+
44
+ if (!existsSync(routesPath)) {
45
+ throw new FatalError(
46
+ `Oops! File ${routesPath} does not exist. Please make sure --routes-path is a valid file path (for example "/public/_routes.json").`,
47
+ 1
48
+ );
49
+ }
50
+
51
+ if (
52
+ !existsSync(routesOutputDirectory) ||
53
+ !lstatSync(routesOutputDirectory).isDirectory()
54
+ ) {
55
+ throw new FatalError(
56
+ `Oops! Folder ${routesOutputDirectory} does not exist. Please make sure --output-routes-path is a valid file path (for example "/public/_routes.json").`,
57
+ 1
58
+ );
59
+ }
60
+
61
+ try {
62
+ routesFileContents = readFileSync(routesPath, "utf-8");
63
+ } catch (err) {
64
+ throw new FatalError(`Error while reading ${routesPath} file: ${err}`);
65
+ }
66
+
67
+ const routes = JSON.parse(routesFileContents);
68
+
69
+ validateRoutes(routes, routesPath);
70
+
71
+ const optimizedRoutes = optimizeRoutesJSONSpec(routes);
72
+ const optimizedRoutesContents = JSON.stringify(optimizedRoutes);
73
+
74
+ try {
75
+ writeFileSync(outputRoutesPath, optimizedRoutesContents);
76
+ } catch (err) {
77
+ throw new FatalError(
78
+ `Error writing to ${outputRoutesPath} file: ${err}`,
79
+ 1
80
+ );
81
+ }
82
+ }
@@ -0,0 +1,13 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { extname } from "node:path";
3
+ import { hash as blake3hash } from "blake3-wasm";
4
+
5
+ export const hashFile = (filepath: string) => {
6
+ const contents = readFileSync(filepath);
7
+ const base64Contents = contents.toString("base64");
8
+ const extension = extname(filepath).substring(1);
9
+
10
+ return blake3hash(base64Contents + extension)
11
+ .toString("hex")
12
+ .slice(0, 32);
13
+ };
@@ -0,0 +1,102 @@
1
+ /* eslint-disable no-shadow */
2
+
3
+ import * as Build from "./build";
4
+ import * as DeploymentTails from "./deployment-tails";
5
+ import * as Deployments from "./deployments";
6
+ import * as Dev from "./dev";
7
+ import * as Functions from "./functions";
8
+ import * as Projects from "./projects";
9
+ import * as Publish from "./publish";
10
+ import * as Upload from "./upload";
11
+ import { CLEANUP, pagesBetaWarning } from "./utils";
12
+ import type { BuilderCallback } from "yargs";
13
+
14
+ process.on("SIGINT", () => {
15
+ CLEANUP();
16
+ process.exit();
17
+ });
18
+ process.on("SIGTERM", () => {
19
+ CLEANUP();
20
+ process.exit();
21
+ });
22
+
23
+ export const pages: BuilderCallback<unknown, unknown> = (yargs) => {
24
+ return (
25
+ yargs
26
+ .command(
27
+ "dev [directory] [-- command..]",
28
+ "🧑‍💻 Develop your full-stack Pages application locally",
29
+ Dev.Options,
30
+ Dev.Handler
31
+ )
32
+ /**
33
+ * `wrangler pages functions` is meant for internal use only for now,
34
+ * so let's hide this command from the help output
35
+ */
36
+ .command("functions", false, (yargs) =>
37
+ yargs
38
+ .command(
39
+ "build [directory]",
40
+ "Compile a folder of Cloudflare Pages Functions into a single Worker",
41
+ Build.Options,
42
+ Build.Handler
43
+ )
44
+ .command(
45
+ "optimize-routes [routesPath] [outputRoutesPath]",
46
+ "Consolidate and optimize the route paths declared in _routes.json",
47
+ Functions.OptimizeRoutesOptions,
48
+ Functions.OptimizeRoutesHandler
49
+ )
50
+ )
51
+ .command("project", "⚡️ Interact with your Pages projects", (yargs) =>
52
+ yargs
53
+ .command(
54
+ "list",
55
+ "List your Cloudflare Pages projects",
56
+ Projects.ListOptions,
57
+ Projects.ListHandler
58
+ )
59
+ .command(
60
+ "create [project-name]",
61
+ "Create a new Cloudflare Pages project",
62
+ Projects.CreateOptions,
63
+ Projects.CreateHandler
64
+ )
65
+ .command("upload [directory]", false, Upload.Options, Upload.Handler)
66
+ .epilogue(pagesBetaWarning)
67
+ )
68
+ .command(
69
+ "deployment",
70
+ "🚀 Interact with the deployments of a project",
71
+ (yargs) =>
72
+ yargs
73
+ .command(
74
+ "list",
75
+ "List deployments in your Cloudflare Pages project",
76
+ Deployments.ListOptions,
77
+ Deployments.ListHandler
78
+ )
79
+ .command(
80
+ "create [directory]",
81
+ "🆙 Publish a directory of static assets as a Pages deployment",
82
+ Publish.Options,
83
+ Publish.Handler
84
+ )
85
+ .command(
86
+ "tail [deployment]",
87
+ "Start a tailing session for a project's deployment and " +
88
+ "livestream logs from your Functions",
89
+ DeploymentTails.Options,
90
+ DeploymentTails.Handler
91
+ )
92
+ .epilogue(pagesBetaWarning)
93
+ )
94
+ .command(
95
+ "publish [directory]",
96
+ "🆙 Publish a directory of static assets as a Pages deployment",
97
+ Publish.Options,
98
+ Publish.Handler
99
+ )
100
+ .epilogue(pagesBetaWarning)
101
+ );
102
+ };
@@ -0,0 +1,169 @@
1
+ import { execSync } from "node:child_process";
2
+ import { render } from "ink";
3
+ import Table from "ink-table";
4
+ import React from "react";
5
+ import { format as timeagoFormat } from "timeago.js";
6
+ import { fetchResult } from "../cfetch";
7
+ import { getConfigCache, saveToConfigCache } from "../config-cache";
8
+ import { prompt } from "../dialogs";
9
+ import { FatalError } from "../errors";
10
+ import { logger } from "../logger";
11
+ import * as metrics from "../metrics";
12
+ import { requireAuth } from "../user";
13
+ import { PAGES_CONFIG_CACHE_FILENAME } from "./constants";
14
+ import { pagesBetaWarning } from "./utils";
15
+ import type { PagesConfigCache, Project } from "./types";
16
+ import type { ArgumentsCamelCase, Argv } from "yargs";
17
+
18
+ // Empty object, as per eslint
19
+ type ListArgs = Record<string, never>;
20
+
21
+ export function ListOptions(yargs: Argv): Argv<ListArgs> {
22
+ return yargs.epilogue(pagesBetaWarning);
23
+ }
24
+
25
+ export async function ListHandler() {
26
+ const config = getConfigCache<PagesConfigCache>(PAGES_CONFIG_CACHE_FILENAME);
27
+
28
+ const accountId = await requireAuth(config);
29
+
30
+ const projects: Array<Project> = await listProjects({ accountId });
31
+
32
+ const data = projects.map((project) => {
33
+ return {
34
+ "Project Name": project.name,
35
+ "Project Domains": `${project.domains.join(", ")}`,
36
+ "Git Provider": project.source ? "Yes" : "No",
37
+ "Last Modified": project.latest_deployment
38
+ ? timeagoFormat(project.latest_deployment.modified_on)
39
+ : timeagoFormat(project.created_on),
40
+ };
41
+ });
42
+
43
+ saveToConfigCache<PagesConfigCache>(PAGES_CONFIG_CACHE_FILENAME, {
44
+ account_id: accountId,
45
+ });
46
+
47
+ const { unmount } = render(<Table data={data}></Table>, {
48
+ patchConsole: false,
49
+ });
50
+ unmount();
51
+ await metrics.sendMetricsEvent("list pages projects");
52
+ }
53
+
54
+ export const listProjects = async ({
55
+ accountId,
56
+ }: {
57
+ accountId: string;
58
+ }): Promise<Array<Project>> => {
59
+ const pageSize = 10;
60
+ let page = 1;
61
+ const results = [];
62
+ while (results.length % pageSize === 0) {
63
+ const json: Array<Project> = await fetchResult(
64
+ `/accounts/${accountId}/pages/projects`,
65
+ {},
66
+ new URLSearchParams({
67
+ per_page: pageSize.toString(),
68
+ page: page.toString(),
69
+ })
70
+ );
71
+ page++;
72
+ results.push(...json);
73
+ if (json.length < pageSize) {
74
+ break;
75
+ }
76
+ }
77
+ return results;
78
+ };
79
+
80
+ type CreateArgs = {
81
+ "project-name": string;
82
+ "production-branch"?: string;
83
+ };
84
+
85
+ export function CreateOptions(yargs: Argv): Argv<CreateArgs> {
86
+ return yargs
87
+ .positional("project-name", {
88
+ type: "string",
89
+ demandOption: true,
90
+ description: "The name of your Pages project",
91
+ })
92
+ .options({
93
+ "production-branch": {
94
+ type: "string",
95
+ description: "The name of the production branch of your project",
96
+ },
97
+ })
98
+ .epilogue(pagesBetaWarning);
99
+ }
100
+
101
+ export async function CreateHandler({
102
+ productionBranch,
103
+ projectName,
104
+ }: ArgumentsCamelCase<CreateArgs>) {
105
+ const config = getConfigCache<PagesConfigCache>(PAGES_CONFIG_CACHE_FILENAME);
106
+ const accountId = await requireAuth(config);
107
+
108
+ const isInteractive = process.stdin.isTTY;
109
+ if (!projectName && isInteractive) {
110
+ projectName = await prompt("Enter the name of your new project:");
111
+ }
112
+
113
+ if (!projectName) {
114
+ throw new FatalError("Must specify a project name.", 1);
115
+ }
116
+
117
+ if (!productionBranch && isInteractive) {
118
+ let isGitDir = true;
119
+ try {
120
+ execSync(`git rev-parse --is-inside-work-tree`, {
121
+ stdio: "ignore",
122
+ });
123
+ } catch (err) {
124
+ isGitDir = false;
125
+ }
126
+
127
+ if (isGitDir) {
128
+ try {
129
+ productionBranch = execSync(`git rev-parse --abbrev-ref HEAD`)
130
+ .toString()
131
+ .trim();
132
+ } catch (err) {}
133
+ }
134
+
135
+ productionBranch = await prompt(
136
+ "Enter the production branch name:",
137
+ "text",
138
+ productionBranch ?? "production"
139
+ );
140
+ }
141
+
142
+ if (!productionBranch) {
143
+ throw new FatalError("Must specify a production branch.", 1);
144
+ }
145
+
146
+ const { subdomain } = await fetchResult<Project>(
147
+ `/accounts/${accountId}/pages/projects`,
148
+ {
149
+ method: "POST",
150
+ body: JSON.stringify({
151
+ name: projectName,
152
+ production_branch: productionBranch,
153
+ }),
154
+ }
155
+ );
156
+
157
+ saveToConfigCache<PagesConfigCache>(PAGES_CONFIG_CACHE_FILENAME, {
158
+ account_id: accountId,
159
+ project_name: projectName,
160
+ });
161
+
162
+ logger.log(
163
+ `✨ Successfully created the '${projectName}' project. It will be available at https://${subdomain}/ once you create your first deployment.`
164
+ );
165
+ logger.log(
166
+ `To deploy a folder of assets, run 'wrangler pages publish [directory]'.`
167
+ );
168
+ await metrics.sendMetricsEvent("create pages project");
169
+ }