feat: inline chrome-extension-toolkit (#744)

* feat(build): inline chrome-extension-toolkit

fix: tsconfig

docs: add chrome-extension-toolkit README.md

chore: update imports

fix: stores

fix: chrome-extension-toolkit ForegroundMessenger

fix: calendarBackgroundHandler

fix: format and lint

fix: path alias

fix: add jsdom env and fix imports

Co-authored-by: Sriram Hariharan <sghsri@gmail.com>

* build: vite storybook config crx toolkit line

---------

Co-authored-by: Sriram Hariharan <sghsri@gmail.com>
Co-authored-by: Derek <derex1987@gmail.com>
This commit is contained in:
Diego Perez
2026-02-11 00:50:27 -06:00
committed by GitHub
parent d5954410a7
commit a537d17a2f
67 changed files with 1833 additions and 92 deletions

View File

@@ -0,0 +1,14 @@
/**
* A content script can be invalidated if a chrome extension is reloaded / updated.
* This function is used to detect when the extension's context has been invalidated, and to call a callback.
* @param callback A callback to be called when the extension's context has been invalidated
*/
export function onContextInvalidated(callback: () => void) {
const interval = setInterval(() => {
// this means the current tab's context has been invalidated
if (!chrome.runtime.id) {
clearInterval(interval);
callback();
}
}, 1 * 1000);
}