wrangler 0.0.0-fe5dcfd → 0.0.0-fea87cf

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 (157) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +27 -14
  3. package/bin/wrangler.js +48 -4
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +4886 -0
  6. package/package.json +58 -31
  7. package/pages/functions/buildPlugin.ts +105 -0
  8. package/pages/functions/buildWorker.ts +93 -4
  9. package/pages/functions/filepath-routing.test.ts +223 -28
  10. package/pages/functions/filepath-routing.ts +92 -131
  11. package/pages/functions/routes.ts +16 -18
  12. package/pages/functions/template-plugin.ts +147 -0
  13. package/pages/functions/template-worker.ts +24 -17
  14. package/src/__tests__/config-cache.test.ts +36 -0
  15. package/src/__tests__/configuration.test.ts +3487 -0
  16. package/src/__tests__/dev.test.tsx +1004 -61
  17. package/src/__tests__/guess-worker-format.test.ts +85 -0
  18. package/src/__tests__/{clipboardy-mock.js → helpers/clipboardy-mock.js} +0 -0
  19. package/src/__tests__/helpers/cmd-shim.d.ts +11 -0
  20. package/src/__tests__/helpers/faye-websocket.d.ts +6 -0
  21. package/src/__tests__/helpers/mock-account-id.ts +48 -0
  22. package/src/__tests__/helpers/mock-bin.ts +36 -0
  23. package/src/__tests__/{mock-cfetch.ts → helpers/mock-cfetch.ts} +50 -12
  24. package/src/__tests__/helpers/mock-console.ts +87 -0
  25. package/src/__tests__/helpers/mock-dialogs.ts +153 -0
  26. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  27. package/src/__tests__/helpers/mock-istty.ts +27 -0
  28. package/src/__tests__/helpers/mock-kv.ts +33 -0
  29. package/src/__tests__/helpers/mock-oauth-flow.ts +255 -0
  30. package/src/__tests__/helpers/mock-stdin.ts +103 -0
  31. package/src/__tests__/helpers/mock-web-socket.ts +29 -0
  32. package/src/__tests__/helpers/run-in-tmp.ts +39 -0
  33. package/src/__tests__/helpers/run-wrangler.ts +16 -0
  34. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  35. package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
  36. package/src/__tests__/https-options.test.ts +130 -0
  37. package/src/__tests__/index.test.ts +179 -211
  38. package/src/__tests__/init.test.ts +1992 -0
  39. package/src/__tests__/jest.setup.ts +91 -6
  40. package/src/__tests__/kv.test.ts +797 -515
  41. package/src/__tests__/logger.test.ts +141 -0
  42. package/src/__tests__/package-manager.test.ts +353 -0
  43. package/src/__tests__/pages.test.ts +754 -0
  44. package/src/__tests__/parse.test.ts +330 -0
  45. package/src/__tests__/publish.test.ts +5639 -555
  46. package/src/__tests__/r2.test.ts +233 -0
  47. package/src/__tests__/route.test.ts +45 -0
  48. package/src/__tests__/secret.test.ts +481 -0
  49. package/src/__tests__/tail.test.ts +690 -0
  50. package/src/__tests__/user.test.ts +132 -0
  51. package/src/__tests__/whoami.test.tsx +59 -50
  52. package/src/abort.d.ts +3 -0
  53. package/src/bundle.ts +204 -0
  54. package/src/cfetch/index.ts +32 -21
  55. package/src/cfetch/internal.ts +101 -30
  56. package/src/cli.ts +6 -2
  57. package/src/config/README.md +107 -0
  58. package/src/config/config.ts +234 -0
  59. package/src/config/diagnostics.ts +80 -0
  60. package/src/config/environment.ts +420 -0
  61. package/src/config/index.ts +225 -0
  62. package/src/config/validation-helpers.ts +584 -0
  63. package/src/config/validation.ts +1548 -0
  64. package/src/config-cache.ts +45 -0
  65. package/src/create-worker-preview.ts +185 -0
  66. package/src/create-worker-upload-form.ts +254 -0
  67. package/src/dev/dev-vars.ts +36 -0
  68. package/src/dev/dev.tsx +395 -0
  69. package/src/dev/local.tsx +321 -0
  70. package/src/dev/remote.tsx +240 -0
  71. package/src/dev/use-esbuild.ts +115 -0
  72. package/src/dialogs.tsx +66 -8
  73. package/src/durable.ts +102 -0
  74. package/src/entry.ts +322 -0
  75. package/src/environment-variables.ts +35 -0
  76. package/src/errors.ts +11 -0
  77. package/src/generate-auth-url.ts +33 -0
  78. package/src/generate-random-state.ts +16 -0
  79. package/src/https-options.ts +123 -0
  80. package/src/index.tsx +1876 -966
  81. package/src/inspect.ts +148 -29
  82. package/src/intl-polyfill.d.ts +139 -0
  83. package/src/{kv.tsx → kv.ts} +199 -67
  84. package/src/logger.ts +73 -0
  85. package/src/miniflare-cli/README.md +30 -0
  86. package/src/miniflare-cli/enum-keys.ts +17 -0
  87. package/src/miniflare-cli/index.ts +41 -0
  88. package/src/miniflare-cli/request-context.ts +40 -0
  89. package/src/module-collection.ts +229 -35
  90. package/src/open-in-browser.ts +17 -0
  91. package/src/package-manager.ts +174 -0
  92. package/src/pages.tsx +1148 -95
  93. package/src/parse.ts +203 -0
  94. package/src/paths.ts +26 -0
  95. package/src/proxy.ts +227 -51
  96. package/src/publish.ts +624 -285
  97. package/src/r2.ts +50 -0
  98. package/src/selfsigned.d.ts +29 -0
  99. package/src/sites.tsx +149 -66
  100. package/src/tail/filters.ts +279 -0
  101. package/src/tail/index.ts +299 -0
  102. package/src/tail/printing.ts +67 -0
  103. package/src/update-check.ts +19 -0
  104. package/src/user.tsx +359 -176
  105. package/src/whoami.tsx +5 -3
  106. package/src/{api/worker.ts → worker.ts} +66 -40
  107. package/src/zones.ts +73 -0
  108. package/templates/gitignore +171 -0
  109. package/templates/new-worker-scheduled.js +17 -0
  110. package/templates/new-worker-scheduled.ts +32 -0
  111. package/templates/new-worker.js +15 -0
  112. package/templates/new-worker.ts +30 -0
  113. package/{static-asset-facade.js → templates/static-asset-facade.js} +3 -7
  114. package/templates/tsconfig.json +105 -0
  115. package/wrangler-dist/cli.js +98563 -96389
  116. package/src/__tests__/mock-dialogs.ts +0 -65
  117. package/src/__tests__/run-in-tmp.ts +0 -19
  118. package/src/__tests__/run-wrangler.ts +0 -32
  119. package/src/api/form_data.ts +0 -131
  120. package/src/api/preview.ts +0 -128
  121. package/src/config.ts +0 -646
  122. package/src/dev.tsx +0 -779
  123. package/src/tail.tsx +0 -73
  124. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  125. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  126. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  127. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  128. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  129. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  130. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  131. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  132. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  133. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  134. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  135. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  136. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  137. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  138. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  139. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  140. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  141. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  142. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  143. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  144. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  145. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  146. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  147. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  148. package/vendor/wrangler-mime/LICENSE +0 -21
  149. package/vendor/wrangler-mime/Mime.js +0 -97
  150. package/vendor/wrangler-mime/README.md +0 -187
  151. package/vendor/wrangler-mime/cli.js +0 -46
  152. package/vendor/wrangler-mime/index.js +0 -4
  153. package/vendor/wrangler-mime/lite.js +0 -4
  154. package/vendor/wrangler-mime/package.json +0 -52
  155. package/vendor/wrangler-mime/types/other.js +0 -1
  156. package/vendor/wrangler-mime/types/standard.js +0 -1
  157. package/wrangler-dist/cli.js.map +0 -7
