From e7aded41c3de0a7c23ff42fb2e1cc308c43df3d7 Mon Sep 17 00:00:00 2001 From: girst Date: Sun, 3 Mar 2024 14:11:26 +0100 Subject: [PATCH] port to ESMs and set minimum firefox version to 115 the last JSM we use, CustomizableUI, was ported to an ESM in mozilla115: https://hg.mozilla.org/mozilla-central/rev/e283f1653fee034bbe37c839c70d818173500f2b --- README.md | 2 +- extension/bootstrap-frame.js.tmpl | 1 - extension/bootstrap.coffee | 3 --- extension/lib/button.coffee | 2 +- extension/lib/config.coffee | 3 ++- extension/lib/utils.coffee | 10 ++++++---- extension/options.js | 2 -- package.json | 2 +- 8 files changed, 11 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b801b04..0ccf112 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # VimFx – Vim keyboard shortcuts for Firefox -**Note:** VimFx is a _legacy_ extension for Firefox 68+, requiring the +**Note:** VimFx is a _legacy_ extension for Firefox 115+, requiring the [LegacyFox] shim ([see below]). [LegacyFox]: https://gir.st/blog/legacyfox.htm diff --git a/extension/bootstrap-frame.js.tmpl b/extension/bootstrap-frame.js.tmpl index e7cd32c..8201ce0 100644 --- a/extension/bootstrap-frame.js.tmpl +++ b/extension/bootstrap-frame.js.tmpl @@ -1,4 +1,3 @@ -const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; Services.scriptloader.loadSubScript( Services.io.newURI('{{{ ADDON_PATH }}}/content/bootstrap.js', null, null).spec, this, diff --git a/extension/bootstrap.coffee b/extension/bootstrap.coffee index 1ca9dc6..cea78f5 100644 --- a/extension/bootstrap.coffee +++ b/extension/bootstrap.coffee @@ -17,9 +17,6 @@ do (global = this) -> BUILD_TIME = do -> # @echo BUILD_TIME REQUIRE_DATA = do -> # @echo REQUIRE_DATA - Services = globalThis.Services or - ChromeUtils.import('resource://gre/modules/Services.jsm').Services # <=fx103 - shutdownHandlers = [] dirname = (uri) -> uri.split('/')[...-1].join('/') or '.' diff --git a/extension/lib/button.coffee b/extension/lib/button.coffee index 0d8ab59..4238b21 100644 --- a/extension/lib/button.coffee +++ b/extension/lib/button.coffee @@ -4,7 +4,7 @@ help = require('./help') translate = require('./translate') utils = require('./utils') -{CustomizableUI} = ChromeUtils.import('resource:///modules/CustomizableUI.jsm') +{CustomizableUI} = ChromeUtils.importESModule('resource:///modules/CustomizableUI.sys.mjs') BUTTON_ID = 'VimFxButton' diff --git a/extension/lib/config.coffee b/extension/lib/config.coffee index 3651c04..35a6db8 100644 --- a/extension/lib/config.coffee +++ b/extension/lib/config.coffee @@ -5,7 +5,8 @@ messageManager = require('./message-manager') utils = require('./utils') prefs = require('./prefs') -{FileUtils} = ChromeUtils.import('resource://gre/modules/FileUtils.jsm') +{FileUtils} = + ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs') load = (vimfx, options = null, callback = ->) -> configDir = vimfx.options.config_file_directory diff --git a/extension/lib/utils.coffee b/extension/lib/utils.coffee index 526acd6..e7b8837 100644 --- a/extension/lib/utils.coffee +++ b/extension/lib/utils.coffee @@ -1,9 +1,11 @@ # This file contains lots of different helper functions. -{E10SUtils} = ChromeUtils.import('resource://gre/modules/E10SUtils.jsm') -{PlacesUIUtils} = ChromeUtils.import('resource:///modules/PlacesUIUtils.jsm') -{PrivateBrowsingUtils} = - ChromeUtils.import('resource://gre/modules/PrivateBrowsingUtils.jsm') +{E10SUtils} = ChromeUtils + .importESModule('resource://gre/modules/E10SUtils.sys.mjs') +{PlacesUIUtils} = ChromeUtils + .importESModule('resource:///modules/PlacesUIUtils.sys.mjs') +{PrivateBrowsingUtils} = ChromeUtils + .importESModule('resource://gre/modules/PrivateBrowsingUtils.sys.mjs') nsIClipboardHelper = Cc['@mozilla.org/widget/clipboardhelper;1'] .getService(Ci.nsIClipboardHelper) diff --git a/extension/options.js b/extension/options.js index 209282e..9b0fa19 100644 --- a/extension/options.js +++ b/extension/options.js @@ -1,7 +1,5 @@ "use strict"; -const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; - window.addEventListener("load", () => { Services.obs.notifyObservers(document, "vimfx-options-displayed", ""); }, { once: true }); diff --git a/package.json b/package.json index 5fabbff..b5b2496 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "VimFx", "version": "0.26.4", "firefoxVersions": { - "min": "68.0", + "min": "115.0", "max": "*" }, "homepage": "https://github.com/akhodakivskiy/VimFx", -- 2.39.3