As I said I want to incrementally change a bunch of files and having Intellisense die on me like this is a total show stopper. Any ideas?
OK guys I worked out what I was doing wrong.
var foo = require("foo") // W R O N G
Calls to foo.bar() would compile just fine but like I said no intellisense. When I changed my require to an import:
import * as foo from "foo"; // R I G H T
then the intellisense showed up as soon as I later typed "foo." - Note that this only works if you follow Tomas' advice above to add allowJS: true to your tsconfig.json.
I think the compiler could at least have given me a warning for using the old style, if not an outright error. It would certainly have saved me some time.
Anyway Typescript here I come :-)