wrangler 0.0.0-e2a26a0 → 0.0.0-e3278fa

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 (150) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +27 -14
  3. package/bin/wrangler.js +49 -5
  4. package/miniflare-dist/index.mjs +4886 -0
  5. package/package.json +51 -27
  6. package/pages/functions/buildPlugin.ts +105 -0
  7. package/pages/functions/buildWorker.ts +93 -4
  8. package/pages/functions/filepath-routing.test.ts +223 -36
  9. package/pages/functions/filepath-routing.ts +78 -120
  10. package/pages/functions/routes.ts +13 -17
  11. package/pages/functions/template-plugin.ts +147 -0
  12. package/pages/functions/template-worker.ts +24 -17
  13. package/src/__tests__/config-cache.test.ts +36 -0
  14. package/src/__tests__/configuration.test.ts +3408 -0
  15. package/src/__tests__/dev.test.tsx +977 -65
  16. package/src/__tests__/guess-worker-format.test.ts +85 -0
  17. package/src/__tests__/helpers/faye-websocket.d.ts +6 -0
  18. package/src/__tests__/helpers/mock-account-id.ts +26 -8
  19. package/src/__tests__/helpers/mock-bin.ts +4 -1
  20. package/src/__tests__/helpers/mock-cfetch.ts +10 -6
  21. package/src/__tests__/helpers/mock-console.ts +39 -8
  22. package/src/__tests__/helpers/mock-dialogs.ts +67 -2
  23. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  24. package/src/__tests__/helpers/mock-istty.ts +27 -0
  25. package/src/__tests__/helpers/mock-kv.ts +9 -16
  26. package/src/__tests__/helpers/mock-oauth-flow.ts +255 -0
  27. package/src/__tests__/helpers/mock-stdin.ts +103 -0
  28. package/src/__tests__/helpers/mock-web-socket.ts +29 -0
  29. package/src/__tests__/helpers/run-in-tmp.ts +10 -0
  30. package/src/__tests__/helpers/run-wrangler.ts +5 -3
  31. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  32. package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
  33. package/src/__tests__/https-options.test.ts +130 -0
  34. package/src/__tests__/index.test.ts +148 -435
  35. package/src/__tests__/init.test.ts +1637 -0
  36. package/src/__tests__/jest.setup.ts +45 -5
  37. package/src/__tests__/kv.test.ts +590 -248
  38. package/src/__tests__/logger.test.ts +115 -0
  39. package/src/__tests__/package-manager.test.ts +156 -9
  40. package/src/__tests__/pages.test.ts +754 -0
  41. package/src/__tests__/parse.test.ts +330 -0
  42. package/src/__tests__/publish.test.ts +5471 -939
  43. package/src/__tests__/r2.test.ts +233 -0
  44. package/src/__tests__/route.test.ts +45 -0
  45. package/src/__tests__/secret.test.ts +362 -91
  46. package/src/__tests__/tail.test.ts +690 -0
  47. package/src/__tests__/user.test.ts +131 -0
  48. package/src/__tests__/whoami.test.tsx +60 -7
  49. package/src/abort.d.ts +3 -0
  50. package/src/bundle.ts +197 -0
  51. package/src/cfetch/index.ts +27 -8
  52. package/src/cfetch/internal.ts +73 -32
  53. package/src/cli.ts +6 -2
  54. package/src/config/README.md +107 -0
  55. package/src/config/config.ts +234 -0
  56. package/src/config/diagnostics.ts +80 -0
  57. package/src/config/environment.ts +420 -0
  58. package/src/config/index.ts +225 -0
  59. package/src/config/validation-helpers.ts +584 -0
  60. package/src/config/validation.ts +1539 -0
  61. package/src/config-cache.ts +45 -0
  62. package/src/create-worker-preview.ts +185 -0
  63. package/src/create-worker-upload-form.ts +254 -0
  64. package/src/dev/dev-vars.ts +36 -0
  65. package/src/dev/dev.tsx +412 -0
  66. package/src/dev/local.tsx +322 -0
  67. package/src/dev/remote.tsx +237 -0
  68. package/src/dev/use-esbuild.ts +118 -0
  69. package/src/dialogs.tsx +64 -6
  70. package/src/durable.ts +102 -0
  71. package/src/entry.ts +322 -0
  72. package/src/environment-variables.ts +35 -0
  73. package/src/errors.ts +11 -0
  74. package/src/https-options.ts +123 -0
  75. package/src/index.tsx +1747 -1002
  76. package/src/inspect.ts +80 -14
  77. package/src/intl-polyfill.d.ts +139 -0
  78. package/src/{kv.tsx → kv.ts} +192 -68
  79. package/src/logger.ts +66 -0
  80. package/src/miniflare-cli/README.md +30 -0
  81. package/src/miniflare-cli/enum-keys.ts +17 -0
  82. package/src/miniflare-cli/index.ts +41 -0
  83. package/src/miniflare-cli/request-context.ts +40 -0
  84. package/src/module-collection.ts +226 -31
  85. package/src/open-in-browser.ts +19 -0
  86. package/src/package-manager.ts +79 -25
  87. package/src/pages.tsx +1131 -84
  88. package/src/parse.ts +202 -0
  89. package/src/proxy.ts +170 -62
  90. package/src/publish.ts +612 -306
  91. package/src/r2.ts +50 -0
  92. package/src/selfsigned.d.ts +29 -0
  93. package/src/sites.tsx +143 -57
  94. package/src/tail/filters.ts +279 -0
  95. package/src/tail/index.ts +299 -0
  96. package/src/tail/printing.ts +67 -0
  97. package/src/update-check.ts +19 -0
  98. package/src/user.tsx +341 -146
  99. package/src/whoami.tsx +5 -3
  100. package/src/{api/worker.ts → worker.ts} +65 -39
  101. package/src/zones.ts +73 -0
  102. package/templates/gitignore +171 -0
  103. package/templates/new-worker-scheduled.js +17 -0
  104. package/templates/new-worker-scheduled.ts +32 -0
  105. package/templates/new-worker.js +1 -1
  106. package/templates/new-worker.ts +17 -2
  107. package/templates/static-asset-facade.js +1 -5
  108. package/templates/tsconfig.json +105 -0
  109. package/wrangler-dist/cli.js +72295 -71006
  110. package/src/__tests__/helpers/mock-user.ts +0 -27
  111. package/src/__tests__/logout.test.ts +0 -50
  112. package/src/api/form_data.ts +0 -134
  113. package/src/api/preview.ts +0 -128
  114. package/src/config.ts +0 -641
  115. package/src/dev.tsx +0 -834
  116. package/src/tail.tsx +0 -73
  117. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  118. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  119. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  120. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  121. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  122. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  123. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  124. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  125. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  126. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  127. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  128. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  129. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  130. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  131. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  132. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  133. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  134. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  135. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  136. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  137. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  138. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  139. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  140. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  141. package/vendor/wrangler-mime/LICENSE +0 -21
  142. package/vendor/wrangler-mime/Mime.js +0 -97
  143. package/vendor/wrangler-mime/README.md +0 -187
  144. package/vendor/wrangler-mime/cli.js +0 -46
  145. package/vendor/wrangler-mime/index.js +0 -4
  146. package/vendor/wrangler-mime/lite.js +0 -4
  147. package/vendor/wrangler-mime/package.json +0 -52
  148. package/vendor/wrangler-mime/types/other.js +0 -1
  149. package/vendor/wrangler-mime/types/standard.js +0 -1
  150. package/wrangler-dist/cli.js.map +0 -7
