Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Import map

24 sites Security covered Drupal 10–11
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.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Mar 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 2
Maintenance
Dormant

Releases

Version Type Core Release date
1.0.1 Stable 10–11 Jun 4, 2025
1.0.0 Stable 10–11 Mar 24, 2025