wrangler 0.0.0-ba0aed63 → 0.0.0-ba4ac8239

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 (228) hide show
  1. package/README.md +17 -19
  2. package/bin/wrangler.js +24 -93
  3. package/config-schema.json +3115 -0
  4. package/package.json +197 -175
  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 +3 -5
  12. package/templates/init-tests/test-vitest-new-worker.js +4 -6
  13. package/templates/init-tests/test-vitest-new-worker.ts +25 -0
  14. package/templates/middleware/common.ts +9 -4
  15. package/templates/middleware/loader-modules.ts +94 -44
  16. package/templates/middleware/loader-sw.ts +48 -32
  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-scheduled.ts +15 -1
  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.ts +1 -1
  26. package/templates/new-worker.js +1 -1
  27. package/templates/new-worker.ts +4 -1
  28. package/templates/pages-dev-pipeline.ts +10 -13
  29. package/templates/pages-dev-util.ts +55 -0
  30. package/templates/pages-shim.ts +1 -1
  31. package/templates/pages-template-plugin.ts +37 -14
  32. package/templates/pages-template-worker.ts +33 -7
  33. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  34. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  35. package/templates/tsconfig-sanity.ts +11 -0
  36. package/templates/tsconfig.init.json +22 -0
  37. package/templates/tsconfig.json +5 -102
  38. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  39. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  40. package/wrangler-dist/ProxyWorker.js +241 -0
  41. package/wrangler-dist/ProxyWorker.js.map +6 -0
  42. package/wrangler-dist/cli.d.ts +26232 -174
  43. package/wrangler-dist/cli.js +207199 -145080
  44. package/wrangler-dist/wasm-sync.wasm +0 -0
  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 -6317
  51. package/src/__tests__/api-dev.test.ts +0 -189
  52. package/src/__tests__/api-devregistry.test.js +0 -56
  53. package/src/__tests__/api.test.ts +0 -80
  54. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  55. package/src/__tests__/config-cache.test.ts +0 -42
  56. package/src/__tests__/configuration.test.ts +0 -4026
  57. package/src/__tests__/dev.test.tsx +0 -1357
  58. package/src/__tests__/dialogs.test.tsx +0 -40
  59. package/src/__tests__/generate.test.ts +0 -91
  60. package/src/__tests__/guess-worker-format.test.ts +0 -85
  61. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  62. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  63. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  64. package/src/__tests__/helpers/mock-bin.ts +0 -36
  65. package/src/__tests__/helpers/mock-cfetch.ts +0 -316
  66. package/src/__tests__/helpers/mock-console.ts +0 -106
  67. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  68. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  69. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  70. package/src/__tests__/helpers/mock-istty.ts +0 -74
  71. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  72. package/src/__tests__/helpers/mock-kv.ts +0 -33
  73. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -250
  74. package/src/__tests__/helpers/mock-process.ts +0 -39
  75. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  76. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  77. package/src/__tests__/helpers/msw/handlers/index.ts +0 -13
  78. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  79. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -36
  80. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  81. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  82. package/src/__tests__/helpers/msw/index.ts +0 -4
  83. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  84. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  85. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  86. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  87. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  88. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  89. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  90. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  91. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  92. package/src/__tests__/https-options.test.ts +0 -163
  93. package/src/__tests__/index.test.ts +0 -247
  94. package/src/__tests__/init.test.ts +0 -2645
  95. package/src/__tests__/jest.setup.ts +0 -186
  96. package/src/__tests__/kv.test.ts +0 -1671
  97. package/src/__tests__/logger.test.ts +0 -141
  98. package/src/__tests__/metrics.test.ts +0 -450
  99. package/src/__tests__/middleware.scheduled.test.ts +0 -135
  100. package/src/__tests__/middleware.test.ts +0 -726
  101. package/src/__tests__/package-manager.test.ts +0 -353
  102. package/src/__tests__/pages.test.ts +0 -1995
  103. package/src/__tests__/parse.test.ts +0 -330
  104. package/src/__tests__/paths.test.ts +0 -17
  105. package/src/__tests__/publish.test.ts +0 -7033
  106. package/src/__tests__/pubsub.test.ts +0 -367
  107. package/src/__tests__/r2.test.ts +0 -371
  108. package/src/__tests__/route.test.ts +0 -45
  109. package/src/__tests__/secret.test.ts +0 -644
  110. package/src/__tests__/tail.test.ts +0 -775
  111. package/src/__tests__/test-old-node-version.js +0 -31
  112. package/src/__tests__/user.test.ts +0 -155
  113. package/src/__tests__/validate-dev-props.test.ts +0 -56
  114. package/src/__tests__/version.test.ts +0 -35
  115. package/src/__tests__/whoami.test.tsx +0 -274
  116. package/src/__tests__/worker-namespace.test.ts +0 -329
  117. package/src/abort.d.ts +0 -3
  118. package/src/api/dev.ts +0 -205
  119. package/src/api/index.ts +0 -2
  120. package/src/bundle-reporter.tsx +0 -29
  121. package/src/bundle.ts +0 -698
  122. package/src/cfetch/index.ts +0 -121
  123. package/src/cfetch/internal.ts +0 -298
  124. package/src/cli.ts +0 -29
  125. package/src/config/README.md +0 -107
  126. package/src/config/config.ts +0 -263
  127. package/src/config/diagnostics.ts +0 -80
  128. package/src/config/environment.ts +0 -485
  129. package/src/config/index.ts +0 -251
  130. package/src/config/validation-helpers.ts +0 -597
  131. package/src/config/validation.ts +0 -1862
  132. package/src/config-cache.ts +0 -85
  133. package/src/create-worker-preview.ts +0 -275
  134. package/src/create-worker-upload-form.ts +0 -291
  135. package/src/dev/dev-vars.ts +0 -36
  136. package/src/dev/dev.tsx +0 -538
  137. package/src/dev/local.tsx +0 -588
  138. package/src/dev/remote.tsx +0 -413
  139. package/src/dev/start-server.ts +0 -440
  140. package/src/dev/use-esbuild.ts +0 -186
  141. package/src/dev/validate-dev-props.ts +0 -31
  142. package/src/dev-registry.tsx +0 -190
  143. package/src/dev.tsx +0 -847
  144. package/src/dialogs.tsx +0 -154
  145. package/src/dispatch-namespace.ts +0 -206
  146. package/src/durable.ts +0 -102
  147. package/src/entry.ts +0 -329
  148. package/src/environment-variables.ts +0 -35
  149. package/src/errors.ts +0 -11
  150. package/src/faye-websocket.d.ts +0 -6
  151. package/src/generate.ts +0 -131
  152. package/src/git-client.ts +0 -42
  153. package/src/global-wrangler-config-path.ts +0 -26
  154. package/src/https-options.ts +0 -127
  155. package/src/index.tsx +0 -2360
  156. package/src/init.ts +0 -965
  157. package/src/inspect.ts +0 -747
  158. package/src/intl-polyfill.d.ts +0 -139
  159. package/src/is-ci.ts +0 -14
  160. package/src/is-interactive.ts +0 -12
  161. package/src/kv.ts +0 -430
  162. package/src/logger.ts +0 -73
  163. package/src/metrics/index.ts +0 -5
  164. package/src/metrics/metrics-config.ts +0 -239
  165. package/src/metrics/metrics-dispatcher.ts +0 -96
  166. package/src/metrics/metrics-usage-headers.ts +0 -24
  167. package/src/metrics/send-event.ts +0 -93
  168. package/src/miniflare-cli/README.md +0 -30
  169. package/src/miniflare-cli/assets.ts +0 -215
  170. package/src/miniflare-cli/enum-keys.ts +0 -17
  171. package/src/miniflare-cli/index.ts +0 -213
  172. package/src/miniflare-cli/request-context.ts +0 -40
  173. package/src/module-collection.ts +0 -258
  174. package/src/open-in-browser.ts +0 -17
  175. package/src/package-manager.ts +0 -219
  176. package/src/pages/build.tsx +0 -238
  177. package/src/pages/constants.ts +0 -16
  178. package/src/pages/deployments.tsx +0 -106
  179. package/src/pages/dev.tsx +0 -680
  180. package/src/pages/errors.ts +0 -66
  181. package/src/pages/functions/buildPlugin.ts +0 -110
  182. package/src/pages/functions/buildWorker.ts +0 -156
  183. package/src/pages/functions/filepath-routing.test.ts +0 -234
  184. package/src/pages/functions/filepath-routing.ts +0 -189
  185. package/src/pages/functions/identifiers.ts +0 -78
  186. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  187. package/src/pages/functions/routes-consolidation.ts +0 -73
  188. package/src/pages/functions/routes-transformation.test.ts +0 -282
  189. package/src/pages/functions/routes-transformation.ts +0 -115
  190. package/src/pages/functions/routes-validation.test.ts +0 -403
  191. package/src/pages/functions/routes-validation.ts +0 -202
  192. package/src/pages/functions/routes.ts +0 -151
  193. package/src/pages/functions.tsx +0 -82
  194. package/src/pages/hash.tsx +0 -13
  195. package/src/pages/index.tsx +0 -94
  196. package/src/pages/projects.tsx +0 -169
  197. package/src/pages/publish.tsx +0 -419
  198. package/src/pages/types.ts +0 -49
  199. package/src/pages/upload.tsx +0 -398
  200. package/src/pages/utils.ts +0 -12
  201. package/src/parse.ts +0 -286
  202. package/src/paths.ts +0 -45
  203. package/src/preview.ts +0 -31
  204. package/src/proxy.ts +0 -486
  205. package/src/publish.ts +0 -856
  206. package/src/pubsub/index.ts +0 -286
  207. package/src/pubsub/pubsub-commands.tsx +0 -623
  208. package/src/r2.ts +0 -131
  209. package/src/selfsigned.d.ts +0 -29
  210. package/src/sites.tsx +0 -372
  211. package/src/tail/filters.ts +0 -277
  212. package/src/tail/index.ts +0 -315
  213. package/src/tail/printing.ts +0 -107
  214. package/src/update-check.ts +0 -19
  215. package/src/user/choose-account.tsx +0 -69
  216. package/src/user/env-vars.ts +0 -46
  217. package/src/user/generate-auth-url.ts +0 -33
  218. package/src/user/generate-random-state.ts +0 -16
  219. package/src/user/index.ts +0 -3
  220. package/src/user/user.tsx +0 -1191
  221. package/src/whoami.tsx +0 -169
  222. package/src/worker.ts +0 -204
  223. package/src/zones.ts +0 -167
  224. package/templates/first-party-worker-module-facade.ts +0 -18
  225. package/templates/format-dev-errors.ts +0 -32
  226. package/templates/serve-static-assets.ts +0 -63
  227. package/templates/service-bindings-module-facade.js +0 -54
  228. 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
@@ -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
+ }