{"id":26058901,"url":"https://github.com/zackiles/woocommerce-nodejs","last_synced_at":"2026-04-25T03:42:36.058Z","repository":{"id":23483274,"uuid":"26848319","full_name":"zackiles/woocommerce-nodejs","owner":"zackiles","description":"Some utility functions to use with the WooCommerce API and NodeJS","archived":false,"fork":false,"pushed_at":"2014-11-19T06:59:59.000Z","size":136,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-29T00:26:18.174Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zackiles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-19T06:42:04.000Z","updated_at":"2019-04-05T02:40:38.000Z","dependencies_parsed_at":"2022-07-15T13:47:06.251Z","dependency_job_id":null,"html_url":"https://github.com/zackiles/woocommerce-nodejs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zackiles/woocommerce-nodejs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackiles%2Fwoocommerce-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackiles%2Fwoocommerce-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackiles%2Fwoocommerce-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackiles%2Fwoocommerce-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zackiles","download_url":"https://codeload.github.com/zackiles/woocommerce-nodejs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackiles%2Fwoocommerce-nodejs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32249491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T03:17:44.950Z","status":"ssl_error","status_checked_at":"2026-04-25T03:16:45.208Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-08T12:40:53.920Z","updated_at":"2026-04-25T03:42:36.042Z","avatar_url":"https://github.com/zackiles.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"woocommerce-nodejs\n==================\n\nSome utility functions to use with the WooCommerce API and NodeJS. Each function can also take a filter. I have two filters right now, saveProductFilter and extendProductFilter. saveProduct will dump the results of any function to file in JSON. extendProductFilter will attach metadata to each product, like customer reviews, etc.\n\nEach function can be used with a normal Node style callback, or a promise wrapped with Q. The examples below use Q.\n\nSet config.js with the relevant API keys for WooCommerce.\n\n***EXPORTS***\n```\nmodule.exports = {\n  filters : filters,\n  filterCollection : filterCollection,\n  getProductCount : getProductCount,\n  getProducts : getProducts,\n  getProductReviewsById : getProductReviewsById,\n  getProductById : getProductById,\n  getProductFullById : getProductFullById,\n  getProductMetaData : getProductMetaData\n};\n```\n\n***EXAMPLE***\n- General\n```\n// grab all strain products from liftmj's woocommerce\nWooUtil.getProducts()\n\n// extend the strain products with extra metadata found in wordpress posts, reviews, and comments\n.then(extendProducts)\n\n// write the strain products to disk\n.then(saveProducts)\n\n.catch(console.error)\n.done(function(result){\n  console.log(result);\n});\n```\n- Filters\n```\nvar saveProducts = function(products){\n  console.log('Writing', products.length,' products to disk');\n  return WooUtil.filterCollection(products, WooUtil.filters.saveProductFilter);\n};\n\nvar extendProducts = function(products){\n  console.log('Extending product meta data');\n  return WooUtil.filterCollection(products, WooUtil.filters.extendProductFilter);\n};\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackiles%2Fwoocommerce-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzackiles%2Fwoocommerce-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackiles%2Fwoocommerce-nodejs/lists"}