なっく日報

技術やら生活やらのメモ

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']
        })
      ]
    },

疲れた・・・