@automattic/jetpack-critical-css-gen 1.0.7 → 1.0.9

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/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.9] - 2025-03-26
9
+ ### Fixed
10
+ - Fix throwing exceptions during ATF selector collection causing the whole generation to fail. [#42613]
11
+
12
+ ## [1.0.8] - 2025-03-18
13
+ ### Changed
14
+ - Update package dependencies. [#42406] [#42511]
15
+
16
+ ### Fixed
17
+ - Fix potential memory leak. [#41354]
18
+
8
19
  ## [1.0.7] - 2025-03-05
9
20
  ### Changed
10
21
  - Update dependencies. [#41847]
@@ -59,6 +70,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
59
70
  ### Added
60
71
  - Initial version. [#38429]
61
72
 
73
+ [1.0.9]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.8...v1.0.9
74
+ [1.0.8]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.7...v1.0.8
62
75
  [1.0.7]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.6...v1.0.7
63
76
  [1.0.6]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.5...v1.0.6
64
77
  [1.0.5]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.4...v1.0.5
@@ -19,6 +19,7 @@ export declare class BrowserInterfacePlaywright extends BrowserInterface {
19
19
  * @param {string[]} urls - Array of urls to evaluate. The reason we are taking this as an argument is because we want to load all of them in parallel.
20
20
  */
21
21
  constructor(context: BrowserContext, urls: string[]);
22
+ cleanup(): Promise<void>;
22
23
  private getTabs;
23
24
  /**
24
25
  * Open an array of urls in a new browser context.
@@ -14,6 +14,12 @@ export class BrowserInterfacePlaywright extends BrowserInterface {
14
14
  this.context = context;
15
15
  this.urls = urls;
16
16
  }
17
+ async cleanup() {
18
+ if (this.tabs) {
19
+ await Promise.all(Object.values(this.tabs).map(tab => tab.page.close().catch(() => { })));
20
+ }
21
+ this.tabs = undefined;
22
+ }
17
23
  async getTabs() {
18
24
  if (typeof this.tabs === 'undefined') {
19
25
  await this.openUrls(this.context, this.urls);
@@ -43,17 +49,24 @@ export class BrowserInterfacePlaywright extends BrowserInterface {
43
49
  * @return {Promise<Page>} Promise resolving to the page instance.
44
50
  */
45
51
  async newTab(browserContext, url) {
46
- const tab = {
47
- page: await browserContext.newPage(),
48
- statusCode: null,
49
- };
50
- tab.page.on('response', async (response) => {
51
- if (response.url() === url) {
52
- tab.statusCode = response.status();
53
- }
54
- });
55
- await tab.page.goto(url, { timeout: PAGE_GOTO_TIMEOUT_MS });
56
- return tab;
52
+ const page = await browserContext.newPage();
53
+ try {
54
+ const tab = {
55
+ page,
56
+ statusCode: null,
57
+ };
58
+ tab.page.on('response', async (response) => {
59
+ if (response.url() === url) {
60
+ tab.statusCode = response.status();
61
+ }
62
+ });
63
+ await tab.page.goto(url, { timeout: PAGE_GOTO_TIMEOUT_MS });
64
+ return tab;
65
+ }
66
+ catch (error) {
67
+ await page.close().catch(() => { }); // Cleanup on error
68
+ throw error;
69
+ }
57
70
  }
58
71
  async runInPage(pageUrl, viewport, method, ...args) {
59
72
  const tabs = await this.getTabs();
@@ -1 +1 @@
1
- {"version":3,"file":"browser-interface-playwright.js","sourceRoot":"","sources":["../src/browser-interface-playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-interface-playwright.js","sourceRoot":"","sources":["../src/browser-interface-playwright.ts"],"names":[],"mappings":"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"}
@@ -76,25 +76,31 @@ async function getAboveFoldSelectors({ browserInterface, selectorPages, validUrl
76
76
  // i.e.: may match elements on pages that do not include their CSS file.
77
77
  const aboveFoldSelectors = new Set();
78
78
  const dangerousSelectors = new Set();
79
+ const errors = {};
79
80
  for (const url of validUrls.slice(0, maxPages)) {
80
- // Work out which CSS selectors match any element on this page.
81
- const pageSelectors = await browserInterface.runInPage(url, null, BrowserInterface.innerFindMatchingSelectors, trimmedSelectors);
82
- // Check for selectors which may match this page, but are not included in this page's CSS.
83
- pageSelectors
84
- .filter(s => !selectorPages[s].has(url))
85
- .forEach(s => dangerousSelectors.add(s));
86
- // Collate all above-fold selectors for all viewport sizes.
87
- for (const size of viewports) {
88
- updateProgress();
89
- const pageAboveFold = await browserInterface.runInPage(url, size, BrowserInterface.innerFindAboveFoldSelectors, trimmedSelectors, pageSelectors);
90
- pageAboveFold.forEach(s => aboveFoldSelectors.add(s));
81
+ try {
82
+ // Work out which CSS selectors match any element on this page.
83
+ const pageSelectors = await browserInterface.runInPage(url, null, BrowserInterface.innerFindMatchingSelectors, trimmedSelectors);
84
+ // Check for selectors which may match this page, but are not included in this page's CSS.
85
+ pageSelectors
86
+ .filter(s => !selectorPages[s].has(url))
87
+ .forEach(s => dangerousSelectors.add(s));
88
+ // Collate all above-fold selectors for all viewport sizes.
89
+ for (const size of viewports) {
90
+ updateProgress();
91
+ const pageAboveFold = await browserInterface.runInPage(url, size, BrowserInterface.innerFindAboveFoldSelectors, trimmedSelectors, pageSelectors);
92
+ pageAboveFold.forEach(s => aboveFoldSelectors.add(s));
93
+ }
94
+ }
95
+ catch (err) {
96
+ errors[url] = err;
91
97
  }
92
98
  }
93
99
  // Remove dangerous selectors from above fold set.
94
100
  for (const dangerousSelector of dangerousSelectors) {
95
101
  aboveFoldSelectors.delete(dangerousSelector);
96
102
  }
97
- return aboveFoldSelectors;
103
+ return [aboveFoldSelectors, errors];
98
104
  }
99
105
  /**
100
106
  * Generates critical CSS for the given URLs and viewports.
@@ -131,7 +137,7 @@ export async function generateCriticalCSS({ browserInterface, progressCallback,
131
137
  // Gather a record of all selectors, and which page URLs each is referenced by.
132
138
  const selectorPages = cssFiles.collateSelectorPages();
133
139
  // Get CSS selectors for above the fold.
134
- const aboveFoldSelectors = await getAboveFoldSelectors({
140
+ const [aboveFoldSelectors, aboveFoldErrors] = await getAboveFoldSelectors({
135
141
  browserInterface,
136
142
  selectorPages,
137
143
  validUrls,
@@ -139,6 +145,12 @@ export async function generateCriticalCSS({ browserInterface, progressCallback,
139
145
  maxPages,
140
146
  updateProgress,
141
147
  });
148
+ // During getAboveFoldSelectors, pages are loaded again and might error.
149
+ // We can't continue if there are not enough valid URLs to carry on with.
150
+ const validUrlsPostAboveFold = browserInterface.filterValidUrls(urls);
151
+ if (validUrlsPostAboveFold.length < successUrlsThreshold) {
152
+ throw new SuccessTargetError(aboveFoldErrors);
153
+ }
142
154
  // Prune each AST for above-fold selector list. Note: this prunes a clone.
143
155
  const asts = cssFiles.prunedAsts(aboveFoldSelectors);
144
156
  // Convert ASTs to CSS.
@@ -156,7 +168,7 @@ export async function generateCriticalCSS({ browserInterface, progressCallback,
156
168
  return [css, warnings];
157
169
  }
158
170
  finally {
159
- browserInterface.cleanup();
171
+ await browserInterface.cleanup();
160
172
  }
161
173
  }
162
174
  //# sourceMappingURL=generate-critical-css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-critical-css.js","sourceRoot":"","sources":["../src/generate-critical-css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-critical-css.js","sourceRoot":"","sources":["../src/generate-critical-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,IAAI,GAAG,GAAG,EAAE;IACjB,SAAS;AACV,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,KAAK,UAAU,eAAe,CAC7B,gBAAkC,EAClC,IAAc,EACd,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAE,gBAAgB,CAAE,CAAC;IACpD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAM,MAAM,GAAG,IAAI,IAAI,EAAG;QACzB,IAAI;YACH,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAE,GAAG,CAAE,CAAC;YAEjE,qCAAqC;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAC3C,CAAE,GAAG,EAAE,QAAQ,EAAG,EAAE;gBACnB,IAAI;oBACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAE,QAAQ,EAAE,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;oBACrD,GAAG,CAAE,QAAQ,CAAE,GAAG,WAAW,CAAE,QAAQ,CAAE,CAAC;iBAC1C;gBAAC,MAAM;oBACP,uBAAuB;oBACvB,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAE,6BAA8B,QAAS,EAAE,CAAE,CAAC;iBACzD;gBAED,OAAO,GAAG,CAAC;YACZ,CAAC,EACD,EAAwB,CACxB,CAAC;YAEF,MAAM,QAAQ,CAAC,WAAW,CAAE,GAAG,EAAE,gBAAgB,CAAE,CAAC;YAEpD,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAE,GAAG,CAAE,CAAC;YACvE,MAAM,QAAQ,CAAC,iBAAiB,CAAE,GAAG,EAAE,cAAc,CAAE,CAAC;YAExD,0CAA0C;YAC1C,SAAS,EAAE,CAAC;YACZ,IAAK,SAAS,IAAI,QAAQ,EAAG;gBAC5B,MAAM;aACN;SACD;QAAC,OAAQ,GAAG,EAAG;YACf,MAAM,CAAE,GAAG,CAAE,GAAG,GAAG,CAAC;SACpB;KACD;IAED,OAAO,CAAE,QAAQ,EAAE,MAAM,CAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,qBAAqB,CAAE,EACrC,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAQd;IACA,uGAAuG;IACvG,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAE,aAAa,CAAE,CAAC,MAAM,CAAE,CAAE,GAAG,EAAE,QAAQ,EAAG,EAAE;QACjF,GAAG,CAAE,QAAQ,CAAE,GAAG,2BAA2B,CAAE,QAAQ,CAAE,CAAC;QAC1D,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAE,CAAE,CAAC;IAER,uGAAuG;IACvG,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAY,CAAC;IAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAY,CAAC;IAE/C,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAM,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAE,CAAC,EAAE,QAAQ,CAAE,EAAG;QACnD,IAAI;YACH,+DAA+D;YAC/D,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAEnD,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,0BAA0B,EAAE,gBAAgB,CAAE,CAAC;YAE9E,0FAA0F;YAC1F,aAAa;iBACX,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAE,aAAa,CAAE,CAAC,CAAE,CAAC,GAAG,CAAE,GAAG,CAAE,CAAE;iBAC9C,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAE,CAAC,CAAE,CAAE,CAAC;YAE9C,2DAA2D;YAC3D,KAAM,MAAM,IAAI,IAAI,SAAS,EAAG;gBAC/B,cAAc,EAAE,CAAC;gBAEjB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAGrD,GAAG,EACH,IAAI,EACJ,gBAAgB,CAAC,2BAA2B,EAC5C,gBAAgB,EAChB,aAAa,CACb,CAAC;gBAEF,aAAa,CAAC,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAE,CAAC,CAAE,CAAE,CAAC;aAC1D;SACD;QAAC,OAAQ,GAAG,EAAG;YACf,MAAM,CAAE,GAAG,CAAE,GAAG,GAAG,CAAC;SACpB;KACD;IAED,kDAAkD;IAClD,KAAM,MAAM,iBAAiB,IAAI,kBAAkB,EAAG;QACrD,kBAAkB,CAAC,MAAM,CAAE,iBAAiB,CAAE,CAAC;KAC/C;IAED,OAAO,CAAE,kBAAkB,EAAE,MAAM,CAAE,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAE,EAC1C,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,EACJ,SAAS,EACT,OAAO,EACP,YAAY,GAAG,CAAC,EAChB,QAAQ,GAAG,EAAE,GASb;IACA,iIAAiI;IACjI,oCAAoC;IACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAE,GAAG,YAAY,CAAE,CAAC;IAE3F,IAAI;QACH,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC;QAC5C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACzD,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAE,EAAE,QAAQ,EAAE,aAAa,CAAE,CAAC;QAE3E,gDAAgD;QAChD,MAAM,CAAE,QAAQ,EAAE,aAAa,CAAE,GAAG,MAAM,eAAe,CAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAE,CAAC;QAC9F,cAAc,EAAE,CAAC;QAEjB,uDAAuD;QACvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAE,IAAI,CAAE,CAAC;QAE3D,IAAK,SAAS,CAAC,MAAM,GAAG,oBAAoB,EAAG;YAC9C,MAAM,IAAI,kBAAkB,CAAE,aAAa,CAAE,CAAC;SAC9C;QAED,0CAA0C;QAC1C,QAAQ,CAAC,YAAY,CAAE,OAAO,IAAI,EAAE,CAAE,CAAC;QAEvC,+EAA+E;QAC/E,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAEtD,wCAAwC;QACxC,MAAM,CAAE,kBAAkB,EAAE,eAAe,CAAE,GAAG,MAAM,qBAAqB,CAAE;YAC5E,gBAAgB;YAChB,aAAa;YACb,SAAS;YACT,SAAS;YACT,QAAQ;YACR,cAAc;SACd,CAAE,CAAC;QAEJ,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,eAAe,CAAE,IAAI,CAAE,CAAC;QAExE,IAAK,sBAAsB,CAAC,MAAM,GAAG,oBAAoB,EAAG;YAC3D,MAAM,IAAI,kBAAkB,CAAE,eAAe,CAAE,CAAC;SAChD;QAED,0EAA0E;QAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAE,kBAAkB,CAAE,CAAC;QAEvD,uBAAuB;QACvB,MAAM,CAAE,GAAG,EAAE,SAAS,CAAE,GAAG,SAAS,CAAE,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE,CAAC;QAEpF,wGAAwG;QACxG,IAAK,CAAE,GAAG,EAAG;YACZ,MAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,KAAM,MAAM,GAAG,IAAI,SAAS,EAAG;gBAC9B,cAAc,CAAE,GAAG,CAAE,GAAG,IAAI,aAAa,CAAE,EAAE,GAAG,EAAE,CAAE,CAAC;aACrD;YACD,MAAM,IAAI,kBAAkB,CAAE,cAAc,CAAE,CAAC;SAC/C;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAE,SAAS,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAE,CAAC,CAAE,CAAE,CAAE,CAAC;QAErF,OAAO,CAAE,GAAG,EAAE,QAAQ,CAAE,CAAC;KACzB;YAAS;QACT,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;KACjC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@automattic/jetpack-critical-css-gen",
4
- "version": "1.0.7",
4
+ "version": "1.0.9",
5
5
  "description": "A flexible Critical CSS Generator that supports multiple URLs and viewports, with both server-side and client-side generation capabilities.",
6
6
  "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/critical-css-gen/#readme",
7
7
  "bugs": {
@@ -26,8 +26,8 @@
26
26
  "main": "./build/browser.js",
27
27
  "devDependencies": {
28
28
  "@automattic/jetpack-webpack-config": "workspace:*",
29
- "@babel/core": "7.26.0",
30
- "@babel/preset-env": "7.26.0",
29
+ "@babel/core": "7.26.10",
30
+ "@babel/preset-env": "7.26.9",
31
31
  "@babel/preset-typescript": "7.26.0",
32
32
  "@types/clean-css": "4.2.11",
33
33
  "@types/css-tree": "2.3.10",