programming language, superset of JavaScript that compiles to JavaScript
Factsheet
Anders Hejlsberg,
Luke Hoban
Anders Hejlsberg,
Luke Hoban
» npm install typescript
Videos
» npm install tsc
A few tips in order
- restart the terminal
- restart the machine
- reinstall nodejs + then run
npm install typescript -g
If it still doesn't work run npm config get prefix to see where npm install -g is putting files (append bin to the output) and make sure that they are in the path (the node js setup does this. Maybe you forgot to tick that option).
You are all messing with the global installations and -path files. Just a little error might damage every project you have ever written, and you will spend the rest of the night trying to get a console.log('hi') to work again.
If you have run npm i typescript --save-dev in your project - just try to run:
npx tsc
And see if it works before messing with global stuff (unless of course you really know what you are doing)
It took me a while to figure out the solution to this problem - it's in the original question. You need to have a script that calls tsc in your package.json file so that you can run:
npm run tsc
Include -- before you pass in options (or just include them in the script):
npm run tsc -- -v
Here's an example package.json:
{
"name": "foo",
"scripts": {
"tsc": "tsc"
},
"dependencies": {
"typescript": "^1.8.10"
}
}
As of npm 5.2.0 you no longer need an entry in the scripts section of package.json. You can now run the compiler with npx:
npx tsc
...and you don't have to update package.json with a new script every time you want to compile with different arguments.
» npm install ts-node
npm install typescript installs it locally to the project. I would go further and add --save-dev so it only gets listed under devDependencies, not dependencies.
You can still run TypeScript in that situation. Your best bet is to add entries to the "scripts" key in package.json, like this:
{
"name": "blah",
"version": "1.0.0",
"description": "...",
"scripts": {
"build": "tsc command arguments go here"
},
"keywords": [],
"author": "...",
"license": "...",
"devDependencies": {
"typescript": "^4.5.5"
}
}
Then you run that command via:
npm run build
Node.js will find tsc in node_modules and run it.
They can run it from the node_modules folder too.
./node_modules/typescript/bin/tsc
Or if you don't like that you could use npx which runs binaries from local node_modules folder.
npx tsc
Do I need Visual Studio? I only want to run transpile one project into js. What hoops must I jump through to do that? The instructions I've found assume I have something I don't. I used chocolatey to install typescript, which installed nodejs, but I don't have npm or npx, which are not installs provided by cholocatey. So where do I look next?