Skip to content
uupaa edited this page Oct 24, 2015 · 44 revisions

このエントリでは、node ../WebModule/run/setup コマンドや npm run setup コマンドが生成/更新する package.json の読み解き方について説明します。

Workflow に従い node ../WebModule/run/setup コマンドを実行すると、 MyExample.js/package.json が生成されます。

$ git clone [email protected]:uupaa/MyExample.js.git
$ cd MyExample.js
$ node ../WebModule/run/setup

生成された MyExample.js/package.json は以下のようになっています。

以下のキーワードは、setupコマンド実行時に置換が行われます。

Keyword 置換後の内容
<<GITHUB_USER_NAME>> GitHubユーザ名
<<LOWER_REPOSITORY_FULLNAME>> GitHubのリポジトリ名(小文字化)
<<DESCRIPTION>> GitHubで設定した description
<<REPOSITORY_FULLNAME>> GitHubのリポジトリ名(フルネーム)
<<REPOSITORY_NAME>> GitHubのリポジトリ名(拡張子を省略した名前)
{
  "name":           "<<GITHUB_USER_NAME>>.<<LOWER_REPOSITORY_FULLNAME>>",
  "version":        "0.0.0",
  "description":    "<<DESCRIPTION>>",
  "url":            "https://github.com/<<GITHUB_USER_NAME>>/<<REPOSITORY_FULLNAME>>",
  "keywords":       ["<<GITHUB_USER_NAME>>", "WebModule", "Unstable"],
  "repository": {
    "type":         "git",
    "url":          "https://github.com/<<GITHUB_USER_NAME>>/<<REPOSITORY_FULLNAME>>.git"
  },
  "scripts": { ... },
  "webmodule": {
    "develop":      false,
    "label":        ["@dev"],
    "browser": {
      "source":     ["lib/<<REPOSITORY_NAME>>.js"],
      "output":     "release/<<REPOSITORY_NAME>>.b.min.js"
    },
    "worker": {
      "source":     ["lib/<<REPOSITORY_NAME>>.js"],
      "output":     "release/<<REPOSITORY_NAME>>.w.min.js"
    },
    "node": {
      "source":     ["lib/<<REPOSITORY_NAME>>.js"],
      "output":     "release/<<REPOSITORY_NAME>>.n.min.js"
    },
    "nw": {
      "source":     ["lib/<<REPOSITORY_NAME>>.js"],
      "output":     "release/<<REPOSITORY_NAME>>.nw.min.js"
    },
    "el": {
      "source":     ["lib/<<REPOSITORY_NAME>>.js"],
      "output":     "release/<<REPOSITORY_NAME>>.el.min.js"
    }
  },
  "dependencies": {
    "uupaa.hash.js": ""
  },
  "devDependencies": {},
  "lib":            "./lib/",
  "main":           "./index.js",
  "author":         "<<GITHUB_USER_NAME>>",
  "license":        "MIT",
  "contributors":   []
}

Edit package.json

node ../WebModule/run/setup (npm run setup) で更新した package.json は、デフォルトの状態です。
以下のプロパティを確認し必要に応じて修正してください。

{
  "name":           "uupaa.myexample.js", // npm 名です。変更不要です
  "version":        "0.0.0",              // MyExample.js のバージョン番号です
  "description":    "...",                // モジュールの特徴を簡潔に説明する文言です
                                          // GitHubで設定した文字列がそのまま設定されています
  "keywords":       [..., "WebModule"],   // npm search コマンドで検索するタグを指定します
  "webmodule": {                          // モジュールのビルドに必要な情報です。後ほど詳しく説明します
    ...
  },
  "author":         "...",                // ユーザ名やメールアドレスを設定してください
  "license":        "MIT"                 // 適切なライセンスに変更してください
}

Edit build settings

Build target を参照してください。

  • dependencies や devDependencies を編集した場合は忘れずに、npm updatenpm run page コマンドを実行してください
    • npm update コマンド実行中にネットワークが切断した場合など、よくわからない状態に陥った場合は、一度 rm -rf node_modules を実行し、再度 npm update を行ってください。
    • npm run page コマンドを実行すると、test/index.html, test/node.js, test/worker.js, test/nw.js, test/package.json ファイルの再生成が行われます。

依存する外部モジュールを dependencies と devDependencies に追加する

dependencies と devDependencies にモジュールを列挙しておくと、npm run sync コマンドや npm update コマンド実行時に、npm に登録したモジュールのダウンロードとインストールが行われます。