Conversation
|
the pr is ok but the following outdated packages should be reviewed to see if they can be updated
|
|
@brianteeman TinyMCE 8 would be a b/c break and in general we will not make major updates in 5.4 if there is any risk for b/c breaks. Such things will be for 6.0. |
|
thats why i said the list should be reviewed |
These rules were deprecated with version 15 and have been removed with version 16.
|
@dgrammatiko Could you check the "Stylelint major update from 14 to 16" part in the description of this PR? Should we do something to bring back the functionality of the removed style checks? Can we implement own stylelint rules for that? Or integrate another 3rd party tool? Or can we live without these checks? You can see the removed rules in commit 69ab7a1 . Thanks in advance for checking. |
|
@dgrammatiko P.S.: Another problem is updating eslint stuff. I don't get that working here. It fails with unresolved dependencies or something like that. Maybe you can help also with that? |
|
I’ll have a look later on today |
|
@dgrammatiko For the styllint rules they write in https://stylelint.io/migration-guide/to-15/#deprecated-stylistic-rules :
So maybe we can just add that plugin and add back the removed rules, e.g. |
|
@dgrammatiko Done, I've added the plugin and added back the rules. Will update PR description with that. Stylelint issue solved. What remains is the eslint. |
|
At some point we should move to biome and rolldown (rust based). I’m sure I have some code already but probably not for this pr. I’ll look at the eslint when I’m back home |
|
Current status of this PR regarding outdated dependencies: |
|
accessibility, shepherd.js and tinymce definitely can not be updated in this PR |
|
I've reverted the major updates of the non-development dependencies, which were "es-module-shims", "qrcode-generator" and "dotenv", in order to play safe regarding b/c for 5.4. We can reconsider them when doing the npm updates for 6.0. So this PR is ready for reviews and testing. |
|
I have tested this item ✅ successfully on 3db258a This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45784. |
|
confirming the updated versions and the eslint changes. the only css changes present appear to be directly from the bs upgrade which as its a bug fix upgrade all look fine. thanks for your hard work on this |
|
I have tested this item ✅ successfully on 3db258a This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45784. |
|
RTC This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45784. |
|
✅ Final test before merge, using JBT recreate
|
|
Many thanks @richard67 for all the work. Thank you @dgrammatiko for your contribution. Thank you @brianteeman and @Hackwar for testing. |
Pull Request for Issue #45731 .
Summary of Changes
This pull request (PR) updates all npm dependencies for which currently updates are available and an update is possible.
It also relaxes the fixed version pin "5.3.3" for bootstrap and updates that dependency to the latest version "5.3.7".
The fixed version constraint was once added with PR #41899 for version "5.3.2" and updated to "5.3.3" with the later PR #44067 , keeping a pin to a fixed version. According to the comments in the former PR, this can be changed back to a caret version constraint "^5.3.7".
For non-development dependencies only minor or patch updates are made. Major updates should be done with Joomla 6.0.0.
For development dependencies, major updates have to be done for the linters (eslint and stylelint) because they are outdated and not maintainer anymore in the version we currently use.
This required to make changes e.g. on js or mjs files which are described in detail in section "Major direct development dependency updates" further below.
With this PR, 2 security vulnerabilities reported by
npm auditare fixed. We should check if we can back port them to 5.3-dev.Major updates to be checked for Joomla 6
The following major updates of direct dependencies are not done with this PR:
Minor direct dependency updates
@codemirror/commandsfrom 6.8.0 to 6.8.1https://github.com/codemirror/commands/releases/tag/6.8.1
@codemirror/lang-javascriptfrom 6.2.3 to 6.2.4https://github.com/codemirror/lang-javascript/releases/tag/6.2.4
@codemirror/lang-jsonfrom 6.0.1 to 6.0.2https://github.com/codemirror/lang-json/releases/tag/6.0.2
@codemirror/lang-markdownfrom 6.3.2 to 6.3.3https://github.com/codemirror/lang-markdown/releases/tag/6.3.3
@codemirror/lang-phpfrom 6.0.1 to 6.0.2https://github.com/codemirror/lang-php/releases/tag/6.0.2
@codemirror/languagefrom 6.11.0 to 6.11.2https://github.com/codemirror/language/releases/tag/6.11.1
https://github.com/codemirror/language/releases/tag/6.11.2
All changes: codemirror/language@6.11.0...6.11.2
@codemirror/lintfrom 6.8.4 to 6.8.5https://github.com/codemirror/lint/releases/tag/6.8.5
@codemirror/searchfrom 6.5.10 to 6.5.11https://github.com/codemirror/search/releases/tag/6.5.11
@codemirror/theme-one-darkfrom 6.1.2 to 6.1.3https://github.com/codemirror/theme-one-dark/releases/tag/6.1.3
@codemirror/viewfrom 6.36.4 to 6.38.1https://github.com/codemirror/view/releases/tag/6.36.5
https://github.com/codemirror/view/releases/tag/6.36.6
https://github.com/codemirror/view/releases/tag/6.36.7
https://github.com/codemirror/view/releases/tag/6.36.8
https://github.com/codemirror/view/releases/tag/6.37.0
https://github.com/codemirror/view/releases/tag/6.37.1
https://github.com/codemirror/view/releases/tag/6.37.2
https://github.com/codemirror/view/releases/tag/6.38.0
https://github.com/codemirror/view/releases/tag/6.38.1
All changes: codemirror/view@6.36.4...6.38.1
bootstrapfrom 5.3.3 to 5.3.7https://github.com/twbs/bootstrap/releases/tag/v5.3.4
https://github.com/twbs/bootstrap/releases/tag/v5.3.5
https://github.com/twbs/bootstrap/releases/tag/v5.3.6
https://github.com/twbs/bootstrap/releases/tag/v5.3.7
All changes: twbs/bootstrap@v5.3.3...v5.3.7
dotenvfrom 16.4.7 to 16.6.1https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md
hotkeys-jsfrom 3.13.9 to 3.13.15https://github.com/jaywcjlove/hotkeys-js/releases/tag/v3.13.10
https://github.com/jaywcjlove/hotkeys-js/releases/tag/v3.13.11
https://github.com/jaywcjlove/hotkeys-js/releases/tag/v3.13.12
https://github.com/jaywcjlove/hotkeys-js/releases/tag/v3.13.13
https://github.com/jaywcjlove/hotkeys-js/releases/tag/v3.13.14
https://github.com/jaywcjlove/hotkeys-js/releases/tag/v3.13.15
All changes: jaywcjlove/hotkeys-js@v3.13.9...v3.13.15
qrcode-generatorfrom 1.4.4 to 1.5.2https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js1.5.0
https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js1.5.1
https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js1.5.2
All changes: kazuhikoarase/qrcode-generator@js1.4.4...js1.5.2
sa11yfrom 4.1.1 to 4.1.10https://github.com/ryersondmp/sa11y/releases/tag/4.1.2
https://github.com/ryersondmp/sa11y/releases/tag/4.1.3
https://github.com/ryersondmp/sa11y/releases/tag/4.1.4
https://github.com/ryersondmp/sa11y/releases/tag/4.1.5
https://github.com/ryersondmp/sa11y/releases/tag/4.1.6
https://github.com/ryersondmp/sa11y/releases/tag/4.1.7
https://github.com/ryersondmp/sa11y/releases/tag/4.1.8
https://github.com/ryersondmp/sa11y/releases/tag/4.1.9
https://github.com/ryersondmp/sa11y/releases/tag/4.1.10
All changes: ryersondmp/sa11y@4.1.1...4.1.10
tinymcefrom 6.8.5 to 6.8.6https://github.com/tinymce/tinymce/releases/tag/6.8.6
vuefrom 3.5.13 to 3.5.18https://github.com/vuejs/core/releases/tag/v3.5.14
https://github.com/vuejs/core/releases/tag/v3.5.15
https://github.com/vuejs/core/releases/tag/v3.5.16
https://github.com/vuejs/core/releases/tag/v3.5.17
https://github.com/vuejs/core/releases/tag/v3.5.18
All changes: vuejs/core@v3.5.13...v3.5.18
Major direct development dependency updates
eslintfrom 8.57.1 to 9.32.0With version 9, the configuration file format of eslint has changed.
Due to the update, lots of
// eslint-disable-next-linein some 90 js files have become obsolete.This has bee done by @dgrammatiko with commit b78c75f , then the new configuration files have been moved to the "build" folder with my commit 34964ca .
Thanks a lot @dgrammatiko for your help.
eslint-plugin-vuehas been updated from 9.33.0 to 10.3.0 to match the neweslintversion.eslint-plugin-importhas been updated from 2.31.0 to 2.32.0eslint-config-airbnb-basehas been removed because there is no version available which supports eslint version 9.stylelintfrom 14.16.1 to 16.23.0With version 15, stylelint decided to focus on the main purpose of a code linter and leave pure code style checks to external tools. See details below the list of rules here https://stylelint.io/migration-guide/to-15/#deprecated-stylistic-rules .
With version 16, these deprecated rules have been removed, see https://stylelint.io/migration-guide/to-16/#removed-deprecated-stylistic-rules .
That causes "Unknown rule" errors when running
npm ciornpm run lint:css, and the GitHub action for the CSS style check fails.This is fixed by adding the
@stylistic/stylelint-pluginas recommended in the migration to 15 guide mentioned above, and changing the rules by adding a@stylistic/prefix. In this way we can keep these rules, andnpm run lint:cssshould work as before.In addition, it needed to fix stylelint errors in 3 of our scss files which were reported by the updated version due to its improvements. See this commit in my PR: 3c4b4ff
The following direct development dependencies have been updated to match the new
stylelintversion:stylelint-config-standardfrom 24.0.0 to 39.0.0stylelint-orderfrom 5.0.0 to 7.0.0stylelint-scsfrom 4.7.0 to 6.12.1Minor direct development dependency updates
@babel/corefrom 7.26.10 to 7.28.0@babel/preset-envfrom 7.26.9 to 7.28.0@rollup/plugin-commonjsfrom 28.0.3 to 28.0.6@vue/compiler-sfcfrom 3.5.8 to 3.5.18commanderfrom 13.1.0 to 14.0.0core-jsfrom 3.41.0 to 3.44.0cypressfrom 14.2.0 to 14.5.3esbuildfrom 0.25.1 to 0.25.8jasmine-corefrom 5.6.0 to 5.9.0lightningcssfrom 1.29.3 to 1.30.1pgfrom 8.14.0 to 8.16.3rollupfrom 4.35.0 to 4.46.1sass-embeddedfrom 1.85.1 to 1.89.2semverfrom 7.7.1 to 7.7.2joomla-cypressis only changed from "^1.3.0" to "^1.3.1" in package.json.In package-lock.json it is already up to date.
Indirect dependencies
The indirect dependencies of the above mentioned direct dependencies have been updated, too, of course.
But I don't think that needs to be reviewed in detail.
Testing Instructions
Reviews
Reviewers please use the GitHub review functionality to approve the changes or request changes.
Real Tests
When having tested, please submit your test result in the issue tracker here https://issues.joomla.org/tracker/joomla-cms/45784 with the blue "Test this" button at the top left corner.
Pre-conditions: It needs a development environment, i.e. a git clone, composer and npm.
The description below assumes that you have a git clone of your fork with
originbeing the remote for your fork, andupstreambeing the remote to this repository here, as it is with a standard installation of GitHub desktop or most other Git clients.composer install.npm ci.Result: See section "Actual result BEFORE applying this Pull Request" below.
5, Run
npm auditto check for security issues.Result: See section "Actual result BEFORE applying this Pull Request" below.
npm outdatedto check for outdated dependencies.Result: See section "Actual result BEFORE applying this Pull Request" below.
For the results of steps 4, 5 and 6, see section "Expected result AFTER applying this Pull Request" below.
Actual result BEFORE applying this Pull Request
When running
npm ci, 6 deprecated dependencies are reported:When running
npm audityou get 3 vulnerabilities (1 low, 1 moderate, 1 critical):When running
npm outdatedyou get a giant list too long to be mentioned here.Expected result AFTER applying this Pull Request
When running
npm ci, no deprecated dependencies are reported:When running
npm audityou only get the moderate vulnerability of tinymce, which can not be fixed without a major update and which we currently circumvent with restrictive settings, e.g. for iframes.When running
npm outdatedyou get:Administrator and site look as usual.
Link to documentations
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed