wrangler 0.0.0-c40fca42 → 0.0.0-c4146fc0

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 (201) hide show
  1. package/README.md +13 -19
  2. package/bin/wrangler.js +25 -94
  3. package/config-schema.json +2947 -0
  4. package/package.json +194 -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 +0 -4
  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-pretty-error.ts +40 -0
  20. package/templates/middleware/middleware-scheduled.ts +15 -0
  21. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  22. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  23. package/templates/modules-watch-stub.js +4 -0
  24. package/templates/new-worker-scheduled.ts +1 -1
  25. package/templates/new-worker.js +1 -1
  26. package/templates/new-worker.ts +4 -1
  27. package/templates/pages-dev-pipeline.ts +32 -0
  28. package/templates/pages-dev-util.ts +55 -0
  29. package/templates/pages-shim.ts +1 -1
  30. package/templates/pages-template-plugin.ts +53 -18
  31. package/templates/pages-template-worker.ts +49 -12
  32. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  33. package/templates/startDevWorker/ProxyWorker.ts +334 -0
  34. package/templates/tsconfig-sanity.ts +11 -0
  35. package/templates/tsconfig.init.json +105 -0
  36. package/templates/tsconfig.json +5 -102
  37. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  38. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  39. package/wrangler-dist/ProxyWorker.js +240 -0
  40. package/wrangler-dist/ProxyWorker.js.map +6 -0
  41. package/wrangler-dist/cli.d.ts +24189 -163
  42. package/wrangler-dist/cli.js +169875 -109949
  43. package/wrangler-dist/wasm-sync.wasm +0 -0
  44. package/Cloudflare_CA.pem +0 -18
  45. package/import_meta_url.js +0 -3
  46. package/miniflare-config-stubs/.env.empty +0 -0
  47. package/miniflare-config-stubs/package.empty.json +0 -1
  48. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  49. package/miniflare-dist/index.mjs +0 -5534
  50. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  51. package/src/__tests__/config-cache.test.ts +0 -42
  52. package/src/__tests__/configuration.test.ts +0 -4022
  53. package/src/__tests__/dev.test.tsx +0 -1316
  54. package/src/__tests__/generate.test.ts +0 -93
  55. package/src/__tests__/guess-worker-format.test.ts +0 -85
  56. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  57. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  58. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  59. package/src/__tests__/helpers/mock-bin.ts +0 -36
  60. package/src/__tests__/helpers/mock-cfetch.ts +0 -263
  61. package/src/__tests__/helpers/mock-console.ts +0 -97
  62. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  63. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  64. package/src/__tests__/helpers/mock-istty.ts +0 -74
  65. package/src/__tests__/helpers/mock-kv.ts +0 -33
  66. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -250
  67. package/src/__tests__/helpers/mock-process.ts +0 -39
  68. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  69. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  70. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  71. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  72. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  73. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  74. package/src/__tests__/https-options.test.ts +0 -163
  75. package/src/__tests__/index.test.ts +0 -245
  76. package/src/__tests__/init.test.ts +0 -1992
  77. package/src/__tests__/jest.setup.ts +0 -150
  78. package/src/__tests__/kv.test.ts +0 -1671
  79. package/src/__tests__/logger.test.ts +0 -141
  80. package/src/__tests__/metrics.test.ts +0 -450
  81. package/src/__tests__/package-manager.test.ts +0 -353
  82. package/src/__tests__/pages.test.ts +0 -1261
  83. package/src/__tests__/parse.test.ts +0 -330
  84. package/src/__tests__/publish.test.ts +0 -6914
  85. package/src/__tests__/pubsub.test.ts +0 -367
  86. package/src/__tests__/r2.test.ts +0 -335
  87. package/src/__tests__/route.test.ts +0 -45
  88. package/src/__tests__/secret.test.ts +0 -492
  89. package/src/__tests__/tail.test.ts +0 -768
  90. package/src/__tests__/test-old-node-version.js +0 -31
  91. package/src/__tests__/user.test.ts +0 -144
  92. package/src/__tests__/validate-dev-props.test.ts +0 -56
  93. package/src/__tests__/version.test.ts +0 -35
  94. package/src/__tests__/whoami.test.tsx +0 -289
  95. package/src/__tests__/worker-namespace.test.ts +0 -327
  96. package/src/abort.d.ts +0 -3
  97. package/src/api/dev.ts +0 -92
  98. package/src/api/index.ts +0 -1
  99. package/src/bundle-reporter.tsx +0 -29
  100. package/src/bundle.ts +0 -473
  101. package/src/cfetch/index.ts +0 -121
  102. package/src/cfetch/internal.ts +0 -181
  103. package/src/cli.ts +0 -27
  104. package/src/config/README.md +0 -107
  105. package/src/config/config.ts +0 -263
  106. package/src/config/diagnostics.ts +0 -80
  107. package/src/config/environment.ts +0 -485
  108. package/src/config/index.ts +0 -251
  109. package/src/config/validation-helpers.ts +0 -584
  110. package/src/config/validation.ts +0 -1856
  111. package/src/config-cache.ts +0 -84
  112. package/src/create-worker-preview.ts +0 -257
  113. package/src/create-worker-upload-form.ts +0 -288
  114. package/src/dev/dev-vars.ts +0 -36
  115. package/src/dev/dev.tsx +0 -541
  116. package/src/dev/local.tsx +0 -449
  117. package/src/dev/remote.tsx +0 -413
  118. package/src/dev/use-esbuild.ts +0 -178
  119. package/src/dev/validate-dev-props.ts +0 -31
  120. package/src/dev-registry.tsx +0 -160
  121. package/src/dev.tsx +0 -625
  122. package/src/dialogs.tsx +0 -135
  123. package/src/durable.ts +0 -102
  124. package/src/entry.ts +0 -328
  125. package/src/environment-variables.ts +0 -35
  126. package/src/errors.ts +0 -11
  127. package/src/faye-websocket.d.ts +0 -6
  128. package/src/generate.ts +0 -131
  129. package/src/git-client.ts +0 -42
  130. package/src/global-wrangler-config-path.ts +0 -26
  131. package/src/https-options.ts +0 -127
  132. package/src/index.tsx +0 -2214
  133. package/src/init.ts +0 -549
  134. package/src/inspect.ts +0 -747
  135. package/src/intl-polyfill.d.ts +0 -139
  136. package/src/is-interactive.ts +0 -12
  137. package/src/kv.ts +0 -430
  138. package/src/logger.ts +0 -73
  139. package/src/metrics/index.ts +0 -5
  140. package/src/metrics/is-ci.ts +0 -14
  141. package/src/metrics/metrics-config.ts +0 -239
  142. package/src/metrics/metrics-dispatcher.ts +0 -96
  143. package/src/metrics/metrics-usage-headers.ts +0 -24
  144. package/src/metrics/send-event.ts +0 -92
  145. package/src/miniflare-cli/README.md +0 -30
  146. package/src/miniflare-cli/assets.ts +0 -546
  147. package/src/miniflare-cli/enum-keys.ts +0 -17
  148. package/src/miniflare-cli/index.ts +0 -207
  149. package/src/miniflare-cli/request-context.ts +0 -40
  150. package/src/module-collection.ts +0 -258
  151. package/src/open-in-browser.ts +0 -17
  152. package/src/package-manager.ts +0 -219
  153. package/src/pages/build.tsx +0 -212
  154. package/src/pages/constants.ts +0 -11
  155. package/src/pages/deployments.tsx +0 -106
  156. package/src/pages/dev.tsx +0 -472
  157. package/src/pages/functions/buildPlugin.ts +0 -109
  158. package/src/pages/functions/buildWorker.ts +0 -155
  159. package/src/pages/functions/filepath-routing.test.ts +0 -234
  160. package/src/pages/functions/filepath-routing.ts +0 -189
  161. package/src/pages/functions/identifiers.ts +0 -78
  162. package/src/pages/functions/routes-consolidation.test.ts +0 -66
  163. package/src/pages/functions/routes-consolidation.ts +0 -29
  164. package/src/pages/functions/routes-transformation.test.ts +0 -271
  165. package/src/pages/functions/routes-transformation.ts +0 -125
  166. package/src/pages/functions/routes.ts +0 -151
  167. package/src/pages/index.tsx +0 -84
  168. package/src/pages/projects.tsx +0 -169
  169. package/src/pages/publish.tsx +0 -379
  170. package/src/pages/types.ts +0 -49
  171. package/src/pages/upload.tsx +0 -413
  172. package/src/pages/utils.ts +0 -12
  173. package/src/parse.ts +0 -286
  174. package/src/paths.ts +0 -26
  175. package/src/preview.ts +0 -31
  176. package/src/proxy.ts +0 -476
  177. package/src/publish.ts +0 -807
  178. package/src/pubsub/index.ts +0 -286
  179. package/src/pubsub/pubsub-commands.tsx +0 -623
  180. package/src/r2.ts +0 -131
  181. package/src/selfsigned.d.ts +0 -29
  182. package/src/sites.tsx +0 -372
  183. package/src/tail/filters.ts +0 -281
  184. package/src/tail/index.ts +0 -312
  185. package/src/tail/printing.ts +0 -107
  186. package/src/update-check.ts +0 -19
  187. package/src/user/choose-account.tsx +0 -69
  188. package/src/user/env-vars.ts +0 -46
  189. package/src/user/generate-auth-url.ts +0 -33
  190. package/src/user/generate-random-state.ts +0 -16
  191. package/src/user/index.ts +0 -3
  192. package/src/user/user.tsx +0 -1189
  193. package/src/whoami.tsx +0 -169
  194. package/src/worker-namespace.ts +0 -206
  195. package/src/worker.ts +0 -203
  196. package/src/zones.ts +0 -76
  197. package/templates/first-party-worker-module-facade.ts +0 -18
  198. package/templates/format-dev-errors.ts +0 -32
  199. package/templates/serve-static-assets.ts +0 -63
  200. package/templates/service-bindings-module-facade.js +0 -54
  201. package/templates/service-bindings-sw-facade.js +0 -42
