@google-psat/analysis-utils 0.11.0 → 0.13.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.
@@ -38,12 +38,13 @@ const parseNetworkDataToCookieData_1 = require("./parseNetworkDataToCookieData")
38
38
  const collateCookieData_1 = __importDefault(require("./collateCookieData"));
39
39
  const constants_1 = require("../constants");
40
40
  class BrowserManagement {
41
- constructor(viewportConfig, isHeadless, pageWaitTime, shouldLogDebug, indent, spinnies, selectors) {
41
+ constructor(viewportConfig, isHeadless, pageWaitTime, shouldLogDebug, indent, isSiteMap, spinnies, selectors) {
42
42
  this.indent = 0;
43
43
  this.viewportConfig = viewportConfig;
44
44
  this.browser = null;
45
45
  this.isHeadless = isHeadless;
46
46
  this.pageWaitTime = pageWaitTime;
47
+ this.isSiteMap = isSiteMap;
47
48
  this.pages = {};
48
49
  this.pageFrames = {};
49
50
  this.pageResponses = {};
@@ -52,13 +53,16 @@ class BrowserManagement {
52
53
  this.pageResourcesMaps = {};
53
54
  this.spinnies = spinnies;
54
55
  this.indent = indent;
56
+ this.erroredOutUrls = {};
55
57
  this.selectors = selectors;
58
+ this.erroredOutUrls = {};
56
59
  }
57
- debugLog(msg) {
60
+ debugLog(msg, shouldShowWarning) {
58
61
  if (this.shouldLogDebug && this.spinnies) {
59
62
  this.spinnies.add(msg, {
60
63
  text: msg,
61
- succeedColor: 'white',
64
+ succeedColor: shouldShowWarning ? 'yellowBright' : 'white',
65
+ spinnerColor: shouldShowWarning ? 'yellowBright' : 'white',
62
66
  status: 'non-spinnable',
63
67
  indent: this.indent,
64
68
  });
@@ -82,19 +86,14 @@ class BrowserManagement {
82
86
  clickOnButtonUsingCMPSelectors(page) {
83
87
  return __awaiter(this, void 0, void 0, function* () {
84
88
  let clickedOnButton = false;
85
- try {
86
- yield Promise.all(constants_1.CMP_SELECTORS.map((selector) => __awaiter(this, void 0, void 0, function* () {
87
- const buttonToClick = yield page.$(selector);
88
- if (buttonToClick) {
89
- yield buttonToClick.click();
90
- clickedOnButton = true;
91
- }
92
- })));
93
- return clickedOnButton;
94
- }
95
- catch (error) {
96
- return clickedOnButton;
97
- }
89
+ yield Promise.all(constants_1.CMP_SELECTORS.map((selector) => __awaiter(this, void 0, void 0, function* () {
90
+ const buttonToClick = yield page.$(selector);
91
+ if (buttonToClick) {
92
+ yield buttonToClick.click();
93
+ clickedOnButton = true;
94
+ }
95
+ })));
96
+ return clickedOnButton;
98
97
  });
99
98
  }
100
99
  clickOnGDPRUsingTextSelectors(page, textSelectors) {
@@ -102,68 +101,75 @@ class BrowserManagement {
102
101
  if (textSelectors.length === 0) {
103
102
  return false;
104
103
  }
105
- try {
106
- const result = yield page.evaluate((args) => {
107
- var _a, _b, _c;
108
- const bannerNodes = (_c = (_b = Array.from((((_a = document.querySelector('body')) === null || _a === void 0 ? void 0 : _a.childNodes) || []))) === null || _b === void 0 ? void 0 : _b.filter((node) => node && (node === null || node === void 0 ? void 0 : node.tagName) === 'DIV')) === null || _c === void 0 ? void 0 : _c.filter((node) => {
109
- if (!node || !(node === null || node === void 0 ? void 0 : node.textContent)) {
104
+ const result = yield page.evaluate((args) => {
105
+ var _a, _b, _c;
106
+ const bannerNodes = (_c = (_b = Array.from((((_a = document.querySelector('body')) === null || _a === void 0 ? void 0 : _a.childNodes) || []))) === null || _b === void 0 ? void 0 : _b.filter((node) => node && (node === null || node === void 0 ? void 0 : node.tagName) === 'DIV')) === null || _c === void 0 ? void 0 : _c.filter((node) => {
107
+ if (!node || !(node === null || node === void 0 ? void 0 : node.textContent)) {
108
+ return false;
109
+ }
110
+ const regex = /\b(consent|policy|cookie policy|privacy policy|personalize|preferences|cookies)\b/;
111
+ return regex.test(node.textContent.toLowerCase());
112
+ });
113
+ return bannerNodes === null || bannerNodes === void 0 ? void 0 : bannerNodes.some((node) => {
114
+ const buttonNodes = Array.from(node === null || node === void 0 ? void 0 : node.getElementsByTagName('button'));
115
+ return buttonNodes === null || buttonNodes === void 0 ? void 0 : buttonNodes.some((cnode) => {
116
+ if (!(cnode === null || cnode === void 0 ? void 0 : cnode.textContent)) {
110
117
  return false;
111
118
  }
112
- const regex = /\b(consent|policy|cookie policy|privacy policy|personalize|preferences|cookies)\b/;
113
- return regex.test(node.textContent.toLowerCase());
114
- });
115
- return bannerNodes === null || bannerNodes === void 0 ? void 0 : bannerNodes.some((node) => {
116
- const buttonNodes = Array.from(node === null || node === void 0 ? void 0 : node.getElementsByTagName('button'));
117
- return buttonNodes === null || buttonNodes === void 0 ? void 0 : buttonNodes.some((cnode) => {
118
- if (!(cnode === null || cnode === void 0 ? void 0 : cnode.textContent)) {
119
- return false;
119
+ return args.some((text) => {
120
+ var _a;
121
+ if ((_a = cnode === null || cnode === void 0 ? void 0 : cnode.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(text)) {
122
+ cnode === null || cnode === void 0 ? void 0 : cnode.click();
123
+ return true;
120
124
  }
121
- return args.some((text) => {
122
- var _a;
123
- if ((_a = cnode === null || cnode === void 0 ? void 0 : cnode.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(text)) {
124
- cnode === null || cnode === void 0 ? void 0 : cnode.click();
125
- return true;
126
- }
127
- return false;
128
- });
125
+ return false;
129
126
  });
130
127
  });
131
- }, textSelectors);
132
- return result;
133
- }
134
- catch (error) {
135
- return false;
136
- }
128
+ });
129
+ }, textSelectors);
130
+ return result;
137
131
  });
138
132
  }
139
133
  clickOnAcceptBanner(url) {
140
134
  return __awaiter(this, void 0, void 0, function* () {
141
- const page = this.pages[url];
142
- if (!page) {
143
- throw new Error('No page with the provided id was found');
144
- }
145
- const didSelectorsFromUserWork = yield this.useSelectorsToSelectGDPRBanner(page);
146
- if (didSelectorsFromUserWork) {
147
- this.debugLog('GDPR banner found and accepted');
148
- yield (0, common_1.delay)(this.pageWaitTime / 2);
149
- return;
150
- }
151
- // Click using CSS selectors.
152
- const clickedUsingCMPCSSSelectors = yield this.clickOnButtonUsingCMPSelectors(page);
153
- if (clickedUsingCMPCSSSelectors) {
154
- this.debugLog('GDPR banner found and accepted');
135
+ var _a;
136
+ try {
137
+ const page = this.pages[url];
138
+ if (!page) {
139
+ throw new Error('No page with the provided id was found');
140
+ }
141
+ const didSelectorsFromUserWork = yield this.useSelectorsToSelectGDPRBanner(page);
142
+ if (didSelectorsFromUserWork) {
143
+ this.debugLog('GDPR banner found and accepted');
144
+ yield (0, common_1.delay)(this.pageWaitTime / 2);
145
+ return;
146
+ }
147
+ // Click using CSS selectors.
148
+ const clickedUsingCMPCSSSelectors = yield this.clickOnButtonUsingCMPSelectors(page);
149
+ if (clickedUsingCMPCSSSelectors) {
150
+ this.debugLog('GDPR banner found and accepted');
151
+ yield (0, common_1.delay)(this.pageWaitTime / 2);
152
+ return;
153
+ }
154
+ const buttonClicked = yield this.clickOnGDPRUsingTextSelectors(page, constants_1.CMP_TEXT_SELECTORS);
155
+ if (buttonClicked) {
156
+ this.debugLog('GDPR banner found and accepted');
157
+ yield (0, common_1.delay)(this.pageWaitTime / 2);
158
+ return;
159
+ }
160
+ this.debugLog('GDPR banner could not be found');
155
161
  yield (0, common_1.delay)(this.pageWaitTime / 2);
156
162
  return;
157
163
  }
158
- const buttonClicked = yield this.clickOnGDPRUsingTextSelectors(page, constants_1.CMP_TEXT_SELECTORS);
159
- if (buttonClicked) {
160
- this.debugLog('GDPR banner found and accepted');
161
- yield (0, common_1.delay)(this.pageWaitTime / 2);
162
- return;
164
+ catch (error) {
165
+ if (error instanceof Error) {
166
+ this.pushErrors(url, {
167
+ errorMessage: error.message,
168
+ stackTrace: (_a = error === null || error === void 0 ? void 0 : error.stack) !== null && _a !== void 0 ? _a : '',
169
+ errorName: error === null || error === void 0 ? void 0 : error.name,
170
+ });
171
+ }
163
172
  }
164
- this.debugLog('GDPR banner could not be found');
165
- yield (0, common_1.delay)(this.pageWaitTime / 2);
166
- return;
167
173
  });
168
174
  }
169
175
  useSelectorsToSelectGDPRBanner(page) {
@@ -173,46 +179,41 @@ class BrowserManagement {
173
179
  if (!this.selectors) {
174
180
  return false;
175
181
  }
176
- try {
177
- yield Promise.all((_a = this.selectors) === null || _a === void 0 ? void 0 : _a.cssSelectors.map((selector) => __awaiter(this, void 0, void 0, function* () {
178
- const buttonToClick = yield page.$(selector);
179
- if (buttonToClick) {
180
- clickedOnButton = true;
181
- this.debugLog('GDPR banner found and accepted');
182
- yield buttonToClick.click();
183
- }
184
- })));
185
- if (clickedOnButton) {
186
- return clickedOnButton;
187
- }
188
- clickedOnButton = yield page.evaluate((xPaths) => {
189
- const rootElement = document.querySelector('html');
190
- if (!rootElement) {
191
- return false;
192
- }
193
- return xPaths.some((xPath) => {
194
- const _acceptButton = document
195
- .evaluate(xPath, rootElement)
196
- .iterateNext();
197
- if (!_acceptButton) {
198
- return false;
199
- }
200
- if (_acceptButton instanceof HTMLElement) {
201
- _acceptButton === null || _acceptButton === void 0 ? void 0 : _acceptButton.click();
202
- return true;
203
- }
204
- return false;
205
- });
206
- }, (_b = this.selectors) === null || _b === void 0 ? void 0 : _b.xPath);
207
- if (clickedOnButton) {
208
- return clickedOnButton;
182
+ yield Promise.all((_a = this.selectors) === null || _a === void 0 ? void 0 : _a.cssSelectors.map((selector) => __awaiter(this, void 0, void 0, function* () {
183
+ const buttonToClick = yield page.$(selector);
184
+ if (buttonToClick) {
185
+ clickedOnButton = true;
186
+ this.debugLog('GDPR banner found and accepted');
187
+ yield buttonToClick.click();
209
188
  }
210
- clickedOnButton = yield this.clickOnGDPRUsingTextSelectors(page, (_c = this.selectors) === null || _c === void 0 ? void 0 : _c.textSelectors);
189
+ })));
190
+ if (clickedOnButton) {
211
191
  return clickedOnButton;
212
192
  }
213
- catch (error) {
193
+ clickedOnButton = yield page.evaluate((xPaths) => {
194
+ const rootElement = document.querySelector('html');
195
+ if (!rootElement) {
196
+ return false;
197
+ }
198
+ return xPaths.some((xPath) => {
199
+ const _acceptButton = document
200
+ .evaluate(xPath, rootElement)
201
+ .iterateNext();
202
+ if (!_acceptButton) {
203
+ return false;
204
+ }
205
+ if (_acceptButton instanceof HTMLElement) {
206
+ _acceptButton === null || _acceptButton === void 0 ? void 0 : _acceptButton.click();
207
+ return true;
208
+ }
209
+ return false;
210
+ });
211
+ }, (_b = this.selectors) === null || _b === void 0 ? void 0 : _b.xPath);
212
+ if (clickedOnButton) {
214
213
  return clickedOnButton;
215
214
  }
215
+ clickedOnButton = yield this.clickOnGDPRUsingTextSelectors(page, (_c = this.selectors) === null || _c === void 0 ? void 0 : _c.textSelectors);
216
+ return clickedOnButton;
216
217
  });
217
218
  }
218
219
  openPage() {
@@ -231,20 +232,50 @@ class BrowserManagement {
231
232
  return sitePage;
232
233
  });
233
234
  }
235
+ pushErrors(url, objectToPushed) {
236
+ if (!this.erroredOutUrls[url]) {
237
+ this.erroredOutUrls[url] = [];
238
+ }
239
+ this.erroredOutUrls[url].push(objectToPushed);
240
+ }
234
241
  navigateToPage(url) {
235
242
  return __awaiter(this, void 0, void 0, function* () {
243
+ var _a;
236
244
  const page = this.pages[url];
237
245
  if (!page) {
238
246
  throw new Error('No page with the provided ID was found');
239
247
  }
240
248
  this.debugLog(`Starting navigation to URL: ${url}`);
241
249
  try {
242
- yield page.goto(url, { timeout: 10000 });
250
+ const response = yield page.goto(url, {
251
+ timeout: 10000,
252
+ });
253
+ const SUCCESS_RESPONSE = 200;
254
+ if (response && response.status() !== SUCCESS_RESPONSE) {
255
+ this.pushErrors(url, {
256
+ errorMessage: `Invalid server response: ${response.status()}`,
257
+ errorCode: `${response.status()}`,
258
+ errorName: `INVALID_SERVER_RESPONSE`,
259
+ });
260
+ this.debugLog(`Warning: Server error found in URL: ${url}`, true);
261
+ if (!this.isSiteMap) {
262
+ throw new Error(`Invalid server response: ${response.status()}`);
263
+ }
264
+ }
243
265
  this.debugLog(`Navigation completed to URL: ${url}`);
244
266
  }
245
267
  catch (error) {
246
- this.debugLog(`Navigation did not finish in 10 seconds moving on to scrolling`);
247
- //ignore
268
+ if (error instanceof Error) {
269
+ this.pushErrors(url, {
270
+ errorMessage: error.message,
271
+ stackTrace: (_a = error === null || error === void 0 ? void 0 : error.stack) !== null && _a !== void 0 ? _a : '',
272
+ errorName: error === null || error === void 0 ? void 0 : error.name,
273
+ });
274
+ if ((error === null || error === void 0 ? void 0 : error.name) === 'TimeoutError' || (error === null || error === void 0 ? void 0 : error.name) === 'i') {
275
+ this.debugLog(`Navigation did not finish on URL ${url} in 10 seconds moving on to scrolling`);
276
+ }
277
+ throw error;
278
+ }
248
279
  }
249
280
  });
250
281
  }
@@ -557,31 +588,45 @@ class BrowserManagement {
557
588
  }
558
589
  insertAndRunDOMQueryFunctions(url, Libraries) {
559
590
  return __awaiter(this, void 0, void 0, function* () {
560
- const page = this.pages[url];
561
- if (!page) {
562
- throw new Error('No page with the provided ID was found');
591
+ var _a;
592
+ try {
593
+ const page = this.pages[url];
594
+ if (!page) {
595
+ throw new Error('No page with the provided ID was found');
596
+ }
597
+ const domQueryMatches = {};
598
+ yield Promise.all(Libraries.map((_a) => __awaiter(this, [_a], void 0, function* ({ domQueryFunction, name }) {
599
+ if (domQueryFunction && name) {
600
+ yield page.addScriptTag({
601
+ content: `window.${name.replaceAll('-', '')} = ${domQueryFunction}`,
602
+ });
603
+ const queryResult = yield page.evaluate((library) => {
604
+ //@ts-ignore
605
+ const functionDOMQuery = window[`${library}`];
606
+ if (!functionDOMQuery) {
607
+ return [];
608
+ }
609
+ return functionDOMQuery();
610
+ }, name.replaceAll('-', ''));
611
+ domQueryMatches[name] = {
612
+ domQuerymatches: queryResult,
613
+ };
614
+ }
615
+ })));
616
+ const mainFrameUrl = new URL(page.url()).origin;
617
+ return { [mainFrameUrl]: domQueryMatches };
563
618
  }
564
- const domQueryMatches = {};
565
- yield Promise.all(Libraries.map((_a) => __awaiter(this, [_a], void 0, function* ({ domQueryFunction, name }) {
566
- if (domQueryFunction && name) {
567
- yield page.addScriptTag({
568
- content: `window.${name.replaceAll('-', '')} = ${domQueryFunction}`,
619
+ catch (error) {
620
+ if (error instanceof Error) {
621
+ this.pushErrors(url, {
622
+ errorMessage: error.message,
623
+ stackTrace: (_a = error === null || error === void 0 ? void 0 : error.stack) !== null && _a !== void 0 ? _a : '',
624
+ errorName: error === null || error === void 0 ? void 0 : error.name,
569
625
  });
570
- const queryResult = yield page.evaluate((library) => {
571
- //@ts-ignore
572
- const functionDOMQuery = window[`${library}`];
573
- if (!functionDOMQuery) {
574
- return [];
575
- }
576
- return functionDOMQuery();
577
- }, name.replaceAll('-', ''));
578
- domQueryMatches[name] = {
579
- domQuerymatches: queryResult,
580
- };
626
+ throw error;
581
627
  }
582
- })));
583
- const mainFrameUrl = new URL(page.url()).origin;
584
- return { [mainFrameUrl]: domQueryMatches };
628
+ return {};
629
+ }
585
630
  });
586
631
  }
587
632
  analyzeCookies(userProvidedUrls, shouldSkipAcceptBanner, Libraries) {
@@ -594,26 +639,48 @@ class BrowserManagement {
594
639
  yield this.attachListenersToPage(url);
595
640
  })));
596
641
  // Navigate to URLs
597
- yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
598
- yield this.navigateToPage(url);
599
- })));
642
+ // eslint-disable-next-line no-useless-catch -- Because we are rethrowing the same error no need to create a new Error instance
643
+ try {
644
+ yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
645
+ yield this.navigateToPage(url);
646
+ })));
647
+ }
648
+ catch (error) {
649
+ if (!this.isSiteMap) {
650
+ throw error;
651
+ }
652
+ }
600
653
  // Delay for page to load resources
601
654
  yield (0, common_1.delay)(this.pageWaitTime / 2);
602
655
  // Accept Banners
603
656
  if (!shouldSkipAcceptBanner) {
604
657
  // delay
605
- yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
606
- yield this.clickOnAcceptBanner(url);
607
- })));
658
+ try {
659
+ yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
660
+ yield this.clickOnAcceptBanner(url);
661
+ })));
662
+ }
663
+ catch (error) {
664
+ if (!this.isSiteMap) {
665
+ throw error;
666
+ }
667
+ }
608
668
  }
609
669
  // Scroll to bottom of the page
610
670
  yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
611
671
  yield this.pageScroll(url);
612
672
  })));
