Решение проблемы с импортом модуля ctx и конфликтом настроек TypeScript

Столкнулся с проблемой запуска бэкенд-приложения: система перестала находить модуль ctx при старте, хотя редактор кода корректно его видит и автодополнение работает. При попытке запуска через терминал возникает ошибка импорта, при этом переход к файлу по ссылке в ошибке не осуществляется, что указывает на проблему с разрешением путей на уровне системы сборки или выполнения.

Анализ ситуации

В ходе исследования выяснилось, что проблема, вероятно, связана с обновлением TypeScript. Теперь компилятор указывает на устаревший параметр Node в опции moduleResolution в конфигурации tsconfig.json. Однако его замена на Bundler приводит к несовместимости с используемой системой модулей CommonJS.

В результате возникла нестабильная ситуация: для запуска приложения в режиме разработки приходится использовать один набор настроек, а для прохождения проверки типов перед коммитом - временно менять их на другой. Это неудобно и требует унификации конфигурации.

Текст ошибки при запуске

Выполнение команды npm run dev приводит к следующей ошибке:

$ ▶ npm run dev

> @ideanick/backend@0.0.0 dev
> ts-node-dev --watch ./.env --rs --exit-child ./src/index.ts

[INFO] 08:02:23 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.2, typescript ver. 5.7.3)
Error: Cannot find module '/home/andrew/CODE/JS/React/IdeaNick/backend/src/lib/ctx' imported from /home/andrew/CODE/JS/React/IdeaNick/backend/src/index.ts
    at finalizeResolution (node:internal/modules/esm/resolve:274:11)
    at moduleResolve (node:internal/modules/esm/resolve:859:10)
    at defaultResolve (node:internal/modules/esm/resolve:983:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:801:12)
    at ModuleLoader.#cachedDefaultResolve (node:internal/modules/esm/loader:725:25)
    at ModuleLoader.#resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:760:38)
    at ModuleLoader.resolveSync (node:internal/modules/esm/loader:783:52)
    at ModuleLoader.#cachedResolveSync (node:internal/modules/esm/loader:744:25)
    at ModuleLoader.getModuleJobForRequire (node:internal/modules/esm/loader:462:50)
    at ModuleJobSync.#link (node:internal/modules/esm/module_job:440:34)
[ERROR] 08:02:41 Error: Cannot find module '/home/andrew/CODE/JS/React/IdeaNick/backend/src/lib/ctx' imported from /home/andrew/CODE/JS/React/IdeaNick/backend/src/index.ts

Ключевой вопрос

Как привести конфигурацию TypeScript и настройки разрешения модулей к единому, рабочему состоянию, чтобы обеспечить и стабильный запуск приложения, и корректную проверку типов?