wrangler 0.0.0-ae3895e → 0.0.0-aed7e33

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 (185) hide show
  1. package/Cloudflare_CA.pem +18 -0
  2. package/README.md +8 -2
  3. package/bin/wrangler.js +120 -31
  4. package/kv-asset-handler.js +1 -0
  5. package/miniflare-dist/index.mjs +10 -2
  6. package/package.json +157 -149
  7. package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
  8. package/src/__tests__/config-cache.test.ts +30 -24
  9. package/src/__tests__/configuration.test.ts +3935 -3114
  10. package/src/__tests__/dev.test.tsx +1135 -738
  11. package/src/__tests__/guess-worker-format.test.ts +68 -68
  12. package/src/__tests__/helpers/cmd-shim.d.ts +6 -6
  13. package/src/__tests__/helpers/faye-websocket.d.ts +4 -4
  14. package/src/__tests__/helpers/mock-account-id.ts +24 -24
  15. package/src/__tests__/helpers/mock-bin.ts +20 -20
  16. package/src/__tests__/helpers/mock-cfetch.ts +92 -92
  17. package/src/__tests__/helpers/mock-console.ts +49 -39
  18. package/src/__tests__/helpers/mock-dialogs.ts +114 -51
  19. package/src/__tests__/helpers/mock-http-server.ts +30 -30
  20. package/src/__tests__/helpers/mock-istty.ts +65 -18
  21. package/src/__tests__/helpers/mock-kv.ts +26 -26
  22. package/src/__tests__/helpers/mock-oauth-flow.ts +223 -228
  23. package/src/__tests__/helpers/mock-process.ts +39 -0
  24. package/src/__tests__/helpers/mock-stdin.ts +82 -77
  25. package/src/__tests__/helpers/mock-web-socket.ts +21 -21
  26. package/src/__tests__/helpers/run-in-tmp.ts +27 -27
  27. package/src/__tests__/helpers/run-wrangler.ts +8 -8
  28. package/src/__tests__/helpers/write-worker-source.ts +16 -16
  29. package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
  30. package/src/__tests__/https-options.test.ts +104 -104
  31. package/src/__tests__/index.test.ts +244 -231
  32. package/src/__tests__/init.test.ts +1658 -1182
  33. package/src/__tests__/jest.setup.ts +67 -29
  34. package/src/__tests__/kv.test.ts +1227 -1062
  35. package/src/__tests__/logger.test.ts +100 -74
  36. package/src/__tests__/package-manager.test.ts +312 -165
  37. package/src/__tests__/pages.test.ts +1204 -279
  38. package/src/__tests__/parse.test.ts +252 -248
  39. package/src/__tests__/publish.test.ts +6429 -4807
  40. package/src/__tests__/pubsub.test.ts +367 -0
  41. package/src/__tests__/r2.test.ts +176 -157
  42. package/src/__tests__/route.test.ts +18 -18
  43. package/src/__tests__/secret.test.ts +399 -359
  44. package/src/__tests__/tail.test.ts +530 -530
  45. package/src/__tests__/user.test.ts +123 -111
  46. package/src/__tests__/whoami.test.tsx +198 -83
  47. package/src/__tests__/worker-namespace.test.ts +327 -0
  48. package/src/abort.d.ts +3 -0
  49. package/src/api/dev.ts +52 -0
  50. package/src/api/index.ts +1 -0
  51. package/src/bundle-reporter.tsx +29 -0
  52. package/src/bundle.ts +170 -125
  53. package/src/cfetch/index.ts +83 -66
  54. package/src/cfetch/internal.ts +99 -87
  55. package/src/cli.ts +21 -7
  56. package/src/config/config.ts +204 -195
  57. package/src/config/diagnostics.ts +61 -61
  58. package/src/config/environment.ts +398 -339
  59. package/src/config/index.ts +213 -38
  60. package/src/config/validation-helpers.ts +366 -357
  61. package/src/config/validation.ts +1584 -1263
  62. package/src/config-cache.ts +79 -41
  63. package/src/create-worker-preview.ts +206 -126
  64. package/src/create-worker-upload-form.ts +247 -224
  65. package/src/dev/dev-vars.ts +13 -13
  66. package/src/dev/dev.tsx +336 -337
  67. package/src/dev/local.tsx +308 -268
  68. package/src/dev/remote.tsx +366 -197
  69. package/src/dev/use-esbuild.ts +126 -94
  70. package/src/dev.tsx +538 -0
  71. package/src/dialogs.tsx +111 -63
  72. package/src/durable.ts +102 -0
  73. package/src/entry.ts +250 -186
  74. package/src/environment-variables.ts +23 -23
  75. package/src/errors.ts +6 -6
  76. package/src/generate.ts +33 -0
  77. package/src/git-client.ts +42 -0
  78. package/src/https-options.ts +79 -79
  79. package/src/index.tsx +1789 -2586
  80. package/src/init.ts +549 -0
  81. package/src/inspect.ts +601 -562
  82. package/src/intl-polyfill.d.ts +123 -123
  83. package/src/is-interactive.ts +12 -0
  84. package/src/kv.ts +331 -242
  85. package/src/logger.ts +46 -39
  86. package/src/miniflare-cli/enum-keys.ts +8 -8
  87. package/src/miniflare-cli/index.ts +43 -31
  88. package/src/miniflare-cli/request-context.ts +18 -18
  89. package/src/module-collection.ts +212 -212
  90. package/src/open-in-browser.ts +5 -14
  91. package/src/package-manager.ts +133 -86
  92. package/src/pages/build.tsx +202 -0
  93. package/src/pages/constants.ts +7 -0
  94. package/src/pages/deployments.tsx +101 -0
  95. package/src/pages/dev.tsx +964 -0
  96. package/src/pages/functions/buildPlugin.ts +105 -0
  97. package/src/pages/functions/buildWorker.ts +151 -0
  98. package/{pages → src/pages}/functions/filepath-routing.test.ts +113 -113
  99. package/src/pages/functions/filepath-routing.ts +189 -0
  100. package/src/pages/functions/identifiers.ts +78 -0
  101. package/src/pages/functions/routes.ts +151 -0
  102. package/src/pages/index.tsx +84 -0
  103. package/src/pages/projects.tsx +157 -0
  104. package/src/pages/publish.tsx +335 -0
  105. package/src/pages/types.ts +40 -0
  106. package/src/pages/upload.tsx +384 -0
  107. package/src/pages/utils.ts +12 -0
  108. package/src/parse.ts +223 -122
  109. package/src/paths.ts +6 -6
  110. package/src/preview.ts +31 -0
  111. package/src/proxy.ts +405 -378
  112. package/src/publish.ts +739 -441
  113. package/src/pubsub/index.ts +286 -0
  114. package/src/pubsub/pubsub-commands.tsx +577 -0
  115. package/src/r2.ts +19 -19
  116. package/src/selfsigned.d.ts +23 -23
  117. package/src/sites.tsx +279 -200
  118. package/src/tail/filters.ts +108 -108
  119. package/src/tail/index.ts +217 -217
  120. package/src/tail/printing.ts +45 -45
  121. package/src/update-check.ts +11 -11
  122. package/src/user/choose-account.tsx +60 -0
  123. package/src/user/env-vars.ts +46 -0
  124. package/src/user/generate-auth-url.ts +33 -0
  125. package/src/user/generate-random-state.ts +16 -0
  126. package/src/user/index.ts +3 -0
  127. package/src/user/user.tsx +1161 -0
  128. package/src/wasi.ts +85 -0
  129. package/src/whoami.tsx +61 -41
  130. package/src/worker-namespace.ts +190 -0
  131. package/src/worker.ts +113 -94
  132. package/src/zones.ts +76 -0
  133. package/templates/checked-fetch.js +17 -0
  134. package/templates/new-worker-scheduled.js +17 -0
  135. package/templates/new-worker-scheduled.ts +32 -0
  136. package/templates/new-worker.js +3 -3
  137. package/templates/new-worker.ts +18 -3
  138. package/templates/no-op-worker.js +10 -0
  139. package/templates/pages-template-plugin.ts +155 -0
  140. package/templates/pages-template-worker.ts +161 -0
  141. package/templates/static-asset-facade.js +32 -36
  142. package/templates/tsconfig.json +95 -95
  143. package/wrangler-dist/cli.js +55232 -40511
  144. package/pages/functions/buildPlugin.ts +0 -92
  145. package/pages/functions/buildWorker.ts +0 -138
  146. package/pages/functions/filepath-routing.ts +0 -189
  147. package/pages/functions/identifiers.ts +0 -78
  148. package/pages/functions/routes.ts +0 -156
  149. package/pages/functions/template-plugin.ts +0 -146
  150. package/pages/functions/template-worker.ts +0 -143
  151. package/src/pages.tsx +0 -1875
  152. package/src/user.tsx +0 -1203
  153. package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
  154. package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
  155. package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
  156. package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
  157. package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
  158. package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
  159. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
  160. package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
  161. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
  162. package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
  163. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
  164. package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
  165. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
  166. package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
  167. package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
  168. package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
  169. package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
  170. package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
  171. package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
  172. package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
  173. package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
  174. package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
  175. package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
  176. package/vendor/wrangler-mime/CHANGELOG.md +0 -289
  177. package/vendor/wrangler-mime/LICENSE +0 -21
  178. package/vendor/wrangler-mime/Mime.js +0 -97
  179. package/vendor/wrangler-mime/README.md +0 -187
  180. package/vendor/wrangler-mime/cli.js +0 -46
  181. package/vendor/wrangler-mime/index.js +0 -4
  182. package/vendor/wrangler-mime/lite.js +0 -4
  183. package/vendor/wrangler-mime/package.json +0 -52
  184. package/vendor/wrangler-mime/types/other.js +0 -1
  185. package/vendor/wrangler-mime/types/standard.js +0 -1
