Closed1

jsdomでisomorphic-dompurifyを実行する際に「TextEncoder is not defined」と警告が出るときの対処法

けのびけのび

isomorphic-dompurify (HTMLをサニタイズする際によく用いられるライブラリ, 元はDOMPurifyを利用)をjsdomで実行する際に、次のエラーが起きることがあります。

Error: ReferenceError: TextEncoder is not defined

issueは挙げられており、対応方法がコメントされています。

https://github.com/kkomelin/isomorphic-dompurify/issues/91

import { TextEncoder, TextDecoder } from 'util'

if (typeof global.TextEncoder === 'undefined') {
  global.TextEncoder = TextEncoder
}
if (typeof global.TextDecoder === 'undefined') {
  global.TextDecoder = TextDecoder
}

以上を、jestのセットアップスクリプトに記述しておけば良いです。

ここでは isomorphic-dompurifyv1.0.0 を使用しました。

このスクラップは2024/02/29にクローズされました