{"_id":"@ivfuture/ecomm-product","_rev":"25-f6550800bdd91058921113b464e19f6d","name":"@ivfuture/ecomm-product","dist-tags":{"latest":"1.5.0","next":"1.4.1-next.0","cibo":"1.3.2-cibo.0"},"versions":{"1.0.0":{"name":"@ivfuture/ecomm-product","version":"1.0.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepare":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.0.4","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.0.1","@ivfuture/ecomm-types":"^1.0.1","@ivfuture/ecomm-utils":"^1.1.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"50e7aed792f71e57526b0829c1abdfc813a6dcd7","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.0.0","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-1/FXXnaWfJlKnBxhpUu4nGjsnE9XlQIVLv0a/Ta1EerT7jAHEnwhgppyOXDlNAwPYm0vTFEp5+Y0F+9ezhXMPw==","shasum":"ea57ae12f83166c55cb395f788dae57e9e63f784","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.0.0.tgz","fileCount":84,"unpackedSize":121245,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9DQ6/Z5NfeD2aLPajfMJRpGnGMBtUWpUyez4LiNXw9AIgSxqZ/pjdjglslj6rDVVpWe95ggoSncuaAnwHBpisQjM="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.0.0_1689319329420_0.8890965488059925"},"_hasShrinkwrap":false},"1.0.1":{"name":"@ivfuture/ecomm-product","version":"1.0.1","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepare":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.0.4","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.0.2","@ivfuture/ecomm-types":"^1.0.1","@ivfuture/ecomm-utils":"^1.1.1","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"e1931566a4f8e8de868641d9bb5aac0ecd97bd42","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.0.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-PICwEfWC7Z3FblPE93z54NK0N4/ZY/RuJzZhd6ZRMsHncAfaP0YrwgGw82OalI2n7XkPeoz+q8wQB9//BY1b/A==","shasum":"f57c17f8307eb36b96b4e9273c377dc5cd6f3746","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.0.1.tgz","fileCount":84,"unpackedSize":121245,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYcPd7k5p2Djyqbs4M8Kkiu2rqfYhR4wHzDa+6itQVBAIgKd/P6xVU2vC9WrcsTT6yvVlrpq4yRxpwNXupFOFR4Uo="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.0.1_1694160496315_0.5483355697603447"},"_hasShrinkwrap":false},"1.1.0":{"name":"@ivfuture/ecomm-product","version":"1.1.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.1.0","@ivfuture/ecomm-types":"^1.1.0","@ivfuture/ecomm-utils":"^1.2.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"38cd9ac0a7ef46c0a665445fa3c431c0625b1288","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.0","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-fRdQvdZBVSEGSUAf7B3IK92mUa8+Z5yRnldvX2/91bFNi0bmLVZX2i6+HGrVBmrs7xSKzaQrBAE9dk/Ap7KvRQ==","shasum":"19aca0c2e5dd7a8ce18ac411210e9e9eed448894","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.0.tgz","fileCount":108,"unpackedSize":277678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcRjx0txs1fiFR3SwcNOPO7P+69nTVwaCaTvQ4mR5G6AIhALFtYEbGtjIwa64u+MkTtnkKwuYKoovuKA0Gl8tFDxDs"}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.0_1700207254924_0.8079002833253224"},"_hasShrinkwrap":false},"1.1.1-lernatest.0":{"name":"@ivfuture/ecomm-product","version":"1.1.1-lernatest.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.1-lernatest.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.1.1-lernatest.0","@ivfuture/ecomm-types":"^1.1.1-lernatest.0","@ivfuture/ecomm-utils":"^1.2.1-lernatest.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"7f997df9d21e5968d8cdbad3f6e80f11961e2cdd","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.1-lernatest.0","_nodeVersion":"18.17.1","_npmVersion":"lerna/7.4.2/node@v18.17.1+x64 (linux)","dist":{"integrity":"sha512-3p5N6++YvgVCOa+8+lr5dbW5hbHz5WzAj5n1W9RAKrszGG84JH84h63Su4GSShaGb+m50SxRXXzEM14wrrjhRA==","shasum":"981c6596ae381b4929263619dfe6d4a75fae49bf","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.1-lernatest.0.tgz","fileCount":109,"unpackedSize":278870,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc7NIH/3xFfV7KXWv3a3V+LfOoKlGruU4NECiMGAPgGQIhAIyXAZTnMTdxRxktik6xiJVexYT5q+rM3VWPe4s+49WH"}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.1-lernatest.0_1700478799886_0.04895511825061538"},"_hasShrinkwrap":false},"1.1.1":{"name":"@ivfuture/ecomm-product","version":"1.1.1","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.1.1","@ivfuture/ecomm-types":"^1.1.1","@ivfuture/ecomm-utils":"^1.2.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"b6d3cf63f8b1fe255681a94ad8e5f817756185a5","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-JcPwp4pcZmpy9Q1BRiBVcbAVNBW0D1KbXQf6f2+zaS/EUaHhsS/yq+y1JYD4pN7YnzZcA84zvgqrxlcemkPHMQ==","shasum":"5c95dd57bc90a6478807f62ecb4e4a930b23e3d5","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.1.tgz","fileCount":108,"unpackedSize":277678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDF3cPzK06MhKz5mOybufwFjNL5hzKKFAcLUXXYB0vWeAiBxcs6R7/hg9l6yoz4qe7SsCnV/dM2WsQNRbO97QqOM9w=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.1_1703246330917_0.0035663269145469467"},"_hasShrinkwrap":false},"1.1.2-marketplace":{"name":"@ivfuture/ecomm-product","version":"1.1.2-marketplace","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.2-marketplace","@ivfuture/ecomm-types":"1.0.0-marketplace","@ivfuture/ecomm-utils":"^1.2.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"35f5da2602cd2154f3405c2cd97611c79935912b","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.2-marketplace","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-AQrKP2iwyKzZA4NCm6dfHSMiSDYlFrgzuwouk0g9qmVYsPwGhgd6qbzCTmJuofsR/vNhdNk89kYC2QbSN90o6w==","shasum":"5db33b314b53e4d0fbac313a974e8a0bbba6a57f","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.2-marketplace.tgz","fileCount":108,"unpackedSize":277712,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdk4r7gd7WtScWQlZrweNLBLLw1VOyPRoHP2tBzCPHCAIgPsBcIsu1gtLOQ/K7XV2YUnooOwnwZsM75Iy3HxwYj58="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.2-marketplace_1705502243922_0.32418218399177"},"_hasShrinkwrap":false},"1.1.3-marketplace":{"name":"@ivfuture/ecomm-product","version":"1.1.3-marketplace","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.3-marketplace","@ivfuture/ecomm-types":"1.0.1-marketplace","@ivfuture/ecomm-utils":"^1.2.3-marketplace","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"35f5da2602cd2154f3405c2cd97611c79935912b","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.3-marketplace","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-7978S/cz5dleKmcV2/alYL1Jp1L1CJZNh0JFRgGNqNJbu8IOanmp8TwJTDGE4YgvFQbIHHOUpfsTe7mhH7s2eQ==","shasum":"e8896aa347271062849edb13a1e467a21b5ff674","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.3-marketplace.tgz","fileCount":108,"unpackedSize":277724,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHC1B3FNmP6MBXiIfc/JLVH9ksx+AEWUYR7sRS5a87vSAiAEo/h8L+qgpWuigmDgv1eFx6MFZXzxbaejQiVbBNvOcA=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.3-marketplace_1705504756434_0.5869476367805624"},"_hasShrinkwrap":false},"1.1.2":{"name":"@ivfuture/ecomm-product","version":"1.1.2","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.1.2","@ivfuture/ecomm-types":"^1.2.0","@ivfuture/ecomm-utils":"^1.2.2","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"939d122297b5ea307d422da04c2883d452b25080","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.2","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-tenTOHOpUmOYgcPG1TkjmAwFy9dJ2tJmRP4M1VaShfQxaDpNIEJ+y30BpLg6LURLHpbWUXzSTB3285GdfuWeqg==","shasum":"4eed7dd5709c6f773e1d14708a2031bbbdb43236","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.2.tgz","fileCount":108,"unpackedSize":277678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICMI9HdatpRAozFVPye8R97i2CT3D8tFMB0IzN4nprR+AiEAlwcIaYQoAQ61lp7PVSrDGBYGrBDXkoSQwd5pbe21Npo="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.2_1706018704668_0.5765404219437333"},"_hasShrinkwrap":false},"1.2.0":{"name":"@ivfuture/ecomm-product","version":"1.2.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.2.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.2.0","@ivfuture/ecomm-types":"^1.3.0","@ivfuture/ecomm-utils":"^1.3.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"822cee006eeb1a8226075ab5e2aaf1eba7e68568","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.2.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/8.0.2/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-Ws34kce+ra4+vLxg/k77c//BLFHtL5rbkpJI9Ha2Nm3MOOFGvhamwFfxiaW0W7TFt+qfL1LNPGkKnavb3N4oeg==","shasum":"fdba4d72fd818d56b112021e222c3047f4d2d451","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.2.0.tgz","fileCount":109,"unpackedSize":278810,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyZntq0PR2R2fW1QgQrxfXxFxIu1N1osGyi9ee7HbXrgIgaI9Ezkv9+1xq4LbVA8cvNB7fbnlaOlxZPKOOZ/UchoM="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.2.0_1706790958105_0.1997982978702444"},"_hasShrinkwrap":false},"1.2.1-next.0":{"name":"@ivfuture/ecomm-product","version":"1.2.1-next.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.2.1-next.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.2.1-next.0","@ivfuture/ecomm-types":"^1.3.1-next.0","@ivfuture/ecomm-utils":"^1.3.1-next.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"798b8449b46eabf7550d6aa7149e1adc84730d7e","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.2.1-next.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/8.0.2/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-Qx1Ye6IvBT+T68lU2DwPUUjkRbP/jd761d/TwrdLRjdD/Mi0kdfmktIg+qERANB5pEQ8pKzLrff6+DJnQ3X5pA==","shasum":"a7c430a051ebcee595462fa0fbe1348f17bb99ec","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.2.1-next.0.tgz","fileCount":109,"unpackedSize":278845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsi4lUX68vRR0tjPlHRopakRR2PVvJm575chHdbJdQmAiEAnBcWVzRvoDrKQOedGRwdPi/QINri7RKdN9FB+YgeoFQ="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.2.1-next.0_1707993399401_0.20696355132214084"},"_hasShrinkwrap":false},"1.1.0-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.0-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.0-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.1.0-cibo.0","@ivfuture/ecomm-types":"^1.1.0-cibo.0","@ivfuture/ecomm-utils":"^1.2.0-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"dedb704f5feada8fba6fa071343cf1f0964ae603","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.0-cibo.0","_nodeVersion":"18.17.1","_npmVersion":"lerna/8.1.2/node@v18.17.1+x64 (linux)","dist":{"integrity":"sha512-qSa0bljrzXlQ20J2AK5YUXiIjwkl+C5hoa5GlRicfuUJEkXIAdYgxbhCTRomHB0BuY/Mnc7t9kgxrFxBSYjHgA==","shasum":"015c21de421a687908b3ad12510d74ba5d619a7e","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.0-cibo.0.tgz","fileCount":85,"unpackedSize":122415,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHw9kTZ6fHMUJlJxJcIR43YJ1ZuPXd5lTwtTJyU3j5OqAiB9Gra0pribfcGAXDhVtXOmKGm1icvVRlpegoLLoWnRCA=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.0-cibo.0_1707998361610_0.03436159184405141"},"_hasShrinkwrap":false},"1.1.1-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.1-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.1.1-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.1.1-cibo.0","@ivfuture/ecomm-types":"1.1.0-cibo.0","@ivfuture/ecomm-utils":"^1.2.1-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"8173a3d22c59738b3b2702157f2982195680ec6a","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.1-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-YNDvJuXcuQsgREyt3ufszugxQQko/OHG4ReaUu/XINxa/jMXyzwFSUWYjRZC90JSmt4OFlz+QUd3Ad+IoEOzDQ==","shasum":"170aac35e3d6ebc51955498652a38bb8e3609a41","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.1-cibo.0.tgz","fileCount":85,"unpackedSize":122414,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoJ1hQTTqOUc9r+Z5ccIiieYtFjxAKYi/bGkanlZNMcQIgaShN/59IJQj0/+xw53k02Q1xVptmJBiF2wRyy/Urc/A="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.1-cibo.0_1708077014873_0.29850139412988286"},"_hasShrinkwrap":false},"1.1.2-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.2-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.1.1-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.2-cibo.0","@ivfuture/ecomm-types":"1.1.0-cibo.0","@ivfuture/ecomm-utils":"1.2.1-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"db0a9cb9bcf8e14a2ea4eed790554a2689dc0a2b","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.2-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-1TA41u3Uc80nvOmktftjLCt0bE9GiyXSkkxm9OASodhah7n+DHsWrcRT6kBejtsb+mSd9D7Wwjw7Ky8EAPQIwg==","shasum":"1c6af355bed65cde1e0a66bae122ad412201c620","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.2-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkmPl6q545jrdnYxdeNiX8t1GvgO7ovO2l/32v4KJtWAIgdKxaXBC+qLaLPkGYXgEb9OBiP3CDAjNYyn1Q5CNhmdQ="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.2-cibo.0_1708077410994_0.01833959280700448"},"_hasShrinkwrap":false},"1.3.0":{"name":"@ivfuture/ecomm-product","version":"1.3.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"^1.3.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"^1.3.0","@ivfuture/ecomm-types":"^1.4.0","@ivfuture/ecomm-utils":"^1.4.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"6279a6f9acf9cbc23c225dd93499044dc99d39e9","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.3.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/8.0.2/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-1O8I5aozuQC9+GouDx+JkUKg4hVRLMqchUyBVpkcSGkwJ3b3VHl7fEvLFIzAAerCLzX2WHJYW6eXjXgYf3+1rw==","shasum":"91b7cf17ca956132d6c0e6d2b4950e5af1572e64","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.3.0.tgz","fileCount":109,"unpackedSize":278810,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBV3Hkz/Hoqm9Ho5IU79fWe1P1XGEtkP8fi+IQpfEs83AiBA1ASNwu3ZKjdiRvu6/A78XlhN24bbS4ymcthO2eD9iQ=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.3.0_1708082264132_0.9820132656993124"},"_hasShrinkwrap":false},"1.4.0":{"name":"@ivfuture/ecomm-product","version":"1.4.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://gitlab.com/iv_future/ivf-commerce/ecomm-core.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.4.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.4.0","@ivfuture/ecomm-types":"1.5.0","@ivfuture/ecomm-utils":"1.5.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"aba4fc8034d23bbc9bdd44277f90861039250416","bugs":{"url":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core/issues"},"homepage":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core#readme","_id":"@ivfuture/ecomm-product@1.4.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/8.0.2/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-uqOVOnNWj1uJY7sjSDL194J0mlYsD8XS4qNregp5A7zJpHCPXdCnjv3bFlANBCeJVdrrHY5C24Er0/WYlU02ug==","shasum":"8c8dc5438947831f89e55901c26ce449463402d1","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.4.0.tgz","fileCount":109,"unpackedSize":278824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHm+mZ/cLLBZ4OGPZGLvmLBbtzpNi2JoZ+fXfW/f6Nn6AiEA45ud8x7TOI04AMQ8YNeOqLll6/AiybWlSG+G5TQ+oc4="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.4.0_1708351867834_0.5864669236517823"},"_hasShrinkwrap":false},"1.1.3-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.3-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.1.2-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.3-cibo.0","@ivfuture/ecomm-types":"1.1.1-cibo.0","@ivfuture/ecomm-utils":"1.2.2-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"86566b7374ad7741e368937aaabe539216464a83","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.3-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-XWLpxH4Zac8SgC+nnLxaxoYh7BdkdyboJo1mTNj5vR0QSf+r/tinWePVwAZz9EJmH7o3oCwKhnpT+MDiqThPkQ==","shasum":"c249fbac97f2693ddfea498e64fbd73a10c26f55","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.3-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEx739ATVn0dhZcnrF0eBLOPGZFR6vjeexQPfVROig3ZAiEA789hJ9r2IlPblLZXAaZyZuSDXSKHC3b9S7/v3XBqVKQ="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.3-cibo.0_1708503178764_0.5309408350940032"},"_hasShrinkwrap":false},"1.1.4-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.4-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.1.2-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.4-cibo.0","@ivfuture/ecomm-types":"1.1.2-cibo.0","@ivfuture/ecomm-utils":"1.2.3-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"57764f52c49c8821ee40d2f28a3ba23aaa015640","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.4-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-BcLBHg1O453SEt7uAP60IJYo3k2PHYy0HDzb35C6lkTdTDisOF0ENNJmkkhVpyxQv0DXKs/P1jsR0Gczcc3XzQ==","shasum":"61f11cb63d46677768961d543d0b333d0b4f915b","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.4-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCza1Kjzvb3KY4v3IuDkTJKtN3ndSJiKtFeRpMgo/VVugIgGV8bPnQzOCRVatGvr4WRggRi8sOCABa39Xez/CgfBcw="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.4-cibo.0_1708601462926_0.6710339859809074"},"_hasShrinkwrap":false},"1.4.1-next.0":{"name":"@ivfuture/ecomm-product","version":"1.4.1-next.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://gitlab.com/iv_future/ivf-commerce/ecomm-core.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.4.1-next.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.4.1-next.0","@ivfuture/ecomm-types":"1.5.1-next.0","@ivfuture/ecomm-utils":"1.5.1-next.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"6ea9472495b6a0c39e78860de4e95c73d76db796","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core/issues"},"homepage":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core#readme","_id":"@ivfuture/ecomm-product@1.4.1-next.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/8.0.2/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-B3jmk5aBoyluDQjJuC15MSPkcU8FFlaOdKUT6Vn51erdt+yHcTKBsdRo3QOwHifcGPnhA9EqyLpaFRoJJwU8DQ==","shasum":"6f2e144f6e0a648ce7c265a95a9425ad94948af4","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.4.1-next.0.tgz","fileCount":109,"unpackedSize":278859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhdxKZzU30fdToQocjBGfmrFyyx1+ItxNK6U4SZRbItgIgFt4Qpidoms/wKNygBqvHk++Sadxd/E85IaL7nwxeOVc="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.4.1-next.0_1709074923468_0.4327343360509621"},"_hasShrinkwrap":false},"1.5.0":{"name":"@ivfuture/ecomm-product","version":"1.5.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://gitlab.com/iv_future/ivf-commerce/ecomm-core.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","prepublishOnly":"cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.5.0","@mikro-orm/cli":"5.7.12","cross-env":"^5.2.1","faker":"^6.6.6","jest":"^29.6.3","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^5.1.6"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.5.0","@ivfuture/ecomm-types":"1.6.0","@ivfuture/ecomm-utils":"1.6.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","knex":"2.4.2","lodash":"^4.17.21"},"gitHead":"9edde96da627143ee3075c7cd455ec3419fc8afe","bugs":{"url":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core/issues"},"homepage":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core#readme","_id":"@ivfuture/ecomm-product@1.5.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/8.0.2/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-2ZxQvd/LHsZO8SO4HS0T2Z7rvmKek1R9YcFYT1kTtqvH3tMCFDwuJN5newh13DkyL8aJki/w3gLpgtwl5O6a5w==","shasum":"37efd3db2099ce13c7d753102ac02fe0b93d8723","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.5.0.tgz","fileCount":109,"unpackedSize":278824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDB1ahWHg0KPeKMa65HpcKZVZ6wmYAFFB/dAAlBC/6nnAiAUcC6+wbsSyDVtvuVWPbjZdKN55Ya0xr1y2nJ7iB1e7g=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.5.0_1709296011841_0.5942944329393467"},"_hasShrinkwrap":false},"1.1.5-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.5-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.1.3-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.5-cibo.0","@ivfuture/ecomm-types":"1.1.3-cibo.0","@ivfuture/ecomm-utils":"1.2.4-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"4dddad5540d08fb35376579303f96212f660717b","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.5-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-AowWmOXlp3UtNSxU30LkAjnNg16vpwUk57NW2lXN3LuL5ipjPYwYfryx//cDxD99dSSHWFc9zhjuIBZVZ4/cKg==","shasum":"3dd2b0131fd31b27fbc0b446e7e412fd7cbff93b","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.5-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF0RtyfpOe2//H7kjqD5U8oP61iIqKSn7x9gfZZMcC1rAiABHOEKBMtm3pdqunrkXs0PmMqS3T1jztgRcoIbX1laAQ=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.5-cibo.0_1710503851369_0.6219249884775542"},"_hasShrinkwrap":false},"1.1.6-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.1.6-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.1.4-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.1.6-cibo.0","@ivfuture/ecomm-types":"1.1.4-cibo.0","@ivfuture/ecomm-utils":"1.2.5-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"604488556ad20ec4b3adc444faee2ad593b4ec66","readme":"# Product Module\r\n\r\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\r\n\r\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\r\n\r\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \r\n\r\n---\r\n\r\n## Installing and using it in Next.js\r\n\r\n### Prerequisites\r\n\r\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\r\n\r\n1\\. Run the following command in your project\r\n\r\n```bash\r\nnpm install @medusajs/product\r\n```\r\n\r\n2\\. Add Database URL to your environment variables\r\n\r\n```bash\r\nPOSTGRES_URL=<DATABASE_URL>\r\n```\r\n\r\n3\\. Apply database migrations\r\n\r\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\r\n\r\nBefore you can run migrations, add in your `package.json` the following scripts:\r\n\r\n```json\r\n\"scripts\": {\r\n    //...other scripts\r\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\r\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\r\n},\r\n```\r\n\r\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\r\n\r\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\r\n\r\n<details>\r\n  <summary>Seed file</summary>\r\n\r\n```js\r\nconst productCategoriesData = [\r\n  {\r\n    id: \"category-0\",\r\n    name: \"category 0\",\r\n    parent_category_id: null,\r\n  },\r\n  {\r\n    id: \"category-1\",\r\n    name: \"category 1\",\r\n    parent_category_id: \"category-0\",\r\n  },\r\n  {\r\n    id: \"category-1-a\",\r\n    name: \"category 1 a\",\r\n    parent_category_id: \"category-1\",\r\n  },\r\n  {\r\n    id: \"category-1-b\",\r\n    name: \"category 1 b\",\r\n    parent_category_id: \"category-1\",\r\n    is_internal: true,\r\n  },\r\n  {\r\n    id: \"category-1-b-1\",\r\n    name: \"category 1 b 1\",\r\n    parent_category_id: \"category-1-b\",\r\n  },\r\n]\r\n\r\nconst productsData = [\r\n  {\r\n    id: \"test-1\",\r\n    title: \"product 1\",\r\n    status: \"published\",\r\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\r\n    tags: [\r\n      {\r\n        id: \"tag-1\",\r\n        value: \"France\",\r\n      },\r\n    ],\r\n    categories: [\r\n      {\r\n        id: \"category-0\",\r\n      },\r\n    ],\r\n  },\r\n  {\r\n    id: \"test-2\",\r\n    title: \"product\",\r\n    status: \"published\",\r\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\r\n    tags: [\r\n      {\r\n        id: \"tag-2\",\r\n        value: \"Germany\",\r\n      },\r\n    ],\r\n    categories: [\r\n      {\r\n        id: \"category-1\",\r\n      },\r\n    ],\r\n  },\r\n]\r\n\r\nconst variantsData = [\r\n  {\r\n    id: \"test-1\",\r\n    title: \"variant title\",\r\n    sku: \"sku 1\",\r\n    product: { id: productsData[0].id },\r\n    inventory_quantity: 10,\r\n  },\r\n  {\r\n    id: \"test-2\",\r\n    title: \"variant title\",\r\n    sku: \"sku 2\",\r\n    product: { id: productsData[1].id },\r\n    inventory_quantity: 10,\r\n  },\r\n]\r\n\r\nmodule.exports = {\r\n  productCategoriesData,\r\n  productsData,\r\n  variantsData,\r\n}\r\n```\r\n\r\n</details>\r\n\r\nThen run the first and optionally the second command to migrate and seed the database:\r\n\r\n```bash\r\nnpm run product:migrations:run\r\n# optionally\r\nnpm run product:seed\r\n```\r\n\r\n4\\. Adjust Next.js config\r\n\r\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\r\n\r\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\r\n\r\n```js\r\n/** @type {import('next').NextConfig} */\r\n\r\nconst nextConfig = {\r\n  experimental: {\r\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\r\n  },\r\n}\r\n\r\nmodule.exports = nextConfig\r\n```\r\n\r\n5\\. Create API Route\r\n\r\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\r\n\r\nFor example, create the file `app/api/products/route.ts` with the following content:\r\n\r\n```ts\r\nimport { NextResponse } from \"next/server\"\r\n\r\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\r\n\r\nexport async function GET(request: Request) {\r\n  const productService = await initializeProductModule()\r\n\r\n  const data = await productService.list()\r\n\r\n  return NextResponse.json({ products: data })\r\n}\r\n```\r\n\r\n6\\. Test your Next.js application\r\nTo test the endpoint you added, start your Next.js application with the following command:\r\n\r\n```\r\nnpm run dev\r\n```\r\n\r\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.1.6-cibo.0","_nodeVersion":"16.20.2","_npmVersion":"lerna/8.1.2/node@v16.20.2+x64 (win32)","dist":{"integrity":"sha512-isvUayRqot6gWg6hpQcwAzBA1EY88YCMZWqOUEZANmVj6MDig4lXTngWXKrheY+HaMXSpMTaJwH6zCNTQylm/g==","shasum":"f4715a499db9374558f2b5b00df741ae9e57c0d4","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.1.6-cibo.0.tgz","fileCount":85,"unpackedSize":125017,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbDz1YCto/F+RSvJCM5/m1qWCB6BoWJfB7vZytz4/HXgIhAK6ZPLdlkDrrRNzeSGnq14KNIbBAIYMfJXEoVN2tCPkI"}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.1.6-cibo.0_1711009604451_0.6029604800336017"},"_hasShrinkwrap":false},"1.2.0-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.2.0-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.2.0-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.2.0-cibo.0","@ivfuture/ecomm-types":"1.2.0-cibo.0","@ivfuture/ecomm-utils":"1.3.0-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"e714930ed4835a10b9096977e2850426b01de899","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.2.0-cibo.0","_nodeVersion":"18.17.1","_npmVersion":"lerna/8.1.2/node@v18.17.1+x64 (linux)","dist":{"integrity":"sha512-mPECpqEWQWJQ7jz9U7FBo18/0SNZSxyj5VcDRu4ofGV194+f+44pSOeZEKsLG/N6oSDsG8+6NbpmA4LlBtcx9w==","shasum":"ff4ea8c2551775bcf4fff024220b01d9371e0a51","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.2.0-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGukdX4LI0nwALzrXaF1twVZkaOc6SwNTdJqmSK11gZwIgLbGZpYM0tI6tNJ3srYqRYPsvEuF4Imucdb2Z4U22Kpc="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.2.0-cibo.0_1711018988721_0.8433029270578793"},"_hasShrinkwrap":false},"1.2.1-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.2.1-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.2.1-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.2.1-cibo.0","@ivfuture/ecomm-types":"1.2.1-cibo.0","@ivfuture/ecomm-utils":"1.3.1-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"5f31a93d531fff9a2edd57520e3f988825f8cac8","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.2.1-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-/aUYDzl6igQtQMwv9XX7PwXDxNGTNhU7kZkV83DUwzGEMnGOVI2xt6msrki/G4fxjpc13Q/rtmbMt9eFvj2K5w==","shasum":"ee67fac149d911a625cd087bd0267d5ffc41c780","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.2.1-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0C3I1A18CDnfQyvSRNRR05TY/l1TMqaXwVfVcFV9t/AiB3G0h28N43Z0lukADu/nGgl7AAXbPT1I+NNJQJNpqteQ=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.2.1-cibo.0_1712065889885_0.13798058002159008"},"_hasShrinkwrap":false},"1.3.0-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.3.0-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.2.1-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.3.0-cibo.0","@ivfuture/ecomm-types":"1.3.0-cibo.0","@ivfuture/ecomm-utils":"1.4.0-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"10c6862faa7d991f9db3f5c98bcab54d06b072e7","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.3.0-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-/PrMk6BekitN3AGhICpAVLH/RD6S8fS5no944VvpT1rR36e3q5mwdZ1GFNCSHSvwPlAg0qYf6JQPZsHO4yxOFA==","shasum":"5e8a282e4ff631390de1f576d2e287083576ac14","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.3.0-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBlG4+RzvBrRtPOnbACQL0+40ETVOwUXggrnKMxnoCARAiAH8EKPGjCHfpqyDu3W0HV8V+EHIH8YUW9rwhWtwlB44w=="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.3.0-cibo.0_1712918748236_0.17654857726201967"},"_hasShrinkwrap":false},"1.3.1-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.3.1-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.2.2-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.3.1-cibo.0","@ivfuture/ecomm-types":"1.3.1-cibo.0","@ivfuture/ecomm-utils":"1.4.1-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"2b8e14f3672bf267ec38939573cd7498d8f8dbd4","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.3.1-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-Fpkq6O7S64HOyu0IZrUQ9yCum3TMsnmd2zRkqER8FLn/DfmcEL6fEU/dZuXAXpHs7xrGtr6pXqjlLHfcqsPh3A==","shasum":"8b7b1eeb83c7d9bcd16dfbd506148a207ede37e3","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.3.1-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXKkuXe0JGyzRdCvFi7+b2oU6CIDDCA8bTPlkCnHejEQIgRxHJjkeCqzaNi0yI0Qy+D2Wkvb+5nEVUwK6n+UIY8jo="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.3.1-cibo.0_1713362809642_0.116440165212649"},"_hasShrinkwrap":false},"1.3.2-cibo.0":{"name":"@ivfuture/ecomm-product","version":"1.3.2-cibo.0","description":"Medusa Product module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"medusa-product-migrations-down":"dist/scripts/bin/run-migration-down.js","medusa-product-migrations-up":"dist/scripts/bin/run-migration-up.js","medusa-product-seed":"dist/scripts/bin/run-seed.js"},"repository":{"type":"git","url":"git+https://github.com/medusajs/medusa.git","directory":"packages/product"},"publishConfig":{"access":"public"},"author":{"name":"Medusa"},"license":"MIT","scripts":{"watch":"tsc --build --watch","watch:test":"tsc --build tsconfig.spec.json --watch","build:prod":"cross-env NODE_ENV=production yarn run build","build":"rimraf dist && tsc --build && tsc-alias -p tsconfig.json","test":"jest --runInBand --forceExit -- src/**/__tests__/**/*.ts","test:integration":"jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts","migration:generate":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate","migration:initial":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial","migration:create":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create","migration:up":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up","orm:cache:clear":" MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"},"devDependencies":{"@ivfuture/ecomm-test-utils":"1.2.3-cibo.0","@mikro-orm/cli":"5.7.12","@mikro-orm/migrations":"5.7.12","cross-env":"^5.2.1","jest":"^25.5.4","pg-god":"^1.0.12","rimraf":"^3.0.2","ts-jest":"^25.5.1","ts-node":"^10.9.1","tsc-alias":"^1.8.6","typescript":"^4.4.4"},"dependencies":{"@ivfuture/ecomm-modules-sdk":"1.3.2-cibo.0","@ivfuture/ecomm-types":"1.3.2-cibo.0","@ivfuture/ecomm-utils":"1.4.2-cibo.0","@mikro-orm/core":"5.7.12","@mikro-orm/migrations":"5.7.12","@mikro-orm/postgresql":"5.7.12","awilix":"^8.0.0","dotenv":"^16.1.4","lodash":"^4.17.21"},"gitHead":"b04c1bb9581701a7e835d447ac21469c47424ac5","readme":"# Product Module\n\nThe Product Module gives you access Products, Variants, Categories, and more through a standalone package that can be installed and run in Next.js functions and other Node.js compatible runtimes.\n\n[Product Module documentation](https://docs.medusajs.com/modules/product/serverless-module) | [Medusa Website](https://medusajs.com/) | [Medusa Repository](https://github.com/medusajs/medusa)\n\n> The Product Module is currently in beta. The beta version comes with limited functionality, primarily centered around retrieving products. In the official version, the product module will be fully-fledged and on par with the product functionality in our core package. \n\n---\n\n## Installing and using it in Next.js\n\n### Prerequisites\n\n- [Next.js project](https://nextjs.org/docs/pages/api-reference/create-next-app)\n\n1\\. Run the following command in your project\n\n```bash\nnpm install @medusajs/product\n```\n\n2\\. Add Database URL to your environment variables\n\n```bash\nPOSTGRES_URL=<DATABASE_URL>\n```\n\n3\\. Apply database migrations\n\n> If you are using an existing Medusa database, you can skip this step. This step is only applicable when the module is used in isolation from a full Medusa setup\n\nBefore you can run migrations, add in your `package.json` the following scripts:\n\n```json\n\"scripts\": {\n    //...other scripts\n    \"product:migrations:run\": \"medusa-product-migrations-up\",\n    \"product:seed\": \"medusa-product-seed ./seed-data.js\"\n},\n```\n\nThe first command runs the migrations, and the second command allows you to optionally seed your database with demo products.\n\nFor the second command to work, you'll need to add the dummy seed data to the root of your Next.js project:\n\n<details>\n  <summary>Seed file</summary>\n\n```js\nconst productCategoriesData = [\n  {\n    id: \"category-0\",\n    name: \"category 0\",\n    parent_category_id: null,\n  },\n  {\n    id: \"category-1\",\n    name: \"category 1\",\n    parent_category_id: \"category-0\",\n  },\n  {\n    id: \"category-1-a\",\n    name: \"category 1 a\",\n    parent_category_id: \"category-1\",\n  },\n  {\n    id: \"category-1-b\",\n    name: \"category 1 b\",\n    parent_category_id: \"category-1\",\n    is_internal: true,\n  },\n  {\n    id: \"category-1-b-1\",\n    name: \"category 1 b 1\",\n    parent_category_id: \"category-1-b\",\n  },\n]\n\nconst productsData = [\n  {\n    id: \"test-1\",\n    title: \"product 1\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-1\",\n        value: \"France\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-0\",\n      },\n    ],\n  },\n  {\n    id: \"test-2\",\n    title: \"product\",\n    status: \"published\",\n    descriptions: \"Lorem ipsum dolor sit amet, consectetur.\",\n    tags: [\n      {\n        id: \"tag-2\",\n        value: \"Germany\",\n      },\n    ],\n    categories: [\n      {\n        id: \"category-1\",\n      },\n    ],\n  },\n]\n\nconst variantsData = [\n  {\n    id: \"test-1\",\n    title: \"variant title\",\n    sku: \"sku 1\",\n    product: { id: productsData[0].id },\n    inventory_quantity: 10,\n  },\n  {\n    id: \"test-2\",\n    title: \"variant title\",\n    sku: \"sku 2\",\n    product: { id: productsData[1].id },\n    inventory_quantity: 10,\n  },\n]\n\nmodule.exports = {\n  productCategoriesData,\n  productsData,\n  variantsData,\n}\n```\n\n</details>\n\nThen run the first and optionally the second command to migrate and seed the database:\n\n```bash\nnpm run product:migrations:run\n# optionally\nnpm run product:seed\n```\n\n4\\. Adjust Next.js config\n\nNext.js uses Webpack for compilation. Since quite a few of the dependencies used by the product module are not Webpack optimized, you have to add the product module as an external dependency.\n\nTo do that, add the serverComponentsExternalPackages option in `next.config.js`:\n\n```js\n/** @type {import('next').NextConfig} */\n\nconst nextConfig = {\n  experimental: {\n    serverComponentsExternalPackages: [\"@medusajs/product\"],\n  },\n}\n\nmodule.exports = nextConfig\n```\n\n5\\. Create API Route\n\nThe product module is ready for use now! You can now use it to create API endpoints within your Next.js application.\n\nFor example, create the file `app/api/products/route.ts` with the following content:\n\n```ts\nimport { NextResponse } from \"next/server\"\n\nimport { initialize as initializeProductModule } from \"@medusajs/product\"\n\nexport async function GET(request: Request) {\n  const productService = await initializeProductModule()\n\n  const data = await productService.list()\n\n  return NextResponse.json({ products: data })\n}\n```\n\n6\\. Test your Next.js application\nTo test the endpoint you added, start your Next.js application with the following command:\n\n```\nnpm run dev\n```\n\nThen, open in your browser the URL `http://localhost:3000/api/products`. If you seeded your database with demo products, or you’re using a Medusa database schema, you’ll receive the products in your database. Otherwise, the request will return an empty array.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/medusajs/medusa/issues"},"homepage":"https://github.com/medusajs/medusa#readme","_id":"@ivfuture/ecomm-product@1.3.2-cibo.0","_nodeVersion":"16.20.1","_npmVersion":"lerna/8.1.2/node@v16.20.1+x64 (linux)","dist":{"integrity":"sha512-O5C/c19DJa+brnh2AyqgM1phiD9otFZNjHn5sh+vuTloQx82COEkqKX+DMRnvzI6zKY70m+vWQkTfhKN5FYWmg==","shasum":"d80777234c7882325770b5aae4d9c6d8466d8d97","tarball":"https://registry.npmjs.org/@ivfuture/ecomm-product/-/ecomm-product-1.3.2-cibo.0.tgz","fileCount":85,"unpackedSize":122411,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG0bkl1LVRzFcwyh0GmGFog4qWmcIjjJMhc4fnGSO1/+AiEAgdVU+Vg4N1YG/sEPcfQCSsM+QyLcMaEq6NdOh1KSU64="}]},"_npmUser":{"name":"ivfuture","email":"subscriptions@ivfuture.ro"},"directories":{},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecomm-product_1.3.2-cibo.0_1715673894446_0.5453744636848685"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-14T07:22:09.302Z","1.0.0":"2023-07-14T07:22:09.598Z","modified":"2024-05-14T08:04:54.772Z","1.0.1":"2023-09-08T08:08:16.514Z","1.1.0":"2023-11-17T07:47:35.065Z","1.1.1-lernatest.0":"2023-11-20T11:13:20.032Z","1.1.1":"2023-12-22T11:58:51.078Z","1.1.2-marketplace":"2024-01-17T14:37:24.053Z","1.1.3-marketplace":"2024-01-17T15:19:16.598Z","1.1.2":"2024-01-23T14:05:04.871Z","1.2.0":"2024-02-01T12:35:58.288Z","1.2.1-next.0":"2024-02-15T10:36:39.596Z","1.1.0-cibo.0":"2024-02-15T11:59:21.793Z","1.1.1-cibo.0":"2024-02-16T09:50:15.015Z","1.1.2-cibo.0":"2024-02-16T09:56:51.139Z","1.3.0":"2024-02-16T11:17:44.400Z","1.4.0":"2024-02-19T14:11:08.035Z","1.1.3-cibo.0":"2024-02-21T08:12:58.923Z","1.1.4-cibo.0":"2024-02-22T11:31:03.090Z","1.4.1-next.0":"2024-02-27T23:02:03.698Z","1.5.0":"2024-03-01T12:26:52.028Z","1.1.5-cibo.0":"2024-03-15T11:57:31.520Z","1.1.6-cibo.0":"2024-03-21T08:26:44.586Z","1.2.0-cibo.0":"2024-03-21T11:03:08.856Z","1.2.1-cibo.0":"2024-04-02T13:51:30.091Z","1.3.0-cibo.0":"2024-04-12T10:45:48.419Z","1.3.1-cibo.0":"2024-04-17T14:06:49.801Z","1.3.2-cibo.0":"2024-05-14T08:04:54.595Z"},"maintainers":[{"name":"ivfuture","email":"subscriptions@ivfuture.ro"}],"description":"Medusa Product module","homepage":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core#readme","repository":{"type":"git","url":"git+https://gitlab.com/iv_future/ivf-commerce/ecomm-core.git","directory":"packages/product"},"author":{"name":"Medusa"},"bugs":{"url":"https://gitlab.com/iv_future/ivf-commerce/ecomm-core/issues"},"license":"MIT","readme":"","readmeFilename":""}