9 月做了兩件事:一個展示大家用 Extension.js 真正發佈了什麼的頁面,以及一連串把 CLI 從 4.1.18 帶到 4.1.30 的版本。
Creator and Lead Developer, Extension.js
案例頁
extension.js.org/showcase 已經上線。五個擴充功能,全部已發佈而且都在商店裡:Better Lyrics、Star Citizen Box、Simple Virtual Keyboard、Better Trello 與 Send to PocketBook。門檻是刻意設定的。一張卡片需要真實的商店頁面和至少一百位使用者,而且卡片上不顯示使用者數,所以頁面上沒有會過期的內容。每週有一項工作提出候選,由人來加入。兩個新的執行環境
4.1.20 加入了 Deno。deno run -A npm:extension@latest 可以執行 dev 與 build,兩者都有 CI 涵蓋。4.1.21 加入了 Bun。bunx --bun extension@latest dev 在 Bun 1.2 或更新版本上可用,舊版 Bun 會得到一行提示,指向 Node.js 的路徑。更多可以直接點名的瀏覽器
4.1.26 加入了--browser=zen 與 --browser=floorp。它們會在 macOS、Windows 與 Linux 上找到一般安裝的瀏覽器,和 Waterfox、LibreWolf 之前的做法一樣。4.1.29 也修正了這裡的一個 bug。--browser=brave、opera、vivaldi 與 yandex 有可能打開受管理的 Chrome,而終端機裡顯示的卻是那個分支瀏覽器的名字。現在每一個都執行自己的應用程式,並且有一項檢查會啟動每個瀏覽器並讀取真正在執行的是哪個應用程式。一份 manifest,更精確
從 4.1.19 起,chrome: 與 edge: 只代表那一個瀏覽器,而不是整個 Chromium 家族。chromium: 才是家族。這帶來了一種新的失敗可能:一份把每個 manifest_version 都限定到某個廠商的 manifest,所以 4.1.21 會拒絕這樣的建置並說明怎麼改。Edge 的正式建置現在會移除頂層的 key,因為 Edge Add-ons 拒絕任何包含它的 manifest。這個需求來自 Better Lyrics 的維護者,他之前每次建置後都要手動刪掉它。重新載入
在 Chrome 與 Edge 上開發時,儲存一個 content script 過去會讓舊副本和新副本一起執行。4.1.25 在執行階段註冊開發用的 content script,所以一次編輯只執行一份副本,在已開啟的分頁和每個新頁面裡都是如此。編輯一個 HTML 頁面現在只重新整理那一個頁面。一個值得點名的 bug
全新安裝 4.1.18 到 4.1.23 有可能拉到比我們測試所用更新的 rspack,於是每個帶連結樣式表的頁面在載入時都會拋出錯誤。4.1.24 鎖定了打包器的版本,並加入一個守住產物形狀的建置測試。如果你還在這些版本上,請升級。還有
extension create --template transformers-js 會產生一個在本機裝置上做文字分類的側邊欄,參照的是 Hugging Face 自己的擴充功能範例。extension build --browser=opera 輸出未壓縮的程式碼,這是 Opera Add-ons 審核時的要求。Extension.js 現在也列在 Preact 整合頁、awesome-vue 與 awesome-shadcn-ui 上。10 月已經到了 4.1.33。一個側邊欄鍵就能為每個瀏覽器建置,Safari 開發工作階段不再碰你自己的 Safari,側邊欄起步範本會讀取目前開啟的分頁。下次再細說。Cezar AugustoCreator and Lead Developer, Extension.js

