diff --git a/package-lock.json b/package-lock.json index 79084a3..06bbe34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@electron/remote": "^2.1.2", "axios": "^1.6.8", + "cors": "^2.8.5", "discord-rpc": "^4.0.1", "electron-store": "^8.2.0", "express": "^4.19.2", @@ -21,6 +22,7 @@ }, "devDependencies": { "@mastermindzh/prettier-config": "^1.0.0", + "@types/cors": "^2.8.17", "@types/discord-rpc": "^4.0.8", "@types/express": "^4.17.21", "@types/node": "^20.10.6", @@ -1030,6 +1032,15 @@ "@types/node": "*" } }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2679,6 +2690,18 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "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/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -5983,6 +6006,14 @@ "node": "*" } }, + "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.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -8564,4 +8595,4 @@ } } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index d5d33e0..a8a1bd0 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "dependencies": { "@electron/remote": "^2.1.2", "axios": "^1.6.8", + "cors": "^2.8.5", "discord-rpc": "^4.0.1", "electron-store": "^8.2.0", "express": "^4.19.2", @@ -51,6 +52,7 @@ }, "devDependencies": { "@mastermindzh/prettier-config": "^1.0.0", + "@types/cors": "^2.8.17", "@types/discord-rpc": "^4.0.8", "@types/express": "^4.17.21", "@types/node": "^20.10.6", @@ -73,4 +75,4 @@ "typescript": "^5.3.3" }, "prettier": "@mastermindzh/prettier-config" -} \ No newline at end of file +} diff --git a/src/features/api/index.ts b/src/features/api/index.ts index a2f1547..5ac3873 100644 --- a/src/features/api/index.ts +++ b/src/features/api/index.ts @@ -5,12 +5,14 @@ import { settingsStore } from "../../scripts/settings"; import { addCurrentInfo } from "./features/current"; import { addPlaybackControl } from "./features/player"; import { addLegacyApi } from "./legacy"; +import cors from "cors"; /** * Function to enable TIDAL Hi-Fi's express api */ export const startApi = (mainWindow: BrowserWindow) => { const expressApp = express(); + expressApp.use(cors()); expressApp.get("/", (req, res) => res.send("Hello World!")); // add features