wrangler 0.0.0-e178d6fb → 0.0.0-e19903d7

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 (188) hide show
  1. package/README.md +25 -13
  2. package/bin/wrangler.js +25 -94
  3. package/config-schema.json +2947 -0
  4. package/package.json +193 -167
  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 +24165 -151
  42. package/wrangler-dist/cli.js +190904 -106330
  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 -5354
  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 -3950
  53. package/src/__tests__/dev.test.tsx +0 -1203
  54. package/src/__tests__/guess-worker-format.test.ts +0 -85
  55. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  56. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  57. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  58. package/src/__tests__/helpers/mock-bin.ts +0 -36
  59. package/src/__tests__/helpers/mock-cfetch.ts +0 -211
  60. package/src/__tests__/helpers/mock-console.ts +0 -97
  61. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  62. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  63. package/src/__tests__/helpers/mock-istty.ts +0 -74
  64. package/src/__tests__/helpers/mock-kv.ts +0 -33
  65. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -250
  66. package/src/__tests__/helpers/mock-process.ts +0 -39
  67. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  68. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  69. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  70. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  71. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  72. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  73. package/src/__tests__/https-options.test.ts +0 -163
  74. package/src/__tests__/index.test.ts +0 -262
  75. package/src/__tests__/init.test.ts +0 -1992
  76. package/src/__tests__/jest.setup.ts +0 -120
  77. package/src/__tests__/kv.test.ts +0 -1671
  78. package/src/__tests__/logger.test.ts +0 -141
  79. package/src/__tests__/metrics.test.ts +0 -445
  80. package/src/__tests__/package-manager.test.ts +0 -353
  81. package/src/__tests__/pages.test.ts +0 -1261
  82. package/src/__tests__/parse.test.ts +0 -330
  83. package/src/__tests__/publish.test.ts +0 -6671
  84. package/src/__tests__/pubsub.test.ts +0 -367
  85. package/src/__tests__/r2.test.ts +0 -233
  86. package/src/__tests__/route.test.ts +0 -45
  87. package/src/__tests__/secret.test.ts +0 -492
  88. package/src/__tests__/tail.test.ts +0 -698
  89. package/src/__tests__/test-old-node-version.js +0 -31
  90. package/src/__tests__/user.test.ts +0 -143
  91. package/src/__tests__/version.test.ts +0 -35
  92. package/src/__tests__/whoami.test.tsx +0 -230
  93. package/src/__tests__/worker-namespace.test.ts +0 -327
  94. package/src/abort.d.ts +0 -3
  95. package/src/api/dev.ts +0 -86
  96. package/src/api/index.ts +0 -1
  97. package/src/bundle-reporter.tsx +0 -29
  98. package/src/bundle.ts +0 -236
  99. package/src/cfetch/index.ts +0 -121
  100. package/src/cfetch/internal.ts +0 -149
  101. package/src/cli.ts +0 -27
  102. package/src/config/README.md +0 -107
  103. package/src/config/config.ts +0 -251
  104. package/src/config/diagnostics.ts +0 -80
  105. package/src/config/environment.ts +0 -453
  106. package/src/config/index.ts +0 -238
  107. package/src/config/validation-helpers.ts +0 -584
  108. package/src/config/validation.ts +0 -1754
  109. package/src/config-cache.ts +0 -84
  110. package/src/create-worker-preview.ts +0 -257
  111. package/src/create-worker-upload-form.ts +0 -263
  112. package/src/dev/dev-vars.ts +0 -36
  113. package/src/dev/dev.tsx +0 -452
  114. package/src/dev/local.tsx +0 -373
  115. package/src/dev/remote.tsx +0 -386
  116. package/src/dev/use-esbuild.ts +0 -150
  117. package/src/dev.tsx +0 -593
  118. package/src/dialogs.tsx +0 -135
  119. package/src/durable.ts +0 -102
  120. package/src/entry.ts +0 -328
  121. package/src/environment-variables.ts +0 -35
  122. package/src/errors.ts +0 -11
  123. package/src/faye-websocket.d.ts +0 -6
  124. package/src/generate.ts +0 -33
  125. package/src/git-client.ts +0 -42
  126. package/src/global-wrangler-config-path.ts +0 -26
  127. package/src/https-options.ts +0 -127
  128. package/src/index.tsx +0 -2005
  129. package/src/init.ts +0 -549
  130. package/src/inspect.ts +0 -662
  131. package/src/intl-polyfill.d.ts +0 -139
  132. package/src/is-interactive.ts +0 -12
  133. package/src/kv.ts +0 -430
  134. package/src/logger.ts +0 -73
  135. package/src/metrics/index.ts +0 -4
  136. package/src/metrics/is-ci.ts +0 -14
  137. package/src/metrics/metrics-config.ts +0 -239
  138. package/src/metrics/metrics-dispatcher.ts +0 -95
  139. package/src/metrics/send-event.ts +0 -92
  140. package/src/miniflare-cli/README.md +0 -30
  141. package/src/miniflare-cli/assets.ts +0 -543
  142. package/src/miniflare-cli/enum-keys.ts +0 -17
  143. package/src/miniflare-cli/index.ts +0 -85
  144. package/src/miniflare-cli/request-context.ts +0 -40
  145. package/src/module-collection.ts +0 -258
  146. package/src/open-in-browser.ts +0 -17
  147. package/src/package-manager.ts +0 -219
  148. package/src/pages/build.tsx +0 -204
  149. package/src/pages/constants.ts +0 -7
  150. package/src/pages/deployments.tsx +0 -106
  151. package/src/pages/dev.tsx +0 -401
  152. package/src/pages/functions/buildPlugin.ts +0 -105
  153. package/src/pages/functions/buildWorker.ts +0 -151
  154. package/src/pages/functions/filepath-routing.test.ts +0 -234
  155. package/src/pages/functions/filepath-routing.ts +0 -189
  156. package/src/pages/functions/identifiers.ts +0 -78
  157. package/src/pages/functions/routes.ts +0 -151
  158. package/src/pages/index.tsx +0 -84
  159. package/src/pages/projects.tsx +0 -163
  160. package/src/pages/publish.tsx +0 -338
  161. package/src/pages/types.ts +0 -40
  162. package/src/pages/upload.tsx +0 -396
  163. package/src/pages/utils.ts +0 -12
  164. package/src/parse.ts +0 -286
  165. package/src/paths.ts +0 -26
  166. package/src/preview.ts +0 -31
  167. package/src/proxy.ts +0 -476
  168. package/src/publish.ts +0 -793
  169. package/src/pubsub/index.ts +0 -286
  170. package/src/pubsub/pubsub-commands.tsx +0 -623
  171. package/src/r2.ts +0 -50
  172. package/src/selfsigned.d.ts +0 -29
  173. package/src/sites.tsx +0 -372
  174. package/src/tail/filters.ts +0 -279
  175. package/src/tail/index.ts +0 -299
  176. package/src/tail/printing.ts +0 -67
  177. package/src/update-check.ts +0 -19
  178. package/src/user/choose-account.tsx +0 -69
  179. package/src/user/env-vars.ts +0 -46
  180. package/src/user/generate-auth-url.ts +0 -33
  181. package/src/user/generate-random-state.ts +0 -16
  182. package/src/user/index.ts +0 -3
  183. package/src/user/user.tsx +0 -1171
  184. package/src/whoami.tsx +0 -91
  185. package/src/worker-namespace.ts +0 -206
  186. package/src/worker.ts +0 -191
  187. package/src/zones.ts +0 -76
  188. package/templates/static-asset-facade.js +0 -49
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
 
