{"_id":"@appapprove/shopify-check","_rev":"2-d99976082f52de5dcf23cf711c62845b","name":"@appapprove/shopify-check","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@appapprove/shopify-check","version":"0.1.0","keywords":["shopify","shopify-app","shopify-app-store","compliance","linter","checker","appapprove"],"author":{"name":"AppApprove"},"license":"MIT","_id":"@appapprove/shopify-check@0.1.0","maintainers":[{"name":"isoledex","email":"hueseyin.aras1@gmail.com"}],"homepage":"https://appapprove.com","bugs":{"url":"https://github.com/ArasHuseyin/shopify-builder/issues"},"bin":{"shopify-check":"dist/cli.js"},"dist":{"shasum":"3c9bc810717a574f4e6d450a2f37bb17acf2f767","tarball":"https://registry.npmjs.org/@appapprove/shopify-check/-/shopify-check-0.1.0.tgz","fileCount":3,"integrity":"sha512-hRGhGusQ/jrGdqO8XAUlG8lTgJLaNEKboeqofUHSMD63jCA8Cx549A8FoC/tD4rP39MFoGH+TYAd6SqLrhaunw==","signatures":[{"sig":"MEUCIBg9CWC44nBCu/8X8qkyKgAslTEd2VJzvPQm9vo7awctAiEA4lUvBNzbaBu9lJvWIEw4qkmOR2i3rYyB512R0h7vKOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211076},"type":"module","_from":"file:appapprove-shopify-check-0.1.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"tsx watch src/cli.ts","build":"tsup","start":"tsx src/cli.ts","pack:test":"pnpm build && npm pack","typecheck":"tsc --noEmit"},"_npmUser":{"name":"isoledex","email":"hueseyin.aras1@gmail.com"},"_resolved":"C:\\Users\\tom\\AppData\\Local\\Temp\\931fd0e01243fab68d082d12a50e32f9\\appapprove-shopify-check-0.1.0.tgz","_integrity":"sha512-hRGhGusQ/jrGdqO8XAUlG8lTgJLaNEKboeqofUHSMD63jCA8Cx549A8FoC/tD4rP39MFoGH+TYAd6SqLrhaunw==","repository":{"url":"git+https://github.com/ArasHuseyin/shopify-builder.git","type":"git","directory":"apps/checker-cli"},"_npmVersion":"10.9.4","description":"Pre-submission compliance checker for Shopify apps. Surfaces 20+ App Store review failures locally — API scopes, GDPR webhooks, App Bridge, billing, security headers, performance budget, and more.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","yaml":"^2.6.1","typescript":"^5.6.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","@types/node":"^22.7.0","@shopify-builder/checker-shopify":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/shopify-check_0.1.0_1778491449156_0.5709045853574257","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@appapprove/shopify-check","version":"0.1.1","description":"Pre-submission compliance checker for Shopify apps. Surfaces 20+ App Store review failures locally — API scopes, GDPR webhooks, App Bridge, billing, security headers, performance budget, and more.","keywords":["shopify","shopify-app","shopify-app-store","compliance","linter","checker","appapprove"],"license":"MIT","author":{"name":"AppApprove"},"homepage":"https://appapprove.com","repository":{"type":"git","url":"git+https://github.com/ArasHuseyin/shopify-builder.git","directory":"apps/checker-cli"},"type":"module","bin":{"shopify-check":"dist/cli.js"},"engines":{"node":">=20"},"dependencies":{"typescript":"^5.6.3","yaml":"^2.6.1","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.7.0","tsup":"^8.3.5","tsx":"^4.19.2","@shopify-builder/checker-shopify":"0.0.1"},"publishConfig":{"access":"public"},"scripts":{"dev":"tsx watch src/cli.ts","start":"tsx src/cli.ts","typecheck":"tsc --noEmit","build":"tsup","pack:test":"pnpm build && npm pack"},"_id":"@appapprove/shopify-check@0.1.1","bugs":{"url":"https://github.com/ArasHuseyin/shopify-builder/issues"},"_integrity":"sha512-hgJMJIvky9USkP0mETDnY85uqyftrjmWJBYm5xmKtRAKmfuhcisQDOuTv1vXVt+GGvmeaHyCiQ87HwivS1sLmg==","_resolved":"C:\\Users\\tom\\AppData\\Local\\Temp\\4d96644e866005af3a93e63710447393\\appapprove-shopify-check-0.1.1.tgz","_from":"file:appapprove-shopify-check-0.1.1.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-hgJMJIvky9USkP0mETDnY85uqyftrjmWJBYm5xmKtRAKmfuhcisQDOuTv1vXVt+GGvmeaHyCiQ87HwivS1sLmg==","shasum":"7c1cf63b832d1dc6a361504e4b5f3dd95ff17f67","tarball":"https://registry.npmjs.org/@appapprove/shopify-check/-/shopify-check-0.1.1.tgz","fileCount":3,"unpackedSize":212238,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDXawC/WUIFaU+T1v1ez1ca9qTODYAu4etP77a3FiKt2QIhAIOYyCXucz8UEg98GFIhKOLx34ZUwZJSFo02iLowSlPv"}]},"_npmUser":{"name":"isoledex","email":"hueseyin.aras1@gmail.com"},"directories":{},"maintainers":[{"name":"isoledex","email":"hueseyin.aras1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shopify-check_0.1.1_1778491920916_0.16197396728130964"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T09:24:09.059Z","modified":"2026-05-11T09:32:01.262Z","0.1.0":"2026-05-11T09:24:09.284Z","0.1.1":"2026-05-11T09:32:01.127Z"},"bugs":{"url":"https://github.com/ArasHuseyin/shopify-builder/issues"},"author":{"name":"AppApprove"},"license":"MIT","homepage":"https://appapprove.com","keywords":["shopify","shopify-app","shopify-app-store","compliance","linter","checker","appapprove"],"repository":{"type":"git","url":"git+https://github.com/ArasHuseyin/shopify-builder.git","directory":"apps/checker-cli"},"description":"Pre-submission compliance checker for Shopify apps. Surfaces 20+ App Store review failures locally — API scopes, GDPR webhooks, App Bridge, billing, security headers, performance budget, and more.","maintainers":[{"name":"isoledex","email":"hueseyin.aras1@gmail.com"}],"readme":"# @appapprove/shopify-check\n\nPre-submission compliance checker for Shopify apps. Surfaces 20+ App Store review failures locally before you submit — saves the typical 1-2 week back-and-forth with Shopify reviewers.\n\n## Install\n\n```bash\nnpm install -g @appapprove/shopify-check\n```\n\nRequires Node.js 20 or newer.\n\n## Usage\n\nCheck the app in the current directory:\n\n```bash\nshopify-check\n```\n\nCheck a specific app:\n\n```bash\nshopify-check /path/to/your/shopify-app\n```\n\nJSON output (pipeable):\n\n```bash\nshopify-check --json\n```\n\nOptional flags:\n\n- `--app-url <url>` — your deployed app URL (enables HTTPS-only + security-headers checks)\n- `--privacy-policy <url>` — your privacy policy URL (enables privacy-policy presence check)\n- `--demo-store <url>` — your Shopify demo-store URL (enables demo-store reachability check)\n\n## What it checks\n\n- **API scopes** — declared scopes vs actual API calls in your code\n- **GDPR webhooks** — `customers/data_request`, `customers/redact`, `shop/redact` handlers present + return 200\n- **App Bridge** — embedded admin uses App Bridge correctly (no host param leaks, session token usage)\n- **Billing API** — recurring app subscriptions wired correctly with Shopify's Billing API\n- **GraphQL API compliance** — supported API versions, no deprecated query patterns\n- **HTTPS-only** — all external URLs use HTTPS\n- **Security headers** — CSP, frame-ancestors, X-Content-Type-Options\n- **Performance budget** — bundle size + loading-time thresholds\n- **Auto-populate forms** — checkout-extension forms don't auto-fill PII\n- **Privacy policy** — URL reachable + non-empty\n- **Demo store** — URL reachable from Shopify's reviewer IPs\n- **Theme cleanup** — uninstall flow removes injected theme assets\n- **Theme extension quality** — theme-app-extension Liquid blocks have required attributes\n- **Shopify Function quality** — Functions return well-formed responses + handle edge cases\n- **Merchant grade Function** — Functions perform under high cart-line load\n- **Trust asset checklist** — required listing assets (icon, screenshots, support email)\n- **Listing copy** — name, summary, descriptions match App Store guidelines\n- **CI workflow** — your `.github/workflows/deploy.yml` deploys correctly\n- **Import consistency** — no broken imports between scaffold + worker entry\n- **Install flow** — OAuth install URL works + scopes get accepted\n- **Screenshot quality** — listing screenshots meet Shopify's resolution + aspect-ratio guidelines\n\n## Exit codes\n\n- `0` — all checks passed (or only warnings, depending on severity threshold)\n- `1` — one or more `error` severity findings (blocks submission)\n- `2` — invalid arguments / cannot read repo\n\n## How is this different from `shopify app dev` lint?\n\nShopify's CLI lints the *scaffold* — package layout, config files, declared bindings. `shopify-check` lints the *App Store review surface* — what reviewers will actually fail you on. Designed to be run BEFORE you submit, not just during development.\n\n## License\n\nMIT — built and maintained by [AppApprove](https://appapprove.com).\n\n## Issues / contributions\n\n[github.com/ArasHuseyin/shopify-builder](https://github.com/ArasHuseyin/shopify-builder) — issues + PRs welcome.\n","readmeFilename":"README.md"}