Type augmentation (declaration merging) позволяет добавлять поля к существующим типам. Расширение Express Request: declare global { namespace Express { interface Request { user?: JwtPayload; requestId: string } } }. Расширение библиотечных типов создаёт .d.ts файл с declare module. Это стандартный паттерн для: добавления user к req в Express, расширения process.env, добавления методов к String прототипу. Должен быть в файле с export {} чтобы TypeScript воспринял как модуль.
Как работает type augmentation в TypeScript?
Senior
246 просмотровAFK Offer AI
Как устроены node_modules и что такое hoisting?