From 75a02051fa41c2d2e2b8db65482e9f8567fa68b5 Mon Sep 17 00:00:00 2001 From: Alie Date: Sun, 21 Apr 2024 13:27:58 +0200 Subject: [PATCH] add cors to API --- bun.lockb | Bin 176056 -> 177178 bytes package.json | 4 +++- src/app.ts | 4 +++- yarn.lock | 24 ++++++++++++++++++++++-- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/bun.lockb b/bun.lockb index ce7cc8fc718285cf2fa82e48705359d60797e9a8..dfb7376c449dae97e0deaffcd4064a197b2714c1 100755 GIT binary patch delta 33001 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 diff --git a/package.json b/package.json index 943c0a7..661b9c2 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,8 @@ "type": "module", "devDependencies": { "@faker-js/faker": "^8.3.1", + "@types/compression": "^1.7.5", + "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/express-list-endpoints": "^6.0.3", "@types/jest": "^29.5.11", @@ -13,7 +15,6 @@ "enforce-unique": "^1.2.0", "jest": "^29.7.0", "supertest": "^6.3.3", - "@types/compression": "^1.7.5", "ts-jest": "^29.1.1" }, "peerDependencies": { @@ -25,6 +26,7 @@ }, "dependencies": { "compression": "^1.7.4", + "cors": "^2.8.5", "express": "^4.18.2", "express-list-endpoints": "^6.0.0", "jsonwebtoken": "^9.0.2", diff --git a/src/app.ts b/src/app.ts index fc376bf..dc75f18 100644 --- a/src/app.ts +++ b/src/app.ts @@ -5,11 +5,13 @@ import authControler from "./controllers/AuthControler"; import mongoose from "mongoose"; import compression from "compression"; import logger from "./logger"; +import cors from "cors"; export const app = express(); app.use(express.json()); app.use(compression()); +app.use(cors()); app.get("/", (_, res) => { const endpoints = listEndpoints(app); @@ -40,7 +42,7 @@ export const startApp = async () => { ); process.on("SIGTERM", () => { server.close(() => { - logger.info('Server closed'); + logger.info("Server closed"); process.exit(0); }); }); diff --git a/yarn.lock b/yarn.lock index 84daa2c..eba306c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: 0566846CEF9BC37B-67668f8ef100cf47-BD54633F277319ED-f974ac5408e619f6 +# bun ./bun.lockb --hash: 187C900AA2FDC0D7-cda284a65763ca6b-2E28784E3E5940CD-f3773b98a4f59cda "@ampproject/remapping@^2.2.0": @@ -643,6 +643,13 @@ resolved "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz" integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== +"@types/cors@^2.8.17": + version "2.8.17" + resolved "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz" + integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + dependencies: + "@types/node" "*" + "@types/express@*", "@types/express@^4.17.21": version "4.17.21" resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" @@ -1251,6 +1258,14 @@ cookiejar@^2.1.4: resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz" integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + create-jest@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" @@ -2534,6 +2549,11 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +object-assign@^4: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + object-inspect@^1.9.0: version "1.13.1" resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" @@ -3151,7 +3171,7 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^2.0.0" -vary@~1.1.2: +vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==