@@ -39,21 +37,35 @@ npm run deploy
39
37
  $ npm install wrangler --save-dev
40
38
  ```
41
39
 
40
+ ## Configuration:
41
+
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.
43
+
44
+ Example:
45
+
46
+ ```toml
47
+ name = "my-worker"
48
+ main = "./src/index.ts" # init w/ TypeScript
49
+ compatibility_date = "YYYY-MM-DD"
50
+ ```
51
+
52
+ For more detailed information about configuration, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
53
+
42
54
  ## Commands
43
55
 
44
56
  ### `wrangler init [name]`
45
57
 
46
- Creates a Worker project. For details on configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration).
58
+ Creates a Worker project. For details on configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/wrangler/commands/#init).
47
59
 
48
60
  ### `wrangler dev`
49
61
 
50
62
  Start a local development server, with live reloading and devtools.
51
63
 
52
- ### `wrangler publish`
64
+ ### `wrangler deploy`
53
65
 
54
66
  Publish the given script to the worldwide Cloudflare network.
55
67
 
56
- 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/).
57
69
 
58
70
  ## Pages
59
71
 
@@ -67,4 +79,4 @@ For more commands and options, refer to the [documentation](https://developers.c
67
79
 
68
80
  ## Documentation
69
81
 
70
- For the latest Wrangler documentation, [click here](https://6b05b6e1.cloudflare-docs-7ou.pages.dev/workers/wrangler/).
82
+ For the latest Wrangler documentation, [click here](https://developers.cloudflare.com/workers/wrangler/).
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
+ }