@airdraft/media-adapter-github
v0.1.1
Published
Airdraft media adapter for GitHub repositories via GitHub App authentication
Readme
@airdraft/media-adapter-github
Media storage adapter for Airdraft that stores binary media files directly in a GitHub repository via the GitHub Contents API.
Installation
npm install @airdraft/media-adapter-githubUsage
import { GitHubMediaAdapter } from '@airdraft/media-adapter-github'
const adapter = new GitHubMediaAdapter({
tokenProvider: async () => process.env.GITHUB_INSTALLATION_TOKEN!,
repo: 'owner/repo',
branch: 'main',
})You can also provide GitHub App credentials directly:
const adapter = new GitHubMediaAdapter({
appId: process.env.GITCMS_APP_ID!,
privateKey: process.env.GITCMS_PRIVATE_KEY!,
installationId: process.env.GITCMS_INSTALLATION_ID!,
repo: process.env.GITCMS_REPO!,
branch: process.env.GITCMS_BRANCH ?? 'main',
})Notes
- Default adapter-level upload limit is 10 MB per file.
- URLs resolve to
/{key}by default, or{publicBaseUrl}/{key}when configured. - Designed for repo-backed media workflows where local and production paths should match.
