diff --git a/.eslintignore b/.eslintignore
index 37d3fffca68d..fc5ee913b87a 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -136,9 +136,10 @@ dom/serviceworkers/test/file_js_cache.js
# Intentional broken files
dom/base/test/file_js_cache_syntax_error.js
+dom/base/test/jsmodules/test_scriptNotParsedAsModule.html
dom/base/test/jsmodules/test_syntaxError.html
dom/base/test/jsmodules/test_syntaxErrorAsync.html
-dom/base/test/jsmodules/module_badSyntax.js
+dom/base/test/jsmodules/module_badSyntax.mjs
dom/base/test/jsmodules/test_syntaxErrorInline.html
dom/base/test/jsmodules/test_syntaxErrorInlineAsync.html
dom/base/test/test_bug687859.html
diff --git a/.prettierignore b/.prettierignore
index 1eb8ce23de7f..ae03dc691ebd 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1111,9 +1111,10 @@ dom/serviceworkers/test/file_js_cache.js
# Intentional broken files
dom/base/test/file_js_cache_syntax_error.js
+dom/base/test/jsmodules/test_scriptNotParsedAsModule.html
dom/base/test/jsmodules/test_syntaxError.html
dom/base/test/jsmodules/test_syntaxErrorAsync.html
-dom/base/test/jsmodules/module_badSyntax.js
+dom/base/test/jsmodules/module_badSyntax.mjs
dom/base/test/jsmodules/test_syntaxErrorInline.html
dom/base/test/jsmodules/test_syntaxErrorInlineAsync.html
dom/base/test/test_bug687859.html
diff --git a/dom/base/test/jsmodules/.eslintrc.js b/dom/base/test/jsmodules/.eslintrc.js
index f811aa790b28..25a38d20af27 100644
--- a/dom/base/test/jsmodules/.eslintrc.js
+++ b/dom/base/test/jsmodules/.eslintrc.js
@@ -1,7 +1,15 @@
"use strict";
module.exports = {
- parserOptions: {
- sourceType: "module",
- },
+ overrides: [
+ {
+ // eslint-plugin-html doesn't automatically detect module sections in
+ // html files. Enable these as a module here. JavaScript files can use
+ // the mjs extension.
+ files: ["*.html"],
+ parserOptions: {
+ sourceType: "module",
+ },
+ },
+ ],
};
diff --git a/dom/base/test/jsmodules/chrome.ini b/dom/base/test/jsmodules/chrome.ini
index 2b75dab150db..9aed84e35a9d 100644
--- a/dom/base/test/jsmodules/chrome.ini
+++ b/dom/base/test/jsmodules/chrome.ini
@@ -1,26 +1,26 @@
[DEFAULT]
support-files =
- module_setRan.js
- module_testSyntax.js
- module_badSyntax.js
- module_simpleImport.js
- module_simpleExport.js
- module_badImport.js
- module_simple1.js
- module_simple2.js
- module_simple3.js
- module_cyclic1.js
- module_cyclic2.js
- module_cyclic3.js
- module_multiImports.js
- module_multiLargeImports.js
+ module_setRan.mjs
+ module_testSyntax.mjs
+ module_badSyntax.mjs
+ module_simpleImport.mjs
+ module_simpleExport.mjs
+ module_badImport.mjs
+ module_simple1.mjs
+ module_simple2.mjs
+ module_simple3.mjs
+ module_cyclic1.mjs
+ module_cyclic2.mjs
+ module_cyclic3.mjs
+ module_multiImports.mjs
+ module_multiLargeImports.mjs
script_simple2.js
- module_large1.js
- module_large2.js
- module_large3.js
- module_extractIntroType.js
+ module_large1.mjs
+ module_large2.mjs
+ module_large3.mjs
+ module_extractIntroType.mjs
iframe_extractIntroType.html
- module_missingImport.js
+ module_missingImport.mjs
[test_moduleScriptsRun.html]
[test_moduleParsedAsModule.html]
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_2.js b/dom/base/test/jsmodules/importmaps/bad/module_2.js
deleted file mode 100644
index 1580e1cf0c21..000000000000
--- a/dom/base/test/jsmodules/importmaps/bad/module_2.js
+++ /dev/null
@@ -1 +0,0 @@
-throw "Shouldn't load file bad/module_2.js";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_2.mjs b/dom/base/test/jsmodules/importmaps/bad/module_2.mjs
new file mode 100644
index 000000000000..86c425141347
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/bad/module_2.mjs
@@ -0,0 +1 @@
+throw "Shouldn't load file bad/module_2.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_3.js b/dom/base/test/jsmodules/importmaps/bad/module_3.js
deleted file mode 100644
index 043b326785e3..000000000000
--- a/dom/base/test/jsmodules/importmaps/bad/module_3.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import {} from "../circular_depdendency.js";
-
-export function exportedFunction() {
- throw "Wrong version of function called";
-}
-
-throw "Shouldn't laod file bad/module_3.js";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_3.mjs b/dom/base/test/jsmodules/importmaps/bad/module_3.mjs
new file mode 100644
index 000000000000..f0595118d418
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/bad/module_3.mjs
@@ -0,0 +1,8 @@
+// eslint-disable-next-line import/no-unassigned-import, import/no-unresolved
+import {} from "../circular_depdendency.mjs";
+
+export function exportedFunction() {
+ throw "Wrong version of function called";
+}
+
+throw "Shouldn't laod file bad/module_3.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_4.js b/dom/base/test/jsmodules/importmaps/bad/module_4.js
deleted file mode 100644
index e7e479588309..000000000000
--- a/dom/base/test/jsmodules/importmaps/bad/module_4.js
+++ /dev/null
@@ -1 +0,0 @@
-throw "Shouldn't load file bad/module_4.js";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_4.mjs b/dom/base/test/jsmodules/importmaps/bad/module_4.mjs
new file mode 100644
index 000000000000..93dd8245ced1
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/bad/module_4.mjs
@@ -0,0 +1 @@
+throw "Shouldn't load file bad/module_4.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_7.js b/dom/base/test/jsmodules/importmaps/bad/module_7.js
deleted file mode 100644
index 9b1b7c926623..000000000000
--- a/dom/base/test/jsmodules/importmaps/bad/module_7.js
+++ /dev/null
@@ -1 +0,0 @@
-throw "Shouldn't load file bad/module_7.js";
diff --git a/dom/base/test/jsmodules/importmaps/bad/module_7.mjs b/dom/base/test/jsmodules/importmaps/bad/module_7.mjs
new file mode 100644
index 000000000000..8844bf862c16
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/bad/module_7.mjs
@@ -0,0 +1 @@
+throw "Shouldn't load file bad/module_7.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/chrome.ini b/dom/base/test/jsmodules/importmaps/chrome.ini
index 4fca7e97fa84..68811039ee0f 100644
--- a/dom/base/test/jsmodules/importmaps/chrome.ini
+++ b/dom/base/test/jsmodules/importmaps/chrome.ini
@@ -2,16 +2,16 @@
support-files =
external_importMap.js
insert_a_base_element.js
- module_simpleImportMap.js
- module_simpleImportMap_dir.js
- module_simpleImportMap_remap.js
- module_simpleImportMap_remap_https.js
- module_simpleExport.js
- module_sortedImportMap.js
- scope1/module_simpleExport.js
- scope1/module_simpleImportMap.js
- scope1/scope2/module_simpleExport.js
- scope1/scope2/module_simpleImportMap.js
+ module_simpleImportMap.mjs
+ module_simpleImportMap_dir.mjs
+ module_simpleImportMap_remap.mjs
+ module_simpleImportMap_remap_https.mjs
+ module_simpleExport.mjs
+ module_sortedImportMap.mjs
+ scope1/module_simpleExport.mjs
+ scope1/module_simpleImportMap.mjs
+ scope1/scope2/module_simpleExport.mjs
+ scope1/scope2/module_simpleImportMap.mjs
prefs =
dom.importMaps.enabled=true
diff --git a/dom/base/test/jsmodules/importmaps/circular_dependency.js b/dom/base/test/jsmodules/importmaps/circular_dependency.js
deleted file mode 100644
index bffd1ef1881f..000000000000
--- a/dom/base/test/jsmodules/importmaps/circular_dependency.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// Should be remapped to good/module_3.js.
-import { exportedFunction } from "./bad/module_3.js";
-
-if (exportedFunction()) {
- success("circular_dependency.js");
-}
diff --git a/dom/base/test/jsmodules/importmaps/circular_dependency.mjs b/dom/base/test/jsmodules/importmaps/circular_dependency.mjs
new file mode 100644
index 000000000000..f28d24b75edb
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/circular_dependency.mjs
@@ -0,0 +1,6 @@
+// Should be remapped to good/module_3.mjs.
+import { exportedFunction } from "./bad/module_3.mjs";
+
+if (exportedFunction()) {
+ success("circular_dependency.mjs");
+}
diff --git a/dom/base/test/jsmodules/importmaps/good/module_0.js b/dom/base/test/jsmodules/importmaps/good/module_0.js
deleted file mode 100644
index 880cbf9983f7..000000000000
--- a/dom/base/test/jsmodules/importmaps/good/module_0.js
+++ /dev/null
@@ -1 +0,0 @@
-success("good/module_0.js");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_0.mjs b/dom/base/test/jsmodules/importmaps/good/module_0.mjs
new file mode 100644
index 000000000000..5c3c5e2ab19f
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/good/module_0.mjs
@@ -0,0 +1 @@
+success("good/module_0.mjs");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_1.js b/dom/base/test/jsmodules/importmaps/good/module_1.js
deleted file mode 100644
index ab9a09463776..000000000000
--- a/dom/base/test/jsmodules/importmaps/good/module_1.js
+++ /dev/null
@@ -1 +0,0 @@
-success("good/module_1.js");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_1.mjs b/dom/base/test/jsmodules/importmaps/good/module_1.mjs
new file mode 100644
index 000000000000..9b902b266a0c
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/good/module_1.mjs
@@ -0,0 +1 @@
+success("good/module_1.mjs");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_2.js b/dom/base/test/jsmodules/importmaps/good/module_2.js
deleted file mode 100644
index 4bc3060dd8af..000000000000
--- a/dom/base/test/jsmodules/importmaps/good/module_2.js
+++ /dev/null
@@ -1 +0,0 @@
-success("good/module_2.js");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_2.mjs b/dom/base/test/jsmodules/importmaps/good/module_2.mjs
new file mode 100644
index 000000000000..67564659056a
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/good/module_2.mjs
@@ -0,0 +1 @@
+success("good/module_2.mjs");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_3.js b/dom/base/test/jsmodules/importmaps/good/module_3.js
deleted file mode 100644
index 8a3bfa673062..000000000000
--- a/dom/base/test/jsmodules/importmaps/good/module_3.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import {} from "../circular_dependency.js";
-
-export function exportedFunction() {
- return true;
-}
diff --git a/dom/base/test/jsmodules/importmaps/good/module_3.mjs b/dom/base/test/jsmodules/importmaps/good/module_3.mjs
new file mode 100644
index 000000000000..95450e55f726
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/good/module_3.mjs
@@ -0,0 +1,6 @@
+// eslint-disable-next-line import/no-unassigned-import
+import {} from "../circular_dependency.mjs";
+
+export function exportedFunction() {
+ return true;
+}
diff --git a/dom/base/test/jsmodules/importmaps/good/module_4.js b/dom/base/test/jsmodules/importmaps/good/module_4.js
deleted file mode 100644
index e9957b172aaa..000000000000
--- a/dom/base/test/jsmodules/importmaps/good/module_4.js
+++ /dev/null
@@ -1 +0,0 @@
-success("good/module_4.js");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_4.mjs b/dom/base/test/jsmodules/importmaps/good/module_4.mjs
new file mode 100644
index 000000000000..eaec9eb7607a
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/good/module_4.mjs
@@ -0,0 +1 @@
+success("good/module_4.mjs");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_7.js b/dom/base/test/jsmodules/importmaps/good/module_7.js
deleted file mode 100644
index d2999183a8f9..000000000000
--- a/dom/base/test/jsmodules/importmaps/good/module_7.js
+++ /dev/null
@@ -1 +0,0 @@
-success("good/module_7.js");
diff --git a/dom/base/test/jsmodules/importmaps/good/module_7.mjs b/dom/base/test/jsmodules/importmaps/good/module_7.mjs
new file mode 100644
index 000000000000..6603e1300d37
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/good/module_7.mjs
@@ -0,0 +1 @@
+success("good/module_7.mjs");
diff --git a/dom/base/test/jsmodules/importmaps/mochitest.ini b/dom/base/test/jsmodules/importmaps/mochitest.ini
index f398f8515428..702aed65bab7 100644
--- a/dom/base/test/jsmodules/importmaps/mochitest.ini
+++ b/dom/base/test/jsmodules/importmaps/mochitest.ini
@@ -1,26 +1,26 @@
[DEFAULT]
support-files =
- module_importMap_with_external_script_0.js
- module_importMap_with_external_script_1.js
- module_importMap_with_external_script_2.js
- module_importMap_with_external_script_3.js
- module_importMap_with_external_script_4.js
- module_importMap_with_external_script_5.js
- module_importMap_with_external_script_5.js^headers^
- module_importMap_with_external_script_6.js
- module_importMap_with_external_script_6.js^headers^
- module_importMap_with_external_script_7.js
- bad/module_2.js
- bad/module_3.js
- bad/module_4.js
- bad/module_7.js
- good/module_0.js
- good/module_1.js
- good/module_2.js
- good/module_3.js
- good/module_4.js
- good/module_7.js
- circular_dependency.js
+ module_importMap_with_external_script_0.mjs
+ module_importMap_with_external_script_1.mjs
+ module_importMap_with_external_script_2.mjs
+ module_importMap_with_external_script_3.mjs
+ module_importMap_with_external_script_4.mjs
+ module_importMap_with_external_script_5.mjs
+ module_importMap_with_external_script_5.mjs^headers^
+ module_importMap_with_external_script_6.mjs
+ module_importMap_with_external_script_6.mjs^headers^
+ module_importMap_with_external_script_7.mjs
+ bad/module_2.mjs
+ bad/module_3.mjs
+ bad/module_4.mjs
+ bad/module_7.mjs
+ good/module_0.mjs
+ good/module_1.mjs
+ good/module_2.mjs
+ good/module_3.mjs
+ good/module_4.mjs
+ good/module_7.mjs
+ circular_dependency.mjs
prefs =
dom.importMaps.enabled=true
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_0.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_0.js
deleted file mode 100644
index 06cc41da311e..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_0.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Bareword specifier should be mapped to ./good/module_0.js.
-import {} from "bare";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_0.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_0.mjs
new file mode 100644
index 000000000000..e2ba9dee7e1c
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_0.mjs
@@ -0,0 +1,3 @@
+// Bareword specifier should be mapped to ./good/module_0.mjs.
+// eslint-disable-next-line import/no-unassigned-import, import/no-unresolved
+import {} from "bare";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_1.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_1.js
deleted file mode 100644
index 09cef1cc68ca..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Missing file ./bad/module_1.js should be mapped to ./good/module_1.js.
-import {} from "./bad/module_1.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_1.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_1.mjs
new file mode 100644
index 000000000000..9d763a678f72
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_1.mjs
@@ -0,0 +1,3 @@
+// Missing file ./bad/module_1.mjs should be mapped to ./good/module_1.mjs.
+// eslint-disable-next-line import/no-unassigned-import, import/no-unresolved
+import {} from "./bad/module_1.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_2.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_2.js
deleted file mode 100644
index 33bafaebaef7..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_2.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Existing file ./bad/module_2.js should be mapped to ./good/module_2.js.
-import {} from "./bad/module_2.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_2.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_2.mjs
new file mode 100644
index 000000000000..f0cb539a4855
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_2.mjs
@@ -0,0 +1,3 @@
+// Existing file ./bad/module_2.mjs should be mapped to ./good/module_2.mjs.
+// eslint-disable-next-line import/no-unassigned-import
+import {} from "./bad/module_2.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_3.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_3.js
deleted file mode 100644
index 2ffb2b3251fd..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_3.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Existing file ./bad/module_3.js should be mapped to ./good/module_3.js.
-import {} from "./bad/module_3.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_3.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_3.mjs
new file mode 100644
index 000000000000..851f6dc3bcde
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_3.mjs
@@ -0,0 +1,3 @@
+// Existing file ./bad/module_3.mjs should be mapped to ./good/module_3.mjs.
+// eslint-disable-next-line import/no-unassigned-import
+import {} from "./bad/module_3.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_4.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_4.js
deleted file mode 100644
index 31a07368aaac..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_4.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Existing file ./bad/module_4.js should be mapped to ./good/module_4.js.
-import {} from "./bad/module_4.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_4.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_4.mjs
new file mode 100644
index 000000000000..8f46b7312367
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_4.mjs
@@ -0,0 +1,3 @@
+// Existing file ./bad/module_4.mjs should be mapped to ./good/module_4.mjs.
+// eslint-disable-next-line import/no-unassigned-import
+import {} from "./bad/module_4.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.js
deleted file mode 100644
index ec6fa77c2a33..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// Existing file ./bad/module_3.js should be mapped to ./good/module_3.js.
-//import {} from "./bad/module_3.js";
-throw "Error: script_5.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.js^headers^ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.js^headers^
deleted file mode 100644
index a51b8459497a..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.js^headers^
+++ /dev/null
@@ -1,2 +0,0 @@
-HTTP 301 Moved Permanently
-Location: module_importMap_with_external_script_4.js
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.mjs
new file mode 100644
index 000000000000..ac814c5e83cf
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.mjs
@@ -0,0 +1,3 @@
+// Existing file ./bad/module_3.mjs should be mapped to ./good/module_3.mjs.
+//import {} from "./bad/module_3.mjs";
+throw "Error: script_5.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.mjs^headers^ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.mjs^headers^
new file mode 100644
index 000000000000..4cbbbc283d37
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_5.mjs^headers^
@@ -0,0 +1,2 @@
+HTTP 301 Moved Permanently
+Location: module_importMap_with_external_script_4.mjs
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.js
deleted file mode 100644
index cb70f90a4afb..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// Existing file ./bad/module_3.js should be mapped to ./good/module_3.js.
-//import {} from "./bad/module_3.js";
-throw "Error: script_6.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.js^headers^ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.js^headers^
deleted file mode 100644
index 0e466ca3c852..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.js^headers^
+++ /dev/null
@@ -1,2 +0,0 @@
-HTTP 301 Moved Permanently
-Location: module_importMap_with_external_script_5.js
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.mjs
new file mode 100644
index 000000000000..9e02aa6bf469
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.mjs
@@ -0,0 +1,3 @@
+// Existing file ./bad/module_3.mjs should be mapped to ./good/module_3.mjs.
+//import {} from "./bad/module_3.mjs";
+throw "Error: script_6.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.mjs^headers^ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.mjs^headers^
new file mode 100644
index 000000000000..9f5e36c5a250
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_6.mjs^headers^
@@ -0,0 +1,2 @@
+HTTP 301 Moved Permanently
+Location: module_importMap_with_external_script_5.mjs
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_7.js b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_7.js
deleted file mode 100644
index 9896ec10b233..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_7.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Existing file ./bad/module_7.js should be mapped to ./good/module_4.js.
-import {} from "./bad/module_7.js";
diff --git a/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_7.mjs b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_7.mjs
new file mode 100644
index 000000000000..b602217da5c7
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_importMap_with_external_script_7.mjs
@@ -0,0 +1,3 @@
+// Existing file ./bad/module_7.mjs should be mapped to ./good/module_4.mjs.
+// eslint-disable-next-line import/no-unassigned-import
+import {} from "./bad/module_7.mjs";
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleExport.js b/dom/base/test/jsmodules/importmaps/module_simpleExport.mjs
similarity index 100%
rename from dom/base/test/jsmodules/importmaps/module_simpleExport.js
rename to dom/base/test/jsmodules/importmaps/module_simpleExport.mjs
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap.js b/dom/base/test/jsmodules/importmaps/module_simpleImportMap.js
deleted file mode 100644
index 153b84e6def9..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_simpleImportMap.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import { x } from "simple";
-result = x;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap.mjs b/dom/base/test/jsmodules/importmaps/module_simpleImportMap.mjs
new file mode 100644
index 000000000000..2f7e649dce18
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_simpleImportMap.mjs
@@ -0,0 +1,4 @@
+// eslint-disable-next-line import/no-unresolved
+import { x } from "simple";
+
+result = x;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_dir.js b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_dir.js
deleted file mode 100644
index 554cc6a7bd32..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_dir.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import { x } from "dir/module_simpleExport.js";
-result_dir = x + 1;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_dir.mjs b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_dir.mjs
new file mode 100644
index 000000000000..3a8a2a63b82e
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_dir.mjs
@@ -0,0 +1,4 @@
+// eslint-disable-next-line import/no-unresolved
+import { x } from "dir/module_simpleExport.mjs";
+
+result_dir = x + 1;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap.js b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap.js
deleted file mode 100644
index 5ebaa3018895..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import { x } from "./module.js";
-result_remap = x + 2;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap.mjs b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap.mjs
new file mode 100644
index 000000000000..54d22e5a5cfd
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap.mjs
@@ -0,0 +1,4 @@
+// eslint-disable-next-line import/no-unresolved
+import { x } from "./module.mjs";
+
+result_remap = x + 2;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap_https.js b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap_https.js
deleted file mode 100644
index c047fd28c35f..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap_https.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import { x } from "https://example.com/module.js";
-result_remap_https = x + 3;
diff --git a/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap_https.mjs b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap_https.mjs
new file mode 100644
index 000000000000..d9b82243b7f4
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_simpleImportMap_remap_https.mjs
@@ -0,0 +1,4 @@
+// eslint-disable-next-line import/no-unresolved
+import { x } from "https://example.com/module.mjs";
+
+result_remap_https = x + 3;
diff --git a/dom/base/test/jsmodules/importmaps/module_sortedImportMap.js b/dom/base/test/jsmodules/importmaps/module_sortedImportMap.js
deleted file mode 100644
index 41b29030975f..000000000000
--- a/dom/base/test/jsmodules/importmaps/module_sortedImportMap.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import { x } from "scope1/scope2/module_simpleExport.js";
-import { x as y } from "scope1/scope2/scope3/scope4/module_simpleExport.js";
-sorted_result = x;
-sorted_result2 = y;
diff --git a/dom/base/test/jsmodules/importmaps/module_sortedImportMap.mjs b/dom/base/test/jsmodules/importmaps/module_sortedImportMap.mjs
new file mode 100644
index 000000000000..2b199ca272bf
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/module_sortedImportMap.mjs
@@ -0,0 +1,6 @@
+/* eslint-disable import/no-unresolved */
+import { x } from "scope1/scope2/module_simpleExport.mjs";
+import { x as y } from "scope1/scope2/scope3/scope4/module_simpleExport.mjs";
+
+sorted_result = x;
+sorted_result2 = y;
diff --git a/dom/base/test/jsmodules/importmaps/scope1/module_simpleExport.js b/dom/base/test/jsmodules/importmaps/scope1/module_simpleExport.mjs
similarity index 100%
rename from dom/base/test/jsmodules/importmaps/scope1/module_simpleExport.js
rename to dom/base/test/jsmodules/importmaps/scope1/module_simpleExport.mjs
diff --git a/dom/base/test/jsmodules/importmaps/scope1/module_simpleImportMap.js b/dom/base/test/jsmodules/importmaps/scope1/module_simpleImportMap.js
deleted file mode 100644
index b1682e1900fd..000000000000
--- a/dom/base/test/jsmodules/importmaps/scope1/module_simpleImportMap.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import { x } from "simple";
-result_scope1 = x;
diff --git a/dom/base/test/jsmodules/importmaps/scope1/module_simpleImportMap.mjs b/dom/base/test/jsmodules/importmaps/scope1/module_simpleImportMap.mjs
new file mode 100644
index 000000000000..a64a098b7bb7
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/scope1/module_simpleImportMap.mjs
@@ -0,0 +1,4 @@
+// eslint-disable-next-line import/no-unresolved
+import { x } from "simple";
+
+result_scope1 = x;
diff --git a/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleExport.js b/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleExport.mjs
similarity index 100%
rename from dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleExport.js
rename to dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleExport.mjs
diff --git a/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleImportMap.js b/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleImportMap.js
deleted file mode 100644
index ecb38b7b218c..000000000000
--- a/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleImportMap.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import { x } from "simple";
-result_scope2 = x;
diff --git a/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleImportMap.mjs b/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleImportMap.mjs
new file mode 100644
index 000000000000..00819aefd124
--- /dev/null
+++ b/dom/base/test/jsmodules/importmaps/scope1/scope2/module_simpleImportMap.mjs
@@ -0,0 +1,4 @@
+// eslint-disable-next-line import/no-unresolved
+import { x } from "simple";
+
+result_scope2 = x;
diff --git a/dom/base/test/jsmodules/importmaps/test_dynamic_import_reject_importMap.html b/dom/base/test/jsmodules/importmaps/test_dynamic_import_reject_importMap.html
index 75471064f978..96744c93172b 100644
--- a/dom/base/test/jsmodules/importmaps/test_dynamic_import_reject_importMap.html
+++ b/dom/base/test/jsmodules/importmaps/test_dynamic_import_reject_importMap.html
@@ -9,17 +9,17 @@
-
-
+
+
@@ -33,7 +33,7 @@
}
function testLoaded() {
- import("./module_simpleExport.js").then((ns) => {
+ import("./module_simpleExport.mjs").then((ns) => {
ok(ns.x == 42, 'Check simple imported value result: ' + ns.x);
ok(hasError, "onerror of the import map should be called.");
}).catch((e) => {
diff --git a/dom/base/test/jsmodules/importmaps/test_importMap_with_external_script.html b/dom/base/test/jsmodules/importmaps/test_importMap_with_external_script.html
index dbd7a82cf21b..3b21003feb99 100644
--- a/dom/base/test/jsmodules/importmaps/test_importMap_with_external_script.html
+++ b/dom/base/test/jsmodules/importmaps/test_importMap_with_external_script.html
@@ -14,12 +14,12 @@
@@ -27,36 +27,36 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -27,7 +27,7 @@
diff --git a/dom/base/test/jsmodules/importmaps/test_inline_module_reject_importMap.html b/dom/base/test/jsmodules/importmaps/test_inline_module_reject_importMap.html
index 2001cbcfb905..458601619a02 100644
--- a/dom/base/test/jsmodules/importmaps/test_inline_module_reject_importMap.html
+++ b/dom/base/test/jsmodules/importmaps/test_inline_module_reject_importMap.html
@@ -24,8 +24,8 @@ console.registerListener(listener);
-
-
+
+
@@ -33,7 +33,7 @@ console.registerListener(listener);
@@ -47,7 +47,7 @@ console.registerListener(listener);
}
function testLoaded() {
- import("./module_simpleExport.js").then((ns) => {
+ import("./module_simpleExport.mjs").then((ns) => {
ok(ns.x == 42, 'Check simple imported value result: ' + ns.x);
ok(hasError, "onerror of the import map should be called.");
ok(gotMsg, "Should have got the console warning.");
diff --git a/dom/base/test/jsmodules/importmaps/test_load_importMap_with_base.html b/dom/base/test/jsmodules/importmaps/test_load_importMap_with_base.html
index 3139a60d376a..531431fcf06b 100644
--- a/dom/base/test/jsmodules/importmaps/test_load_importMap_with_base.html
+++ b/dom/base/test/jsmodules/importmaps/test_load_importMap_with_base.html
@@ -9,14 +9,14 @@