@nestjs/cli
Version:
Nest - modern, fast, powerful node.js web framework (@cli)
32 lines (31 loc) • 1.08 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeScriptBinaryLoader = void 0;
class TypeScriptBinaryLoader {
load() {
if (this.tsBinary) {
return this.tsBinary;
}
try {
const tsBinaryPath = require.resolve('typescript', {
paths: [process.cwd(), ...this.getModulePaths()],
});
// eslint-disable-next-line @typescript-eslint/no-var-requires
const tsBinary = require(tsBinaryPath);
this.tsBinary = tsBinary;
return tsBinary;
}
catch (_a) {
throw new Error('TypeScript could not be found! Please, install "typescript" package.');
}
}
getModulePaths() {
const modulePaths = module.paths.slice(2, module.paths.length);
const packageDeps = modulePaths.slice(0, 3);
return [
...packageDeps.reverse(),
...modulePaths.slice(3, modulePaths.length).reverse(),
];
}
}
exports.TypeScriptBinaryLoader = TypeScriptBinaryLoader;
;