Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

scripts/markdownlint deletes the tracked package-lock.json and modifies package.json

Abierto Apto para principiantes
#24,446 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
bash, nodejs
Área
tooling

Línea de trabajo

El error está en scripts/markdownlint, en el bloque que comprueba si existe un archivo de bloqueo y ejecuta npm install --save-dev. Empieza leyendo ese bloque y la comprobación que prueba package-json.lock, que está mal escrito. Está terminado cuando, al ejecutar el script sin tener markdownlint instalado, package-lock.json y package.json no cambian en git status y el lint se ejecuta igualmente. El issue propone npm install --no-save como solución.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area/docs-efficiency type/bug

Error Report

Please answer the following questions before submitting your issue. Thanks!

  1. What is the URL/path of the document related to this issue?

    scripts/markdownlint

  2. How would you like to improve it?

    When markdownlint is not installed globally and ./node_modules/.bin/markdownlint does not exist yet, running ./scripts/markdownlint <files> deletes the tracked package-lock.json file and modifies package.json:

    $ ./scripts/markdownlint some-file.md
    $ git status --short
     D package-lock.json
     M package.json
    

    The cause is in the following part of the script:

    had_lock=
    if test -f package-json.lock ; then
      had_lock=true
    fi
    npm install --save-dev '[email protected]'
    if [[ -z "$had_lock"  ]] ; then
      rm -f package-lock.json
    fi
    
    • The lock file check uses package-json.lock instead of package-lock.json, so had_lock is always empty and package-lock.json is always removed. package-lock.json has been tracked in the repository since #8881, so this removes a tracked file.
    • npm install --save-dev adds "markdownlint-cli": "^0.17.0" to devDependencies in package.json, and the script does not revert it.

    Because AGENTS.md and several skills in .agents/ instruct agents to run ./scripts/markdownlint <files> for validation, these unrelated changes can easily end up in doc PRs.

    Suggested fix: install markdownlint-cli without modifying the tracked files, for example, with npm install --no-save '[email protected]', and remove the had_lock logic. Alternatively, add markdownlint-cli to devDependencies in package.json and package-lock.json.

Lenguaje dominante
Python
Estrellas
615
Forks
724
Merge medio
1 d 4 h
PR fusionados (30 d)
521

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pingcap/docs

Todos los issues de pingcap/docs

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.