mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-04-13 09:12:51 -07:00
- Add generateFullArchive() to IGitServerService interface - Implement tar archive generation: git archive + system tar append - Archives working tree + minimal .git metadata (HEAD, refs, objects) - Cache by HEAD commit hash, auto-cleanup old archives - Bump tidgi-shared to 0.1.5 |
||
|---|---|---|
| .. | ||
| src | ||
| .gitignore | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
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-shared
Usage
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 build
Releasing
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 version
If 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