Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Varbase FAQs 9.2.1 Minor update available for module varbase_faqs (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Import map

25 sites Security covered
View on drupal.org

This module adds an import map to your website, enabling JavaScript imports without specifying full file paths. It automatically generates the necessary import map script, allowing you to import local JavaScript files using simple names. You can also configure modules to be preloaded by the browser for faster loading.

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
1 year ago
Releases (12 mo)
0 ▼ from 2
Maintenance
Dormant

Releases

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