Skip to content

Conversation

@hanna-skryl
Copy link
Collaborator

Part of #677

Upgrades @code-pushup/portal-client to v0.17.0 and adds support for uploading and downloading issues with URL sources.

Additionally, the Axe plugin issue messages are now built from the structured check results (none/all/any arrays) instead of parsing the failureSummary string. This produces cleaner messages and removes the selector prefix workaround that was needed before the portal supported URL sources.

@nx-cloud
Copy link

nx-cloud bot commented Feb 3, 2026

View your CI Pipeline Execution ↗ for commit 6fe2ae5

Command Status Duration Result
nx run ci:code-pushup -- merge-diffs --files=/h... ✅ Succeeded 5s View ↗
nx run-many --targets=code-pushup --parallel=fa... ✅ Succeeded 1m 31s View ↗
nx run-many --targets=code-pushup --parallel=fa... ✅ Succeeded 12m 57s View ↗
nx run-many -t unit-test,int-test ✅ Succeeded 1m 15s View ↗

☁️ Nx Cloud last updated this comment at 2026-02-03 14:16:11 UTC

@nx-cloud
Copy link

nx-cloud bot commented Feb 3, 2026

View your CI Pipeline Execution ↗ for commit 6c3dff0


☁️ Nx Cloud last updated this comment at 2026-02-03 01:52:02 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 3, 2026

Open in StackBlitz

@code-pushup/ci

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/ci@1235

@code-pushup/cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1235

@code-pushup/core

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/core@1235

@code-pushup/models

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/models@1235

@code-pushup/create-cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/create-cli@1235

@code-pushup/nx-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/nx-plugin@1235

@code-pushup/axe-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/axe-plugin@1235

@code-pushup/coverage-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/coverage-plugin@1235

@code-pushup/eslint-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/eslint-plugin@1235

@code-pushup/js-packages-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/js-packages-plugin@1235

@code-pushup/jsdocs-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/jsdocs-plugin@1235

@code-pushup/lighthouse-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/lighthouse-plugin@1235

@code-pushup/typescript-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/typescript-plugin@1235

@code-pushup/utils

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/utils@1235

commit: 6fe2ae5

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit 8e17838 with previous commit 7b6e72c.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Categories

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Security 🔴 47 🔴 45 ↓ −2.5
Performance 🔴 33 🔴 34 ↑ +1.3
Documentation 🟡 53 🟡 53 ↑ +0.1
Code coverage 🟢 93 🟢 93 ↑ +0.1
Bug prevention 🟡 75 🟡 75 ↓ −0.1
Axe Accessibility 🟡 88 🟡 88 ↓ −0.1
Code style 🟢 100 🟢 100
Updates 🟡 78 🟡 78
Type Safety 🟡 67 🟡 67
Miscellaneous 🟡 67 🟡 67
Accessibility 🟢 92 🟢 92
Best Practices 🟢 100 🟢 100
SEO 🟢 92 🟢 92
👍 3 groups improved, 👎 1 group regressed, 👍 5 audits improved, 👎 4 audits regressed, 16 audits changed without impacting score

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
JS packages npm audit 🔴 47 🔴 45 ↓ −2.5
Lighthouse Performance 🔴 33 🔴 34 ↑ +1.3
JSDocs coverage Documentation coverage 🟡 53 🟡 53 ↑ +0.1
Code coverage Code coverage metrics 🟢 93 🟢 93 ↑ +0.1

30 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
Lighthouse Minify CSS 🟩 0 🟥 Potential savings of 10 KiB  −∞ %
Lighthouse First Contentful Paint 🟥 3.1 s 🟥 3.4 s ↑ +10.5 %
Lighthouse Total Blocking Time 🟥 3,150 ms 🟥 1,670 ms ↓ −47 %
Lighthouse Speed Index 🟥 7.3 s 🟥 7.7 s ↑ +5.4 %
JS packages Vulnerabilities for npm prod dependencies. 🟨 11 vulnerabilities (2 high, 2 moderate, 7 low) 🟨 11 vulnerabilities (2 high, 3 moderate, 6 low)  +0 %
Lighthouse Time to Interactive 🟥 14.2 s 🟥 13.9 s ↓ −2.6 %
JSDocs coverage Functions coverage 🟥 585 undocumented functions 🟥 585 undocumented functions  +0 %
Code coverage Line coverage 🟩 92.8 % 🟩 92.8 % ↑ +0.1 %
Code coverage Function coverage 🟩 94.4 % 🟩 94.4 % ↑ +0.1 %
Lighthouse Avoids enormous network payloads 🟩 Total size was 2,087 KiB 🟩 Total size was 2,102 KiB ↑ +0.7 %
Lighthouse Minimizes main-thread work 🟥 13.9 s 🟥 10.6 s ↓ −23.4 %
Lighthouse JavaScript execution time 🟥 4.6 s 🟥 3.4 s ↓ −26 %
Lighthouse Server Backend Latencies 🟩 640 ms 🟩 1,540 ms ↑ +142.5 %
Lighthouse Largest Contentful Paint 🟥 11.7 s 🟥 12.2 s ↑ +4.3 %
Lighthouse Reduce unused JavaScript 🟥 Potential savings of 225 KiB 🟥 Potential savings of 225 KiB ↓ −31.4 %
Lighthouse Metrics 🟩 100% 🟩 100% ↓ −2.6 %
Lighthouse Uses efficient cache policy on static assets 🟨 31 resources found 🟨 31 resources found ↑ +0.1 %
Lighthouse Remove duplicate modules in JavaScript bundles 🟥 Potential savings of 86 KiB 🟥 Potential savings of 86 KiB ↓ −62.2 %
Lighthouse Max Potential First Input Delay 🟥 1,190 ms 🟥 1,090 ms ↓ −8.2 %
Lighthouse Reduce unused CSS 🟥 Potential savings of 125 KiB 🟥 Potential savings of 143 KiB ↑ +11.7 %
Lighthouse Network Round Trip Times 🟩 10 ms 🟩 50 ms ↑ +684.5 %
Lighthouse Initial server response time was short 🟥 Root document took 620 ms 🟥 Root document took 600 ms ↓ −3 %
Lighthouse ARIA tooltip elements have accessible names 🟩 passed 🟩 0 ↓ −100 %
Axe ARIA hidden element must not be focusable or contain focusable elements 🟩 201 elements 🟩 202 elements ↑ +0.5 %
Code coverage Branch coverage 🟨 89.2 % 🟨 89.2 % ↓ −0.1 %

