hubotのスクリプトもes2015で書きたくなったときに。
まずはbabelでes2015する準備。
npm i --save babel-core babel-preset-es2015
でbabelを入れて、.babelrc
に
.babelrc
{
"presets": ["es2015"]
}
hubotの本体はbabelでラップされたものがあるのでそれも入れる。
npm i --save babel-hubot coffee-script
そして起動スクリプトのhubotコマンドを叩いている所をbabel-hubotを使うように修正。
node_modules/.bin/babel-hubot
これでscripts以下のファイルはes2015で書けるようになる。
ついでにnpm i --save babel-plugin-add-module-exports
を入れて.babelrc
を
.babelrc
{
"presets": ["es2015"],
"plugins": ["add-module-exports"]
}
とすればmodule.exports = function ...
の代わりにexport default function ...
のように書けます。
Promise
が使いたくなったらnpm i --save babel-polyfill
を入れ、scripts以下に_init.js
の様な名前で
_init.js
// Description:
// モジュールローダー等
'use babel'
import 'babel-polyfill'
export default function(){}
というファイルを作成する。
hubotはscripts以下のファイルを名前順に読み込むので、一番最初に読み込まれるファイルにポリフィルを書いておけば続くスクリプトファイルでPromiseが使えるようになる。