mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-08-31 02:41:44 +00:00
`docs/changelog.mdx` reached 512 KB and started failing the 500 KB pre-commit check, so `chore: release v0.8.14` could only be committed by passing `HF_MAX_NONLFS_KB`. Every release from here would need the same override, and the file grows a few KB each time. The check is for binaries. Its own error message says "large binaries are being committed to git instead of LFS", and its header explains why: an ONNX model, HDR-regression MP4s, demo clips, each of which lives in history forever and is paid for by every clone. That cost is specific to binaries. Git delta-compresses text, so release notes that grow a few KB per commit add a few KB to the pack, while a binary of the same size re-enters the pack whole on every edit. Text is now exempt regardless of size, detected with `grep -I` (a file with NUL bytes is binary), the same heuristic git uses for "Binary files differ". The binary rule, the `registry/` exemption, the LFS check and the size threshold are all unchanged. The alternative was an allowlist entry for the one file, which would leave the next legitimately growing text file to hit the same wall and get the same one-off exemption. `scripts/check-large-files.sh` had no test. It has one now, wired into `test:scripts` so it actually runs: an over-limit binary fails, an over-limit text file passes, an under-limit binary passes, and multiple offenders are all named. Verified the text case fails with the exemption removed, so the test pins the behaviour rather than describing it.
91 lines
5.5 KiB
JSON
91 lines
5.5 KiB
JSON
{
|
|
"name": "hyperframes-monorepo",
|
|
"private": true,
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/heygen-com/hyperframes"
|
|
},
|
|
"workspaces": [
|
|
"packages/*"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "bun run studio",
|
|
"build": "bun run --filter '@hyperframes/{parsers,lint,studio-server}' build && bun run --filter @hyperframes/core build && bun run --filter '@hyperframes/{core,engine,producer,player,studio,shader-transitions,aws-lambda,gcp-cloud-run,sdk}' build && bun run --filter @hyperframes/cli build && bun run --filter @hyperframes/sdk-playground build",
|
|
"build:producer": "bun run --filter @hyperframes/producer build",
|
|
"studio": "bun run --filter @hyperframes/studio dev",
|
|
"build:hyperframes-runtime": "bun run --filter @hyperframes/core build:hyperframes-runtime",
|
|
"build:hyperframes-runtime:modular": "bun run --filter @hyperframes/core build:hyperframes-runtime:modular",
|
|
"verify:packed-manifests": "node scripts/verify-packed-manifests.mjs",
|
|
"validate:release-channel": "node scripts/validate-release-channel.mjs",
|
|
"set-version": "tsx scripts/set-version.ts",
|
|
"release:prepare": "tsx scripts/release-prepare.ts",
|
|
"changelog:draft": "tsx scripts/draft-changelog.ts",
|
|
"changelog:weekly": "tsx scripts/changelog-weekly.ts",
|
|
"sync-schemas": "tsx scripts/sync-schemas.ts",
|
|
"sync-schemas:check": "tsx scripts/sync-schemas.ts --check",
|
|
"sync:package-subpaths": "node scripts/package-subpaths.mjs --write",
|
|
"check:package-subpaths": "node scripts/package-subpaths.mjs",
|
|
"lint": "bun run check:docs-snippet-motion && bun run check:tracked-artifacts && bun run check:workspace-contracts && bun run check:gcp-cloud-run-dockerfile && bun run check:package-cycles && bun run check:package-subpaths && bun run check:cli-process-ownership && oxlint . && tsx scripts/lint-skills.ts && node scripts/check-skill-mirror.mjs",
|
|
"check:gcp-cloud-run-dockerfile": "bun run --cwd packages/gcp-cloud-run test:dockerfile-workspaces",
|
|
"lint:skills": "tsx scripts/lint-skills.ts",
|
|
"check:skill-mirror": "node scripts/check-skill-mirror.mjs",
|
|
"lint:fix": "oxlint --fix .",
|
|
"check:tracked-artifacts": "node scripts/check-tracked-artifacts.mjs",
|
|
"check:docs-snippet-motion": "node scripts/check-docs-snippet-motion.mjs",
|
|
"check:workspace-contracts": "node scripts/check-workspace-contracts.mjs",
|
|
"check:package-cycles": "node scripts/check-package-cycles.mjs",
|
|
"check:cli-process-ownership": "node scripts/check-cli-process-ownership.mjs",
|
|
"format": "oxfmt .",
|
|
"test": "bun run test:unit",
|
|
"test:unit": "bun run --filter '*' test",
|
|
"producer:test:classification": "bun run --cwd packages/producer test:classification",
|
|
"producer:test:unit": "bun run --cwd packages/producer test:unit",
|
|
"producer:test:unit:bun": "bun run --cwd packages/producer test:unit:bun",
|
|
"producer:test:unit:vitest": "bun run --cwd packages/producer test:unit:vitest",
|
|
"producer:test:integration": "bun run --cwd packages/producer test:integration",
|
|
"test:regression": "bun run --cwd packages/producer test:regression",
|
|
"player:perf": "bun run --filter @hyperframes/player perf",
|
|
"format:check": "oxfmt --check .",
|
|
"knip": "knip",
|
|
"test:scripts": "node --import tsx --test scripts/animejs-v4-guidance.test.mjs scripts/check-tracked-artifacts.test.mjs scripts/check-no-main-deletions.test.mjs scripts/check-docs-snippet-motion.test.mjs scripts/registry-target-paths.test.mjs scripts/check-workspace-contracts.test.mjs scripts/check-package-cycles.test.mjs scripts/check-cli-process-ownership.test.mjs scripts/check-large-files.test.mjs scripts/package-subpaths.test.mjs scripts/validate-release-channel.test.mjs scripts/publish-workflow.test.mjs scripts/install-workspace-dependencies.test.mjs scripts/draft-changelog.test.ts scripts/set-version.test.ts scripts/release-prepare.test.ts scripts/cli-options.test.ts scripts/changelog-weekly.test.ts scripts/claude-plugin-compression.test.ts scripts/catalog-payload-assets.test.ts scripts/catalog-preview-temp.test.ts scripts/player-cdn-pin.test.ts scripts/studio-runtime-smoke.test.mjs scripts/verify-packed-manifests.test.mjs scripts/lint-skills.test.mjs packages/gcp-cloud-run/check-dockerfile-workspaces.test.mjs && vitest run scripts/catalog/",
|
|
"typecheck:scripts": "tsc --noEmit -p scripts/tsconfig.json",
|
|
"test:skills": "node --test 'skills/**/*.test.mjs'",
|
|
"generate:previews": "tsx scripts/generate-template-previews.ts",
|
|
"generate:catalog-previews": "tsx scripts/generate-catalog-previews.ts",
|
|
"package:codex-plugin": "node scripts/package-codex-plugin.mjs",
|
|
"upload:docs-images": "bash scripts/upload-docs-images.sh",
|
|
"prepare": "test -d .git && lefthook install || true",
|
|
"lint:registry-items": "node scripts/lint-registry-items.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@commitlint/cli": "^20.5.0",
|
|
"@commitlint/config-conventional": "^20.5.0",
|
|
"@hyperframes/player": "workspace:*",
|
|
"@types/node": "^25.0.10",
|
|
"concurrently": "^8.2.0",
|
|
"fallow": "^2.75.0",
|
|
"happy-dom": "^20.9.0",
|
|
"knip": "^6.0.3",
|
|
"lefthook": "^2.1.4",
|
|
"oxfmt": "^0.41.0",
|
|
"oxlint": "^1.56.0",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.0.0",
|
|
"vitest": "^3.2.4",
|
|
"yaml": "^2.9.0"
|
|
},
|
|
"resolutions": {
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0"
|
|
},
|
|
"overrides": {
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0"
|
|
}
|
|
}
|