@@ -0,0 +1,18 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIC6zCCAkygAwIBAgIUI7b68p0pPrCBoW4ptlyvVcPItscwCgYIKoZIzj0EAwQw
3
+ gY0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
4
+ YW4gRnJhbmNpc2NvMRgwFgYDVQQKEw9DbG91ZGZsYXJlLCBJbmMxNzA1BgNVBAMT
5
+ LkNsb3VkZmxhcmUgZm9yIFRlYW1zIEVDQyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw
6
+ HhcNMjAwMjA0MTYwNTAwWhcNMjUwMjAyMTYwNTAwWjCBjTELMAkGA1UEBhMCVVMx
7
+ EzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xGDAW
8
+ BgNVBAoTD0Nsb3VkZmxhcmUsIEluYzE3MDUGA1UEAxMuQ2xvdWRmbGFyZSBmb3Ig
9
+ VGVhbXMgRUNDIENlcnRpZmljYXRlIEF1dGhvcml0eTCBmzAQBgcqhkjOPQIBBgUr
10
+ gQQAIwOBhgAEAVdXsX8tpA9NAQeEQalvUIcVaFNDvGsR69ysZxOraRWNGHLfq1mi
11
+ P6o3wtmtx/C2OXG01Cw7UFJbKl5MEDxnT2KoAdFSynSJOF2NDoe5LoZHbUW+yR3X
12
+ FDl+MF6JzZ590VLGo6dPBf06UsXbH7PvHH2XKtFt8bBXVNMa5a21RdmpD0Pho0Uw
13
+ QzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBAjAdBgNVHQ4EFgQU
14
+ YBcQng1AEMMNteuRDAMG0/vgFe0wCgYIKoZIzj0EAwQDgYwAMIGIAkIBQU5OTA2h
15
+ YqmFk8paan5ezHVLcmcucsfYw4L/wmeEjCkczRmCVNm6L86LjhWU0v0wER0e+lHO
16
+ 3efvjbsu8gIGSagCQgEBnyYMP9gwg8l96QnQ1khFA1ljFlnqc2XgJHDSaAJC0gdz
17
+ +NV3JMeWaD2Rb32jc9r6/a7xY0u0ByqxBQ1OQ0dt7A==
18
+ -----END CERTIFICATE-----
package/README.md CHANGED
@@ -1,47 +1,56 @@
1
- ## 🤠 wrangler
1
+ ## ⛅️ wrangler
2
2
 