@@ -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,4 +1,10 @@
1
- ## ⛅️ wrangler
1
+ <h1 align="center"> ⛅️ wrangler </h1>
2
+ <section align="center" id="shieldio-badges">
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>
7
+ </section>
2
8
 
3
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.
4
10
 
@@ -24,7 +30,7 @@ npx wrangler init my-worker
24
30
  # try it out
25
31
  cd my-worker && npm run start
26
32
  # and then publish it
27
- npm run publish
33
+ npm run deploy
28
34
  ```
29
35
 
30
36
  ## Installation:
package/bin/wrangler.js CHANGED
@@ -1,48 +1,137 @@
1
1
  #!/usr/bin/env node
2
- const { spawn } = require("node:child_process");
3
- const { join } = require("node:path");
2
+ const { spawn } = require("child_process");
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";
9
+ const debug =
10
+ process.env["WRANGLER_LOG"] === "debug"
11
+ ? (...args) => console.log(...args)
12
+ : () => {};
7
13
 
8
14
  let wranglerProcess;
9
15
 
10
- async function main() {
11
- if (semiver(process.versions.node, MIN_NODE_VERSION) < 0) {
12
- // Note Volta and nvm are also recommended in the official docs:
13
- // https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
14
- console.error(
15
- `Wrangler requires at least Node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}.
16
+ /**
17
+ * Executes ../wrangler-dist/cli.js
18
+ */
19
+ function runWrangler() {
20
+ if (semiver(process.versions.node, MIN_NODE_VERSION) < 0) {
21
+ // Note Volta and nvm are also recommended in the official docs:
22
+ // https://developers.cloudflare.com/workers/get-started/guide#2-install-the-workers-cli
23
+ console.error(
24
+ `Wrangler requires at least Node.js v${MIN_NODE_VERSION}. You are using v${process.versions.node}.
16
25
  You should use the latest Node.js version if possible, as Cloudflare Workers use a very up-to-date version of V8.
17
26
  Consider using a Node.js version manager such as https://volta.sh/ or https://github.com/nvm-sh/nvm.`
18
- );
19
- process.exitCode = 1;
20
- return;
21
- }
22
-
23
- wranglerProcess = spawn(
24
- process.execPath,
25
- [
26
- ...(semiver(process.versions.node, "18.0.0") >= 0
27
- ? ["--no-experimental-fetch"] // TODO: remove this when https://github.com/cloudflare/wrangler2/issues/834 is properly fixed
28
- : []),
29
- "--no-warnings",
30
- "--experimental-vm-modules",
31
- ...process.execArgv,
32
- join(__dirname, "../wrangler-dist/cli.js"),
33
- ...process.argv.slice(2),
34
- ],
35
- { stdio: "inherit" }
36
- ).on("exit", (code) =>
37
- process.exit(code === undefined || code === null ? 0 : code)
38
- );
27
+ );
28
+ process.exitCode = 1;
29
+ return;
30
+ }
31
+
32
+ let pathToCACerts = process.env.NODE_EXTRA_CA_CERTS;
33
+ if (pathToCACerts) {
34
+ // TODO:
35
+ // - should we log a warning here?
36
+ // - maybe we can generate a certificate that concatenates with ours?
37
+ //
38
+ // I do think it'll be rare that someone wants to add a cert AND
39
+ // use cloudflare WARP, but let's wait till the situation actually
40
+ // arises before we do anything about it
41
+ } else {
42
+ const osTempDir = os.tmpdir();
43
+ const certDir = path.join(osTempDir, "wrangler-cert");
44
+ const certPath = path.join(certDir, "Cloudflare_CA.pem");
45
+ // copy cert to the system temp dir if needed
46
+ if (!fs.existsSync(certPath)) {
47
+ fs.mkdirSync(certDir, { recursive: true });
48
+ fs.writeFileSync(
49
+ certPath,
50
+ fs.readFileSync(path.join(__dirname, "../Cloudflare_CA.pem"), "utf-8")
51
+ );
52
+ }
53
+ pathToCACerts = certPath;
54
+ }
55
+
56
+ return spawn(
57
+ process.execPath,
58
+ [
59
+ "--no-warnings",
60
+ "--experimental-vm-modules",
61
+ ...process.execArgv,
62
+ path.join(__dirname, "../wrangler-dist/cli.js"),
63
+ ...process.argv.slice(2),
64
+ ],
65
+ {
66
+ stdio: "inherit",
67
+ env: {
68
+ ...process.env,
69
+ NODE_EXTRA_CA_CERTS: pathToCACerts,
70
+ },
71
+ }
72
+ ).on("exit", (code) =>
73
+ process.exit(code === undefined || code === null ? 0 : code)
74
+ );
75
+ }
76
+
77
+ /**
78
+ * Runs a locally-installed version of wrangler, delegating from this version.
79
+ * @throws {MODULE_NOT_FOUND} if there isn't a locally installed version of wrangler.
80
+ */
81
+ function runDelegatedWrangler() {
82
+ const packageJsonPath = require.resolve("wrangler/package.json", {
83
+ paths: [process.cwd()],
84
+ });
85
+ const {
86
+ bin: { wrangler: binaryPath },
87
+ version,
88
+ } = JSON.parse(fs.readFileSync(packageJsonPath));
89
+ const resolvedBinaryPath = path.resolve(packageJsonPath, "..", binaryPath);
90
+
91
+ debug(`Delegating to locally-installed version of wrangler @ v${version}`);
92
+
93
+ // this call to `spawn` is simpler because the delegated version will do all
94
+ // of the other work.
95
+ return spawn(
96
+ process.execPath,
97
+ [resolvedBinaryPath, ...process.argv.slice(2)],
98
+ {
99
+ stdio: "inherit",
100
+ }
101
+ ).on("exit", (code) =>
102
+ process.exit(code === undefined || code === null ? 0 : code)
103
+ );
104
+ }
105
+
106
+ /**
107
+ * Indicates if this invocation of `wrangler` should delegate
108
+ * to a locally-installed version.
109
+ */
110
+ function shouldDelegate() {
111
+ try {
112
+ // `require.resolve` will throw if it can't find
113
+ // a locally-installed version of `wrangler`
114
+ const delegatedPackageJson = require.resolve("wrangler/package.json", {
115
+ paths: [process.cwd()],
116
+ });
117
+ const thisPackageJson = path.resolve(__dirname, "..", "package.json");
118
+ // if it's the same path, then we're already a local install -- no need to delegate
119
+ return thisPackageJson !== delegatedPackageJson;
120
+ } catch (e) {
121
+ // there's no local version to delegate to -- `require.resolve` threw
122
+ return false;
123
+ }
124
+ }
125
+
126
+ async function main() {
127
+ wranglerProcess = shouldDelegate() ? runDelegatedWrangler() : runWrangler();
39
128
  }
