{"_id":"@codibri/vendure-plugin-product-catalog-feed","_rev":"8-df508392aabfdecb93f97852c0ffdade","name":"@codibri/vendure-plugin-product-catalog-feed","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.0.0","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.0.0","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"1babce8130f69c2392d0490cc9e8acfd93f82f8e","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.0.0.tgz","fileCount":21,"integrity":"sha512-gidtuKISBMeeuWoZ6eyogiz6gwxoliSsfOJ+CohTJQHkUfKOkOBQ1FF2h10gyJ0FiTAUoC7uSMk0khDzjQpKDw==","signatures":[{"sig":"MEUCIQCleJXboyT2c995iFtWb295kBAGAchnreGEXrRcPGmqNAIgFAO7M3ZhpnjyQFwNygi0d8mHrG4iXhkIjVfzryNJ3Yg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25980},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.0.0_1707258615945_0.9507080387436186","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.1":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.0.1","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.0.1","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"f6d90252fe6f8acb251b4d19f1ecb4dc590ce667","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.0.1.tgz","fileCount":21,"integrity":"sha512-dO6EIRsqC3rF4nsKWN/Dq/DlI8P4LBrT9td8760KAPK8EFWmGH88tJ3AePrvrUytl/edhVyJ8B2bdPaFx/mYVw==","signatures":[{"sig":"MEQCICUSdhUSM7VzDmx/1yODb4dBV0s3z1e8htGYzCXvt8vHAiB/uTXxkD9KTrDxq6VjrXy7ZLbn+UtSx0IV2XQCDGQiCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27742},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.0.1_1707311748398_0.6450028112153314","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.1.0","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.1.0","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"f52bc4b92ea7c7f3b4dd090909fee06951ce979c","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.1.0.tgz","fileCount":29,"integrity":"sha512-+uaUep5TgqDnLRtuSIrv242O5phonmLbE+njZplSspMVXtDRMDWtVH6slYO6a8vRmJPbya53pqZZjma6GLWijA==","signatures":[{"sig":"MEUCIFyoJm7lPuOybT6A1U302bjk+KkaGiYvwwrkNTk5A4HkAiEAl9aDADFIUu9J9KL/T9HnoHLQpwog8/18WR/NkXiTUIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36018},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.1.0_1707402934327_0.9978094296648956","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.1":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.1.1","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.1.1","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"0810498436379bf2333bcaf788627a4ec01cb5d2","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.1.1.tgz","fileCount":28,"integrity":"sha512-Rsdgkhqg5hcMaTZ8SjIzIioK9/PZiD5mwj6eCzSc145+qeW7gxtY0j0lI8ZycSTAiB1rxdqsbsiA2z2/JeCbOw==","signatures":[{"sig":"MEYCIQD2sjVtIrTuhQ/IEB/WDrdOg4aMJ0+TY/XMc8Dban881gIhAOTd6S2pfrDURnZznv4CVYTQw4/6EkqAYGoNAWqCvX54","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34748},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc && copyfiles -u 1 'src/ui/**/*' dist/","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.1.1_1707487745989_0.9270788239624521","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.1.2","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.1.2","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"4c8f076fca85fd138b57f88ea1afca3a1375fbcb","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.1.2.tgz","fileCount":28,"integrity":"sha512-RTgua1j1t6rKjYpdsOtB2CPKpbKWrDiDYWLV2wsZG2cU235w02aJgXPLcCfe6m8VGviPd4Qv4pzOSFIqEia62Q==","signatures":[{"sig":"MEUCIBLzLX0prod1yncfOVmfq3TPBqafStcYxhdnyBTO66fYAiEAh6hxTSisXQwefXzbw0DaHwAT45H8tLS2evNCykWpzg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34986},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc && copyfiles -u 1 'src/ui/**/*' dist/","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.1.2_1707494842050_0.6763003399942493","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.0":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.2.0","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.2.0","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"fc9f33724c84afb6080cbe0e915455dc79360cbf","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.2.0.tgz","fileCount":28,"integrity":"sha512-b01q1xIwdh9Ncu1UmDxH2yPmfWT/bd7wyLHS/PYDfRXm62Uk8gQ/pZwaybNAPOXbL+knm2JqCHyNU6ZeTFUZYA==","signatures":[{"sig":"MEYCIQCfylkkknHlb5R44Ifrope/hrrNNszPUjgt413FKQ1SLwIhAJQkAiuTrGNcmLg9+tDNC0JjcX2N7rFAEllto0l2zCBs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36715},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc && copyfiles -u 1 'src/ui/**/*' dist/","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.2.0_1707504472790_0.7032627101063655","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.0":{"name":"@codibri/vendure-plugin-product-catalog-feed","version":"1.3.0","author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","_id":"@codibri/vendure-plugin-product-catalog-feed@1.3.0","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"dist":{"shasum":"8a2438fb8acbe6ee49b067d61210649f27e8cf0f","tarball":"https://registry.npmjs.org/@codibri/vendure-plugin-product-catalog-feed/-/vendure-plugin-product-catalog-feed-1.3.0.tgz","fileCount":28,"integrity":"sha512-7JLoa1XDMMzuM2Hae7D9V8ulRYgKUbGp2EiVnPWVFSFYXzwuX03T0dUvWi8+NcYqkxq/Xlh98BbhCHV2hhYPgA==","signatures":[{"sig":"MEQCIFaow+hvaS6v4WX0wUndcKiw1tlxIPRKHBb85zp7+OFIAiAzCR0MsGsi0R8UCP6+VpEDrWC8OV2ldxj5DWt1/i8uYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37616},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"private":false,"scripts":{"test":"jest --preset=\"ts-jest\"","build":"rimraf dist && tsc && copyfiles -u 1 'src/ui/**/*' dist/","start":"yarn ts-node test/dev-server.ts"},"_npmUser":{"name":"toonjanssens","email":"toon@codibri.be"},"repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","directories":{},"dependencies":{"cron":"^3.1.6","xmlbuilder2":"^3.1.1","ssh2-sftp-client":"^10.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/ssh2-sftp-client":"^9.0.3","@micham/sftp-mock-server":"^0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/vendure-plugin-product-catalog-feed_1.3.0_1707598680703_0.6804144066484674","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2024-02-06T22:30:15.870Z","modified":"2025-04-16T20:07:49.971Z","1.0.0":"2024-02-06T22:30:16.143Z","1.0.1":"2024-02-07T13:15:48.587Z","1.1.0":"2024-02-08T14:35:34.503Z","1.1.1":"2024-02-09T14:09:06.158Z","1.1.2":"2024-02-09T16:07:22.256Z","1.2.0":"2024-02-09T18:47:52.964Z","1.3.0":"2024-02-10T20:58:00.892Z"},"author":{"name":"Toon Janssens","email":"toon@codibri.be"},"license":"MIT","repository":{"url":"https://github.com/Codibri-BV/codibri-vendure-plugins","type":"git"},"description":"Vendure plugin to create product catalog feed","maintainers":[{"name":"toonjanssens","email":"toon@codibri.be"}],"readme":"# Vendure product catalog feed plugin\n\nThis plugin generates an xml of all products to sync your catalog with Google or other tools.\n\nWhen a product or variant is changed, the channel will be marked to rebuild the xml. Every night the channels with changes get rebuild. The interval for the rebuild is configurable via cron notation. For each channel the build is executed in a worker.\n\n## Requirements\n\nInstall the Payments plugin and the Mollie client:\n\n`yarn add @codibri/vendure-plugin-product-catalog-feed`\nor\n`npm install @codibri/vendure-plugin-product-catalog-feed`\n\n## Setup\n\n1. Add the plugin to your VendureConfig plugins array and add `ProductCatalogFeedPlugin.ui` to the AdminUi plugin\n\n```typescript\nimport { ProductCatalogFeedPlugin } from \"@codibri/vendure-plugin-product-catalog-feed\";\n\n// ...\n\nplugins: [\n  AdminUiPlugin.init({\n    port: 3002,\n    route: \"admin\",\n    app: compileUiExtensions({\n      outputPath: path.join(__dirname, \"../admin-ui\"),\n      extensions: [ProductCatalogFeedPlugin.ui],\n      devMode: true,\n    }),\n  }),\n  ProductCatalogFeedPlugin.init({ outputInterval: \"0 0 * * *\" }),\n];\n```\n\n2. Go to the channel config in the Admin UI and change the _Product catalog_ field to _URL_ or _SFTP_ to enable the channels product feed.\n\n## Plugin options\n\n| key            | required | default value | description                                                   |\n| -------------- | -------- | ------------- | ------------------------------------------------------------- |\n| assetUrlPrefix | yes      |               | The url to access the Vendure server                          |\n| outputInterval | no       | `0 0 * * *`   | The interval for building the XML file in _cronTime_ notation |\n\n## Config\n\nIn the Admin UI you can configure each channel individually.\n\n| Field           | Description                                                                                                                                                                                                                                |\n| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Shop URL        | THe url of the shop front end.                                                                                                                                                                                                             |\n| Product catalog | <ul><li>**Disabled**: No product feed will be generated for this channel</li><li></li>**URL**: The XML file will be build and availble via an url<li>**SFTP**: The XML file will be build and uploaded to configured SFTP server</li></ul> |\n| SFTP server     | Only when **SFTP** is selected as output                                                                                                                                                                                                   |\n| SFTP port       | Only when **SFTP** is selected as output. Must be between 1 and 65535                                                                                                                                                                      |\n| SFTP user       | Only when **SFTP** is selected as output                                                                                                                                                                                                   |\n| SFTP password   | Only when **SFTP** is selected as output                                                                                                                                                                                                   |\n\n## API endpoint\n\nWhen **URL** is selected in the channel config, the genrated XML is availble via the `/product-catalog`\n\nIf you only have multiple channel, you can provide the channel token in the header or as query parameter.\n`/product-catalog?token=channelToken`\n\n## Manual trigger\n\nOn the products overview page in the Admin UI you will find a new button \"Rebuild product catalog\" to trigger the build of the product catalog feed of the current selected channel.\n\nAn extra permission `ProductCatalogFeedRebuild` is added to control who can accees the manual trigger button on the products page.\n","readmeFilename":"README.md"}