Skip to content

Commit 9b5a917

Browse files
committed
chore(eventsource): update eventsource to v3
1 parent 31be3ed commit 9b5a917

File tree

3 files changed

+37
-16
lines changed

3 files changed

+37
-16
lines changed

packages/forestadmin-client/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
"directory": "packages/forestadmin-client"
1313
},
1414
"dependencies": {
15-
"eventsource": "2.0.2",
15+
"eventsource": "3.0.2",
1616
"json-api-serializer": "^2.6.6",
1717
"jsonwebtoken": "^9.0.0",
1818
"object-hash": "^3.0.0",
1919
"openid-client": "^5.6.4",
20-
"superagent": "^8.0.6"
20+
"superagent": "^8.0.6",
21+
"undici": "^6.0.0"
2122
},
2223
"files": [
2324
"dist/**/*.js",
@@ -36,4 +37,4 @@
3637
"@types/jsonwebtoken": "^9.0.1",
3738
"@types/superagent": "^4.1.16"
3839
}
39-
}
40+
}

packages/forestadmin-client/src/events-subscription/index.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import EventSource from 'eventsource';
1+
import { EventSource } from 'eventsource';
2+
import { Agent, fetch } from 'undici';
23

34
import {
45
BaseEventsSubscriptionService,
@@ -30,10 +31,16 @@ export default class EventsSubscriptionService implements BaseEventsSubscription
3031
const eventSourceConfig = {
3132
// forest-secret-key act as the credential
3233
withCredentials: false,
33-
headers: { 'forest-secret-key': this.options.envSecret },
34-
https: {
35-
rejectUnauthorized: process.env.NODE_TLS_REJECT_UNAUTHORIZED !== '0',
36-
},
34+
fetch: (input, init) =>
35+
fetch(input, {
36+
...init,
37+
headers: { ...init.headers, 'forest-secret-key': this.options.envSecret },
38+
dispatcher: new Agent({
39+
connect: {
40+
rejectUnauthorized: false,
41+
},
42+
}),
43+
}),
3744
};
3845
const url = new URL('/liana/v4/subscribe-to-events', this.options.forestServerUrl).toString();
3946

@@ -44,10 +51,7 @@ export default class EventsSubscriptionService implements BaseEventsSubscription
4451
eventSource.addEventListener('error', this.onEventError.bind(this));
4552

4653
// Only listen after first open
47-
eventSource.once('open', () =>
48-
eventSource.addEventListener('open', () => this.onEventOpenAgain()),
49-
);
50-
54+
eventSource.addEventListener('open', () => this.onEventOpenAgain());
5155
eventSource.addEventListener(ServerEventType.RefreshUsers, async () =>
5256
this.refreshEventsHandlerService.refreshUsers(),
5357
);
@@ -64,6 +68,10 @@ export default class EventsSubscriptionService implements BaseEventsSubscription
6468
this.refreshEventsHandlerService.refreshCustomizations(),
6569
);
6670

71+
eventSource.addEventListener('error', error => {
72+
this.options.logger('Error', `Server Event - Error: ${error.message}`);
73+
});
74+
6775
this.eventSource = eventSource;
6876
}
6977

yarn.lock

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7177,10 +7177,17 @@ events@^3.0.0, events@^3.3.0:
71777177
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
71787178
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
71797179

7180-
7181-
version "2.0.2"
7182-
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508"
7183-
integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==
7180+
eventsource-parser@^3.0.0:
7181+
version "3.0.0"
7182+
resolved "https://registry.yarnpkg.com/eventsource-parser/-/eventsource-parser-3.0.0.tgz#9303e303ef807d279ee210a17ce80f16300d9f57"
7183+
integrity sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==
7184+
7185+
7186+
version "3.0.2"
7187+
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-3.0.2.tgz#31904faf2d9a9dbdc410f9599354186e7257b3f7"
7188+
integrity sha512-YolzkJNxsTL3tCJMWFxpxtG2sCjbZ4LQUBUrkdaJK0ub0p6lmJt+2+1SwhKjLc652lpH9L/79Ptez972H9tphw==
7189+
dependencies:
7190+
eventsource-parser "^3.0.0"
71847191

71857192
excel4node@^1.8.0:
71867193
version "1.8.2"
@@ -15206,6 +15213,11 @@ undici-types@~5.26.4:
1520615213
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
1520715214
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
1520815215

15216+
undici@^6.0.0:
15217+
version "6.21.0"
15218+
resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.0.tgz#4b3d3afaef984e07b48e7620c34ed8a285ed4cd4"
15219+
integrity sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==
15220+
1520915221
unified@^9.0.0:
1521015222
version "9.2.2"
1521115223
resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975"

0 commit comments

Comments
 (0)