2014-07-27 10 views
7

Sto costruendo un modulo npm che genererà un modello di progetto specifico per determinati progetti software. Pertanto, quando uno sviluppatore installa il mio modulo npm e lo esegue, vorrei che il programma crei file e cartelle in un certo modo.Come posso includere un file .gitignore come parte del mio modulo npm?

Uno di questi file che vorrei includere nel modello di progetto è un file .gitignore perché il progetto software assumerà che verrà tracciato tramite git. Tuttavia, quando chiamo "npm install" sul mio modulo, npm rinomina tutti i miei file .gitignore nei file .npmignore. Come posso garantire che i miei file .gitignore non vengano manomessi da npm quando distribuisco il mio modulo?

risposta

0

Si può vedere più impegna trattare con npm issue 1862:

  • this project adds a rename.json:

    lib/init-template/rename.json 
    { 
        ".npmignore": ".gitignore", 
    } 
    
  • this one renames the .gitignore:

    templates/default/.gitignore → templates/default/{%=gitignore%} 
    
    index.js 
    @@ -114,6 +114,10 @@ generator._pkgData = function (pkg) { 
        + // npm will rename .gitignore to .npmignore: 
        + // [ref](https://github.com/npm/npm/issues/1862) 
        + pkg.gitignore = '.gitignore'; 
    
+0

Ho eliminato questa domanda di 2 anni in downvot senza alcun motivo, dal momento che la risposta in corso (2017) in aumento suggerisce esattamente ciò che ho illustrato in quel momento. – VonC

1

https://github.com/npm/npm/issues/1862

Sembra che questo sia un problema noto. La risposta in fondo sembra l'approccio raccomandato. Nel caso in cui l'emissione o il collegamento mai viene distrutta:

Per noi, penso che una soluzione migliore sta per essere chiaro che, se la documentazione autori desiderano utilizzare .gitignore nei loro generatori, avranno bisogno di nominare i propri file. ## gitignore ##, che sarà un valore gitignore impostato sulla stessa stringa gitignore.

In questo modo, il file che viene pubblicato come file modello su npm viene chiamato. ## gitignore ## e non verrà rilevato da npm, ma successivamente verrà sostituito con la stringa per essere .gitignore.

Problemi correlati