From eef7e1844cae63dba24c63ce6d20d77d8467f1fc Mon Sep 17 00:00:00 2001
From: Jula <julieta.dubra@fing.edu.uy>
Date: Wed, 1 Sep 2021 00:45:04 -0300
Subject: [PATCH] husky fix for ts files

---
 .eslintrc.json    | 12 ++++++---
 package-lock.json | 68 +++++++++++++++++++++++------------------------
 package.json      |  6 ++---
 src/index.ts      | 41 +++++++++++++---------------
 src/routes.ts     | 24 ++++++++---------
 5 files changed, 76 insertions(+), 75 deletions(-)

diff --git a/.eslintrc.json b/.eslintrc.json
index 7a2dde3..2c09cad 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -14,9 +14,15 @@
         "ecmaVersion": 12,
         "sourceType": "module"
     },
-    "plugins": [
-        "react"
-    ],
+    "parser": "@typescript-eslint/parser",
+    "plugins": ["@typescript-eslint"],
+    "settings": {
+        "import/resolver": {
+          "node": {
+            "extensions": [".js", ".jsx", ".ts", ".tsx"]
+          }
+        }
+    },
     "rules": {
         "linebreak-style": [
             "error",
diff --git a/package-lock.json b/package-lock.json
index a5836e7..73770ad 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1150,13 +1150,13 @@
       "dev": true
     },
     "@typescript-eslint/eslint-plugin": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz",
-      "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz",
+      "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/experimental-utils": "4.29.3",
-        "@typescript-eslint/scope-manager": "4.29.3",
+        "@typescript-eslint/experimental-utils": "4.30.0",
+        "@typescript-eslint/scope-manager": "4.30.0",
         "debug": "^4.3.1",
         "functional-red-black-tree": "^1.0.1",
         "regexpp": "^3.1.0",
@@ -1165,55 +1165,55 @@
       }
     },
     "@typescript-eslint/experimental-utils": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz",
-      "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz",
+      "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==",
       "dev": true,
       "requires": {
         "@types/json-schema": "^7.0.7",
-        "@typescript-eslint/scope-manager": "4.29.3",
-        "@typescript-eslint/types": "4.29.3",
-        "@typescript-eslint/typescript-estree": "4.29.3",
+        "@typescript-eslint/scope-manager": "4.30.0",
+        "@typescript-eslint/types": "4.30.0",
+        "@typescript-eslint/typescript-estree": "4.30.0",
         "eslint-scope": "^5.1.1",
         "eslint-utils": "^3.0.0"
       }
     },
     "@typescript-eslint/parser": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz",
-      "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz",
+      "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/scope-manager": "4.29.3",
-        "@typescript-eslint/types": "4.29.3",
-        "@typescript-eslint/typescript-estree": "4.29.3",
+        "@typescript-eslint/scope-manager": "4.30.0",
+        "@typescript-eslint/types": "4.30.0",
+        "@typescript-eslint/typescript-estree": "4.30.0",
         "debug": "^4.3.1"
       }
     },
     "@typescript-eslint/scope-manager": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz",
-      "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz",
+      "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "4.29.3",
-        "@typescript-eslint/visitor-keys": "4.29.3"
+        "@typescript-eslint/types": "4.30.0",
+        "@typescript-eslint/visitor-keys": "4.30.0"
       }
     },
     "@typescript-eslint/types": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz",
-      "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz",
+      "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==",
       "dev": true
     },
     "@typescript-eslint/typescript-estree": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz",
-      "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz",
+      "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "4.29.3",
-        "@typescript-eslint/visitor-keys": "4.29.3",
+        "@typescript-eslint/types": "4.30.0",
+        "@typescript-eslint/visitor-keys": "4.30.0",
         "debug": "^4.3.1",
         "globby": "^11.0.3",
         "is-glob": "^4.0.1",
@@ -1222,12 +1222,12 @@
       }
     },
     "@typescript-eslint/visitor-keys": {
-      "version": "4.29.3",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz",
-      "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==",
+      "version": "4.30.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz",
+      "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "4.29.3",
+        "@typescript-eslint/types": "4.30.0",
         "eslint-visitor-keys": "^2.0.0"
       }
     },
