UNPKG

es-node-runner

Version:

Node runner that transpiles typescript or es modules using blazing fast ⚡ esbuild and restarts the process automatically on change. Suitable for node development server.

33 lines (32 loc) 807 B
import {relative} from 'path'; function getParentDir(cwd) { return cwd.substring(0, cwd.search(/[\\/]/) + 1); } function rootLevelFromCWD(str) { const strLen = str.length; let level = 0, i = 0; while (i < strLen) { if (str[i] + str[i + 1] === '..') { level += 1; i += 3; } else i += 1; } return level; } function resolveNodeModulePaths() { const cwd = process.cwd(); let nodeModuleDir = `node_modules/*`, level = 0; const depth = rootLevelFromCWD( relative(cwd, process.env.PROJECT_CWD ?? getParentDir(cwd)) ); const nodeModulePaths = [`./${nodeModuleDir}`]; while (level < depth) { nodeModuleDir = '../' + nodeModuleDir; nodeModulePaths.push(nodeModuleDir); level++; } return nodeModulePaths; } export default resolveNodeModulePaths;