mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
655b598ad8
Three fixes on the audio-fft PR:
1. Typecheck. `bandValues` was inferred as `Float32Array<ArrayBuffer>[]`
via `Array.from(..., () => new Float32Array(n))`, which TS 5.7+
rejects when assigning the `Float32Array` returned from
`computeFftBands` (narrower buffer type parameter). Annotate explicitly
as `Float32Array[]`.
2. Test on CI. The `decodes real fixture audio with ffmpeg` test was
hard-failing on CI runners that don't have ffmpeg on PATH
(`spawnSync ffmpeg ENOENT`). Add a `hasFfmpeg()` probe and use
`it.skipIf(!hasFfmpeg())`. The CLI's `doctor` command surfaces the
missing-binary case for real users; tests shouldn't hard-fail on it.
3. build:copy. `cp -r src/templates/_shared dist/templates/` was failing
on re-builds because dist retained a stale `AGENTS.md` symlink to
`CLAUDE.md` from an earlier build when those files were the same
content. Prepend `rm -rf dist/{studio,docs,templates,skills,docker}`
so the copy starts from a clean slate and is idempotent across
builds.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
64 lines
2.1 KiB
JSON
64 lines
2.1 KiB
JSON
{
|
|
"name": "@hyperframes/cli",
|
|
"version": "0.4.5",
|
|
"description": "HyperFrames CLI — create, preview, and render HTML video compositions",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/heygen-com/hyperframes",
|
|
"directory": "packages/cli"
|
|
},
|
|
"bin": {
|
|
"hyperframes": "./dist/cli.js"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"test": "vitest run",
|
|
"dev": "tsx src/cli.ts",
|
|
"build": "bun run build:fonts && bun run build:studio && tsup && bun run build:runtime && bun run build:copy",
|
|
"build:fonts": "cd ../producer && tsx scripts/generate-font-data.ts",
|
|
"build:studio": "cd ../studio && bun run build",
|
|
"build:runtime": "tsx scripts/build-runtime.ts",
|
|
"build:copy": "rm -rf dist/studio dist/docs dist/templates dist/skills dist/docker && mkdir -p dist/studio dist/docs dist/templates dist/skills dist/docker && cp -r ../studio/dist/* dist/studio/ && cp -r src/templates/blank src/templates/_shared dist/templates/ && cp -r ../../skills/hyperframes ../../skills/hyperframes-cli ../../skills/gsap dist/skills/ && cp src/docker/Dockerfile.render dist/docker/ && (cp src/docs/*.md dist/docs/ 2>/dev/null || true)",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@hono/node-server": "^1.8.0",
|
|
"@puppeteer/browsers": "^2.13.0",
|
|
"adm-zip": "^0.5.16",
|
|
"citty": "^0.2.1",
|
|
"compare-versions": "^6.1.1",
|
|
"esbuild": "^0.25.0",
|
|
"giget": "^3.2.0",
|
|
"hono": "^4.0.0",
|
|
"mime-types": "^3.0.2",
|
|
"open": "^10.0.0",
|
|
"postcss": "^8.5.8",
|
|
"prettier": "^3.8.1",
|
|
"puppeteer-core": "^24.39.1"
|
|
},
|
|
"devDependencies": {
|
|
"@clack/prompts": "^1.1.0",
|
|
"@hyperframes/core": "workspace:*",
|
|
"@hyperframes/engine": "workspace:*",
|
|
"@hyperframes/producer": "workspace:*",
|
|
"@types/adm-zip": "^0.5.7",
|
|
"@types/mime-types": "^3.0.1",
|
|
"@types/node": "^22.0.0",
|
|
"linkedom": "^0.18.12",
|
|
"picocolors": "^1.1.1",
|
|
"tsup": "^8.0.0",
|
|
"tsx": "^4.0.0",
|
|
"typescript": "^5.0.0",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"optionalDependencies": {
|
|
"@google/genai": "^1.50.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
}
|
|
}
|