paul.kim1901
paul.kim1901

Reputation: 461

cannot use d.ts file to load declaration merging

works fine perfectly when these are in the same file.

declare module "express-session" {
    interface SessionData {
        userId: number;
    }
}


static async loginUser(req: Request, res: Response) {
    const { email, password } = req.body;
    req.session!.userId = 1;
    return res.send("login");
}

However, if I seperate these files into,

index.d.ts index.ts

then it shows that userId does not exist within SessionData or Partial.

Why is this so?

Upvotes: 4

Views: 1110

Answers (1)

Try to put your declaration into global.d.ts. See the docs

AFAIK, global.d.ts should be in the root directory.

If you want to put it into sibling file index.d.ts, please update typeRoots or types

Upvotes: 3

Related Questions