@reportforge/playwright-pdf 0.19.0 → 0.19.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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
+ ## [0.19.1] - 2026-07-11
7
+
8
+ ### Fixed
9
+
10
+ - **A blank browser window no longer flashes during report generation on Windows.** Chrome's new headless mode (the only mode left in Chrome 132+) briefly uncloaks a window on some Windows/GPU combinations; the PDF renderer now parks that window far off-screen. No effect on PDF output or other platforms.
11
+
12
+ ---
13
+
6
14
  ## [0.19.0] - 2026-07-11
7
15
 
8
16
  ### Added
package/dist/cli/index.js CHANGED
@@ -7236,7 +7236,7 @@ var require_lib2 = __commonJS({
7236
7236
  });
7237
7237
 
7238
7238
  // src/pdf/BrowserManager.ts
7239
- var import_child_process, import_fs3, BrowserManager;
7239
+ var import_child_process, import_fs3, LAUNCH_ARGS, BrowserManager;
7240
7240
  var init_BrowserManager = __esm({
7241
7241
  "src/pdf/BrowserManager.ts"() {
7242
7242
  "use strict";
@@ -7244,21 +7244,26 @@ var init_BrowserManager = __esm({
7244
7244
  import_child_process = require("child_process");
7245
7245
  import_fs3 = __toESM(require("fs"));
7246
7246
  init_logger();
7247
+ LAUNCH_ARGS = [
7248
+ "--no-sandbox",
7249
+ "--disable-setuid-sandbox",
7250
+ "--disable-dev-shm-usage",
7251
+ "--disable-gpu",
7252
+ // Chrome's new headless mode (--headless=new, the only mode left in
7253
+ // Chrome 132+) briefly uncloaks a blank window on some Windows/GPU
7254
+ // combinations. Parking the window far off-screen makes that transient
7255
+ // invisible; harmless everywhere else and does not affect PDF output.
7256
+ "--window-position=-32000,-32000"
7257
+ ];
7247
7258
  BrowserManager = class {
7248
7259
  async launch(executablePath) {
7249
7260
  const puppeteer = require("puppeteer-core");
7250
7261
  const chromePath = this.resolveChromePath(executablePath, puppeteer);
7251
7262
  logger.info(`Launching browser: ${chromePath ?? "puppeteer default"}`);
7252
- const launchArgs = [
7253
- "--no-sandbox",
7254
- "--disable-setuid-sandbox",
7255
- "--disable-dev-shm-usage",
7256
- "--disable-gpu"
7257
- ];
7258
7263
  this.browser = await puppeteer.launch({
7259
7264
  executablePath: chromePath,
7260
7265
  headless: true,
7261
- args: launchArgs
7266
+ args: LAUNCH_ARGS
7262
7267
  });
7263
7268
  const page = await this.browser.newPage();
7264
7269
  return { browser: this.browser, page };
package/dist/index.js CHANGED
@@ -12863,21 +12863,26 @@ var ScreenshotEmbedder = class {
12863
12863
  init_cjs_shims();
12864
12864
  var import_child_process2 = require("child_process");
12865
12865
  var import_fs6 = __toESM(require("fs"));
12866
+ var LAUNCH_ARGS = [
12867
+ "--no-sandbox",
12868
+ "--disable-setuid-sandbox",
12869
+ "--disable-dev-shm-usage",
12870
+ "--disable-gpu",
12871
+ // Chrome's new headless mode (--headless=new, the only mode left in
12872
+ // Chrome 132+) briefly uncloaks a blank window on some Windows/GPU
12873
+ // combinations. Parking the window far off-screen makes that transient
12874
+ // invisible; harmless everywhere else and does not affect PDF output.
12875
+ "--window-position=-32000,-32000"
12876
+ ];
12866
12877
  var BrowserManager = class {
12867
12878
  async launch(executablePath) {
12868
12879
  const puppeteer = require("puppeteer-core");
12869
12880
  const chromePath = this.resolveChromePath(executablePath, puppeteer);
12870
12881
  logger.info(`Launching browser: ${chromePath ?? "puppeteer default"}`);
12871
- const launchArgs = [
12872
- "--no-sandbox",
12873
- "--disable-setuid-sandbox",
12874
- "--disable-dev-shm-usage",
12875
- "--disable-gpu"
12876
- ];
12877
12882
  this.browser = await puppeteer.launch({
12878
12883
  executablePath: chromePath,
12879
12884
  headless: true,
12880
- args: launchArgs
12885
+ args: LAUNCH_ARGS
12881
12886
  });
12882
12887
  const page = await this.browser.newPage();
12883
12888
  return { browser: this.browser, page };
@@ -14199,7 +14204,7 @@ var PdfReporter = class {
14199
14204
  this.options = parseOptions(rawOptions);
14200
14205
  setLogLevel(this.options.logLevel);
14201
14206
  this.dataCollector = new DataCollector(this.options.capture);
14202
- this.version = true ? "0.19.0" : "0.x";
14207
+ this.version = true ? "0.19.1" : "0.x";
14203
14208
  logger.info(`@reportforge/playwright-pdf v${this.version} initialised`);
14204
14209
  this.licenseClient = new LicenseClient({
14205
14210
  licenseKey: this.options.licenseKey,
package/dist/index.mjs CHANGED
@@ -12864,21 +12864,26 @@ var ScreenshotEmbedder = class {
12864
12864
  init_esm_shims();
12865
12865
  import { execSync as execSync2 } from "child_process";
12866
12866
  import fs7 from "fs";
12867
+ var LAUNCH_ARGS = [
12868
+ "--no-sandbox",
12869
+ "--disable-setuid-sandbox",
12870
+ "--disable-dev-shm-usage",
12871
+ "--disable-gpu",
12872
+ // Chrome's new headless mode (--headless=new, the only mode left in
12873
+ // Chrome 132+) briefly uncloaks a blank window on some Windows/GPU
12874
+ // combinations. Parking the window far off-screen makes that transient
12875
+ // invisible; harmless everywhere else and does not affect PDF output.
12876
+ "--window-position=-32000,-32000"
12877
+ ];
12867
12878
  var BrowserManager = class {
12868
12879
  async launch(executablePath) {
12869
12880
  const puppeteer = __require("puppeteer-core");
12870
12881
  const chromePath = this.resolveChromePath(executablePath, puppeteer);
12871
12882
  logger.info(`Launching browser: ${chromePath ?? "puppeteer default"}`);
12872
- const launchArgs = [
12873
- "--no-sandbox",
12874
- "--disable-setuid-sandbox",
12875
- "--disable-dev-shm-usage",
12876
- "--disable-gpu"
12877
- ];
12878
12883
  this.browser = await puppeteer.launch({
12879
12884
  executablePath: chromePath,
12880
12885
  headless: true,
12881
- args: launchArgs
12886
+ args: LAUNCH_ARGS
12882
12887
  });
12883
12888
  const page = await this.browser.newPage();
12884
12889
  return { browser: this.browser, page };
@@ -14200,7 +14205,7 @@ var PdfReporter = class {
14200
14205
  this.options = parseOptions(rawOptions);
14201
14206
  setLogLevel(this.options.logLevel);
14202
14207
  this.dataCollector = new DataCollector(this.options.capture);
14203
- this.version = true ? "0.19.0" : "0.x";
14208
+ this.version = true ? "0.19.1" : "0.x";
14204
14209
  logger.info(`@reportforge/playwright-pdf v${this.version} initialised`);
14205
14210
  this.licenseClient = new LicenseClient({
14206
14211
  licenseKey: this.options.licenseKey,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reportforge/playwright-pdf",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "description": "Playwright Test reporter that generates designed PDF reports: minimal, detailed, and executive templates with CI/CD integrations",
5
5
  "license": "Elastic-2.0",
6
6
  "author": "ReportForge",