Skip to content

Commit

Permalink
fix: prevent webextension-polyfill from being loaded in tests
Browse files Browse the repository at this point in the history
`webextension-polyfill` can only be loaded in browser contexts.
  • Loading branch information
enellis committed Nov 21, 2024
1 parent 9852a76 commit 8cdaf6c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
14 changes: 7 additions & 7 deletions src/modules/StatsUpdater.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import browser from "webextension-polyfill"
import {
GameMode,
Settings,
Expand Down Expand Up @@ -229,12 +228,13 @@ export class StatsUpdater {
* Attach settings update listener.
*/
private attachSettingsUpdateListener(): void {
browser.runtime.onMessage.addListener(async (message) => {
const request = message as { action: string }

if (request.action !== "updated-settings") return
this.updateStatsForBothPlayers(true)
this.updateTitleForBothPlayers()
import("webextension-polyfill").then((browser) => {
browser.runtime.onMessage.addListener(async (message) => {
const request = message as { action: string }
if (request.action !== "updated-settings") return
this.updateStatsForBothPlayers(true)
this.updateTitleForBothPlayers()
})
})
}

Expand Down
3 changes: 1 addition & 2 deletions src/modules/StatsUpdaterFactory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { SettingsManager } from "./SettingsManager"
import { APIHandler } from "./APIHandler"
import { UiUpdater } from "./UiUpdater"
import { UrlObserver } from "./UrlObserver"
import { BrowserSettingsStorage } from "./BrowserSettingsStorage"
import { StatsUpdater } from "./StatsUpdater"
import { StatsCalculator } from "./StatsCalculator"
import { BrowserUiWindow } from "./BrowserUiWindow"
Expand All @@ -28,7 +27,7 @@ export class StatsUpdaterFactory {
* @returns {StatsUpdater} A new StatsUpdater instance.
*/
static createStatsUpdater(
storageManager: SettingsStorage = new BrowserSettingsStorage(),
storageManager: SettingsStorage,
uiWindow: UiWindow = new BrowserUiWindow()
): StatsUpdater {
return new StatsUpdater({
Expand Down
5 changes: 4 additions & 1 deletion src/scripts/insights.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@

import { version, repository } from "../../package.json"
import { StatsUpdaterFactory } from "../modules/StatsUpdaterFactory"
import { BrowserSettingsStorage } from "../modules/BrowserSettingsStorage"

console.log(`⚡ Chess.com Insights v${version} injected`)
console.log(`🚀 View source code at ${repository.url}`)

/**
* Initialize the stats updater and start updating stats.
*/
StatsUpdaterFactory.createStatsUpdater().initialize()
StatsUpdaterFactory.createStatsUpdater(
new BrowserSettingsStorage()
).initialize()

0 comments on commit 8cdaf6c

Please sign in to comment.