#592 · Herramienta para desarrolladores

NPM Lockfile Dependency Extractor

Extrae dependencias de package-lock.json sin instalar el proyecto. Admite lockfiles npm modernos con el objeto packages y lockfiles antiguos basados en dependencies, reuniendo nombre, versión, ruta, resolved e indicadores dev u optional cuando están disponibles. Es útil para inventarios, revisiones de versiones y comparación de árboles bloqueados en repositorios.

Datos de entrada

package-lock.json
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega el contenido en el área de entrada o carga un archivo local.
  2. Revisa que el formato corresponda al tipo esperado por la herramienta.
  3. Ejecuta el procesamiento con el botón principal o con Ctrl/Cmd + Enter.
  4. Comprueba el resumen, las métricas y las notas antes de copiar o descargar el resultado.

Qué hace esta herramienta para desarrolladores

Extrae dependencias de package-lock.json sin instalar el proyecto. Admite lockfiles npm modernos con el objeto packages y lockfiles antiguos basados en dependencies, reuniendo nombre, versión, ruta, resolved e indicadores dev u optional cuando están disponibles. Es útil para inventarios, revisiones de versiones y comparación de árboles bloqueados en repositorios.

Si existe packages, recorre las rutas node_modules y deriva el nombre desde la ruta cuando no aparece explícito. En lockfiles v1 recorre dependencies de forma recursiva. No resuelve dependencias por red ni ejecuta npm.

La salida refleja lo que está escrito en el lockfile. Dependencias omitidas, enlaces de workspace o formatos futuros pueden requerir revisión manual.

Ejemplo

Entrada: package-lock.json con node_modules/lodash. Salida: una fila con lodash, versión 4.17.21, ruta y resolved.

Casos de uso

  • Crear inventarios de versiones bloqueadas.
  • Detectar paquetes dev u optional en auditorías locales.
  • Comparar lockfiles antes y después de una actualización.

Consejos para obtener resultados fiables

  • Trabaja con una copia del archivo antes de sustituir manifests o lockfiles.
  • Revisa manualmente las líneas señaladas como ambiguas o no compatibles.
  • Compara el resultado con el control de versiones para detectar cambios inesperados.
  • No interpretes una extracción local como validación de disponibilidad en un registro remoto.
  • Conserva el lockfile original cuando necesites reproducibilidad exacta.

Detalles del procesamiento

Si existe packages, recorre las rutas node_modules y deriva el nombre desde la ruta cuando no aparece explícito. En lockfiles v1 recorre dependencies de forma recursiva. No resuelve dependencias por red ni ejecuta npm.

La salida refleja lo que está escrito en el lockfile. Dependencias omitidas, enlaces de workspace o formatos futuros pueden requerir revisión manual.

Preguntas frecuentes

¿Qué versiones de package-lock.json puede leer?

Lee la estructura packages usada por lockfileVersion 2 y 3 y también la estructura dependencies típica de lockfileVersion 1.

¿Incluye dependencias transitivas?

Sí, siempre que estén representadas en packages o en el árbol dependencies del archivo pegado.

¿Consulta npm para completar versiones que falten?

No. Todo el procesamiento se hace en el navegador con el JSON proporcionado.

¿Cómo trata paquetes con scope dentro de node_modules?

Deriva correctamente nombres como @scope/pkg a partir de las rutas node_modules/@scope/pkg.

¿La lista sirve como SBOM oficial?

No. Es un inventario práctico del lockfile, no un SBOM firmado ni una auditoría de seguridad.

Resumen del módulo

ElementoDetalle
Entradapackage-lock.json
ProcesamientoLocal en el navegador
SalidaJSON
Red externaNo requerida