Orion エディターは、IBM Canadaの Ottawa研究所で開発されているオープンソースの
エディターです。有名な Eclipse IDEの発祥地です。
普段 Orion Editor を使って開発しているのですが、ファイルシステムが必要なため
Cloud Foundry のような PaaS では、あまり使えないのではないかなと思っていました。しかし、
ふと以下の目的に限定すれば使えるのではないか?と思い直し、百日行に公開しようと踏み切りました。
- JavaScriptファイルを整形したい
- Cloud Foundry のコンテナに端末アクセスしたい
JavaScript ファイルは以前開発したものを、再利用することが多いですが、コピー&ペースト
するとインデントの位置がくるってしまうことがしばしばあります。JS Beautify (http://jsbeautifier.org/) で整形したりするのですが、 エディターを離れるし、そもそもオンライン版だと多少心配です。Orion のプラグインとして入れておけばエディターを離れることなく整形できます。
またCloud Foundry 百日行26回でも紹介した tty.js の代わりにもなります(参照: tty.js を Cloud Foundry で動かす ) 。実際には、tty.js が Orion エディターに組み込まれています。
今回紹介するのは、Node.js版のOrion軽量版です。
基本情報
- プロジェクト情報
https://orionhub.org
- ソースコード
https://github.com/eclipse/orion.client
- 関連情報
http://planetorion.org (Blog)
デプロイ
1. package.json の準備Orion Node.js 版は Nodeパッケージ管理(npm)に組み込まれているので、package.json ファイルだけ あれば動作します。以下のファイルを適切なディレクトリに用意します。
$ cat package.json { "name": "orion", "version": "0.0.0", "description": "", "main": "server.js", "dependencies": { "orion": "~0.0.37" } }
基本的には “dependencies” に orion パッケージを記述するだけです。それでは Cloud Foundry に デプロイしてみましょう。
2. Cloud Foundry にデプロイ
npm でパッケージを入れると node_modules/ にはいるので、起動コマンドオプションで
orion パッケージを指定します。
$ cf push orion -n amntorion -c 'node node_modules/orion/server.js -port $PORT --workspace /home' -m 256M requested state: started instances: 1/1 usage: 256M x 1 instances urls: amntorion.eu-gb.mybluemix.net last uploaded: Thu Sep 10 02:19:07 UTC 2015 stack: lucid64 state since cpu memory disk details #0 running 2015-09-10 11:19:56 AM 0.0% 42.3M of 256M 86.9M of 1GCloud Foundry としては今回は Bluemix を利用しました。指定した url にアクセスすると Orion Editor が開きます。
3.JS Beautifyプラグインの追加
Orion エディターには様々なプラグインが公開されており、機能を追加できるようになっています。ここでは、JS Beautify のプラグインを入れてみます。
左側の "Setting" から Plugins を選びます。 右上に "Get Plug-ins" ボタンがあるのでクリックします。
Orion エディターで利用できるプラグイン一覧がでますので、JS Beautify を選択して、"Submit" ボタンで導入します。
それでは、動作確認をしてみましょう。
動作確認
1. 動作確認 (JS Beautify)File->New->File メニューで適当な JavaScript ファイルを作成します(例では script.js)。エディターが開くので、かなり適当な JavaScript を記述します。
Tools-> Format JS メニューを選択します。
JavaScript ファイルが整形されました。
2. 動作確認 (端末)
左側にある “Console” を開くと、ターミナルモードになります。Node.js ビルドパックを使っているので、node コマンドが使えました。
おまけ
Orionは Markdown エディターでもあるので、このブログエントリーの初校も Orion Editor で書いています。簡単な .md 文書を書くにはお手軽だと思います。ただ Node.js 版だと Chrom ブラウザで日本語処理に少し難がありました。あまり国際化を意識していなさそうです。Orion Editor には Java版があり、こちらの方が高機能です。実は Java 版は Cloud Foundry
へのデプロイができる機能が備わっています。なにかの機会があれば Java版もぜひお試しください。
なお今回利用した環境はだれでもアクセスできるので、削除しました。あしからず。公開された Cloud Foundry で動かす場合には、--random-route などのオプションをつけることをお勧めします。
今回使用した環境
- Cloud Foundry (Bluemix v210)
- Orion npm module (https://www.npmjs.com/package/orion version: 0.0.37)