Package Exports
- @reacttv/embed-kit/base
- @reacttv/embed-kit/react-embed-kit
Readme
embed-kit
Normalized API across different embed sources (YouTube, Twitch, TikTok, and others). Includes custom elements per provider and a React wrapper (ReactEmbedKit).
Install (GitHub Packages)
The package is published to GitHub Package Registry. Use the scoped name @reacttv/embed-kit.
Authenticate with GitHub Packages (one-time). Create a Personal Access Token with
read:packages(andwrite:packagesif you will publish). Then:npm login --scope=@reacttv --registry=https://npm.pkg.github.com # Username: your GitHub username # Password: your PAT (not your GitHub password) # Email: your email
Or add to your project or home
~/.npmrc(never commit a real token):@reacttv:registry=https://npm.pkg.github.com //npm.pkg.github.com/:_authToken=YOUR_GITHUB_PATInstall the package:
npm install @reacttv/embed-kit
Setup (developing this package)
When developing this package locally:
npm install
npm run buildThe prepare script runs on install and builds dist/ so consumers get a working build.
Publishing (GitHub Packages)
- From CI: Push a tag (e.g.
v0.1.0) or create a GitHub Release; the workflow in.github/workflows/publish.ymlbuilds and runsnpm publishto GitHub Package Registry. - Manually: Ensure you’re logged in to the registry (
npm login --scope=@reacttv --registry=https://npm.pkg.github.com), then runnpm run buildandnpm publish.
Scripts
npm run build— Compile TypeScript todist/prepare— Runs onnpm install; builds the package so consumers get a workingdist/npm run clean— Removedist/
Development
Source lives in src/. The build outputs to dist/ with the same structure.
Test pages
Each provider has its own test page in its package: src/youtube/test.html, src/twitch/test.html, etc. To run the test server (builds then serves):
npm run testOpen the URL shown (e.g. http://localhost:3000/test/ for the index, or http://localhost:3000/src/youtube/test.html for YouTube).