reactify→babelifyに設定変更した際のハマりどころ
ES6対応を視野に入れて、browserify + reactify + envify → browserify + babelify構成に変更した際のメモ。
当方、KarmaとESLintも導入しております。
結構色々ありました。
.babelrcを置く
一応。
{ "stage": 0 }
package.jsonの書き換え
reactify → babelify
transformの設定をreactify→babelifyに書き換えます。
envifyの廃止
envifyの代替になるので、babelのutility.inlineEnvironmentVariablesを導入
結果
こんな感じに。
"browserify": { "extension": [ "jsx", "es6" ], "transform": [ [ "babelify", { "optional": [ "utility.inlineEnvironmentVariables" ] } ] ] }
ESLint
.eslintrcを以下変更しています。
- babel-eslintの導入
- strictオプションをoffに
結果
こんな感じに。
--- parser: babel-eslint rules: strict: 0
Karma
karma.conf.jsを変更しています。
browserifyの変更点
当方、power-assertを使っているのですが、espowerfyを指定しても動かず、結構ハマりました。
babel-plugin-espowerを指定して、ようやく動きました。
browserify: { debug: true, files: [ 'test/**/*.js*' ], extensions: ['.js', '.jsx'], transform: [ require('babelify').configure({ plugins: ['babel-plugin-espower'] }) ] },
疲れた・・・