MDN Web Docs
developer.mozilla.org › en-US › docs › Web › HTML › Reference › Elements › script › type › importmap
<script type="importmap"> HTML attribute value - HTML | MDN
April 22, 2026 - An import map is a JSON object that allows developers to control how the browser resolves module specifiers when importing JavaScript modules. It provides a mapping between the text used as the module specifier in an import statement or import() operator, and the corresponding value that will ...
JavaScript import maps are now supported cross-browser
pip install download-esm download-esm @observablehq/plot This downloads the ESM version of Observable Plot from the jsDelivr CDN, figures out its dependencies, downloads them as well (40 files total!) and rewrites their imports to be local, not CDN paths · More details here: https://simon... More on news.ycombinator.com
Import maps 101
Yet another feature where I'm like "aw yiss - so cool! Aaaand there's no Safari support 🙃". Dangnabbit - I really wish Apple gave, like, half a rat's ass about the web instead of constantly holding it back, ha. More on reddit.com
Videos
Web.dev
web.dev › shows › this-is-baseline › Bx29-8SD1OM
Manage your JavaScript with Import Map | web.dev
October 24, 2024 - A modern way to use JavaScript modules is with the script type="importmap" tag. This lets you to define a mapping of external module names to their corresponding URLs, making it easier to include and use external modules in your code.
web.dev
web.dev › blog › javascript import maps are now supported cross-browser
JavaScript import maps are now supported cross-browser | Blog | web.dev
March 28, 2023 - They are supported by modern browsers and provide several benefits over older, non-modular approaches to JavaScript development. A modern way to use ES modules is with the <script type="importmap"> tag. This tag allows you to define a mapping of external module names to their corresponding ...
GitHub
github.com › wicg › import-maps
GitHub - WICG/import-maps: Former home of import maps (now merged into HTML) · GitHub
February 26, 2025 - Former home of import maps (now merged into HTML). Contribute to WICG/import-maps development by creating an account on GitHub.
Starred by 2.7K users
Forked by 74 users
Languages HTML
Shopify Engineering
shopify.engineering › resilient-import-maps
Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify
May 28, 2025 - Import maps are great for both performance and developer experience, but their original limitations made them hard to use, especially at Shopify’s scale. We stepped up and pushed changes across the HTML spec, Chromium and WebKit to fix these issues at the web platform level. Now, developers can interleave JavaScript modules and multiple import maps on their HTML pages without worrying about correctness issues.
npm
npmjs.com › package › import-map-overrides
import-map-overrides - npm
July 25, 2025 - Import maps are a way of controlling which url to download javascript modules from. The import-map-overrides library allows you to dynamically change the url for javascript modules by storing overrides in local storage.
» npm install import-map-overrides
Published Jul 25, 2025
Version 6.1.0
Spidermonkey
spidermonkey.dev › blog › 2023 › 02 › 23 › javascript-import-maps-part-1-introduction.html
JavaScript Import maps, Part 1: Introduction | SpiderMonkey JavaScript/WebAssembly Engine
February 23, 2023 - Import maps are designed to reduce the friction of resolving module specifiers between different Javascript runtimes like Node.js and browsers. It not only saves us from using bundlers like webpack or Babel but also gives us the ergonomics of bare specifiers while ensuring that the security properties of URLs are preserved.
Hacker News
news.ycombinator.com › item
JavaScript import maps are now supported cross-browser | Hacker News
May 10, 2023 - pip install download-esm download-esm @observablehq/plot This downloads the ESM version of Observable Plot from the jsDelivr CDN, figures out its dependencies, downloads them as well (40 files total!) and rewrites their imports to be local, not CDN paths · More details here: https://simon...
Hey
world.hey.com › dhh › hey-is-running-its-javascript-off-import-maps-2abcf203
HEY is running its JavaScript off import maps
January 14, 2022 - First, I used HEY as the testbed to validate the aspiration for import maps to become the default path in Rails 7. This is the benefit of using new tech in anger: You discover all the gaps between exuberant theory and actual practice. Second, after proving that import maps work well on the web, we turned our eye to reworking several aspects of the Turbo Native integration. Especially dealing with the timing difference of loading all JavaScript after DOMContentLoaded.
Baldurbjarnason
baldurbjarnason.com › 2023 › dynamic-import-map
Did you know that import maps can be rendered client-side? (And links)
November 22, 2023 - This might not sound too useful until you remember that, y’know, browsers still support non-module JavaScript. This means it’s possible to modify the import map in the browser using client-side JavaScript, in response to the features you detect, settings you retrieve (using localStorage, ...
Spidermonkey
spidermonkey.dev › blog › 2023 › 03 › 02 › javascript-import-maps-part-2-in-depth-exploration.html
JavaScript Import maps, Part 2: In-Depth Exploration | SpiderMonkey JavaScript/WebAssembly Engine
March 2, 2023 - Let’s explain the terms first. The string literal "app.mjs" in the above examples is called a Module Specifier in ECMAScript, and the map which maps "app.mjs" to a URL is called a Module Specifier Map. An import map is an object with two optional items:
Stevendcoffey
stevendcoffey.com › blog › esmodules-importmaps-modern-js-stack
ES Modules + Importmaps: a modern JS stack
class ImportMap class Configuration def initialize @imports = [] @modules = Set.new end def import(name, **options) dep_alias, include_subpackages = options.values_at(:alias, :include_subpackages) version = package_version(name) @imports << { name:, version:, remote: remote_specifier(name, version, dep_alias:) } return unless include_subpackages slash_name = "#{name}/" @imports << { name: slash_name, version:, remote: remote_specifier(name, version, dep_alias:, slash: true) } end def module(name) @modules.add(name) end def mount_directory(folder, recursive: false) root_path = Rails.root.join('