Recently I decided to create a small Node.JS project. And I like strongly typed languages. I know I can’t get the full strong typing in JavaScript and having the power of it. So I decided to use TypeScript for the project. I chose Sublime Text 2 as an editor, I am used to use Visual Studio but in I wanted to take a grip of an editor that as I read “everyone loves”.
After downloading all the required bits I got to build (Ctrl+B) the project and ran into this error:
error TS5037: Cannot compile external modules unless the '--module' flag is provided.
This is easy to fix when you are building TypeScript project from command line:
tsc --module commonjs app.ts
This is the original typescript.sublime-build file I downloaded from the Internet:
{
"cmd": ["c:\\Users\\user\\AppData\\Roaming\\npm\\tsc.cmd", "$file"],
"file_regex": "(.*\\.ts?)\\s\\(([0-9]+)\\,([0-9]+)\\)\\:\\s(...*?)$",
"selector": "app.ts"
}
and the fix is very simple (but it took me quite a while to figure it out) – just add new items ("--module"
and "commonjs"
) to cmd
array:
{
"cmd": ["c:\\Users\\user\\AppData\\Roaming\\npm\\tsc.cmd", "--module", "commonjs", "$file"],
"file_regex": "(.*\\.ts?)\\s*\\(([0-9]+)\\,([0-9]+)\\)",
"selector": "app.ts"
}
I had to modify the file_regex
too, because it was not working.