Skip to content
This repository was archived by the owner on Mar 7, 2025. It is now read-only.

Commit a7d173c

Browse files
authored
fix: pqueue cjs support (#98)
Signed-off-by: Tomas Dvorak <toomas2d@gmail.com>
1 parent 9c34f48 commit a7d173c

5 files changed

Lines changed: 44 additions & 45 deletions

File tree

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ibm-generative-ai/node-sdk",
3-
"version": "2.0.3",
3+
"version": "2.0.4",
44
"description": "IBM Generative AI Node.js SDK (Tech Preview)",
55
"keywords": [
66
"ai",
@@ -88,15 +88,15 @@
8888
"prettier": "^3.0.3",
8989
"ts-node": "^10.9.1",
9090
"tsup": "^8.0.2",
91-
"typescript": "^5.3.3",
91+
"typescript": "^5.4.3",
9292
"vitest": "^0.34.6"
9393
},
9494
"dependencies": {
9595
"@ai-zen/node-fetch-event-source": "^2.1.2",
9696
"fetch-retry": "^5.0.6",
9797
"http-status-codes": "^2.3.0",
9898
"openapi-fetch": "^0.8.2",
99-
"p-queue": "^8.0.1",
99+
"p-queue-compat": "^1.0.225",
100100
"yaml": "^2.3.3"
101101
},
102102
"lint-staged": {

src/errors.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { AbortError } from 'p-queue-compat';
2+
13
import { ApiError } from './api/client.js';
24

35
export class BaseError extends Error {}

src/utils/concurrency.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { default as PQueueType, QueueAddOptions } from 'p-queue';
1+
import PQueue, { QueueAddOptions } from 'p-queue-compat';
22

33
import { HttpError } from '../errors.js';
44

@@ -11,13 +11,8 @@ function isConcurrencyLimitError(err: unknown): err is HttpError {
1111
);
1212
}
1313

14-
const PQueue = (async () => {
15-
const lib = await import('p-queue');
16-
return lib.default;
17-
})();
18-
1914
export class ConcurrencyLimiter {
20-
private _queue?: PQueueType;
15+
private _queue?: PQueue;
2116
private _limiterPromise?: ReturnType<Limiter>;
2217

2318
constructor(private readonly limiter: Limiter) {}
@@ -47,6 +42,6 @@ export class ConcurrencyLimiter {
4742

4843
this._limiterPromise = this.limiter();
4944
const { limit } = await this._limiterPromise;
50-
this._queue = new (await PQueue)({ concurrency: limit });
45+
this._queue = new PQueue({ concurrency: limit });
5146
}
5247
}

src/utils/errors.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { FetchResponse } from 'openapi-fetch';
2+
import { AbortError } from 'p-queue-compat';
3+
AbortError.prototype.name = 'AbortError';
24

35
import { HttpError, InternalError, NetworkError } from '../errors.js';
46

yarn.lock

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -695,12 +695,12 @@ __metadata:
695695
msw: ^1.3.2
696696
openapi-fetch: ^0.8.2
697697
openapi-typescript: ^6.7.4
698-
p-queue: ^8.0.1
698+
p-queue-compat: ^1.0.225
699699
pinst: ^3.0.0
700700
prettier: ^3.0.3
701701
ts-node: ^10.9.1
702702
tsup: ^8.0.2
703-
typescript: ^5.3.3
703+
typescript: ^5.4.3
704704
vitest: ^0.34.6
705705
yaml: ^2.3.3
706706
peerDependencies:
@@ -3046,20 +3046,20 @@ __metadata:
30463046
languageName: node
30473047
linkType: hard
30483048

3049+
"eventemitter3@npm:5.x, eventemitter3@npm:^5.0.1":
3050+
version: 5.0.1
3051+
resolution: "eventemitter3@npm:5.0.1"
3052+
checksum: 543d6c858ab699303c3c32e0f0f47fc64d360bf73c3daf0ac0b5079710e340d6fe9f15487f94e66c629f5f82cd1a8678d692f3dbb6f6fcd1190e1b97fcad36f8
3053+
languageName: node
3054+
linkType: hard
3055+
30493056
"eventemitter3@npm:^4.0.4":
30503057
version: 4.0.7
30513058
resolution: "eventemitter3@npm:4.0.7"
30523059
checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374
30533060
languageName: node
30543061
linkType: hard
30553062

3056-
"eventemitter3@npm:^5.0.1":
3057-
version: 5.0.1
3058-
resolution: "eventemitter3@npm:5.0.1"
3059-
checksum: 543d6c858ab699303c3c32e0f0f47fc64d360bf73c3daf0ac0b5079710e340d6fe9f15487f94e66c629f5f82cd1a8678d692f3dbb6f6fcd1190e1b97fcad36f8
3060-
languageName: node
3061-
linkType: hard
3062-
30633063
"events@npm:^3.3.0":
30643064
version: 3.3.0
30653065
resolution: "events@npm:3.3.0"
@@ -5424,6 +5424,16 @@ __metadata:
54245424
languageName: node
54255425
linkType: hard
54265426

5427+
"p-queue-compat@npm:^1.0.225":
5428+
version: 1.0.225
5429+
resolution: "p-queue-compat@npm:1.0.225"
5430+
dependencies:
5431+
eventemitter3: 5.x
5432+
p-timeout-compat: ^1.0.3
5433+
checksum: dc35ea412ff7ba8a7ecd2057d8fd94d5efe0e75769bbc18894614b42c23cdc65d2a1e6bb92476a695b3acdaaf47dc8b7c97587cc55326a1fd06622fc11235c5e
5434+
languageName: node
5435+
linkType: hard
5436+
54275437
"p-queue@npm:^6.6.2":
54285438
version: 6.6.2
54295439
resolution: "p-queue@npm:6.6.2"
@@ -5434,16 +5444,6 @@ __metadata:
54345444
languageName: node
54355445
linkType: hard
54365446

5437-
"p-queue@npm:^8.0.1":
5438-
version: 8.0.1
5439-
resolution: "p-queue@npm:8.0.1"
5440-
dependencies:
5441-
eventemitter3: ^5.0.1
5442-
p-timeout: ^6.1.2
5443-
checksum: 84a27a5b1faf2dcc96b8c0e423c34b5984b241acc07353d3cc6d8d3d1dadefb250b4ec84ce278cb1c946466999c6bf2a36ff718a75810bad8e11c7ca47ce80f5
5444-
languageName: node
5445-
linkType: hard
5446-
54475447
"p-retry@npm:4":
54485448
version: 4.6.2
54495449
resolution: "p-retry@npm:4.6.2"
@@ -5454,6 +5454,13 @@ __metadata:
54545454
languageName: node
54555455
linkType: hard
54565456

5457+
"p-timeout-compat@npm:^1.0.3":
5458+
version: 1.0.4
5459+
resolution: "p-timeout-compat@npm:1.0.4"
5460+
checksum: c55421977a2b73a7419ebb437dc16690bbf0eb99ce688d7f23749093c0c5b4ce08a5236b3d83483dacce594fb98c111d36bc3916e2463ef78e7a339bf0e95d5a
5461+
languageName: node
5462+
linkType: hard
5463+
54575464
"p-timeout@npm:^3.2.0":
54585465
version: 3.2.0
54595466
resolution: "p-timeout@npm:3.2.0"
@@ -5463,13 +5470,6 @@ __metadata:
54635470
languageName: node
54645471
linkType: hard
54655472

5466-
"p-timeout@npm:^6.1.2":
5467-
version: 6.1.2
5468-
resolution: "p-timeout@npm:6.1.2"
5469-
checksum: 887b805eb72c217dbc3c55a60a7f3b89a46cab14f04af62224f253ec84716cbd0880758be13b35444a4fa12d64d37d4c8a300f0b12a57c004d289f0a574cfe91
5470-
languageName: node
5471-
linkType: hard
5472-
54735473
"p-try@npm:^2.0.0":
54745474
version: 2.2.0
54755475
resolution: "p-try@npm:2.2.0"
@@ -6964,13 +6964,13 @@ __metadata:
69646964
languageName: node
69656965
linkType: hard
69666966

6967-
"typescript@npm:^5.3.3":
6968-
version: 5.3.3
6969-
resolution: "typescript@npm:5.3.3"
6967+
"typescript@npm:^5.4.3":
6968+
version: 5.4.3
6969+
resolution: "typescript@npm:5.4.3"
69706970
bin:
69716971
tsc: bin/tsc
69726972
tsserver: bin/tsserver
6973-
checksum: 2007ccb6e51bbbf6fde0a78099efe04dc1c3dfbdff04ca3b6a8bc717991862b39fd6126c0c3ebf2d2d98ac5e960bcaa873826bb2bb241f14277034148f41f6a2
6973+
checksum: d74d731527e35e64d8d2dcf2f897cf8cfbc3428be0ad7c48434218ba4ae41239f53be7c90714089db1068c05cae22436af2ecba71fd36ecc5e7a9118af060198
69746974
languageName: node
69756975
linkType: hard
69766976

@@ -6984,13 +6984,13 @@ __metadata:
69846984
languageName: node
69856985
linkType: hard
69866986

6987-
"typescript@patch:typescript@^5.3.3#~builtin<compat/typescript>":
6988-
version: 5.3.3
6989-
resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin<compat/typescript>::version=5.3.3&hash=85af82"
6987+
"typescript@patch:typescript@^5.4.3#~builtin<compat/typescript>":
6988+
version: 5.4.3
6989+
resolution: "typescript@patch:typescript@npm%3A5.4.3#~builtin<compat/typescript>::version=5.4.3&hash=85af82"
69906990
bin:
69916991
tsc: bin/tsc
69926992
tsserver: bin/tsserver
6993-
checksum: f61375590b3162599f0f0d5b8737877ac0a7bc52761dbb585d67e7b8753a3a4c42d9a554c4cc929f591ffcf3a2b0602f65ae3ce74714fd5652623a816862b610
6993+
checksum: 3a62fe90aa79d68c9ce38ea5edb2957e62801c733b99f0e5a2b8b50922761f68f7d9a40d28c544b449866e81185cddb93cba2496d0ff3fa52ef5b1f8bcace38c
69946994
languageName: node
69956995
linkType: hard
69966996

0 commit comments

Comments
 (0)