diff --git a/devtools/docs/contributor/contributing/javascript.md b/devtools/docs/contributor/contributing/javascript.md index 25d1f1c25151..18aeb07b04fb 100644 --- a/devtools/docs/contributor/contributing/javascript.md +++ b/devtools/docs/contributor/contributing/javascript.md @@ -33,7 +33,7 @@ For quick reference, here are some of the main code style rules: * getters / setters require { }, * only import specific, explicitly-declared symbols into your namespace: * `const { foo, bar } = require("foo/bar");`, - * `const { foo, bar } = ChromeUtils.import("...");`, + * `const { foo, bar } = ChromeUtils.importESModule("...");`, * use Maps, Sets, WeakMaps when possible, * use [template strings](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) whenever possible to avoid concatenation, allow multi-line strings, and interpolation. diff --git a/devtools/docs/contributor/files/adding-files.md b/devtools/docs/contributor/files/adding-files.md index 5d1fca4b1e40..4fdb160581c1 100644 --- a/devtools/docs/contributor/files/adding-files.md +++ b/devtools/docs/contributor/files/adding-files.md @@ -36,11 +36,12 @@ Example: * `loader.lazyRequireGetter(this, "layout", "devtools/server/actors/layout")` * `require("devtools/server/actors/layout")` -### `ChromeUtils.import()` +### `ChromeUtils.importESModule()` -Some older DevTools JS modules use the Gecko JavaScript code module format with the file extension `.jsm`. We are trying to move away from this format, so it's unlikely you would add a new one, but you might need to import an existing one in your code. +Some DevTools modules use a variant of the standard ECMAScript module, with +the file extension `.sys.mjs`. -These modules are loaded using `ChromeUtils.import()`. To `import()` a file, you provide a `resource://` URL, which is exactly the source tree path. +These modules are loaded using `ChromeUtils.importESModule()`. To `importESModule()` a file, you provide a `resource://` URL, which is exactly the source tree path. In more detail: @@ -56,10 +57,10 @@ Example: Example: -* File: `/toolkit/mozapps/extensions/AddonManager.jsm` +* File: `/toolkit/mozapps/extensions/AddonManager.sys.mjs` * Usage (prefer lazy in most cases): - * `const lazy = {}; ChromeUtils.defineModuleGetter(lazy, "AddonManager", "resource://gre/modules/AddonManager.jsm")` - * `const { AddonManager } = ChromeUtils.import("resource://gre/modules/AddonManager.jsm")` + * `const lazy = {}; ChromeUtils.defineESModuleGetter(lazy, "AddonManager", "resource://gre/modules/AddonManager.sys.mjs")` + * `const { AddonManager } = ChromeUtils.importESModule("resource://gre/modules/AddonManager.sys.mjs")` ## Chrome Content