What this result means—and what it does not.
The rules are explicit, versioned, and attached to every report. The uncertainty is explicit too.
Surface-aware limits
For API 2025-10 and later, covered Shopify UI extensions use a 64 KB compressed JavaScript limit. Full-page customer account extensions use 128 KB. The limit is enforced per extension at deploy.
| Surface | Compressed limit |
|---|---|
| Checkout UI | 64 KB |
| Customer account UI | 64 KB |
| Full-page customer account | 128 KB |
| Admin UI | 64 KB |
| POS UI | 64 KB |
Sources checked 2026-09-22: Optimize bundle size ↗ · Exception guidance ↗
Four outcomes
- PASS
- A measured or conservatively estimated result is below the policy limit without a high-impact blocker.
- OPTIMIZE
- The result is near or over the limit, an estimate overlaps the limit, the API is below the readiness target, or avoidable weight remains.
- EXCEPTION-READY
- A supplied minified bundle measures over the limit and the metafile shows no automated avoidable-weight blocker. This is evidence readiness, not approval.
- INVALID INPUT
- The JSON does not contain the esbuild `inputs` and `outputs` structure or usable output byte counts.
Explainable, path-based signals
The analyzer attributes output bytes from the esbuild metafile, then checks module paths and package layouts for known signals. Current checks cover React / React DOM, Moment, broad Lodash, Axios, Crypto-JS, Apollo Client, duplicate package versions, translation paths, large JSON/static-data paths, and unusually large dependencies.
Estimated savings are ranges, not promises. Tree-shaking, minification, side effects, shared code, and Shopify's deploy compression can change the realized result.
The file boundary is the browser tab.
- Read: File API reads the selected metafile and optional bundle in browser memory.
- Network: No analysis request, model request, or file upload is made.
- Storage: Only the last sanitized result and anonymous product event names are stored in localStorage.
- Export: Absolute home/project prefixes are replaced with `[project]`. Bundle contents are omitted.
- Telemetry: When product analytics is configured, anonymous event names and coarse result categories may be sent to the analytics service. Filenames, paths, source text, bundle contents, and exported reports are never included.
Independent preflight, not Shopify approval.
Local gzip is a repeatable comparison signal, but Shopify can use different validation compression and deploy-time processing. A PASS cannot guarantee deployment. EXCEPTION-READY means the automated checklist is materially complete; Shopify reviews requests case by case and can still deny them.
This product is not affiliated with, endorsed by, or certified by Shopify. “Shopify” is used only to identify the platform and public developer policy being analyzed.