@siteoshq/cli 2.3.0 → 2.3.1

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
@@ -311,6 +311,9 @@ when requested with `npx playwright@1.61.1 install chromium` or `npx playwright@
311
311
  The check opens fresh contexts, exercises the public consent API and reports request origins and
312
312
  storage names without values, query strings, request bodies or authenticated sessions. These are
313
313
  real visits; normal installation/aggregate signals may be recorded. Reports remain local.
314
+ CLI 2.3.1 distinguishes the `/gtm.js` container bootstrap from `/gtag/js` and recognizes
315
+ regional GA4 `/g/collect` endpoints. Loading GTM to run the consent manager is not itself
316
+ evidence that an Analytics tag ran; a GA4 request after withdrawal remains a failure in Basic mode.
314
317
 
315
318
  A report records the revision, runtime, observed Edge location, scenario scope and 24-hour expiry.
316
319
  `passed` exits 0; `needs-review` and `failed` exit 1. Unknown origins/storage require classification.
package/dist/cli.js CHANGED
@@ -38,8 +38,12 @@ function assessCookieObservations(input) {
38
38
  const unknownStorage = /* @__PURE__ */ new Set();
39
39
  const services = input.envelope.config.services;
40
40
  for (const request of input.requests) {
41
+ if (request.origin === "https://www.googletagmanager.com" && request.path === "/gtm.js" && request.type === "script")
42
+ continue;
41
43
  const matches = services.filter(
42
- (service) => service.lifecycle && [
44
+ (service) => service.key === "google-analytics" && /^https:\/\/(?:www\.|region\d+\.)?google-analytics\.com$/u.test(
45
+ request.origin
46
+ ) && request.path === "/g/collect" || service.lifecycle && [
43
47
  ...service.lifecycle.scriptOrigins,
44
48
  ...service.lifecycle.iframeOrigins,
45
49
  ...service.lifecycle.pixelOrigins
@@ -157,6 +161,7 @@ async function verifyCookieWebsite(input) {
157
161
  }
158
162
  requests.push({
159
163
  origin: new URL(request.url()).origin,
164
+ path: new URL(request.url()).pathname,
160
165
  type: request.resourceType(),
161
166
  scenario
162
167
  });