@ssheleg/sheleg-dev 0.13.4 → 0.14.0
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## v0.14.0 — frontend performance is tested in WebKit (Safari) first
|
|
2
|
+
|
|
3
|
+
- `frontend-performance/SKILL.md` gains *Test browser — WebKit (Safari) first*:
|
|
4
|
+
Safari through `safaridriver`, Playwright `webkit` (`--browser webkit`,
|
|
5
|
+
`npx playwright install webkit`), Safari Web Inspector's Timelines, and
|
|
6
|
+
`open -a Safari <url>` on macOS rather than the system default browser.
|
|
7
|
+
- Lighthouse, PageSpeed Insights, CrUX, CDP traces and the chrome-devtools MCP stay
|
|
8
|
+
as the stated Chromium exception (Chromium by definition): Chrome Dev, a
|
|
9
|
+
temporary profile, every started process closed. A page checked only in Chromium
|
|
10
|
+
is reported as exactly that; a Lighthouse score is not a cross-browser verdict.
|
|
11
|
+
- The Measure and Validate steps run the WebKit pass too; *Degradation* names the
|
|
12
|
+
WebKit channels; the contrast check in `references/accessibility-perf.md` starts
|
|
13
|
+
in Safari Web Inspector.
|
|
14
|
+
- New regression `test/audit_regressions/safari-first.py` with drop mutations. Text
|
|
15
|
+
integrity only; no hook or script behaviour changed.
|
|
16
|
+
|
|
1
17
|
## v0.13.4 — FW03 credential boundaries
|
|
2
18
|
|
|
3
19
|
- Supply a copyable, locally tested Stripe mode assertion before client construction.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ssheleg/sheleg-dev",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Seven integration skills for the layer a product reaches once it has users: Stripe subscription billing and cancellation retention, crypto payments, ad and conversion tracking under Consent Mode v2, Google sign-in and the wider Google auth surface, error tracking, and Core Web Vitals. This package is the installer CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sheleg-dev": "bin/sheleg-dev.js"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "sheleg-dev",
|
|
4
4
|
"displayName": "Sheleg Dev",
|
|
5
5
|
"description": "The integration layer a product needs once it has users: Stripe subscription billing reconciled into your own database, crypto payments that survive over-payment and duplicate webhooks, ad and conversion tracking under Consent Mode v2, Google sign-in with the account-linking guards, the wider Google auth surface, and Core Web Vitals work that moves the score, and Sentry error tracking wired so it does not forward your own credentials to a third party and so a stack trace names the commit that caused it.",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.14.0",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ssheleg",
|
|
9
9
|
"url": "https://x.com/sshlg93"
|
|
@@ -20,11 +20,33 @@ Optimize frontend applications for maximum Lighthouse scores and real-user perfo
|
|
|
20
20
|
|
|
21
21
|
## Audit Workflow
|
|
22
22
|
|
|
23
|
-
1. **Measure** -- Run PageSpeed Insights or Lighthouse. Record scores and
|
|
23
|
+
1. **Measure** -- Run PageSpeed Insights or Lighthouse (Chromium) and load the same scenario in WebKit first (see *Test browser* below). Record scores, failing audits and the engine of each number.
|
|
24
24
|
2. **Diagnose** -- Map each failing audit to a specific code-level cause (see checklist below).
|
|
25
25
|
3. **Prioritize** -- Fix by impact: P0 blocks rendering, P1 hurts metrics, P2 is informational.
|
|
26
26
|
4. **Implement** -- Apply fixes per the reference guides.
|
|
27
|
-
5. **Validate** -- `next build` (or framework equivalent) + re-run Lighthouse. Verify no regressions.
|
|
27
|
+
5. **Validate** -- `next build` (or framework equivalent) + re-run Lighthouse and the WebKit run. Verify no regressions in either engine.
|
|
28
|
+
|
|
29
|
+
## Test browser — WebKit (Safari) first
|
|
30
|
+
|
|
31
|
+
Load and profile the page in **WebKit first**: Safari through `safaridriver`
|
|
32
|
+
(WebDriver; `sudo safaridriver --enable` once) for a real browser, Playwright's
|
|
33
|
+
`webkit` (the `webkit` project, `--browser webkit`, installed with
|
|
34
|
+
`npx playwright install webkit`) for scripted runs and traces, Safari Web
|
|
35
|
+
Inspector's Timelines for debugging. On macOS open a page with
|
|
36
|
+
`open -a Safari <url>`, not the system default browser, which may be another
|
|
37
|
+
engine. An automation library (browser-use and the like) runs on its
|
|
38
|
+
WebKit/Safari backend where it has one. WebKit has the narrowest support
|
|
39
|
+
envelope of the big three — a regression that only iOS Safari users feel is
|
|
40
|
+
invisible to every Chrome tool below.
|
|
41
|
+
|
|
42
|
+
**Lighthouse, PageSpeed Insights, CrUX, a CDP trace and the chrome-devtools MCP
|
|
43
|
+
are Chromium by definition** — they stay in this workflow as the **stated
|
|
44
|
+
Chromium exception**: use them when the task needs Chrome itself, and say which
|
|
45
|
+
and why. Prefer the Chrome Dev build for a Chrome run you start; give it a
|
|
46
|
+
temporary profile (never the user's), record what you started, and close every
|
|
47
|
+
process you started before you finish. A page checked only in Chromium is
|
|
48
|
+
reported as "checked only in Chromium", never as "tested in a browser"; a
|
|
49
|
+
Lighthouse score is a Chrome lab number, not a cross-browser verdict.
|
|
28
50
|
|
|
29
51
|
## Core Web Vitals, and the diagnostics beside them
|
|
30
52
|
|
|
@@ -198,7 +220,7 @@ how a typo survives review.
|
|
|
198
220
|
- **Not Claude Code** (Cursor, Codex, the skills CLI, the API container): the pack's
|
|
199
221
|
`PreToolUse` gate does not run — every rule here still applies, enforced by a person
|
|
200
222
|
instead of a hook.
|
|
201
|
-
- **No browser channel** (no Chrome DevTools MCP
|
|
223
|
+
- **No browser channel** (no `safaridriver`, no Playwright `webkit`, no Chrome DevTools MCP): a page is judged from
|
|
202
224
|
the diff and the numbers are not measured on this machine. Record the weaker claim;
|
|
203
225
|
a Lighthouse score nobody ran is not a score.
|
|
204
226
|
- **No network**: PageSpeed Insights and field data are unavailable. Lab reasoning is
|
|
@@ -56,7 +56,7 @@ If you need visual hierarchy without reducing contrast below WCAG thresholds:
|
|
|
56
56
|
|
|
57
57
|
### Checking Contrast
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Inspect in Safari Web Inspector first: the Computed styles give the text colour and, on the element or the ancestor that paints it, the background colour; and the formula below gives the ratio. Chrome DevTools' color picker shows the contrast ratio directly — a Chromium tool, so name it as the engine you checked in.
|
|
60
60
|
|
|
61
61
|
Or calculate manually: `(L1 + 0.05) / (L2 + 0.05)` where L1 is the lighter relative luminance.
|
|
62
62
|
|