Skip to content

fix(example): make play-mode pass lint#2274

Open
miguel-heygen wants to merge 1 commit into
mainfrom
fix/play-mode-template-lint
Open

fix(example): make play-mode pass lint#2274
miguel-heygen wants to merge 1 commit into
mainfrom
fix/play-mode-template-lint

Conversation

@miguel-heygen

Copy link
Copy Markdown
Collaborator

What

  • move play-mode stats transform baselines from CSS into its paused GSAP timeline
  • align transcript lint parsing with the JavaScript object syntax already supported by Studio
  • add regression coverage that lints the shipped play-mode project and requires zero blocking errors

Why

A fresh hyperframes@0.7.54 init --example play-mode scaffold fails its own lint gate with five errors: four CSS/GSAP transform conflicts and one transcript parse error. The transcript error also conflicts with the formatter, which removes unnecessary property-key quotes, and with Studio, which already accepts unquoted JavaScript keys.

How

The stats composition now initializes scale, rotation, centering, and transform origins through deterministic tl.set calls before its existing tweens. Caption lint uses the same conservative normalization as the Studio parser for single quotes, unquoted keys, and trailing commas while still rejecting unsupported syntax.

Test plan

  • bun run --filter @hyperframes/lint test (364 passed)
  • bun run --filter @hyperframes/lint typecheck
  • bun run --filter @hyperframes/lint build
  • bunx oxfmt --check on all changed files
  • bunx oxlint on changed TypeScript files
  • full pre-commit hooks, including repository typecheck and tracked-artifact checks

} catch {
let normalized = arrayLiteral;
normalized = normalized.replace(/'((?:[^'\\]|\\.)*)'/g, (_match, inner: string) => {
const escaped = inner.replace(/\\'/g, "'").replace(/"/g, '\\"');
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