Получить корень приложения можно простым трюком:
// если esm
//const _dirname = path.dirname(fileURLToPath(import.meta.url));
// просто берём весь путь, и отрезаем его перед первым вхождением node_modules
const appRoot = path.resolve(__dirname).split(/[/\\]node_modules/, 1)[0];
// если esm
// import(appRoot + "/dbconfig.js").then(...);
require(appRoot + "/dbconfig.js");
Я поменял ts на js, т.к. конфиг файл не должен быть ts, если ты делаешь полноценный npm пакет. Потому что полноценный npm-пакет это собранный js, который из ts только декларации оставляет и не умеет импортировать ts.
Если пакет у тебя исключительно под себя, то он может быть и тупо наюбором ts файлов, которые ты будешь у себя подключать и собирать в самом приложении. Тогда импорт ts возможен, но только для тебя, т.к. версий и настроек ts 100500 и практически гарантия, что у кого-то другого оно тупо не заведётся.
Там ещё очень много нюансов будет завязано на полноценно понимание как работает сборщики, что такое ts, и как будет работать конечный код. Если у вас его нет, то будет больно.