LoginSignup
5
3

More than 5 years have passed since last update.

[webpack] [jest] Mac で動作するのに CI 環境だけ テストや ビルドが通らない

Last updated at Posted at 2018-05-31

jenkins で jest を通そうとしたら、下記のようなエラーが発生。

  ● Test suite failed to run

    Configuration error:

    Could not locate module Core/api/server/BaseApi (mapped as /home/jenkins/workspace/bsr4b/BsrLib/src/js/core//api/server/BaseApi)
     "resolver": undefined

webpack のビルドも通らない。

原因

jest, webpack, babel の問題かと色々調べたのですが、原因はとても初歩的でファイル名の大文字小文字違いでした。

Unix のような Mac OS X で 動作するのになぜ?

Mac は大文字、小文字をちゃんと区別してくれる OS だと思い込んでいたのでめっちゃくちゃハマりました。

Mac OSX の 拡張の大文字/小文字区別はEl Capitanだと使えない(Sierraも同様)

いつもまにか大文字小文字を区別しない OS になってました。

この勘違いがものすごい苦戦の原因になりました。

対策

何かしら対策のできるライブラリがないか検討したところ、下記のプラグインを webpack に追加することにしました。

case-sensitive-paths-webpack-plugin

大文字小文字がおかしいと 下記のようなエラーをはいてくれました。

ERROR in ./src/js/basic/Viewer.js
Module not found: Error: [CaseSensitivePathsPlugin] `/Users/kaoki/webapp/BSR4B_hybrid/src/js/basic/api/BasicAPI.js` does not match the corresponding path on disk `BasicApi.js`.

大文字小文字を区別って 英語で CaseSensitive Paths っていうのだと学びました。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3