mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
0562d92586
The Fallow audit flagged four functions in `check-no-use-effect.mjs` on CRAP score, which multiplies cyclomatic complexity by how much of the function no test reaches. Coverage is the half that cannot be paid here: fallow's static estimator gives every `.mjs` file in this repo a 0% estimate, tested or not, so a script written this way can only clear the threshold on complexity. So each function now makes one decision. Resolving a `react` import, reading a namespace name, following a `useEffect as x` alias and matching a callee are four separate named predicates instead of one nested condition, and the budget comparison splits into "what is wrong with this file" and "what is wrong with this entry", assembled by a flat map. No rule, message, budget number or exit code changes: the gate still fails a new call site, a file that grew, and an entry the file has since paid down. The helpers are exported and `check-no-use-effect.test.mjs` drives them the way the sibling check scripts are tested, so the split is verified rather than assumed, and `main()` now hoists the source walk out of its loop instead of rebuilding the file list per sanctioned entry.
92 lines
5.6 KiB
JSON
92 lines
5.6 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 && bun run check:no-use-effect && 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:no-use-effect": "node scripts/check-no-use-effect.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-no-use-effect.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"
|
|
}
|
|
}
|