linuxBean14.04(124)SyntaxHighlighter v4の自作ブラシをnpmに登録する

ラベル: , ,
linuxBean14.04(123)SyntaxHighlighter v4のブラシを作成するでNetBeans8.1で作成したMakefileのブラシをnpmに公開します。

前の関連記事:linuxBean14.04(123)SyntaxHighlighter v4のブラシを作成する


まずGitHubにリポジトリをアップロードする


npmにモジュールを登録するためにGitHubは関係ないように思えますが、npmのモジュールはGitHubのサイトがあるものばかりなのでまずGitHubにアップロードすることにします。

あとで気が付きましたがpackage.jsonにGitHubのリンクをたくさん書くことになります。

NetBeans8.1ではGit(8)NetBeans7.4のGitプラグインではコミットグラフの表示なし?のNetBeans8.1と同様にGitプラグインがデフォルトで有効になっています。

git自体はlinuxBean14.04(24)git-guiとgitkのインストールと同様にしてインストールが必要と思います(未確認)。

アップロードしようとしているbrush-Makefileプロジェクトはもともとはテンプレートとしてjavascriptのブラシをクローンしたものです。

なのですでに.gitフォルダが存在します。

NetBenasでプロジェクトを右クリック→Git→履歴を表示。


「検索」ボタンをクリックするとダウンロードしたリポジトリについての履歴が表示されます。

これはjavascriptのブラシについてのものなのでもう.gitフォルダ自体を削除してgitリポジトリを作り直そうと思ったのですが、そう思ったのはすでに自分でも何回かコミットした後だったので思いとどまりました。


自分でコミットする前にプロジェクトを右クリック→Git→リポジトリ→構成を開く、をするとこのようになっていました。


brush-Makefileプロジェクトを作成して自分のGitHubリポジトリにプッシュしたあとのリポジトリの構成の状態です。

まだbrush.javascriptのurlが残っていますし、私のGitHubのurlは先頭にログインIDが入っているようです。

何かコマンドでこれらを修正する方法がないかメニュー項目を探してみましたがNetBeansでもgit-guiでも見つけられませんでした。

とういうことで上手のconfigファイルを直接編集してurlの2行を削除して保存してしまいました。

再度GitHubにアップロードし直します。

brush-Makefileプロジェクトを右クリック→Git→リモート→プッシュ。


「ユーザー」の項目はキャプチャー用に変更しています。

次>。


master -> mastar[C]、の方にチェックを付けて次>→終了。


「リモート・リポジトリにはローカル分岐にマージされていないコミットが含まれます。」といわれてプッシュが失敗します。

リモート・リポジトリの更新
分岐更新 : master
古いID       : d9b40c2e3eddf27514662ec4b819f092a1ce25a1
新しいID        : 87b9db747e432490423c7931ef8c0e7f397d4945
結果        : REJECTED_NONFASTFORWARD

出力をみるとこのようになっています。

おそらくREADME.mdをGitHub上で編集してしまったのが原因です。

まずそれをローカルにマージします。

brush-Makefileプロジェクトを右クリック→Git→リモート→アップストリームからのプル。
(「アップストリームからの」を選択するともう分岐などはデフォルトのものを選択してくれるようです。)


「マージ」。

これでGitHubのリポジトリがローカルリポジトリにマージされました。


履歴をみると変更歴が合体されたようです。

brush-Makefileプロジェクトを右クリック→Git→リモート→アップストリームへのプッシュ。

これでうまくいきました。

プロジェクトを右クリック→Git→リポジトリ→構成を開く、のurlもbrush-Makefileだけのものになっていました。


GitHubのページでは最後のコミットのコメントが表示されています。

コメントは見られることを考えて書かないといけませんね。

package.jsonの修正


linuxBean14.04(123)SyntaxHighlighter v4のブラシを作成するではpackage.jsonのnameを変更しただけですが、ほかにも変更します。
{
  "name": "brush-Makefile",
  "version": "0.1.0",
  "description": "Brush module for SyntaxHighlighter.",
  "keywords": [
    "syntaxhighlighter",
    "brush",
    "Makefile"
  ],
  "homepage": "https://github.com/p--q/brush-Makefile",
  "bugs": "https://github.com/p--q/brush-Makefile/issues",
  "author": {
    "name": "pq",
    "url": "https://github.com/p--q"
  },
  "main": "brush.js",
  "repository": {
    "type": "git",
    "url": "https://github.com/p--q/brush-Makefile.git"
},
結局8行分変更しました。

GitHubリポジトリへのリンクが大活躍です。

npmのアカウントを作成する


npm

ここからアカウントを作成します。


Sigh up for the npm Weeklyは意味がよくわからないのでチェックを外しました。

あとは確認のためのメールがくるのでそのリンクをクリックして完了です。

npmにアップロードしないファイルの確認と既存のパッケージ名の確認


アップロードしたいファイルがあるフォルダでnpm publishとするだけですが、まずはアップロードしないファイルを確認しておきます。

アップロードしないファイルは.gitignoreか.npmignoreで指定できます。
node_modules
/nbproject/private/
.gitignoreはすでに存在してこのようになっています。

npmにはnbprojectフォルダをすべてアップロードしないように指定することにします。

NetBeansでbrush-Makefileプロジェクト内のサイト・ルート/ソースを右クリック→新規、その他→空のファイル。

次>。

ファイル名を.npmignoreにして終了。
/nbproject/
内容はこのようにしました。

次に同じ名前のパッケージがすでにnpmにないかnpmで検索して確認しておきます。

brush-Makefile、というパッケージは見つかりませんでした。

npmにパッケージをアップロードする


Terminalから操作を行います。

まずはnpmにログインします。

npm adduser

ユーザー名とパスワード以外にEmailも聞かれます。

ログイン情報は保存されます。

npm config ls

保存された情報はこのコマンドで確認できます。
pq@pq-VirtualBox:~$ npm adduser
Username: pq.blogspot
Password: 
Email: (this IS public) pq.blogspot@gmail.com
Logged in as pq.blogspot on https://registry.npmjs.org/.
pq@pq-VirtualBox:~$ npm config ls
; cli configs
user-agent = "npm/3.10.3 node/v6.3.0 linux ia32"

; node bin location = /home/pq/.nvm/versions/node/v6.3.0/bin/node
; cwd = /home/pq
; HOME = /home/pq
; "npm config ls -l" to show all defaults.

brush-Makefileプロジェクトディレクトリに移動します。

あとはそこでnpm publishとするだけです。

cd ~/NetBeansProjects/brush-Makefile
npm publish
pq@pq-VirtualBox:~$ cd ~/NetBeansProjects/brush-Makefile
pq@pq-VirtualBox:~/NetBeansProjects/brush-Makefile$ npm publish
+ brush-Makefile@0.1.0
あっという間にアップロードが終わります。


npmのページも自動的に作成されていました。

アップデートするにはバージョン番号をアップして再度npm publishすればよいようです。(2017.4.16追記linuxBean14.04(161)brush-Makefileのバグを修正するでアップデートしました。)

参考にしたサイト


How people build software · GitHub
npmにアップロードする前にGitHubにアップロードしておきます。

npm
npmのアカウントを作成してからアップロードします。

fetch と pullの違い - Qiita
プル=フェッチ+マージで、アップストリームからのプル、をするとブランチの選択もしなくてよくなります。

12 - Publishing npm packages | npm Documentation
npmにアップロードする方法。

次の関連記事:linuxBean14.04(125)Bloggerで使うJavaScriptの開発環境:その2

PR

0 件のコメント:

コメントを投稿