@@ -1,54 +1,77 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { execa, execaCommandSync } from "execa";
4
+ import { logger } from "./logger";
4
5
 
5
6
  export interface PackageManager {
7
+ cwd: string;
8
+ type: "npm" | "yarn" | "pnpm";
6
9
  addDevDeps(...packages: string[]): Promise<void>;
7
10
  install(): Promise<void>;
8
11
  }
9
12
 
10
- export async function getPackageManager(root: string): Promise<PackageManager> {
11
- const [hasYarn, hasNpm] = await Promise.all([supportsYarn(), supportsNpm()]);
12
- const hasYarnLock = existsSync(join(root, "yarn.lock"));
13
- const hasNpmLock = existsSync(join(root, "package-lock.json"));
13
+ export async function getPackageManager(cwd: string): Promise<PackageManager> {
14
+ const [hasYarn, hasNpm, hasPnpm] = await Promise.all([
15
+ supportsYarn(),
16
+ supportsNpm(),
17
+ supportsPnpm(),
18
+ ]);
19
+ const hasYarnLock = existsSync(join(cwd, "yarn.lock"));
20
+ const hasNpmLock = existsSync(join(cwd, "package-lock.json"));
21
+ const hasPnpmLock = existsSync(join(cwd, "pnpm-lock.yaml"));
14
22
 
15
23
  if (hasNpmLock) {
16
24
  if (hasNpm) {
17
- console.log(
25
+ logger.log(
18
26
  "Using npm as package manager, as there is already a package-lock.json file."
19
27
  );
20
- return NpmPackageManager;
28
+ return { ...NpmPackageManager, cwd };
21
29
  } else if (hasYarn) {
22
- console.log("Using yarn as package manager.");
23
- console.warn(
30
+ logger.log("Using yarn as package manager.");
31
+ logger.warn(
24
32
  "There is already a package-lock.json file but could not find npm on the PATH."
25
33
  );
26
- return YarnPackageManager;
34
+ return { ...YarnPackageManager, cwd };
35
+ }
36
+ } else if (hasPnpmLock) {
37
+ if (hasPnpm) {
38
+ logger.log(
39
+ "Using pnpm as package manager, as there is already a pnpm-lock.yaml file."
40
+ );
41
+ return { ...PnpmPackageManager, cwd };
42
+ } else {
43
+ logger.warn(
44
+ "There is already a pnpm-lock.yaml file but could not find pnpm on the PATH."
45
+ );
46
+ // will simply fallback to the first found of [npm, yaml, pnpm] in the next if round.
27
47
  }
28
48
  } else if (hasYarnLock) {
29
49
  if (hasYarn) {
30
- console.log(
50
+ logger.log(
31
51
  "Using yarn as package manager, as there is already a yarn.lock file."
32
52
  );
33
- return YarnPackageManager;
53
+ return { ...YarnPackageManager, cwd };
34
54
  } else if (hasNpm) {
35
- console.log("Using npm as package manager.");
36
- console.warn(
55
+ logger.log("Using npm as package manager.");
56
+ logger.warn(
37
57
  "There is already a yarn.lock file but could not find yarn on the PATH."
38
58
  );
39
- return NpmPackageManager;
59
+ return { ...NpmPackageManager, cwd };
40
60
  }
41
61
  }
42
62
 
43
63
  if (hasNpm) {
44
- console.log("Using npm as package manager.");
45
- return NpmPackageManager;
64
+ logger.log("Using npm as package manager.");
65
+ return { ...NpmPackageManager, cwd };
46
66
  } else if (hasYarn) {
47
- console.log("Using yarn as package manager.");
48
- return YarnPackageManager;
67
+ logger.log("Using yarn as package manager.");
68
+ return { ...YarnPackageManager, cwd };
69
+ } else if (hasPnpm) {
70
+ logger.log("Using pnpm as package manager.");
71
+ return { ...PnpmPackageManager, cwd };
49
72
  } else {
50
73
  throw new Error(
51
- "Unable to find a package manager. Supported managers are: npm and yarn."
74
+ "Unable to find a package manager. Supported managers are: npm, yarn, and pnpm."
52
75
  );
53
76
  }
54
77
  }
@@ -56,22 +79,21 @@ export async function getPackageManager(root: string): Promise<PackageManager> {
56
79
  /**
57
80
  * Get the name of the given `packageManager`.
58
81
  */
59
- export function getPackageManagerName(packageManager: unknown): string {
60
- return packageManager === NpmPackageManager
61
- ? "npm"
62
- : packageManager === YarnPackageManager
63
- ? "yarn"
64
- : "unknown";
82
+ export function getPackageManagerName(packageManager: PackageManager): string {
83
+ return packageManager.type ?? "unknown";
65
84
  }
66
85
 
67
86
  /**
68
87
  * Manage packages using npm
69
88
  */
70
89
  const NpmPackageManager: PackageManager = {
90
+ cwd: process.cwd(),
91
+ type: "npm",
71
92
  /** Add and install a new devDependency into the local package.json. */
72
93
  async addDevDeps(...packages: string[]): Promise<void> {
73
94
  await execa("npm", ["install", ...packages, "--save-dev"], {
74
95
  stdio: "inherit",
96
+ cwd: this.cwd,
75
97
  });
76
98
  },
77
99
 
@@ -79,6 +101,30 @@ const NpmPackageManager: PackageManager = {
79
101
  async install(): Promise<void> {
80
102
  await execa("npm", ["install"], {
81
103
  stdio: "inherit",
104
+ cwd: this.cwd,
105
+ });
106
+ },
107
+ };
108
+
109
+ /**
110
+ * Manage packages using pnpm
111
+ */
112
+ const PnpmPackageManager: PackageManager = {
113
+ cwd: process.cwd(),
114
+ type: "pnpm",
115
+ /** Add and install a new devDependency into the local package.json. */
116
+ async addDevDeps(...packages: string[]): Promise<void> {
117
+ await execa("pnpm", ["install", ...packages, "--save-dev"], {
118
+ stdio: "inherit",
119
+ cwd: this.cwd,
120
+ });
121
+ },
122
+
123
+ /** Install all the dependencies in the local package.json. */
124
+ async install(): Promise<void> {
125
+ await execa("pnpm", ["install"], {
126
+ stdio: "inherit",
127
+ cwd: this.cwd,
82
128
  });
83
129
  },
84
130
  };
@@ -87,10 +133,13 @@ const NpmPackageManager: PackageManager = {
87
133
  * Manage packages using yarn
88
134
  */
89
135
  const YarnPackageManager: PackageManager = {
136
+ cwd: process.cwd(),
137
+ type: "yarn",
90
138
  /** Add and install a new devDependency into the local package.json. */
91
139
  async addDevDeps(...packages: string[]): Promise<void> {
92
140
  await execa("yarn", ["add", ...packages, "--dev"], {
93
141
  stdio: "inherit",
142
+ cwd: this.cwd,
94
143
  });
95
144
  },
96
145
 
@@ -98,6 +147,7 @@ const YarnPackageManager: PackageManager = {
98
147
  async install(): Promise<void> {
99
148
  await execa("yarn", ["install"], {
100
149
  stdio: "inherit",
150
+ cwd: this.cwd,
101
151
  });
102
152
  },
103
153
  };
@@ -118,3 +168,7 @@ function supportsYarn(): Promise<boolean> {
118
168
  function supportsNpm(): Promise<boolean> {
119
169
  return supports("npm");
120
170
  }
171
+
172
+ function supportsPnpm(): Promise<boolean> {
173
+ return supports("pnpm");
174
+ }