tsrun/ts/index.ts

38 lines
891 B
TypeScript
Raw Normal View History

import * as path from "path";
import * as tsNode from "ts-node";
const tsCacheDir = path.join(__dirname, "../tscache");
2018-06-04 21:25:19 +00:00
const defaultTsNodeOptions: tsNode.Options = {
2018-06-04 21:25:19 +00:00
compilerOptions: {
lib: ["es2016", "es2017"],
target: "es2015"
},
2018-07-01 15:30:05 +00:00
skipIgnore: true,
cacheDirectory: tsCacheDir
2018-07-03 12:44:57 +00:00
};
// check wether a cache is feasible
if (process.argv.includes("--nocache")) {
defaultTsNodeOptions.cache = false;
} else {
var fs = require('fs');
fs.access(tsCacheDir, fs.constants.W_OK, function(err) {
if (err) {
defaultTsNodeOptions.cache = false;
}
});
}
tsNode.register(defaultTsNodeOptions);
2018-06-04 21:25:19 +00:00
if (process.env.CLI_CALL_TSRUN) {
2018-06-25 08:23:15 +00:00
// contents of argv array
// process.argv[0] -> node Executable
// process.argv[1] -> tsrun executable
2018-07-03 12:44:57 +00:00
const pathToTsFile = process.argv[2];
2018-06-25 08:23:15 +00:00
const pathToLoad = path.join(process.cwd(), pathToTsFile);
2018-06-05 21:40:59 +00:00
import(pathToLoad);
}