@url-sanitize/firefox 2.0.4 → 2.0.5

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/dist/adapter.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { SanitizerCatalog } from '@url-sanitize/core';
2
- import { FirefoxQueryStrippingData, FirefoxMetadata } from './types.js';
3
-
4
- declare function firefoxToCatalog(data: FirefoxQueryStrippingData, meta: FirefoxMetadata): SanitizerCatalog;
5
-
6
- export { firefoxToCatalog };
1
+ import { FirefoxMetadata, FirefoxQueryStrippingData } from "./types.js";
2
+ import { SanitizerCatalog } from "@url-sanitize/core";
3
+ //#region src/adapter.d.ts
4
+ export declare function firefoxToCatalog(data: FirefoxQueryStrippingData, meta: FirefoxMetadata): SanitizerCatalog;
5
+ //#endregion
package/dist/adapter.js CHANGED
@@ -1,6 +1,36 @@
1
- import {
2
- firefoxToCatalog
3
- } from "./chunk-56UUX4DC.js";
4
- export {
5
- firefoxToCatalog
6
- };
1
+ //#region src/adapter.ts
2
+ function firefoxToCatalog(data, meta) {
3
+ const rules = [];
4
+ const globalExceptions = data.data.flatMap((record) => record.stripList.length === 0 ? record.allowList.map(domainPattern) : []);
5
+ for (const record of data.data) {
6
+ if (record.filter_expression) throw new Error(`Unsupported Firefox filter_expression in record ${record.id}`);
7
+ const exceptions = [...globalExceptions, ...record.allowList.map(domainPattern)];
8
+ for (const param of record.stripList) rules.push({
9
+ kind: "strip-param",
10
+ source: "firefox",
11
+ provider: `firefox-${record.id}`,
12
+ paramPattern: escapeRegExp(param),
13
+ exceptions
14
+ });
15
+ }
16
+ return {
17
+ version: meta.version,
18
+ generatedAt: meta.fetchedAt,
19
+ sources: [{
20
+ name: "firefox",
21
+ version: meta.version,
22
+ hash: meta.hash,
23
+ license: meta.license,
24
+ upstream: meta.upstream
25
+ }],
26
+ rules
27
+ };
28
+ }
29
+ function domainPattern(domain) {
30
+ return `^https?:\\/\\/([^/?#]+\\.)?${escapeRegExp(domain)}(?::[0-9]+)?(?:[/?#]|$)`;
31
+ }
32
+ function escapeRegExp(value) {
33
+ return value.replace(/[|\\{}()[\]^$+?.*]/g, "\\$&");
34
+ }
35
+ //#endregion
36
+ export { firefoxToCatalog };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { SanitizerCatalog, Sanitizer } from '@url-sanitize/core';
2
- export { firefoxToCatalog } from './adapter.js';
3
- export { firefoxMetadata, firefoxRawData } from './raw.js';
4
- export { FirefoxMetadata, FirefoxQueryStrippingData, FirefoxQueryStrippingRecord } from './types.js';
5
-
6
- declare const firefoxCatalog: SanitizerCatalog;
7
- declare const sanitize: Sanitizer;
8
-
9
- export { firefoxCatalog, sanitize };
1
+ import { FirefoxMetadata, FirefoxQueryStrippingData, FirefoxQueryStrippingRecord } from "./types.js";
2
+ import { firefoxToCatalog } from "./adapter.js";
3
+ import { firefoxMetadata, firefoxRawData } from "./raw.js";
4
+ import { Sanitizer, SanitizerCatalog } from "@url-sanitize/core";
5
+ //#region src/index.d.ts
6
+ export declare const firefoxCatalog: SanitizerCatalog;
7
+ export declare const sanitize: Sanitizer;
8
+ //#endregion
9
+ export { type FirefoxMetadata, type FirefoxQueryStrippingData, type FirefoxQueryStrippingRecord, firefoxMetadata, firefoxRawData, firefoxToCatalog };
package/dist/index.js CHANGED
@@ -1,19 +1,8 @@
1
- import {
2
- firefoxToCatalog
3
- } from "./chunk-56UUX4DC.js";
4
- import {
5
- firefoxMetadata,
6
- firefoxRawData
7
- } from "./chunk-AEDX63WT.js";
8
-
9
- // src/index.ts
1
+ import { firefoxToCatalog } from "./adapter.js";
2
+ import { n as firefoxRawData, t as firefoxMetadata } from "./raw-DQN0NRnq.js";
10
3
  import { compileSanitizer } from "@url-sanitize/core";
