UNPKG

actionhero

Version:

The reusable, scalable, and quick node.js API server for stateless and stateful applications

41 lines (40 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.typescript = void 0; const path = require("path"); function isTypescript() { var _a, _b; // do we have any flags? if (((_a = process.env.ACTIONHERO_TYPESCRIPT_MODE) === null || _a === void 0 ? void 0 : _a.length) > 0) { return process.env.ACTIONHERO_TYPESCRIPT_MODE.toLowerCase() === "true" ? true : false; } // if this file is typescript, we are running typescript :D // this is the best check, but fails when actionhero is compiled to js though... const extension = path.extname(__filename); if (extension === ".ts") { return true; } // are we running via a ts-node/ts-node-dev shim? const lastArg = process.execArgv[process.execArgv.length - 1]; if (lastArg && path.parse(lastArg).name.indexOf("ts-node") >= 0) { return true; } try { /** * Are we running in typescript at the moment? * see https://github.com/TypeStrong/ts-node/pull/858 for more details */ return process[Symbol.for("ts-node.register.instance")] || (process.env.NODE_ENV === "test" && ((_b = process.env.ACTIONHERO_TYPESCRIPT_MODE) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== "false") ? true : false; } catch (error) { console.error(error); return false; } } exports.typescript = isTypescript();