npm init private
curl -o .gitignore https://gist.githubusercontent.com/vdelacou/1954a25d720f702b4af011ba2773001b/raw/.gitignore
curl -o .prettierrc https://gist.githubusercontent.com/vdelacou/58484f1c11af70aaa457f4e5c289e893/raw/.prettierrc
mkdir .vscode
curl -o .vscode/extensions.json https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/extensions.json
curl -o .vscode/settings.json https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/settings.json
curl -o .editorconfig https://gist.githubusercontent.com/vdelacou/58484f1c11af70aaa457f4e5c289e893/raw/.editorconfig
npm install --save-dev typescript ts-node eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser prettier eslint-config-prettier eslint-plugin-prettier
npm install husky --save-dev
npx json -I -f package.json -e 'this.husky={"hooks":{"pre-commit": "npm run lint","pre-push": "npm run lint"}}'
npx json -I -f package.json -e 'this.scripts={...this.scripts , "lint": "eslint . --ext .js,.ts" }'
npx json -I -f package.json -e 'this.scripts={...this.scripts , "start": "ts-node ./src/example.ts" }'
npm install winston
npm install --save-dev @types/node
mkdir src
curl -o src/example.ts https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/example.ts
curl -o .eslintrc.json https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/.eslintrc.json
curl -o tsconfig.json https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/tsconfig.json
npm install --save-dev jest @types/jest ts-jest
curl -o jest.config.js https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/jest.config.js
mkdir src/lib
curl -o src/lib/log.ts https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/log.ts
npx json -I -f package.json -e 'this.scripts={...this.scripts , "test": "jest" }'
curl -o src/example.test.ts https://gist.githubusercontent.com/vdelacou/996f290aa5d108b55688229e15ff4b3b/raw/example.test.ts