wrangler 0.0.0-e3cab74 → 0.0.0-e3d46ab3

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 (158) hide show
  1. package/README.md +47 -16
  2. package/bin/wrangler.js +95 -32
  3. package/config-schema.json +2939 -0
  4. package/kv-asset-handler.js +1 -0
  5. package/package.json +135 -84
  6. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  7. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  8. package/templates/__tests__/tsconfig.json +8 -0
  9. package/templates/checked-fetch.js +30 -0
  10. package/templates/facade.d.ts +19 -0
  11. package/templates/gitignore +167 -0
  12. package/templates/init-tests/test-jest-new-worker.js +23 -0
  13. package/templates/init-tests/test-vitest-new-worker.js +24 -0
  14. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  15. package/templates/middleware/common.ts +67 -0
  16. package/templates/middleware/loader-modules.ts +134 -0
  17. package/templates/middleware/loader-sw.ts +229 -0
  18. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  19. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  20. package/templates/middleware/middleware-pretty-error.ts +40 -0
  21. package/templates/middleware/middleware-scheduled.ts +15 -0
  22. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  23. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  24. package/templates/modules-watch-stub.js +4 -0
  25. package/templates/new-worker-scheduled.js +17 -0
  26. package/templates/new-worker-scheduled.ts +32 -0
  27. package/templates/new-worker.js +3 -3
  28. package/templates/new-worker.ts +22 -4
  29. package/templates/no-op-worker.js +10 -0
  30. package/templates/pages-dev-pipeline.ts +32 -0
  31. package/templates/pages-dev-util.ts +55 -0
  32. package/templates/pages-shim.ts +9 -0
  33. package/templates/pages-template-plugin.ts +190 -0
  34. package/templates/pages-template-worker.ts +198 -0
  35. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  36. package/templates/startDevWorker/ProxyWorker.ts +334 -0
  37. package/templates/tsconfig-sanity.ts +11 -0
  38. package/templates/tsconfig.init.json +105 -0
  39. package/templates/tsconfig.json +6 -103
  40. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  41. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  42. package/wrangler-dist/ProxyWorker.js +240 -0
  43. package/wrangler-dist/ProxyWorker.js.map +6 -0
  44. package/wrangler-dist/cli.d.ts +24056 -0
  45. package/wrangler-dist/cli.js +199391 -131806
  46. package/wrangler-dist/wasm-sync.wasm +0 -0
  47. package/import_meta_url.js +0 -3
  48. package/miniflare-config-stubs/.env.empty +0 -0
  49. package/miniflare-config-stubs/package.empty.json +0 -1
  50. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  51. package/pages/functions/buildWorker.ts +0 -62
  52. package/pages/functions/filepath-routing.test.ts +0 -123
  53. package/pages/functions/filepath-routing.ts +0 -178
  54. package/pages/functions/identifiers.ts +0 -78
  55. package/pages/functions/routes.ts +0 -151
  56. package/pages/functions/template-worker.ts +0 -130
  57. package/src/__tests__/configuration.test.ts +0 -2185
  58. package/src/__tests__/dev.test.tsx +0 -113
  59. package/src/__tests__/guess-worker-format.test.ts +0 -66
  60. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  61. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  62. package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
  63. package/src/__tests__/helpers/mock-account-id.ts +0 -30
  64. package/src/__tests__/helpers/mock-bin.ts +0 -36
  65. package/src/__tests__/helpers/mock-cfetch.ts +0 -207
  66. package/src/__tests__/helpers/mock-console.ts +0 -62
  67. package/src/__tests__/helpers/mock-dialogs.ts +0 -65
  68. package/src/__tests__/helpers/mock-kv.ts +0 -40
  69. package/src/__tests__/helpers/mock-user.ts +0 -27
  70. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  71. package/src/__tests__/helpers/run-in-tmp.ts +0 -29
  72. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  73. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  74. package/src/__tests__/index.test.ts +0 -866
  75. package/src/__tests__/jest.setup.ts +0 -57
  76. package/src/__tests__/kv.test.ts +0 -1141
  77. package/src/__tests__/logout.test.ts +0 -50
  78. package/src/__tests__/package-manager.test.ts +0 -206
  79. package/src/__tests__/parse.test.ts +0 -322
  80. package/src/__tests__/publish.test.ts +0 -2406
  81. package/src/__tests__/r2.test.ts +0 -198
  82. package/src/__tests__/secret.test.ts +0 -326
  83. package/src/__tests__/sentry.test.ts +0 -146
  84. package/src/__tests__/tail.test.ts +0 -564
  85. package/src/__tests__/whoami.test.tsx +0 -86
  86. package/src/api/form_data.ts +0 -217
  87. package/src/api/preview.ts +0 -147
  88. package/src/api/worker.ts +0 -186
  89. package/src/bundle.ts +0 -133
  90. package/src/cfetch/index.ts +0 -104
  91. package/src/cfetch/internal.ts +0 -133
  92. package/src/cli.ts +0 -19
  93. package/src/config/README.md +0 -107
  94. package/src/config/config.ts +0 -265
  95. package/src/config/diagnostics.ts +0 -80
  96. package/src/config/environment.ts +0 -305
  97. package/src/config/index.ts +0 -52
  98. package/src/config/validation-helpers.ts +0 -370
  99. package/src/config/validation.ts +0 -1017
  100. package/src/dev.tsx +0 -961
  101. package/src/dialogs.tsx +0 -77
  102. package/src/entry.ts +0 -57
  103. package/src/environment-variables.ts +0 -33
  104. package/src/guess-worker-format.ts +0 -68
  105. package/src/index.tsx +0 -2327
  106. package/src/inspect.ts +0 -609
  107. package/src/kv.tsx +0 -275
  108. package/src/module-collection.ts +0 -170
  109. package/src/open-in-browser.ts +0 -13
  110. package/src/package-manager.ts +0 -126
  111. package/src/pages.tsx +0 -1045
  112. package/src/parse.ts +0 -183
  113. package/src/paths.ts +0 -26
  114. package/src/proxy.ts +0 -376
  115. package/src/publish.ts +0 -368
  116. package/src/r2.ts +0 -50
  117. package/src/reporting.ts +0 -115
  118. package/src/sites.tsx +0 -241
  119. package/src/tail/filters.ts +0 -279
  120. package/src/tail/index.ts +0 -299
  121. package/src/tail/printing.ts +0 -62
  122. package/src/user.tsx +0 -1049
  123. package/src/whoami.tsx +0 -69
  124. package/templates/static-asset-facade.js +0 -47
  125. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  126. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  127. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  128. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  129. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  130. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  131. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  132. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  133. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  134. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  135. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  136. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  137. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  138. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  139. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  140. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  141. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  142. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  143. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  144. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  145. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  146. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  147. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  148. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  149. package/vendor/wrangler-mime/LICENSE +0 -21
  150. package/vendor/wrangler-mime/Mime.js +0 -97
  151. package/vendor/wrangler-mime/README.md +0 -187
  152. package/vendor/wrangler-mime/cli.js +0 -46
  153. package/vendor/wrangler-mime/index.js +0 -4
  154. package/vendor/wrangler-mime/lite.js +0 -4
  155. package/vendor/wrangler-mime/package.json +0 -52
  156. package/vendor/wrangler-mime/types/other.js +0 -1
  157. package/vendor/wrangler-mime/types/standard.js +0 -1
  158. package/wrangler-dist/cli.js.map +0 -7
