@automattic/jetpack-critical-css-gen 1.0.6 → 1.0.8
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 +16 -0
- package/build/browser-interface-iframe.d.ts +2 -1
- package/build/browser-interface-iframe.js +23 -6
- package/build/browser-interface-iframe.js.map +1 -1
- package/build/browser-interface-playwright.d.ts +1 -0
- package/build/browser-interface-playwright.js +24 -11
- package/build/browser-interface-playwright.js.map +1 -1
- package/build/errors.d.ts +8 -0
- package/build/errors.js +8 -0
- package/build/errors.js.map +1 -1
- package/build/generate-critical-css.js +1 -1
- package/build/generate-critical-css.js.map +1 -1
- package/package.json +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ 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.8] - 2025-03-18
|
|
9
|
+
### Changed
|
|
10
|
+
- Update package dependencies. [#42406] [#42511]
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Fix potential memory leak. [#41354]
|
|
14
|
+
|
|
15
|
+
## [1.0.7] - 2025-03-05
|
|
16
|
+
### Changed
|
|
17
|
+
- Update dependencies. [#41847]
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Prevent invalid URLs from breaking the whole process. [#41946]
|
|
21
|
+
|
|
8
22
|
## [1.0.6] - 2025-02-12
|
|
9
23
|
### Changed
|
|
10
24
|
- Updated package dependencies. [#41286]
|
|
@@ -52,6 +66,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
52
66
|
### Added
|
|
53
67
|
- Initial version. [#38429]
|
|
54
68
|
|
|
69
|
+
[1.0.8]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.7...v1.0.8
|
|
70
|
+
[1.0.7]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.6...v1.0.7
|
|
55
71
|
[1.0.6]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.5...v1.0.6
|
|
56
72
|
[1.0.5]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.4...v1.0.5
|
|
57
73
|
[1.0.4]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.3...v1.0.4
|
|
@@ -22,8 +22,9 @@ export declare class BrowserInterfaceIframe extends BrowserInterface {
|
|
|
22
22
|
cleanup(): Promise<void>;
|
|
23
23
|
fetch(url: string, options: RequestInit, _role: 'css' | 'html'): Promise<Response>;
|
|
24
24
|
runInPage<ReturnType>(pageUrl: string, viewport: Viewport | null, method: BrowserRunnable<ReturnType>, ...args: unknown[]): Promise<ReturnType>;
|
|
25
|
-
addGetParameters(
|
|
25
|
+
addGetParameters(url: URL): string;
|
|
26
26
|
diagnoseUrlError(url: string): Promise<UrlError | null>;
|
|
27
|
+
is404Page(url: string): Promise<boolean>;
|
|
27
28
|
sameOrigin(url: string): boolean;
|
|
28
29
|
loadPage(rawUrl: string): Promise<void>;
|
|
29
30
|
resize({ width, height }: Viewport): Promise<unknown>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BrowserInterface } from './browser-interface.js';
|
|
2
|
-
import { CrossDomainError, HttpError, LoadTimeoutError, RedirectError, UrlVerifyError, UnknownError, XFrameDenyError, } from './errors.js';
|
|
2
|
+
import { CrossDomainError, HttpError, LoadTimeoutError, RedirectError, UrlVerifyError, UnknownError, XFrameDenyError, InvalidURLError, } from './errors.js';
|
|
3
3
|
const defaultLoadTimeout = 60 * 1000;
|
|
4
4
|
export class BrowserInterfaceIframe extends BrowserInterface {
|
|
5
5
|
constructor({ requestGetParameters, loadTimeout, verifyPage, allowScripts, }) {
|
|
@@ -38,12 +38,11 @@ export class BrowserInterfaceIframe extends BrowserInterface {
|
|
|
38
38
|
// Pass the iframe window object to the evaluating method.
|
|
39
39
|
return method({ innerWindow: this.iframe.contentWindow, args });
|
|
40
40
|
}
|
|
41
|
-
addGetParameters(
|
|
42
|
-
const urlObject = new URL(rawUrl);
|
|
41
|
+
addGetParameters(url) {
|
|
43
42
|
for (const key of Object.keys(this.requestGetParameters)) {
|
|
44
|
-
|
|
43
|
+
url.searchParams.append(key, this.requestGetParameters[key]);
|
|
45
44
|
}
|
|
46
|
-
return
|
|
45
|
+
return url.toString();
|
|
47
46
|
}
|
|
48
47
|
async diagnoseUrlError(url) {
|
|
49
48
|
try {
|
|
@@ -67,6 +66,10 @@ export class BrowserInterfaceIframe extends BrowserInterface {
|
|
|
67
66
|
return new UnknownError({ url, message: err.message });
|
|
68
67
|
}
|
|
69
68
|
}
|
|
69
|
+
async is404Page(url) {
|
|
70
|
+
const response = await this.fetch(url, { redirect: 'manual' }, 'html');
|
|
71
|
+
return response.status === 404;
|
|
72
|
+
}
|
|
70
73
|
sameOrigin(url) {
|
|
71
74
|
return new URL(url).origin === window.location.origin;
|
|
72
75
|
}
|
|
@@ -74,7 +77,16 @@ export class BrowserInterfaceIframe extends BrowserInterface {
|
|
|
74
77
|
if (rawUrl === this.currentUrl) {
|
|
75
78
|
return;
|
|
76
79
|
}
|
|
77
|
-
|
|
80
|
+
// Make sure URL is valid.
|
|
81
|
+
let url;
|
|
82
|
+
try {
|
|
83
|
+
url = new URL(rawUrl);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
this.trackUrlError(rawUrl, err);
|
|
87
|
+
throw new InvalidURLError({ url: rawUrl });
|
|
88
|
+
}
|
|
89
|
+
const fullUrl = this.addGetParameters(url);
|
|
78
90
|
return new Promise((resolve, rawReject) => {
|
|
79
91
|
// Track all URL errors.
|
|
80
92
|
const reject = err => {
|
|
@@ -96,6 +108,11 @@ export class BrowserInterfaceIframe extends BrowserInterface {
|
|
|
96
108
|
try {
|
|
97
109
|
this.iframe.onload = null;
|
|
98
110
|
clearTimeout(timeoutId);
|
|
111
|
+
// Check HTTP status code first.
|
|
112
|
+
const is404 = await this.is404Page(fullUrl);
|
|
113
|
+
if (is404) {
|
|
114
|
+
throw new HttpError({ url, code: 404 });
|
|
115
|
+
}
|
|
99
116
|
// Verify the inner document is readable.
|
|
100
117
|
if (!this.iframe.contentDocument || !this.iframe.contentWindow) {
|
|
101
118
|
throw ((await this.diagnoseUrlError(fullUrl)) || new CrossDomainError({ url: fullUrl }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-interface-iframe.js","sourceRoot":"","sources":["../src/browser-interface-iframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,GAEf,MAAM,aAAa,CAAC;AAGrB,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AAWrC,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAW3D,YAAa,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,YAAY,GACmB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,kBAAkB,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,mDAAmD;QACnD,YAAY,GAAG,YAAY,KAAK,KAAK,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAEjD,qDAAqD;QACrD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAE,KAAK,CAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,YAAY,CAC3B,OAAO,EACP,wDAAwD,CACxD,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;QAExC,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,OAAO,EAAE,iDAAiD,CAAE,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,aAAa,EAAE,MAAM,CAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,YAAY,CACvB,SAAS,EACT,oBAAoB,GAAG,CAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAE,CAC9D,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,IAAI,CAAC,MAAM,CAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,GAAW,EAAE,OAAoB,EAAE,KAAqB;QACpE,OAAO,MAAM,CAAC,KAAK,CAAE,GAAG,EAAE,OAAO,CAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CACd,OAAe,EACf,QAAyB,EACzB,MAAqC,EACrC,GAAG,IAAe;QAElB,MAAM,IAAI,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAC;QAE/B,IAAK,QAAQ,EAAG;YACf,MAAM,IAAI,CAAC,MAAM,CAAE,QAAQ,CAAE,CAAC;SAC9B;QAED,0EAA0E;QAC1E,0DAA0D;QAC1D,OAAO,MAAM,CAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAE,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAE,
|
|
1
|
+
{"version":3,"file":"browser-interface-iframe.js","sourceRoot":"","sources":["../src/browser-interface-iframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EACN,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,GAEf,MAAM,aAAa,CAAC;AAGrB,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AAWrC,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAW3D,YAAa,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,YAAY,GACmB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,kBAAkB,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,mDAAmD;QACnD,YAAY,GAAG,YAAY,KAAK,KAAK,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAEjD,qDAAqD;QACrD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAE,KAAK,CAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,YAAY,CAC3B,OAAO,EACP,wDAAwD,CACxD,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;QAExC,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,OAAO,EAAE,iDAAiD,CAAE,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,aAAa,EAAE,MAAM,CAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,YAAY,CACvB,SAAS,EACT,oBAAoB,GAAG,CAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAE,CAC9D,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,IAAI,CAAC,MAAM,CAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,GAAW,EAAE,OAAoB,EAAE,KAAqB;QACpE,OAAO,MAAM,CAAC,KAAK,CAAE,GAAG,EAAE,OAAO,CAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CACd,OAAe,EACf,QAAyB,EACzB,MAAqC,EACrC,GAAG,IAAe;QAElB,MAAM,IAAI,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAC;QAE/B,IAAK,QAAQ,EAAG;YACf,MAAM,IAAI,CAAC,MAAM,CAAE,QAAQ,CAAE,CAAC;SAC9B;QAED,0EAA0E;QAC1E,0DAA0D;QAC1D,OAAO,MAAM,CAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAE,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAE,GAAQ;QACzB,KAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,oBAAoB,CAAE,EAAG;YAC7D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAE,GAAG,CAAE,CAAE,CAAC;SACjE;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,GAAW;QAClC,IAAI;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAE,CAAC;YACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAEjC,IAAK,OAAO,CAAC,GAAG,CAAE,iBAAiB,CAAE,KAAK,MAAM,EAAG;gBAClD,OAAO,IAAI,eAAe,CAAE,EAAE,GAAG,EAAE,CAAE,CAAC;aACtC;YAED,IAAK,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAG;gBACzC,OAAO,IAAI,aAAa,CAAE;oBACzB,GAAG;oBACH,WAAW,EAAE,QAAQ,CAAC,GAAG;iBACzB,CAAE,CAAC;aACJ;YAED,IAAK,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAG;gBAC9B,OAAO,IAAI,CAAC;aACZ;YAED,OAAO,IAAI,SAAS,CAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,CAAC;SACvD;QAAC,OAAQ,GAAG,EAAG;YACf,OAAO,IAAI,YAAY,CAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAE,CAAC;SACzD;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,GAAW;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAE,CAAC;QAEzE,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;IAChC,CAAC;IAED,UAAU,CAAE,GAAW;QACtB,OAAO,IAAI,GAAG,CAAE,GAAG,CAAE,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,MAAc;QAC7B,IAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAG;YACjC,OAAO;SACP;QAED,0BAA0B;QAC1B,IAAI,GAAG,CAAC;QACR,IAAI;YACH,GAAG,GAAG,IAAI,GAAG,CAAE,MAAM,CAAE,CAAC;SACxB;QAAC,OAAQ,GAAG,EAAG;YACf,IAAI,CAAC,aAAa,CAAE,MAAM,EAAE,GAAG,CAAE,CAAC;YAClC,MAAM,IAAI,eAAe,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAE,CAAC;SAC7C;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAE,GAAG,CAAE,CAAC;QAE7C,OAAO,IAAI,OAAO,CAAE,CAAE,OAAO,EAAE,SAAS,EAAG,EAAE;YAC5C,wBAAwB;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAE,MAAM,EAAE,GAAG,CAAE,CAAC;gBAClC,SAAS,CAAE,GAAG,CAAE,CAAC;YAClB,CAAC,CAAC;YAEF,+CAA+C;YAC/C,IAAK,CAAE,IAAI,CAAC,UAAU,CAAE,OAAO,CAAE,EAAG;gBACnC,MAAM,CAAE,IAAI,gBAAgB,CAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAE,CAAE,CAAC;gBACnD,OAAO;aACP;YAED,iBAAiB;YACjB,MAAM,SAAS,GAAG,UAAU,CAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC1B,MAAM,CAAE,IAAI,gBAAgB,CAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAE,CAAE,CAAC;YACpD,CAAC,EAAE,IAAI,CAAC,WAAW,CAAE,CAAC;YAEtB,oBAAoB;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE;gBAC/B,IAAI;oBACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC1B,YAAY,CAAE,SAAS,CAAE,CAAC;oBAE1B,gCAAgC;oBAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAE,OAAO,CAAE,CAAC;oBAC9C,IAAK,KAAK,EAAG;wBACZ,MAAM,IAAI,SAAS,CAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAE,CAAC;qBAC1C;oBAED,yCAAyC;oBACzC,IAAK,CAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAG;wBACnE,MAAM,CACL,CAAE,MAAM,IAAI,CAAC,gBAAgB,CAAE,OAAO,CAAE,CAAE,IAAI,IAAI,gBAAgB,CAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAE,CACtF,CAAC;qBACF;oBAED,IACC,CAAE,IAAI,CAAC,UAAU,CAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAE,EAClF;wBACD,2CAA2C;wBAC3C,MAAM,CACL,CAAE,MAAM,IAAI,CAAC,gBAAgB,CAAE,OAAO,CAAE,CAAE,IAAI,IAAI,cAAc,CAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAE,CACpF,CAAC;qBACF;oBAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;oBACzB,OAAO,EAAE,CAAC;iBACV;gBAAC,OAAQ,GAAG,EAAG;oBACf,MAAM,CAAE,GAAG,CAAE,CAAC;iBACd;YACF,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,EAAE,KAAK,EAAE,MAAM,EAAY;QACxC,IAAK,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,MAAM,EAAG;YAC7E,OAAO;SACP;QAED,OAAO,IAAI,OAAO,CAAE,OAAO,CAAC,EAAE;YAC7B,mBAAmB;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEvC,2DAA2D;YAC3D,UAAU,CAAE,OAAO,EAAE,CAAC,CAAE,CAAC;QAC1B,CAAC,CAAE,CAAC;IACL,CAAC;CACD"}
|
|
@@ -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
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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":"AACA,OAAO,EAAE,gBAAgB,EAAiC,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAG/D;;;;;OAKG;IACH,YACS,OAAuB,EACvB,IAAc;QAEtB,KAAK,EAAE,CAAC;QAHA,YAAO,GAAP,OAAO,CAAgB;QACvB,SAAI,GAAJ,IAAI,CAAU;IAGvB,CAAC;IAEO,KAAK,CAAC,OAAO;QACpB,IAAK,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAG;YACvC,MAAM,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;SAC/C;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,QAAQ,CAAE,OAAuB,EAAE,IAAc;QAC9D,IAAI,CAAC,IAAI,GAAG,MAAM,gBAAgB,CACjC,IAAI,CAAC,MAAM,CAAE,CAAE,GAAG,EAAE,GAAG,EAAG,EAAE;YAC3B,GAAG,CAAE,GAAG,CAAE,GAAG,IAAI,CAAC,MAAM,CAAE,OAAO,EAAE,GAAG,CAAE,CAAC;YACzC,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,EAAE,CAAE,CACP,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,MAAM,CAAE,cAA8B,EAAE,GAAW;QAChE,MAAM,
|
|
1
|
+
{"version":3,"file":"browser-interface-playwright.js","sourceRoot":"","sources":["../src/browser-interface-playwright.ts"],"names":[],"mappings":"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"}
|
package/build/errors.d.ts
CHANGED
|
@@ -99,3 +99,11 @@ export declare class XFrameDenyError extends UrlError {
|
|
|
99
99
|
url: any;
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* InvalidURLError - Indicates that a requested URL is invalid.
|
|
104
|
+
*/
|
|
105
|
+
export declare class InvalidURLError extends UrlError {
|
|
106
|
+
constructor({ url }: {
|
|
107
|
+
url: string;
|
|
108
|
+
});
|
|
109
|
+
}
|
package/build/errors.js
CHANGED
|
@@ -100,4 +100,12 @@ export class XFrameDenyError extends UrlError {
|
|
|
100
100
|
super('XFrameDenyError', { url }, `Failed to load ${url} due to the "X-Frame-Options: DENY" header`);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* InvalidURLError - Indicates that a requested URL is invalid.
|
|
105
|
+
*/
|
|
106
|
+
export class InvalidURLError extends UrlError {
|
|
107
|
+
constructor({ url }) {
|
|
108
|
+
super('InvalidURLError', { url }, `Invalid URL: ${url}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
103
111
|
//# sourceMappingURL=errors.js.map
|
package/build/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -156,7 +156,7 @@ export async function generateCriticalCSS({ browserInterface, progressCallback,
|
|
|
156
156
|
return [css, warnings];
|
|
157
157
|
}
|
|
158
158
|
finally {
|
|
159
|
-
browserInterface.cleanup();
|
|
159
|
+
await browserInterface.cleanup();
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
//# 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":"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"}
|
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.
|
|
4
|
+
"version": "1.0.8",
|
|
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": {
|
|
@@ -20,13 +20,14 @@
|
|
|
20
20
|
"clean": "rm -rf build/",
|
|
21
21
|
"clean:test": "rm -rf tests/build/",
|
|
22
22
|
"test": "pnpm build && pnpm build:test && NODE_ENV=test NODE_PATH=./node_modules jest --forceExit --config=tests/config/jest.config.js",
|
|
23
|
-
"test-coverage": "pnpm run test --coverage"
|
|
23
|
+
"test-coverage": "pnpm run test --coverage",
|
|
24
|
+
"watch": "tsc --watch"
|
|
24
25
|
},
|
|
25
26
|
"main": "./build/browser.js",
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@automattic/jetpack-webpack-config": "workspace:*",
|
|
28
|
-
"@babel/core": "7.26.
|
|
29
|
-
"@babel/preset-env": "7.26.
|
|
29
|
+
"@babel/core": "7.26.10",
|
|
30
|
+
"@babel/preset-env": "7.26.9",
|
|
30
31
|
"@babel/preset-typescript": "7.26.0",
|
|
31
32
|
"@types/clean-css": "4.2.11",
|
|
32
33
|
"@types/css-tree": "2.3.10",
|