@fedify/fedify 0.8.0-dev.162 → 0.8.0-dev.164

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @fedify/fedify might be problematic. Click here for more details.

package/CHANGES.md CHANGED
@@ -51,6 +51,9 @@ To be released.
51
51
  - `["fedify", "httpsig", "verify"]`
52
52
  - `["fedify", "runtime", "docloader"]`
53
53
 
54
+ - Fixed a bug where the authenticated document loader had thrown `InvalidUrl`
55
+ error when the URL redirection was involved in Bun.
56
+
54
57
  [@fedify/cli]: https://jsr.io/@fedify/cli
55
58
  [FEP-8fcf]: https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md
56
59
 
package/README.md CHANGED
@@ -74,16 +74,10 @@ Installation
74
74
  ------------
75
75
 
76
76
  Fedify is available on [JSR] for [Deno] and on [npm] for [Node.js] and [Bun].
77
- Although Fedify can be used in Node.js and Bun, it's primarily designed for
78
- Deno. We recommend using Deno for the best experience, but you can use Node.js
79
- or Bun if you prefer.
80
77
 
81
78
  > [!TIP]
82
- > If you are new to Deno, but already familiar with Node.js, you can think of
83
- > Deno as a more modern version of Node.js created by the same person, Ryan
84
- > Dahl. Deno has a lot of improvements over Node.js, such as better security,
85
- > better TypeScript support, better ES module support, and built-in key-value
86
- > store and message queue.
79
+ > We recommend using Deno or Bun (which are TypeScript-first) for the best
80
+ > experience, but you can use Node.js if you prefer.
87
81
 
88
82
  [JSR]: https://jsr.io/@fedify/fedify
89
83
  [Deno]: https://deno.com/
@@ -102,7 +96,7 @@ deno add @fedify/fedify
102
96
  ~~~~
103
97
 
104
98
  Since Fedify requires [`Temporal`] API, which is an unstable feature in Deno as
105
- of April 2024, you need to add the `"temporal"` to the `"unstable"` field of
99
+ of May 2024, you need to add the `"temporal"` to the `"unstable"` field of
106
100
  the *deno.json* file:
107
101
 
108
102
  ~~~~ json
@@ -126,6 +120,18 @@ the following command:
126
120
  npm add @fedify/fedify
127
121
  ~~~~
128
122
 
123
+ Fedify is an ESM-only package, so you need to add `"type": "module"` to the
124
+ *package.json* file:
125
+
126
+ ~~~~ json
127
+ {
128
+ "type": "module",
129
+ "dependencies": {
130
+ "@fedify/fedify": "^0.8.0"
131
+ }
132
+ }
133
+ ~~~~
134
+
129
135
  ### Bun
130
136
 
131
137
  Fedify can also be used in Bun. You can install it via the following
@@ -67,7 +67,12 @@ async function getRemoteDocument(url, response) {
67
67
  export async function fetchDocumentLoader(url) {
68
68
  const request = createRequest(url);
69
69
  logRequest(request);
70
- const response = await fetch(request);
70
+ const response = await fetch(request, {
71
+ // Since Bun has a bug that ignores the `Request.redirect` option,
72
+ // to work around it we specify `redirect: "manual"` here too:
73
+ // https://github.com/oven-sh/bun/issues/10754
74
+ redirect: "manual",
75
+ });
71
76
  // Follow redirects manually to get the final URL:
72
77
  if (response.status >= 300 && response.status < 400 &&
73
78
  response.headers.has("Location")) {
@@ -91,7 +96,12 @@ export function getAuthenticatedDocumentLoader(identity) {
91
96
  let request = createRequest(url);
92
97
  request = await sign(request, identity.privateKey, identity.keyId);
93
98
  logRequest(request);
94
- const response = await fetch(request);
99
+ const response = await fetch(request, {
100
+ // Since Bun has a bug that ignores the `Request.redirect` option,
101
+ // to work around it we specify `redirect: "manual"` here too:
102
+ // https://github.com/oven-sh/bun/issues/10754
103
+ redirect: "manual",
104
+ });
95
105
  // Follow redirects manually to get the final URL:
96
106
  if (response.status >= 300 && response.status < 400 &&
97
107
  response.headers.has("Location")) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/fedify",
3
- "version": "0.8.0-dev.162+2daab895",
3
+ "version": "0.8.0-dev.164+e6fdb2f7",
4
4
  "description": "An ActivityPub server framework",
5
5
  "keywords": [
6
6
  "ActivityPub",
@@ -1 +1 @@
1
- {"version":3,"file":"docloader.d.ts","sourceRoot":"","sources":["../../src/runtime/docloader.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAM1D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,KACpD,cAAc,CAAC;AAEpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;;;OAKG;gBACS,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAKhD;AAwDD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GACtD,cAAc,CAiBhB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAC/C,cAAc,CAgDhB"}
1
+ {"version":3,"file":"docloader.d.ts","sourceRoot":"","sources":["../../src/runtime/docloader.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAM1D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,KACpD,cAAc,CAAC;AAEpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;;;OAKG;gBACS,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAKhD;AAwDD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAiBzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GACtD,cAAc,CAsBhB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAC/C,cAAc,CAgDhB"}