3
- `wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
4
-
5
- [(Read the full stack week launch blog post.)](https://blog.cloudflare.com/wrangler-v2-beta/)
3
+ > 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.
6
4
 
7
- **DISCLAIMER**: This is a work in progress, and is NOT recommended for use in production. We are opening this preview for feedback from the community, and to openly share our [roadmap](https://github.com/cloudflare/wrangler2/issues/12) for the future. As such, expect APIs and documentation to change before the end of the preview.
8
-
9
- Further, we will NOT do a general release until we are both feature complete, and have a full backward compatibility and incremental migration plan in place. For more details, follow the [parent roadmap issue](https://github.com/cloudflare/wrangler2/issues/12).
5
+ `wrangler` is a command line tool for building [Cloudflare Workers](https://workers.cloudflare.com/).
10
6
 
11
7
  ## Quick Start
12
8
 
13
9
  ```bash
14
10
  # Make a javascript file
15
- $ echo "export default { fetch() { return new Response('hello world') } }" > index.js
11
+ echo "export default { fetch() { return new Response('hello world') } }" > index.js
16
12
  # try it out
17
- $ npx wrangler@beta dev index.js
13
+ npx wrangler dev index.js
18
14
  # and then publish it
19
- $ npx wrangler@beta publish index.js --name my-worker
15
+ npx wrangler publish index.js --name my-worker
20
16
  # visit https://my-worker.<your workers subdomain>.workers.dev
21
17
  ```
22
18
 
19
+ ## Create a Project
20
+
21
+ ```bash
22
+ # Generate a new project
23
+ npx wrangler init my-worker
24
+ # try it out
25
+ cd my-worker && npm run start
26
+ # and then publish it
27
+ npm run deploy
28
+ ```
29
+
23
30
  ## Installation:
24
31
 
25
32
  ```bash
