reject-chromeutils-import

虽然 ChromeUtils.import 支持回退到 ESM 化模块,但树内文件应该使用 ChromeUtils.importESModule 用于 ESM 化模块。

此规则的错误代码示例:

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" });

此规则的正确代码示例:

ChromeUtils.importESModule("resource://gre/modules/AppConstants.sys.mjs");

ChromeUtils.defineESModuleGetters(
  obj, { AppConstants: "resource://gre/modules/AppConstants.sys.mjs" });