{
 "caniuse": [
  "es6-module"
 ],
 "compat_features": [
  "api.Worklet.ecmascript_modules",
  "html.elements.script.nomodule",
  "html.elements.script.type.module",
  "javascript.operators.import",
  "javascript.operators.import_meta",
  "javascript.operators.import_meta.resolve",
  "javascript.statements.export",
  "javascript.statements.export.arbitrary_module_namespace_identifier_names",
  "javascript.statements.export.default",
  "javascript.statements.export.namespace",
  "javascript.statements.import",
  "javascript.statements.import.arbitrary_module_namespace_identifier_names",
  "javascript.statements.import.import_attributes",
  "javascript.statements.import.worklet_support",
  "svg.elements.script.type.module"
 ],
 "description": "JavaScript modules allow code to be organized into reusable units. Modules use import to load other modules and export to declare what is available to import from other modules. In HTML, modules are loaded with <script type=\"module\">.",
 "description_html": "JavaScript modules allow code to be organized into reusable units. Modules use <code>import</code> to load other modules and <code>export</code> to declare what is available to import from other modules. In HTML, modules are loaded with <code>&#x3C;script type=\"module\"></code>.",
 "group": [
  "js-modules"
 ],
 "kind": "feature",
 "name": "JavaScript modules",
 "snapshot": [
  "ecmascript-2015"
 ],
 "spec": [
  "https://html.spec.whatwg.org/multipage/webappapis.html#javascript-module-script",
  "https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-modules"
 ],
 "status": {
  "baseline": "high",
  "baseline_high_date": "2020-11-09",
  "baseline_low_date": "2018-05-09",
  "by_compat_key": {
   "api.Worklet.ecmascript_modules": {
    "baseline": "high",
    "baseline_high_date": "2025-12-06",
    "baseline_low_date": "2023-06-06",
    "support": {
     "chrome": "80",
     "chrome_android": "80",
     "edge": "80",
     "firefox": "114",
     "firefox_android": "114",
     "safari": "15",
     "safari_ios": "15"
    }
   },
   "html.elements.script.nomodule": {
    "baseline": "high",
    "baseline_high_date": "2020-11-09",
    "baseline_low_date": "2018-05-09",
    "support": {
     "chrome": "61",
     "chrome_android": "61",
     "edge": "16",
     "firefox": "60",
     "firefox_android": "60",
     "safari": "11",
     "safari_ios": "11"
    }
   },
   "html.elements.script.type.module": {
    "baseline": "high",
    "baseline_high_date": "2020-11-09",
    "baseline_low_date": "2018-05-09",
    "support": {
     "chrome": "61",
     "chrome_android": "61",
     "edge": "16",
     "firefox": "60",
     "firefox_android": "60",
     "safari": "10.1",
     "safari_ios": "10.3"
    }
   },
   "javascript.operators.import": {
    "baseline": "high",
    "baseline_high_date": "2022-07-15",
    "baseline_low_date": "2020-01-15",
    "support": {
     "chrome": "63",
     "chrome_android": "63",
     "edge": "79",
     "firefox": "67",
     "firefox_android": "67",
     "safari": "11.1",
     "safari_ios": "11.3"
    }
   },
   "javascript.operators.import_meta": {
    "baseline": "high",
    "baseline_high_date": "2022-07-15",
    "baseline_low_date": "2020-01-15",
    "support": {
     "chrome": "64",
     "chrome_android": "64",
     "edge": "79",
     "firefox": "62",
     "firefox_android": "62",
     "safari": "11.1",
     "safari_ios": "12"
    }
   },
   "javascript.operators.import_meta.resolve": {
    "baseline": "high",
    "baseline_high_date": "2025-09-27",
    "baseline_low_date": "2023-03-27",
    "support": {
     "chrome": "105",
     "chrome_android": "105",
     "edge": "105",
     "firefox": "106",
     "firefox_android": "106",
     "safari": "16.4",
     "safari_ios": "16.4"
    }
   },
   "javascript.statements.export": {
    "baseline": "high",
    "baseline_high_date": "2020-11-09",
    "baseline_low_date": "2018-05-09",
    "support": {
     "chrome": "61",
     "chrome_android": "61",
     "edge": "16",
     "firefox": "60",
     "firefox_android": "60",
     "safari": "10.1",
     "safari_ios": "10.3"
    }
   },
   "javascript.statements.export.arbitrary_module_namespace_identifier_names": {
    "baseline": "high",
    "baseline_high_date": "2023-10-26",
    "baseline_low_date": "2021-04-26",
    "support": {
     "chrome": "88",
     "chrome_android": "88",
     "edge": "88",
     "firefox": "87",
     "firefox_android": "87",
     "safari": "14.1",
     "safari_ios": "14.5"
    }
   },
   "javascript.statements.export.default": {
    "baseline": "high",
    "baseline_high_date": "2020-11-09",
    "baseline_low_date": "2018-05-09",
    "support": {
     "chrome": "61",
     "chrome_android": "61",
     "edge": "16",
     "firefox": "60",
     "firefox_android": "60",
     "safari": "10.1",
     "safari_ios": "10.3"
    }
   },
   "javascript.statements.export.namespace": {
    "baseline": "high",
    "baseline_high_date": "2023-10-26",
    "baseline_low_date": "2021-04-26",
    "support": {
     "chrome": "72",
     "chrome_android": "72",
     "edge": "79",
     "firefox": "80",
     "firefox_android": "80",
     "safari": "14.1",
     "safari_ios": "14.5"
    }
   },
   "javascript.statements.import": {
    "baseline": "high",
    "baseline_high_date": "2020-11-09",
    "baseline_low_date": "2018-05-09",
    "support": {
     "chrome": "61",
     "chrome_android": "61",
     "edge": "16",
     "firefox": "60",
     "firefox_android": "60",
     "safari": "10.1",
     "safari_ios": "10.3"
    }
   },
   "javascript.statements.import.arbitrary_module_namespace_identifier_names": {
    "baseline": "high",
    "baseline_high_date": "2023-10-26",
    "baseline_low_date": "2021-04-26",
    "support": {
     "chrome": "88",
     "chrome_android": "88",
     "edge": "88",
     "firefox": "87",
     "firefox_android": "87",
     "safari": "14.1",
     "safari_ios": "14.5"
    }
   },
   "javascript.statements.import.import_attributes": {
    "baseline": "low",
    "baseline_low_date": "2025-04-29",
    "support": {
     "chrome": "123",
     "chrome_android": "123",
     "edge": "123",
     "firefox": "138",
     "firefox_android": "138",
     "safari": "17.2",
     "safari_ios": "17.2"
    }
   },
   "javascript.statements.import.worklet_support": {
    "baseline": false,
    "support": {
     "firefox": "114",
     "firefox_android": "114"
    }
   },
   "svg.elements.script.type.module": {
    "baseline": false,
    "support": {
     "firefox": "117",
     "firefox_android": "117"
    }
   }
  },
  "support": {
   "chrome": "61",
   "chrome_android": "61",
   "edge": "16",
   "firefox": "60",
   "firefox_android": "60",
   "safari": "11",
   "safari_ios": "11"
  }
 },
 "id": "js-modules",
 "groups": [
  "js-modules"
 ],
 "specs": [
  {
   "url": "https://html.spec.whatwg.org/multipage/webappapis.html#javascript-module-script",
   "seriesComposition": "full",
   "shortname": "html",
   "series": {
    "shortname": "html",
    "currentSpecification": "html",
    "title": "HTML",
    "shortTitle": "HTML",
    "nightlyUrl": "https://html.spec.whatwg.org/multipage/"
   },
   "nightly": {
    "url": "https://html.spec.whatwg.org/multipage/",
    "status": "Living Standard",
    "sourcePath": "source",
    "alternateUrls": [],
    "repository": "https://github.com/whatwg/html",
    "pages": [
     "https://html.spec.whatwg.org/multipage/introduction.html",
     "https://html.spec.whatwg.org/multipage/infrastructure.html",
     "https://html.spec.whatwg.org/multipage/common-microsyntaxes.html",
     "https://html.spec.whatwg.org/multipage/urls-and-fetching.html",
     "https://html.spec.whatwg.org/multipage/common-dom-interfaces.html",
     "https://html.spec.whatwg.org/multipage/structured-data.html",
     "https://html.spec.whatwg.org/multipage/dom.html",
     "https://html.spec.whatwg.org/multipage/semantics.html",
     "https://html.spec.whatwg.org/multipage/sections.html",
     "https://html.spec.whatwg.org/multipage/grouping-content.html",
     "https://html.spec.whatwg.org/multipage/text-level-semantics.html",
     "https://html.spec.whatwg.org/multipage/links.html",
     "https://html.spec.whatwg.org/multipage/edits.html",
     "https://html.spec.whatwg.org/multipage/embedded-content.html",
     "https://html.spec.whatwg.org/multipage/images.html",
     "https://html.spec.whatwg.org/multipage/iframe-embed-object.html",
     "https://html.spec.whatwg.org/multipage/media.html",
     "https://html.spec.whatwg.org/multipage/image-maps.html",
     "https://html.spec.whatwg.org/multipage/embedded-content-other.html",
     "https://html.spec.whatwg.org/multipage/tables.html",
     "https://html.spec.whatwg.org/multipage/forms.html",
     "https://html.spec.whatwg.org/multipage/input.html",
     "https://html.spec.whatwg.org/multipage/form-elements.html",
     "https://html.spec.whatwg.org/multipage/form-control-infrastructure.html",
     "https://html.spec.whatwg.org/multipage/interactive-elements.html",
     "https://html.spec.whatwg.org/multipage/scripting.html",
     "https://html.spec.whatwg.org/multipage/canvas.html",
     "https://html.spec.whatwg.org/multipage/custom-elements.html",
     "https://html.spec.whatwg.org/multipage/semantics-other.html",
     "https://html.spec.whatwg.org/multipage/microdata.html",
     "https://html.spec.whatwg.org/multipage/interaction.html",
     "https://html.spec.whatwg.org/multipage/dnd.html",
     "https://html.spec.whatwg.org/multipage/popover.html",
     "https://html.spec.whatwg.org/multipage/browsers.html",
     "https://html.spec.whatwg.org/multipage/nav-history-apis.html",
     "https://html.spec.whatwg.org/multipage/document-sequences.html",
     "https://html.spec.whatwg.org/multipage/browsing-the-web.html",
     "https://html.spec.whatwg.org/multipage/document-lifecycle.html",
     "https://html.spec.whatwg.org/multipage/speculative-loading.html",
     "https://html.spec.whatwg.org/multipage/webappapis.html",
     "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html",
     "https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html",
     "https://html.spec.whatwg.org/multipage/system-state.html",
     "https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html",
     "https://html.spec.whatwg.org/multipage/comms.html",
     "https://html.spec.whatwg.org/multipage/server-sent-events.html",
     "https://html.spec.whatwg.org/multipage/web-messaging.html",
     "https://html.spec.whatwg.org/multipage/workers.html",
     "https://html.spec.whatwg.org/multipage/worklets.html",
     "https://html.spec.whatwg.org/multipage/webstorage.html",
     "https://html.spec.whatwg.org/multipage/syntax.html",
     "https://html.spec.whatwg.org/multipage/parsing.html",
     "https://html.spec.whatwg.org/multipage/named-characters.html",
     "https://html.spec.whatwg.org/multipage/xhtml.html",
     "https://html.spec.whatwg.org/multipage/rendering.html",
     "https://html.spec.whatwg.org/multipage/obsolete.html",
     "https://html.spec.whatwg.org/multipage/iana.html",
     "https://html.spec.whatwg.org/multipage/indices.html",
     "https://html.spec.whatwg.org/multipage/references.html",
     "https://html.spec.whatwg.org/multipage/acknowledgements.html"
    ],
    "filename": "index.html"
   },
   "organization": "WHATWG",
   "groups": [
    {
     "name": "HTML Workstream",
     "url": "https://html.spec.whatwg.org/multipage/"
    }
   ],
   "title": "HTML",
   "source": "whatwg",
   "shortTitle": "HTML",
   "categories": [
    "browser"
   ],
   "standing": "good",
   "tests": {
    "repository": "https://github.com/web-platform-tests/wpt",
    "testPaths": [
     "close-watcher",
     "custom-elements",
     "eventsource",
     "html",
     "imagebitmap-renderingcontext",
     "import-maps",
     "navigation-api",
     "webmessaging",
     "webstorage",
     "workers",
     "worklets",
     "x-frame-options"
    ],
    "excludePaths": [
     "html/cross-origin-embedder-policy/credentialless",
     "html/dom/partial-updates/tentative",
     "html/cross-origin-embedder-policy/credentialless"
    ]
   },
   "fragment": "javascript-module-script"
  },
  {
   "url": "https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-modules",
   "seriesComposition": "full",
   "shortname": "ecmascript",
   "series": {
    "shortname": "ecmascript",
    "currentSpecification": "ecmascript",
    "title": "ECMAScript® 2027 Language Specification",
    "shortTitle": "ECMAScript",
    "nightlyUrl": "https://tc39.es/ecma262/multipage/"
   },
   "shortTitle": "ECMAScript",
   "tests": {
    "repository": "https://github.com/tc39/test262",
    "testPaths": [
     "test"
    ],
    "excludePaths": [
     "test/intl402"
    ]
   },
   "organization": "Ecma International",
   "groups": [
    {
     "name": "TC39",
     "url": "https://tc39.es/"
    }
   ],
   "nightly": {
    "url": "https://tc39.es/ecma262/multipage/",
    "status": "Editor's Draft",
    "alternateUrls": [],
    "repository": "https://github.com/tc39/ecma262",
    "sourcePath": "spec.html",
    "pages": [
     "https://tc39.es/ecma262/multipage/scope.html",
     "https://tc39.es/ecma262/multipage/conformance.html",
     "https://tc39.es/ecma262/multipage/normative-references.html",
     "https://tc39.es/ecma262/multipage/overview.html",
     "https://tc39.es/ecma262/multipage/notational-conventions.html",
     "https://tc39.es/ecma262/multipage/ecmascript-data-types-and-values.html",
     "https://tc39.es/ecma262/multipage/abstract-operations.html",
     "https://tc39.es/ecma262/multipage/syntax-directed-operations.html",
     "https://tc39.es/ecma262/multipage/executable-code-and-execution-contexts.html",
     "https://tc39.es/ecma262/multipage/ordinary-and-exotic-objects-behaviours.html",
     "https://tc39.es/ecma262/multipage/ecmascript-language-source-code.html",
     "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html",
     "https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html",
     "https://tc39.es/ecma262/multipage/ecmascript-language-statements-and-declarations.html",
     "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html",
     "https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html",
     "https://tc39.es/ecma262/multipage/error-handling-and-language-extensions.html",
     "https://tc39.es/ecma262/multipage/ecmascript-standard-built-in-objects.html",
     "https://tc39.es/ecma262/multipage/global-object.html",
     "https://tc39.es/ecma262/multipage/fundamental-objects.html",
     "https://tc39.es/ecma262/multipage/numbers-and-dates.html",
     "https://tc39.es/ecma262/multipage/text-processing.html",
     "https://tc39.es/ecma262/multipage/indexed-collections.html",
     "https://tc39.es/ecma262/multipage/keyed-collections.html",
     "https://tc39.es/ecma262/multipage/structured-data.html",
     "https://tc39.es/ecma262/multipage/managing-memory.html",
     "https://tc39.es/ecma262/multipage/control-abstraction-objects.html",
     "https://tc39.es/ecma262/multipage/reflection.html",
     "https://tc39.es/ecma262/multipage/memory-model.html",
     "https://tc39.es/ecma262/multipage/grammar-summary.html",
     "https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html",
     "https://tc39.es/ecma262/multipage/strict-mode-of-ecmascript.html",
     "https://tc39.es/ecma262/multipage/host-layering-points.html",
     "https://tc39.es/ecma262/multipage/corrections-and-clarifications-in-ecmascript-2015-with-possible-compatibility-impact.html",
     "https://tc39.es/ecma262/multipage/additions-and-changes-that-introduce-incompatibilities-with-prior-editions.html",
     "https://tc39.es/ecma262/multipage/bibliography.html",
     "https://tc39.es/ecma262/multipage/colophon.html",
     "https://tc39.es/ecma262/multipage/copyright-and-software-license.html"
    ],
    "filename": "index.html"
   },
   "title": "ECMAScript® 2027 Language Specification",
   "source": "spec",
   "categories": [
    "browser"
   ],
   "standing": "good",
   "fragment": "sec-modules"
  }
 ],
 "mdnUrls": [
  {
   "slug": "Web/HTML/Reference/Elements/script/type#module",
   "title": "`<script type>` HTML attribute",
   "anchor": "module",
   "url": "https://developer.mozilla.org/docs/Web/HTML/Reference/Elements/script/type#module"
  }
 ],
 "standardPositions": [],
 "hasNegativeStandardPosition": false,
 "stateOfSurveys": [
  {
   "name": "State of HTML 2024",
   "url": "https://2024.stateofhtml.com/en-US/features/web_components/#web_component_features",
   "question": "web_components",
   "subQuestion": "web_component_features",
   "path": "dataAPI.surveys.state_of_html.html2024.web_components.web_component_features.10.entity"
  },
  {
   "name": "State of HTML 2023",
   "url": "https://2023.stateofhtml.com/en-US/features/web_components/#web_components_main_features",
   "question": "web_components",
   "subQuestion": "web_components_main_features",
   "path": "dataAPI.surveys.state_of_html.html2023.web_components.web_components_main_features.10.entity"
  },
  {
   "name": "State of HTML 2023",
   "url": "https://2023.stateofhtml.com/en-US/features/#all_features",
   "question": "features",
   "subQuestion": "all_features",
   "path": "dataAPI.surveys.state_of_html.html2023.features.all_features.30.entity"
  }
 ],
 "chromeUseCounters": {
  "percentageOfPageLoad": 0.29212887,
  "url": "https://chromestatus.com/metrics/webfeature/timeline/popularity/47"
 },
 "interop": [],
 "wpt": {
  "url": "https://wpt.fyi/results?q=feature:js-modules"
 },
 "developerSignals": null,
 "bugs": {
  "chrome": [
   "https://bugs.chromium.org/p/chromium/issues/detail?id=1296665",
   "https://bugs.chromium.org/p/v8/issues/detail?id=8101",
   "https://bugs.chromium.org/p/chromium/issues/detail?id=849101",
   "https://bugs.chromium.org/p/v8/issues/detail?id=6693",
   "https://bugs.chromium.org/p/v8/issues/detail?id=5785",
   "https://bugs.chromium.org/p/v8/issues/detail?id=1569"
  ]
 },
 "baselineLowDateAsObject": "2018-05-09T00:00:00.000Z",
 "baselineHighDateAsObject": "2020-11-09T00:00:00.000Z"
}