26
- $ npm install wrangler@beta
33
+ $ npm install wrangler --save-dev
27
34
  ```
28
35
 
29
36
  ## Commands
30
37
 
31
38
  ### `wrangler init [name]`
32
39
 
33
- Creates a `wrangler.toml` configuration file. For more details on the configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration).
40
+ Creates a Worker project. For details on configuration keys and values, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration).
34
41
 
35
- ### `wrangler dev [script]`
42
+ ### `wrangler dev`
36
43
 
37
44
  Start a local development server, with live reloading and devtools.
38
45
 
39
- ### `wrangler publish [script] --name [name]`
46
+ ### `wrangler publish`
40
47
 
41
48
  Publish the given script to the worldwide Cloudflare network.
42
49
 
43
50
  For more commands and options, refer to the [documentation](https://developers.cloudflare.com/workers/cli-wrangler/commands).
44
51
 
52
+ ## Pages
53
+
45
54
  ### `wrangler pages dev [directory] [-- command]`
46
55
 
47
56
  Either serves a static build asset directory, or proxies itself in front of a command.
@@ -49,3 +58,7 @@ Either serves a static build asset directory, or proxies itself in front of a co
49
58
  Builds and runs functions from a `./functions` directory or uses a `_worker.js` file inside the static build asset directory.
50
59
 
51
60
  For more commands and options, refer to the [documentation](https://developers.cloudflare.com/pages/platform/functions#develop-and-preview-locally) or run `wrangler pages dev --help`.
61
+
62
+ ## Documentation
63
+
64
+ For the latest Wrangler documentation, [click here](https://6b05b6e1.cloudflare-docs-7ou.pages.dev/workers/wrangler/).
package/bin/wrangler.js CHANGED
@@ -1,10 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  const { spawn } = require("child_process");
3
- const { join } = require("path");
3
+ const path = require("path");
4
+ const fs = require("fs");
5
+ const os = require("os");
4
6
  const semiver = require("semiver");
5
7
 
6
8
  const MIN_NODE_VERSION = "16.7.0";
7
9
 
10
+ let wranglerProcess;
11
+
8
12
  async function main() {
9
13
  if (semiver(process.versions.node, MIN_NODE_VERSION) < 0) {
10
14
  // Note Volta and nvm are also recommended in the official docs:
@@ -18,19 +22,59 @@ Consider using a Node.js version manager such as https://volta.sh/ or https://gi
18
22
  return;
19
23
  }
20
24
 
21
- spawn(
25
+ let pathToCACerts = process.env.NODE_EXTRA_CA_CERTS;
26
+ if (pathToCACerts) {
27
+ // TODO:
28
+ // - should we log a warning here?
29
+ // - maybe we can generate a certificate that concatenates with ours?
30
+ //
31
+ // I do think it'll be rare that someone wants to add a cert AND
32
+ // use cloudflare WARP, but let's wait till the situation actually
33
+ // arises before we do anything about it
34
+ } else {
35
+ const osTempDir = os.tmpdir();
36
+ const certDir = path.join(osTempDir, "wrangler-cert");
37
+ const certPath = path.join(certDir, "Cloudflare_CA.pem");
38
+ // copy cert to the system temp dir if needed
39
+ if (!fs.existsSync(certPath)) {
40
+ fs.mkdirSync(certDir, { recursive: true });
41
+ fs.writeFileSync(
42
+ certPath,
43
+ fs.readFileSync(path.join(__dirname, "../Cloudflare_CA.pem"), "utf-8")
44
+ );
45
+ }
46
+ pathToCACerts = certPath;
47
+ }
48
+
49
+ wranglerProcess = spawn(
22
50
  process.execPath,
23
51
  [
52
+ ...(semiver(process.versions.node, "18.0.0") >= 0
53
+ ? ["--no-experimental-fetch"] // TODO: remove this when https://github.com/cloudflare/wrangler2/issues/834 is properly fixed
54
+ : []),
24
55
  "--no-warnings",
25
56
  "--experimental-vm-modules",
26
57
  ...process.execArgv,
27
- join(__dirname, "../wrangler-dist/cli.js"),
58
+ path.join(__dirname, "../wrangler-dist/cli.js"),
28
59
  ...process.argv.slice(2),
29
60
  ],
30
- { stdio: "inherit" }
61
+ {
62
+ stdio: "inherit",
63
+ env: {
64
+ ...process.env,
65
+ NODE_EXTRA_CA_CERTS: pathToCACerts,
66
+ },
67
+ }
31
68
  ).on("exit", (code) =>
32
69
  process.exit(code === undefined || code === null ? 0 : code)
33
70
  );
34
71
  }
35
72
 
73
+ process.on("SIGINT", () => {
74
+ wranglerProcess.kill();
75
+ });
76
+ process.on("SIGTERM", () => {
77
+ wranglerProcess.kill();
78
+ });
79
+
36
80
  void main();
@@ -0,0 +1 @@
1
+ export * from "@cloudflare/kv-asset-handler";