なでしこ3自身を開発する手順をまとめたもの。なでしこ3を使うだけならば、以下の手順は不要。
Node.jsをインストールしておく。
コマンドラインから以下を実行して、必要なライブラリをシステムにインストール。
このとき、npm installするときに、なでしこのモジュールで、Native Add-onを使うものがあるため、ビルド環境を整える必要がある。
コンパイル環境が必要になるので、ビルドツールをインストールする。PowerShellから以下のコマンドを実行すると、自動的に必要なツールが入る。(Windowsのユーザー名に日本語が使われているとうまくコンパイルできないという情報もあるので注意。)
また、Gitなどのツールをインストールするために、Chocolatey( https://chocolatey.org/ )をインストールしておく。
# Chocolatey でGitをインストール
cinst git
# npm のビルドツール (build tools+python2)
npm install -g node-gyp
npm install -g windows-build-tools
Homebrew( https://brew.sh/index_ja ) (そしてXcode)をインストールしておく。
以下、共通の作業となる。(electron と asar は GUIをやるときに追加。ネット回線が細い人は抜かして実行しても良い)
$ npm install -g npm-check-updates electron asar
コマンドラインから以下を実行して、nadesiko3のリポジトリをcloneし、必要なライブラリをインストール。ただし、Node.jsのバージョンv10以上が必要。もし、Ubuntuで古いのNode.jsをインストールした場合など、nモジュールを利用して最新安定版のNode.jsを利用してください。
$ git clone --recursive https://github.com/kujirahand/nadesiko3
$ cd nadesiko3
$ npm install --no-optional
コマンドラインから以下のコマンドを実行することで、ソースコードをビルドできる。 srcディレクトリの中のコードを編集すると、releaseディレクトリに結果が出力される。
# Node.js用のソースコードをWeb用のJSに変換
$ npm run build
開発時、以下のコマンドを実行すれば、監視ビルドさせることができる。
$ npm run watch
また、コマンドラインから以下のコマンドを実行することで、ソースコードをテストできる。
$ npm run test
コーディング規約は、JavaScript Standard Styleに準拠するものとする。
ATOMエディタを使っている場合は、以下のプラグインを導入すると非常に便利。
apm install linter
apm install linter-js-standard
また、EditorConfig (詳しくはどんなエディタでもEditorConfigを使ってコードの統一性を高める - Qiitaを参照) に対応しているので、これに対応したエディタを使用することで、開発者側が意識することなくインデントやタブに関する規則に対応することが可能。
misc/atom-packages/language-nako3
にATOMエディタ用のハイライトパッケージがある。
使い方は、README.mdを参照のこと。
なでしこ3では、コマンドラインからなでしこを実行できる、cnako3(Windowsは、cnako3.bat)というスクリプトを用意。今後、なでしこの各種バッチファイルは、なでしこ自身で記述される。
ちなみに、npm install -g nadeisko3
を実行すると、npmコマンドでcnako3コマンドが利用できるようになるが、その場合は安定版のなでしこがインストールされることになる。
環境変数に、本ファイルのパスを、NAKO_HOMEとして登録し、パスを NAKO_HOME/src に通す。以下、macOS/Linuxでの.bashrcの記述例。(ユーザー名がkujiraの場合)
HOME=/Users/kujira
export NAKO_HOME=$HOME/nadesiko3
export PATH=$PATH:$NAKO_HOME/src
例えば、なでしこのコマンド一覧ファイルを生成するバッチを実行する方法。
$ cnako3 $NAKO_HOME/batch/pickup_command.nako
テストを実行する場合には、 -t
(--test
) オプションを付与した状態でcnako3を実行し、出力されたテスト用コードをmochaで実行します。
$ cnako3 -t hoge.nako3
$ mocha hoge.spec.js
demoディレクトリに、なでしこをWebブラウザから使うデモがある。
大抵の機能は、WebブラウザにHTMLファイルをドラッグ&ドロップすれば動くが、一部の機能は、ローカルサーバーを動かさないと利用することはできない。
なでしこでは、簡易サーバーを用意。コマンドラインで以下のように入力すると、http://localhost:3000でサーバーが起動。
$ npm start
プラグインのソースコードから、コマンド一覧を抽出して、command.jsonをrelaeseディレクトリに書き出す。
$ npm run build:command
「対応機器, 対応ブラウザを展開したい場所に {embed browser}
と記述する」という規則に従ってREADME.template.mdを記述し、以下のコマンドを実行します。
$ npm run build:readme
コマンドラインから以下を実行して、Node.jsのパッケージを更新。
$ npm-check-updates -u
$ npm update --no-optional
以下のコマンドを実行することで、Electronによるなでしこが起動。
$ npm run electron
ビルドは以下のコマンドで行う。
$ npm run build:electron
ビルドしたenako3.asarを配布可能な形式にする方法についてはElectronでアプリケーションを作ってみよう - Qiitaを参照。
最低限のライブラリで良い場合には、npm install --production
を実行するだけ。
$ git clone https://github.com/kujirahand/nadesiko3.git
$ cd nadesiko3
$ npm install --production