Cli: Los archivos .DS_Store aparecen después de la publicación npm

Creado en 8 nov. 2019  ·  4Comentarios  ·  Fuente: npm/cli

  Original bug ticket: [https://npm.community/t/831](https://npm.community/t/831)
  Originally filed: 2018-07-23T20:19:41.160Z
Bug Community

Comentario más útil

Me encuentro con esto en npm 6.13.0. pack incluirá archivos ignorados por .gitignore y / o .npmignore si se enumeran en files . Es más notorio cuando esos archivos están dentro de un directorio donde se desea incluir otros archivos en el directorio.

Una solución que parece funcionar para mí es agregar "!.DS_Store" como la última entrada en la matriz files (el orden parece importar).

Todos 4 comentarios

Me encuentro con esto en npm 6.13.0. pack incluirá archivos ignorados por .gitignore y / o .npmignore si se enumeran en files . Es más notorio cuando esos archivos están dentro de un directorio donde se desea incluir otros archivos en el directorio.

Una solución que parece funcionar para mí es agregar "!.DS_Store" como la última entrada en la matriz files (el orden parece importar).

Creo que estoy viendo algo similar desde npm 6.12.1: Mi .gitignore especifica excluir npm-shrinkwrap.json y el directorio /build/ . package.json enumera el directorio build explícitamente en la sección files . Como parte de mi procedimiento de compilación, estoy produciendo un npm-shrinkwrap.json en el directorio raíz del módulo, que luego se copia en el directorio build .

Con npm 6.4.1, ~ 6.7, ~ 6.9, ~ 6.10, ~ 6.11 y 6.12.0 el archivo empaquetado (de npm pack ) solo contiene build/npm-shrinkwrap.json , pero con 6.12.1 y posteriores incluye tanto build/npm-shrinkwrap.json _y_ npm-shrinkwrap.json .

(La comunidad está inactiva / solo lectura en este momento, si este no es el mismo problema, me gustaría disculparme).

Me parece extraño incluir un archivo shrinkwrap en cualquier parte de un paquete publicado, pero de todos modos solo tendría un efecto en la raíz: ¿por qué su proceso de compilación coloca una copia allí?

Ciertamente es una buena pregunta.

Lo tengo en el directorio build / como parte de otro paso de compilación que toma el directorio build / y crea una imagen de contenedor docker. La idea era ejecutar npm test etc. una vez fuera de la ventana acoplable, y luego hacer que el archivo shrinkwrap acelerara el proceso de la ventana acoplable (permitiendo que la ventana acoplable interna npm install recoja exactamente los mismos archivos). Esto también serviría como documentación sobre lo que se utilizó para la construcción. El proceso simplemente copió npm-shrinkwrap.json en el directorio de compilación.

La solución para mí ahora es usar mv lugar de cp para colocar el archivo en el directorio build/ .

EDITAR: Fix / Work-around para mí funciona, pero me preocupa un poco que, debido a este cambio en el comportamiento, los paquetes en los registros podrían contener inadvertidamente archivos que no deberían contener; encontré esto por accidente debido a otra parte de mi sistema comprobando la presencia de archivos npm-shrinkwrap.json .

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