wrangler 0.0.0-ee30101d → 0.0.0-ee305dd67

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 (204) hide show
  1. package/README.md +17 -19
  2. package/bin/wrangler.js +25 -94
  3. package/config-schema.json +3123 -0
  4. package/package.json +184 -172
  5. package/templates/__tests__/pages-dev-util.test.ts +128 -0
  6. package/templates/__tests__/tsconfig-sanity.ts +12 -0
  7. package/templates/__tests__/tsconfig.json +8 -0
  8. package/templates/checked-fetch.js +19 -6
  9. package/templates/facade.d.ts +19 -0
  10. package/templates/gitignore +2 -3
  11. package/templates/init-tests/test-jest-new-worker.js +23 -0
  12. package/templates/init-tests/test-vitest-new-worker.js +24 -0
  13. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  14. package/templates/middleware/common.ts +67 -0
  15. package/templates/middleware/loader-modules.ts +134 -0
  16. package/templates/middleware/loader-sw.ts +229 -0
  17. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  18. package/templates/middleware/middleware-miniflare3-json-error.ts +32 -0
  19. package/templates/middleware/middleware-mock-analytics-engine.d.ts +3 -0
  20. package/templates/middleware/middleware-mock-analytics-engine.ts +30 -0
  21. package/templates/middleware/middleware-pretty-error.ts +40 -0
  22. package/templates/middleware/middleware-scheduled.ts +29 -0
  23. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  24. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  25. package/templates/modules-watch-stub.js +4 -0
  26. package/templates/new-worker-scheduled.ts +1 -1
  27. package/templates/new-worker.js +1 -1
  28. package/templates/new-worker.ts +4 -1
  29. package/templates/pages-dev-pipeline.ts +32 -0
  30. package/templates/pages-dev-util.ts +55 -0
  31. package/templates/pages-shim.ts +1 -1
  32. package/templates/pages-template-plugin.ts +53 -18
  33. package/templates/pages-template-worker.ts +49 -12
  34. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  35. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  36. package/templates/tsconfig-sanity.ts +11 -0
  37. package/templates/tsconfig.init.json +22 -0
  38. package/templates/tsconfig.json +5 -102
  39. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  40. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  41. package/wrangler-dist/ProxyWorker.js +241 -0
  42. package/wrangler-dist/ProxyWorker.js.map +6 -0
  43. package/wrangler-dist/cli.d.ts +26363 -176
  44. package/wrangler-dist/cli.js +146665 -119622
  45. package/Cloudflare_CA.pem +0 -18
  46. package/import_meta_url.js +0 -3
  47. package/miniflare-config-stubs/.env.empty +0 -0
  48. package/miniflare-config-stubs/package.empty.json +0 -1
  49. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  50. package/miniflare-dist/index.mjs +0 -5542
  51. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  52. package/src/__tests__/config-cache.test.ts +0 -42
  53. package/src/__tests__/configuration.test.ts +0 -4022
  54. package/src/__tests__/dev.test.tsx +0 -1316
  55. package/src/__tests__/generate.test.ts +0 -93
  56. package/src/__tests__/guess-worker-format.test.ts +0 -85
  57. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  58. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  59. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  60. package/src/__tests__/helpers/mock-bin.ts +0 -36
  61. package/src/__tests__/helpers/mock-cfetch.ts +0 -296
  62. package/src/__tests__/helpers/mock-console.ts +0 -97
  63. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  64. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  65. package/src/__tests__/helpers/mock-istty.ts +0 -74
  66. package/src/__tests__/helpers/mock-kv.ts +0 -33
  67. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -250
  68. package/src/__tests__/helpers/mock-process.ts +0 -39
  69. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  70. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  71. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  72. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  73. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  74. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  75. package/src/__tests__/https-options.test.ts +0 -163
  76. package/src/__tests__/index.test.ts +0 -245
  77. package/src/__tests__/init.test.ts +0 -2170
  78. package/src/__tests__/jest.setup.ts +0 -153
  79. package/src/__tests__/kv.test.ts +0 -1671
  80. package/src/__tests__/logger.test.ts +0 -141
  81. package/src/__tests__/metrics.test.ts +0 -450
  82. package/src/__tests__/package-manager.test.ts +0 -353
  83. package/src/__tests__/pages.test.ts +0 -1275
  84. package/src/__tests__/parse.test.ts +0 -330
  85. package/src/__tests__/publish.test.ts +0 -6914
  86. package/src/__tests__/pubsub.test.ts +0 -367
  87. package/src/__tests__/r2.test.ts +0 -335
  88. package/src/__tests__/route.test.ts +0 -45
  89. package/src/__tests__/secret.test.ts +0 -492
  90. package/src/__tests__/tail.test.ts +0 -768
  91. package/src/__tests__/test-old-node-version.js +0 -31
  92. package/src/__tests__/user.test.ts +0 -144
  93. package/src/__tests__/validate-dev-props.test.ts +0 -56
  94. package/src/__tests__/version.test.ts +0 -35
  95. package/src/__tests__/whoami.test.tsx +0 -289
  96. package/src/__tests__/worker-namespace.test.ts +0 -327
  97. package/src/abort.d.ts +0 -3
  98. package/src/api/dev.ts +0 -93
  99. package/src/api/index.ts +0 -1
  100. package/src/bundle-reporter.tsx +0 -29
  101. package/src/bundle.ts +0 -473
  102. package/src/cfetch/index.ts +0 -121
  103. package/src/cfetch/internal.ts +0 -220
  104. package/src/cli.ts +0 -27
  105. package/src/config/README.md +0 -107
  106. package/src/config/config.ts +0 -263
  107. package/src/config/diagnostics.ts +0 -80
  108. package/src/config/environment.ts +0 -485
  109. package/src/config/index.ts +0 -251
  110. package/src/config/validation-helpers.ts +0 -584
  111. package/src/config/validation.ts +0 -1856
  112. package/src/config-cache.ts +0 -84
  113. package/src/create-worker-preview.ts +0 -257
  114. package/src/create-worker-upload-form.ts +0 -288
  115. package/src/dev/dev-vars.ts +0 -36
  116. package/src/dev/dev.tsx +0 -545
  117. package/src/dev/local.tsx +0 -449
  118. package/src/dev/remote.tsx +0 -413
  119. package/src/dev/use-esbuild.ts +0 -178
  120. package/src/dev/validate-dev-props.ts +0 -31
  121. package/src/dev-registry.tsx +0 -160
  122. package/src/dev.tsx +0 -625
  123. package/src/dialogs.tsx +0 -135
  124. package/src/durable.ts +0 -102
  125. package/src/entry.ts +0 -328
  126. package/src/environment-variables.ts +0 -35
  127. package/src/errors.ts +0 -11
  128. package/src/faye-websocket.d.ts +0 -6
  129. package/src/generate.ts +0 -131
  130. package/src/git-client.ts +0 -42
  131. package/src/global-wrangler-config-path.ts +0 -26
  132. package/src/https-options.ts +0 -127
  133. package/src/index.tsx +0 -2214
  134. package/src/init.ts +0 -622
  135. package/src/inspect.ts +0 -747
  136. package/src/intl-polyfill.d.ts +0 -139
  137. package/src/is-interactive.ts +0 -12
  138. package/src/kv.ts +0 -430
  139. package/src/logger.ts +0 -73
  140. package/src/metrics/index.ts +0 -5
  141. package/src/metrics/is-ci.ts +0 -14
  142. package/src/metrics/metrics-config.ts +0 -239
  143. package/src/metrics/metrics-dispatcher.ts +0 -96
  144. package/src/metrics/metrics-usage-headers.ts +0 -24
  145. package/src/metrics/send-event.ts +0 -92
  146. package/src/miniflare-cli/README.md +0 -30
  147. package/src/miniflare-cli/assets.ts +0 -554
  148. package/src/miniflare-cli/enum-keys.ts +0 -17
  149. package/src/miniflare-cli/index.ts +0 -207
  150. package/src/miniflare-cli/request-context.ts +0 -40
  151. package/src/module-collection.ts +0 -258
  152. package/src/open-in-browser.ts +0 -17
  153. package/src/package-manager.ts +0 -219
  154. package/src/pages/build.tsx +0 -238
  155. package/src/pages/constants.ts +0 -12
  156. package/src/pages/deployments.tsx +0 -106
  157. package/src/pages/dev.tsx +0 -534
  158. package/src/pages/errors.ts +0 -22
  159. package/src/pages/functions/buildPlugin.ts +0 -109
  160. package/src/pages/functions/buildWorker.ts +0 -155
  161. package/src/pages/functions/filepath-routing.test.ts +0 -234
  162. package/src/pages/functions/filepath-routing.ts +0 -189
  163. package/src/pages/functions/identifiers.ts +0 -78
  164. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  165. package/src/pages/functions/routes-consolidation.ts +0 -73
  166. package/src/pages/functions/routes-transformation.test.ts +0 -271
  167. package/src/pages/functions/routes-transformation.ts +0 -122
  168. package/src/pages/functions/routes.ts +0 -151
  169. package/src/pages/functions.tsx +0 -96
  170. package/src/pages/index.tsx +0 -94
  171. package/src/pages/projects.tsx +0 -169
  172. package/src/pages/publish.tsx +0 -391
  173. package/src/pages/types.ts +0 -49
  174. package/src/pages/upload.tsx +0 -413
  175. package/src/pages/utils.ts +0 -12
  176. package/src/parse.ts +0 -286
  177. package/src/paths.ts +0 -26
  178. package/src/preview.ts +0 -31
  179. package/src/proxy.ts +0 -476
  180. package/src/publish.ts +0 -807
  181. package/src/pubsub/index.ts +0 -286
  182. package/src/pubsub/pubsub-commands.tsx +0 -623
  183. package/src/r2.ts +0 -131
  184. package/src/selfsigned.d.ts +0 -29
  185. package/src/sites.tsx +0 -372
  186. package/src/tail/filters.ts +0 -281
  187. package/src/tail/index.ts +0 -312
  188. package/src/tail/printing.ts +0 -107
  189. package/src/update-check.ts +0 -19
  190. package/src/user/choose-account.tsx +0 -69
  191. package/src/user/env-vars.ts +0 -46
  192. package/src/user/generate-auth-url.ts +0 -33
  193. package/src/user/generate-random-state.ts +0 -16
  194. package/src/user/index.ts +0 -3
  195. package/src/user/user.tsx +0 -1189
  196. package/src/whoami.tsx +0 -169
  197. package/src/worker-namespace.ts +0 -206
  198. package/src/worker.ts +0 -203
  199. package/src/zones.ts +0 -76
  200. package/templates/first-party-worker-module-facade.ts +0 -18
  201. package/templates/format-dev-errors.ts +0 -32
  202. package/templates/serve-static-assets.ts +0 -63
  203. package/templates/service-bindings-module-facade.js +0 -54
  204. package/templates/service-bindings-sw-facade.js +0 -42