diff --git a/package.json b/package.json
index 0329df3..c799580 100644
--- a/package.json
+++ b/package.json
@@ -11,8 +11,8 @@
   "devDependencies": {
     "@types/express": "^4.17.13",
     "@types/node": "^16.7.10",
-    "@typescript-eslint/eslint-plugin": "^4.29.3",
-    "@typescript-eslint/parser": "^4.29.3",
+    "@typescript-eslint/eslint-plugin": "^4.30.0",
+    "@typescript-eslint/parser": "^4.30.0",
     "eslint": "^7.32.0",
     "eslint-config-airbnb": "^18.2.1",
     "eslint-plugin-import": "^2.24.2",
@@ -43,7 +43,7 @@
     }
   },
   "lint-staged": {
-    "*.{js,tsx}": [
+    "*.ts": [
       "./node_modules/.bin/eslint --fix",
       "git add"
     ]
diff --git a/src/index.ts b/src/index.ts
index 19aff87..c7bdcd3 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,36 +1,31 @@
-import express, {Application} from 'express';
-
-const swaggerJsDoc = require('swagger-jsdoc')
-const swaggerUi = require('swagger-ui-express')
+/* eslint-disable no-console */
+import express, { Application } from "express";
 
+const swaggerJsDoc = require("swagger-jsdoc");
+const swaggerUi = require("swagger-ui-express");
 
 const app:Application = express();
 const PORT = process.env.PORT || 8000;
 
 // swagger init
 const swaggerOptions = {
-    swaggerDefinition: {
-        openapi: '3.0.0',
-        info: {
-            title: 'REPP Rest API',
-            description: '',
-            servers: ['http://localhost:3000']
-        }
+  swaggerDefinition: {
+    openapi: "3.0.0",
+    info: {
+      title: "REPP Rest API",
+      description: "",
+      servers: ["http://localhost:3000"],
     },
-    apis: ['src/routes.ts']
-  }
-const swaggerDocs = swaggerJsDoc(swaggerOptions)
-
+  },
+  apis: ["src/routes.ts"],
+};
+const swaggerDocs = swaggerJsDoc(swaggerOptions);
 
 // middlewares
-app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs))
-
-function q(){
-    return undefined
-}
+app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocs));
 
-app.use(require('./routes.ts'))
+app.use(require("./routes.ts"));
 
 app.listen(PORT, ():void => {
-console.log(`REPP Backend running here 👉 https://localhost:${PORT}`);
-});
\ No newline at end of file
+  console.log(`REPP Backend running here 👉 https://localhost:${PORT}`);
+});
diff --git a/src/routes.ts b/src/routes.ts
index 01804fa..d24b4c3 100644
--- a/src/routes.ts
+++ b/src/routes.ts
@@ -1,16 +1,16 @@
-import {Request,Response,Application} from 'express';
+import { Request, Response } from "express";
 
-const {parseExcel} = require('./Controllers/ExcelController')
-const { Router } = require('express');
-const router = Router();
+const { Router } = require("express");
+const { parseExcel } = require("./Controllers/ExcelController.ts");
 
+const router = Router();
 
-router.get('/',(req:Request, res:Response):void => {
-    res.send("Hey! This is REPP API, you can go to /api-docs to learn more!")
-  })
+router.get("/", (req:Request, res:Response):void => {
+  res.send("Hey! This is REPP API, you can go to /api-docs to learn more!");
+});
 
-//Che esto es para ejemplo de como usar swagger, hay que arreglarlo
-//TODO
+// Che esto es para ejemplo de como usar swagger, hay que arreglarlo
+// TODO
 /**
  * @swagger
  * /excelParser:
@@ -29,7 +29,7 @@ router.get('/',(req:Request, res:Response):void => {
  *                          -   password
  *                      properties:
  *                          excel:
- *                              type: string  
+ *                              type: string
  *      responses:
  *          '200':
  *              description: returns the parsed JSON of the excel file provided
@@ -41,6 +41,6 @@ router.get('/',(req:Request, res:Response):void => {
  *                              excelParsed:
  *                                  type: string
  */
-router.post('/excelParser', parseExcel)
+router.post("/excelParser", parseExcel);
 
-module.exports =  router
\ No newline at end of file
+module.exports = router;
-- 
GitLab