Skip to main content
Drupal is a registered trademark of Dries Buytaert
EOL Warning: Drupal 11.0 has reached end of life and no longer receives security updates. EOL Warning: Drupal 10.3 has reached end of life and no longer receives security updates. EOL Warning: Drupal 10.2 has reached end of life and no longer receives security updates. EOL Warning: Drupal 10.1 has reached end of life and no longer receives security updates. EOL Warning: Drupal 10.0 has reached end of life and no longer receives security updates. EOL Warning: Drupal 9.5 has reached end of life and no longer receives security updates. EOL Warning: Drupal 9.4 has reached end of life and no longer receives security updates. EOL Warning: Drupal 9.3 has reached end of life and no longer receives security updates. Usage Milestone: jQuery UI Datepicker Module jquery_ui_datepicker crossed 1,000 active installs. Release: Module Builder 4.2.6 Minor update available for module module_builder (4.2.6).

Libraries API

203,733 sites Security covered Drupal 10–11
View on drupal.org

This module provides a central place to manage external JavaScript and CSS libraries used by multiple Drupal modules. It allows these libraries to be shared across different modules and sites, simplifying upgrades and preventing version conflicts.

πŸ‡ΊπŸ‡¦

This module is maintained by Ukrainian developers.
Please consider supporting Ukraine in a fight for their freedom and safety of Europe.

Developer module that provides a place to upload external javascript plugins and libraries so the same library can be used by multiple modules.

The common denominator for all Drupal modules/profiles/themes that integrate with external libraries.

This module introduces a common repository for libraries in sites/all/libraries resp. sites/<domain>/libraries for contributed modules.

External libraries
Denotes libraries ("plugins") that are neither shipped nor packaged with a project on drupal.org. We do not want to host third-party libraries on drupal.org for a multitude of reasons, starting with licensing, proceeding to different release cycles, and not necessarily ending with fatal errors due to conflicts of having the same library installed in multiple versions.

Drupal 7 only has built-in support for non-external libraries via hook_library(). But it is only suitable for drupal.org projects that bundle their own library; i.e., the module author is the creator and vendor of the library. Libraries API should be used for externally developed and distributed libraries. A simple example would be a third-party jQuery plugin.

Goals

  • The same library can be shared by more than one module.
  • The same library can be shared by more than one site.
  • Ease the process of upgrading a module that requires an external library. Just replace the module folder with the new one. No need to move the contained library out and back in.
  • Prevent incompatibilities due to having the same library installed more than once in different versions.
  • Central installation instructions (widget) to help users figure out how to install.
  • Library classification.
  • Dependency handling.
  • Library version detection.
  • Runtime control of library availability.

Documentation

The 1.x branch has very basic support for placing libraries in the sites/all/libraries folder, while more advanced features (including the above list) are currently being fleshed out in the 2.x branch (D7 only at the moment).
Further resources:

Background information:

8.x-3.x

As in Drupal 7 Libraries API remains an important API module for some parts of the Drupal 8 contrib ecosystem. Though Drupal 8 core has introduced improved library management tools (libraries.yml and unified library loading) it still does not offer a solution for handling external library dependencies that may be shared across multiple extensions. As a result this remains the primary problem space for the Libraries API module.

Additional information is available at #1704734: [master] Libraries API 8.x-3.x.

Get involved

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

3 tracked projects depend on this one

Activity

Tracked releases
3
Tracked since
Jun 2025
Latest release
10 months ago
Releases (12 mo)
2 ▲ from 1
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
4.1.1 Stable 10–11 Oct 15, 2025
4.1.x-dev Dev 10–11 Oct 15, 2025
4.1.0 Stable 10–11 Jun 30, 2025