613
- yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
614
- const newMatches = yield this.insertAndRunDOMQueryFunctions(url, Libraries);
615
- consolidatedDOMQueryMatches = Object.assign(Object.assign({}, consolidatedDOMQueryMatches), newMatches);
616
- })));
673
+ try {
674
+ yield Promise.all(userProvidedUrls.map((url) => __awaiter(this, void 0, void 0, function* () {
675
+ const newMatches = yield this.insertAndRunDOMQueryFunctions(url, Libraries);
676
+ consolidatedDOMQueryMatches = Object.assign(Object.assign({}, consolidatedDOMQueryMatches), newMatches);
677
+ })));
678
+ }
679
+ catch (error) {
680
+ if (!this.isSiteMap) {
681
+ throw error;
682
+ }
683
+ }
617
684
  // Delay for page to load more resources
618
685
  yield (0, common_1.delay)(this.pageWaitTime / 2);
619
686
  const mainFrameUrlIdMap = yield this.getMainframeIds();
@@ -648,7 +715,11 @@ class BrowserManagement {
648
715
  cookieData: collatedCookieData,
649
716
  };
650
717
  })));
651
- return { result, consolidatedDOMQueryMatches };
718
+ return {
719
+ result,
720
+ consolidatedDOMQueryMatches,
721
+ erroredOutUrls: this.erroredOutUrls,
722
+ };
652
723
  });
