2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

jsdom + power-assert + eater で Invalid TypeError が出て失敗する時

Posted at

なんかどうも jsdom + power-assert + 自作の eater を使ってテストをしていたら espower-loaderが中で使っている source-map-support のモジュールがエラーになる。

エラーの場所はココ

で、source-map-support の中で何やってるかというと、 error.stack プロパティがあるかどうかを見てるが、 stack を触った瞬間に下記のエラーになり、巻き込んで別な例外が出て死ぬ

TypeError: Invalid URL
Error /Users/furukawa.yosuke/Program/xxxxxxxx/node_modules/espower-loader/node_modules/source-map-support/source-map-support.js:388
      var hasStack = (arguments[1] && arguments[1].stack);
                                                  ^

どうも stack を呼んだ時に stack プロパティ自身が先にExceptionを吐いてしまうっぽい。

そもそもこの例外が起きる理由をよく読むと jsdom の下記のissueに行き着いた。

つまり、 url option が無いとparseに失敗して Invalid なエラーになるらしい。
jsdomのオプションに url を追加して対応。

jsdom.jsdom('<html ....', {
 // url
 url: 'http://example.com'
})
2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?