Файл run.ts в котором, есть импорты .js файлов без указания расширения, можно запустить так (используем пакет ts-node):
node --experimental-specifier-resolution=node --loader ts-node/esm run.ts
При этом tsdonfig.json (у вас может отличаться):
Текущую директорию можно получить так:
import { fileURLToPath } from 'url'; import { dirname } from 'path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename);
Источник: https://stackoverflow.com/a/62892482