directus / directus/directus

SDK - Missing TypeScript "RequestCredentials" and "CloseEvent" types

Open
#26,850 2 comments 0 reactions 0 assignees View on GitHub
Bug High Reach Low Impact SDK
Dominant language
TypeScript
Stars
37.9k
Forks
4.9k
Avg merge
3d 21h
Merged PRs (30d)
36

Description

### Describe the Bug

Using Directus SDK 21.2.0 in an ESM application, I face the following building error:
```
node_modules/@directus/sdk/dist/auth/types.d.ts:41:17 - error TS2304: Cannot find name 'RequestCredentials'.
41 credentials?: RequestCredentials;

node_modules/@directus/sdk/dist/graphql/types.d.ts:6:17 - error TS2304: Cannot find name 'RequestCredentials'.
6 credentials?: RequestCredentials;

node_modules/@directus/sdk/dist/rest/types.d.ts:11:17 - error TS2304: Cannot find name 'RequestCredentials'.
11 credentials?: RequestCredentials;
```

The type `RequestCredentials` is not imported nor declared in files `dist/auth/types.d.ts`, `dist/graphql/types.d.ts` and `dist/rest/types.d.ts`.

The same with:
```
node_modules/@directus/sdk/dist/realtime/types.d.ts:28:69 - error TS2304: Cannot find name 'CloseEvent'.
28 type WebSocketEventHandler = (this: WebSocketInterface, ev: Event | CloseEvent | any) => any;
~~~~~~~~~~

node_modules/@directus/sdk/dist/realtime/types.d.ts:35:72 - error TS2304: Cannot find name 'CloseEvent'.
35 onWebSocket(event: 'close', callback: (this: WebSocketInterface, ev: CloseEvent) => any): RemoveEventHandler;
```

Had to configure `"skipLibCheck": true` to avoid it but it could be nice to have proper TypeScript definitions.

### To Reproduce

Create a ESM module `"type": "module"` in `package.json` file.
Set `"skipLibCheck": false` in `tsconfig.json`.

### Directus Version

v21.2.0

### Hosting Strategy

Self-Hosted (Docker Image)

### Database

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.