perchfall 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86b85c771d240f7c1ac7c255c6882a1d7cd1c5da2eb242bb681327612f079ae5
4
- data.tar.gz: 1f1281e0e17c1e5ec91c841bc271990c85c752a2a97c3c5980d631d943d71460
3
+ metadata.gz: e958ae8eb16aae40c5d8b0b0e91d3798b14306247aac27f09b2ff8dd08b291b8
4
+ data.tar.gz: c1f4aca810150d302129aa536ae9df128dad6c6f2b4a12e1873a9078fd999ce0
5
5
  SHA512:
6
- metadata.gz: b552f554e7843c489c0c46905800f2f6f8a69bd9b577502262d8dde9a99f4cbf5e23e3a268f908e879ea65aced9587abce86753658d0e878d439d6987a12f1b6
7
- data.tar.gz: 4504904e4ea3a877f51ca6f07b2a86ea2030f5ed42ae8d3519a6d39b77da28869a4af95a9a19d64a02dba8aec39811928722e9857862dcdedd52045e38bbec62
6
+ metadata.gz: 83fc8408712d42dc29cf567659b9685c739aa5d5f4483fc8e02afd68624d0f4ea0d1aedbecb0d5bc52e015e119082e9a18cfad91701594988976b1d92de6d63d
7
+ data.tar.gz: c56040589ec68c2193df0117be65f6919b243a8c82c475096b813390a27050ea09e645fad54acafe63be85f1a4f343e0c51ac9fa597ba668f28c03a6432090de
data/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.1] - 2026-03-19
11
+
12
+ ### Changed
13
+
14
+ - `Report#ok?` now returns `false` when there are unignored network or console errors, even if the page reached the load milestone (`status == "ok"`). Previously, `ok?` only checked `status`.
15
+ - `PlaywrightInvoker#raise_if_page_load_error` now raises `PageLoadError` for reports with unignored errors. The `PageLoadError` carries the full report so callers can inspect which errors triggered the failure.
16
+ - Errors moved to `ignored_network_errors` / `ignored_console_errors` by an `IgnoreRule` continue to be excluded from `ok?` — they have been explicitly acknowledged by the caller.
17
+
10
18
  ## [0.2.0] - 2026-03-19
11
19
 
12
20
  ### Added
@@ -56,6 +64,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
56
64
  - Full dependency injection throughout — test suite runs in ~0.4 s with no browser, Node, or network required
57
65
  - GitHub Actions CI workflow (unit suite) and manual Playwright smoke check workflow
58
66
 
59
- [Unreleased]: https://github.com/beflagrant/perchfall/compare/v0.2.0...HEAD
67
+ [Unreleased]: https://github.com/beflagrant/perchfall/compare/v0.3.1...HEAD
68
+ [0.3.1]: https://github.com/beflagrant/perchfall/compare/v0.2.0...v0.3.1
60
69
  [0.2.0]: https://github.com/beflagrant/perchfall/compare/v0.1.0...v0.2.0
61
70
  [0.1.0]: https://github.com/beflagrant/perchfall/releases/tag/v0.1.0
@@ -53,7 +53,7 @@ module Perchfall
53
53
  end
54
54
 
55
55
  def ok?
56
- status == "ok"
56
+ status == "ok" && network_errors.empty? && console_errors.empty?
57
57
  end
58
58
 
59
59
  def to_h
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Perchfall
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.1"
5
5
  end
data/perchfall.gemspec CHANGED
@@ -35,6 +35,14 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.require_paths = ['lib']
37
37
 
38
+ spec.post_install_message = <<~MSG
39
+ perchfall requires Node.js and Playwright to run browser checks.
40
+ After installing this gem, run:
41
+
42
+ npm install playwright
43
+ npx playwright install chromium
44
+ MSG
45
+
38
46
  # json is in stdlib but declared explicitly so bundler resolves it correctly
39
47
  spec.add_dependency 'json', '>= 2.0'
40
48
 
data/playwright/check.js CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  "use strict";
13
13
 
14
- const { chromium } = require("playwright");
14
+ const { chromium } = require(require.resolve("playwright", { paths: [__dirname] }));
15
15
  const { parseArgs } = require("node:util");
16
16
 
17
17
  // ---------------------------------------------------------------------------
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perchfall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Remsik
@@ -101,6 +101,12 @@ metadata:
101
101
  changelog_uri: https://github.com/beflagrant/perchfall/blob/main/CHANGELOG.md
102
102
  bug_tracker_uri: https://github.com/beflagrant/perchfall/issues
103
103
  rubygems_mfa_required: 'true'
104
+ post_install_message: |
105
+ perchfall requires Node.js and Playwright to run browser checks.
106
+ After installing this gem, run:
107
+
108
+ npm install playwright
109
+ npx playwright install chromium
104
110
  rdoc_options: []
105
111
  require_paths:
106
112
  - lib