Skip to content

fix: resolve oxlint errors across codebase#24

Merged
vanceingalls merged 1 commit intomainfrom
va-851/02-lint-fixes
Mar 23, 2026
Merged

fix: resolve oxlint errors across codebase#24
vanceingalls merged 1 commit intomainfrom
va-851/02-lint-fixes

Conversation

@vanceingalls
Copy link
Copy Markdown
Collaborator

@vanceingalls vanceingalls commented Mar 23, 2026

Summary

  • Remove 5 unused beforeEach imports from test files
  • Remove unused imports (existsSync, TimelineCompositionElement)
  • Remove unused destructured variables (options, width, height, goldenEl)
  • Remove dead formatDuration function
  • Fix unused catch parameters (catch (err)catch)
  • Prefix unused renderError state with _
  • Add eslint-disable-next-line for 2 React exhaustive-deps false positives (stable ref + zustand setter)

Part 2/4 of VA-851

Test plan

  • pnpm lint — 0 errors on 193 files
  • All 348 tests pass (core + engine)

@linear
Copy link
Copy Markdown

linear bot commented Mar 23, 2026

VA-851 [Pre-Migration] Configure ESLint, Prettier, and conventional commits

Context

The 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

  1. ESLint — add configuration at monorepo root with TypeScript rules. Extend from @typescript-eslint/recommended.
  2. Prettier — add .prettierrc at root. Configure for the existing code style (double quotes, no semicolons or with — match what's already there).
  3. Conventional commits — add commitlint config enforcing conventional commit format (feat:, fix:, refactor:, etc.). This enables automated changelog generation later.
  4. Run formatter across all source files to establish baseline (single "format" commit in internal repo before port).
  5. Add lint/format scripts to root package.json: pnpm lint, pnpm format, pnpm format:check
  6. Verify all existing code passes lint + format checks with zero errors

Why before port

We 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.

@vanceingalls vanceingalls force-pushed the va-851/02-lint-fixes branch from 31bb4e4 to 7ed3a20 Compare March 23, 2026 21:57
@vanceingalls vanceingalls force-pushed the va-851/01-tooling-configs branch from 20a74d7 to 7dae5e2 Compare March 23, 2026 21:57
@vanceingalls vanceingalls force-pushed the va-851/02-lint-fixes branch from 7ed3a20 to f5b8a4e Compare March 23, 2026 22:11
@vanceingalls vanceingalls changed the base branch from va-851/01-tooling-configs to graphite-base/24 March 23, 2026 23:05
@vanceingalls vanceingalls force-pushed the va-851/02-lint-fixes branch from f5b8a4e to b3b9d0f Compare March 23, 2026 23:06
@graphite-app graphite-app bot changed the base branch from graphite-base/24 to main March 23, 2026 23:06
VA-851

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vanceingalls vanceingalls force-pushed the va-851/02-lint-fixes branch from b3b9d0f to f7c8d23 Compare March 23, 2026 23:06
@vanceingalls vanceingalls merged commit 323ff8f into main Mar 23, 2026
17 checks passed
Copy link
Copy Markdown
Collaborator Author

Merge activity

miguel-heygen added a commit that referenced this pull request Apr 7, 2026
## Summary

Adds critical rendering constraints to the `hyperframes` skill discovered from eval analysis of 27 agent-generated compositions. These guardrails prevent agents from producing compositions that technically work but render poorly.

## What it fixes

| Rule Added | Eval Prompts Affected | Issue |
| --- | --- | --- |
| Ban `repeat: -1` | #20 loading-spinner (2.0/5) | Infinite timeline broke capture engine |
| Ban async timeline construction | #16 particle-logo (2.6/5) | Timeline empty at capture time |
| Min font size 16px (labels), 20px (body) | #7, #8, #13, #14, #15, #19 | Illegible text after encoding |
| Ban full-screen dark linear gradients | #3, #5, #10, #14 | H.264 color banding |
| `<link>` fonts over CSS `@import` | #7, #24 | Font loading race conditions |

## Changes

- **Rules section**: Added `repeat: -1` ban, async timeline ban, items 8-9 to "Never do" list
- **Typography section**: Expanded font size guidance with specific minimums per text role (headlines, body, labels)
- **New "Backgrounds and Color" section**: Guidance on avoiding gradient banding
- **Output Checklist**: 5 new items covering all new constraints

## Test plan

- [ ] Run eval with updated skill and compare avg quality scores
- [x] Skill renders correctly in `/hyperframes` invocation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants