Build fails on Windows clones because of CRLF line endings

Ouverte Adaptée aux débutants
#21 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
bash, git, typescript
Domaine
build-system

Piste de recherche

Commence par les paramètres de fin de ligne du dépôt et examine skills/go-mode/scripts/model-table.mjs et scripts/build.mjs pour confirmer les hypothèses LF signalées ; vérifie si les scripts .sh regroupés ont eux aussi besoin de fins de ligne cohérentes. Ajoute .gitattributes avec la politique proposée, puis vérifie qu’un Windows checkout vierge peut compiler avec node scripts/build.mjs claude-code et que les rôles des modèles sont analysés sans problème.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

Problem

node scripts/build.mjs claude-code fails on a fresh Windows clone:

skills/go-mode/references/model-roles.md:27: role row needs a `role`, an Entries of "one" or "list", and a Can drop of "yes" or "no"

Git for Windows checks files out with CRLF line endings by default (core.autocrlf=true). tableRows in skills/go-mode/scripts/model-table.mjs splits on \n, so each line keeps a trailing \r. isSeparatorRow (/^\|[\s:|-]+\|$/) then fails to match |---|…|\r, and the header row is parsed as a role row.

Reproduced on macOS: model-roles.md parses with 0 problems as checked in, and with 2 problems after converting it to CRLF.

Other places also assume LF:

  • mergeFrontmatter in scripts/build.mjs matches ^---\n.
  • Bash rejects the bundled .sh scripts if they have CRLF line endings.

Fix

Add a .gitattributes with * text=auto eol=lf so every checkout gets LF regardless of core.autocrlf. Making the parser accept \r?\n too is optional and would harden the build against files edited in a CRLF editor.

Workaround

Clone with git clone -c core.autocrlf=false https://github.com/gregogun/gstack.git.

Langage dominant
JavaScript
Étoiles
0
Forks
0
Merge moyen
1 j 3 h
PR mergées (30 j)
37

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de gregogun/gstack

Toutes les issues de gregogun/gstack

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.