extension-develop
Version:
The develop step of Extension.js
68 lines (60 loc) • 4.48 kB
JavaScript
import {handleFirstRun} from './define-initial-tab.js'
import {connect, disconnect} from './reload-service.js'
function bgGreen(str) {
return `background: transparent; color: #0971fe; ${str}`
}
async function handleTabOnExtensionLoad() {
console.log(
`%c
██████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████
████████████████████████████ ██████████████████████████
█████████████████████████ ██████ ███████████████
███████████████████████ ███ ███ ████████████
██████████████████████ ██████ ███ ███████████
███████████████████████ ██████ ██████ ███████████
████████████████ ██████ ██████████████ ███████████
█████████████ ████ ████████████ ████████████
███████████ ██ █████████████ ███████████████
██████████ ██████ █████████████████ █████████████
███████████ ████████████████████████████ ███████████
█████████████ █████████████████ ██████ ██████████
███████████████ ██████████████ ██ ██████████
████████████ ████████████ ████ █████████████
███████████ █████████████ ██████ ███████████████
███████████ ██████ ██████ ███████████████████████
███████████ ████ ██████ ██████████████████████
████████████ ██ ███ ███████████████████████
███████████████ ██████ █████████████████████████
██████████████████████████ ████████████████████████████
██████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████
MIT (c) ${new Date().getFullYear()} - Cezar Augusto and the Extension.js Authors.
`,
bgGreen('')
)
try {
await handleFirstRun()
} catch (error) {
console.error('Error handling tabs on extension load:', error)
}
}
browser.runtime.onInstalled.addListener(async () => {
await handleTabOnExtensionLoad()
let isConnected = false
if (isConnected) {
disconnect()
} else {
await connect()
isConnected = true
}
})
// Also initialize on browser startup for parity with Chromium behavior
browser.runtime.onStartup.addListener(async () => {
try {
await handleTabOnExtensionLoad()
} catch {}
try {
await connect()
} catch {}
})