aboutsummaryrefslogtreecommitdiff
path: root/files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html')
-rw-r--r--files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html666
1 files changed, 0 insertions, 666 deletions
diff --git a/files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html b/files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html
deleted file mode 100644
index 8270fd12b3..0000000000
--- a/files/ja/archive/add-ons/add-on_sdk/tools/jpm/index.html
+++ /dev/null
@@ -1,666 +0,0 @@
----
-title: jpm
-slug: Archive/Add-ons/Add-on_SDK/Tools/jpm
-translation_of: Archive/Add-ons/Add-on_SDK/Tools/jpm
----
-<div class="blockIndicator warning">Support for extensions using XUL/XPCOM or the Add-on SDK was removed in Firefox 57, released November 2017. As there is no supported version of Firefox enabling these technologies, this page will be removed by December 2020.</div>
-
-<p>{{LegacyAddonsNotice}}{{AddonSidebar}}</p>
-
-<p><span class="seoSummary">jpm は Add-on をテスト、実行及びパッケージ化することができるコマンドラインツールです。</span></p>
-
-<p>これはjpmのリファレンスページです。開始のための<a href="/ja/docs/Mozilla/Add-ons/SDK/Tutorials/Getting_Started_(jpm)">jpmチュートリアル</a>も参照してください。</p>
-
-<p>jpmの使用方法は次のとおりです。</p>
-
-<pre class="brush: bash">jpm [command] [options]
-</pre>
-
-<p>jpmは次のグローバルオプションをサポートしています:</p>
-
-<pre class="brush: bash">-h, --help - show a help message and exit
--V, --version - print the jpm version number
---addon-dir - directory for your source code,
- defaulting to the current directory
-</pre>
-
-<h2 id="インストール"><a id="Installation" name="Installation">インストール</a></h2>
-
-<p>jpmは、nodeパッケージマネージャ<a class="external external-icon" href="https://www.npmjs.org/package/jpm">npm</a>とともに配布されます。</p>
-
-<h3 id="npm_のインストール">npm のインストール</h3>
-
-<p>npmをインストールするには2つの方法があります。</p>
-
-<ul>
- <li><a class="external external-icon" href="https://nodejs.org/">nodejs.org</a>からNode.jsをダウンロードしてインストールします。 Node.jsにはnpmが含まれます。</li>
- <li>あるいは、APTのようなパッケージマネージャがあれば、それを使ってnpmをインストールしてください。たとえば、UbuntuまたはDebianのターミナルウィンドウで、<code>sudo apt-get install nodejs nodejs-legacy </code><code> npm</code>と入力します。</li>
-</ul>
-
-<p>インストールできたかをテストするには、次のコマンドを実行します。</p>
-
-<pre class="lang-js prettyprint prettyprinted">/usr/bin/env node -v</pre>
-
-<p>"<em>/usr/bin/env: node: No such file or directory</em>"というエラーメッセージが表示され、パッケージマネージャーを使用してnodejsをインストールした場合、nodejsは別の実行可能ファイル名でインストールされている可能性があります。ただし、jpmとの互換性を確保するには、PATHに<code>node</code>という名前で存在する必要があります。DebianとUbuntuでは、これは互換性パッケージ<code>nodejs-legacy</code>を確実にインストールすることで解決できます。</p>
-
-<pre class="brush:bash">sudo apt-get install nodejs-legacy</pre>
-
-<p>他のディストリビューションでは、nodejsへのローカルシンボリックリンクを手動で作成する必要があります。</p>
-
-<pre class="brush:bash">sudo ln -s "$(which nodejs)" /usr/local/bin/node</pre>
-
-<h3 id="jpmのインストール">jpmのインストール</h3>
-
-<p>npmがインストールされ、PATHに<code>node</code>が追加されたら、他のnpmパッケージと同じようにjpmをインストールします。</p>
-
-<h4 id="グローバルにjpmをインストール">グローバルにjpmをインストール</h4>
-
-<pre class="brush: bash">npm install jpm --global</pre>
-
-<p>設定に応じて、次のコマンドをを管理者として実行する必要があります: <code>sudo npm install jpm --global</code></p>
-
-<h4 id="ローカルにjpmをインストール">ローカルにjpmをインストール</h4>
-
-<p>jpmをグローバルにインストールしたくない場合、またはインストールできない場合は、代わりにローカルにインストールすることができます。</p>
-
-<pre class="brush: bash">cd $HOME &amp;&amp; npm install jpm</pre>
-
-<p>ローカルにインストールしたときにターミナルから<code>jpm</code>を実行するには、最初に<code>"$HOME/node_modules/.bin/"</code>というディレクトリをターミナルのPATHに追加する必要があります。<code>$HOME/.profile</code>ファイルの最後に次の行を追加してPATHに永続的に(新しい端末が開くたびに<code>.profile</code>ファイルが実行されます)追加します。</p>
-
-<pre class="brush: bash">export PATH="$HOME/node_modules/.bin/:$PATH"</pre>
-
-<h4 id="Gitでjpmをインストール">Gitでjpmをインストール</h4>
-
-<p>あるいはgitを使って最新のjpmを入手することもできます。</p>
-
-<pre class="brush:bash">git clone https://github.com/mozilla-jetpack/jpm.git
-cd jpm
-npm install
-npm link
-</pre>
-
-<h3 id="jpmのインストール後">jpmのインストール後</h3>
-
-<p>インストール後、コマンドプロンプトで次のように入力します。</p>
-
-<pre class="brush: bash">jpm</pre>
-
-<p>利用可能なjpmコマンドを要約した画面が表示されます。cfxとは異なり、jpmは <code>--global</code>フラグを付けてインストールすることで、起動するすべてのコマンドプロンプトで使用できます。</p>
-
-<h3 id="異なるバージョンのFirefoxをインストール">異なるバージョンのFirefoxをインストール</h3>
-
-<p>Firefox 48では、ブランド版のリリースまたはベータ版のFirefoxでは、<a href="/ja/docs/Mozilla/Add-ons/Distribution">署名されていないアドオン</a>(つまり、開発中のアドオン)を使用することはできません。したがって、別のバージョンのFirefoxをダウンロードしてインストールする必要があります。旧バージョンのFirefoxを必要としない場合、あなたのオプションは<a href="https://www.mozilla.org/ja/firefox/developer/">Firefox Developer Edition</a>、<a href="https://www.mozilla.org/ja/firefox/channel/desktop/#nightly">Firefox Nightly</a>、<a href="https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded_Builds">Unbranded Beta、またはUnbranded Release</a>です。</p>
-
-<p>あなたのアドオンをテストするときは、<code>jpm run</code>コマンドに<code>-b</code>オプションを使う必要があります。<a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/jpm#ブラウザのバージョンの選択">ブラウザのバージョンの選択</a>を参照してください。</p>
-
-<h3 id="困った時は">困った時は?</h3>
-
-<p>これが表示されない場合は、ヘルプを求めてください。SDKユーザーとプロジェクトチームメンバーは<a href="https://groups.google.com/forum/#!forum/mozilla-labs-jetpack">プロジェクトのメーリングリスト</a>上で問題と提案について話し合っています。他の人が同じ問題を抱えている可能性がありますので、リストを検索してみてください。質問を投稿することもできます。<a href="http://irc.mozilla.org/">MozillaのIRCネットワーク</a>上の<a href="https://mibbit.com/?channel=%23jetpack&amp;server=irc.mozilla.org">#jetpack</a>で他のSDKユーザーとチャットすることもできます。</p>
-
-<h2 id="コマンドリファレンス">コマンドリファレンス</h2>
-
-<p>jpmは次のコマンドをサポートしています。</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;"><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_init"><code>jpm init</code></a></td>
- <td>あなたのアドオンの出発点としてスケルトンアドオンを作成します。</td>
- </tr>
- <tr>
- <td><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_run"><code>jpm run</code></a></td>
- <td>アドオンがインストールされているFirefoxのインスタンスを起動します。</td>
- </tr>
- <tr>
- <td><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_test"><code>jpm test</code></a></td>
- <td>アドオンの単体テストを実行します。</td>
- </tr>
- <tr>
- <td><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_xpi"><code>jpm xpi</code></a></td>
- <td>Firefoxのアドオンのインストールファイル形式である<a href="/ja/docs/XPI">XPI</a>ファイルとしてアドオンをパッケージ化します。</td>
- </tr>
- <tr>
- <td><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_post"><code>jpm post</code></a></td>
- <td>アドオンを<a href="/ja/docs/XPI">XPI</a>ファイルとしてパッケージ化し、それをいくつかのURLに投稿します。</td>
- </tr>
- <tr>
- <td><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_watchpost"><code>jpm watchpost</code></a></td>
- <td>ファイルが変更されたときにアドオンを<a href="/ja/docs/XPI">XPI</a>ファイルとしてパッケージ化し、それをいくつかのURLに投稿します。</td>
- </tr>
- <tr>
- <td><a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_sign"><code>jpm sign</code></a></td>
- <td>アドオンを<a href="/ja/docs/XPI">XPI</a>ファイルとしてパッケージ化し、Mozillaが署名した新しいXPIを取得します。</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="jpm_init">jpm init</h3>
-
-<p>このコマンドは、新しいアドオンを初期化します。</p>
-
-<p>ディレクトリを作成してそこに移動し、<code>jpm init</code>コマンドを実行します。</p>
-
-<pre class="brush: bash">mkdir my-addon
-cd my-addon
-jpm init</pre>
-
-<p>ここでアドオンに関するいくつかの情報を入力するよう求められます。これは、アドオンの<a href="/ja/Add-ons/SDK/Tools/package_json">package.json</a>ファイルの作成に使用されます。</p>
-
-<ul>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#title">title</a></li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#name">name</a>: これはデフォルトで、jpm init を実行しているディレクトリの名前になります。<a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#id"><code>id</code></a>フィールドがpackage.jsonに存在しない限り、jpmは<code>name</code>に "@"を付加し、その結果を<a href="https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#id">アドオンのインストールマニフェストの<code>id</code>フィールド</a>として使用します。</li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#version">version</a></li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#description">description</a></li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#main">entry point</a> (package.jsonの "main"にマップされます)</li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#author">author</a></li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#engines">engines</a> (サポートされるアプリケーション)</li>
- <li><a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/package_json#license">license</a></li>
-</ul>
-
-<p>これらのフィールドのほとんどはデフォルト値があり、質問の後に角括弧で表示されています。Enterキーを押すだけでアドオンがデフォルト値になります。</p>
-
-<p>値を提供したり、これらのプロパティのデフォルトを受け入れると、 "package.json"の完全な内容が表示され、それを受け入れるように求められます。</p>
-
-<p>次にjpmは、以下のファイル構造で、アドオン開発の出発点としてスケルトンアドオンを作成します。</p>
-
-<ul class="directory-tree">
- <li>my-addon
- <ul>
- <li>index.js</li>
- <li>package.json</li>
- <li>test
- <ul>
- <li>test-index.js</li>
- </ul>
- </li>
- </ul>
- </li>
-</ul>
-
-<h3 id="jpm_run">jpm run</h3>
-
-<p><span id="result_box" lang="ja"><span>このコマンドは、アドオンがインストールされたFirefoxの新しいインスタンスを実行します。</span></span></p>
-
-<pre class="brush: bash">jpm run</pre>
-
-<p><code>jpm run</code> は次のオプションを受け入れます:</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 30%;"><code>-b --binary BINARY</code></td>
- <td>
- <p>BINARYで指定されたバージョンのFirefoxを使用してください。 BINARYは、フルパスまたはカレントディレクトリに対する相対パスとして指定できます。</p>
-
- <pre class="brush: bash">
-jpm run -b /path/to/Firefox/Nightly</pre>
- <a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/jpm#ブラウザのバージョンの選択">ブラウザのバージョンの選択</a>を参照してください。</td>
- </tr>
- <tr>
- <td><code>--binary-args CMDARGS</code></td>
- <td>
- <p>Firefoxに<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options">追加の引数</a>を渡します。</p>
-
- <p>たとえば、Firefoxに<code>-jsconsole</code>引数を渡して<a href="/ja/docs/Tools/Browser_Console">ブラウザコンソール</a>を起動するには、次のようにします。</p>
-
- <pre class="brush: bash">
-jpm run --binary-args -jsconsole</pre>
-
- <p>複数の引数、または空白を含む引数を渡すには、それらを引用符で囲みます。</p>
-
- <pre class="brush: bash">
-jpm run --binary-args '-url mzl.la -jsconsole'</pre>
- </td>
- </tr>
- <tr>
- <td><code>--debug</code></td>
- <td>アドオンに接続されている<a href="/ja/docs/Mozilla/Add-ons/WebExtensions/デバッグ">アドオンデバッガ</a>を実行します。</td>
- </tr>
- <tr>
- <td><code>-o --overload PATH</code></td>
- <td>
- <p>Firefoxに組み込まれたSDKモジュールを使用するのではなく、PATHにあるモジュールを使用します。<code>-o</code>が指定され、PATHが省略されている場合、jpmはJETPACK_ROOT環境変数を検索し、その値をパスとして使用します。</p>
-
- <p>詳細については、<a href="/ja/Add-ons/SDK/Tools/jpm#Overloading_the_built-in_modules">組み込みモジュールのオーバーロード</a>を参照してください。</p>
- </td>
- </tr>
- <tr>
- <td><code>-p --profile=<code> PROFILE</code></code></td>
- <td>
- <p>デフォルトでは、jpmは、jpm runを呼び出すたびにきれいな一時的なFirefox<a href="https://support.mozilla.org/ja/kb/profiles-where-firefox-stores-user-data">プロファイル</a>を使用します。既存のプロファイルでFirefoxを起動するようにjpmに指示するには、<code>--profile</code>オプションを使用します。</p>
-
- <p>PROFILEの値は、プロファイル名またはプロファイルへのパスです。</p>
-
- <p>詳細については、<a href="/ja/docs/Archive/Add-ons/Add-on_SDK/Tools/jpm$edit#Using_profiles">プロファイルの使用</a>を参照してください。</p>
- </td>
- </tr>
- <tr>
- <td><code>-v --verbose</code></td>
- <td>詳細な操作。</td>
- </tr>
- <tr>
- <td><code>--no-copy</code></td>
- <td>
- <div class="warning"><code>jpm run|test</code>は多くの設定を変更するので、注意して使用してください。メインのプロファイルでは使用しないでください。</div>
-
- <div class="note">これは<code>--profile</code>が使用されている場合のみ適用されます。</div>
- 使用されているプロファイルのコピーを無効にします。これにより、プロファイルを再利用することができます。</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="jpm_test">jpm test</h3>
-
-<p>Use this command to run an add-on's unit tests. The command:</p>
-
-<ul>
- <li>Looks for a directory called "test" within the current directory (or <code>--addon-dir</code>).</li>
- <li>Opens every file in there whose name starts with "test-". Make note of the hyphen after "test" in the filename. <code>jpm test</code> include a file called "test-myCode.js", but will exclude files called "test_myCode.js" or "testMyCode.js")</li>
- <li>call every function exported from that file whose name starts with "test".</li>
-</ul>
-
-<pre class="brush: bash">jpm test
-</pre>
-
-<p>See the <a href="/en-US/Add-ons/SDK/Tutorials/Unit_testing">tutorial on unit testing</a> and the <a href="/en-US/Add-ons/SDK/Low-Level_APIs/test_assert">reference documentation for the <code>assert</code> module</a> for more details on this.</p>
-
-<p><code>jpm test</code> accepts the following options:</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td><code>-b --binary BINARY</code></td>
- <td>
- <p>Use the version of Firefox specified in BINARY. BINARY may be specified as a full path or as a path relative to the current directory.</p>
-
- <pre class="brush: bash">
-jpm test -b /path/to/Firefox/Nightly</pre>
-
- <p>See <a href="/en-US/Add-ons/SDK/Tools/jpm#Selecting_a_browser_version">Selecting a browser version</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>--binary-args CMDARGS</code></td>
- <td>
- <p>Pass <a href="http://kb.mozillazine.org/Command_line_arguments">extra arguments</a> to Firefox.</p>
-
- <p>For example, to pass the <code>-jsconsole</code> argument to Firefox, which will launch the <a href="/en-US/docs/Tools/Browser_Console">Browser Console</a>, try the following:</p>
-
- <pre class="brush: bash">
-jpm test --binary-args -jsconsole</pre>
-
- <p>To pass multiple arguments, or arguments containing spaces, quote them:</p>
-
- <pre class="brush: bash">
-jpm test --binary-args '-url mzl.la -jsconsole'</pre>
- </td>
- </tr>
- <tr>
- <td><code>--debug</code></td>
- <td>Run the <a href="/en-US/Add-ons/Add-on_Debugger">Add-on Debugger</a> attached to the add-on.</td>
- </tr>
- <tr>
- <td style="width: 30%;"><code>-f --filter FILE[:TEST]</code></td>
- <td>
- <p>Only run tests whose filenames match FILE and optionally match TEST, both regexps.</p>
-
- <pre class="brush: bash">
-jpm test --filter base64:btoa</pre>
-
- <p>The above command only runs tests in files whose names contain "base64", and in those files only runs tests whose names contain "btoa".</p>
- </td>
- </tr>
- <tr>
- <td style="width: 30%;"><code>-o --overload PATH</code></td>
- <td>
- <p>Rather than use the SDK modules built into Firefox, use the modules found at PATH. If <code>-o</code> is specified and PATH is omitted, jpm will look for the JETPACK_ROOT environment variable and use its value as the path.</p>
-
- <p>See <a href="/en-US/Add-ons/SDK/Tools/jpm#Overloading_the_built-in_modules">Overloading the built-in modules</a> for more information.</p>
- </td>
- </tr>
- <tr>
- <td style="width: 30%;"><code>-p --profile<code> PROFILE</code></code></td>
- <td>
- <p>By default, jpm uses a clean temporary Firefox <a href="https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data">profile</a> each time you call jpm run. Use the <code>--profile</code> option to instruct jpm to launch Firefox with an existing profile.</p>
-
- <p>The PROFILE value may be a profile name or the path to the profile.</p>
-
- <p>See <a href="#Using_profiles">Using profiles</a> for more information.</p>
- </td>
- </tr>
- <tr>
- <td><code>--stop-on-error</code></td>
- <td>
- <p>By default, jpm test keeps running tests even after tests fail. Specify <code>--stop-on-error</code> to stop running tests after the first failure:</p>
-
- <pre class="brush: bash">
-jpm test --stop-on-error</pre>
- </td>
- </tr>
- <tr>
- <td><code>--tbpl</code></td>
- <td>Print test output in <a href="https://treeherder.mozilla.org/">Treeherder</a> format</td>
- </tr>
- <tr>
- <td><code>--times NUMBER</code></td>
- <td>
- <p>Run tests NUMBER of times:</p>
-
- <pre class="brush: bash">
-jpm test --times 2</pre>
- </td>
- </tr>
- <tr>
- <td><code>-v --verbose</code></td>
- <td>Verbose operation.</td>
- </tr>
- <tr>
- <td><code>--no-copy</code></td>
- <td>
- <div class="warning"><code>jpm run|test</code>は多くの設定を変更するので、注意して使用してください。メインのプロファイルでは使用しないでください。</div>
-
- <div class="note">This only applies when <code>--profile</code> is used.</div>
- Disables the copying of the profile used, which allows one to reuse a profile.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="jpm_xpi">jpm xpi</h3>
-
-<p>This command packages the add-on as an <a href="/en-US/docs/XPI">XPI</a> file, which is the install file format for Mozilla add-ons.</p>
-
-<pre class="brush: bash">jpm xpi</pre>
-
-<p>It looks for a file called <code>package.json</code> in the current directory (or <code>--addon-dir</code>) and creates the corresponding XPI file. It ignores any ZIPs or XPIs in the add-on's root, and any test files. It includes all other files. If you want to exclude extra files, see <a href="/en-US/Add-ons/SDK/Tools/jpmignore">the .jpmignore file</a>.</p>
-
-<p>Once you have built an XPI file, you can distribute your add-on by submitting it to <a href="https://addons.mozilla.org/">addons.mozilla.org</a>.</p>
-
-<p><code>jpm xpi</code> accepts the following option:</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td><code>--dest-dir</code></td>
- <td>
- <p>Optional destination directory for the generated XPI file. The current working directory is the default destination.</p>
- </td>
- </tr>
- <tr>
- <td><code>-v --verbose</code></td>
- <td>
- <p>Verbose operation:</p>
-
- <pre class="brush: bash">
-jpm xpi -v</pre>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="jpm_post">jpm post</h3>
-
-<p>This command packages the add-on as an <a href="/en-US/docs/XPI">XPI</a> file then posts it to some URL.</p>
-
-<pre class="brush: bash">jpm post</pre>
-
-<p>It looks for a file called <code>package.json</code> in the current directory (or <code>--addon-dir</code>) and creates an XPI file with which to post to the <code>--post-url</code>.</p>
-
-<p><code>jpm post</code> accepts the following options:</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td><code>--post-url URL</code></td>
- <td>
- <p>The URL to post the extension to after creating an XPI.</p>
-
- <pre class="brush: bash">
-jpm post --post-url http://localhost:8888/</pre>
-
- <p>See <a href="https://www.npmjs.com/package/jpm#using-post-and-watchpost">Using Post and Watchpost</a> for more information.</p>
- </td>
- </tr>
- <tr>
- <td><code>-v --verbose</code></td>
- <td>
- <p>Verbose operation:</p>
-
- <pre class="brush: bash">
-jpm post --post-url http://localhost:8888/ -v</pre>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="jpm_watchpost">jpm watchpost</h3>
-
-<p>This command packages the add-on as an <a href="/en-US/docs/XPI">XPI</a> file then posts it to some URL whenever a file in the current working directory changes.</p>
-
-<pre class="brush: bash">jpm watchpost</pre>
-
-<p>Creates an XPI whenever a file changes in the current working directory (or <code>--addon-dir</code>) and posts that to the <code>--post-url</code>.</p>
-
-<p><code>jpm watchpost</code> accepts the following options:</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td><code>--post-url URL</code></td>
- <td>
- <p>The URL to post the extension to after creating an XPI.</p>
-
- <pre class="brush: bash">
-jpm watchpost --post-url http://localhost:8888/</pre>
-
- <p>See <a href="https://www.npmjs.com/package/jpm#using-post-and-watchpost">Using Post and Watchpost</a> for more information.</p>
- </td>
- </tr>
- <tr>
- <td><code>-v --verbose</code></td>
- <td>
- <p>Verbose operation:</p>
-
- <pre class="brush: bash">
-jpm watchpost --post-url http://localhost:8888/ -v</pre>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="jpm_sign">jpm sign</h3>
-
-<div class="note">
-<p>This feature is only supported from jpm 1.0.4 onwards.</p>
-</div>
-
-<p>This command retrieves a new <a href="/en-US/docs/XPI">XPI</a> for your add-on signed by Mozilla. This allows you to <a href="#Supporting_updates_for_self-hosted_add-ons">self-host your add-on</a> so that users can install it without error when <a href="https://wiki.mozilla.org/Add-ons/Extension_Signing">signed add-ons are required</a>.</p>
-
-<p>You can sign an XPI you've already generated by passing the XPI file in the <code>--xpi</code> argument, like this:</p>
-
-<pre class="bz_comment_text" id="comment_text_2">jpm sign --api-key ${JWT_ISSUER} --api-secret ${JWT_SECRET} --xpi &lt;xpi file&gt;</pre>
-
-<p>Alternatively, you can omit the <code>--xpi</code> argument, in which case <code>jpm sign</code> will generate an XPI from the current directory (or <code>--addon-dir</code>).</p>
-
-<pre class="brush: bash">jpm sign --api-key ${JWT_ISSUER} --api-secret ${JWT_SECRET}</pre>
-
-<p>This submits an <a href="/en-US/docs/XPI">XPI</a> it to the <a href="https://addons.mozilla.org/">addons.mozilla.org</a> <a href="https://olympia.readthedocs.org/en/latest/topics/api/signing.html">signing API</a>, then downloads a signed XPI to the working directory if it passes validation.</p>
-
-<p>To get values for <code>--api-key</code> and <code>--api-secret</code>, you will need to <a href="https://addons.mozilla.org/en-US/developers/addon/api/key/">create API credentials on addons.mozilla.org</a>. On the AMO key management page, these values are labeled "JWT_Issuer" and "JWT_Secret".</p>
-
-<p>Here are some possible outcomes of running the <code>sign</code> command:</p>
-
-<ul>
- <li>Your add-on passed validation, was signed by Mozilla, and a new signed <a href="/en-US/docs/XPI">XPI</a> was downloaded to your working directory.</li>
- <li>Your add-on failed validation, was not signed, and you got a link to a detailed report. After fixing the validation errors, you can run the command again.</li>
- <li>You add-on passed validation but it could not be automatically signed because your add-on is <a href="/en-US/Add-ons/Distribution">listed</a>. Listed add-ons will require a manual review before they can be signed.</li>
- <li>Your add-on at this exact version number already exists, so it was not signed. Increment the version number in your <a href="/en-US/Add-ons/SDK/Tools/package_json">package.json</a> file and run the command again.</li>
-</ul>
-
-<p>Under the hood, <code>jpm sign</code> creates an unlisted add-on inside <a href="https://addons.mozilla.org/">addons.mozilla.org</a>, which means you must distribute the XPI file yourself for your users to install it. If you need to create a listed add-on, just <a href="https://addons.mozilla.org/en-US/developers/addon/submit/2">submit it directly to addons.mozilla.org</a> where it is signed automatically. See the <a href="/en-US/docs/Extension_Versioning%2C_Update_and_Compatibility#Debugging_and_solving_problems">debugging</a> section if you are experiencing difficulty installing a signed add-on.</p>
-
-<p><code>jpm sign</code> accepts the following options:</p>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td><code>--api-key=JWT_ISSUER</code></td>
- <td>
- <p>API access key (string) generated on the <a href="https://addons.mozilla.org/en-US/developers/addon/api/key/">addons.mozilla.org key management page</a>.</p>
-
- <p>On the AMO key management page, this value is labeled "JWT Issuer".</p>
- </td>
- </tr>
- <tr>
- <td><code>--api-secret=JWT_SECRET</code></td>
- <td>
- <p>API access secret (string) generated on the <a href="https://addons.mozilla.org/en-US/developers/addon/api/key/">addons.mozilla.org key management page</a>. This value should be guarded with care and never checked into version control. If your secret is compromised, another developer could upload add-ons to your account. You should revoke and regenerate compromised API credentials immediately.</p>
-
- <p>On the AMO key management page, this value is labeled "JWT Secret".</p>
- </td>
- </tr>
- <tr>
- <td><code>--api-url-prefix=http://.../api</code></td>
- <td>
- <p>An optional API URL prefix in case you'd like to use a pre-production signing API.</p>
-
- <p>For example, you could pass <code>https://addons-dev.allizom.org/api/v3</code> to use the dev instance of <a href="https://addons.mozilla.org/">addons.mozilla.org</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>--xpi=/path/to/file.xpi</code></td>
- <td>
- <p>An <a href="/en-US/docs/XPI">XPI</a> file to sign. When no file is specified, a new XPI will be generated from the current directory (or <code>--addon-dir</code>).</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="テクニック">テクニック</h2>
-
-<h3 id="ブラウザのバージョンの選択">ブラウザのバージョンの選択</h3>
-
-<p>By default, <code>jpm run</code> and <code>jpm test</code> runs the release version of Firefox. You can instruct jpm to use a different version in one of two ways:</p>
-
-<ul>
- <li>
- <p>You can use the <code>-b</code> or <code>--binary</code> option to instruct jpm to run a different version of Firefox. You can supply a path to a specific binary:</p>
-
- <pre class="brush: bash">jpm run -b /path/to/Firefox/Nightly</pre>
-
- <p>As a shorthand for this, you can pass "nightly", "firefoxdeveloperedition", "aurora", "beta", or "firefox" and jpm will look in the default location for these Firefox versions [Note: As of Firefox 48, the shorthands "firefox" and "beta" will resolve to versions of Firefox which will not run your add-on. This is due to Firefox 48, and later, not having the option to run add-ons which are <a href="/en-US/docs/Mozilla/Add-ons/Distribution">unsigned</a>.]:</p>
-
- <pre class="brush: bash">jpm run -b nightly</pre>
- </li>
- <li>
- <p>You can set the <code>JPM_FIREFOX_BINARY</code> environment variable with the path to the version of Firefox you want to run. When you invoke <code>jpm run</code> or <code>jpm test</code> without the <code>-b</code> option, jpm first checks <code>JPM_FIREFOX_BINARY</code>, and use this as the path if it is set.</p>
- </li>
-</ul>
-
-<h3 id="Using_.jpmignore_to_ignore_files">Using <code>.jpmignore</code> to ignore files</h3>
-
-<p>Using <code>.jpmignore</code> is similar to using <code>.gitignore</code> with <code>git</code>, <code>.hgignore</code> with Mercurial, or <code>.npmignore</code> with <code>npm</code>. By using this file, you can let <code>jpm</code> know which files you would like it to ignore when building a <code>.xpi</code> file with <code>jpm xpi</code>.</p>
-
-<p>Here is an example:</p>
-
-<pre class="brush: bash"># Ignore .DS_Store files created by mac
-.DS_Store
-
-# Ignore any zip or xpi files
-*.zip
-*.xpi
-</pre>
-
-<p>A <code>.jpmignore</code> file with the above contents would ignore all zip files and <code>.DS_Store</code> files from the xpi generated by <code>jpm xpi</code>.</p>
-
-<h3 id="プロファイルの使用">プロファイルの使用</h3>
-
-<p>By default, <code>jpm run</code> uses a new profile each time it is executed. This means that any profile-specific data entered from one run of <code>jpm</code> is not, by default, available in the next run.</p>
-
-<p>This includes, for example, any extra add-ons you installed, or your history, or any data stored using the <a href="/en-US/Add-ons/SDK/High-Level_APIs/simple-storage">simple-storage</a> API.</p>
-
-<p>To make <code>jpm</code> use a specific profile, pass the <code>--profile</code> option, specifying the name of the profile you wish to use, or the path to the profile.</p>
-
-<pre class="brush: bash">jpm run --profile boogaloo
-</pre>
-
-<pre class="brush: bash">jpm run --profile path/to/boogaloo</pre>
-
-<p>Use the <a href="https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles">profile manager</a> to create a new profile if needed.</p>
-
-<p>If you need changes to the profile to persist, add the <code>--no-copy</code> argument. However beware that jpm might also apply changes to the profile, setting some preferences that will make it unusable for daily usage.</p>
-
-<h3 id="ブラウザを再起動せずに開発する">ブラウザを再起動せずに開発する</h3>
-
-<p>Because <code>jpm run</code> restarts the browser each time you invoke it, it can be a little cumbersome if you are making very frequent changes to an add-on. An alternative development model is to use the <a href="https://addons.mozilla.org/en-US/firefox/addon/autoinstaller/" rel="noreferrer">Extension Auto-Installer</a> add-on: this listens for new XPI files on a specified port and installs them automatically. That way you can test new changes without needing to restart the browser:</p>
-
-<ul>
- <li>make a change to your add-on</li>
- <li>run <code>jpm post --post-url http://localhost:8888/</code>, to make an XPI and post it.</li>
-</ul>
-
-<p>You could even automate this workflow with a simple script. For example:</p>
-
-<pre class="brush: bash">jpm watchpost --post-url http://localhost:8888/
-</pre>
-
-<p>Note that the logging level defined for the console is different when you use this method, compared to the logging level used when an add-on is run using <code>jpm run</code>. This means that if you want to see the output from <a href="/en-US/Add-ons/SDK/Tutorials/Logging" rel="noreferrer"><code>console.log()</code></a> messages, you have to tweak a setting. See the documentation on <a href="/en-US/Add-ons/SDK/Tools/console#Logging_Levels" rel="noreferrer">logging levels</a> for the details on this.</p>
-
-<h3 id="組み込みモジュールのオーバーロード">組み込みモジュールのオーバーロード</h3>
-
-<p>The SDK modules you use to implement your add-on are built into Firefox. When you run or package an add-on using <code>jpm run</code> or <code>jpm xpi</code>, the add-on uses the versions of the modules in the version of Firefox that hosts it.</p>
-
-<p>As an add-on developer, this is usually what you want. But if you're developing the SDK modules themselves, of course, it isn't. In this case you need to:</p>
-
-<ul>
- <li>Get a local copy of the SDK modules that you want: this usually means checking out the SDK from its <a href="https://github.com/mozilla/addon-sdk" rel="noreferrer">GitHub repo</a></li>
- <li>Set the <code>JETPACK_ROOT</code> environment variable to your local copy</li>
- <li>Pass the <code>-o</code> option to <code>jpm run</code> or <code>jpm xpi</code>:</li>
-</ul>
-
-<pre class="brush:bash">jpm run -o
-</pre>
-
-<p>This instructs jpm to use the local copies of the SDK modules, not the ones in Firefox. If you do not want to set the <code>JETPACK_ROOT</code> environment variable, you can pass the location of your copy of the SDK modules along with <code>-o</code>:</p>
-
-<pre class="brush:bash">jpm run -o "/path/to/addon-sdk/"</pre>
-
-<p>The path must be an absolute path and point to the SDK's root (not <code>addon-sdk/sdk</code> or <code>addon-sdk/sdk/lib</code>, for instance).</p>
-
-<h3 id="セルフホスト型アドオンのサポートアップデート">セルフホスト型アドオンのサポートアップデート</h3>
-
-<div class="note">
-<p>This feature is only supported from jpm 1.0.3 onwards.</p>
-</div>
-
-<p>When you make updates to your add-on to add features or fix bugs, you'll want any previously installed versions of the add-on to update themselves to the new version.</p>
-
-<p>If you list your add-on on <a href="https://addons.mozilla.org/">addons.mozilla.org</a>, then all you have to do here is submit the new version; add-ons default to checking <a href="https://addons.mozilla.org/">addons.mozilla.org</a> for new versions of themselves. You can stop reading this section.</p>
-
-<p>If you do not list your add-on on <a href="https://addons.mozilla.org/">addons.mozilla.org</a>, you need to generate a Mozilla-signed XPI and tell Firefox where it can find new versions of your add-on. The way this works is:</p>
-
-<ul>
- <li>you run <a href="/en-US/Add-ons/SDK/Tools/jpm#jpm_sign">jpm sign</a> anytime you need to create a new version</li>
- <li>you host the signed add-on XPI and update it when you need to</li>
- <li>you host an "update manifest", which, among other things, contains a URL pointing to the XPI</li>
- <li>your add-on tells Firefox where it can find the update manifest</li>
-</ul>
-
-<p>To do this, include two extra keys in package.json:</p>
-
-<ul>
- <li><code><a href="/en-US/Add-ons/SDK/Tools/package_json#updateURL">updateURL</a></code>: This URL is included in the <a href="/en-US/docs/Mozilla/Add-ons/Install_Manifests">install manifest</a> of the XPI file that <code>jpm xpi</code> builds. It points to your update manifest. The <code>updateURL</code> value <em>may</em> be HTTPS. If it is not, then you'll also need to sign the update manifest, and then include the public key using the <code><a href="/en-US/Add-ons/SDK/Tools/package_json#updateKey">updateKey</a></code> field in package.json. See <a href="/en-US/docs/Extension_Versioning%2C_Update_and_Compatibility#Securing_Updates">Securing updates</a> for more on this.</li>
- <li><code><a href="/en-US/Add-ons/SDK/Tools/package_json#updateLink">updateLink</a></code>: This URL is included in the update manifest file. It points to the XPI, and <em>must</em> be an HTTPS URL.</li>
-</ul>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/11847/addons-update.svg" title="[https://mdn.mozillademos.org]"></p>
-
-<p>If you include <code>updateURL</code> and <code>updateLink</code> (and also <code>updateKey</code> in case <code>updateURL</code> is not HTTPS), then <code>jpm xpi</code> will:</p>
-
-<ul>
- <li>Embed the value you supplied for <code>updateURL</code> in the XPI it generates.</li>
- <li>Generate an update manifest alongside the XPI, and embed the value you supplied for <code>updateLink</code> in the manifest.</li>
-</ul>
-
-<p>You then host the update manifest at <code>updateURL</code>, and host new versions of the XPI at <code>updateLink</code>.</p>
-
-<p>For some more details on this, see <a href="/en-US/docs/Extension_Versioning,_Update_and_Compatibility#Automatic_Add-on_Update_Checking">Automatic Add-on Update Checking</a>.</p>