pnpm format:check fails on main with 211 unformatted files, and CI never runs it
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 62/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- github-actions, typescript
Línea de trabajo
Empieza por el script format:check de package.json (línea 37), que ejecuta prettier --check ., y por los archivos .prettierrc.json y .prettierignore. Ejecuta pnpm format en local y haz commit solo del resultado, decidiendo antes si design-system/preview/*.html y design-system/ui_kits/** deben añadirse a .prettierignore. Después añade pnpm format:check al job de .github/workflows/ci.yml, cerca de las líneas 54-59. Está terminado cuando pnpm format:check pasa en main y CI falla un PR que rompe el formato.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found while checking the formatting of a small change: most of what Prettier flagged had nothing to do with the change.
What happened
On a clean checkout of main (commit f8e9bc0), pnpm format:check fails:
Code style issues found in 211 files. Run Prettier with --write to fix.
That is 211 of roughly 400 files Prettier looks at. A contributor who runs pnpm format before a commit gets a diff full of unrelated files. A contributor who does not run it adds to the pile.
Where the 211 files are:
| Where | Files |
|---|---|
src/app |
50 |
src/components |
32 |
design-system |
26 |
src/lib |
25 |
src/oauth |
20 |
src/mcp |
16 |
src/auth |
9 |
src/services |
7 |
repo root (CHANGELOG.md, CLAUDE.md, three config files) |
5 |
src/db |
5 |
src/email |
4 |
src/schemas |
3 |
tests, scripts, evals, docs |
2 each |
src/jobs |
1 |
By type: 114 .ts, 61 .tsx, 17 .html, 7 .jsx, 7 .md, 2 .mjs, 2 .css, 1 .json.
Why
format:checkisprettier --check .(package.json:37). The config (.prettierrc.json) and.prettierignoreare in place, so the check itself is sound.- CI never runs it. The
ci.ymljob runspnpm lint,pnpm typecheck,pnpm test,pnpm test:dbandpnpm build(.github/workflows/ci.yml:54-59), and the e2e job. Nothing fails a PR for formatting, so the drift built up one PR at a time. CONTRIBUTING.mdandCLAUDE.mdask forpnpm lint && pnpm typecheck && pnpm testbefore a PR. The formatter is not part of that line.
Suggested fix
- One PR that only runs
pnpm formatand commits the result. No other change in it, so it is easy to review and easy to rebase over. Merge it when few other PRs are open, because it will conflict with most of them. - Decide whether
design-system/preview/*.htmlanddesign-system/ui_kits/**should be formatted at all. If they are generated or copied in, add them to.prettierignoreinstead. - Add
- run: pnpm format:checkto the CI job next topnpm lint(.github/workflows/ci.yml:54), in the same PR or straight after, so it stays clean. - Optional: add the formatting commit's hash to a
.git-blame-ignore-revsfile, sogit blameskips it. GitHub reads that file without any setup. - Optional: add
pnpm format:checkto the "before any PR" line inCONTRIBUTING.mdandCLAUDE.md.
Done when
pnpm format:checkpasses onmain.- CI fails a PR that breaks it.
pnpm lint && pnpm typecheck && pnpm teststill pass after the formatting PR.
🤖 Generated with Claude Code
- Lenguaje dominante
- TypeScript
- Estrellas
- 19
- Forks
- 4
- Merge medio
- 21 h 17 min
- PR fusionados (30 d)
- 205
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de richshaw/OpenSignup
-
The cookies table is cut off on a phone, hiding how long each cookie lastsPosiblemente ocupada @richshaw la tomó hace 2 días. Abiertobug pipeline:building pipeline:ux
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
richshaw/OpenSignup#749 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
A New signup description with line breaks can pass the form, then be refused as too longPosiblemente ocupada @richshaw la tomó hace 2 días. Abiertobug pipeline:building pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
richshaw/OpenSignup#722 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
richshaw/OpenSignup#654 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 3/5 Medio día Aptitud para principiantes 62/100
richshaw/OpenSignup#770 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Magic Compose's reading screen quotes the description in a blue box that no other screen usesPosiblemente ocupada @richshaw la tomó hace 2 días. Abiertoenhancement pipeline:building pipeline:ux
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
richshaw/OpenSignup#751 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de richshaw/OpenSignup
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
unocss/unocss#5421 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs-area
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Azure/typespec-azure#5936 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 72/100
vercel-labs/scriptc#2910 ·
Los mantenedores suelen responder en 1 día
-
automation missing-model model-sync provider:fireworks-ai
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
anomalyco/models.dev#12458 ·
Los mantenedores suelen responder en 1 día