653
724
  }
654
725
  deinitialize() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browserManagement/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browserManagement/index.ts"],"names":[],"mappings":"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"}
@@ -33,39 +33,46 @@ const common_1 = require("@google-psat/common");
33
33
  * Internal dependencies.
34
34
  */
35
35
  const browserManagement_1 = require("../browserManagement");
36
- const analyzeCookiesUrlsAndFetchResources = (urls_1, Libraries_1, isHeadless_1, delayTime_1, cookieDictionary_1, shouldSkipAcceptBanner_1, verbose_1, selectors_1, spinnies_1, ...args_1) => __awaiter(void 0, [urls_1, Libraries_1, isHeadless_1, delayTime_1, cookieDictionary_1, shouldSkipAcceptBanner_1, verbose_1, selectors_1, spinnies_1, ...args_1], void 0, function* (urls, Libraries, isHeadless, delayTime, cookieDictionary, shouldSkipAcceptBanner, verbose, selectors, spinnies, indent = 4) {
37
- const browser = new browserManagement_1.BrowserManagement({
38
- width: 1440,
39
- height: 790,
40
- deviceScaleFactor: 1,
41
- }, isHeadless, delayTime, verbose, indent, spinnies, selectors);
42
- yield browser.initializeBrowser(true);
43
- const { result: analysisCookieData, consolidatedDOMQueryMatches } = yield browser.analyzeCookies(urls, shouldSkipAcceptBanner, Libraries);
44
- const resources = browser.getResources(urls);
45
- const res = analysisCookieData.map(({ url: pageUrl, cookieData }) => {
46
- Object.entries(cookieData).forEach(([, frameData]) => {
47
- const frameCookies = frameData.frameCookies;
48
- Object.entries(frameCookies).forEach(([key, cookie]) => {
49
- const analytics = (0, common_1.findAnalyticsMatch)(cookie.parsedCookie.name, cookieDictionary);
50
- frameCookies[key.trim()].analytics = {
51
- platform: (analytics === null || analytics === void 0 ? void 0 : analytics.platform) || 'Unknown',
52
- category: (analytics === null || analytics === void 0 ? void 0 : analytics.category) || 'Uncategorized',
53
- gdprUrl: (analytics === null || analytics === void 0 ? void 0 : analytics.gdprUrl) || '',
54
- description: analytics === null || analytics === void 0 ? void 0 : analytics.description,
55
- };
56
- frameCookies[key.trim()].isFirstParty = (0, common_1.isFirstParty)(cookie.parsedCookie.domain, pageUrl);
57
- frameCookies[key.trim()].blockingStatus = (0, common_1.deriveBlockingStatus)(cookie.networkEvents);
36
+ const analyzeCookiesUrlsAndFetchResources = (urls_1, Libraries_1, isHeadless_1, delayTime_1, cookieDictionary_1, shouldSkipAcceptBanner_1, verbose_1, isSitemap_1, selectors_1, spinnies_1, ...args_1) => __awaiter(void 0, [urls_1, Libraries_1, isHeadless_1, delayTime_1, cookieDictionary_1, shouldSkipAcceptBanner_1, verbose_1, isSitemap_1, selectors_1, spinnies_1, ...args_1], void 0, function* (urls, Libraries, isHeadless, delayTime, cookieDictionary, shouldSkipAcceptBanner, verbose, isSitemap, selectors, spinnies, indent = 4) {
37
+ // eslint-disable-next-line no-useless-catch -- Because we are rethrowing the same error no need to create a new Error instance
38
+ try {
39
+ const browser = new browserManagement_1.BrowserManagement({
40
+ width: 1440,
41
+ height: 790,
42
+ deviceScaleFactor: 1,
43
+ }, isHeadless, delayTime, verbose, indent, isSitemap, spinnies, selectors);
44
+ yield browser.initializeBrowser(true);
45
+ const { result: analysisCookieData, consolidatedDOMQueryMatches, erroredOutUrls, } = yield browser.analyzeCookies(urls, shouldSkipAcceptBanner, Libraries);
46
+ const resources = browser.getResources(urls);
47
+ const res = analysisCookieData.map(({ url: pageUrl, cookieData }) => {
48
+ Object.entries(cookieData).forEach(([, frameData]) => {
49
+ const frameCookies = frameData.frameCookies;
50
+ Object.entries(frameCookies).forEach(([key, cookie]) => {
51
+ const analytics = (0, common_1.findAnalyticsMatch)(cookie.parsedCookie.name, cookieDictionary);
52
+ frameCookies[key.trim()].analytics = {
53
+ platform: (analytics === null || analytics === void 0 ? void 0 : analytics.platform) || 'Unknown',
54
+ category: (analytics === null || analytics === void 0 ? void 0 : analytics.category) || 'Uncategorized',
55
+ gdprUrl: (analytics === null || analytics === void 0 ? void 0 : analytics.gdprUrl) || '',
56
+ description: analytics === null || analytics === void 0 ? void 0 : analytics.description,
57
+ };
58
+ frameCookies[key.trim()].isFirstParty = (0, common_1.isFirstParty)(cookie.parsedCookie.domain, pageUrl);
59
+ frameCookies[key.trim()].blockingStatus = (0, common_1.deriveBlockingStatus)(cookie.networkEvents);
60
+ });
58
61
  });
62
+ return {
63
+ url: pageUrl,
64
+ cookieData,
65
+ resources: resources[pageUrl],
66
+ erroredOutUrls,
67
+ domQueryMatches: consolidatedDOMQueryMatches[pageUrl],
68
+ };
59
69
  });
60
- return {
61
- url: pageUrl,
62
- cookieData,
63
- resources: resources[pageUrl],
64
- domQueryMatches: consolidatedDOMQueryMatches[pageUrl],
65
- };
66
- });
67
- yield browser.deinitialize();
68
- return res;
70
+ yield browser.deinitialize();
71
+ return res;
72
+ }
73
+ catch (error) {
74
+ throw error;
75
+ }
69
76
  });
70
77
  exports.analyzeCookiesUrlsAndFetchResources = analyzeCookiesUrlsAndFetchResources;
71
78
  //# sourceMappingURL=analyzeCookiesUrlsAndFetchResources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeCookiesUrlsAndFetchResources.js","sourceRoot":"","sources":["../../src/procedures/analyzeCookiesUrlsAndFetchResources.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH;;GAEG;AACH,gDAO6B;AAE7B;;GAEG;AACH,4DAAyD;AAElD,MAAM,mCAAmC,GAAG,8IAWjD,EAAE,qLAVF,IAAc,EACd,SAA4B,EAC5B,UAAmB,EACnB,SAAiB,EACjB,gBAAgC,EAChC,sBAA+B,EAC/B,OAAgB,EAChB,SAAqB,EACrB,QAAmB,EACnB,MAAM,GAAG,CAAC;IAEV,MAAM,OAAO,GAAG,IAAI,qCAAiB,CACnC;QACE,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,GAAG;QACX,iBAAiB,EAAE,CAAC;KACrB,EACD,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,MAAM,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,GAC/D,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;QAClE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE;YACnD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;gBACrD,MAAM,SAAS,GAAG,IAAA,2BAAkB,EAClC,MAAM,CAAC,YAAY,CAAC,IAAI,EACxB,gBAAgB,CACjB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,GAAG;oBACnC,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,KAAI,SAAS;oBAC1C,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,KAAI,eAAe;oBAChD,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,KAAI,EAAE;oBACjC,WAAW,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW;iBACpC,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,GAAG,IAAA,qBAAY,EAClD,MAAM,CAAC,YAAY,CAAC,MAAM,EAC1B,OAAO,CACR,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,GAAG,IAAA,6BAAoB,EAC5D,MAAM,CAAC,aAAa,CACrB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,EAAE,OAAO;YACZ,UAAU;YACV,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;YAC7B,eAAe,EAAE,2BAA2B,CAAC,OAAO,CAAC;SACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC;AArEW,QAAA,mCAAmC,uCAqE9C"}
1
+ {"version":3,"file":"analyzeCookiesUrlsAndFetchResources.js","sourceRoot":"","sources":["../../src/procedures/analyzeCookiesUrlsAndFetchResources.ts"],"names":[],"mappings":"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"}
@@ -34,24 +34,30 @@ const common_1 = require("@google-psat/common");
34
34
  */
35
35
  const analyzeCookiesUrlsAndFetchResources_1 = require("./analyzeCookiesUrlsAndFetchResources");
36
36
  const analyzeCookiesUrlsInBatchesAndFetchResources = (urls_1, Libraries_1, isHeadless_1, delayTime_1, cookieDictionary_1, ...args_1) => __awaiter(void 0, [urls_1, Libraries_1, isHeadless_1, delayTime_1, cookieDictionary_1, ...args_1], void 0, function* (urls, Libraries, isHeadless, delayTime, cookieDictionary, batchSize = 3, spinnies, shouldSkipAcceptBanner = false, verbose = false, indent = 4, selectors) {
37
- let report = [];
38
- for (let i = 0; i < urls.length; i += batchSize) {
39
- const start = i;
40
- const end = Math.min(urls.length - 1, i + batchSize - 1);
41
- spinnies &&
42
- indent === 4 &&
43
- spinnies.add(`cookie-batch-spinner${start + 1}-${end + 1}`, {
44
- text: `Analyzing cookies in URLs ${start + 1} - ${end + 1}`,
45
- indent,
46
- });
47
- const urlsWindow = urls.slice(start, end + 1);
48
- const cookieAnalysisAndFetchedResources = yield (0, analyzeCookiesUrlsAndFetchResources_1.analyzeCookiesUrlsAndFetchResources)(urlsWindow, Libraries, isHeadless, delayTime, cookieDictionary, shouldSkipAcceptBanner, verbose, selectors, spinnies);
49
- report = [...report, ...cookieAnalysisAndFetchedResources];
50
- spinnies &&
51
- indent === 4 &&
52
- (0, common_1.removeAndAddNewSpinnerText)(spinnies, `cookie-batch-spinner${start + 1}-${end + 1}`, `Done analyzing cookies in URLs ${start + 1} - ${end + 1}`, indent);
37
+ // eslint-disable-next-line no-useless-catch -- Because we are rethrowing the same error no need to create a new Error instance
38
+ try {
39
+ let report = [];
40
+ for (let i = 0; i < urls.length; i += batchSize) {
41
+ const start = i;
42
+ const end = Math.min(urls.length - 1, i + batchSize - 1);
43
+ spinnies &&
44
+ indent === 4 &&
45
+ spinnies.add(`cookie-batch-spinner${start + 1}-${end + 1}`, {
46
+ text: `Analyzing cookies in URLs ${start + 1} - ${end + 1}`,
47
+ indent,
48
+ });
49
+ const urlsWindow = urls.slice(start, end + 1);
50
+ const cookieAnalysisAndFetchedResources = yield (0, analyzeCookiesUrlsAndFetchResources_1.analyzeCookiesUrlsAndFetchResources)(urlsWindow, Libraries, isHeadless, delayTime, cookieDictionary, shouldSkipAcceptBanner, verbose, urls.length > 1, selectors, spinnies);
51
+ report = [...report, ...cookieAnalysisAndFetchedResources];
52
+ spinnies &&
53
+ indent === 4 &&
54
+ (0, common_1.removeAndAddNewSpinnerText)(spinnies, `cookie-batch-spinner${start + 1}-${end + 1}`, `Done analyzing cookies in URLs ${start + 1} - ${end + 1}`, indent);
55
+ }
56
+ return report;
57
+ }
58
+ catch (error) {
59
+ throw error;
53
60
  }
54
- return report;
55
61
  });
56
62
  exports.analyzeCookiesUrlsInBatchesAndFetchResources = analyzeCookiesUrlsInBatchesAndFetchResources;
57
63
  //# sourceMappingURL=analyzeCookiesUrlsInBatchesAndFetchResources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeCookiesUrlsInBatchesAndFetchResources.js","sourceRoot":"","sources":["../../src/procedures/analyzeCookiesUrlsInBatchesAndFetchResources.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH;;GAEG;AACH,gDAO6B;AAE7B;;GAEG;AACH,+FAA4F;AAErF,MAAM,4CAA4C,GAAG,gFAY1D,EAAE,uHAXF,IAAc,EACd,SAA4B,EAC5B,UAAmB,EACnB,SAAiB,EACjB,gBAAgC,EAChC,SAAS,GAAG,CAAC,EACb,QAAmB,EACnB,sBAAsB,GAAG,KAAK,EAC9B,OAAO,GAAG,KAAK,EACf,MAAM,GAAG,CAAC,EACV,SAAqB;IAErB,IAAI,MAAM,GAeJ,EAAE,CAAC;IAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAEzD,QAAQ;YACN,MAAM,KAAK,CAAC;YACZ,QAAQ,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE;gBAC1D,IAAI,EAAE,6BAA6B,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;gBAC3D,MAAM;aACP,CAAC,CAAC;QAEL,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAE9C,MAAM,iCAAiC,GACrC,MAAM,IAAA,yEAAmC,EACvC,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAC;QAEJ,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,iCAAiC,CAAC,CAAC;QAE3D,QAAQ;YACN,MAAM,KAAK,CAAC;YACZ,IAAA,mCAA0B,EACxB,QAAQ,EACR,uBAAuB,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,EAC7C,kCAAkC,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EAC1D,MAAM,CACP,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AArEW,QAAA,4CAA4C,gDAqEvD"}
1
+ {"version":3,"file":"analyzeCookiesUrlsInBatchesAndFetchResources.js","sourceRoot":"","sources":["../../src/procedures/analyzeCookiesUrlsInBatchesAndFetchResources.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH;;GAEG;AACH,gDAQ6B;AAE7B;;GAEG;AACH,+FAA4F;AAErF,MAAM,4CAA4C,GAAG,gFAY1D,EAAE,uHAXF,IAAc,EACd,SAA4B,EAC5B,UAAmB,EACnB,SAAiB,EACjB,gBAAgC,EAChC,SAAS,GAAG,CAAC,EACb,QAAmB,EACnB,sBAAsB,GAAG,KAAK,EAC9B,OAAO,GAAG,KAAK,EACf,MAAM,GAAG,CAAC,EACV,SAAqB;IAErB,+HAA+H;IAC/H,IAAI,CAAC;QACH,IAAI,MAAM,GAgBJ,EAAE,CAAC;QAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YAEzD,QAAQ;gBACN,MAAM,KAAK,CAAC;gBACZ,QAAQ,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE;oBAC1D,IAAI,EAAE,6BAA6B,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;oBAC3D,MAAM;iBACP,CAAC,CAAC;YAEL,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAE9C,MAAM,iCAAiC,GACrC,MAAM,IAAA,yEAAmC,EACvC,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,IAAI,CAAC,MAAM,GAAG,CAAC,EACf,SAAS,EACT,QAAQ,CACT,CAAC;YAEJ,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,iCAAiC,CAAC,CAAC;YAE3D,QAAQ;gBACN,MAAM,KAAK,CAAC;gBACZ,IAAA,mCAA0B,EACxB,QAAQ,EACR,uBAAuB,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,EAC7C,kCAAkC,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EAC1D,MAAM,CACP,CAAC;QACN,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAA,CAAC;AA5EW,QAAA,4CAA4C,gDA4EvD"}
@@ -2,7 +2,7 @@
2
2
  * External dependencies.
3
3
  */
4
4
  import { Browser, HTTPResponse, Page, Protocol } from 'puppeteer';
5
- import { type ScriptTagUnderCheck, type LibraryData, type LibraryMatchers, type Selectors } from '@google-psat/common';
5
+ import { type ScriptTagUnderCheck, type LibraryData, type LibraryMatchers, type SingleURLError, type Selectors } from '@google-psat/common';
6
6
  /**
7
7
  * Internal dependencies.
8
8
  */
@@ -13,22 +13,25 @@ export declare class BrowserManagement {
13
13
  isHeadless: boolean;
14
14
  pageWaitTime: number;
15
15
  pages: Record<string, Page>;
16
+ erroredOutUrls: Record<string, SingleURLError[]>;
16
17
  pageFrames: Record<string, Record<string, string>>;
17
18
  pageResponses: Record<string, Record<string, ResponseData>>;
18
19
  pageRequests: Record<string, Record<string, RequestData>>;
19
20
  pageResourcesMaps: Record<string, Record<string, ScriptTagUnderCheck>>;
20
21
  shouldLogDebug: boolean;
21
22
  spinnies: Spinnies | undefined;
23
+ isSiteMap: boolean;
22
24
  indent: number;
23
25
  selectors: Selectors | undefined;
24
- constructor(viewportConfig: ViewportConfig, isHeadless: boolean, pageWaitTime: number, shouldLogDebug: boolean, indent: number, spinnies?: Spinnies, selectors?: Selectors);
25
- debugLog(msg: any): void;
26
+ constructor(viewportConfig: ViewportConfig, isHeadless: boolean, pageWaitTime: number, shouldLogDebug: boolean, indent: number, isSiteMap: boolean, spinnies?: Spinnies, selectors?: Selectors);
27
+ debugLog(msg: string, shouldShowWarning?: boolean): void;
26
28
  initializeBrowser(enable3pCookiePhaseout: boolean): Promise<void>;
27
29
  clickOnButtonUsingCMPSelectors(page: Page): Promise<boolean>;
28
30
  clickOnGDPRUsingTextSelectors(page: Page, textSelectors: string[]): Promise<boolean>;
29
31
  clickOnAcceptBanner(url: string): Promise<void>;
30
32
  useSelectorsToSelectGDPRBanner(page: Page): Promise<boolean>;
31
33
  openPage(): Promise<Page>;
34
+ pushErrors(url: string, objectToPushed: SingleURLError): void;
32
35
  navigateToPage(url: string): Promise<void>;
33
36
  pageScroll(url: string): Promise<void>;
34
37
  responseEventListener(pageId: string, response: HTTPResponse): void;
@@ -54,6 +57,7 @@ export declare class BrowserManagement {
54
57
  consolidatedDOMQueryMatches: {
55
58
  [key: string]: LibraryData;
56
59
  };
60
+ erroredOutUrls: Record<string, SingleURLError[]>;
57
61
  }>;
58
62
  deinitialize(): Promise<void>;
59
63
  }
@@ -2,9 +2,10 @@
2
2
  * External dependencies.
3
3
  */
4
4
  import { type CookieDatabase, type LibraryMatchers, type Selectors } from '@google-psat/common';
5
- export declare const analyzeCookiesUrlsAndFetchResources: (urls: string[], Libraries: LibraryMatchers[], isHeadless: boolean, delayTime: number, cookieDictionary: CookieDatabase, shouldSkipAcceptBanner: boolean, verbose: boolean, selectors?: Selectors, spinnies?: Spinnies, indent?: number) => Promise<{
5
+ export declare const analyzeCookiesUrlsAndFetchResources: (urls: string[], Libraries: LibraryMatchers[], isHeadless: boolean, delayTime: number, cookieDictionary: CookieDatabase, shouldSkipAcceptBanner: boolean, verbose: boolean, isSitemap: boolean, selectors?: Selectors, spinnies?: Spinnies, indent?: number) => Promise<{
6
6
  url: string;
7
7
  cookieData: import("../browserManagement/types").CookieDataFromNetwork;
8
8
  resources: any;
9
+ erroredOutUrls: Record<string, import("@google-psat/common").SingleURLError[]>;
9
10
  domQueryMatches: import("@google-psat/common").LibraryData;
10
11
  }[]>;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies.
3
3
  */
4
- import { type CookieData, type CookieDatabase, LibraryData, type LibraryMatchers, type Selectors } from '@google-psat/common';
4
+ import { type CookieData, type CookieDatabase, LibraryData, type LibraryMatchers, type SingleURLError, type Selectors } from '@google-psat/common';
5
5
  export declare const analyzeCookiesUrlsInBatchesAndFetchResources: (urls: string[], Libraries: LibraryMatchers[], isHeadless: boolean, delayTime: number, cookieDictionary: CookieDatabase, batchSize?: number, spinnies?: Spinnies, shouldSkipAcceptBanner?: boolean, verbose?: boolean, indent?: number, selectors?: Selectors) => Promise<{
6
6
  url: string;
7
7
  cookieData: {
@@ -17,4 +17,5 @@ export declare const analyzeCookiesUrlsInBatchesAndFetchResources: (urls: string
17
17
  type?: string;
18
18
  }[];
19
19
  domQueryMatches: LibraryData;
20
+ erroredOutUrls: Record<string, SingleURLError[]>;
20
21
  }[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google-psat/analysis-utils",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "A package for CLI analysis",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist-types/index.d.ts",