{"_id":"@anubus298/currency-exchange-plugin","_rev":"4-164aa27dbc7e4d676a034afea15dcb78","name":"@anubus298/currency-exchange-plugin","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@anubus298/currency-exchange-plugin","version":"0.0.1","keywords":["medusa","plugin","medusa-plugin-other","medusa-plugin","medusa-v2","medusa-currency-exchange-plugin"],"author":{"name":"Anubus298"},"license":"MIT","_id":"@anubus298/currency-exchange-plugin@0.0.1","maintainers":[{"name":"anubus298","email":"araristaf@gmail.com"}],"dist":{"shasum":"b70c6ae26e36f7ac5476ad1afc0adefc7f7aaf10","tarball":"https://registry.npmjs.org/@anubus298/currency-exchange-plugin/-/currency-exchange-plugin-0.0.1.tgz","fileCount":21,"integrity":"sha512-TrZ/LM/TWGYxhB3SGX/k/9bHhCE5Emj8+cEzNNl1gA9Z0YkuawtdRQ/dfcvL/LpT/lYOWlXdbA0xJLrg3uyywA==","signatures":[{"sig":"MEUCIQDsfZoEwVrYKi7hwLQ7p4n7NLE39WsL8GvN9Bb6jXc+UQIgKCfsAzILcCdnzvNq0cn7q+rdn0g/UWg59buTXbHL6+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78575},"engines":{"node":">=20"},"exports":{"./*":"./.medusa/server/src/*.js","./admin":{"import":"./.medusa/server/src/admin/index.mjs","default":"./.medusa/server/src/admin/index.js","require":"./.medusa/server/src/admin/index.js"},"./workflows":"./.medusa/server/src/workflows/index.js","./providers/*":"./.medusa/server/src/providers/*/index.js","./package.json":"./package.json","./.medusa/server/src/modules/*":"./.medusa/server/src/modules/*/index.js"},"gitHead":"1d6740ea81189282b1998b0be9d471bf5e73ae02","scripts":{"dev":"medusa plugin:develop","build":"medusa plugin:build","prepublishOnly":"medusa plugin:build"},"_npmUser":{"name":"anubus298","email":"araristaf@gmail.com"},"_npmVersion":"11.6.0","description":"currency auto conversion for Medusa.js, forked, optimized & compatible with medusa v2.10+ ","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"pg":"^8.13.0","vite":"^5.2.11","yalc":"^1.0.0-pre.53","react":"^18.2.0","awilix":"^8.0.1","ts-node":"^10.9.2","@swc/core":"1.5.7","react-dom":"^18.2.0","prop-types":"^15.8.1","typescript":"^5.6.2","@types/node":"^24.5.1","@medusajs/ui":"^4.0.21","@types/react":"^18.3.2","@medusajs/cli":"^2.10.1","@mikro-orm/cli":"6.4.3","@medusajs/icons":"^2.10.1","@mikro-orm/core":"6.4.3","@mikro-orm/knex":"6.4.3","@medusajs/medusa":"^2.10.1","@types/react-dom":"^18.2.25","@medusajs/admin-sdk":"^2.10.1","@medusajs/framework":"^2.10.1","@medusajs/test-utils":"^2.10.1","@mikro-orm/migrations":"6.4.3","@mikro-orm/postgresql":"6.4.3"},"_npmOperationalInternal":{"tmp":"tmp/currency-exchange-plugin_0.0.1_1758136820293_0.8748924481473084","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@anubus298/currency-exchange-plugin","version":"0.0.3","keywords":["medusa","plugin","medusa-plugin-other","medusa-plugin","medusa-v2","medusa-currency-exchange-plugin"],"author":{"name":"Anubus298"},"license":"MIT","_id":"@anubus298/currency-exchange-plugin@0.0.3","maintainers":[{"name":"anubus298","email":"araristaf@gmail.com"}],"dist":{"shasum":"b1560bdec6d0881f36c4cb262c539d23a2e02f96","tarball":"https://registry.npmjs.org/@anubus298/currency-exchange-plugin/-/currency-exchange-plugin-0.0.3.tgz","fileCount":21,"integrity":"sha512-PevLlBMj3jgg6H7Wm95ifpt5ynTdo1XrBcCmk4sMhoyNR2YdnAqWmxUb+vzOuhuKbNoSmirmGBICcbozlyk1OQ==","signatures":[{"sig":"MEYCIQCAtI+Xa5YVH5gg1LVmg/K6SB8Owg71DWbSa60uXFjLswIhAPjBh1JdHfkaKtlGG4cUQwAy/ND+llhUbCW9BB+CWelu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78822},"engines":{"node":">=20"},"exports":{"./*":"./.medusa/server/src/*.js","./admin":{"import":"./.medusa/server/src/admin/index.mjs","default":"./.medusa/server/src/admin/index.js","require":"./.medusa/server/src/admin/index.js"},"./workflows":"./.medusa/server/src/workflows/index.js","./providers/*":"./.medusa/server/src/providers/*/index.js","./package.json":"./package.json","./.medusa/server/src/modules/*":"./.medusa/server/src/modules/*/index.js"},"gitHead":"04570dbbf18a350ffdb6d96ec181d8c0fce0605b","scripts":{"dev":"medusa plugin:develop","build":"medusa plugin:build","publish-local":"medusa plugin:publish","prepublishOnly":"medusa plugin:build"},"_npmUser":{"name":"anubus298","email":"araristaf@gmail.com"},"_npmVersion":"10.9.2","description":"currency auto conversion for Medusa.js, forked, optimized & compatible with medusa v2.10+ ","directories":{},"_nodeVersion":"23.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"pg":"^8.13.0","vite":"^5.2.11","yalc":"^1.0.0-pre.53","react":"^18.2.0","awilix":"^8.0.1","ts-node":"^10.9.2","@swc/core":"1.5.7","react-dom":"^18.2.0","prop-types":"^15.8.1","typescript":"^5.6.2","@types/node":"^24.5.1","@medusajs/ui":"^4.0.21","@types/react":"^18.3.2","@medusajs/cli":"^2.10.1","@mikro-orm/cli":"6.4.3","@medusajs/icons":"^2.10.1","@mikro-orm/core":"6.4.3","@mikro-orm/knex":"6.4.3","@medusajs/medusa":"^2.10.1","@types/react-dom":"^18.2.25","@medusajs/admin-sdk":"^2.10.1","@medusajs/framework":"^2.10.1","@medusajs/test-utils":"^2.10.1","@mikro-orm/migrations":"6.4.3","@mikro-orm/postgresql":"6.4.3"},"_npmOperationalInternal":{"tmp":"tmp/currency-exchange-plugin_0.0.3_1760132600743_0.01845494044409457","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@anubus298/currency-exchange-plugin","version":"0.0.5","keywords":["medusa","plugin","medusa-plugin-other","medusa-plugin","medusa-v2","medusa-currency-exchange-plugin"],"author":{"name":"Anubus298"},"license":"MIT","_id":"@anubus298/currency-exchange-plugin@0.0.5","maintainers":[{"name":"anubus298","email":"araristaf@gmail.com"}],"dist":{"shasum":"f6e3fe25e73f0d2731827320db03c5abd1dae966","tarball":"https://registry.npmjs.org/@anubus298/currency-exchange-plugin/-/currency-exchange-plugin-0.0.5.tgz","fileCount":21,"integrity":"sha512-QeqUyNZ+wG9pWLr0DtqKbqJg3sMR3/TGsDHJb1XDvDI194bc7tk2tzj5pV8GNkC8DJCBgKUK0zctM4lkpnvvxw==","signatures":[{"sig":"MEUCIQClXMx5OsMmpzJWFuGORJS1g35byzjcA4HJUwzP0cLrwgIgfJNQ0kTNOrV72MQwT3e/bhOW3JvbWKQ7ouiqeRIKqNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89781},"engines":{"node":">=20"},"exports":{"./*":"./.medusa/server/src/*.js","./admin":{"import":"./.medusa/server/src/admin/index.mjs","default":"./.medusa/server/src/admin/index.js","require":"./.medusa/server/src/admin/index.js"},"./workflows":"./.medusa/server/src/workflows/index.js","./providers/*":"./.medusa/server/src/providers/*/index.js","./package.json":"./package.json","./.medusa/server/src/modules/*":"./.medusa/server/src/modules/*/index.js"},"gitHead":"31f921857134a5e12e0cbc07350b56766161c6a4","scripts":{"dev":"medusa plugin:develop","build":"medusa plugin:build","publish-local":"medusa plugin:publish","prepublishOnly":"medusa plugin:build"},"_npmUser":{"name":"anubus298","email":"araristaf@gmail.com"},"_npmVersion":"11.6.0","description":"currency auto conversion for Medusa.js, forked, optimized & compatible with medusa v2.10+ ","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"pg":"^8.13.0","vite":"^5.2.11","yalc":"^1.0.0-pre.53","react":"^18.2.0","awilix":"^8.0.1","ts-node":"^10.9.2","@swc/core":"1.5.7","react-dom":"^18.2.0","prop-types":"^15.8.1","typescript":"^5.6.2","@types/node":"^24.5.1","@medusajs/ui":"^4.0.21","@types/react":"^18.3.2","@medusajs/cli":"^2.10.1","@mikro-orm/cli":"6.4.3","@medusajs/icons":"^2.10.1","@mikro-orm/core":"6.4.3","@mikro-orm/knex":"6.4.3","@medusajs/medusa":"^2.10.1","@types/react-dom":"^18.2.25","@medusajs/admin-sdk":"^2.10.1","@medusajs/framework":"^2.10.1","@medusajs/test-utils":"^2.10.1","@mikro-orm/migrations":"6.4.3","@mikro-orm/postgresql":"6.4.3"},"_npmOperationalInternal":{"tmp":"tmp/currency-exchange-plugin_0.0.5_1762373608274_0.8967068895575447","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@anubus298/currency-exchange-plugin","version":"0.0.6","description":"currency auto conversion for Medusa.js, forked, optimized & compatible with medusa v2.10+ ","author":{"name":"Anubus298"},"license":"MIT","publishConfig":{"access":"public"},"exports":{"./package.json":"./package.json","./workflows":"./.medusa/server/src/workflows/index.js","./.medusa/server/src/modules/*":"./.medusa/server/src/modules/*/index.js","./providers/*":"./.medusa/server/src/providers/*/index.js","./admin":{"import":"./.medusa/server/src/admin/index.mjs","require":"./.medusa/server/src/admin/index.js","default":"./.medusa/server/src/admin/index.js"},"./*":"./.medusa/server/src/*.js"},"keywords":["medusa","plugin","medusa-plugin-other","medusa-plugin","medusa-v2","medusa-currency-exchange-plugin"],"scripts":{"build":"medusa plugin:build","dev":"medusa plugin:develop","prepublishOnly":"medusa plugin:build","publish-local":"medusa plugin:publish"},"devDependencies":{"@medusajs/admin-sdk":"^2.10.1","@medusajs/cli":"^2.10.1","@medusajs/framework":"^2.10.1","@medusajs/icons":"^2.10.1","@medusajs/medusa":"^2.10.1","@medusajs/test-utils":"^2.10.1","@medusajs/ui":"^4.0.21","@mikro-orm/cli":"6.4.3","@mikro-orm/core":"6.4.3","@mikro-orm/knex":"6.4.3","@mikro-orm/migrations":"6.4.3","@mikro-orm/postgresql":"6.4.3","@swc/core":"1.5.7","@types/node":"^24.5.1","@types/react":"^18.3.2","@types/react-dom":"^18.2.25","awilix":"^8.0.1","pg":"^8.13.0","prop-types":"^15.8.1","react":"^18.2.0","react-dom":"^18.2.0","ts-node":"^10.9.2","typescript":"^5.6.2","vite":"^5.2.11","yalc":"^1.0.0-pre.53"},"engines":{"node":">=20"},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","_id":"@anubus298/currency-exchange-plugin@0.0.6","gitHead":"3a8159626521227975ea17cb7d7b9e7c2aeb736e","_nodeVersion":"22.14.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-KveHSrJsDoaMukbXic9nnW02WizjlCr5kyZpeuYoTsAkA8bKSvdFbTum5oJ9e6KFDR36wiBGNFIjwnxFuvLHxg==","shasum":"76ff179ca71b782aefd1cb8899ef0e61f6a27c5d","tarball":"https://registry.npmjs.org/@anubus298/currency-exchange-plugin/-/currency-exchange-plugin-0.0.6.tgz","fileCount":21,"unpackedSize":90411,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHt1RtAYRwcU4pE3ISghirQJrTNDYUQSn5tUMykgqBwLAiEA3KAqTYL7/iu4n6HwLce58YnZU5I4I4wcbGqqa6CB81A="}]},"_npmUser":{"name":"anubus298","email":"araristaf@gmail.com"},"directories":{},"maintainers":[{"name":"anubus298","email":"araristaf@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/currency-exchange-plugin_0.0.6_1762375328890_0.8264242446695145"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-17T19:20:20.217Z","modified":"2025-11-05T20:42:09.287Z","0.0.1":"2025-09-17T19:20:20.466Z","0.0.3":"2025-10-10T21:43:20.942Z","0.0.5":"2025-11-05T20:13:28.490Z","0.0.6":"2025-11-05T20:42:09.099Z"},"author":{"name":"Anubus298"},"license":"MIT","keywords":["medusa","plugin","medusa-plugin-other","medusa-plugin","medusa-v2","medusa-currency-exchange-plugin"],"description":"currency auto conversion for Medusa.js, forked, optimized & compatible with medusa v2.10+ ","maintainers":[{"name":"anubus298","email":"araristaf@gmail.com"}],"readme":"# Currency Exchange Plugin for Medusa\r\n\r\n**Package:** `@anubus298/currency-exchange-plugin`\r\n\r\n> **Note:** This is an optimized fork of `@kb0912/currency-exchange-plugin` with enhanced features and improvements.\r\n\r\nAutomatically sync your product prices to the latest exchange rates, supporting multiple currencies. Choose between automatic live rates (from [fawazahmed0/exchange-api](https://github.com/fawazahmed0/currency-api)) or manual rate settings for each currency. Manage everything directly from Medusa Admin—including instant manual price updates!\r\n\r\n---\r\n\r\n<img width=\"1505\" height=\"773\" alt=\"Screenshot 2025-07-17 at 16 13 16\" src=\"https://github.com/user-attachments/assets/cc68c6e1-8bd9-4b0f-a212-0a3ce193540a\" />\r\n\r\n---\r\n\r\n## Features\r\n\r\n- **Auto-update product prices** based on the latest currency exchange rates and your base currency.\r\n- **Enable/disable each currency** directly from the Admin UI.\r\n- **Switch between \"Auto\" and \"Manual\" mode** for each currency.\r\n- **Edit manual exchange rates** for full control.\r\n- **Trigger instant price updates**—no need to wait for a cronjob.\r\n- **Safe:** Disabled currencies will not have their prices changed or deleted.\r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\nyarn add @anubus298/currency-exchange-plugin\r\n```\r\n\r\nor\r\n\r\n```bash\r\nnpm install @anubus298/currency-exchange-plugin\r\n```\r\n\r\n---\r\n\r\n## Configuration (in `medusa-config.js` or `.ts`)\r\n\r\n```js\r\nconst plugins = [\r\n  // ... other plugins\r\n  {\r\n    resolve: \"@anubus298/currency-exchange-plugin\",\r\n    options: {},\r\n  },\r\n];\r\n```\r\n\r\n> **Note:**  \r\n> Base currency will be taken from your Store config if not specified.\r\n\r\n### Scheduled Updates\r\n\r\nBy default, product prices are automatically updated daily at midnight (using cron schedule `0 0 * * *`).\r\n\r\nYou can customize the update schedule by setting the `CURRENCY_UPDATE_SCHEDULE` environment variable:\r\n\r\n```bash\r\n# Example: Update every 6 hours\r\nCURRENCY_UPDATE_SCHEDULE=\"0 */6 * * *\"\r\n\r\n# Example: Update every day at 3 AM\r\nCURRENCY_UPDATE_SCHEDULE=\"0 3 * * *\"\r\n\r\n# Example: Update every Monday at midnight\r\nCURRENCY_UPDATE_SCHEDULE=\"0 0 * * 1\"\r\n```\r\n\r\n---\r\n\r\n## Usage in Medusa Admin\r\n\r\nOnce installed, a **Currency Exchange Settings** page appears in your Admin sidebar.\r\n\r\n### 1. Enable/disable currencies\r\n\r\n- Toggle the Enable/Disable switch to control which currencies are updated.\r\n\r\n### 2. Switch exchange rate mode\r\n\r\n- Toggle between **Auto** (fetches rates from exchange-api) and **Manual** (enter your own rate) for each currency.\r\n\r\n### 3. Edit manual rates\r\n\r\n- If Manual mode is selected, type your desired rate and click **Save**.\r\n\r\n### 4. Instant price update\r\n\r\n- Click **Update Prices Now** to immediately update all product prices using the latest rates—no need to wait for scheduled jobs!\r\n- The plugin will recalculate and update all enabled currency prices based on the latest exchange rates and your base currency.\r\n\r\n---\r\n\r\n## Exchange Rate Source\r\n\r\n- This plugin uses [fawazahmed0/exchange-api](https://github.com/fawazahmed0/currency-api) as the default source for live rates.\r\n- You can override any rate at any time using Manual mode.\r\n\r\n---\r\n\r\n## Usage Notes\r\n\r\n- **Only enabled currencies** will have their prices updated. Disabled currencies retain their existing prices—nothing is deleted or overwritten.\r\n- You can combine automatic and manual rate management for maximum flexibility.\r\n- All updates can be triggered manually in Admin or scheduled using cron.\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT\r\n\r\n---\r\n\r\nFor questions, feature requests, or issues, please [open an issue](https://github.com/anubus298/currency-exchange-plugin/issues) or contact the maintainer.\r\n","readmeFilename":"README.md"}