package/src/dialogs.tsx DELETED
@@ -1,77 +0,0 @@
1
- import { Box, Text, useInput, render } from "ink";
2
- import TextInput from "ink-text-input";
3
- import * as React from "react";
4
- import { useState } from "react";
5
- type ConfirmProps = {
6
- text: string;
7
- onConfirm: (answer: boolean) => void;
8
- };
9
- function Confirm(props: ConfirmProps) {
10
- useInput((input: string) => {
11
- if (input === "y") {
12
- props.onConfirm(true);
13
- } else if (input === "n") {
14
- props.onConfirm(false);
15
- } else {
16
- console.log("Unrecognised input");
17
- }
18
- });
19
- return (
20
- <Box>
21
- <Text>{props.text} (y/n) </Text>
22
- </Box>
23
- );
24
- }
25
-
26
- export function confirm(text: string): Promise<boolean> {
27
- return new Promise((resolve) => {
28
- const { unmount } = render(
29
- <Confirm
30
- text={text}
31
- onConfirm={(answer: boolean) => {
32
- unmount();
33
- resolve(answer);
34
- }}
35
- />
36
- );
37
- });
38
- }
39
-
40
- type PromptProps = {
41
- text: string;
42
- type?: "text" | "password";
43
- onSubmit: (text: string) => void;
44
- };
45
-
46
- function Prompt(props: PromptProps) {
47
- const [value, setValue] = useState("");
48
-
49
- return (
50
- <Box>
51
- <Text>{props.text} </Text>
52
- <Box>
53
- <TextInput
54
- mask={props.type === "password" ? "*" : undefined}
55
- value={value}
56
- onChange={setValue}
57
- onSubmit={props.onSubmit}
58
- />
59
- </Box>
60
- </Box>
61
- );
62
- }
63
-
64
- export async function prompt(text: string, type: "text" | "password" = "text") {
65
- return new Promise((resolve) => {
66
- const { unmount } = render(
67
- <Prompt
68
- text={text}
69
- type={type}
70
- onSubmit={(inputText) => {
71
- unmount();
72
- resolve(inputText);
73
- }}
74
- />
75
- );
76
- });
77
- }
package/src/entry.ts DELETED
@@ -1,57 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import path from "node:path";
3
- import type { Config } from "./config";
4
-
5
- /**
6
- * An entry point for the Worker.
7
- *
8
- * It consists not just of a `file`, but also of a `directory` that is used to resolve relative paths.
9
- */
10
- export type Entry = { file: string; directory: string };
11
-
12
- /**
13
- * Compute the entry-point for the Worker.
14
- */
15
- export function getEntry(
16
- config: Config,
17
- command: string,
18
- script?: string
19
- ): Entry {
20
- let file: string;
21
- let directory = process.cwd();
22
- if (script) {
23
- // If the script name comes from the command line it is relative to the current working directory.
24
- file = path.resolve(script);
25
- } else if (config.main === undefined) {
26
- throw new Error(
27
- `Missing entry-point: The entry-point should be specified via the command line (e.g. \`wrangler ${command} path/to/script\`) or the \`main\` config field.`
28
- );
29
- } else {
30
- directory = path.resolve(path.dirname(config.configPath ?? "."));
31
- file = path.resolve(directory, config.main);
32
- }
33
-
34
- if (!config.build?.command && fileExists(file) === false) {
35
- throw new Error(
36
- `Could not resolve "${path.relative(process.cwd(), file)}".`
37
- );
38
- }
39
- return { file, directory };
40
- }
41
-
42
- /**
43
- * Returns true if the given `filePath` exists as-is,
44
- * or if some version of it (by appending a common extension) exists.
45
- */
46
- export function fileExists(filePath: string): boolean {
47
- if (path.extname(filePath) !== "") {
48
- return existsSync(filePath);
49
- }
50
- const base = path.join(path.dirname(filePath), path.basename(filePath));
51
- for (const ext of [".ts", ".tsx", ".js", ".jsx"]) {
52
- if (existsSync(base + ext)) {
53
- return true;
54
- }
55
- }
56
- return false;
57
- }
@@ -1,33 +0,0 @@
1
- /**
2
- * Create a function used to access an environment variable.
3
- *
4
- * This is not memoized to allow us to change the value at runtime, such as in testing.
5
- * A warning is shown if the client is using a deprecated version - but only once.
6
- */
7
- export function getEnvironmentVariableFactory({
8
- variableName,
9
- deprecatedName,
10
- defaultValue,
11
- }: {
12
- variableName: string;
13
- deprecatedName?: string;
14
- defaultValue?: string;
15
- }) {
16
- let hasWarned = false;
17
- return () => {
18
- if (process.env[variableName]) {
19
- return process.env[variableName];
20
- } else if (deprecatedName && process.env[deprecatedName]) {
21
- if (!hasWarned) {
22
- // Only show the warning once.
23
- hasWarned = true;
24
- console.warn(
25
- `Using "${deprecatedName}" environment variable. This is deprecated. Please use "${variableName}", instead.`
26
- );
27
- }
28
- return process.env[deprecatedName];
29
- } else {
30
- return defaultValue;
31
- }
32
- };
33
- }
@@ -1,68 +0,0 @@
1
- import assert from "node:assert";
2
- import { build } from "esbuild";
3
- import type { CfScriptFormat } from "./api/worker";
4
- import type { Entry } from "./entry";
5
- import type { Metafile } from "esbuild";
6
-
7
- /**
8
- * A function to "guess" the type of worker.
9
- * We do this by running a lightweight build of the actual script,
10
- * and looking at the metafile generated by esbuild. If it has a default
11
- * export (or really, any exports), that means it's a "modules" worker.
12
- * Else, it's a "service-worker" worker. This seems hacky, but works remarkably
13
- * well in practice.
14
- */
15
- export default async function guessWorkerFormat(
16
- entry: Entry,
17
- hint: CfScriptFormat | undefined
18
- ): Promise<CfScriptFormat> {
19
- const result = await build({
20
- entryPoints: [entry.file],
21
- absWorkingDir: entry.directory,
22
- metafile: true,
23
- bundle: false,
24
- format: "esm",
25
- write: false,
26
- });
27
- // result.metafile is defined because of the `metafile: true` option above.
28
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
29
- const metafile = result.metafile!;
30
- const entryPoints = Object.entries(metafile.outputs).filter(
31
- ([_path, output]) => output.entryPoint !== undefined
32
- );
33
- assert(
34
- entryPoints.length > 0,
35
- `Cannot find entry-point "${entry.file}" in generated bundle.` +
36
- listEntryPoints(entryPoints)
37
- );
38
- assert(
39
- entryPoints.length < 2,
40
- "More than one entry-point found for generated bundle." +
41
- listEntryPoints(entryPoints)
42
- );
43
- const guessedWorkerFormat =
44
- entryPoints[0][1].exports.length > 0 ? "modules" : "service-worker";
45
-
46
- if (hint) {
47
- if (hint !== guessedWorkerFormat) {
48
- if (hint === "service-worker") {
49
- throw new Error(
50
- "You configured this worker to be a 'service-worker', but the file you are trying to build appears to have ES module exports. Please pass `--format modules`, or simply remove the configuration."
51
- );
52
- } else {
53
- throw new Error(
54
- "You configured this worker to be 'modules', but the file you are trying to build doesn't export a handler. Please pass `--format service-worker`, or simply remove the configuration."
55
- );
56
- }
57
- }
58
- }
59
- return guessedWorkerFormat;
60
- }
61
-
62
- function listEntryPoints(
63
- outputs: [string, ValueOf<Metafile["outputs"]>][]
64
- ): string {
65
- return outputs.map(([_input, output]) => output.entryPoint).join("\n");
66
- }
67
-
68
- type ValueOf<T> = T[keyof T];