Yarn: Licencia generar Disclaimer - Salidas "basura" a stdout

Creado en 18 oct. 2016  ·  3Comentarios  ·  Fuente: yarnpkg/yarn

¿Desea solicitar una _función_ o informar un _error_?
Bicho

¿Cuál es el comportamiento actual?
Al ejecutar yarn licenses generateDisclaimer y canalizar la salida estándar a un archivo, esperaría obtener solo el texto de exención de responsabilidad para integrar fácilmente esta función con CI, etc. En cambio, las primeras líneas se ven así:

yarn licenses v0.15.1
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
THE FOLLOWING SETS FORTH ATTRIBUTION NOTICES FOR THIRD PARTY SOFTWARE THAT MAY BE CONTAINED IN PORTIONS OF THE XXX PRODUCT.

La tercera línea es correcta, pero las dos anteriores no tienen nada que ver con el descargo de responsabilidad.

Al final del documento, hay una línea que dice

Done in 5.45s.

Esto tampoco es parte del descargo de responsabilidad y no debe ser parte del resultado.

Veo cuatro posibles soluciones.

  • El primero es enviar todos los metadatos sobre yarn a stderr
  • El segundo es manejar especialmente generateDisclaimer
  • El tercero es crear una bandera global -q, --quiet
  • El último es agregar una opción -o --output a generateDisclaimer que escribe un archivo

Si el comportamiento actual es un error, proporcione los pasos para reproducirlo.

  1. Cree un paquete.json con algunas dependencias (preferiblemente con algunas dependencias de pares incompatibles)
  2. Ejecutar yarn licenses generateDisclaimer > DISCLAIMERS.txt
  3. Abierto DISCLAIMERS.txt
  4. Mirar el principio y el final del documento.

¿Cuál es el comportamiento esperado?
El archivo de descargo de responsabilidad se genera sin las partes que preceden a THE FOLLOWING SETS FORTH ATTRIBUTION y sin Done in 5.45s. al final.

Mencione su node.js, yarn y la versión del sistema operativo.

$ yarn --version
0.15.1
$ node --version
v6.4.0
$ uname -a
Linux thor.osl.manamind.com 4.7.7-200.fc24.x86_64 #1 SMP Sat Oct 8 00:21:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cat-feature

Comentario más útil

Hola a todos, parece que todavía tengo este problema:

$ yarn --version
0.22.0
$ yarn licenses generate-disclaimer > test.out
warning [email protected]: No license field
warning [email protected]: The platform "darwin" is incompatible with this module.
warning [email protected]: The platform "darwin" is incompatible with this module.
warning package.json: No license field
$ head test.out
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
THE FOLLOWING SETS FORTH ATTRIBUTION NOTICES FOR THIRD PARTY SOFTWARE THAT MAY BE CONTAINED IN PORTIONS OF THE CASTBRIDGE PRODUCT.
...

¿Hay alguna forma de arreglar esto? ¡Gracias!

NINJA EDIT: puedo ejecutar yarn licenses generate-disclaimer --ignore-platform , y eso hace lo que quiero, pero no creo que ese sea el patrón de uso previsto. (Podría estar equivocado)

Todos 3 comentarios

Me gustaría empezar a contribuir, así que voy a trabajar en esto.

Creado #1586 para arreglar esto, pendiente de aprobación.

Hola a todos, parece que todavía tengo este problema:

$ yarn --version
0.22.0
$ yarn licenses generate-disclaimer > test.out
warning [email protected]: No license field
warning [email protected]: The platform "darwin" is incompatible with this module.
warning [email protected]: The platform "darwin" is incompatible with this module.
warning package.json: No license field
$ head test.out
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
THE FOLLOWING SETS FORTH ATTRIBUTION NOTICES FOR THIRD PARTY SOFTWARE THAT MAY BE CONTAINED IN PORTIONS OF THE CASTBRIDGE PRODUCT.
...

¿Hay alguna forma de arreglar esto? ¡Gracias!

NINJA EDIT: puedo ejecutar yarn licenses generate-disclaimer --ignore-platform , y eso hace lo que quiero, pero no creo que ese sea el patrón de uso previsto. (Podría estar equivocado)

¿Fue útil esta página
0 / 5 - 0 calificaciones