В ветке fix-logging-to-stderr были исправлены многочисленные ошибки типизации в тестовых файлах проекта MCP/filesystem. Эти исправления позволили успешно пройти процесс сборки с помощью TypeScript, который ранее завершался ошибками.
-
Замена общих типов Jest mock на специфические типы
- Заменены все
jest.Mockна более точныеjest.MockedFunction<typeof ...> - Например:
(fs.readFile as jest.Mock)→(fs.readFile as jest.MockedFunction<typeof fs.readFile>)
- Заменены все
-
Добавление явного приведения типов для возвращаемых значений
- Добавлено
as anyдля возвращаемых значений мок-функций - Например:
mockResolvedValue(undefined)→mockResolvedValue(undefined as any)
- Добавлено
-
Исправление операций с Buffer
- Добавлено приведение типов для операций копирования буфера
- Например:
Buffer.from(data).copy(buffer)→Buffer.from(data).copy(buffer as Buffer)
-
Правильная типизация для process.cwd
- Использовано двойное приведение типов для корректной замены process.cwd
- Например:
process.cwd = jest.fn()...→(process.cwd as unknown as jest.MockedFunction<typeof process.cwd>) = jest.fn()...
-
Добавление проверок типов для строковых операций
- Добавлены проверки для строковых переменных перед вызовом методов
- Например:
if (existingContent.slice(-i) === content.slice(0, i))→if (typeof existingContent === 'string' && typeof content === 'string' && existingContent.slice(-i) === content.slice(0, i))
-
Улучшение проверок на null для доступа к объектам и операциям с массивами
- Добавлены проверки на существование свойств объектов перед обращением к ним
- Исправлены проверки при работе с массивами и объектами
test/basic-tests.test.tstest/overlap-algorithms.test.tstest/path-security.test.tstest/server-handlers.test.tstest/smart-append.test.ts
Для проверки всех исправлений можно выполнить:
# Запуск компиляции для всех тестовых файлов
./compile-all-tests.bat
# Запуск базовых тестов
npm run testЭти исправления помогли устранить ошибки сборки, связанные с типизацией в тестовых файлах проекта.