[解決済み] テストは.npmignoreすべきですか?
2022-11-13 03:37:29
質問
具体的にどのように
.npmignore
?
テスト? のようなもの
.travis.yml
,
.jshintrc
? モジュールを実行するときに必要でないもの(readmeを除く)?
これに関するガイダンスが見当たりません。
どのように解決するのですか?
おそらくお気づきのように、NPM はそこに何を入れるべきかを具体的に述べておらず、むしろ彼らは
デフォルトで無視されるファイルのリスト
. 多くの人はこれを使用しません。
.gitignore
で無視されるからです。
npm
である場合、デフォルトでは
.npmignore
が存在しない場合、デフォルトで無視されます。さらに、多くのファイルは設定に関係なくすでにデフォルトで無視され、一部のファイルは上記のリンクで説明されているように、常に無視されないように除外されています。
のサブセットであるため、何が常にそこにあるべきかということについては、あまり公式なものはありません。
.gitignore
のサブセットであるため、公式にはあまり知られていませんが、5年近くnodeを使用してきた経験から、私が思いついたのは以下のとおりです。
注 生産 私は、あなたのモジュールが誰かによって使用されるすべての時間を意味し、モジュール自体で開発するためではありません。
プレリリース版のクロスコンパイルソース
-
プロフェッショナル
: JavaScript にクロスコンパイルする言語を使用している場合、リリース前にプリコンパイルし、インクルードしないようにすることができます。
.coffee
ファイルをパッケージに含めず、git リポジトリで追跡することができます。
ビルドファイルの残骸
-
プロフェッショナル
: のようなものを使っている人
node-gyp
を使っている人は、ビルド中に生成されるオブジェクトファイルがあるかもしれませんが、それは決してパッケージに入れるべきものではありません。 -
短所
: これは常に
.gitignore
の中に入れる必要があります。を使用している場合は、これらのものをこの中に置かなければなりません。.npmignore
ファイルを使用している場合は、この中に.gitignore
を上書きするからです。
テスト内容
- プロフェッショナル : プロダクションコードに含まれる荷物が少なくなる。
- 短所 : 本番環境ではテストを実行できません。システム固有の障害、たとえば古いバージョンのノードが動作していてテストが失敗する可能性があります。
継続的インテグレーション設定/メタファイル
-
プロフェッショナル
: 繰り返しになりますが、荷物が少ない。例えば
.travis.yml
などは、コードの使用、テスト、閲覧には必要ありません。
非readmeのドキュメントとコード例
- プロフェッショナル : 荷物が少ない。Readmeで最低限実現可能な機能を表現できなければ、モジュールは大きすぎるという考え方の人もいます。
- 短所 : 自分のファイルシステム上でドキュメントやコード例を見ることができない。リポジトリにアクセスする必要があります (これにはインターネット接続も必要です)。
Github-ページ オブジェクト
-
プロフェッショナル
: 確かにリリースに
CNAME
ファイルやプレースホルダーindex.html
としてモジュールを使用する場合は、プレースホルダのgh-pages
リポジトリとしても機能します。
bower.jsonとその仲間たち
-
プロフェッショナル
: リリース前に依存関係をビルドすることを決定した場合、エンドユーザがbowerをインストールし、さらにそれを使ってインストールする必要がありません。私なら、個人的には、そのようなものはパッケージの中に入れておきます。私が
npm install
を行うとき、私はnpmにのみ依存し、他の外部ソースには依存しないようにすべきです。
基本的には、npm パッケージから除外したいが npm リポジトリからは除外したくないものがある場合に使用する必要があります。長いリストではありませんが、npmはむしろ、人々がパッケージに無関係なオブジェクトで立ち往生するよりも、機能性を構築することを望んでいます。
関連
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] Node.jsで "Cannot find module "エラーを解決するにはどうしたらいいですか?
-
[解決済み] ローカルにインストールしたパッケージの実行ファイルを node_modules で使用するには?
-
[解決済み] Node.jsプロジェクトのフォルダ構造
-
[解決済み] Windowsからnode.jsを完全に削除する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
-
[解決済み】Nodejsの解決方法:Error: ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】NPMインストールエラー:解析中の予期せぬJSON入力の終了 '...nt-webpack-plugin": "0'' 付近。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] バルク更新を行う。
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み] Angularプロジェクトごとに生成される膨大な数のファイル