正確には何を入れればよい.npmignore
ですか?
テスト?スタッフのような.travis.yml
、.jshintrc
?モジュールの実行時に不要なもの(readmeを除く)?
これに関するガイダンスは見つかりません。
正確には何を入れればよい.npmignore
ですか?
テスト?スタッフのような.travis.yml
、.jshintrc
?モジュールの実行時に不要なもの(readmeを除く)?
これに関するガイダンスは見つかりません。
回答:
おそらくあなたが見つけたように、NPMはそこに何を入れるべきかを具体的に述べておらず、むしろデフォルトで無視されるファイルのリストを持っています。存在しない場合、デフォルトで.gitignore
はすべてが無視さnpm
れるため、多くの人はそれを使用し.npmignore
ません。さらに、上記のリンクで概説されているように、多くのファイルは設定に関係なくデフォルトですでに無視されており、一部のファイルは常に無視から除外されています。
これは基本的にのサブセットであるため、常にあるべき場所についてはそれほど公式なものではありませんが、.gitignore
nodeを5年間使用して収集したものから、ここに私が思いついたものがあります。
注:プロダクションとは、モジュールが誰かによって使用され、モジュール自体で開発されていないときを意味します。
.coffee
し、パッケージにファイルを含めずに、gitリポジトリで追跡し続けることができます。node-gyp
は、ビルド中に生成されたオブジェクトファイルをパッケージに含めるべきではない可能性があります。.gitignore
とにかく常に入る必要があります。npmの観点から.npmignore
オーバーライドしたファイルをすでに使用している場合は、これらをここに配置する必要が.gitignore
あります。.travis.yml
は、コードの使用、テスト、または表示には必要ありません。CNAME
ファイルやプレースホルダーを散らかす必要はありません。index.html
gh-pages
npm install
、私はnpmのみに依存し、他の外部ソースには依存しません。基本的に、npmパッケージから除外したいが、npmリポジトリから除外したくないものがある場合は、これを使用する必要があります。これはアイテムの長いリストではありませんが、npmは、パッケージ内に無関係なオブジェクトを残しておくよりも、機能を組み込んでいます。
ランテの短くて総合的な答えとSamTの大きな答えに同意します。
それらの答えへの私の貢献:
.npmignoreは、パッケージファイルを選択するためのブラックリストの方法です。しかし、より実用的な方法では、package.jsonのfilesフィールドを使用して、パッケージに含める必要があるファイルをホワイトリストに登録できます。
{
"files": [
"lib/",
"index.js"
]
}
私はそれがよりシンプルで将来の証拠であり、より良いセマンティクスを持っていると思います
npm test
すべてのnode_modulesで再帰的に実行すると、特定の環境で動作が異なる場合にヒントが得られます。
.npmignore
。files: ["lib", "!lib/**/*.test.js"]
。:)
明確にするために、誰かがを行うとnpm install your-library
、npmは、リポジトリに含まれているすべてのソースファイルをダウンロードします.npmignore
。
ライブラリをインストールする人は、ライブラリを実行するだけで十分であり、それ以外は必要ないことを理解してください。
たとえば、誰かがライブラリをインストールするとき、おそらく彼/彼女はあなた.travis.yml
やあなたの.jshintrc
ファイル、あるいはいくつかの画像、Gruntファイル、ドキュメントなどさえ気にしていません 。
.npmignore
npmパッケージのファイル数を減らし、ダウンロードを高速化できます
.npmignore
ものに直接影響を与えることはありません。npmを発行してアップロードするときにパッケージに何が入るかに影響します。これにより、ダウンロードするファイルが間接的に作成されます。
テストは含めないでください。多くの場合、テストは実際のコードベースの5倍のサイズです。テストがGithubなどで行われている限り、それで十分です。
しかし、絶対にすべきことは、NPMパッケージを公開された形式でテストすることです。実際のコードベースに存在するが、テストスイートの一部ではないスモークテストを作成します。
パッケージをtarballした後のテストについては、https: //github.com/ORESoftware/r2gを参照してください。
npm install yourlibrary
たとえば、.travis.yml
および.jshintrc