{"_id":"@stripe/sync-engine","_rev":"6-d820537601bf8149390e2269adb0077e","name":"@stripe/sync-engine","dist-tags":{"latest":"1.0.32"},"versions":{"0.1.1":{"name":"@stripe/sync-engine","version":"0.1.1","keywords":["stripe","postgres","sync","webhooks","supabase","billing","database","typescript"],"author":{"name":"Stripe","email":"https://stripe.com/"},"_id":"@stripe/sync-engine@0.1.1","maintainers":[{"name":"kdhillon-stripe","email":"kdhillon@stripe.com"}],"homepage":"https://github.com/stripe/sync-engine#readme","bugs":{"url":"https://github.com/stripe/sync-engine/issues"},"bin":{"sync-engine":"dist/cli/index.js"},"dist":{"shasum":"855f54a7edeffcd3eb13537edf0ebb33aa740a9c","tarball":"https://registry.npmjs.org/@stripe/sync-engine/-/sync-engine-0.1.1.tgz","fileCount":95,"integrity":"sha512-jwRR74+uEocZk8dzDKtbL+yc9/yKUp/DZSTQI3px7Ae8dJRWcDz9rXah4NtuQHLIUlQix/6sLppl5opnSrt51g==","signatures":[{"sig":"MEUCIQDhIOS2W+yg4mKqUOzHIz6Udfu8Qdq0JmXAzFSJyBtC+wIgUVmcRUjmYTc+PLGIICdhjhArbBhNFEGOnhOG1iPmCsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23947887},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/lib.d.ts","import":"./dist/cli/lib.js","require":"./dist/cli/lib.cjs"},"./supabase":{"types":"./dist/supabase/index.d.ts","import":"./dist/supabase/index.js","require":"./dist/supabase/index.cjs"}},"gitHead":"112b6ea8c33c6dbe3a709a0be0d36ed35dcb1154","private":false,"scripts":{"lint":"eslint src --ext .ts","sync":"pnpm run build && node dist/cli/index.js sync","test":"vitest","build":"tsup src/index.ts src/supabase/index.ts src/cli/index.ts src/cli/lib.ts --format esm,cjs --dts --shims && cp -r src/database/migrations dist/migrations","clean":"rimraf dist","prebuild":"npm run clean && npm run build:functions","test:e2e":"pnpm run build && vitest run --config vitest.e2e.config.ts && vitest run --config vitest.e2e.webhook.config.ts","build:functions":"tsx scripts/build-functions.ts && prettier --write src/database/migrations-embedded.ts","test:integration":"vitest run src/tests/integration/","generate:sigma-schema":"tsx src/sigma/schema/fetch-schema.ts"},"_npmUser":{"name":"kdhillon-stripe","email":"kdhillon@stripe.com"},"repository":{"url":"git+https://github.com/stripe/sync-engine.git","type":"git"},"_npmVersion":"11.6.0","description":"Sync your Stripe data to your Postgres database.","directories":{},"_nodeVersion":"24.9.0","dependencies":{"pg":"^8.16.3","ws":"^8.18.0","chalk":"^5.3.0","yesql":"^7.0.0","dotenv":"^16.4.7","stripe":"^17.7.0","esbuild":"^0.27.3","express":"^4.18.2","inquirer":"^12.3.0","commander":"^12.1.0","papaparse":"5.4.1","@ngrok/ngrok":"^1.4.1","pg-node-migrations":"0.0.8","supabase-management-js":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.2.4","esbuild":"^0.27.2","@types/pg":"^8.15.5","@types/ws":"^8.5.13","@vitest/ui":"^4.0.9","@types/node":"^24.10.1","@types/yesql":"^4.1.4","@types/express":"^4.17.21","@types/inquirer":"^9.0.7","@types/papaparse":"5.3.16"},"_npmOperationalInternal":{"tmp":"tmp/sync-engine_0.1.1_1773696771338_0.5544967253855155","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@stripe/sync-engine","version":"0.2.5","keywords":["stripe","sync","database","typescript"],"author":{"name":"Stripe","email":"https://stripe.com/"},"_id":"@stripe/sync-engine@0.2.5","maintainers":[{"name":"kdhillon-stripe","email":"kdhillon@stripe.com"},{"name":"tonyxiao","email":"tx@stripe.com"}],"homepage":"https://github.com/stripe/sync-engine#readme","bugs":{"url":"https://github.com/stripe/sync-engine/issues"},"bin":{"sync-engine":"dist/cli/index.js"},"dist":{"shasum":"6da4478d2738eb9105c9d61dccd9da41398a5a0b","tarball":"https://registry.npmjs.org/@stripe/sync-engine/-/sync-engine-0.2.5.tgz","fileCount":125,"integrity":"sha512-bargYIvLXSZxYqXsN0/nryVjD8kZ8Ho3GBEF6OW+oRtMPs92HO0/1E6b0wYQ0hJVv3YKC/LFv6a78GGFLwZBWQ==","signatures":[{"sig":"MEUCIDRYHtF7c0TGJ0n4NgLtm/PHCohzAxZqj617a/iXTaisAiEAkexoj0iLtKYe3PU+16RHDcuz/RlXSwGCa5h0K4pHjGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522279},"type":"module","_from":"file:stripe-sync-engine-0.2.5.tgz","exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js"},"./api":{"bun":"./src/api/app.ts","types":"./dist/api/app.d.ts","import":"./dist/api/app.js"},"./cli":{"bun":"./src/cli/command.ts","types":"./dist/cli/command.d.ts","import":"./dist/cli/command.js"},"./api/openapi-utils":{"bun":"./src/api/openapi-utils.ts","types":"./dist/api/openapi-utils.d.ts","import":"./dist/api/openapi-utils.js"}},"private":false,"scripts":{"dev":"LOG_LEVEL=${LOG_LEVEL:-trace} LOG_PRETTY=${LOG_PRETTY:-true} DANGEROUSLY_VERBOSE_LOGGING=true pnpm x:watch src/api/index.ts","test":"vitest run","build":"tsc","x:watch":"sh -c 'if command -v bun > /dev/null 2>&1; then bun --watch \"$@\"; else tsx --watch --conditions bun \"$@\"; fi' --","generate:types":"openapi-typescript src/__generated__/openapi.json -o src/__generated__/openapi.d.ts"},"_npmUser":{"name":"tonyxiao","email":"tx@stripe.com"},"_resolved":"/tmp/tmp.hle9GseQjN/stripe-sync-engine-0.2.5.tgz","_integrity":"sha512-bargYIvLXSZxYqXsN0/nryVjD8kZ8Ho3GBEF6OW+oRtMPs92HO0/1E6b0wYQ0hJVv3YKC/LFv6a78GGFLwZBWQ==","repository":{"url":"git+https://github.com/stripe/sync-engine.git","type":"git"},"_npmVersion":"11.11.0","description":"Stripe Sync Engine — sync Stripe data to Postgres","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.16.3","ws":"^8.18.0","zod":"^4.3.6","hono":"^4","pino":"^10","citty":"^0.1.6","dotenv":"^16.4.7","googleapis":"^148.0.0","pino-pretty":"^13","openapi-fetch":"^0.17.0","@hono/node-server":"^1","@stripe/sync-ts-cli":"0.2.5","@stripe/sync-protocol":"0.2.5","@scalar/hono-api-reference":"^0.6","@stripe/sync-source-stripe":"0.2.5","@stripe/sync-util-postgres":"0.2.5","@stripe/sync-state-postgres":"0.2.5","@stripe/sync-hono-zod-openapi":"0.2.5","@stripe/sync-destination-postgres":"0.2.5","@stripe/sync-integration-supabase":"0.2.5","@stripe/sync-destination-google-sheets":"0.2.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/pg":"^8.15.4","@types/node":"^24.10.1","openapi-typescript":"^7.13.0","@hyperjump/json-schema":"^1.17.5"},"_npmOperationalInternal":{"tmp":"tmp/sync-engine_0.2.5_1776142410467_0.9197849992507521","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@stripe/sync-engine","version":"1.0.32","private":false,"description":"Sync Stripe data to Postgres","type":"module","main":"./dist/index.cjs","types":"./dist/index.d.ts","bin":{"sync-engine":"dist/cli/index.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./supabase":{"types":"./dist/supabase/index.d.ts","import":"./dist/supabase/index.js","require":"./dist/supabase/index.cjs"},"./cli":{"types":"./dist/cli/lib.d.ts","import":"./dist/cli/lib.js","require":"./dist/cli/lib.cjs"}},"scripts":{"clean":"rimraf dist","prebuild":"npm run clean && npm run build:functions","build:functions":"tsx scripts/build-functions.ts && prettier --write src/database/migrations-embedded.ts","build":"tsup src/index.ts src/supabase/index.ts src/cli/index.ts src/cli/lib.ts --format esm,cjs --dts --shims && cp -r src/database/migrations dist/migrations","lint":"eslint src --ext .ts","test":"vitest","test:integration":"vitest run src/tests/integration/","test:e2e":"pnpm run build && vitest run --config vitest.e2e.config.ts && vitest run --config vitest.e2e.webhook.config.ts","sync":"pnpm run build && node dist/cli/index.js sync","dev":"tsup src/index.ts src/supabase/index.ts src/cli/index.ts src/cli/lib.ts --format esm --shims --watch --onSuccess 'cp -r src/database/migrations dist/migrations && node dist/cli/index.js sync'","generate:sigma-schema":"tsx src/sigma/schema/fetch-schema.ts"},"dependencies":{"@ngrok/ngrok":"^1.4.1","chalk":"^5.3.0","commander":"^12.1.0","dotenv":"^16.4.7","express":"^4.18.2","inquirer":"^12.3.0","papaparse":"5.4.1","pg":"^8.16.3","stripe":"^17.7.0","supabase-management-js":"^2.0.2","ws":"^8.18.0","yesql":"^7.0.0"},"devDependencies":{"@types/express":"^4.17.21","@types/inquirer":"^9.0.7","@types/node":"^24.10.1","@types/papaparse":"5.3.16","@types/pg":"^8.15.5","@types/ws":"^8.5.13","@types/yesql":"^4.1.4","@vitest/ui":"^4.0.9","esbuild":"^0.27.2","tsx":"^4.19.2","vitest":"^3.2.4"},"repository":{"type":"git","url":"git+https://github.com/stripe/sync-engine.git"},"homepage":"https://github.com/stripe/sync-engine#readme","bugs":{"url":"https://github.com/stripe/sync-engine/issues"},"keywords":["stripe","postgres","sync","webhooks","supabase","billing","database","typescript"],"author":{"name":"Stripe","email":"https://stripe.com/"},"gitHead":"f6747ea17579980dd15b219b939bc892d07711fe","_id":"@stripe/sync-engine@1.0.32","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-c1Ht5A7Jl0UWDwDr9tzIcpusr3B02l868UT3qgSuFuwVoTyvnX+G8h4n6rJ9hTKD07ktKA2MLL8KnXt1S1wUzA==","shasum":"ac5cc97cd88bfa510f17b5a489e2cf19e6f4de34","tarball":"https://registry.npmjs.org/@stripe/sync-engine/-/sync-engine-1.0.32.tgz","fileCount":29,"unpackedSize":27597034,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJlSmVLe9gpu85YF4aba6GZIMozq21DFU7wcX7UqAjewIhAKEQMofRBWWczBEQXO2Yx03ECmU4TKvWD91934nd4JFl"}]},"_npmUser":{"name":"kdhillon-stripe","email":"kdhillon@stripe.com"},"directories":{},"maintainers":[{"name":"kdhillon-stripe","email":"kdhillon@stripe.com"},{"name":"tonyxiao","email":"tx@stripe.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sync-engine_1.0.32_1781812718739_0.58693771833556"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T21:30:31.185Z","modified":"2026-06-18T19:58:39.079Z","0.1.0":"2026-03-16T21:30:31.548Z","0.1.1":"2026-03-16T21:32:51.567Z","0.2.5":"2026-04-14T04:53:30.629Z","1.0.32":"2026-06-18T19:58:38.930Z"},"bugs":{"url":"https://github.com/stripe/sync-engine/issues"},"author":{"name":"Stripe","email":"https://stripe.com/"},"homepage":"https://github.com/stripe/sync-engine#readme","keywords":["stripe","postgres","sync","webhooks","supabase","billing","database","typescript"],"repository":{"type":"git","url":"git+https://github.com/stripe/sync-engine.git"},"description":"Sync Stripe data to Postgres","maintainers":[{"name":"kdhillon-stripe","email":"kdhillon@stripe.com"},{"name":"tonyxiao","email":"tx@stripe.com"}],"readme":"# Stripe Sync Engine\n\n![GitHub License](https://img.shields.io/github/license/stripe-experiments/sync-engine)\n![NPM Version](https://img.shields.io/npm/v/@stripe%2Fsync-engine)\n\nSync Stripe data into PostgreSQL from the command line.\n\n## Install\n\n```sh\nnpm install @stripe/sync-engine stripe\n# or\npnpm add @stripe/sync-engine stripe\n# or\nyarn add @stripe/sync-engine stripe\n```\n\n## Run Sync (CLI)\n\nSet environment variables:\n\n```sh\nexport STRIPE_API_KEY=sk_live_xxx\nexport DATABASE_URL=postgres://...\n```\n\nThen run either command:\n\n```sh\n# 1) Sync everything\nnpx @stripe/sync-engine sync \\\n  --stripe-key $STRIPE_API_KEY \\\n  --database-url $DATABASE_URL\n\n# 2) Sync one object type\nnpx @stripe/sync-engine sync customer \\\n  --stripe-key $STRIPE_API_KEY \\\n  --database-url $DATABASE_URL\n```\n\n> **Note:** `sync` automatically applies any pending database migrations before syncing data.\n\n## Supported Objects\n\n- `all`\n- `charge`\n- `checkout_sessions`\n- `credit_note`\n- `customer`\n- `customer_with_entitlements`\n- `dispute`\n- `early_fraud_warning`\n- `invoice`\n- `payment_intent`\n- `payment_method`\n- `plan`\n- `price`\n- `product`\n- `refund`\n- `setup_intent`\n- `subscription`\n- `subscription_schedules`\n- `tax_id`\n\n## License\n\nSee [LICENSE](LICENSE) file.\n\n## Contributing\n\nIssues and pull requests are welcome at [https://github.com/stripe-experiments/sync-engine](https://github.com/stripe-experiments/sync-engine).\n","readmeFilename":"README.md"}