build: configure oxlint, oxfmt, commitlint, lefthook, and knip#18
Closed
vanceingalls wants to merge 16 commits intomainfrom
Closed
build: configure oxlint, oxfmt, commitlint, lefthook, and knip#18vanceingalls wants to merge 16 commits intomainfrom
vanceingalls wants to merge 16 commits intomainfrom
Conversation
VA-851: Design spec for oxlint + oxfmt + commitlint + lefthook + knip configuration at monorepo root, reviewed and approved. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…al commits VA-851: Step-by-step plan for oxlint + oxfmt + commitlint + lefthook + knip setup, reviewed and corrected. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
VA-851 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- oxlint category: recommended → correctness (oxlint has no recommended) - lefthook commands: bare binaries → npx prefix (required for PATH) VA-851
VA-851 [Pre-Migration] Configure ESLint, Prettier, and conventional commits
ContextThe codebase currently has no linting or formatting enforcement. Code is clean by convention, but OSS contributors need automated guardrails. Team feedback: "I love when an open source repo has this." What to do
Why before portWe want the OSS repo's first commit to already have these configs in place and all code conforming. No "fix linting" commits in public history. |
miguel-heygen
added a commit
that referenced
this pull request
Mar 31, 2026
…tsx split (#144) ## Summary Full code quality review of the studio package, fixing 22 of 25 findings. Removes dead code, extracts modules from App.tsx, fixes accessibility and performance issues. ## Critical fixes (3) - **`aria-valuenow`** on seek bar now updates imperatively via `liveTime.subscribe` — screen readers previously always reported position 0 - **Speed menu** closes on outside click (was permanently stuck open) - **RenderQueue auto-scroll** moved from render phase to `useEffect` (was violating React render purity via `queueMicrotask` during render) ## Dead code removed (-331 lines) | File | Lines | Why dead | |---|---|---| | `PreviewPanel.tsx` | 180 | Replaced by NLELayout + NLEPreview | | `useCodeEditor.ts` | 80 | Exported but never imported | | `formatTick` alias | 2 | Deprecated, unused | | `onClipChange` prop | 5 | Declared, never used | | `trackH` prop | 5 | Declared, never used | | `editRange*` + updaters in store | 60 | Never read or written | ## App.tsx extraction | Extracted to | Lines | What | |---|---|---| | `components/LintModal.tsx` | 130 | Lint results modal + LintFinding type | | `components/MediaPreview.tsx` | 75 | Image/video/audio/font file previewer | | `utils/mediaTypes.ts` | 15 | Shared regex constants (App.tsx and AssetsTab.tsx had diverged copies) | ## Performance fixes - `useMemo` for `compositions`/`assets` derivation from `fileTree` - `useMemo` for `buildTree(files)` in FileTree - Debounced `handleContentChange` PUT (600ms — was firing on every keystroke) - CompositionsTab iframe hover debounced (300ms — was mounting immediately) - `VideoFrameThumbnail` re-extracts frame when `src` prop changes ## Not addressed (3 — low priority) - #6: SystemIcons consolidation (large refactor across many files) - #16-17: Overlay dismiss pattern standardization - #18: Inline SVG → Phosphor replacement (gradual, per-PR) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes VA-851
All existing code passes lint + format checks with zero errors. Build, typecheck, and all 348 tests pass.
Test plan
pnpm lint— 0 errors (193 files, 85 rules)pnpm format:check— all 426 files formattedpnpm -r typecheck— all 5 packages passpnpm build— all 5 packages buildpnpm --filter @hyperframes/core test— 330 tests passpnpm --filter @hyperframes/engine test— 18 tests passcommitlint)oxfmt --check)🤖 Generated with Claude Code