package/README.md CHANGED
@@ -1,15 +1,17 @@
1
1
  <h1 align="center"> ⛅️ wrangler </h1>
2
2
  <section align="center" id="shieldio-badges">
3
3
  <a href="https://www.npmjs.com/package/wrangler"><img alt="npm" src="https://img.shields.io/npm/dw/wrangler?style=flat-square"></a>
4
- <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/wrangler2?style=flat-square">
5
- <img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/wrangler2/main?style=flat-square">
6
- <a href="https://discord.gg/CloudflareDev"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
4
+ <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/cloudflare/workers-sdk?style=flat-square">
5
+ <img alt="GitHub commit activity (branch)" src="https://img.shields.io/github/commit-activity/w/cloudflare/workers-sdk/main?style=flat-square">
6
+ <a href="https://discord.cloudflare.com"><img alt="Discord" src="https://img.shields.io/discord/595317990191398933?color=%23F48120&style=flat-square"></a>
7
7
  </section>
8
8
 
9
- > This package is for wrangler v2.x, released first in May 2022. If you're looking for v1.x of the `@cloudflare/wrangler` package, visit https://www.npmjs.com/package/@cloudflare/wrangler / https://github.com/cloudflare/wrangler.
10
-
11
9
  `wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
12
10
 
11
+ > [!WARNING]
12
+ >
13
+ > Wrangler v2 is **only receiving critical security updates.** We recommend you [migrate to Wrangler v3](https://developers.cloudflare.com/workers/wrangler/migration/update-v2-to-v3/) if you can.
14
+
13
15
  ## Quick Start
14
16
 
15
17
  ```bash
