Northword fb9109d87d
refactor: rebuild development scripts and release workflow (#84)
* refactor: add dev server and fix `update-beta.json` bug

* chore: add renovate config

* feat: release plugin to GitHub release via action

* chore: update vsc settings

* Cancel release by action

* docs: update readme

* Update README.md

* Update README.md

fix format

* Update README.md

* Update README.md

fix hint

* tweak

* Merge #81

* Fix indent

* Merge ade49628ff

* Revent delete env

* tweak

* feat: release via GitHub action

* docs: update readme

* Update README.md

* style: fix prettier

* add: stdout log to file

* Update README.md

fix typo

* Update release.yml

fix typo

* write Zotero log to `logs/zotero.log`

* do not provide update-beta.json default

* fix prettier in readme

* tweak

* fix wrong link in readme

* Move 3rd package config to package.json

---------

Co-authored-by: windingwind <33902321+windingwind@users.noreply.github.com>
2023-12-12 15:55:00 +08:00

28 lines
834 B
TypeScript

import { BasicTool } from "zotero-plugin-toolkit/dist/basic";
import Addon from "./addon";
import { config } from "../package.json";
const basicTool = new BasicTool();
if (!basicTool.getGlobal("Zotero")[config.addonInstance]) {
defineGlobal("window");
defineGlobal("document");
defineGlobal("ZoteroPane");
defineGlobal("Zotero_Tabs");
_globalThis.addon = new Addon();
defineGlobal("ztoolkit", () => {
return _globalThis.addon.data.ztoolkit;
});
Zotero[config.addonInstance] = addon;
}
function defineGlobal(name: Parameters<BasicTool["getGlobal"]>[0]): void;
function defineGlobal(name: string, getter: () => any): void;
function defineGlobal(name: string, getter?: () => any) {
Object.defineProperty(_globalThis, name, {
get() {
return getter ? getter() : basicTool.getGlobal(name);
},
});
}