sindresorhus / p-queue

Promise queue with concurrency control
MIT License
3.39k stars 182 forks source link

[7.4.0] Type regression when node16 module/moduleResolution #196

Closed AviVahl closed 12 months ago

AviVahl commented 12 months ago

Starting with 7.4.0, the following steps:

mkdir pqueue-type
cd pqueue-type
npm init -y
npm i typescript p-queue
npx tsc --init --target es2022 --module node16 --moduleResolution node16 --skipLibCheck false
echo "import 'p-queue';" > index.ts
npx tsc --noEmit

Result in:

node_modules/p-queue/dist/index.d.ts:15:173 - error TS2507: Type 'typeof import("/home/avi/projects/pqueue-type/node_modules/eventemitter3/index")' is not a constructor function type.

15 export default class PQueue<QueueType extends Queue<RunFunction, EnqueueOptionsType> = PriorityQueue, EnqueueOptionsType extends QueueAddOptions = QueueAddOptions> extends EventEmitter<EventName> {
                                                                                                                                                                               ~~~~~~~~~~~~

Found 1 error in node_modules/p-queue/dist/index.d.ts:15

Saw this first here: https://github.com/wixplosives/pleb/pull/620