You can pick the workflow that makes sense for you. By default, Pulumi will use the ts-node package to allow you to use typescript directly so you don’t have to invoke tsc before updating. However, if you prefer the explicit step, you can set main in your package.json to be something like “bin/index.js” and then require that tsc is run before. This will give you complete control on how you invoke typescript and what version you end up using.