lintpage 0.5.2 → 0.5.4

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 CHANGED
@@ -123,6 +123,34 @@ Exit codes:
123
123
  - `1` — critical issues found (or warnings with `--fail-on-warning`)
124
124
  - `2` — runtime error
125
125
 
126
+ ## Upgrading from 0.5.3
127
+
128
+ - `meta-render-blocking` counts only scripts the browser runs as classic
129
+ JavaScript: no `type`, an empty one, or exactly a JavaScript MIME type such
130
+ as `text/javascript`. Scripts parked by a consent manager
131
+ (`type="text/plain"`) or handed to Partytown (`type="text/partytown"`) are
132
+ no longer reported as blocking. Nor are scripts that browsers do not run at
133
+ all: a type with parameters (`text/javascript; charset=utf-8`), a
134
+ non-JavaScript `language` attribute, or an empty `src`. With
135
+ `--fail-on-warning`, a page that failed only on these scripts now passes.
136
+ - `tracking` reads only the Content-Security-Policy fetch directives, such as
137
+ `script-src`, `connect-src` and `default-src`. An analytics host named only
138
+ in `report-uri`, `frame-ancestors` or `form-action` no longer counts as
139
+ analytics on the page.
140
+
141
+ ## Upgrading from 0.5.2
142
+
143
+ - `tracking` reports a page with no visible analytics as INFO instead of
144
+ WARNING: analytics loaded from a JavaScript bundle leave no trace in the
145
+ HTML, so their absence cannot be shown. An analytics host named in a
146
+ `preconnect`, `dns-prefetch`, `preload` or `modulepreload` link, or in a
147
+ Content-Security-Policy header or meta tag, now counts as found. With
148
+ `--fail-on-warning`, a page that failed only on this rule now passes; to
149
+ keep the warning, set `"tracking": { "enabled": true, "severity": "WARNING" }`
150
+ under `rules` in your config.
151
+ - `meta-render-blocking` no longer counts a `<script nomodule>`, such as the
152
+ Next.js polyfills, as blocking: browsers that run modules never load it.
153
+
126
154
  ## Upgrading from 0.5.1
127
155
 
128
156
  - A page that redirects to another host now fails with `redirected-off-site`
@@ -161,11 +189,11 @@ LintPage checks **60 rules** out of the box across five categories:
161
189
  | `x-robots-tag` | CRITICAL | X-Robots-Tag HTTP header noindex/nofollow |
162
190
  | `robots-txt-check` | WARNING | robots.txt presence and validity |
163
191
  | `sitemap-presence` | WARNING | sitemap.xml presence and validity |
164
- | `tracking` | WARNING | Google Analytics, GTM, or Facebook Pixel |
165
192
  | `mixed-content` | WARNING | HTTP resources loaded on HTTPS page |
166
193
  | `https-links` | WARNING | Internal links use HTTPS instead of HTTP |
167
194
  | `cors-policy` | WARNING | Overly permissive CORS configuration |
168
195
  | `security-headers` | INFO | CSP, HSTS, X-Content-Type-Options, Permissions-Policy |
196
+ | `tracking` | INFO | Analytics in scripts, resource hints or the CSP (bundled analytics cannot be seen) |
169
197
 
170
198
  ### SEO
171
199
 
@@ -216,7 +244,7 @@ LintPage checks **60 rules** out of the box across five categories:
216
244
  | Rule | Severity | What it checks |
217
245
  | ---------------------- | -------- | --------------------------------------------------------- |
218
246
  | `ttfb` | WARNING | Server response time (Time to First Byte) |
219
- | `meta-render-blocking` | WARNING | Render-blocking stylesheets and synchronous scripts |
247
+ | `meta-render-blocking` | WARNING | Render-blocking stylesheets and synchronous JavaScript (`nomodule` and non-JS types excepted) |
220
248
  | `lazy-load-lcp` | WARNING | Above-the-fold images not lazy-loaded |
221
249
  | `performance` | INFO | Lazy loading, inline styles, and script count |
222
250
  | `image-dimensions` | INFO | Images have explicit width/height to prevent layout shift |