- Initial setup
mkdir typescript-starter
cd typescript-starter
- Setup Node.js package.json
npm init -y
- Add TypeScript as a dev dependency
npm install typescript --save-dev
- Install ambient Node.js types for TypeScript
npm install @types/node --save-dev
- Create a tsconfig.json.
npx tsc --init --rootDir src --outDir build \
--esModuleInterop --resolveJsonModule --lib es6 \
--module commonjs --allowJs true --noImplicitAny true
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"lib": ["es6"],
"allowJs": true,
"outDir": "build",
"rootDir": "src",
"strict": true,
"noImplicitAny": true,
"esModuleInterop": true,
"resolveJsonModule": true
}
}
- Create the src folder and create our first TypeScript file
mkdir src
touch src/index.ts
- Create the src folder and create our first TypeScript file
mkdir src
touch src/index.ts
Cold reloading
npm install --save-dev ts-node nodemon
Add a nodemon.json config.
{
"watch": ["src"],
"ext": ".ts,.js",
"ignore": [],
"exec": "npx ts-node ./src/index.ts"
}
package.json
"start:dev": "npx nodemon",
Creating production builds
npm install --save-dev rimraf
"build": "rimraf ./build && tsc",
Production startup script
package.json
"start": "npm run build && node build/index.js"