@@ -17,8 +19,8 @@
17
19
  echo "export default { fetch() { return new Response('hello world') } }" > index.js
18
20
  # try it out
19
21
  npx wrangler dev index.js
20
- # and then publish it
21
- npx wrangler publish index.js --name my-worker
22
+ # and then deploy it
23
+ npx wrangler deploy index.js --name my-worker
22
24
  # visit https://my-worker.<your workers subdomain>.workers.dev
23
25
  ```
24
26
 
@@ -26,10 +28,10 @@ npx wrangler publish index.js --name my-worker
26
28
 
27
29
  ```bash
28
30
  # Generate a new project
29
- npx wrangler init my-worker
31
+ npx wrangler init my-worker --no-delegate-c3
30
32
  # try it out
31
33
  cd my-worker && npm run start
32
- # and then publish it
34
+ # and then deploy it
33
35
  npm run deploy
34
36
  ```
35
37
 
@@ -43,15 +45,15 @@ $ npm install wrangler --save-dev
43
45
 
44
46
  Wrangler is configured via a `wrangler.toml` file in the project root. When utilizing the `wrangler init` command, a `wrangler.toml` file will be created for you.
45
47
 
46
- example:
48
+ Example:
47
49
 
48
50
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
51
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
52
+ main = "./src/index.ts" # init w/ TypeScript
53
+ compatibility_date = "YYYY-MM-DD"
52
54
  ```
