@proappstore/compliance 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,14 +14,32 @@ for (const r of results) {
|
|
|
14
14
|
|
|
15
15
|
## Checks
|
|
16
16
|
|
|
17
|
+
`runChecks(dir)` (and `runChecksFromFiles(map)`) runs the full suite below.
|
|
18
|
+
There is also a separate live-URL audit (`auditLive`, exported from
|
|
19
|
+
`@proappstore/compliance` — a subset re-run against the deployed app).
|
|
20
|
+
|
|
17
21
|
| Name | What it checks | Status on fail |
|
|
18
22
|
|---|---|---|
|
|
19
|
-
| `
|
|
23
|
+
| `MIT License` | A `LICENSE` file exists and is the MIT license | **fail** |
|
|
24
|
+
| `No .env.production` | No committed `.env.production` | **fail** |
|
|
20
25
|
| `No template placeholders` | No file still contains `APPNAME` | **fail** |
|
|
21
|
-
| `No tracking SDKs` | No reference to google-analytics
|
|
26
|
+
| `No tracking SDKs` | No reference to any of the known trackers (google-analytics, gtag, amplitude, mixpanel, segment, hotjar, plausible, posthog) — hardened word-boundary matching via the shared `TRACKERS` / `matchedTrackers` | **fail** |
|
|
22
27
|
| `Brand fonts present` | Manrope + Fraunces referenced in CSS or HTML | **fail** |
|
|
23
|
-
| `
|
|
28
|
+
| `Brand tokens defined` | Canonical brand CSS custom properties (`--paper`, `--ink`, `--accent`, …) are defined in theme CSS | **fail** |
|
|
29
|
+
| `No brand overrides` | App does not redefine the platform-defined brand tokens/fonts | **fail** |
|
|
30
|
+
| `No scroll (games only)` | Games fit the viewport — no document-level scroll (games only; skipped for non-games) | **fail** / warn |
|
|
31
|
+
| `Viewport support` | Declares supported screens + orientations for the storefront coverage badge | **fail** / warn |
|
|
32
|
+
| `No unsafe 100vh` | No bare `100vh` (breaks on iOS Safari with the URL bar visible) | warn |
|
|
33
|
+
| `Accessibility static` | Source-level baseline: image alt text, accessible button names, form control labels | **fail** |
|
|
34
|
+
| `HTML meta tags` | `web/index.html` declares lang + viewport + non-empty title + share-preview images | **fail** |
|
|
35
|
+
| `PWA meta tags` | `web/index.html` has an iOS/Android standalone install hint | **fail** / warn |
|
|
36
|
+
| `PWA offline correctness` | Service worker / offline behaviour is correct | **fail** / warn |
|
|
37
|
+
| `PWA manifest` | Static `web/public/manifest.json` (or inline VitePWA manifest) declares name / short_name / start_url / display | **fail** |
|
|
38
|
+
| `PWA maskable icon` | Manifest declares at least one `purpose: "maskable"` icon | **fail** |
|
|
39
|
+
| `Store link` | Some source file links back to `proappstore.online` | warn |
|
|
40
|
+
| `Dark mode support` | Respects the system colour-scheme preference | warn |
|
|
24
41
|
| `Bundle size` | Largest JS in `web/dist/assets/` is ≤ 300 KB gzipped | **fail** if too big; warn if not built yet |
|
|
42
|
+
| `CLAUDE.md slim` | Per-repo `CLAUDE.md` stays slim (no drift-prone platform-wide content) | warn |
|
|
25
43
|
|
|
26
44
|
## License
|
|
27
45
|
|
package/package.json
CHANGED