summaryrefslogtreecommitdiffstats
path: root/docs/code-quality/lint/linters/eslint-plugin-mozilla/rules/reject-chromeutils-import.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/code-quality/lint/linters/eslint-plugin-mozilla/rules/reject-chromeutils-import.rst')
-rw-r--r--docs/code-quality/lint/linters/eslint-plugin-mozilla/rules/reject-chromeutils-import.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/code-quality/lint/linters/eslint-plugin-mozilla/rules/reject-chromeutils-import.rst b/docs/code-quality/lint/linters/eslint-plugin-mozilla/rules/reject-chromeutils-import.rst
new file mode 100644
index 0000000000..5c310fb607
--- /dev/null
+++ b/docs/code-quality/lint/linters/eslint-plugin-mozilla/rules/reject-chromeutils-import.rst
@@ -0,0 +1,27 @@
+reject-chromeutils-import
+================================
+
+While ``ChromeUtils.import`` supports the fallback to ESMified module,
+in-tree files should use ``ChromeUtils.importESModule`` for ESMified modules.
+
+Examples of incorrect code for this rule:
+-----------------------------------------
+
+.. code-block:: js
+
+ ChromeUtils.import("resource://gre/modules/AppConstants.jsm");
+
+ ChromeUtils.defineModuleGetter(
+ obj, "AppConstants", "resource://gre/modules/AppConstants.jsm");
+ XPCOMUtils.defineLazyModuleGetters(
+ obj, { AppConstants: "resource://gre/modules/AppConstants.jsm" });
+
+Examples of correct code for this rule:
+---------------------------------------
+
+.. code-block:: js
+
+ ChromeUtils.importESModule("resource://gre/modules/AppConstants.sys.mjs");
+
+ ChromeUtils.defineESModuleGetters(
+ obj, { AppConstants: "resource://gre/modules/AppConstants.sys.mjs" });