wrangler 0.0.0-eebdb6c → 0.0.0-eee5c78

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 (158) 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 +63 -31
  7. package/pages/functions/buildPlugin.ts +105 -0
  8. package/pages/functions/buildWorker.ts +98 -4
  9. package/pages/functions/filepath-routing.test.ts +224 -22
  10. package/pages/functions/filepath-routing.ts +101 -137
  11. package/pages/functions/identifiers.ts +1 -1
  12. package/pages/functions/routes.ts +23 -25
  13. package/pages/functions/template-plugin.ts +147 -0
  14. package/pages/functions/template-worker.ts +45 -37
  15. package/src/__tests__/config-cache.test.ts +36 -0
  16. package/src/__tests__/configuration.test.ts +3487 -0
  17. package/src/__tests__/dev.test.tsx +983 -0
  18. package/src/__tests__/guess-worker-format.test.ts +85 -0
  19. package/src/__tests__/{clipboardy-mock.js → helpers/clipboardy-mock.js} +0 -0
  20. package/src/__tests__/helpers/cmd-shim.d.ts +11 -0
  21. package/src/__tests__/helpers/faye-websocket.d.ts +6 -0
  22. package/src/__tests__/helpers/mock-account-id.ts +48 -0
  23. package/src/__tests__/helpers/mock-bin.ts +36 -0
  24. package/src/__tests__/{mock-cfetch.ts → helpers/mock-cfetch.ts} +59 -19
  25. package/src/__tests__/helpers/mock-console.ts +87 -0
  26. package/src/__tests__/helpers/mock-dialogs.ts +130 -0
  27. package/src/__tests__/helpers/mock-http-server.ts +46 -0
  28. package/src/__tests__/helpers/mock-istty.ts +27 -0
  29. package/src/__tests__/helpers/mock-kv.ts +33 -0
  30. package/src/__tests__/helpers/mock-oauth-flow.ts +255 -0
  31. package/src/__tests__/helpers/mock-stdin.ts +103 -0
  32. package/src/__tests__/helpers/mock-web-socket.ts +29 -0
  33. package/src/__tests__/helpers/run-in-tmp.ts +39 -0
  34. package/src/__tests__/helpers/run-wrangler.ts +16 -0
  35. package/src/__tests__/helpers/write-worker-source.ts +31 -0
  36. package/src/__tests__/helpers/write-wrangler-toml.ts +17 -0
  37. package/src/__tests__/https-options.test.ts +130 -0
  38. package/src/__tests__/index.test.ts +179 -209
  39. package/src/__tests__/init.test.ts +1637 -0
  40. package/src/__tests__/jest.setup.ts +61 -6
  41. package/src/__tests__/kv.test.ts +855 -472
  42. package/src/__tests__/logger.test.ts +115 -0
  43. package/src/__tests__/package-manager.test.ts +353 -0
  44. package/src/__tests__/pages.test.ts +754 -0
  45. package/src/__tests__/parse.test.ts +330 -0
  46. package/src/__tests__/publish.test.ts +5793 -0
  47. package/src/__tests__/r2.test.ts +233 -0
  48. package/src/__tests__/route.test.ts +45 -0
  49. package/src/__tests__/secret.test.ts +481 -0
  50. package/src/__tests__/tail.test.ts +690 -0
  51. package/src/__tests__/user.test.ts +131 -0
  52. package/src/__tests__/whoami.test.tsx +139 -0
  53. package/src/abort.d.ts +3 -0
  54. package/src/bundle.ts +204 -0
  55. package/src/cfetch/index.ts +40 -22
  56. package/src/cfetch/internal.ts +102 -29
  57. package/src/cli.ts +6 -2
  58. package/src/config/README.md +107 -0
  59. package/src/config/config.ts +234 -0
  60. package/src/config/diagnostics.ts +80 -0
  61. package/src/config/environment.ts +420 -0
  62. package/src/config/index.ts +225 -0
  63. package/src/config/validation-helpers.ts +584 -0
  64. package/src/config/validation.ts +1548 -0
  65. package/src/config-cache.ts +45 -0
  66. package/src/create-worker-preview.ts +185 -0
  67. package/src/create-worker-upload-form.ts +254 -0
  68. package/src/dev/dev-vars.ts +36 -0
  69. package/src/dev/dev.tsx +401 -0
  70. package/src/dev/local.tsx +326 -0
  71. package/src/dev/remote.tsx +237 -0
  72. package/src/dev/use-esbuild.ts +118 -0
  73. package/src/dialogs.tsx +66 -8
  74. package/src/durable.ts +102 -0
  75. package/src/entry.ts +322 -0
  76. package/src/environment-variables.ts +35 -0
  77. package/src/errors.ts +11 -0
  78. package/src/https-options.ts +123 -0
  79. package/src/index.tsx +1894 -952
  80. package/src/inspect.ts +662 -0
  81. package/src/intl-polyfill.d.ts +139 -0
  82. package/src/kv.ts +408 -0
  83. package/src/logger.ts +66 -0
  84. package/src/miniflare-cli/README.md +30 -0
  85. package/src/miniflare-cli/enum-keys.ts +17 -0
  86. package/src/miniflare-cli/index.ts +41 -0
  87. package/src/miniflare-cli/request-context.ts +40 -0
  88. package/src/module-collection.ts +229 -35
  89. package/src/open-in-browser.ts +19 -0
  90. package/src/package-manager.ts +174 -0
  91. package/src/pages.tsx +1421 -249
  92. package/src/parse.ts +203 -0
  93. package/src/paths.ts +26 -0
  94. package/src/proxy.ts +452 -77
  95. package/src/publish.ts +639 -268
  96. package/src/r2.ts +50 -0
  97. package/src/selfsigned.d.ts +29 -0
  98. package/src/sites.tsx +270 -58
  99. package/src/tail/filters.ts +279 -0
  100. package/src/tail/index.ts +299 -0
  101. package/src/tail/printing.ts +67 -0
  102. package/src/update-check.ts +19 -0
  103. package/src/user.tsx +399 -207
  104. package/src/whoami.tsx +71 -0
  105. package/src/{api/worker.ts → worker.ts} +68 -42
  106. package/src/zones.ts +73 -0
  107. package/templates/gitignore +171 -0
  108. package/templates/new-worker-scheduled.js +17 -0
  109. package/templates/new-worker-scheduled.ts +32 -0
  110. package/templates/new-worker.js +15 -0
  111. package/templates/new-worker.ts +30 -0
  112. package/{static-asset-facade.js → templates/static-asset-facade.js} +2 -6
  113. package/templates/tsconfig.json +105 -0
  114. package/wrangler-dist/cli.js +103725 -100873
  115. package/src/__tests__/mock-dialogs.ts +0 -65
  116. package/src/__tests__/run-in-tmp.ts +0 -19
  117. package/src/__tests__/run-wrangler.ts +0 -32
  118. package/src/api/form_data.ts +0 -131
  119. package/src/api/inspect.ts +0 -430
  120. package/src/api/preview.ts +0 -128
  121. package/src/config.ts +0 -131
  122. package/src/dev.tsx +0 -879
  123. package/src/kv.tsx +0 -267
  124. package/src/tail.tsx +0 -73
  125. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  126. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  127. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  128. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  129. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  130. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  131. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  132. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  133. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  134. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  135. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  136. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  137. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  138. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  139. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  140. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  141. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  142. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  143. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  144. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  145. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  146. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  147. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  148. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  149. package/vendor/wrangler-mime/LICENSE +0 -21
  150. package/vendor/wrangler-mime/Mime.js +0 -97
  151. package/vendor/wrangler-mime/README.md +0 -187
  152. package/vendor/wrangler-mime/cli.js +0 -46
  153. package/vendor/wrangler-mime/index.js +0 -4
  154. package/vendor/wrangler-mime/lite.js +0 -4
  155. package/vendor/wrangler-mime/package.json +0 -52
  156. package/vendor/wrangler-mime/types/other.js +0 -1
  157. package/vendor/wrangler-mime/types/standard.js +0 -1
  158. 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";