Twig function that lets Pattern Lab use a simple version of Drupal's attach_library function to add javascript files per component.
To use in Pattern Lab, simply place in the _twig-components/functions
directory. Since this function is specifically for Pattern Lab (Drupal has its own), it is namespaced with pl_
so if you're using the Unified Twig Extensions module, it will ignore it when syncing functions between Drupal and Pattern Lab.
Simply add {{ attach_library(MODULE/FILENAME) }}
to any component Twig file using the same syntax as Drupal. Pattern Lab will then locate the theme's *.libraries.yml
file and load the JavaScript file from the path in that library whenever that component is loaded. Since this function uses the same syntax as Drupal, nothing else needs to be done when loading the component in Drupal. It will work as it always did!
This function is limited to loading the js file referenced in the library. It will not load other assets and will not load any dependencies either. If you need to load a dependency or other file in Pattern Lab, it can be done as usual in /meta/foot.twig
. See the commented out parts in Emulsify's file for examples of how to do this.