11
- var firefoxCatalog = firefoxToCatalog(firefoxRawData, firefoxMetadata);
12
- var sanitize = compileSanitizer(firefoxCatalog);
13
- export {
14
- firefoxCatalog,
15
- firefoxMetadata,
16
- firefoxRawData,
17
- firefoxToCatalog,
18
- sanitize
19
- };
4
+ //#region src/index.ts
5
+ const firefoxCatalog = firefoxToCatalog(firefoxRawData, firefoxMetadata);
6
+ const sanitize = compileSanitizer(firefoxCatalog);
7
+ //#endregion
8
+ export { firefoxCatalog, firefoxMetadata, firefoxRawData, firefoxToCatalog, sanitize };
@@ -0,0 +1,64 @@
1
+ //#region data/data.json
2
+ var data_default = { data: [
3
+ {
4
+ "schema": 1694684344305,
5
+ "allowList": ["googleadservices.com"],
6
+ "stripList": [],
7
+ "id": "a61d2791-d7e1-42e6-9824-0dbe69c33b97",
8
+ "last_modified": 1694689843914
9
+ },
10
+ {
11
+ "schema": 1678379807899,
12
+ "allowList": [],
13
+ "stripList": [
14
+ "gclid",
15
+ "dclid",
16
+ "msclkid",
17
+ "_openstat",
18
+ "yclid",
19
+ "wickedid",
20
+ "twclid",
21
+ "_hsenc",
22
+ "__hssc",
23
+ "__hstc",
24
+ "__hsfp",
25
+ "hsctatracking",
26
+ "wbraid",
27
+ "gbraid",
28
+ "ysclid"
29
+ ],
30
+ "id": "85078bad-f31e-4d93-bb8a-81088b25d6dd",
31
+ "last_modified": 1678736907773
32
+ },
33
+ {
34
+ "schema": 1649695008608,
35
+ "allowList": [],
36
+ "stripList": [
37
+ "mc_eid",
38
+ "oly_anon_id",
39
+ "oly_enc_id",
40
+ "__s",
41
+ "vero_id",
42
+ "_hsenc",
43
+ "mkt_tok",
44
+ "fbclid"
45
+ ],
46
+ "id": "76495cfc-fac9-4079-9b5f-9ff0784484de",
47
+ "last_modified": 1649762862679
48
+ }
49
+ ] };
50
+ //#endregion
51
+ //#region data/metadata.json
52
+ var metadata_default = {
53
+ version: "61578ba740b7",
54
+ hash: "61578ba740b7bb0e9b5450eab725dd3b7be8995ba42633d9d46825745f9e0c7d",
55
+ fetchedAt: "2026-06-03T17:40:39.112Z",
56
+ upstream: "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/query-stripping/records",
57
+ license: "MPL-2.0"
58
+ };
59
+ //#endregion
60
+ //#region src/raw.ts
61
+ const firefoxRawData = data_default;
62
+ const firefoxMetadata = metadata_default;
63
+ //#endregion
64
+ export { firefoxRawData as n, firefoxMetadata as t };
package/dist/raw.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { FirefoxMetadata, FirefoxQueryStrippingData } from './types.js';
2
-
3
- declare const firefoxRawData: FirefoxQueryStrippingData;
4
- declare const firefoxMetadata: FirefoxMetadata;
5
-
6
- export { firefoxMetadata, firefoxRawData };
1
+ import { FirefoxMetadata, FirefoxQueryStrippingData } from "./types.js";
2
+ //#region src/raw.d.ts
3
+ export declare const firefoxRawData: FirefoxQueryStrippingData;
4
+ export declare const firefoxMetadata: FirefoxMetadata;
5
+ //#endregion
package/dist/raw.js CHANGED
@@ -1,8 +1 @@
1
- import {
2
- firefoxMetadata,
3
- firefoxRawData
4
- } from "./chunk-AEDX63WT.js";
5
- export {
6
- firefoxMetadata,
7
- firefoxRawData
8
- };
1
+ export { t as firefoxMetadata, n as firefoxRawData } from "./raw-DQN0NRnq.js";
package/dist/types.d.ts CHANGED
@@ -1,20 +1,20 @@
1
- interface FirefoxQueryStrippingRecord {
2
- allowList: string[];
3
- filter_expression?: string;
4
- id: string;
5
- last_modified: number;
6
- schema: number;
7
- stripList: string[];
1
+ //#region src/types.d.ts
2
+ export interface FirefoxQueryStrippingRecord {
3
+ allowList: string[];
4
+ filter_expression?: string;
5
+ id: string;
6
+ last_modified: number;
7
+ schema: number;
8
+ stripList: string[];
8
9
  }
9
- interface FirefoxQueryStrippingData {
10
- data: FirefoxQueryStrippingRecord[];
10
+ export interface FirefoxQueryStrippingData {
11
+ data: FirefoxQueryStrippingRecord[];
11
12
  }
12
- interface FirefoxMetadata {
13
- version: string;
14
- hash: string;
15
- fetchedAt: string;
16
- upstream: string;
17
- license: string;
13
+ export interface FirefoxMetadata {
14
+ version: string;
15
+ hash: string;
16
+ fetchedAt: string;
17
+ upstream: string;
18
+ license: string;
18
19
  }
19
-
20
- export type { FirefoxMetadata, FirefoxQueryStrippingData, FirefoxQueryStrippingRecord };
20
+ //#endregion
package/dist/types.js CHANGED
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@url-sanitize/firefox",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "description": "Firefox Query Stripping catalog adapter for @url-sanitize/core.",
5
5
  "license": "MPL-2.0",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "NOTICE"
32
32
  ],
33
33
  "dependencies": {
34
- "@url-sanitize/core": "2.0.4"
34
+ "@url-sanitize/core": "2.0.5"
35
35
  },
36
36
  "keywords": [
37
37
  "firefox",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "sideEffects": false,
52
52
  "scripts": {
53
- "build": "tsup src/index.ts src/raw.ts src/adapter.ts src/types.ts --format esm --dts --clean",
54
- "dev": "tsup src/index.ts src/raw.ts src/adapter.ts src/types.ts --format esm --dts --watch"
53
+ "build": "vp pack",
54
+ "dev": "vp pack --watch"
55
55
  }
56
56
  }
@@ -1,47 +0,0 @@
1
- // src/adapter.ts
2
- function firefoxToCatalog(data, meta) {
3
- const rules = [];
4
- const globalExceptions = data.data.flatMap(
5
- (record) => record.stripList.length === 0 ? record.allowList.map(domainPattern) : []
6
- );
7
- for (const record of data.data) {
8
- if (record.filter_expression) {
9
- throw new Error(`Unsupported Firefox filter_expression in record ${record.id}`);
10
- }
11
- const exceptions = [...globalExceptions, ...record.allowList.map(domainPattern)];
12
- for (const param of record.stripList) {
13
- rules.push({
14
- kind: "strip-param",
15
- source: "firefox",
16
- provider: `firefox-${record.id}`,
17
- paramPattern: escapeRegExp(param),
18
- exceptions
19
- });
20
- }
21
- }
22
- return {
23
- version: meta.version,
24
- generatedAt: meta.fetchedAt,
25
- sources: [
26
- {
27
- name: "firefox",
28
- version: meta.version,
29
- hash: meta.hash,
30
- license: meta.license,
31
- upstream: meta.upstream
32
- }
33
- ],
34
- rules
35
- };
36
- }
37
- function domainPattern(domain) {
38
- const escaped = escapeRegExp(domain);
39
- return `^https?:\\/\\/([^/?#]+\\.)?${escaped}(?::[0-9]+)?(?:[/?#]|$)`;
40
- }
41
- function escapeRegExp(value) {
42
- return value.replace(/[|\\{}()[\]^$+?.*]/g, "\\$&");
43
- }
44
-
45
- export {
46
- firefoxToCatalog
47
- };
@@ -1,71 +0,0 @@
1
- // data/data.json
2
- var data_default = {
3
- data: [
4
- {
5
- schema: 1694684344305,
6
- allowList: [
7
- "googleadservices.com"
8
- ],
9
- stripList: [],
10
- id: "a61d2791-d7e1-42e6-9824-0dbe69c33b97",
11
- last_modified: 1694689843914
12
- },
13
- {
14
- schema: 1678379807899,
15
- allowList: [],
16
- stripList: [
17
- "gclid",
18
- "dclid",
19
- "msclkid",
20
- "_openstat",
21
- "yclid",
22
- "wickedid",
23
- "twclid",
24
- "_hsenc",
25
- "__hssc",
26
- "__hstc",
27
- "__hsfp",
28
- "hsctatracking",
29
- "wbraid",
30
- "gbraid",
31
- "ysclid"
32
- ],
33
- id: "85078bad-f31e-4d93-bb8a-81088b25d6dd",
34
- last_modified: 1678736907773
35
- },
36
- {
37
- schema: 1649695008608,
38
- allowList: [],
39
- stripList: [
40
- "mc_eid",
41
- "oly_anon_id",
42
- "oly_enc_id",
43
- "__s",
44
- "vero_id",
45
- "_hsenc",
46
- "mkt_tok",
47
- "fbclid"
48
- ],
49
- id: "76495cfc-fac9-4079-9b5f-9ff0784484de",
50
- last_modified: 1649762862679
51
- }
52
- ]
53
- };
54
-
55
- // data/metadata.json
56
- var metadata_default = {
57
- version: "61578ba740b7",
58
- hash: "61578ba740b7bb0e9b5450eab725dd3b7be8995ba42633d9d46825745f9e0c7d",
59
- fetchedAt: "2026-06-03T17:40:39.112Z",
60
- upstream: "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/query-stripping/records",
61
- license: "MPL-2.0"
62
- };
63
-
64
- // src/raw.ts
65
- var firefoxRawData = data_default;
66
- var firefoxMetadata = metadata_default;
67
-
68
- export {
69
- firefoxRawData,
70
- firefoxMetadata
71
- };