From 937ad309a783616a50206007f4af3d7edfac277b Mon Sep 17 00:00:00 2001 From: Abe Jellinek Date: Tue, 1 Jul 2025 14:07:38 -0400 Subject: [PATCH] ESMify RemoteTranslate and uses --- chrome/content/scaffold/scaffold.js | 11 +++++------ .../{RemoteTranslate.jsm => RemoteTranslate.mjs} | 6 ++---- chrome/content/zotero/xpcom/data/feedItem.js | 2 +- test/tests/RemoteTranslateTest.js | 2 +- 4 files changed, 9 insertions(+), 12 deletions(-) rename chrome/content/zotero/{RemoteTranslate.jsm => RemoteTranslate.mjs} (98%) diff --git a/chrome/content/scaffold/scaffold.js b/chrome/content/scaffold/scaffold.js index 9202589da4..36bcf27638 100644 --- a/chrome/content/scaffold/scaffold.js +++ b/chrome/content/scaffold/scaffold.js @@ -23,11 +23,10 @@ ***** END LICENSE BLOCK ***** */ -var { E10SUtils } = ChromeUtils.import("resource://gre/modules/E10SUtils.jsm"); -var { Subprocess } = ChromeUtils.import("resource://gre/modules/Subprocess.jsm"); -var { RemoteTranslate } = ChromeUtils.import("chrome://zotero/content/RemoteTranslate.jsm"); -var { ContentDOMReference } = ChromeUtils.import("resource://gre/modules/ContentDOMReference.jsm"); - +var { E10SUtils } = ChromeUtils.importESModule("resource://gre/modules/E10SUtils.sys.mjs"); +var { Subprocess } = ChromeUtils.importESModule("resource://gre/modules/Subprocess.sys.mjs"); +var { RemoteTranslate } = ChromeUtils.importESModule("chrome://zotero/content/RemoteTranslate.mjs"); +var { ContentDOMReference } = ChromeUtils.importESModule("resource://gre/modules/ContentDOMReference.sys.mjs"); var { Zotero } = ChromeUtils.importESModule("chrome://zotero/content/zotero.mjs"); var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs'); @@ -2147,7 +2146,7 @@ var Scaffold = new function () { let eslintPath = getDefaultESLintPath(); - while (!await IOUtils.exists(eslintPath)) { + while (!(await IOUtils.exists(eslintPath))) { let ps = Services.prompt; let buttonFlags = ps.BUTTON_POS_0 * ps.BUTTON_TITLE_IS_STRING + ps.BUTTON_POS_1 * ps.BUTTON_TITLE_IS_STRING diff --git a/chrome/content/zotero/RemoteTranslate.jsm b/chrome/content/zotero/RemoteTranslate.mjs similarity index 98% rename from chrome/content/zotero/RemoteTranslate.jsm rename to chrome/content/zotero/RemoteTranslate.mjs index 2902872507..f65f362c99 100644 --- a/chrome/content/zotero/RemoteTranslate.jsm +++ b/chrome/content/zotero/RemoteTranslate.mjs @@ -23,16 +23,14 @@ ***** END LICENSE BLOCK ***** */ -var EXPORTED_SYMBOLS = ["RemoteTranslate"]; - -ChromeUtils.defineESModuleGetters(this, { +ChromeUtils.defineESModuleGetters(globalThis, { Zotero: "chrome://zotero/content/zotero.mjs", ZOTERO_CONFIG: "resource://zotero/config.mjs", ActorManager: "chrome://zotero/content/actors/ActorManager.mjs", TranslationManager: "chrome://zotero/content/actors/TranslationParent.mjs", }); -class RemoteTranslate { +export class RemoteTranslate { _browser = null; _id = Zotero.Utilities.randomString(); diff --git a/chrome/content/zotero/xpcom/data/feedItem.js b/chrome/content/zotero/xpcom/data/feedItem.js index b7b4dc9eac..81e6c923df 100644 --- a/chrome/content/zotero/xpcom/data/feedItem.js +++ b/chrome/content/zotero/xpcom/data/feedItem.js @@ -208,7 +208,7 @@ Zotero.FeedItem.prototype.toggleRead = async function (state) { * @return {Promise} translated feed item */ Zotero.FeedItem.prototype.translate = async function (libraryID, collectionID) { - const { RemoteTranslate } = ChromeUtils.import("chrome://zotero/content/RemoteTranslate.jsm"); + const { RemoteTranslate } = ChromeUtils.importESModule("chrome://zotero/content/RemoteTranslate.mjs"); const { HiddenBrowser } = ChromeUtils.importESModule("chrome://zotero/content/HiddenBrowser.mjs"); Zotero.debug("Translating feed item " + this.id + " with URL " + this.getField('url'), 2); diff --git a/test/tests/RemoteTranslateTest.js b/test/tests/RemoteTranslateTest.js index 3b999eafde..4103fca361 100644 --- a/test/tests/RemoteTranslateTest.js +++ b/test/tests/RemoteTranslateTest.js @@ -1,7 +1,7 @@ "use strict"; const { HiddenBrowser } = ChromeUtils.importESModule("chrome://zotero/content/HiddenBrowser.mjs"); -const { RemoteTranslate } = ChromeUtils.import("chrome://zotero/content/RemoteTranslate.jsm"); +const { RemoteTranslate } = ChromeUtils.importESModule("chrome://zotero/content/RemoteTranslate.mjs"); describe("RemoteTranslate", function () { let dummyTranslator;