tsrun/ts/index.ts
2019-04-08 16:17:57 +02:00

38 lines
1.1 KiB
TypeScript

import * as path from 'path';
import * as tsNode from 'ts-node';
import { CompilerOptions } from 'typescript';
const defaultTsNodeOptions: tsNode.Options = {
compilerOptions: <CompilerOptions>{
lib: ['es2016', 'es2017'],
target: <any>'es2017', // Script Target should be a string -> 2 is for ES2015
experimentalDecorators: true
},
skipIgnore: true
};
if (process.argv.includes('--web')) {
const previousCompilerOptions = defaultTsNodeOptions.compilerOptions as CompilerOptions;
defaultTsNodeOptions.compilerOptions = {
...previousCompilerOptions,
lib: ['es2016', 'es2017', 'dom'],
target: <any>'es2015' // Script Target should be a string -> 2 is for ES2015
};
}
if (process.argv.includes('--nocache')) {
// currently caching is not used
}
tsNode.register(defaultTsNodeOptions);
if (process.env.CLI_CALL_TSRUN) {
// contents of argv array
// process.argv[0] -> node Executable
// process.argv[1] -> tsrun executable
const pathToTsFile = process.argv[2];
const pathToLoad = path.join(process.cwd(), pathToTsFile);
import(pathToLoad);
}