Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

importmap

13 sites Security covered
View on drupal.org

This module allows you to add an import map to your website.
This can be used to allow JS imports without having to specify the full path to the JS file.

(There is a discussion about adding this to Drupal core: #3398525: Add an API for importmaps)

For example, if you have this in your libraries.yml file:

foo:
  js:
    js/foo.js: { attributes: { data-importmap-name: 'foo' } }

It will generate this import map:

<script type="importmap">
{"imports":{"foo":"\/modules\/custom\/foo\/js\/foo.js?s3pik6"}}
</script>

And you can then use import { foo } from "foo"; in your JS to import this file.
(Note that JS scripts that use import need to have the type="module" attribute.)

You do not have to attach libraries that are in the import map, they will be downloaded automatically by the browser when using import.

Preloading modules

You can also preload JS modules like this:

foo:
  js:
    js/foo.js: { attributes: { data-importmap-name: 'foo', data-importmap-preload: true } }

This will make the browser preload the JS module so it can already be available when executing the import.

Activity

Total releases
2
First release
Mar 2025
Latest release
10 months ago
Release cadence
72 days
Stability
100% stable

Releases

Version Type Release date
1.0.1 Stable Jun 4, 2025
1.0.0 Stable Mar 24, 2025