features generate-docs: `$` sequences in NOTES.md and descriptions are expanded as String.replace patterns, splicing the README template into the output
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
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- cli
Piste de recherche
Le modèle est rempli dans src/spec-node/collectionCommonUtils/generateDocsCommandImpl.ts autour des lignes 170-182, où .replace() est appelé avec des valeurs de chaîne. Remplacez ces appels pour le contenu fourni par l'utilisateur (notes, nom, description, descriptions des options) par une fonction de remplacement, puis relancez le repro : un NOTES.md contenant $ doit apparaître littéralement dans le README.md généré, sans seconde copie du modèle. C'est terminé lorsque la sortie correspond au texte attendu et que $', $& et $$ sont aussi conservés sans modification.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
If a Feature's NOTES.md contains $` (for example the markdown `$`), the generated README.md gets a second copy of the README template at that point: the title, the description, and an "Example Usage" block with literal #{Registry}/#{Namespace}/<id>:#{Version} and #{Customizations}. $', $& and $$ also misbehave, and so do name, description and option descriptions in devcontainer-feature.json.
Repro (CLI 0.89.0; same on main at 155f8b2)
mkdir -p src/demo
echo '{ "id": "demo", "version": "1.0.0", "name": "Demo", "description": "A demo." }' > src/demo/devcontainer-feature.json
echo 'Escape quotes, `$` or backslashes.' > src/demo/NOTES.md
devcontainer features generate-docs -p src -n x/y
- Expected:
Escape quotes, `$` or backslashes. - Actual:
Escape quotes, `, then the template copy (# Demo (demo),## Example Usage,#{Registry}/#{Namespace}/demo:#{Version},#{Customizations}), then` or backslashes.
Cause
src/spec-node/collectionCommonUtils/generateDocsCommandImpl.ts:170-182 fills the template with .replace('#{…}', value). With a string replacement, String.prototype.replace expands $`, $', $& and $$ (MDN). The same code is in devcontainers/action src/generateDocs.ts:152-162.
Suggested fix
Pass a replacer function, as in .replace('#{Notes}', () => generateNotesMarkdown()), for every placeholder that takes user content.
Not the same as #1324, which is about how option values are sourced at build time.
- Langage dominant
- TypeScript
- Étoiles
- 3k
- Forks
- 462
- Merge moyen
- 13 h 28 min
- PR mergées (30 j)
- 2
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de devcontainers/cli
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
devcontainers/cli#1203 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 68/100
devcontainers/cli#1178 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 45/100
devcontainers/cli#1324 ·
Les mainteneurs répondent en général sous 1 jour
-
`devcontainer build` fails on Buildx 0.37.2 because the generated Dockerfile is outside the Compose bake contextPeut-être pris @v-Kaniska244 l’a pris il y a 4 jours. Ouverte
devcontainers/cli#1320 · 2 réactions · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Allow setting build attestationsOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
devcontainers/cli#1319 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de devcontainers/cli
Issues similaires
-
Remove the landing pageOuverteby: ai-assisted frontend good-for: new-member spike
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Northeastern-Electric-Racing/Argos#847 ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 1/5 1-3 heures Accessibilité débutants 84/100
SignalK/freeboard-sk#990 ·
Les mainteneurs répondent en général sous 1 jour
-
[missing-inheritance] audit review (1 preset)Peut-être pris @github-actions l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
osmberlin/tagging-schema-browser#363 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Albert-Weasker/niubigeo#205 ·
Les mainteneurs répondent en général sous 1 jour
-
area/frontend area/v2 kind/bug priority/needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
kubeflow/notebooks#1498 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour