Install TS and more
pnpm init
pnpm add -D typescript sucrase nodemon
mkdir src
touch src/server.ts
echo "const a: number = 5; console.log(a);" >> src/server.ts
echo "node_modules \\\\n.env" >> .gitignore
echo "{
\\\\"watch\\\\": [
\\\\"src\\\\"
],
\\\\"ext\\\\": \\\\"ts\\\\",
\\\\"execMap\\\\": {
\\\\"ts\\\\": \\\\"sucrase-node src/server.ts\\\\"
}
}" >> nodemon.json
add on package.json
"scripts": {
"dev": "nodemon src/server.ts",
"build": "sucrase ./src -d .dist --transforms typescript, imports"
},
Install eslint
pnpm add -D eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
init eslint
pnpm eslint --init
add on .eslintrc.js
echo "module.exports = {
env: {
node: true,
es2021: true
},
extends: ['standard', 'plugin:@typescript-eslint/recommended'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module'
},
plugins: ['@typescript-eslint'],
rules: {}
}" >> .eslintrc.js
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.formatOnSave": false
},
"[typescriptreact]": {
"editor.formatOnSave": false
},
Install prettier (if necessary)
pnpm add prettier eslint-config-prettier eslint-plugin-prettier -D