Issue #3608664: Warn when the Tippy.js external libraries are missing
Closes #3608664
Problem
The term_glossary_tippy submodule requires the external popper.js and tippy.js JavaScript libraries. When they are missing from the /libraries folder, the module silently fails: tooltips do not work and the browser console shows 404 errors, with no feedback for the administrator.
The download instructions already exist in the main README.md, but nothing on the site points to them.
Changes
- New
TippyLibrarieshelper class checking the availability of the three required library files and building a reusable warning message with the download links. - New requirements check: reports the libraries status on the status report page. Missing libraries are reported as an error when the Tippy.js handler is the active integration type, as a warning otherwise. Implemented as an OOP
#[Hook('runtime_requirements')]class for Drupal 11.3+ with a#[LegacyRequirementsHook]procedural fallback for older cores, using theRequirementSeverityenum when available, so the check is deprecation free on all supported cores. - New
hook_install()implementation: displays the warning immediately when the module is installed while the libraries are missing. - The Tippy.js handler settings on the glossary configuration form now display the same warning when the libraries are missing.
- New
README.mdfor the submodule with the library requirements and download links. suggestentries incomposer.jsonfor thenpm-asset/popperjs--coreandnpm-asset/tippy.jspackages.- Unit test coverage for the libraries checker and functional test coverage for the status report entry and the configuration form warning. The tests covering the missing libraries case skip on environments where the libraries are installed in the web root, and conversely, so both branches are covered depending on the environment (drupal.org CI has no libraries and exercises the missing case).