2017-02-19 10 views
0

私はNPMプロジェクト( "X"と呼ぶ)を持っています。これは15Kの行を押しています。このプロジェクトのテストスイートはおそらく4K行に近いでしょう。テストはすべてテストフォルダにあります。 NPMにテストディレクトリを公開しないようにしたいので、余分な4K +行のコードをインストールする必要はありません。これはディスクスペースを節約し、より小さなフットプリントを宣伝することができるので人々を幸せにします。大きなNPMリポジトリ - 大きなテストスイートを別のプロジェクトに配置する必要がありますか?

私はオプションのカップルがあると思う:

過去に
  1. Githubの上とNPMにマスターにプッシュするとき、私は、フォルダを削除しようとした - バック発展に修正プログラムをマージしようとしたとき、これはバージョン管理の悪夢でした(私の経験が指示する限り)。私はこれを再訪したいとは思わない。マスターブランチに移動するときにテストディレクトリを削除すると、惨事になる可能性があります。

  2. 私は全く異なるNPMプロジェクトにテストを移すことができます。これははるかに良いアイデアのようです。しかし、私はこれを正確に行う方法がわかりません。

誰もこの経験があり、良い解決策はありますか?多分3番目の方法?

+3

このフォルダを.npmignoreファイルに追加してください:https://docs.npmjs.com/misc/developers – Artur

答えて

3

テストケースを同じリポジトリに保存しておくことをお勧めします。テストケースをnpmに公開しないでそのままにしておくことをお勧めします。公開するファイルをnpmに伝える方法は2通りあります。

"files" fieldに公開するファイルとディレクトリを最初に追加することができます。package.jsonです。たとえば、公開するすべてのコードが入っているdistディレクトリがある場合(Babel、Typescript、ミニドキュメントなどでコードを実行するとよくあります)、package.jsonは次のようになります。

{ 
    ... 
    "files": [ 
    "dist" 
    ] 
} 

このリストにないファイルとディレクトリは公開されません。 package.jsonREADMECHANGELOGLICENSEなどのファイルは、この設定に関係なく常に公開されます。

第二に、あなたは.gitignoreファイルに似て働く、.npmignore fileに公開したくないんファイルやディレクトリを追加することができます。

test/ 

ここでも、ファイルpackage.jsonREADMECHANGELOGLICENSE意志:(あなたのケースのように)あなたがtest/ディレクトリ内のファイルを公開したくない場合たとえば、あなた.npmignoreファイルは次のようになります。 .npmignoreファイルに関係なく常に公開されます。

これらのオプションのうちどれを使用するかは、あなた次第であり、いずれかが異なるプロジェクト構造に適している可能性があります。

+0

これは良い解決策です。私はこのような答えを探していました –

関連する問題