pixellint 0.31.12 → 0.33.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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # pixellint
2
2
 
3
3
  Validator for pixels, postbacks, conversion API payloads, and tracking URLs,
4
- as a WASM-backed npm package. Same engine, same rule ids, and same evidence
4
+ as a WASM-backed npm package for Node.js 18 or newer. Same engine, same rule ids, and same evidence
5
5
  levels as the [`pixellint` CLI](https://crates.io/crates/pixellint). Paste a
6
6
  URL or a CAPI JSON body at [pixellint.org](https://pixellint.org).
7
7
 
@@ -47,7 +47,7 @@ finding.targets[0]; // { component: "whole_url", start: 0, end: 46, ... }
47
47
  - URL conformance, transport, credentials, fragments, and ad-tech macro handling
48
48
  - IAB consent signals: TCF `gdpr` and `gdpr_consent`, the deprecated US Privacy
49
49
  string, and GPP `gpp` and `gpp_sid`
50
- - Vendor parameter contracts for 133 endpoint families, including Meta
50
+ - 159 vendor rulepacks across 85 vendors, including Meta
51
51
  Conversions API, TikTok Events API, Reddit CAPI, and the browser pixels
52
52
  - Endpoint attribution for 120 vendor rows, so an unrecognized pixel still gets a name.
53
53
 
@@ -68,8 +68,23 @@ finding.targets[0]; // { component: "whole_url", start: 0, end: 46, ... }
68
68
  `vendor` for a caller's claimed vendor. `html`, `js`, and `gtm` throw: extract
69
69
  URLs first.
70
70
 
71
- Templates keep their macros: pass `{ state: "template" }` and unexpanded macros
72
- stop being findings.
71
+ Use `{ kind: "request" }` with a serialized complete capture containing string
72
+ `url`, string `method`, `headers` as an object or name/value list, and optional
73
+ raw string `body`. It binds payload checks to the destination and adds method
74
+ and header contracts. See [the HTTP capture schema](https://github.com/aleksUIX/pixellint/blob/main/docs/HTTP_REQUEST_SCHEMA.md)
75
+ for representation limits and repeated fields.
76
+
77
+ `vast` takes a tracking URL extracted from VAST and enables the IAB VAST
78
+ macro-name checks. It does not accept a VAST XML document.
79
+
80
+ Pass `{ state: "template" }` to allow unexpanded macros in a template.
81
+ Macro syntax, position, and VAST macro-name checks still apply.
82
+
83
+ ## Browser integration
84
+
85
+ This npm wrapper loads the Node-target WASM build. Its ESM entry uses
86
+ `node:module`, so it cannot be imported directly in a browser. Build
87
+ `pixellint-wasm` for a browser target and provide a browser loader.
73
88
 
74
89
  ## Links
75
90
 
package/index.d.ts CHANGED
@@ -11,6 +11,14 @@ export type ArtifactKind =
11
11
 
12
12
  export type ExpansionState = "unknown" | "template" | "fired";
13
13
 
14
+ /** Serialize this capture with JSON.stringify and validate with kind: request. */
15
+ export interface HttpRequest {
16
+ url: string;
17
+ method: string;
18
+ headers: Record<string, string> | Array<{ name: string; value: string }>;
19
+ body?: string;
20
+ }
21
+
14
22
  export type Severity = "error" | "warning" | "info";
15
23
 
16
24
  export type EvidenceLevel =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixellint",
3
- "version": "0.31.12",
3
+ "version": "0.33.0",
4
4
  "description": "Validator for pixels, postbacks, conversion API payloads, and tracking URLs: Meta CAPI, Facebook pixel, GTM, and vendor rulepacks",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Aleks <aleks@vastlint.org>",
package/wasm/pixellint.js CHANGED
@@ -143,6 +143,10 @@ function __wbg_get_imports() {
143
143
  const ret = new Object();
144
144
  return ret;
145
145
  },
146
+ __wbg_now_89df1f68663e7e81: function() {
147
+ const ret = Date.now();
148
+ return ret;
149
+ },
146
150
  __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {
147
151
  arg0[arg1] = arg2;
148
152
  },
Binary file