Skip to content

Commit 2d45fe3

Browse files
committed
deps: upgrade pixelmatch for performance improvements
1 parent e9c3be7 commit 2d45fe3

File tree

4 files changed

+15
-60
lines changed

4 files changed

+15
-60
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
"eslint": "^9.3.0",
129129
"globals": "^14.0.0",
130130
"jest": "^29.7.0",
131-
"pixelmatch": "^5.3.0",
131+
"pixelmatch": "^7.1.0",
132132
"playwright": "^1.51.1",
133133
"pngjs": "^7.0.0",
134134
"prettier": "^3.2.5",

test/regression-extract.js

Lines changed: 6 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,16 @@ const exclude = [
1717
'W3C_SVG_11_TestSuite/svg/filters-composite-05-f.svg',
1818
// messed gradients
1919
'W3C_SVG_11_TestSuite/svg/pservers-grad-18-b.svg',
20-
// removing wrapping <g> breaks :first-child pseudo-class
21-
'W3C_SVG_11_TestSuite/svg/styling-pres-04-f.svg',
2220
// rect is converted to path which matches wrong styles
2321
'W3C_SVG_11_TestSuite/svg/styling-css-08-f.svg',
2422
// complex selectors are messed because of converting shapes to paths
2523
'W3C_SVG_11_TestSuite/svg/struct-use-10-f.svg',
2624
'W3C_SVG_11_TestSuite/svg/struct-use-11-f.svg',
2725
'W3C_SVG_11_TestSuite/svg/styling-css-01-b.svg',
2826
'W3C_SVG_11_TestSuite/svg/styling-css-04-f.svg',
29-
// strange artifact breaks inconsistently breaks regression tests
27+
// strange artifact inconsistently breaks regression tests
3028
'W3C_SVG_11_TestSuite/svg/filters-conv-05-f.svg',
3129
// broken upon adding dataset and pending fix
32-
'oxygen-icons-5.116.0/scalable/actions/document-print-preview.svg',
3330
'oxygen-icons-5.116.0/scalable/actions/hidef/tools-rip-audio-cd.svg',
3431
'oxygen-icons-5.116.0/scalable/actions/im-ban-kick-user.svg',
3532
'oxygen-icons-5.116.0/scalable/actions/im-ban-user.svg',
@@ -80,13 +77,16 @@ const exclude = [
8077
'oxygen-icons-5.116.0/scalable/actions/small/48x48/tools-media-optical-burn-image.svg',
8178
'oxygen-icons-5.116.0/scalable/actions/tools-media-optical-burn-image.svg',
8279
'oxygen-icons-5.116.0/scalable/actions/tools-rip-audio-cd.svg',
80+
'oxygen-icons-5.116.0/scalable/actions/user-properties.svg',
81+
'oxygen-icons-5.116.0/scalable/actions/view-pim-mail.svg',
8382
'oxygen-icons-5.116.0/scalable/applets/org.kde.plasma.clipboard.svg',
8483
'oxygen-icons-5.116.0/scalable/applets/org.kde.plasma.devicenotifier.svg',
8584
'oxygen-icons-5.116.0/scalable/applets/org.kde.plasma.icontasks.svg',
8685
'oxygen-icons-5.116.0/scalable/applets/org.kde.plasma.kickerdash.svg',
8786
'oxygen-icons-5.116.0/scalable/applets/org.kde.plasma.quicklaunch.svg',
87+
'oxygen-icons-5.116.0/scalable/apps/accessories-text-editor.svg',
8888
'oxygen-icons-5.116.0/scalable/apps/basket.svg',
89-
'oxygen-icons-5.116.0/scalable/apps/calligraauthor.svg',
89+
'oxygen-icons-5.116.0/scalable/apps/graphics-viewer-document.svg',
9090
'oxygen-icons-5.116.0/scalable/apps/hardware.svg',
9191
'oxygen-icons-5.116.0/scalable/apps/hidef/kmail2.svg',
9292
'oxygen-icons-5.116.0/scalable/apps/hidef/preferences-desktop-locale.svg',
@@ -96,27 +96,21 @@ const exclude = [
9696
'oxygen-icons-5.116.0/scalable/apps/kmail2.svg',
9797
'oxygen-icons-5.116.0/scalable/apps/kmymoney.svg',
9898
'oxygen-icons-5.116.0/scalable/apps/kplato.svg',
99-
'oxygen-icons-5.116.0/scalable/apps/krfb.svg',
10099
'oxygen-icons-5.116.0/scalable/apps/ksudoku.svg',
101100
'oxygen-icons-5.116.0/scalable/apps/okteta.svg',
102101
'oxygen-icons-5.116.0/scalable/apps/picmi.svg',
103102
'oxygen-icons-5.116.0/scalable/apps/preferences-desktop-user-password.svg',
104103
'oxygen-icons-5.116.0/scalable/apps/preferences-system-time.svg',
105-
'oxygen-icons-5.116.0/scalable/apps/small/16x16/kchart.svg',
106-
'oxygen-icons-5.116.0/scalable/apps/small/16x16/system-file-manager.svg',
104+
'oxygen-icons-5.116.0/scalable/apps/scribus.svg',
107105
'oxygen-icons-5.116.0/scalable/apps/small/22x22/basket.svg',
108106
'oxygen-icons-5.116.0/scalable/apps/small/32x32/preferences-system-windows-move.svg',
109-
'oxygen-icons-5.116.0/scalable/apps/small/32x32/system-file-manager.svg',
110107
'oxygen-icons-5.116.0/scalable/apps/small/48x48/kig.svg',
111108
'oxygen-icons-5.116.0/scalable/apps/small/64x64/kplato.svg',
112109
'oxygen-icons-5.116.0/scalable/apps/strigi.svg',
113110
'oxygen-icons-5.116.0/scalable/apps/timevault.svg',
114111
'oxygen-icons-5.116.0/scalable/categories/applications-toys.svg',
115-
'oxygen-icons-5.116.0/scalable/categories/hidef/preferences-system.svg',
116-
'oxygen-icons-5.116.0/scalable/categories/preferences-system.svg',
117112
'oxygen-icons-5.116.0/scalable/devices/audio-card.svg',
118113
'oxygen-icons-5.116.0/scalable/devices/camera-web.svg',
119-
'oxygen-icons-5.116.0/scalable/devices/cpu.svg',
120114
'oxygen-icons-5.116.0/scalable/devices/hidef/input-keyboard.svg',
121115
'oxygen-icons-5.116.0/scalable/devices/hidef/media-optical-audio.svg',
122116
'oxygen-icons-5.116.0/scalable/devices/input-keyboard.svg',
@@ -151,38 +145,6 @@ const exclude = [
151145
'oxygen-icons-5.116.0/scalable/places/small/64x64/folder-tar.svg',
152146
'oxygen-icons-5.116.0/scalable/places/small/64x64/network-server-database.svg',
153147
'oxygen-icons-5.116.0/scalable/places/small/64x64/server-database.svg',
154-
'oxygen-icons-5.116.0/scalable/status/small/22x22/weather-showers-day.svg',
155-
'oxygen-icons-5.116.0/scalable/status/small/32x32/weather-showers-day.svg',
156-
'oxygen-icons-5.116.0/scalable/status/user-busy.svg',
157-
'oxygen-icons-5.116.0/scalable/status/user-online.svg',
158-
'oxygen-icons-5.116.0/scalable/text-formatting.svg',
159-
// broken on ci, but unable to reproduce locally
160-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-encrypted-full.svg',
161-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-encrypted-part.svg',
162-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-encrypted.svg',
163-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-signature-unknown.svg',
164-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-signed-full.svg',
165-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-signed-part.svg',
166-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-signed.svg',
167-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/mail-tagged.svg',
168-
'oxygen-icons-5.116.0/scalable/actions/small/16x16/view-calendar-list.svg',
169-
'oxygen-icons-5.116.0/scalable/actions/small/22x22/mail-forward.svg',
170-
'oxygen-icons-5.116.0/scalable/actions/small/22x22/mail-queue.svg',
171-
'oxygen-icons-5.116.0/scalable/actions/small/22x22/view-calendar-list.svg',
172-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-baselined-add.svg',
173-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-baselined-remove.svg',
174-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-baselined.svg',
175-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-calculus.svg',
176-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-child-insert.svg',
177-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-edit.svg',
178-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule-insert.svg',
179-
'oxygen-icons-5.116.0/scalable/actions/small/32x32/view-time-schedule.svg',
180-
'oxygen-icons-5.116.0/scalable/apps/utilities-log-viewer.svg',
181-
'W3C_SVG_11_TestSuite/svg/color-prop-04-t.svg',
182-
'W3C_SVG_11_TestSuite/svg/coords-units-03-b.svg',
183-
'W3C_SVG_11_TestSuite/svg/filters-displace-01-f.svg',
184-
'W3C_SVG_11_TestSuite/svg/fonts-kern-01-t.svg',
185-
'W3C_SVG_11_TestSuite/svg/interact-pevents-01-b.svg',
186148
];
187149

188150
/**

test/regression.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ const runTests = async (list) => {
4545
const optimizedBufferPromise = page.screenshot(screenshotOptions);
4646

4747
const writeDiffs = process.env.NO_DIFF == null;
48-
const diff = writeDiffs && new PNG({ width: WIDTH, height: HEIGHT });
48+
const diff = writeDiffs ? new PNG({ width: WIDTH, height: HEIGHT }) : null;
4949
const originalPng = PNG.sync.read(originalBuffer);
5050
const optimizedPng = PNG.sync.read(await optimizedBufferPromise);
5151
const matched = pixelmatch(
5252
originalPng.data,
5353
optimizedPng.data,
54-
diff ? diff.data : null,
54+
diff?.data,
5555
WIDTH,
5656
HEIGHT,
5757
);

yarn.lock

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3851,14 +3851,14 @@ __metadata:
38513851
languageName: node
38523852
linkType: hard
38533853

3854-
"pixelmatch@npm:^5.3.0":
3855-
version: 5.3.0
3856-
resolution: "pixelmatch@npm:5.3.0"
3854+
"pixelmatch@npm:^7.1.0":
3855+
version: 7.1.0
3856+
resolution: "pixelmatch@npm:7.1.0"
38573857
dependencies:
3858-
pngjs: ^6.0.0
3858+
pngjs: ^7.0.0
38593859
bin:
38603860
pixelmatch: bin/pixelmatch
3861-
checksum: f542713d89536551181ad9ddb666a1792ba00a8632d831093232a075cb3ccac05856e7a453ed7d0a41aaef64dcb5962e8ae5cbe646dd2761790d8ee51b0a0743
3861+
checksum: 0ad2e863e0e87ae52289c4366860a4040712a30a1e19c606745b9750b3ecda6f587dc959ce452818c50c7753ef6916f23026c14ef4d5f6c3b13c8205d61b923d
38623862
languageName: node
38633863
linkType: hard
38643864

@@ -3895,13 +3895,6 @@ __metadata:
38953895
languageName: node
38963896
linkType: hard
38973897

3898-
"pngjs@npm:^6.0.0":
3899-
version: 6.0.0
3900-
resolution: "pngjs@npm:6.0.0"
3901-
checksum: ab6c285086060087097eab9fe6b5a528a24f9e79c03dea2b4fd6264ed4fdb5beff4a3257eeeaf2a9dc18249b539609c2a4e4013c567164a1f6b5ba2c974d5ecb
3902-
languageName: node
3903-
linkType: hard
3904-
39053898
"pngjs@npm:^7.0.0":
39063899
version: 7.0.0
39073900
resolution: "pngjs@npm:7.0.0"
@@ -4516,7 +4509,7 @@ __metadata:
45164509
globals: ^14.0.0
45174510
jest: ^29.7.0
45184511
picocolors: ^1.1.1
4519-
pixelmatch: ^5.3.0
4512+
pixelmatch: ^7.1.0
45204513
playwright: ^1.51.1
45214514
pngjs: ^7.0.0
45224515
prettier: ^3.2.5

0 commit comments

Comments
 (0)