build with tsc