*************** *** 1342,1347 **** $js_collection_renderer = \Drupal::service('asset.js.collection_renderer'); $variables['scripts'] = $js_collection_renderer->render($js_assets_header); $variables['scripts_bottom'] = $js_collection_renderer->render($js_assets_footer); // Handle all non-asset attachments. drupal_process_attached($all_attached); --- 1342,1353 ---- $js_collection_renderer = \Drupal::service('asset.js.collection_renderer'); $variables['scripts'] = $js_collection_renderer->render($js_assets_header); $variables['scripts_bottom'] = $js_collection_renderer->render($js_assets_footer); + // Also create the alternative version of the aggregate that is unoptimized, + // but annotated with deep links to the license information on the + // JavaScript License Web Labels page. + // @see \Drupal\system\Controller\AssetLicenseInfoController + \Drupal::service('asset.js.collection_optimizer_license_web_labels_annotator')->optimize($js_assets_header); + \Drupal::service('asset.js.collection_optimizer_license_web_labels_annotator')->optimize($js_assets_footer); // Handle all non-asset attachments. drupal_process_attached($all_attached);