53
55
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
56
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
57
 
56
58
  ## Commands
57
59
 
@@ -63,11 +65,11 @@ Creates a Worker project. For details on configuration keys and values, refer to
63
65
 
64
66
  Start a local development server, with live reloading and devtools.
65
67
 
66
- ### `wrangler publish`
68
+ ### `wrangler deploy`
67
69
 
68
70
  Publish the given script to the worldwide Cloudflare network.
69
71
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
72
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
73
 
72
74
  ## Pages
73
75
 
@@ -82,7 +84,3 @@ For more commands and options, refer to the [documentation](https://developers.c
82
84
  ## Documentation
83
85
 
84
86
  For the latest Wrangler documentation, [click here](https://developers.cloudflare.com/workers/wrangler/).
85
-
86
- ```
87
-
88
- ```
package/bin/wrangler.js CHANGED
@@ -4,7 +4,7 @@ const path = require("path");
4
4
  const fs = require("fs");
5
5
  const os = require("os");
6
6
 
7
- const MIN_NODE_VERSION = "16.7.0";
7
+ const MIN_NODE_VERSION = "16.13.0";
8
8
  const debug =
9
9
  process.env["WRANGLER_LOG"] === "debug"
10
10
  ? (...args) => console.log(...args)
@@ -20,7 +20,7 @@ function runWrangler() {
20
20
  // Note Volta and nvm are also recommended in the official docs:
21
21
  // https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
22
22
  console.error(
23
- `Wrangler requires at least node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of node.js.
23
+ `Wrangler requires at least Node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}. Please update your version of Node.js.
24
24
 
25
25
  Consider using a Node.js version manager such as https://volta.sh/ or https://github.com/nvm-sh/nvm.`
26
26
  );
@@ -28,30 +28,6 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
28
28
  return;
29
29
  }
30
30
 
31
- let pathToCACerts = process.env.NODE_EXTRA_CA_CERTS;
32
- if (pathToCACerts) {
33
- // TODO:
34
- // - should we log a warning here?
35
- // - maybe we can generate a certificate that concatenates with ours?
36
- //
37
- // I do think it'll be rare that someone wants to add a cert AND
38
- // use Cloudflare WARP, but let's wait till the situation actually
39
- // arises before we do anything about it
40
- } else {
41
- const osTempDir = os.tmpdir();
42
- const certDir = path.join(osTempDir, "wrangler-cert");
43
- const certPath = path.join(certDir, "Cloudflare_CA.pem");
44
- // copy cert to the system temp dir if needed
45
- if (!fs.existsSync(certPath)) {
46
- fs.mkdirSync(certDir, { recursive: true });
47
- fs.writeFileSync(
48
- certPath,
49
- fs.readFileSync(path.join(__dirname, "../Cloudflare_CA.pem"), "utf-8")
50
- );
51
- }
52
- pathToCACerts = certPath;
53
- }
54
-
55
31
  return spawn(
56
32
  process.execPath,
57
33
  [
@@ -62,77 +38,24 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
62
38
  ...process.argv.slice(2),
63
39
  ],
64
40
  {
65
- stdio: "inherit",
66
- env: {
67
- ...process.env,
68
- NODE_EXTRA_CA_CERTS: pathToCACerts,
69
- },
41
+ stdio: ["inherit", "inherit", "inherit", "ipc"],
70
42
  }
71
- ).on("exit", (code) =>
72
- process.exit(code === undefined || code === null ? 0 : code)
73
- );
74
- }
75
-
76
- /**
77
- * Runs a locally-installed version of wrangler, delegating from this version.
78
- * @throws {MODULE_NOT_FOUND} if there isn't a locally installed version of wrangler.
79
- */
80
- function runDelegatedWrangler() {
81
- const packageJsonPath = require.resolve("wrangler/package.json", {
82
- paths: [process.cwd()],
83
- });
84
- const {
85
- bin: { wrangler: binaryPath },
86
- version,
87
- } = JSON.parse(fs.readFileSync(packageJsonPath));
88
- const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
89
-
90
- debug(`Delegating to locally-installed version of wrangler @ v${version}`);
91
-
92
- // this call to `spawn` is simpler because the delegated version will do all
93
- // of the other work.
94
- return spawn(
95
- process.execPath,
96
- [resolvedBinaryPath, ...process.argv.slice(2)],
97
- {
98
- stdio: "inherit",
99
- }
100
- ).on("exit", (code) =>
101
- process.exit(code === undefined || code === null ? 0 : code)
102
- );
103
- }
104
-
105
- /**
106
- * Indicates if this invocation of `wrangler` should delegate
107
- * to a locally-installed version.
108
- */
109
- function shouldDelegate() {
110
- try {
111
- // `require.resolve` will throw if it can't find
112
- // a locally-installed version of `wrangler`
113
- const delegatedPackageJson = require.resolve("wrangler/package.json", {
114
- paths: [process.cwd()],
43
+ )
44
+ .on("exit", (code) =>
45
+ process.exit(code === undefined || code === null ? 0 : code)
46
+ )
47
+ .on("message", (message) => {
48
+ if (process.send) {
49
+ process.send(message);
50
+ }
51
+ })
52
+ .on("disconnect", () => {
53
+ if (process.disconnect) {
54
+ process.disconnect();
55
+ }
115
56
  });
116
- const thisPackageJson = path.resolve(__dirname, "..", "package.json");
117
- // if it's the same path, then we're already a local install -- no need to delegate
118
- return thisPackageJson !== delegatedPackageJson;
119
- } catch (e) {
120
- // there's no local version to delegate to -- `require.resolve` threw
121
- return false;
122
- }
123
57
  }
124
58
 
125
- async function main() {
126
- wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
127
- }
128
-
129
- process.on("SIGINT", () => {
130
- wranglerProcess && wranglerProcess.kill();
131
- });
132
- process.on("SIGTERM", () => {
133
- wranglerProcess && wranglerProcess.kill();
134
- });
135
-
136
59
  // semiver implementation via https://github.com/lukeed/semiver/blob/ae7eebe6053c96be63032b14fb0b68e2553fcac4/src/index.js
137
60
 
138
61
  /**
@@ -165,4 +88,12 @@ function semiver(a, b, bool) {
165
88
 
166
89
  // end semiver implementation
167
90
 
168
- void main();
91
+ if (module === require.main) {
92
+ wranglerProcess = runWrangler();
93
+ process.on("SIGINT", () => {
94
+ wranglerProcess && wranglerProcess.kill();
95
+ });
96
+ process.on("SIGTERM", () => {
97
+ wranglerProcess && wranglerProcess.kill();
98
+ });
99
+ }