Files
SnowLuma/.pnpm-store/v11/files/ff/7508b99ae55620cd7fdb23916b25a192361ff6fd9761243c47d9347b1a69c50e8195809783f3e784745fad2206782147736c74e334fe34dd3a9594d142c1f3
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

69 lines
1.8 KiB
Plaintext

/*
Copyright (c) 2015-present, Facebook, Inc.
This source code is licensed under the MIT license found in the
LICENSE file at
https://github.com/react/create-react-app/blob/main/LICENSE
*/
/* global Application */
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function run(argv) {
const urlToOpen = argv[0]
// Allow requested program to be optional, default to Google Chrome
const programName = argv[1] ?? 'Google Chrome'
const app = Application(programName)
if (app.windows.length === 0) {
app.Window().make()
}
// 1: Looking for tab running debugger then,
// Reload debugging tab if found, then return
const found = lookupTabWithUrl(urlToOpen, app)
if (found) {
found.targetWindow.activeTabIndex = found.targetTabIndex
found.targetTab.reload()
found.targetWindow.index = 1
app.activate()
return
}
// 2: Looking for Empty tab
// In case debugging tab was not found
// We try to find an empty tab instead
const emptyTabFound = lookupTabWithUrl('chrome://newtab/', app)
if (emptyTabFound) {
emptyTabFound.targetWindow.activeTabIndex = emptyTabFound.targetTabIndex
emptyTabFound.targetTab.url = urlToOpen
app.activate()
return
}
// 3: Create new tab
// both debugging and empty tab were not found make a new tab with url
const firstWindow = app.windows[0]
firstWindow.tabs.push(app.Tab({ url: urlToOpen }))
app.activate()
}
/**
* Lookup tab with given url
*/
function lookupTabWithUrl(lookupUrl, app) {
const windows = app.windows()
for (const window of windows) {
for (const [tabIndex, tab] of window.tabs().entries()) {
if (tab.url().includes(lookupUrl)) {
return {
targetTab: tab,
targetTabIndex: tabIndex + 1,
targetWindow: window,
}
}
}
}
}