654 other audits are unchanged.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit 8e17838 with previous commit 7b6e72c.

💼 Project plugin-axe

🥳 Code PushUp report has improved.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Documentation 🟡 70 🟡 70 ↑ +0.2
Code coverage 🟢 94 🟢 94 ↑ +0.1

4 other categories are unchanged.

👍 2 groups improved, 👍 3 audits improved

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
JSDocs coverage Documentation coverage 🟡 70 🟡 70 ↑ +0.2
Code coverage Code coverage metrics 🟢 94 🟢 94 ↑ +0.1

13 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
JSDocs coverage Functions coverage 🟨 12 undocumented functions 🟨 12 undocumented functions  +0 %
Code coverage Branch coverage 🟩 90 % 🟩 90.3 % ↑ +0.3 %
Code coverage Line coverage 🟨 73 % 🟨 73.2 % ↑ +0.3 %

440 other audits are unchanged.

💼 Project core

🥳 Code PushUp report has improved.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Code coverage 🟢 90 🟢 90 ↑ +0.1

5 other categories are unchanged.

👍 1 group improved, 👍 2 audits improved

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
Code coverage Code coverage metrics 🟢 90 🟢 90 ↑ +0.1

14 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
Code coverage Branch coverage 🟨 83.2 % 🟨 83.3 % ↑ +0.2 %
Code coverage Line coverage 🟩 94.8 % 🟩 94.8 % ↑ +0.1 %

442 other audits are unchanged.

💼 Project ci

🤨 Code PushUp report has both improvements and regressions.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Code coverage 🟢 92 🟢 92 ↓ −0.1

5 other categories are unchanged.

👎 1 group regressed, 👍 1 audit improved, 👎 1 audit regressed

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
Code coverage Code coverage metrics 🟢 92 🟢 92 ↓ −0.1

14 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
Code coverage Branch coverage 🟨 83.6 % 🟨 83.5 % ↓ −0.1 %
Code coverage Line coverage 🟩 94.8 % 🟩 94.8 % ↑ +0.1 %

443 other audits are unchanged.

💼 Project utils

🥳 Code PushUp report has improved.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Documentation 🟡 61 🟡 61 ↑ +0.1

5 other categories are unchanged.

👍 1 group improved

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
JSDocs coverage Documentation coverage 🟡 61 🟡 61 ↑ +0.1

14 other groups are unchanged.

🛡️ Audits

All of 444 audits are unchanged.


10 other projects are unchanged.

@hanna-skryl hanna-skryl marked this pull request as ready for review February 3, 2026 02:38
check => check.message,
);
if (requiredMessages.length > 0) {
return requiredMessages.join('. ');
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The unit tests don't cover a case where there are multiple messages in all or none. If it's a realistic case, I would test that checks the messages are joined correctly.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is a realistic case. Thanks for the pointer!

if (requiredMessages.length > 0) {
return requiredMessages.join('. ');
}
return node.any[0]?.message ?? fallback;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible that using only the first message in any omits useful information?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so. The any array contains alternative ways to fix the issue, and the first message is typically the most direct fix. The rest are just fallback options covered by the audit's docs link.

For example, an "Images must have alternative text" audit has only any failures:

  • Element does not have an alt attribute
  • aria-label attribute does not exist or is empty
  • aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
  • Element has no title attribute
  • Element's default semantics were not overridden with role="none" or role="presentation""

The first message is a compact, actionable fix, and the other alternatives are already mentioned in the audit docs.

Alternatively, a "Links must have discernible text" audit has both none and any failures:

none:

  • Element is in tab order and does not have accessible text

any:

  • Element does not have text that is visible to screen readers
  • aria-label attribute does not exist or is empty
  • aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
  • Element has no title attribute

The none message is the actual problem.

I also initially thought all the failure messages were useful, but they really aren't.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the Axe audit title and the docs URL usually provide all the necessary context to describe the failure. The issue source seems much more useful than the message. So, there is no need to clutter issue messages with full failure summaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants