{"_id":"@chrono-os/instagram-feed","_rev":"3-623f2a76be63687ce4739bebb5ffa94e","name":"@chrono-os/instagram-feed","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@chrono-os/instagram-feed","version":"0.1.0","keywords":["chrono-os","instagram","graph-api","feed","react","fastify"],"license":"UNLICENSED","_id":"@chrono-os/instagram-feed@0.1.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/instagram-feed#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/instagram-feed/issues"},"dist":{"shasum":"9cf3383a7369abed741bb6f2dc3ffc10645ef22a","tarball":"https://registry.npmjs.org/@chrono-os/instagram-feed/-/instagram-feed-0.1.0.tgz","fileCount":23,"integrity":"sha512-NVJM2geR3+C8UAtdhWAEf4bb+vZzWge+aEPH1oVAYh7vwgFkQ/gNDYh/eNjDRDKhBMWSurx+0E0XPI8cd3Zdpg==","signatures":[{"sig":"MEUCIEZ0jdCEeG4PYHUxay+kPA3atgQ+xfxmQ1L6Ir8EPiAtAiEA1tziZVeJf91++YRB4y0TfblbFDIfXubF8FnQHr8Cwzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59176},"main":"./dist/fastify/index.cjs","type":"module","types":"./dist/fastify/index.d.ts","module":"./dist/fastify/index.js","engines":{"node":">=20"},"exports":{"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js","require":"./dist/schema/index.cjs"},"./fastify":{"types":"./dist/fastify/index.d.ts","import":"./dist/fastify/index.js","require":"./dist/fastify/index.cjs"},"./prisma-template":"./prisma/schema.template.prisma"},"gitHead":"581614528fd4536ff1d377e70e3154585d57e6c4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/instagram-feed.git","type":"git"},"_npmVersion":"11.9.0","description":"Instagram Graph API wrapper + cache local em InstagramPost (Prisma) + endpoint /instagram/posts + componente React InstagramSection. Reaproveitável em sites que mostram feed IG sem chamar Graph API no browser","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","react":"^19.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"^5.4.0","@types/react":"^19.0.0"},"peerDependencies":{"zod":"^3.23.0","react":"^18.0.0 || ^19.0.0","fastify":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/instagram-feed_0.1.0_1779797750218_0.9917693376278403","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@chrono-os/instagram-feed","version":"0.2.0","keywords":["chrono-os","instagram","graph-api","feed","react","fastify"],"license":"UNLICENSED","_id":"@chrono-os/instagram-feed@0.2.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/instagram-feed#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/instagram-feed/issues"},"dist":{"shasum":"63c58393c85fc93b3f7e313fdd050269daf5e6b3","tarball":"https://registry.npmjs.org/@chrono-os/instagram-feed/-/instagram-feed-0.2.0.tgz","fileCount":23,"integrity":"sha512-rXMMfS7mvc7X6UQsUk+jYLRx0I8x/skszjriYY2LvFGpgP3sFmmC5w1BxRXU95kB/B0eypio43+r3tlk/+z4Vg==","signatures":[{"sig":"MEQCIFs7ImusJsllHfbTGvdQD7UK5qWPZPVtVhaz2MTox66ZAiAdcu+dbwuV3dbK/nqFOTyBmRioyOK+1X7VsxDFLPdC3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60973},"main":"./dist/fastify/index.cjs","type":"module","types":"./dist/fastify/index.d.ts","module":"./dist/fastify/index.js","engines":{"node":">=20"},"exports":{"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js","require":"./dist/schema/index.cjs"},"./fastify":{"types":"./dist/fastify/index.d.ts","import":"./dist/fastify/index.js","require":"./dist/fastify/index.cjs"},"./prisma-template":"./prisma/schema.template.prisma"},"gitHead":"eedba27678ec77145b07a350cd76787fe8c0ab23","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/instagram-feed.git","type":"git"},"_npmVersion":"11.9.0","description":"Instagram Graph API wrapper + cache local em InstagramPost (Prisma) + endpoint /instagram/posts + componente React InstagramSection. Reaproveitável em sites que mostram feed IG sem chamar Graph API no browser","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.0","tsup":"^8.0.0","react":"^19.0.0","vitest":"^1.5.0","fastify":"^5.0.0","typescript":"^5.4.0","@types/react":"^19.0.0"},"peerDependencies":{"zod":"^3.23.0","react":"^18.0.0 || ^19.0.0","fastify":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/instagram-feed_0.2.0_1788409482096_0.06505195511723527","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@chrono-os/instagram-feed","version":"0.2.1","description":"Instagram Graph API wrapper + cache local em InstagramPost (Prisma) + endpoint /instagram/posts + componente React InstagramSection. Reaproveitável em sites que mostram feed IG sem chamar Graph API no browser","type":"module","main":"./dist/fastify/index.cjs","module":"./dist/fastify/index.js","types":"./dist/fastify/index.d.ts","exports":{"./fastify":{"import":{"types":"./dist/fastify/index.d.ts","default":"./dist/fastify/index.js"},"require":{"types":"./dist/fastify/index.d.cts","default":"./dist/fastify/index.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react/index.cjs"}},"./schema":{"import":{"types":"./dist/schema/index.d.ts","default":"./dist/schema/index.js"},"require":{"types":"./dist/schema/index.d.cts","default":"./dist/schema/index.cjs"}},"./prisma-template":"./prisma/schema.template.prisma"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"repository":{"type":"git","url":"git+https://github.com/SugarHoneyIceTea/instagram-feed.git"},"license":"UNLICENSED","scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","typecheck":"tsc --noEmit"},"peerDependencies":{"fastify":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0","react":"^18.0.0 || ^19.0.0","zod":"^3.23.0"},"peerDependenciesMeta":{"react":{"optional":true}},"devDependencies":{"tsup":"^8.0.0","typescript":"5.9.3","vitest":"^1.5.0","fastify":"^5.0.0","react":"19.2.8","zod":"^3.23.0","@types/react":"19.2.18"},"engines":{"node":">=20"},"keywords":["chrono-os","instagram","graph-api","feed","react","fastify"],"gitHead":"b5793b65ab2988460df7413dc1c8936d4e5078ed","_id":"@chrono-os/instagram-feed@0.2.1","bugs":{"url":"https://github.com/SugarHoneyIceTea/instagram-feed/issues"},"homepage":"https://github.com/SugarHoneyIceTea/instagram-feed#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-JRwVFD/XjKD6p7lT1Lz3oiv1g5sPp1bcx/BGr/WPBAGzL8au/8uoV2co4OLUkRKX3Y114ol54XGEn0v05Xkylg==","shasum":"1aaf7c09fcc47714e80d4c42df3a1173b047808f","tarball":"https://registry.npmjs.org/@chrono-os/instagram-feed/-/instagram-feed-0.2.1.tgz","fileCount":23,"unpackedSize":61717,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFygyG9w/6qUa1wt6Z6PCqW1rzhXKab/DO4uQeDC7UZTAiEA1thB/97DrA7xXH8bXKcwAkQxo+liNRFsQGOBov3dKF0="}]},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"directories":{},"maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/instagram-feed_0.2.1_1789076709293_0.37816400781297554"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-26T12:15:50.024Z","modified":"2026-09-10T21:45:09.606Z","0.1.0":"2026-05-26T12:15:50.407Z","0.2.0":"2026-09-03T04:24:42.224Z","0.2.1":"2026-09-10T21:45:09.434Z"},"bugs":{"url":"https://github.com/SugarHoneyIceTea/instagram-feed/issues"},"license":"UNLICENSED","homepage":"https://github.com/SugarHoneyIceTea/instagram-feed#readme","keywords":["chrono-os","instagram","graph-api","feed","react","fastify"],"repository":{"type":"git","url":"git+https://github.com/SugarHoneyIceTea/instagram-feed.git"},"description":"Instagram Graph API wrapper + cache local em InstagramPost (Prisma) + endpoint /instagram/posts + componente React InstagramSection. Reaproveitável em sites que mostram feed IG sem chamar Graph API no browser","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"readme":"# @chrono-os/instagram-feed\n\nInstagram Graph API wrapper + cache local em `InstagramPost` (Prisma) + endpoint `/instagram/posts` (serve do cache, nunca chama Graph API no browser) + componente React `<InstagramSection />`. Reaproveitável em sites que mostram feed IG sem expor token.\n\n## Status\n\n🚧 **0.1.0 em construção** — código será extraído do SVA na Fase 1 da Trilha C.\n\n## Install\n\n```bash\nyarn add @chrono-os/instagram-feed\n```\n\nAplicar template Prisma:\n```bash\ncat node_modules/@chrono-os/instagram-feed/prisma/schema.template.prisma >> prisma/schema.prisma\nyarn prisma migrate dev --name add_instagram_feed\n```\n\n## Uso\n\n```ts\n// Backend (Fastify)\nimport { instagramFeedPlugin } from '@chrono-os/instagram-feed/fastify'\n\nawait server.register(instagramFeedPlugin, {\n  accessToken: process.env.IG_ACCESS_TOKEN,\n  businessAccountId: process.env.IG_BUSINESS_ACCOUNT_ID,\n  refreshIntervalHours: 24,\n})\n\n// Frontend (Next.js App Router)\nimport { InstagramSection } from '@chrono-os/instagram-feed/react'\n\nexport default function Home() {\n  return <InstagramSection apiUrl=\"/api/v1/instagram/posts\" limit={6} />\n}\n```\n\n## API\n\n- **`instagramFeedPlugin(opts)`** — Fastify plugin\n- **`refreshInstagramPosts()`** — service de refresh (chamável via cron/worker)\n- **`<InstagramSection />`** — componente React (peer-dep react opcional)\n\n## Bootstrap mode\n\nSem `IG_ACCESS_TOKEN`: endpoint retorna cache vazio + warn. App não crasha.\n\n## Versionamento\n\nSemVer. Tag `v*` → npmjs.org.\n\n## Origem\n\nExtraído de `apps/api/src/services/instagram.service.ts`, `apps/api/src/routes/instagram.ts` do SVA + componente `InstagramSection` (se houver) do `apps/web/components/`.\n","readmeFilename":"README.md"}