起動時の引数でしたモジュールを読み込んで関数を呼び出してみる。まー、わざわざ書くほどのものではないんだが。

これで、プラグインみたいなのが作れるってことだな。

test.ts

/// <reference path="./typings/node/node.d.ts" />

var test:any = null;
try {
	test = require(process.argv[2]);
} catch(err) {
	console.log(err);
}

if(test) {
	if(test.print) {
		test.print();	
	} else {
		console.log("printメソッドが実装されていません。");
	}
}

test1.ts

export function print() {
	console.log("test1 !!");
}

test2.ts

export function print() {
	console.log("test2 !!");
}

tsconfig.json

{
	"compilerOptions": {
		"module": "commonjs",
		"target": "es5"
	},
	"files":[
		"./test.ts",
		"./test1.ts",
		"./test2.ts"
	]
}

tscでコンパイルする。
node ./test.ts ./test1 と実行すると "test1 !!"と
node ./test.ts ./test2 と実行すると "test2 !!”と表示される。