diff --git a/package-lock.json b/package-lock.json index 4d91435..79d635b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "compression": "^1.7.4", + "cors": "^2.8.5", "express": "^4.18.3", "mqtt": "^5.3.6", "protobufjs": "^7.2.6" @@ -1983,6 +1984,18 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/cors": { + "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" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -3882,6 +3895,14 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", diff --git a/package.json b/package.json index 1da346b..98da395 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "command-line-args": "^5.2.1", "command-line-usage": "^7.0.1", "compression": "^1.7.4", + "cors": "^2.8.5", "express": "^4.18.3", "mqtt": "^5.3.6", "protobufjs": "^7.2.6" diff --git a/src/index.js b/src/index.js index 61bd055..17ab0c0 100644 --- a/src/index.js +++ b/src/index.js @@ -4,6 +4,7 @@ const compression = require('compression'); const protobufjs = require("protobufjs"); const commandLineArgs = require("command-line-args"); const commandLineUsage = require("command-line-usage"); +const cors = require('cors'); // create prisma db client const { PrismaClient } = require("@prisma/client"); @@ -76,6 +77,9 @@ const app = express(); // enable compression app.use(compression()); +// Apply CORS only to API routes +app.use('/api', cors()); + // serve files inside the public folder from / app.use('/', express.static(path.join(__dirname, 'public')));