package/README.md CHANGED
@@ -1,13 +1,11 @@
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
 
13
11
  ## Quick Start
@@ -17,8 +15,8 @@
17
15
  echo "export default { fetch() { return new Response('hello world') } }" > index.js
18
16
  # try it out
19
17
  npx wrangler dev index.js
20
- # and then publish it
21
- npx wrangler publish index.js --name my-worker
18
+ # and then deploy it
19
+ npx wrangler deploy index.js --name my-worker
22
20
  # visit https://my-worker.<your workers subdomain>.workers.dev
23
21
  ```
24
22
 
@@ -26,10 +24,10 @@ npx wrangler publish index.js --name my-worker
26
24
 
27
25
  ```bash
28
26
  # Generate a new project
29
- npx wrangler init my-worker
27
+ npx wrangler init my-worker --no-delegate-c3
30
28
  # try it out
31
29
  cd my-worker && npm run start
32
- # and then publish it
30
+ # and then deploy it
33
31
  npm run deploy
34
32
  ```
35
33
 
@@ -43,15 +41,15 @@ $ npm install wrangler --save-dev
43
41
 
44
42
  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
43
 
46
- example:
44
+ Example:
47
45
 
48
46
  ```toml
49
- main = "./src/index.ts" # init w/ TypeScript
50
47
  name = "my-worker"
51
- compatibility_date = "YYY-MM-DD"
48
+ main = "./src/index.ts" # init w/ TypeScript
49
+ compatibility_date = "YYYY-MM-DD"
52
50
  ```
53
51
 
54
- for more detailed information about configuration, see the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration)
52
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
55
53
 
56
54
  ## Commands
57
55
 
@@ -63,11 +61,11 @@ Creates a Worker project. For details on configuration keys and values, refer to
63
61
 
64
62
  Start a local development server, with live reloading and devtools.
65
63
 
66
- ### `wrangler publish`
64
+ ### `wrangler deploy`
67
65
 
68
66
  Publish the given script to the worldwide Cloudflare network.
69
67
 
70
- For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
68
+ For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/).
71
69
 
72
70
  ## Pages
73
71
 
@@ -82,7 +80,3 @@ For more commands and options, refer to the [documentation](https://developers.c
82
80
  ## Documentation
83
81
 
84
82
  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
+ }