@slashgear/gdpr-cookie-scanner 3.7.0 → 3.8.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/.dockerignore +3 -0
- package/.gitattributes +1 -0
- package/.github/workflows/website.yml +80 -0
- package/CHANGELOG.md +33 -0
- package/CONTRIBUTING.md +32 -4
- package/dist/report/generator.d.ts.map +1 -1
- package/dist/report/generator.js +9 -4
- package/dist/report/generator.js.map +1 -1
- package/dist/report/html.js +12 -3
- package/dist/report/html.js.map +1 -1
- package/dist/scanner/consent-modal.d.ts.map +1 -1
- package/dist/scanner/consent-modal.js +17 -5
- package/dist/scanner/consent-modal.js.map +1 -1
- package/dist/scanner/index.d.ts.map +1 -1
- package/dist/scanner/index.js +12 -2
- package/dist/scanner/index.js.map +1 -1
- package/package.json +7 -3
- package/pnpm-workspace.yaml +3 -0
- package/scripts/build-showcase.mjs +113 -0
- package/src/report/generator.ts +10 -4
- package/src/report/html.ts +13 -3
- package/src/scanner/consent-modal.ts +16 -5
- package/src/scanner/index.ts +12 -2
- package/tests/analyzers/compliance.test.ts +49 -0
- package/website/Dockerfile +55 -0
- package/website/node_modules/.bin/oxfmt +21 -0
- package/website/node_modules/.bin/oxlint +21 -0
- package/website/node_modules/.bin/tsc +21 -0
- package/website/node_modules/.bin/tsserver +21 -0
- package/website/node_modules/.bin/tsx +21 -0
- package/website/package.json +29 -0
- package/{docs → website/public}/index.html +70 -20
- package/website/public/reports/www.20minutes.fr/after-accept.png +3 -0
- package/website/public/reports/www.20minutes.fr/after-reject.png +3 -0
- package/{docs/reports/www.leboncoin.fr/gdpr-report-leboncoin.fr-2026-02-22.html → website/public/reports/www.20minutes.fr/gdpr-report-20minutes.fr-2026-02-22.html} +194 -51
- package/website/public/reports/www.20minutes.fr/modal-initial.png +3 -0
- package/website/public/reports/www.arte.tv/after-accept.png +3 -0
- package/website/public/reports/www.arte.tv/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.arte.tv/gdpr-report-arte.tv-2026-02-24.html +1 -0
- package/website/public/reports/www.arte.tv/modal-initial.png +3 -0
- package/website/public/reports/www.backmarket.fr/after-accept.png +3 -0
- package/website/public/reports/www.backmarket.fr/after-reject.png +3 -0
- package/website/public/reports/www.backmarket.fr/gdpr-report-backmarket.fr-2026-02-24.html +1530 -0
- package/website/public/reports/www.backmarket.fr/modal-initial.png +3 -0
- package/website/public/reports/www.deezer.com/after-accept.png +3 -0
- package/website/public/reports/www.deezer.com/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.deezer.com/gdpr-report-deezer.com-2026-02-22.html +1 -0
- package/website/public/reports/www.deezer.com/modal-initial.png +3 -0
- package/website/public/reports/www.france.tv/after-accept.png +3 -0
- package/website/public/reports/www.france.tv/after-reject.png +3 -0
- package/website/public/reports/www.france.tv/gdpr-report-france.tv-2026-02-23.html +977 -0
- package/website/public/reports/www.france.tv/modal-initial.png +3 -0
- package/website/public/reports/www.m6.fr/after-accept.png +3 -0
- package/website/public/reports/www.m6.fr/after-reject.png +3 -0
- package/website/public/reports/www.m6.fr/gdpr-report-m6.fr-2026-02-28.html +1862 -0
- package/website/public/reports/www.m6.fr/modal-initial.png +3 -0
- package/website/public/reports/www.netflix.com/after-accept.png +3 -0
- package/website/public/reports/www.netflix.com/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.netflix.com/gdpr-report-netflix.com-2026-02-23.html +1 -0
- package/website/public/reports/www.netflix.com/modal-initial.png +3 -0
- package/website/public/reports/www.radiofrance.fr/after-accept.png +3 -0
- package/website/public/reports/www.radiofrance.fr/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.radiofrance.fr/gdpr-report-radiofrance.fr-2026-02-24.html +1 -0
- package/website/public/reports/www.radiofrance.fr/modal-initial.png +3 -0
- package/website/public/reports/www.tf1.fr/after-accept.png +3 -0
- package/website/public/reports/www.tf1.fr/after-reject.png +3 -0
- package/website/public/reports/www.tf1.fr/gdpr-report-tf1.fr-2026-02-23.html +1512 -0
- package/website/public/reports/www.tf1.fr/modal-initial.png +3 -0
- package/website/src/index.ts +15 -0
- package/website/src/security.ts +26 -0
- package/website/tsconfig.json +14 -0
- package/.github/workflows/pages.yml +0 -40
- package/docs/reports/www.arte.tv/after-accept.png +0 -0
- package/docs/reports/www.arte.tv/after-reject.png +0 -0
- package/docs/reports/www.deezer.com/after-accept.png +0 -0
- package/docs/reports/www.deezer.com/after-reject.png +0 -0
- package/docs/reports/www.impots.gouv.fr/after-accept.png +0 -0
- package/docs/reports/www.impots.gouv.fr/after-reject.png +0 -0
- package/docs/reports/www.impots.gouv.fr/gdpr-report-impots.gouv.fr-2026-02-22.html +0 -751
- package/docs/reports/www.leboncoin.fr/after-accept.png +0 -0
- package/docs/reports/www.leboncoin.fr/after-reject.png +0 -0
- package/docs/reports/www.netflix.com/after-accept.png +0 -0
- package/docs/reports/www.netflix.com/after-reject.png +0 -0
- package/docs/reports/www.radiofrance.fr/after-accept.png +0 -0
- package/docs/reports/www.radiofrance.fr/after-reject.png +0 -0
- /package/{docs → website/public}/style.css +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-modal.js","sourceRoot":"","sources":["../../src/scanner/consent-modal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consent-modal.js","sourceRoot":"","sources":["../../src/scanner/consent-modal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ3D,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAE3C,GAAG,CAAC,OAAO,GAAE,aAAwB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ3D,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAE3C,GAAG,CAAC,OAAO,GAAE,aAAwB,GAAG,OAAO,CAAC,UAAU,CAAC;CA8MlE"}
|
package/dist/scanner/index.js
CHANGED
|
@@ -73,7 +73,12 @@ export class Scanner {
|
|
|
73
73
|
if (rejectButton) {
|
|
74
74
|
try {
|
|
75
75
|
await session1.page.click(rejectButton.selector, { timeout: 5000 });
|
|
76
|
-
|
|
76
|
+
// Some CMPs trigger a full page reload on reject — wait for networkidle
|
|
77
|
+
// so server-set cookies are captured; fall back to a plain delay if no
|
|
78
|
+
// navigation occurs within the timeout.
|
|
79
|
+
await session1.page
|
|
80
|
+
.waitForLoadState("networkidle", { timeout: 5000 })
|
|
81
|
+
.catch(() => session1.page.waitForTimeout(2000));
|
|
77
82
|
cookiesAfterReject = await captureCookies(session1.context, "after-reject", this.options.strict);
|
|
78
83
|
networkAfterReject = interceptor3.getRequests();
|
|
79
84
|
}
|
|
@@ -116,7 +121,12 @@ export class Scanner {
|
|
|
116
121
|
const acceptButton = modal2.buttons.find((b) => b.type === "accept");
|
|
117
122
|
if (acceptButton) {
|
|
118
123
|
await session2.page.click(acceptButton.selector, { timeout: 5000 });
|
|
119
|
-
|
|
124
|
+
// Some CMPs trigger a full page reload on accept — wait for networkidle
|
|
125
|
+
// so server-set cookies are captured; fall back to a plain delay if no
|
|
126
|
+
// navigation occurs within the timeout.
|
|
127
|
+
await session2.page
|
|
128
|
+
.waitForLoadState("networkidle", { timeout: 5000 })
|
|
129
|
+
.catch(() => session2.page.waitForTimeout(3000));
|
|
120
130
|
cookiesAfterAccept = await captureCookies(session2.context, "after-accept", this.options.strict);
|
|
121
131
|
networkAfterAccept = interceptor4.getRequests();
|
|
122
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAErD,KAAK,CAAC,GAAG,CAAC,UAAyB,GAAG,EAAE,GAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,+DAA+D;QAC/D,4DAA4D;QAC5D,+DAA+D;QAC/D,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,wBAAwB,CAC3C,QAAQ,CAAC,IAAI,EACb,oBAAoB,EACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzC,SAAS,EAAE,aAAa;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,yCAAyC;QACzC,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,QAAQ,CAAC,OAAO,EAChB,oBAAoB,EACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;QACF,MAAM,wBAAwB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC5D,YAAY,CAAC,IAAI,EAAE,CAAC;QAEpB,uEAAuE;QACvE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAEzE,6EAA6E;QAC7E,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnE,+DAA+D;QAC/D,iDAAiD;QACjD,+DAA+D;QAC/D,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI;iBAC5B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;iBACvB,KAAK,EAAE;iBACP,WAAW,EAAE;iBACb,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC7B,IAAI,EAAE,cAAc;gBACpB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QACxC,CAAC;QAED,+DAA+D;QAC/D,8CAA8C;QAC9C,+DAA+D;QAC/D,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,wBAAwB,CAC3C,QAAQ,CAAC,IAAI,EACb,cAAc,EACd,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;QAEF,IAAI,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,IAAI,kBAAkB,GAAoC,EAAE,CAAC;QAE7D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slashgear/gdpr-cookie-scanner",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"description": "CLI tool to scan websites for GDPR cookie consent compliance",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"compliance",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"rgpd",
|
|
13
13
|
"scanner"
|
|
14
14
|
],
|
|
15
|
-
"homepage": "https://
|
|
15
|
+
"homepage": "https://gdpr.slashgear.dev",
|
|
16
16
|
"bugs": {
|
|
17
17
|
"url": "https://github.com/Slashgear/gdpr-cookie-scanner/issues"
|
|
18
18
|
},
|
|
@@ -68,6 +68,10 @@
|
|
|
68
68
|
"changeset": "changeset",
|
|
69
69
|
"update-trackers": "node --experimental-strip-types scripts/update-trackers.ts",
|
|
70
70
|
"update-trackers:dry": "node --experimental-strip-types scripts/update-trackers.ts --dry-run",
|
|
71
|
-
"update:ocd": "node scripts/update-cookie-db.mjs"
|
|
71
|
+
"update:ocd": "node scripts/update-cookie-db.mjs",
|
|
72
|
+
"build:showcase": "node scripts/build-showcase.mjs && pnpm format",
|
|
73
|
+
"website:dev": "pnpm --filter @slashgear/gdpr-website dev",
|
|
74
|
+
"website:build": "pnpm --filter @slashgear/gdpr-website build",
|
|
75
|
+
"website:typecheck": "pnpm --filter @slashgear/gdpr-website typecheck"
|
|
72
76
|
}
|
|
73
77
|
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads docs/reports/<host>/ directories, extracts grade/score/date from
|
|
3
|
+
* each HTML report, and regenerates the "Live Reports" cards in docs/index.html.
|
|
4
|
+
*
|
|
5
|
+
* Usage: node scripts/build-showcase.mjs
|
|
6
|
+
* Or: pnpm build:showcase
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { readdir, readFile, writeFile } from "fs/promises";
|
|
10
|
+
import { join, resolve } from "path";
|
|
11
|
+
import { existsSync } from "fs";
|
|
12
|
+
|
|
13
|
+
const WEBSITE_PUBLIC_DIR = resolve("website/public");
|
|
14
|
+
const REPORTS_DIR = join(WEBSITE_PUBLIC_DIR, "reports");
|
|
15
|
+
const INDEX_HTML = join(WEBSITE_PUBLIC_DIR, "index.html");
|
|
16
|
+
|
|
17
|
+
const START_MARKER = "<!-- ── REPORTS_START ── -->";
|
|
18
|
+
const END_MARKER = "<!-- ── REPORTS_END ── -->";
|
|
19
|
+
|
|
20
|
+
async function extractMeta(hostDir) {
|
|
21
|
+
const files = await readdir(join(REPORTS_DIR, hostDir));
|
|
22
|
+
const htmlFile = files.find((f) => f.endsWith(".html"));
|
|
23
|
+
if (!htmlFile) return null;
|
|
24
|
+
|
|
25
|
+
const content = await readFile(join(REPORTS_DIR, hostDir, htmlFile), "utf8");
|
|
26
|
+
|
|
27
|
+
// oxfmt may split closing tags across lines — match opening tag content only
|
|
28
|
+
const grade = content.match(/"grade-badge"[^>]*>([A-F])<\/div>/)?.[1] ?? "?";
|
|
29
|
+
const score = content.match(/"score-num"[^>]*>(\d+)/)?.[1] ?? "?";
|
|
30
|
+
|
|
31
|
+
// Date from filename: gdpr-report-<host>-YYYY-MM-DD.html
|
|
32
|
+
const dateRaw = htmlFile.match(/(\d{4}-\d{2}-\d{2})\.html$/)?.[1];
|
|
33
|
+
const dateStr = dateRaw
|
|
34
|
+
? new Date(dateRaw).toLocaleDateString("en-GB", {
|
|
35
|
+
day: "numeric",
|
|
36
|
+
month: "short",
|
|
37
|
+
year: "numeric",
|
|
38
|
+
})
|
|
39
|
+
: "";
|
|
40
|
+
|
|
41
|
+
const displayHost = hostDir.replace(/^www\./, "");
|
|
42
|
+
|
|
43
|
+
// Inject modal screenshot if PNG exists alongside the HTML but isn't referenced yet
|
|
44
|
+
const pngPath = join(REPORTS_DIR, hostDir, "modal-initial.png");
|
|
45
|
+
const htmlPath = join(REPORTS_DIR, hostDir, htmlFile);
|
|
46
|
+
if (existsSync(pngPath) && !content.includes("modal-initial.png")) {
|
|
47
|
+
const IMG = `<img src="modal-initial.png" alt="Consent modal screenshot" class="modal-screenshot" />`;
|
|
48
|
+
// Insert right after the section-body div that follows <h2>Consent modal</h2>
|
|
49
|
+
const patched = content.replace(
|
|
50
|
+
/(<h2>Consent modal<\/h2>[\s\S]*?<div class="section-body">)/,
|
|
51
|
+
`$1\n ${IMG}`,
|
|
52
|
+
);
|
|
53
|
+
if (patched !== content) {
|
|
54
|
+
await writeFile(htmlPath, patched, "utf8");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return { grade, score: parseInt(score, 10) || 0, dateStr, displayHost, hostDir, htmlFile };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function buildCard({ grade, score, dateStr, displayHost, hostDir, htmlFile }) {
|
|
62
|
+
return ` <!-- ${displayHost} — ${score}/100 ${grade} -->
|
|
63
|
+
<div class="report-card">
|
|
64
|
+
<div class="report-header">
|
|
65
|
+
<div class="grade-badge grade-${grade}">${grade}</div>
|
|
66
|
+
<div class="report-meta">
|
|
67
|
+
<h3>${displayHost}</h3>
|
|
68
|
+
<span class="score">${score} / 100</span>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
<p class="report-date">Scanned ${dateStr}</p>
|
|
72
|
+
<a class="btn btn-outline" href="reports/${hostDir}/${htmlFile}">
|
|
73
|
+
View report →
|
|
74
|
+
</a>
|
|
75
|
+
</div>`;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
async function main() {
|
|
79
|
+
const hosts = (await readdir(REPORTS_DIR, { withFileTypes: true }))
|
|
80
|
+
.filter((d) => d.isDirectory())
|
|
81
|
+
.map((d) => d.name);
|
|
82
|
+
|
|
83
|
+
const reports = (await Promise.all(hosts.map(extractMeta))).filter(Boolean);
|
|
84
|
+
|
|
85
|
+
// Sort by score descending (best first)
|
|
86
|
+
reports.sort((a, b) => b.score - a.score);
|
|
87
|
+
|
|
88
|
+
const cards = reports.map(buildCard).join("\n\n");
|
|
89
|
+
|
|
90
|
+
let index = await readFile(INDEX_HTML, "utf8");
|
|
91
|
+
const startIdx = index.indexOf(START_MARKER);
|
|
92
|
+
const endIdx = index.indexOf(END_MARKER);
|
|
93
|
+
|
|
94
|
+
if (startIdx === -1 || endIdx === -1) {
|
|
95
|
+
throw new Error(`Markers not found in ${INDEX_HTML}. Add:\n ${START_MARKER}\n ${END_MARKER}`);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const newIndex =
|
|
99
|
+
index.slice(0, startIdx + START_MARKER.length) +
|
|
100
|
+
"\n" +
|
|
101
|
+
cards +
|
|
102
|
+
"\n " +
|
|
103
|
+
index.slice(endIdx);
|
|
104
|
+
|
|
105
|
+
await writeFile(INDEX_HTML, newIndex, "utf8");
|
|
106
|
+
console.log(`✓ ${INDEX_HTML} updated with ${reports.length} report cards`);
|
|
107
|
+
reports.forEach((r) => console.log(` ${r.grade} ${r.score}/100 ${r.displayHost}`));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
main().catch((e) => {
|
|
111
|
+
console.error(e);
|
|
112
|
+
process.exit(1);
|
|
113
|
+
});
|
package/src/report/generator.ts
CHANGED
|
@@ -475,13 +475,19 @@ ${rows.join("\n")}
|
|
|
475
475
|
|
|
476
476
|
for (const { label, requests } of phases) {
|
|
477
477
|
if (requests.length === 0) continue;
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
478
|
+
const consentRequiringCount = requests.filter((req) => req.requiresConsent).length;
|
|
479
|
+
const phaseStatus =
|
|
480
|
+
consentRequiringCount > 0
|
|
481
|
+
? `❌ ${consentRequiringCount} requiring consent`
|
|
482
|
+
: `✅ all exempt`;
|
|
483
|
+
lines.push(`### ${label} (${requests.length} tracker(s) — ${phaseStatus})\n`);
|
|
484
|
+
lines.push("| Tracker | Category | Consent req. | URL | Type |");
|
|
485
|
+
lines.push("|---------|-----------|--------------|-----|------|");
|
|
481
486
|
for (const req of requests.slice(0, 20)) {
|
|
482
487
|
const url = req.url.length > 60 ? req.url.substring(0, 57) + "..." : req.url;
|
|
488
|
+
const consent = req.requiresConsent ? "⚠️ Yes" : "✅ No (exempt)";
|
|
483
489
|
lines.push(
|
|
484
|
-
`| ${req.trackerName ?? "Unknown"} | ${req.trackerCategory} | \`${url}\` | ${req.resourceType} |`,
|
|
490
|
+
`| ${req.trackerName ?? "Unknown"} | ${req.trackerCategory} | ${consent} | \`${url}\` | ${req.resourceType} |`,
|
|
485
491
|
);
|
|
486
492
|
}
|
|
487
493
|
if (requests.length > 20) {
|
package/src/report/html.ts
CHANGED
|
@@ -725,17 +725,27 @@ function buildNetworkSection(result: ScanResult): string {
|
|
|
725
725
|
</div>`;
|
|
726
726
|
}
|
|
727
727
|
|
|
728
|
-
const preTrackers = result.networkBeforeInteraction.filter(
|
|
728
|
+
const preTrackers = result.networkBeforeInteraction.filter(
|
|
729
|
+
(r) => r.trackerCategory !== null && r.requiresConsent,
|
|
730
|
+
);
|
|
729
731
|
|
|
730
732
|
const rows = trackers
|
|
731
733
|
.slice(0, 50)
|
|
732
734
|
.map((req) => {
|
|
733
735
|
const isBefore = req.capturedAt === "before-interaction";
|
|
734
736
|
const url = req.url.length > 70 ? req.url.substring(0, 67) + "…" : req.url;
|
|
737
|
+
let phaseCell: string;
|
|
738
|
+
if (isBefore) {
|
|
739
|
+
phaseCell = req.requiresConsent
|
|
740
|
+
? `<span class="badge badge-critical">before consent</span>`
|
|
741
|
+
: `<span class="badge badge-ok">exempt</span>`;
|
|
742
|
+
} else {
|
|
743
|
+
phaseCell = `<span class="badge badge-muted">${esc(req.capturedAt)}</span>`;
|
|
744
|
+
}
|
|
735
745
|
return `<tr>
|
|
736
746
|
<td>${esc(req.trackerName ?? "Unknown")}</td>
|
|
737
747
|
<td><span class="badge badge-muted">${esc(req.trackerCategory ?? "")}</span></td>
|
|
738
|
-
<td>${
|
|
748
|
+
<td>${phaseCell}</td>
|
|
739
749
|
<td class="cell-url" style="font-size:11px;color:var(--text-muted);word-break:break-all"><code>${esc(url)}</code></td>
|
|
740
750
|
</tr>`;
|
|
741
751
|
})
|
|
@@ -1079,7 +1089,7 @@ function buildChecklistSection(result: ScanResult): string {
|
|
|
1079
1089
|
);
|
|
1080
1090
|
|
|
1081
1091
|
const preTrackers = result.networkBeforeInteraction.filter(
|
|
1082
|
-
(r) => r.trackerCategory !== null && r.trackerCategory !== "cdn",
|
|
1092
|
+
(r) => r.trackerCategory !== null && r.trackerCategory !== "cdn" && r.requiresConsent,
|
|
1083
1093
|
);
|
|
1084
1094
|
push(
|
|
1085
1095
|
"Cookie behavior",
|
|
@@ -387,15 +387,26 @@ async function extractButtons(
|
|
|
387
387
|
|
|
388
388
|
const type = classifyButtonType(text, accept, reject, preferences);
|
|
389
389
|
|
|
390
|
-
// Build a unique selector for this button
|
|
390
|
+
// Build a unique selector for this button.
|
|
391
|
+
// Prefer a class-based selector only when it uniquely identifies the element;
|
|
392
|
+
// otherwise fall back to Playwright's :has-text() pseudo-selector so that
|
|
393
|
+
// buttons sharing the same CSS classes (e.g. design-system components) can
|
|
394
|
+
// still be clicked individually.
|
|
391
395
|
const selector = await el.evaluate((node) => {
|
|
392
396
|
const el = node as Element;
|
|
393
397
|
if (el.id) return `#${el.id}`;
|
|
394
|
-
const classes = Array.from(el.classList).slice(0, 3).join(".");
|
|
395
398
|
const tag = el.tagName.toLowerCase();
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
+
const classes = Array.from(el.classList).slice(0, 3).join(".");
|
|
400
|
+
if (classes && document.querySelectorAll(`${tag}.${classes}`).length === 1) {
|
|
401
|
+
return `${tag}.${classes}`;
|
|
402
|
+
}
|
|
403
|
+
// :has-text() is a Playwright-specific selector supported by page.click()
|
|
404
|
+
const escapedText = (el.textContent?.trim() ?? "")
|
|
405
|
+
.replace(/\\/g, "\\\\")
|
|
406
|
+
.replace(/"/g, '\\"')
|
|
407
|
+
.substring(0, 40);
|
|
408
|
+
if (escapedText) return `${tag}:has-text("${escapedText}")`;
|
|
409
|
+
return classes ? `${tag}.${classes}` : tag;
|
|
399
410
|
});
|
|
400
411
|
|
|
401
412
|
const contrastRatio = computeContrastRatio(
|
package/src/scanner/index.ts
CHANGED
|
@@ -98,7 +98,12 @@ export class Scanner {
|
|
|
98
98
|
if (rejectButton) {
|
|
99
99
|
try {
|
|
100
100
|
await session1.page.click(rejectButton.selector, { timeout: 5000 });
|
|
101
|
-
|
|
101
|
+
// Some CMPs trigger a full page reload on reject — wait for networkidle
|
|
102
|
+
// so server-set cookies are captured; fall back to a plain delay if no
|
|
103
|
+
// navigation occurs within the timeout.
|
|
104
|
+
await session1.page
|
|
105
|
+
.waitForLoadState("networkidle", { timeout: 5000 })
|
|
106
|
+
.catch(() => session1.page.waitForTimeout(2000));
|
|
102
107
|
cookiesAfterReject = await captureCookies(
|
|
103
108
|
session1.context,
|
|
104
109
|
"after-reject",
|
|
@@ -154,7 +159,12 @@ export class Scanner {
|
|
|
154
159
|
|
|
155
160
|
if (acceptButton) {
|
|
156
161
|
await session2.page.click(acceptButton.selector, { timeout: 5000 });
|
|
157
|
-
|
|
162
|
+
// Some CMPs trigger a full page reload on accept — wait for networkidle
|
|
163
|
+
// so server-set cookies are captured; fall back to a plain delay if no
|
|
164
|
+
// navigation occurs within the timeout.
|
|
165
|
+
await session2.page
|
|
166
|
+
.waitForLoadState("networkidle", { timeout: 5000 })
|
|
167
|
+
.catch(() => session2.page.waitForTimeout(3000));
|
|
158
168
|
cookiesAfterAccept = await captureCookies(
|
|
159
169
|
session2.context,
|
|
160
170
|
"after-accept",
|
|
@@ -67,6 +67,7 @@ function makeCookie(
|
|
|
67
67
|
|
|
68
68
|
function makeTracker(
|
|
69
69
|
capturedAt: NetworkRequest["capturedAt"] = "before-interaction",
|
|
70
|
+
overrides: Partial<NetworkRequest> = {},
|
|
70
71
|
): NetworkRequest {
|
|
71
72
|
return {
|
|
72
73
|
url: "https://google-analytics.com/collect",
|
|
@@ -80,9 +81,20 @@ function makeTracker(
|
|
|
80
81
|
capturedAt,
|
|
81
82
|
responseStatus: 200,
|
|
82
83
|
contentType: null,
|
|
84
|
+
...overrides,
|
|
83
85
|
};
|
|
84
86
|
}
|
|
85
87
|
|
|
88
|
+
function makePlausibleTracker(
|
|
89
|
+
capturedAt: NetworkRequest["capturedAt"] = "before-interaction",
|
|
90
|
+
): NetworkRequest {
|
|
91
|
+
return makeTracker(capturedAt, {
|
|
92
|
+
url: "https://plausible.io/api/event",
|
|
93
|
+
trackerName: "Plausible Analytics",
|
|
94
|
+
requiresConsent: false,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
86
98
|
const EMPTY_INPUT = {
|
|
87
99
|
modal: makeModal({
|
|
88
100
|
detected: false,
|
|
@@ -102,6 +114,43 @@ const EMPTY_INPUT = {
|
|
|
102
114
|
networkAfterReject: [],
|
|
103
115
|
};
|
|
104
116
|
|
|
117
|
+
// ── Consent-exempt analytics (Plausible, Fathom…) ─────────────────────────────
|
|
118
|
+
|
|
119
|
+
describe("consent-exempt analytics", () => {
|
|
120
|
+
it("scores 100 with no issues when only Plausible is used and there is no consent banner", () => {
|
|
121
|
+
const result = analyzeCompliance({
|
|
122
|
+
...EMPTY_INPUT,
|
|
123
|
+
networkBeforeInteraction: [makePlausibleTracker("before-interaction")],
|
|
124
|
+
networkAfterAccept: [makePlausibleTracker("after-accept")],
|
|
125
|
+
});
|
|
126
|
+
expect(result.total).toBe(100);
|
|
127
|
+
expect(result.grade).toBe("A");
|
|
128
|
+
expect(result.issues).toHaveLength(0);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it("does not flag Plausible as a pre-consent tracker violation", () => {
|
|
132
|
+
const result = analyzeCompliance({
|
|
133
|
+
...EMPTY_INPUT,
|
|
134
|
+
networkBeforeInteraction: [makePlausibleTracker("before-interaction")],
|
|
135
|
+
});
|
|
136
|
+
expect(result.issues.some((i) => i.type === "auto-consent")).toBe(false);
|
|
137
|
+
expect(result.breakdown.cookieBehavior).toBe(25);
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it("still flags a consent-requiring tracker fired before interaction alongside Plausible", () => {
|
|
141
|
+
const result = analyzeCompliance({
|
|
142
|
+
...EMPTY_INPUT,
|
|
143
|
+
networkBeforeInteraction: [
|
|
144
|
+
makePlausibleTracker("before-interaction"),
|
|
145
|
+
makeTracker("before-interaction"),
|
|
146
|
+
],
|
|
147
|
+
networkAfterAccept: [makeTracker("after-accept")],
|
|
148
|
+
});
|
|
149
|
+
expect(result.issues.some((i) => i.type === "auto-consent")).toBe(true);
|
|
150
|
+
expect(result.breakdown.cookieBehavior).toBeLessThan(25);
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
|
|
105
154
|
// ── Grade thresholds ──────────────────────────────────────────────────────────
|
|
106
155
|
|
|
107
156
|
describe("grade thresholds", () => {
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Build context: repo root (docker build -f website/Dockerfile .)
|
|
2
|
+
|
|
3
|
+
# ── Stage 1: build ────────────────────────────────────────────────────────────
|
|
4
|
+
FROM node:24-slim AS builder
|
|
5
|
+
WORKDIR /app
|
|
6
|
+
|
|
7
|
+
# Install compression tools (brotli, zstd, zopfli)
|
|
8
|
+
RUN apt-get update && apt-get install -y --no-install-recommends brotli zstd zopfli \
|
|
9
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
10
|
+
|
|
11
|
+
RUN npm install -g pnpm@latest
|
|
12
|
+
|
|
13
|
+
# Copy workspace manifests for layer caching
|
|
14
|
+
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
15
|
+
COPY website/package.json ./website/
|
|
16
|
+
|
|
17
|
+
# Install website deps only (no playwright, no CLI deps)
|
|
18
|
+
RUN pnpm install --frozen-lockfile --filter @slashgear/gdpr-website
|
|
19
|
+
|
|
20
|
+
# Copy source and compile
|
|
21
|
+
COPY website/tsconfig.json ./website/
|
|
22
|
+
COPY website/src ./website/src
|
|
23
|
+
RUN pnpm --filter @slashgear/gdpr-website build
|
|
24
|
+
|
|
25
|
+
# Copy static assets and precompress them
|
|
26
|
+
COPY website/public ./website/public
|
|
27
|
+
RUN find /app/website/public -type f \( -name "*.html" -o -name "*.css" -o -name "*.js" -o -name "*.json" -o -name "*.svg" \) | \
|
|
28
|
+
while read f; do \
|
|
29
|
+
brotli --best -k "$f"; \
|
|
30
|
+
zstd --ultra -22 -k "$f"; \
|
|
31
|
+
zopfli --gzip "$f"; \
|
|
32
|
+
done
|
|
33
|
+
|
|
34
|
+
# ── Stage 2: runtime ──────────────────────────────────────────────────────────
|
|
35
|
+
FROM node:24-slim
|
|
36
|
+
WORKDIR /app
|
|
37
|
+
ENV NODE_ENV=production
|
|
38
|
+
|
|
39
|
+
RUN npm install -g pnpm@latest
|
|
40
|
+
|
|
41
|
+
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
42
|
+
COPY website/package.json ./website/
|
|
43
|
+
RUN pnpm install --prod --frozen-lockfile --filter @slashgear/gdpr-website
|
|
44
|
+
|
|
45
|
+
# Static assets with precompressed variants (.br, .zst, .gz)
|
|
46
|
+
COPY --from=builder /app/website/public ./website/public
|
|
47
|
+
|
|
48
|
+
# Compiled server
|
|
49
|
+
COPY --from=builder /app/website/dist ./website/dist
|
|
50
|
+
|
|
51
|
+
WORKDIR /app/website
|
|
52
|
+
ENV PORT=8080
|
|
53
|
+
EXPOSE 8080
|
|
54
|
+
|
|
55
|
+
CMD ["node", "dist/index.js"]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxfmt@0.34.0/node_modules/oxfmt/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxfmt@0.34.0/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxfmt@0.34.0/node_modules/oxfmt/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxfmt@0.34.0/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../oxfmt/bin/oxfmt" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../oxfmt/bin/oxfmt" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxlint@1.49.0/node_modules/oxlint/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxlint@1.49.0/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxlint@1.49.0/node_modules/oxlint/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/oxlint@1.49.0/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../oxlint/bin/oxlint" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../oxlint/bin/oxlint" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/typescript@5.9.3/node_modules:/home/runner/work/gdpr-cookie-scanner/gdpr-cookie-scanner/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
+
fi
|