40
129
 
41
130
  process.on("SIGINT", () => {
42
- wranglerProcess.kill();
131
+ wranglerProcess?.kill();
43
132
  });
44
133
  process.on("SIGTERM", () => {
45
- wranglerProcess.kill();
134
+ wranglerProcess?.kill();
46
135
  });
47
136
 
48
137
  void main();
@@ -0,0 +1 @@
1
+ export * from "@cloudflare/kv-asset-handler";
@@ -4846,6 +4846,13 @@ var getRequestContextCheckOptions = async () => {
4846
4846
  };
4847
4847
 
4848
4848
  // src/miniflare-cli/index.ts
4849
+ var NoOpLog = class extends Log {
4850
+ log() {
4851
+ }
4852
+ error(message) {
4853
+ throw message;
4854
+ }
4855
+ };
4849
4856
  async function main() {
4850
4857
  const args = await yargs_default(hideBin(process.argv)).help(false).version(false).option("log", {
4851
4858
  choices: enumKeys(LogLevel)
@@ -4854,9 +4861,9 @@ async function main() {
4854
4861
  const requestContextCheckOptions = await getRequestContextCheckOptions();
4855
4862
  const config = {
4856
4863
  ...JSON.parse(args._[0] ?? "{}"),
4857
- ...requestContextCheckOptions,
4858
- log: new Log(logLevel)
4864
+ ...requestContextCheckOptions
4859
4865
  };
4866
+ config.log = config.disableLogs ? new NoOpLog() : new Log(logLevel);
4860
4867
  if (logLevel > LogLevel.INFO) {
4861
4868
  console.log("OPTIONS:\n", JSON.stringify(config, null, 2));
4862
4869
  }
@@ -4864,6 +4871,7 @@ async function main() {
4864
4871
  try {
4865
4872
  await mf.startServer();
4866
4873
  await mf.startScheduler();
4874
+ process.send && process.send("ready");
4867
4875
  } catch (e) {
4868
4876
  mf.log.error(e);
4869
4877
  process.exitCode = 1;
package/package.json CHANGED
@@ -1,151 +1,159 @@
1
1
  {
2
- "name": "wrangler",
3
- "version": "0.0.0-ae3895e",
4
- "author": "wrangler@cloudflare.com",
5
- "description": "Command-line interface for all things Cloudflare Workers",
6
- "bin": {
7
- "wrangler": "./bin/wrangler.js",
8
- "wrangler2": "./bin/wrangler.js"
9
- },
10
- "license": "MIT OR Apache-2.0",
11
- "bugs": {
12
- "url": "https://github.com/cloudflare/wrangler2/issues"
13
- },
14
- "homepage": "https://github.com/cloudflare/wrangler2#readme",
15
- "keywords": [
16
- "wrangler",
17
- "cloudflare",
18
- "workers",
19
- "cloudflare workers",
20
- "edge",
21
- "compute",
22
- "serverless",
23
- "serverless application",
24
- "serverless module",
25
- "wasm",
26
- "web",
27
- "assembly",
28
- "webassembly",
29
- "rust",
30
- "emscripten",
31
- "rust",
32
- "typescript",
33
- "graphql",
34
- "router",
35
- "http",
36
- "cli"
37
- ],
38
- "dependencies": {
39
- "@esbuild-plugins/node-globals-polyfill": "^0.1.1",
40
- "@esbuild-plugins/node-modules-polyfill": "^0.1.4",
41
- "blake3-wasm": "^2.1.5",
42
- "esbuild": "0.14.34",
43
- "miniflare": "2.4.0",
44
- "nanoid": "^3.3.3",
45
- "path-to-regexp": "^6.2.0",
46
- "selfsigned": "^2.0.1",
47
- "semiver": "^1.1.0",
48
- "xxhash-wasm": "^1.0.1"
49
- },
50
- "optionalDependencies": {
51
- "fsevents": "~2.3.2"
52
- },
53
- "devDependencies": {
54
- "@iarna/toml": "^3.0.0",
55
- "@types/command-exists": "^1.2.0",
56
- "@types/glob-to-regexp": "0.4.1",
57
- "@types/mime": "^2.0.3",
58
- "@types/prompts": "^2.0.14",
59
- "@types/react": "^17.0.37",
60
- "@types/serve-static": "^1.13.10",
61
- "@types/signal-exit": "^3.0.1",
62
- "@types/supports-color": "^8.1.1",
63
- "@types/ws": "^8.5.3",
64
- "@types/yargs": "^17.0.10",
65
- "@webcontainer/env": "^1.0.1",
66
- "chokidar": "^3.5.3",
67
- "clipboardy": "^3.0.0",
68
- "cmd-shim": "^4.1.0",
69
- "command-exists": "^1.2.9",
70
- "devtools-protocol": "^0.0.955664",
71
- "dotenv": "^16.0.0",
72
- "execa": "^6.1.0",
73
- "faye-websocket": "^0.11.4",
74
- "finalhandler": "^1.2.0",
75
- "find-up": "^6.3.0",
76
- "get-port": "^6.1.2",
77
- "glob-to-regexp": "0.4.1",
78
- "ignore": "^5.2.0",
79
- "ink": "^3.2.0",
80
- "ink-select-input": "^4.2.1",
81
- "ink-spinner": "^4.0.3",
82
- "ink-table": "^3.0.0",
83
- "ink-testing-library": "^2.1.0",
84
- "ink-text-input": "^4.0.3",
85
- "jest-fetch-mock": "^3.0.3",
86
- "jest-websocket-mock": "^2.3.0",
87
- "mime": "^3.0.0",
88
- "open": "^8.4.0",
89
- "pretty-bytes": "^6.0.0",
90
- "prompts": "^2.4.2",
91
- "react": "^17.0.2",
92
- "react-error-boundary": "^3.1.4",
93
- "serve-static": "^1.15.0",
94
- "signal-exit": "^3.0.7",
95
- "supports-color": "^9.2.2",
96
- "timeago.js": "^4.0.2",
97
- "tmp-promise": "^3.0.3",
98
- "ts-dedent": "^2.2.0",
99
- "undici": "^4.15.1",
100
- "update-check": "^1.5.4",
101
- "ws": "^8.5.0",
102
- "yargs": "^17.4.1"
103
- },
104
- "files": [
105
- "src",
106
- "bin",
107
- "pages",
108
- "miniflare-config-stubs",
109
- "miniflare-dist",
110
- "wrangler-dist",
111
- "templates",
112
- "vendor",
113
- "import_meta_url.js"
114
- ],
115
- "scripts": {
116
- "clean": "rm -rf wrangler-dist miniflare-dist",
117
- "check:type": "tsc",
118
- "bundle": "node -r esbuild-register scripts/bundle.ts",
119
- "build": "npm run clean && npm run bundle",
120
- "prepublishOnly": "SOURCEMAPS=false npm run build",
121
- "start": "npm run bundle && NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
122
- "test": "jest --silent=false --verbose=true",
123
- "test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch"
124
- },
125
- "engines": {
126
- "node": ">=16.7.0"
127
- },
128
- "jest": {
129
- "restoreMocks": true,
130
- "testTimeout": 30000,
131
- "testRegex": ".*.(test|spec)\\.[jt]sx?$",
132
- "transformIgnorePatterns": [
133
- "node_modules/(?!find-up|locate-path|p-locate|p-limit|yocto-queue|path-exists|execa|strip-final-newline|npm-run-path|path-key|onetime|mimic-fn|human-signals|is-stream|get-port|supports-color|pretty-bytes)"
134
- ],
135
- "moduleNameMapper": {
136
- "clipboardy": "<rootDir>/src/__tests__/helpers/clipboardy-mock.js",
137
- "miniflare/cli": "<rootDir>/../../node_modules/miniflare/dist/src/cli.js"
138
- },
139
- "transform": {
140
- "^.+\\.c?(t|j)sx?$": [
141
- "esbuild-jest",
142
- {
143
- "sourcemap": true
144
- }
145
- ]
146
- },
147
- "setupFilesAfterEnv": [
148
- "<rootDir>/src/__tests__/jest.setup.ts"
149
- ]
150
- }
2
+ "name": "wrangler",
3
+ "version": "0.0.0-aed7e33",
4
+ "author": "wrangler@cloudflare.com",
5
+ "description": "Command-line interface for all things Cloudflare Workers",
6
+ "bin": {
7
+ "wrangler": "./bin/wrangler.js",
8
+ "wrangler2": "./bin/wrangler.js"
9
+ },
10
+ "main": "wrangler-dist/cli.js",
11
+ "license": "MIT OR Apache-2.0",
12
+ "bugs": {
13
+ "url": "https://github.com/cloudflare/wrangler2/issues"
14
+ },
15
+ "homepage": "https://github.com/cloudflare/wrangler2#readme",
16
+ "keywords": [
17
+ "wrangler",
18
+ "cloudflare",
19
+ "workers",
20
+ "cloudflare workers",
21
+ "edge",
22
+ "compute",
23
+ "serverless",
24
+ "serverless application",
25
+ "serverless module",
26
+ "wasm",
27
+ "web",
28
+ "assembly",
29
+ "webassembly",
30
+ "rust",
31
+ "emscripten",
32
+ "rust",
33
+ "typescript",
34
+ "graphql",
35
+ "router",
36
+ "http",
37
+ "cli"
38
+ ],
39
+ "dependencies": {
40
+ "@cloudflare/kv-asset-handler": "^0.2.0",
41
+ "@cloudflare/workers-wasi": "^0.0.5",
42
+ "@esbuild-plugins/node-globals-polyfill": "^0.1.1",
43
+ "@esbuild-plugins/node-modules-polyfill": "^0.1.4",
44
+ "blake3-wasm": "^2.1.5",
45
+ "esbuild": "0.14.47",
46
+ "miniflare": "^2.5.1",
47
+ "nanoid": "^3.3.3",
48
+ "path-to-regexp": "^6.2.0",
49
+ "selfsigned": "^2.0.1",
50
+ "semiver": "^1.1.0",
51
+ "xxhash-wasm": "^1.0.1"
52
+ },
53
+ "optionalDependencies": {
54
+ "fsevents": "~2.3.2"
55
+ },
56
+ "devDependencies": {
57
+ "@iarna/toml": "^3.0.0",
58
+ "@types/command-exists": "^1.2.0",
59
+ "@types/glob-to-regexp": "0.4.1",
60
+ "@types/mime": "^2.0.3",
61
+ "@types/prompts": "^2.0.14",
62
+ "@types/react": "^17.0.37",
63
+ "@types/serve-static": "^1.13.10",
64
+ "@types/signal-exit": "^3.0.1",
65
+ "@types/supports-color": "^8.1.1",
66
+ "@types/ws": "^8.5.3",
67
+ "@types/yargs": "^17.0.10",
68
+ "@webcontainer/env": "^1.0.1",
69
+ "chokidar": "^3.5.3",
70
+ "clipboardy": "^3.0.0",
71
+ "cmd-shim": "^4.1.0",
72
+ "command-exists": "^1.2.9",
73
+ "concurrently": "^7.2.2",
74
+ "devtools-protocol": "^0.0.955664",
75
+ "dotenv": "^16.0.0",
76
+ "execa": "^6.1.0",
77
+ "faye-websocket": "^0.11.4",
78
+ "finalhandler": "^1.2.0",
79
+ "find-up": "^6.3.0",
80
+ "get-port": "^6.1.2",
81
+ "glob-to-regexp": "0.4.1",
82
+ "http-terminator": "^3.2.0",
83
+ "ignore": "^5.2.0",
84
+ "ink": "^3.2.0",
85
+ "ink-select-input": "^4.2.1",
86
+ "ink-spinner": "^4.0.3",
87
+ "ink-table": "^3.0.0",
88
+ "ink-testing-library": "^2.1.0",
89
+ "ink-text-input": "^4.0.3",
90
+ "jest-fetch-mock": "^3.0.3",
91
+ "jest-websocket-mock": "^2.3.0",
92
+ "mime": "^3.0.0",
93
+ "open": "^8.4.0",
94
+ "p-queue": "^7.2.0",
95
+ "pretty-bytes": "^6.0.0",
96
+ "prompts": "^2.4.2",
97
+ "react": "^17.0.2",
98
+ "react-error-boundary": "^3.1.4",
99
+ "serve-static": "^1.15.0",
100
+ "signal-exit": "^3.0.7",
101
+ "supports-color": "^9.2.2",
102
+ "timeago.js": "^4.0.2",
103
+ "tmp-promise": "^3.0.3",
104
+ "ts-dedent": "^2.2.0",
105
+ "undici": "^5.5.1",
106
+ "update-check": "^1.5.4",
107
+ "ws": "^8.5.0",
108
+ "yargs": "^17.4.1"
109
+ },
110
+ "files": [
111
+ "src",
112
+ "bin",
113
+ "miniflare-config-stubs",
114
+ "miniflare-dist",
115
+ "wrangler-dist",
116
+ "templates",
117
+ "vendor",
118
+ "import_meta_url.js",
119
+ "kv-asset-handler.js",
120
+ "Cloudflare_CA.pem"
121
+ ],
122
+ "scripts": {
123
+ "clean": "rm -rf wrangler-dist miniflare-dist",
124
+ "check:type": "tsc",
125
+ "bundle": "node -r esbuild-register scripts/bundle.ts",
126
+ "build": "npm run clean && npm run bundle",
127
+ "dev": "npm run clean && concurrently -c black,blue 'npm run bundle -- --watch' 'npm run check:type -- --watch --preserveWatchOutput'",
128
+ "prepublishOnly": "SOURCEMAPS=false npm run build",
129
+ "start": "npm run bundle && NODE_OPTIONS=--enable-source-maps ./bin/wrangler.js",
130
+ "test": "jest --silent=false --verbose=true",
131
+ "test-watch": "npm run test -- --runInBand --testTimeout=50000 --watch"
132
+ },
133
+ "engines": {
134
+ "node": ">=16.7.0"
135
+ },
136
+ "jest": {
137
+ "restoreMocks": true,
138
+ "testTimeout": 30000,
139
+ "testRegex": ".*.(test|spec)\\.[jt]sx?$",
140
+ "transformIgnorePatterns": [
141
+ "node_modules/(?!find-up|locate-path|p-locate|p-limit|p-timeout|p-queue|yocto-queue|path-exists|execa|strip-final-newline|npm-run-path|path-key|onetime|mimic-fn|human-signals|is-stream|get-port|supports-color|pretty-bytes)"
142
+ ],
143
+ "moduleNameMapper": {
144
+ "clipboardy": "<rootDir>/src/__tests__/helpers/clipboardy-mock.js",
145
+ "miniflare/cli": "<rootDir>/../../node_modules/miniflare/dist/src/cli.js"
146
+ },
147
+ "transform": {
148
+ "^.+\\.c?(t|j)sx?$": [
149
+ "esbuild-jest",
150
+ {
151
+ "sourcemap": true
152
+ }
153
+ ]
154
+ },
155
+ "setupFilesAfterEnv": [
156
+ "<rootDir>/src/__tests__/jest.setup.ts"
157
+ ]
158
+ }
151
159
  }
@@ -0,0 +1,38 @@
1
+ import { getConfigCache, saveToConfigCache } from "../config-cache";
2
+ import { mockConsoleMethods } from "./helpers/mock-console";
3
+ import { runInTempDir } from "./helpers/run-in-tmp";
4
+
5
+ interface PagesConfigCache {
6
+ account_id: string;
7
+ pages_project_name: string;
8
+ }
9
+
10
+ describe("config cache", () => {
11
+ runInTempDir();
12
+ mockConsoleMethods();
13
+ // In this set of tests, we don't create a node_modules folder
14
+ const pagesConfigCacheFilename = "pages-config-cache.json";
15
+
16
+ it("should return an empty config if no file exists", () => {
17
+ expect(
18
+ getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)
19
+ ).toMatchInlineSnapshot(`Object {}`);
20
+ });
21
+
22
+ it("should ignore attempts to cache values ", () => {
23
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
24
+ account_id: "some-account-id",
25
+ pages_project_name: "foo",
26
+ });
27
+ expect(getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)).toEqual(
28
+ {}
29
+ );
30
+
31
+ saveToConfigCache<PagesConfigCache>(pagesConfigCacheFilename, {
32
+ pages_project_name: "bar",
33
+ });
34
+ expect(getConfigCache<PagesConfigCache>(pagesConfigCacheFilename)).toEqual(
35
+ {}
36
+ );
37
+ });
38
+ });