/**
* Implements hook_library_info_alter().
*
* The tagify module loads Tagify from cdnjs.cloudflare.com. Serve it from
* npm-asset/yaireo--tagify in /libraries instead, so no request reaches a
* third party and the widget keeps working behind restrictive firewalls.
*/
function my_module_library_info_alter(array &$libraries, string $extension): void {
if ($extension !== 'tagify') {
return;
}
// Assigning replaces the CDN entries. The npm package ships an unminified
// UMD build and no *.min.css; Drupal aggregates them either way.
$libraries['tagify']['js'] = [
'/libraries/yaireo--tagify/dist/tagify.js' => ['minified' => FALSE],
];
$libraries['tagify']['css']['component'] = [
'/libraries/yaireo--tagify/dist/tagify.css' => ['minified' => FALSE],
];
$libraries['tagify_polyfils']['js'] = [
'/libraries/yaireo--tagify/dist/tagify.polyfills.min.js' => ['minified' => TRUE],
];
unset($libraries['tagify']['remote'], $libraries['tagify_polyfils']['remote']);
}