Here is my approach, let say that you keep all your typescript files in src folder and want outputted javascript files be generated in the ./dist folder.
{
"name": "yourProjectName",
"version": "1.0.0",
"description": "",
"main": "./dist/index",
"types": "./dist/index",
"scripts": {
"dev": "tsc --watch & nodemon dist"
},
"author": "Gh111",
"license": "ISC",
"devDependencies": {
"yourdevDependencies": "^1.0.0"
}
}
and typescript configuration file tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./dist",
},
"include": ["./src/**/*"],
"exclude": [
"node_modules"
]
}
Okay, what is going on here
First of all we should create tsconfig.json and tell typescript to put compiled files into the ./dist folder and at the same time we should exclude node_module folder or whatever we want and include everything from ["./src/**/*"] directory.
After that in packages.json file we should specify path to our compiled index.js file
"main": "./dist/index"
and finally we tell tsc to --watch any typescript changes, and nodemon to watch inside ./dist directory and if something changes nodemon will restart the server.
"scripts": {
"dev": "tsc --watch & nodemon dist"
},
To run script type npm run dev
tsc app.tstonpm startofpackage.json