#591 · Herramienta para desarrolladores

NPM Package Spec Parser

Analiza especificaciones de paquetes usadas por npm y separa nombre, ámbito, selector de versión y tipo de origen. Reconoce paquetes normales y con scope, versiones o rangos, etiquetas, rutas file:, URLs tarball y referencias Git habituales. El resultado muestra una lectura estructurada para revisar cadenas de instalación antes de copiarlas a scripts, documentación o automatizaciones.

Datos de entrada

Especificación npm
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

Analiza especificaciones de paquetes usadas por npm y separa nombre, ámbito, selector de versión y tipo de origen. Reconoce paquetes normales y con scope, versiones o rangos, etiquetas, rutas file:, URLs tarball y referencias Git habituales. El resultado muestra una lectura estructurada para revisar cadenas de instalación antes de copiarlas a scripts, documentación o automatizaciones.

Distingue primero orígenes file:, HTTP(S) y Git. Para paquetes npm, localiza el separador @ sin confundirlo con el @ inicial de un scope y clasifica el selector como versión exacta, rango semver, etiqueta o valor no reconocido.

El análisis es sintáctico y local: no consulta el registro npm ni confirma que el paquete, la etiqueta o la versión existan.

Ejemplo

Entrada: @scope/demo-package@^2.4.0 Salida: { "type": "registry", "name": "@scope/demo-package", "scope": "@scope", "selector": "^2.4.0", "selectorType": "semver-range" }

Casos de uso

  • Revisar argumentos de npm install generados por scripts.
  • Separar nombre y rango antes de construir manifests.
  • Identificar referencias Git, tarballs o rutas locales en pipelines.

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

Distingue primero orígenes file:, HTTP(S) y Git. Para paquetes npm, localiza el separador @ sin confundirlo con el @ inicial de un scope y clasifica el selector como versión exacta, rango semver, etiqueta o valor no reconocido.

El análisis es sintáctico y local: no consulta el registro npm ni confirma que el paquete, la etiqueta o la versión existan.

Preguntas frecuentes

¿Cómo interpreta un paquete npm con scope y versión, como @org/pkg@^1.2.0?

Conserva @org/pkg como nombre completo, extrae @org como scope y trata ^1.2.0 como selector semver.

¿Puede comprobar si una versión o etiqueta existe realmente en npm?

No. Funciona sin red y no consulta el registro; solo analiza la forma de la especificación.

¿Distingue una URL tarball de una referencia Git?

Sí. Las URLs HTTP(S) se clasifican como URL y los prefijos git+, git://, github: o git@ como origen Git.

¿Qué ocurre con file:../mi-paquete o una ruta relativa?

Se clasifica como dependencia local y se conserva la ruta para que puedas revisarla o reutilizarla.

¿Valida por completo la gramática oficial de npm-package-arg?

No. Cubre los formatos más comunes en navegador, pero no pretende sustituir la implementación oficial de npm-package-arg.

Resumen del módulo

ElementoDetalle
EntradaEspecificación npm
ProcesamientoLocal en el navegador
SalidaJSON
Red externaNo requerida