Search code examples
node.jstypescriptwebstorm

trying to convert app.js to Typescript in Webstorm


I am trying to convert the app.js in my NodeJS project in webstorm, to application.ts. I pasted the app.js code into a new file "application.ts" and replaced "app.js" with "application.ts" in the package.json file. The .ts file is not getting converted to .js even though the FileWatcher for typescript is on and works on every other file in the project. But when I "run" the project in Webstorm, I the project actually starts and runs "app.js" which I have obviously not deleted. Not sure, what other settings need to be changed to get this right. I plan on renaming application.ts to app.ts to suit the convention, once its successfully converted.

--Update--

Here's what my typescript filewatcher settings look like:

enter image description here


Solution

  • Your file watcher is configured so that it merges all .ts files into a single main.js - see the arguments:

    --out main.js

    What is your application.ts - main application file? Would you like to generate a single .js for each .ts, or merge them? In the first case, you need to change the watcher arguments as follows:

    --module commonjs --sourcemap $FileName$

    then it will produce a singe js for each ts with name matching original ts file, with the format compatible with Node.js

    To run the generated application.js instead of the original app.js from withihn WebStorm, you have to change the Node.js run configuration accordingly

    By the way, if all you need is renaming 'app' to 'application', just refactor/rename original app.ts to application.ts - the generated files (.js and .map) will be updated accordingly