web-dev-qa-db-ja.com

配布ファイルでnpmパッケージを公開する方法は?

ソースと配布ファイルを含むnpmパッケージを公開したいと思います。 Githubリポジトリには、JavaScriptソースファイルを含むsrcフォルダーが含まれています。ビルドプロセスは、配布ファイルを含むdistフォルダーを生成します。もちろん、distフォルダーはGithubリポジトリにチェックインされません。

誰かがnpm installを実行すると、srcフォルダーとdistフォルダーが取得されるようにnpmパッケージを公開するにはどうすればよいですか?現在、gitリポジトリからnpm publishを実行すると、srcフォルダーのみが公開されます。

私のpackage.jsonは次のようになります。

{
  "name": "join-js",
  "version": "0.0.1",
  "homepage": "https://github.com/archfirst/joinjs",
  "repository": {
    "type": "git",
    "url": "https://github.com/archfirst/joinjs.git"
  },
  "main": "dist/index.js",
  "scripts": {
    "test": "gulp",
    "build": "gulp build",
    "prepublish": "npm run build"
  },
  "dependencies": {
    ...
  },
  "devDependencies": {
    ...
  }
}
93
Naresh

Package.jsonファイルの「files」フィールドをご覧ください https://docs.npmjs.com/files/package.json#files

ドキュメントから:

「ファイル」フィールドは、プロジェクトに含めるファイルの配列です。配列内のフォルダーに名前を付けると、そのフォルダー内のファイルも含まれます。 (別のルールで無視されない限り。)

80
Eugene Nezhuta

npm publishを使用するときに、.npmignoreファイルがない場合、npmは.gitignoreファイルを使用します(この場合、distフォルダーを除外します)。

問題を解決するには、distフォルダーを無視せずに、.npmignoreファイルに基づいて.gitignoreファイルを作成します。

ソース: https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package

133
topheman