¿Necesita un Node.js package.json en la raíz del repository?

Tengo un package Node.js que actualmente reside en un subdirectory de un repository de GitHub. Actualmente puedo publicarlo sin configurar el campo de repository, pero luego mis usuarios recibirán una advertencia y hay less información útil en la página del Repositorio de packages de nodo que la que podrían tener (faltan enlaces de problemas y requestes de extracción).

Si configuro el campo de repository en package.json para que apunte al repository principal, ¿funcionará? ¿Se romperá algo porque el file package.json no está en la raíz de ese repository (npm, en particular)?

Si configuro el campo de repository en package.json para que apunte al repository principal, ¿funcionará?

Sí. Este campo no es utilizado por ninguna funcionalidad crítica de npm. Es solo así si los contribuyentes quieren clonar un repository para que puedan trabajar en el proyecto.

¿Se romperá algo porque el file package.json no está en la raíz de ese repository (npm, en particular)?

No. No creo que nada se rompa.

  • Debe establecer el campo de repository en la ruta .git nivel superior del proyecto principal. El propósito de este campo es que SCM (git, etc.) pueda clonar el proyecto. En su caso, lo más parecido es el proyecto principal. Esto debería evitar el post de advertencia.
  • Debe establecer el campo de bugs en la página de problemas. Esto debería aparecer en el website de npm. No creo que el repository y los bugs se relacionen directamente o que npm haga suposiciones sobre uno basado en el otro.
  • Si no tiene un website para ello, puede establecer la homepage en la URL de github en el directory que contiene este module npm dentro del repository principal. Pegue un file README.md allí y github lo renderizará debajo del contenido del directory.

¿Es necesario que un package Node.js esté en la raíz del repository?

No La convención para modules de nodo es para que se instalen en el directory node_modules usando npm install .


El package de nodo probablemente sea un repository separado. Puede elegir publicarlo si lo desea; de lo contrario, simplemente configure "private": true en el file package.json .

Luego, para agregarlo a tu proyecto principal:

 % cd path/to/mainproject 

Si lo publicaste

 % npm install yourpackage 

O , si no está publicado

 % npm link path/to/yourpackage 

De cualquier manera, debe agregar node_modules al file .gitignore de su proyecto principal