Project steps: 1 - Config the initial environment with tests 2 - Create environment cloud with mongodb 3 - Connect API with cloud
-
Install package.json with npm init -y;
-
Install dependencies:
- npm i express
- npm i dotenv
- npm i nodemon* analisar ts-node-dev
- npm i mongodb
- npm i mongoose
- npm i jsonwebtoken
- npm i bcryptjs
-
Install dev dependencies:
-
npm i typescript -D
-
Executar (para gerar o arquivo tsconfig.json do Typescript) no terminal "tsc --init, ou npm i @tsconfig/node18 ou XX";
-
npm i @types/express -D
-
npm i @types/node -D
-
npm i @types/jsonwebtoken -D
-
npm i @types/bcryptjs -D
-
npm i ts-node-dev -D
-
npm i tsx -D
-
npm i vitest -D
-
npm i ts-prune -D
-
npm i eslint -D
-
Executar (para gerar o arquivo .eslintrc.json do Eslint) no terminal "npm init @eslint/config" e configurar/fazer diversos ajustes;
-
npm i eslint-plugin-import-helpers -D
-
npm i eslint-import-resolver-typescript -D
-
npm i prettier -D
-
npm i eslint-config-prettier -D
-
npm i eslint-plugin-prettier -D
-
Executar (para gerar o arquivo .prettierrc.json do Prettier) no terminal "echo {}> .prettierrc.json" para criar um arquivo e após incluir configurações
-
npx husky-init && npm install criar uma pasta .husky na raiz do projeto, "prepare": "husky install" no script no package.json preciso criar um hook no package.json também (necessário configuração)
-
npm i lint-staged -D
-
-
Incluir no extends do eslintrc "https://github.com/prettier/eslint-config-prettier#installation"