Skip to content

fix: restore green CI (revert js-yaml to 4.x, pin prettier)#65

Merged
vandetho merged 1 commit into
mainfrom
fix/ci-green
Jul 8, 2026
Merged

fix: restore green CI (revert js-yaml to 4.x, pin prettier)#65
vandetho merged 1 commit into
mainfrom
fix/ci-green

Conversation

@vandetho

@vandetho vandetho commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

main was broken in two independent ways. CI only surfaced the first because format:check failed and cancelled the run before typecheck/test could run.

  1. js-yaml 5.2.0 (chore(deps): bump js-yaml from 4.2.0 to 5.2.0 #62) is a full API rewrite that removes Type, DEFAULT_SCHEMA, and Schema.extend() — exactly what src/yaml/import.ts uses for the Symfony !php/const / !php/enum custom tags. It broke typecheck and the yaml/php-enum/event test suites, and @types/js-yaml was left at 4.x, mismatching the 5.x runtime. Reverted to ^4.3.0 until a proper 5.x migration is done.

  2. prettier ^3.8.3 floats to 3.9.4 on a fresh npm ci. Prettier 3.9 collapses a short union type onto one line where 3.8 kept the leading-| multiline form, so format:check failed in CI while passing on cached 3.8.x installs. Pinned exact 3.9.4 so local and CI format identically, and reformatted src/engine/types.ts.

Verification

Full pipeline green locally: lint · format:check · typecheck · 246 tests · build. (246 tests run now vs 184 previously — the 4 yaml-dependent suites had been erroring on import.)

Follow-up

A real migration to the js-yaml 5.x API (defineScalarTag / Schema) should be tracked separately so dependabot doesn't silently re-break the build.

🤖 Generated with Claude Code

origin/main was broken in two independent ways; CI only surfaced the
first because format:check failed and cancelled the run.

1. js-yaml 5.2.0 (#62) is a full API rewrite that drops `Type`,
   `DEFAULT_SCHEMA`, and `Schema.extend()`, which src/yaml/import.ts uses
   for the Symfony `!php/const` / `!php/enum` tags. It broke typecheck and
   the yaml/php-enum/event suites, and `@types/js-yaml` was left at 4.x.
   Pin back to ^4.3.0 until a proper 5.x migration is done.

2. prettier `^3.8.3` floats to 3.9.4 on a fresh `npm ci`; 3.9 collapses a
   short union type onto one line where 3.8 kept the multiline form, so
   format:check failed in CI while passing on cached 3.8.x. Pin exact
   3.9.4 and reformat src/engine/types.ts to match.

All 246 tests pass; typecheck, lint, format:check, and build are green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vandetho
vandetho merged commit fc70a95 into main Jul 8, 2026
3 checks passed
@vandetho
vandetho deleted the fix/ci-green branch July 8, 2026 06:58
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.

1 participant