build(deps-dev): move the whole stylelint family to 17 as one upgrade - #593
Conversation
stylelint 15.11.0 -> 17.14.1 with every package that peers on it: @nextcloud/stylelint-config ^2.4.0 -> ^3.2.2 stylelint-config-recommended-scss ^13.1.0 -> ^17.0.1 stylelint-config-recommended-vue ^1.6.1 -> ^2.0.0 postcss-html ^1.8.1 -> ^2.0.0 stylelint-config-html (absent) -> ^2.0.0 None can move alone: vue-config@2 peers 'postcss-html ^2.0.0' and 'stylelint-config-html >=2.0.0'; postcss-html@2 breaks vue-config@1.6.1's own '^1.0.0' peer; scss-config@17 peers 'stylelint ^17'. @nextcloud/stylelint-config is the member that decides it — v2.4.0 still declares indentation / string-quotes / number-leading-zero / selector-list-comma-newline-after, all removed in stylelint 16. Then 10 real errors, in 4 files: 8x word-break: break-word -> overflow-wrap: break-word 1x word-wrap: break-word -> overflow-wrap: break-word 1x clip: rect(0,0,0,0) -> clip-path: inset(50%) Fixed by hand, NOT with --fix. The autofix also rewrites the 86 advisory csstools/use-logical warnings (text-align: left -> start, padding-left -> padding-inline-start, ...) across 28 files. Those change how the UI lays out under RTL and have nothing to do with this bump; openbuild, scholiq and hermiq all carry the same warnings unfixed. A dependency upgrade should not smuggle in a directional-CSS change. Result: 10 errors -> 0, exit 0. The 86 warnings are unchanged and non-blocking.
Quality Report — ConductionNL/softwarecatalog @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| composer | ✅ | ✅ 130/130 | |||
| npm | ✅ | ✅ 703/703 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-21 00:06 UTC
Download the full PDF report from the workflow artifacts.
|
Accuracy note, after investigating why the equivalent change failed on openbuild. This landed green and so The alternative was I chose this set for consistency with the three apps already on it rather than splitting the fleet further, and it is verified green here. Recording the trade-off so the next person does not rediscover it from an ERESOLVE. It resolves properly once Also worth stating plainly: |
stylelint 15.11.0 → 17.14.1 with every package that peers on it:
@nextcloud/stylelint-configstylelint-config-recommended-scssstylelint-config-recommended-vuepostcss-htmlstylelint-config-htmlNone can move alone:
vue-config@2peerspostcss-html ^2.0.0andstylelint-config-html >= 2.0.0;postcss-html@2breaksvue-config@1.6.1's own^1.0.0peer;scss-config@17peersstylelint ^17.@nextcloud/stylelint-configis the member that decides the outcome — v2.4.0 still declaresindentation,string-quotes,number-leading-zeroandselector-list-comma-newline-after, all removed in stylelint 16. The rules are not in this repo;stylelint.config.jsonly extends that package.The 10 real errors, in 4 files
word-break: break-wordoverflow-wrap: break-wordword-wrap: break-wordoverflow-wrap: break-wordclip: rect(0,0,0,0)clip-path: inset(50%)Why these were fixed by hand and not with
--fix--fixclears the 10 errors, but it also rewrites the 86 advisorycsstools/use-logicalwarnings —text-align: left→start,padding-left→padding-inline-start, and so on — across 28 files.Those change how the UI lays out under RTL. That may well be desirable, but it is a deliberate design change, not a side effect a dependency bump should smuggle in, and openbuild (42), scholiq (53) and hermiq (13) all carry the same warnings unfixed. So the diff here is only the 4 files with genuine deprecations.
Result