tidgi-shared
v0.1.5
Published
Shared service interfaces and IPC descriptors for TidGi plugins
Maintainers
Readme
tidgi-shared
Shared service interfaces, IPC descriptors, and constants for TidGi plugins.
This package re-exports all TidGi Desktop service interface types so that external TiddlyWiki plugins and projects can reference them without depending on the full TidGi-Desktop codebase.
Install
pnpm add tidgi-sharedUsage
import type { IGitServerService, IGitService, ITidGiGlobalService, IWorkspaceService } from 'tidgi-shared';For TiddlyWiki route modules running in TidGi's wiki worker, access services via $tw.tidgi.service:
import type { IGitServerService, IGitService, ITidGiGlobalService, IWorkspaceService } from 'tidgi-shared';
const tidgiService = ($tw as typeof $tw & { tidgi?: { service?: ITidGiGlobalService } }).tidgi?.service;Building
pnpm run buildReleasing
tidgi-shared is built from the live interfaces in TidGi-Desktop/src via the aliases in tsup.config.ts, so release it only after the upstream service interfaces are already updated.
- Update the source interfaces in
TidGi-Desktop/src/services/**/interface.ts. - Bump the version in
packages/tidgi-shared/package.json. - From the
TidGi-Desktoprepo root, run:
pnpm --filter tidgi-shared run check
pnpm --filter tidgi-shared run build- Optionally verify the tarball contents before publishing:
cd packages/tidgi-shared
npm pack --dry-run- Publish from
packages/tidgi-shared:
npm publish --access public- Verify the published version:
npm view tidgi-shared versionIf a plugin starts using a new TidGi service method and TypeScript cannot see it yet, that usually means the desktop source was updated but tidgi-shared has not been republished since that interface change.
What's Included
- All TidGi service interfaces (25 services)
- IPC descriptors for electron-ipc-cat proxy
- Channel constants for IPC communication
- Shared types (
IService,SupportedStorageServices, etc.) - Window properties and metadata types
